/**
 * Monkey Business Theme - Component Styles
 *
 * @package Monkey_Business
 * @since 1.0.0
 */

/* ==========================================================================
   Header / Navbar
   ========================================================================== */

.mb-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 50;
    padding: 0.5rem 0;
    transition: all var(--mb-transition-slow);
}

/* ===============================
   Tour Booking Modal
   =============================== */
.mb-tour-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
}

.mb-tour-modal--active {
    display: block;
}

.mb-tour-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
}

.mb-tour-modal__container {
    position: relative;
    max-width: 720px;
    width: calc(100% - 32px);
    margin: 6vh auto 0;
    background: var(--mb-cream, #f8f4e8);
    border-radius: 22px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    padding: 26px;
}

@media (max-width: 640px) {
    .mb-tour-modal__container {
        margin-top: 4vh;
        padding: 18px;
        border-radius: 18px;
    }
}

.mb-tour-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,0.12);
    background: rgba(255,255,255,0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.mb-tour-modal__title {
    margin: 0 0 6px;
}

.mb-tour-modal__subtitle {
    margin: 0 0 18px;
    color: var(--mb-muted-foreground, #6b7280);
}

.mb-tour-modal__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

@media (max-width: 640px) {
    .mb-tour-modal__grid {
        grid-template-columns: 1fr;
    }
}

.mb-tour-modal__field label {
    display: block;
    font-weight: 600;
    font-size: 0.875rem;
    margin-bottom: 6px;
}

.mb-tour-modal__field input,
.mb-tour-modal__field textarea {
    width: 100%;
    padding: 12px 12px;
    border-radius: 12px;
    border: 1px solid rgba(0,0,0,0.12);
    background: rgba(255,255,255,0.9);
}

.mb-tour-modal__field--full {
    grid-column: 1 / -1;
}

.mb-tour-modal__error {
    margin: 12px 0 0;
    color: #b91c1c;
}

.mb-tour-modal__success {
    margin: 12px 0 0;
    color: #166534;
}

.mb-tour-modal__submit {
    width: 100%;
    margin-top: 16px;
}

.mb-header--scrolled {
    background-color: rgba(255, 253, 250, 0.95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: var(--mb-shadow-elevated);
    padding: 0.5rem 0;
}

.mb-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100px;
    padding-top: 15px;
}

.mb-header__logo {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
}

.mb-header__logo img {
    height: 48px;
    width: auto;
    transition: all var(--mb-transition);
}

@media (min-width: 768px) {
    .mb-header__logo img {
        height: 64px;
    }
}

.mb-header__logo--text {
    font-family: 'Bebas Neue', system-ui, sans-serif;
    font-size: 1.5rem;
    color: var(--mb-cream);
    transition: color var(--mb-transition);
}

.mb-header--scrolled .mb-header__logo--text {
    color: var(--mb-foreground);
}

.mb-header__nav-desktop {
    display: none;
    align-items: center;
    gap: 2rem;
}

@media (min-width: 768px) {
    .mb-header__nav-desktop {
        display: flex;
    }
}

.mb-header__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    background: transparent;
    border: none;
    color: var(--mb-cream);
    transition: color var(--mb-transition);
    cursor: pointer;
}

.mb-header--scrolled .mb-header__toggle {
    color: var(--mb-foreground);
}

@media (min-width: 768px) {
    .mb-header__toggle {
        display: none;
    }
}

.mb-header__toggle-icon--close {
    display: none;
}

.mb-header--menu-open .mb-header__toggle-icon--open {
    display: none;
}

.mb-header--menu-open .mb-header__toggle-icon--close {
    display: block;
}

/* Mobile Menu */
.mb-header__mobile-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: rgba(255, 253, 250, 0.98);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: var(--mb-shadow-elevated);
}

/* ==========================================================================
   Main content offset (fixed header)
   ========================================================================== */

   .mb-main--page,
.mb-main--single,
.mb-main--search,
.mb-main--404 {
	padding-top: 0;
}

/* If a secondary blog bar is present, avoid double top spacing */
.mb-blogbar + .mb-main--page,
.mb-blogbar + .mb-main--single,
.mb-blogbar + .mb-main--archive,
.mb-blogbar + .mb-main--search {
	padding-top: 0;
}

.mb-header--menu-open .mb-header__mobile-menu {
    display: block;
}

@media (min-width: 768px) {
    .mb-header__mobile-menu {
        display: none !important;
    }
}

.mb-header__mobile-inner {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.5rem 0;
}

/* Navigation */
.mb-nav__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 2rem;
}

.mb-header__mobile-menu .mb-nav__list {
    flex-direction: column;
    gap: 0;
}

.mb-nav__item {
    margin: 0;
}

.mb-nav__link {
    display: block;
    font-weight: 500;
    color: var(--mb-cream);
    padding: 0.5rem 0;
    transition: color var(--mb-transition);
}

/*
 * Navigation contrast:
 * - Home: nav sits on top of the hero, so links are light.
 * - Non-home pages: header sits on a light background, so links must be dark.
 */
body:not(.home) .mb-nav__link,
body:not(.home) .mb-header__toggle,
body:not(.home) .mb-header__logo--text {
    color: var(--mb-foreground);
}

body:not(.home) .mb-social--header .mb-social__link {
    color: var(--mb-foreground);
    opacity: 0.8;
}

.mb-header--scrolled .mb-nav__link {
    color: var(--mb-foreground);
}

.mb-header__mobile-menu .mb-nav__link {
    color: var(--mb-foreground);
    padding: 0.75rem 0;
}

.mb-nav__link:hover {
    color: var(--mb-golden);
}

/* ==========================================================================
   Hero Section
   ========================================================================== */

.mb-hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.mb-hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.mb-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, hsla(140, 45%, 18%, 0.9) 0%, hsla(140, 45%, 18%, 0.7) 100%);
}

.mb-hero__leaf {
    position: absolute;
    opacity: 0.2;
    pointer-events: none;
}

.mb-hero__leaf--1 {
    top: 0;
    left: 0;
    width: 16rem;
    height: 16rem;
}

.mb-hero__leaf--2 {
    top: 5rem;
    right: 2.5rem;
    width: 12rem;
    height: 12rem;
    opacity: 0.15;
}

.mb-hero__leaf-svg {
    width: 100%;
    height: 100%;
}

.mb-hero__leaf-svg--green {
    fill: var(--mb-canopy);
}

.mb-hero__leaf-svg--golden {
    fill: var(--mb-golden);
}

.mb-hero__content {
    position: relative;
    z-index: 10;
    text-align: center;
}

.mb-hero__inner {
    max-width: 56rem;
    margin: 0 auto;
}

.mb-hero__location {
    color: var(--mb-golden);
    font-weight: 500;
    font-size: 1.125rem;
    margin-bottom: 1rem;
    opacity: 0;
}

@media (min-width: 768px) {
    .mb-hero {
        min-height: 100vh;
    }
    
    .mb-hero__location {
        font-size: 1.25rem;
    }
}

.mb-hero__heading {
    font-family: 'Bebas Neue', system-ui, sans-serif;
    font-size: 3rem;
    color: var(--mb-cream);
    margin-bottom: 1.5rem;
    letter-spacing: 0.05em;
    opacity: 0;
}

@media (min-width: 768px) {
    .mb-hero__heading {
        font-size: 4.5rem;
    }
}

@media (min-width: 1024px) {
    .mb-hero__heading {
        font-size: 6rem;
    }
}

.mb-hero__subheading {
    color: rgba(245, 243, 239, 0.9);
    font-size: 1.125rem;
    max-width: 42rem;
    margin: 0 auto 2.5rem;
    line-height: 1.75;
    opacity: 0;
}

@media (min-width: 768px) {
    .mb-hero__subheading {
        font-size: 1.25rem;
    }
}

.mb-hero__buttons {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: center;
    margin-bottom: 4rem;
    opacity: 0;
}

@media (min-width: 640px) {
    .mb-hero__buttons {
        flex-direction: row;
    }
}

.mb-hero__stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    max-width: 32rem;
    margin: 0 auto;
    opacity: 0;
}

@media (min-width: 768px) {
    .mb-hero__stats {
        gap: 2rem;
    }
}

.mb-hero__stat {
    text-align: center;
}

.mb-hero__stat-icon {
    color: var(--mb-golden);
    margin-bottom: 0.5rem;
    display: flex;
    justify-content: center;
}

.mb-hero__stat-icon svg {
    width: 2rem;
    height: 2rem;
}

.mb-hero__stat-value {
    font-family: 'Bebas Neue', system-ui, sans-serif;
    font-size: 1.5rem;
    color: var(--mb-cream);
    margin: 0;
}

.mb-hero__stat-label {
    font-size: 0.875rem;
    color: rgba(245, 243, 239, 0.7);
    margin: 0;
}

.mb-hero__scroll {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(245, 243, 239, 0.6);
    transition: color var(--mb-transition);
}

.mb-hero__scroll:hover {
    color: var(--mb-golden);
}

/* ==========================================================================
   Coworking Section
   ========================================================================== */

.mb-coworking {
    background-color: var(--mb-background);
}

.mb-features {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-bottom: 5rem;
}

.mb-feature {
    background: white;
    padding: 15px;
    border-radius: 15px;
}

section#coworking-features {
    margin-top: 2rem;
}

@media (min-width: 768px) {
    .mb-features {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Quick Results / Stats row */
.mb-results {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin: -2rem 0 4.5rem;
}

@media (min-width: 768px) {
    .mb-results {
        grid-template-columns: repeat(4, 1fr);
    }
}

.mb-result-card {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    background-color: rgba(18, 40, 28, 0.04);
    border: 1px solid rgba(18, 40, 28, 0.08);
    border-radius: var(--mb-radius-xl);
    padding: 1rem 1.1rem;
}

.mb-result-card__icon {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.9rem;
    display: grid;
    place-items: center;
    background: rgba(214, 168, 65, 0.14);
    color: var(--mb-golden);
    flex: 0 0 auto;
}

.mb-result-card__value {
    font-weight: 700;
    color: var(--mb-foreground);
    font-size: 1.05rem;
    line-height: 1.1;
}

.mb-result-card__label {
    font-size: 0.85rem;
    color: rgba(16, 24, 40, 0.65);
    margin-top: 0.15rem;
}

@media (min-width: 1024px) {
    .mb-features {
        grid-template-columns: repeat(4, 1fr);
    }
}

.mb-feature-card {
    background-color: var(--mb-card);
    padding: 1.5rem;
    border-radius: var(--mb-radius-xl);
    box-shadow: var(--mb-shadow-soft);
    transition: all var(--mb-transition);
}

.mb-feature-card:hover {
    box-shadow: var(--mb-shadow-elevated);
}

.mb-feature-card__icon {
    color: var(--mb-golden);
    margin-bottom: 1rem;
    transition: transform var(--mb-transition);
}

.mb-feature-card:hover .mb-feature-card__icon {
    transform: scale(1.1);
}

.mb-feature-card__icon svg {
    width: 2.5rem;
    height: 2.5rem;
}

.mb-feature-card__title {
    font-family: 'Inter', system-ui, sans-serif;
    font-weight: 600;
    font-size: 1rem;
    color: var(--mb-foreground);
    margin: 0 0 0.25rem;
}

.mb-feature-card__desc {
    font-size: 0.875rem;
    color: var(--mb-muted-foreground);
    margin: 0;
}

/* Pricing Section */
.mb-pricing-section {
    margin-bottom: 4rem;
}

.mb-pricing-section__title {
    font-size: 1.875rem;
    color: var(--mb-primary);
    margin-bottom: 1rem;
}

@media (min-width: 768px) {
    .mb-pricing-section__title {
        font-size: 2.25rem;
    }
}

.mb-pricing-section__subtitle {
    color: var(--mb-muted-foreground);
    margin-bottom: 3rem;
}

.mb-pricing-grid {
    display: grid;
    gap: 1.5rem;
}

@media (min-width: 425px) {
    .mb-pricing-grid {
        grid-template-columns: repeat(1, 1fr) !important;
    }

    .mb-pricing-grid--flexible {
        grid-template-columns: repeat(1, 1fr) !important;
    }
}

@media (min-width: 768px) {
    .mb-pricing-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .mb-pricing-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.mb-pricing-card {
    position: relative;
    background-color: var(--mb-card);
    border-radius: var(--mb-radius-xl);
    padding: 1.5rem;
    box-shadow: var(--mb-shadow-soft);
    transition: all var(--mb-transition);
}

.mb-pricing-card:hover {
    box-shadow: var(--mb-shadow-elevated);
}

.mb-pricing-card--popular {
    box-shadow: 0 0 0 2px var(--mb-golden);
}

.mb-pricing-card__badge {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--mb-golden);
    color: var(--mb-jungle-dark);
    padding: 0.25rem 1rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 700;
    white-space: nowrap;
    z-index: 1;
}

.mb-pricing-card__name {
    font-family: 'Bebas Neue', system-ui, sans-serif;
    font-size: 1.5rem;
    color: var(--mb-primary);
    margin: 0 0 0.5rem;
}

.mb-pricing-card__price {
    margin-bottom: 1rem;
}

.mb-pricing-card__amount {
    font-size: 1.875rem;
    font-weight: 700;
    color: var(--mb-foreground);
}

.mb-pricing-card__period {
    font-size: 0.875rem;
    color: var(--mb-muted-foreground);
    margin-left: 0.5rem;
}

/* Subtle equivalent daily price under totals */
.mb-pricing-card__eqv {
    margin-top: 6px;
    font-size: 0.85rem;
    color: #d4a115;
}

.mb-pricing-card__features {
    list-style: none;
    margin: 0 0 1.5rem;
    padding: 0;
}

.mb-pricing-card__feature {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: var(--mb-foreground);
    padding: 0.375rem 0;
}

.mb-pricing-card__bullet {
    width: 0.375rem;
    height: 0.375rem;
    border-radius: 50%;
    background-color: var(--mb-golden);
    flex-shrink: 0;
}

.mb-btn--full {
    width: 100%;
}

/* Coworking Feature */
.mb-coworking__feature {
    display: grid;
    gap: 3rem;
    align-items: center;
    background: #ffffff;
    border-radius: 15px;
}

@media (min-width: 1024px) {
    .mb-coworking__feature {
        grid-template-columns: repeat(2, 1fr);
    }
}

.mb-coworking__feature-image {
    border-radius: var(--mb-radius-xl);
    overflow: hidden;
    box-shadow: var(--mb-shadow-elevated);
}

.mb-coworking__feature-image img {
    width: 100%;
    height: 20rem;
    object-fit: cover;
    transition: transform var(--mb-transition-slow);
}

.mb-coworking__feature-image:hover img {
    transform: scale(1.05);
}

.mb-coworking__feature-title {
    font-size: 1.875rem;
    color: var(--mb-primary);
    margin-bottom: 1rem;
}

@media (min-width: 768px) {
    .mb-coworking__feature-title {
        font-size: 2.25rem;
    }
}

.mb-coworking__feature-desc {
    color: var(--mb-muted-foreground);
    margin-bottom: 1.5rem;
    line-height: 1.75;
}

.mb-coworking__feature-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-self: center;
    margin-bottom: 15px;
}

/* ==========================================================================
   Cafe Section
   ========================================================================== */

.mb-cafe {
    padding: 6rem 0;
}

.mb-cafe__menu-coming-soon {
    padding: 2rem 1.5rem;
    max-width: 720px;
    margin: 0 auto 2rem;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.18);
  }

  .mb-cafe__menu-coming-soon.mb-card.mb-text-center {
    background: #2e511d;
}

.mb-cafe__image {
    max-width: 56rem;
    margin: 0 auto 3rem;
    border-radius: var(--mb-radius-xl);
    overflow: hidden;
    box-shadow: var(--mb-shadow-elevated);
}

.mb-cafe__image img {
    width: 100%;
    height: 16rem;
    object-fit: cover;
}

@media (min-width: 768px) {
    .mb-cafe__image img {
        height: 20rem;
    }
}

.mb-cafe__categories {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    margin-bottom: 3rem;
}

.mb-cafe__category {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1.25rem;
    border-radius: 9999px;
    font-weight: 500;
    background-color: rgba(245, 243, 239, 0.1);
    color: var(--mb-cream);
    border: none;
    cursor: pointer;
    transition: all var(--mb-transition);
}

.mb-cafe__category:hover {
    background-color: rgba(245, 243, 239, 0.2);
}

.mb-cafe__category--active {
    background-color: var(--mb-golden);
    color: var(--mb-jungle-dark);
    box-shadow: var(--mb-shadow-golden);
}

.mb-cafe__category svg {
    width: 1.125rem;
    height: 1.125rem;
}

.mb-cafe__menu {
    display: grid;
    gap: 1rem;
    max-width: 72rem;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .mb-cafe__menu {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .mb-cafe__menu {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1280px) {
    .mb-cafe__menu {
        grid-template-columns: repeat(4, 1fr);
    }
}

.mb-menu-item {
    background-color: rgba(245, 243, 239, 0.1);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: var(--mb-radius-xl);
    padding: 1.25rem;
    transition: all var(--mb-transition);
}

.mb-menu-item:hover {
    background-color: rgba(245, 243, 239, 0.15);
}

.mb-menu-item--hidden,
.mb-cafe__item--hidden {
    display: none !important;
}

/* Used by the cafe menu category filter so we don't fight inline styles */
.mb-menu-item--filtered-out {
    display: none !important;
}

.mb-menu-item__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 0.5rem;
}

.mb-menu-item__name {
    font-weight: 600;
    color: var(--mb-cream);
    margin: 0;
    font-size: 1rem;
    transition: color var(--mb-transition);
}

.mb-menu-item:hover .mb-menu-item__name {
    color: var(--mb-golden);
}

.mb-menu-item__price {
    color: var(--mb-golden);
    font-weight: 700;
}

.mb-menu-item__desc {
    font-size: 0.875rem;
    color: rgba(245, 243, 239, 0.6);
    margin: 0;
}

.mb-cafe__perks {
    margin-top: 4rem;
    background-color: rgba(245, 243, 239, 0.1);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: var(--mb-radius-xl);
    padding: 2rem;
    max-width: 42rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.mb-cafe__perks-icon {
    color: var(--mb-golden);
    margin-bottom: 1rem;
}

.mb-cafe__perks-title {
    font-family: 'Bebas Neue', system-ui, sans-serif;
    font-size: 1.5rem;
    color: var(--mb-cream);
    margin: 0 0 0.5rem;
}

.mb-cafe__perks-desc {
    color: rgba(245, 243, 239, 0.8);
    margin: 0;
}

.mb-cafe__perks-desc strong {
    color: var(--mb-golden);
}

/* Cafe Show More */
.mb-cafe__show-more-wrap {
    text-align: center;
    margin-top: 2rem;
}

.mb-cafe__show-more {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    border-color: rgba(245, 243, 239, 0.4);
    color: var(--mb-cream);
}

.mb-cafe__show-more:hover {
    border-color: var(--mb-cream);
    background-color: rgba(245, 243, 239, 0.1);
}

.mb-cafe__show-more-count {
    font-size: 0.875rem;
    opacity: 0.7;
}

.mb-cafe__show-more svg {
    transition: transform 0.3s ease;
}

/* ==========================================================================
   Gallery Section
   ========================================================================== */

.mb-gallery-section {
    padding: 6rem 0;
    background-color: var(--mb-secondary);
}

.mb-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    max-width: 72rem;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .mb-gallery {
        grid-template-columns: repeat(3, 1fr);
    }
}

.mb-gallery__item {
    position: relative;
    overflow: hidden;
    border-radius: var(--mb-radius-xl);
    aspect-ratio: 1;
    cursor: pointer;
}

.mb-gallery__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--mb-transition-slow);
}

.mb-gallery__item:hover .mb-gallery__image {
    transform: scale(1.1);
}

.mb-gallery__overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(20, 38, 25, 0.6);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity var(--mb-transition);
    text-align: center;
    padding: 1rem;
}

.mb-gallery__item:hover .mb-gallery__overlay {
    opacity: 1;
}

.mb-gallery__category {
    color: var(--mb-golden);
    font-weight: 500;
    font-size: 0.875rem;
    margin: 0;
}

.mb-gallery__caption {
    color: var(--mb-cream);
    font-size: 0.875rem;
    margin: 0.25rem 0 0;
}

/* Lightbox */
.mb-lightbox {
    position: fixed;
    inset: 0;
    background-color: rgba(20, 38, 25, 0.95);
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    opacity: 0;
    visibility: hidden;
    transition: all var(--mb-transition);
}

.mb-lightbox--active {
    opacity: 1;
    visibility: visible;
}

.mb-lightbox__close {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    background: transparent;
    border: none;
    color: var(--mb-cream);
    cursor: pointer;
    transition: color var(--mb-transition);
    padding: 0.5rem;
}

.mb-lightbox__close:hover {
    color: var(--mb-golden);
}

.mb-lightbox__prev,
.mb-lightbox__next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    color: var(--mb-cream);
    cursor: pointer;
    transition: color var(--mb-transition);
    padding: 0.5rem;
}

.mb-lightbox__prev {
    left: 1rem;
}

@media (min-width: 768px) {
    .mb-lightbox__prev {
        left: 2rem;
    }
}

.mb-lightbox__next {
    right: 1rem;
}

@media (min-width: 768px) {
    .mb-lightbox__next {
        right: 2rem;
    }
}

.mb-lightbox__prev:hover,
.mb-lightbox__next:hover {
    color: var(--mb-golden);
}

.mb-lightbox__content {
    max-width: 90vw;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.mb-lightbox__image {
    max-width: 100%;
    max-height: 70vh;
    border-radius: var(--mb-radius);
    box-shadow: var(--mb-shadow-elevated);
}

.mb-lightbox__caption {
    text-align: center;
    margin-top: 1rem;
}

.mb-lightbox__category {
    color: var(--mb-golden);
    font-weight: 500;
    margin: 0;
}

.mb-lightbox__text {
    color: rgba(245, 243, 239, 0.8);
    font-size: 0.875rem;
    margin: 0.25rem 0 0;
}

/* ==========================================================================
   Footer
   ========================================================================== */

.mb-footer {
    background-color: var(--mb-jungle-dark);
    color: var(--mb-cream);
}

.mb-footer__contact {
    padding: 5rem 0;
}

.mb-footer__contact-grid {
    display: grid;
    gap: 3rem;
    align-items: center;
}

@media (min-width: 768px) {
    .mb-footer__contact-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.mb-footer__title {
    font-family: 'Bebas Neue', system-ui, sans-serif;
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
}

@media (min-width: 768px) {
    .mb-footer__title {
        font-size: 3rem;
    }
}

.mb-footer__desc {
    color: rgba(245, 243, 239, 0.8);
    margin-bottom: 2rem;
    line-height: 1.75;
}

.mb-footer__ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.mb-footer__contact-info {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.mb-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.mb-contact-item__icon {
    color: var(--mb-golden);
    flex-shrink: 0;
    margin-top: 0.25rem;
}

.mb-contact-item__title {
    font-weight: 600;
    font-size: 1rem;
    margin: 0 0 0.25rem;
}

.mb-contact-item__text {
    color: rgba(245, 243, 239, 0.7);
    margin: 0;
    font-size: 0.9375rem;
}

.mb-contact-item__label {
    color: var(--mb-cream);
}

.mb-contact__highlight {
    color: var(--mb-golden);
}

.mb-contact-item__link {
    color: rgba(245, 243, 239, 0.7);
    transition: color var(--mb-transition);
}

.mb-contact-item__link:hover {
    color: var(--mb-golden);
}

/* Footer Bottom */
.mb-footer__bottom {
    border-top: 1px solid rgba(245, 243, 239, 0.1);
    padding: 2rem 0;
}

/* ==========================================================================
   Blog Secondary Navigation
   ========================================================================== */

.mb-blogbar {
	position: sticky;
	top: 72px;
	z-index: 45;
	background-color: rgba(255, 253, 250, 0.95);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--mb-border);
	margin-top: 0;
}

/* On smaller screens the header height changes slightly */
@media (max-width: 767px) {
	.mb-blogbar {
		top: 64px;
		margin-top: 0;
	}
}

.mb-blogbar__inner {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 0.5rem 0;
}

.mb-blogbar__label {
	font-weight: 600;
	color: var(--mb-muted-foreground);
	white-space: nowrap;
}

.mb-blogbar nav {
	flex: 1;
}

.mb-blogbar .mb-nav__list {
	display: flex;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.mb-blogbar .mb-nav__link {
	display: inline-flex;
	align-items: center;
	padding: 0.5rem 0.75rem;
	border-radius: 999px;
	background: var(--mb-card);
	border: 1px solid var(--mb-border);
	font-weight: 600;
	font-size: 0.875rem;
}

.mb-blogbar .mb-nav__item--active .mb-nav__link,
.mb-blogbar .current-menu-item .mb-nav__link {
	background: var(--mb-golden);
	border-color: transparent;
	color: var(--mb-jungle-dark);
}

/* ==========================================================================
   Find Us (flip card map)
   ========================================================================== */

.mb-findus {
	padding: 6rem 0;
	background: var(--mb-secondary);
}

.mb-findus__wrap {
	max-width: 980px;
	margin: 0 auto;
}

/* The template uses .mb-findus__card-inner + .mb-findus__side -- keep the
   styling in sync with those classes to avoid a "shoe-horned" look. */
.mb-findus__card {
	position: relative;
	border-radius: var(--mb-radius-xl);
	box-shadow: var(--mb-shadow-elevated);
	background: var(--mb-card);
	overflow: hidden;
	perspective: 1200px;
}

.mb-findus__card-inner {
	position: relative;
	width: 100%;
	min-height: 360px;
	transform-style: preserve-3d;
	transition: transform var(--mb-transition-slow);
}

.mb-findus__card.is-flipped .mb-findus__card-inner {
	transform: rotateY(180deg);
}

.mb-findus__side {
	position: absolute;
	inset: 0;
	backface-visibility: hidden;
	border-radius: var(--mb-radius-xl);
	overflow: hidden;
}

.mb-findus__side--front {
	background: radial-gradient(1200px 500px at 20% 20%, rgba(212, 155, 25, 0.12), transparent 55%),
		linear-gradient(135deg, rgba(26, 61, 43, 0.98), rgba(18, 45, 31, 0.92));
	color: var(--mb-cream);
}

/* Subtle "map" texture on the right to make the card feel designed */
.mb-findus__side--front::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.22) 55%, rgba(0, 0, 0, 0.35) 100%),
		repeating-linear-gradient(0deg, rgba(255, 253, 250, 0.045) 0px, rgba(255, 253, 250, 0.045) 1px, transparent 1px, transparent 22px),
		repeating-linear-gradient(90deg, rgba(255, 253, 250, 0.03) 0px, rgba(255, 253, 250, 0.03) 1px, transparent 1px, transparent 22px);
	opacity: 0.9;
	pointer-events: none;
}

.mb-findus__front-content {
	position: relative;
	z-index: 1;
	max-width: 36rem;
	padding: 2.75rem;
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
}

.mb-findus__icon {
	width: 44px;
	height: 44px;
	border-radius: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(212, 155, 25, 0.18);
	border: 1px solid rgba(212, 155, 25, 0.28);
}

.mb-findus__headline {
	font-size: 2rem;
	line-height: 1.1;
	color: var(--mb-cream);
}

.mb-findus__text {
	color: rgba(255, 253, 250, 0.86);
	max-width: 44rem;
}

.mb-findus__link {
	margin-top: 0.25rem;
	color: rgba(255, 253, 250, 0.82);
	text-decoration: none;
	font-weight: 600;
}

.mb-findus__link:hover {
	color: var(--mb-golden);
}

.mb-findus__side--back {
	transform: rotateY(180deg);
	background: var(--mb-card);
}

.mb-findus__map {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 360px;
}

.mb-findus__map iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

.mb-findus__map-empty {
	padding: 2rem;
	color: var(--mb-muted-foreground);
}

@media (prefers-reduced-motion: reduce) {
	.mb-findus__card-inner {
		transition: none;
	}
}

@media (max-width: 767px) {
	.mb-findus {
		padding: 4.5rem 0;
	}

	/* Let the content define height on mobile to avoid awkward whitespace */
	.mb-findus__card-inner {
		min-height: 0;
	}

	.mb-findus__front-content {
		padding: 2rem;
	}

	/* Give the embedded map a stable height when the back side is in normal flow */
	.mb-findus__map {
		height: auto;
		min-height: 0;
	}
	.mb-findus__map iframe {
		display: block;
		width: 100%;
		aspect-ratio: 16 / 9;
		height: auto;
		min-height: 280px;
	}
}



/* Find Us: ensure map is interactive and buttons are styled */
.mb-findus__side--back { pointer-events: none; }
.mb-findus__side--front { pointer-events: auto; }
.mb-findus__card.is-flipped .mb-findus__side--front { pointer-events: none; }
.mb-findus__card.is-flipped .mb-findus__side--back { pointer-events: auto; }

.mb-findus__map { touch-action: pan-x pan-y; }
.mb-findus__map iframe { touch-action: pan-x pan-y; }

/* Mobile: avoid 3D transforms on iframe (keeps pinch/drag working) */
@media (max-width: 767px) {
	.mb-findus__card-inner { transform: none !important; }
	.mb-findus__side { position: relative; inset: auto; transform: none !important; backface-visibility: visible; }
	.mb-findus__side--back { display: none; }
	.mb-findus__card.is-flipped .mb-findus__side--front { display: none; }
	.mb-findus__card.is-flipped .mb-findus__side--back { display: block; animation: mbFindusReveal 220ms ease-out; }
	@keyframes mbFindusReveal {
		from { opacity: 0; transform: translateY(10px) scale(0.985); }
		to { opacity: 1; transform: translateY(0) scale(1); }
	}
}

/* ==========================================================================
   Contact Page
   ========================================================================== */

.mb-contact-page {
	padding: 7rem 0 5rem;
}

.mb-contact-grid {
    display: flex;
    gap: 20px;
    margin-bottom: 15px;
}

.mb-contact-page__header {
	text-align: center;
	margin-bottom: 2.5rem;
}

.mb-contact-page__title {
	font-size: 3rem;
	color: var(--mb-primary);
}

.mb-contact-page__grid {
	display: grid;
	gap: 1.5rem;
}

section.mb-card.mb-card--padded.mb-contact-form {
    width: -webkit-fill-available;
}

@media (min-width: 1024px) {
	.mb-contact-page__grid {
		grid-template-columns: 1fr 1fr;
		align-items: start;
	}
}

@media (max-width: 640px) {
    .mb-contact-grid {
        display: block;
        gap: 20px;
        margin-bottom: 15px;
    }
}

.mb-contact-card {
	background: var(--mb-card);
	border-radius: var(--mb-radius-xl);
	box-shadow: var(--mb-shadow-soft);
	padding: 1.75rem;
}

.mb-contact-card__title {
	font-size: 1.75rem;
	color: var(--mb-primary);
	margin-bottom: 0.75rem;
}

.mb-contact-form__row {
	margin-bottom: 1rem;
}

.mb-contact-form label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.4rem;
}

.mb-contact-form input,
.mb-contact-form textarea {
	width: 100%;
	padding: 0.85rem 1rem;
	border-radius: var(--mb-radius);
	border: 1px solid var(--mb-border);
	background: var(--mb-background);
}

.mb-contact-form textarea {
	min-height: 140px;
	resize: vertical;
}

.mb-contact-form input:focus,
.mb-contact-form textarea:focus {
	outline: none;
	border-color: var(--mb-golden);
	box-shadow: 0 0 0 4px rgba(212, 160, 23, 0.15);
}

.mb-contact-page__notice {
	margin: 0 auto 1.25rem;
	max-width: 44rem;
	padding: 0.85rem 1rem;
	border-radius: var(--mb-radius);
	background: rgba(212, 160, 23, 0.12);
	border: 1px solid rgba(212, 160, 23, 0.22);
}

.mb-contact-page__notice--ok {
	background: rgba(50, 160, 90, 0.12);
	border-color: rgba(50, 160, 90, 0.25);
}

.mb-contact-page__notice--bad {
	background: rgba(190, 60, 50, 0.10);
	border-color: rgba(190, 60, 50, 0.22);
}

.mb-contact-map {
	border-radius: var(--mb-radius-xl);
	overflow: hidden;
	box-shadow: var(--mb-shadow-soft);
}

.mb-contact-map iframe {
	width: 100%;
	height: 360px;
	border: 0;
}

.mb-contact-details {
	margin-top: 1rem;
	color: var(--mb-muted-foreground);
}

.mb-contact-details a {
	color: var(--mb-primary);
	font-weight: 600;
}

/* ==========================================================================
   Blog Pillar (Hub)
   ========================================================================== */

.mb-bloghub {
	padding: 7rem 0 5rem;
}

.mb-bloghub__header {
	text-align: center;
	margin-bottom: 2.5rem;
}

.mb-bloghub__title {
	font-size: 3rem;
	color: var(--mb-primary);
}

.mb-bloghub__intro {
	max-width: 48rem;
	margin: 0 auto;
	color: var(--mb-muted-foreground);
}

.mb-bloghub__section {
	margin-top: 2.5rem;
}

.mb-bloghub__section-title {
	font-size: 2.25rem;
	color: var(--mb-primary);
	margin-bottom: 1.25rem;
}

.mb-bloghub__cards {
	display: grid;
	gap: 1.5rem;
}

@media (min-width: 768px) {
	.mb-bloghub__cards {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.mb-bloghub__cards {
		grid-template-columns: repeat(3, 1fr);
	}
}

.mb-bloghub__card {
	background: var(--mb-card);
	border-radius: var(--mb-radius-xl);
	box-shadow: var(--mb-shadow-soft);
	overflow: hidden;
}

.mb-bloghub__card-body {
	padding: 1.5rem;
}

.mb-bloghub__card-title {
	font-size: 1.6rem;
	color: var(--mb-primary);
}

.mb-bloghub__card-excerpt {
	color: var(--mb-muted-foreground);
	margin-top: 0.5rem;
}

.mb-bloghub__posts {
	display: grid;
	gap: 1.5rem;
}

@media (min-width: 768px) {
	.mb-bloghub__posts {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.mb-bloghub__posts {
		grid-template-columns: repeat(3, 1fr);
	}
}

.mb-bloghub__post {
	background: var(--mb-card);
	border-radius: var(--mb-radius-xl);
	box-shadow: var(--mb-shadow-soft);
	overflow: hidden;
}

.mb-bloghub__post-thumb img {
	width: 100%;
	height: 12rem;
	object-fit: cover;
}

.mb-bloghub__post-body {
	padding: 1.25rem;
}

.mb-bloghub__post-title {
	font-size: 1.5rem;
	color: var(--mb-primary);
}

.mb-bloghub__post-excerpt {
	color: var(--mb-muted-foreground);
	margin-top: 0.5rem;
}

/* ==========================================================================
   Single Post
   ========================================================================== */

.mb-main--single {
	padding-bottom: 5rem;
}

.mb-post {
	max-width: 860px;
	margin: 0 auto;
	background: var(--mb-card);
	border-radius: var(--mb-radius-xl);
	box-shadow: var(--mb-shadow-soft);
	overflow: hidden;
}

.mb-post__header {
	padding: 2.25rem 2.25rem 1.25rem;
}

.mb-post__title {
	font-size: 3rem;
	color: var(--mb-primary);
	margin-bottom: 0.5rem;
}

.mb-post__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	color: var(--mb-muted-foreground);
	font-weight: 600;
}

.mb-post__categories a {
	color: var(--mb-primary);
	background: rgba(212, 160, 23, 0.12);
	border: 1px solid rgba(212, 160, 23, 0.22);
	padding: 0.25rem 0.6rem;
	border-radius: 999px;
}

.mb-post__thumbnail img {
	width: 100%;
	height: 360px;
	object-fit: cover;
}

.mb-post__content {
	padding: 2rem 2.25rem;
}

.mb-post__content h2,
.mb-post__content h3,
.mb-post__content h4 {
	color: var(--mb-primary);
}

.mb-post__content a {
	color: var(--mb-golden-dark);
	text-decoration: underline;
}

.mb-post__content img {
	max-width: 100%;
	height: auto;
	border-radius: var(--mb-radius-lg);
}

@media (max-width: 640px) {
	.mb-post__header,
	.mb-post__content {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}
	.mb-post__title {
		font-size: 2.25rem;
	}
	.mb-post__thumbnail img {
		height: 220px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mb-findus__flip-inner {
		transition: none;
	}
}

@media (max-width: 640px) {
	.mb-findus__face--front {
		padding: 1.5rem;
	}
	.mb-findus__map-wrap {
		height: 300px;
	}
}

/* ==========================================================================
   Fix: Posts/pages under fixed header
   ========================================================================== */

   .mb-main--single,
   .mb-main--page {
       padding-top: 0 !important;
   }

.mb-footer__bottom-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .mb-footer__bottom-inner {
        flex-direction: row;
        justify-content: space-between;
    }
}

.mb-footer__logo img {
    height: 3rem;
    width: auto;
}

.mb-social {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.mb-social__link {
    color: rgba(245, 243, 239, 0.6);
    transition: color var(--mb-transition);
}

.mb-social__link:hover {
    color: var(--mb-golden);
}

/* Header social links */
.mb-social--header {
    gap: 0.75rem;
}

.mb-social--header .mb-social__link {
    color: var(--mb-cream);
    opacity: 0.7;
    transition: all var(--mb-transition);
}

.mb-header--scrolled .mb-social--header .mb-social__link {
    color: var(--mb-foreground);
}

.mb-social--header .mb-social__link:hover {
    color: var(--mb-golden);
    opacity: 1;
}

/* Mobile menu social links */
.mb-social--mobile {
    justify-content: center;
    padding: 1rem 0;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    margin: 0.5rem 0;
}

.mb-social--mobile .mb-social__link {
    color: var(--mb-foreground);
    opacity: 0.7;
}

.mb-social--mobile .mb-social__link:hover {
    color: var(--mb-golden);
    opacity: 1;
}

.mb-footer__copyright {
    color: rgba(245, 243, 239, 0.5);
    font-size: 0.875rem;
    margin: 0;
}

/* ==========================================================================
   Skip Link
   ========================================================================== */

.mb-skip-link:focus {
    position: fixed;
    top: 1rem;
    left: 1rem;
    z-index: 9999;
    padding: 1rem 2rem;
    background-color: var(--mb-golden);
    color: var(--mb-jungle-dark);
    font-weight: 600;
    border-radius: var(--mb-radius);
    width: auto;
    height: auto;
    clip: auto;
}

/* ==========================================================================
   Flexible Pricing System
   ========================================================================== */

/* Desk Type Selector Wrapper - Horizontal Scroll on Mobile */
.mb-desk-types-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 0;
    padding-bottom: 2px; /* Prevent scrollbar overlap with border */
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
}

.mb-desk-types-wrapper::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}

/* Desk Type Selector Tabs */
.mb-desk-types {
    display: inline-flex;
    justify-content: flex-start;
    gap: 0;
    margin-bottom: 0;
    flex-wrap: nowrap;
    position: relative;
    z-index: 1;
    min-width: 100%;
}

@media (min-width: 768px) {
    .mb-desk-types {
        justify-content: center;
    }
}

.mb-desk-type {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.75rem 1.25rem;
    border: 2px solid var(--mb-border);
    border-bottom: none;
    border-radius: var(--mb-radius-lg) var(--mb-radius-lg) 0 0;
    background-color: var(--mb-muted);
    cursor: pointer;
    transition: all var(--mb-transition);
    min-width: 140px;
    margin-right: -1px;
    position: relative;
    flex-shrink: 0;
}

@media (min-width: 768px) {
    .mb-desk-type {
        padding: 1rem 2rem;
        min-width: 200px;
    }
}

.mb-desk-type:last-child {
    margin-right: 0;
}

.mb-desk-type:hover:not(.mb-desk-type--active) {
    background-color: var(--mb-card);
}

.mb-desk-type--active {
    background-color: var(--mb-card);
    border-color: var(--mb-golden);
    border-bottom: 2px solid var(--mb-card);
    margin-bottom: -2px;
    z-index: 2;
}

.mb-desk-type__name {
    font-family: 'Bebas Neue', system-ui, sans-serif;
    font-size: 1.25rem;
    color: var(--mb-muted-foreground);
    transition: color var(--mb-transition);
}

.mb-desk-type--active .mb-desk-type__name {
    color: var(--mb-golden);
}

.mb-desk-type__desc {
    font-size: 0.75rem;
    color: var(--mb-muted-foreground);
    text-align: center;
    transition: color var(--mb-transition);
    max-width: 180px;
}

.mb-desk-type--active .mb-desk-type__desc {
    color: var(--mb-foreground);
}

/* Pricing Panels Container */
.mb-pricing-panels-container {
    border: 2px solid var(--mb-golden);
    border-radius: 0 0 var(--mb-radius-lg) var(--mb-radius-lg);
    background-color: var(--mb-card);
    padding: 2rem;
    position: relative;
}

/* Pricing Panels */
.mb-pricing-panel {
    display: none;
}

.mb-pricing-panel--active {
    display: block;
}

/* Flexible Grid for Many Items */
.mb-pricing-grid--flexible {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
}


@media (min-width: 1024px) {
    .mb-pricing-grid--flexible {
        grid-template-columns: repeat(3, 1fr);
    }
}


@media (min-width: 1280px) {
    .mb-pricing-grid--flexible {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}


/* Compact pricing cards for many durations */
.mb-pricing-grid--flexible .mb-pricing-card {
    padding: 1.25rem;
}

.mb-pricing-grid--flexible .mb-pricing-card__name {
    font-size: 1.25rem;
}

.mb-pricing-grid--flexible .mb-pricing-card__amount {
    font-size: 1.5rem;
}

.mb-pricing-grid--flexible .mb-pricing-card__features {
    margin-bottom: 1rem;
    max-height: 100%;
    overflow-y: auto;
}

.mb-pricing-grid--flexible .mb-pricing-card__feature {
    font-size: 0.8125rem;
    padding: 0.25rem 0;
}

/* Hidden pricing cards (Show More functionality) */
.mb-pricing-card--hidden {
    display: none;
}

/* Responsive hidden cards - mobile vs desktop */
.mb-pricing-card--hidden-mobile {
    display: none;
}

@media (min-width: 768px) {
    .mb-pricing-card--hidden-mobile {
        display: block;
    }

    .mb-pricing-card--hidden-desktop {
        display: none;
    }
}

/* When expanded, show all cards */
.mb-pricing-panel--expanded .mb-pricing-card--hidden-mobile,
.mb-pricing-panel--expanded .mb-pricing-card--hidden-desktop {
    display: block;
}

.mb-pricing-card--revealing {
    animation: mb-card-reveal 0.3s ease-out forwards;
}

@keyframes mb-card-reveal {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Show More Button Wrapper */
.mb-pricing-show-more-wrapper {
    display: flex;
    justify-content: center;
    margin-top: 2rem;
    grid-column: 1 / -1;
}

.mb-pricing-show-more {
    min-width: 200px;
    transition: all var(--mb-transition);
}

.mb-pricing-show-more:hover {
    transform: translateY(-2px);
}

.mb-pricing-show-more--expanded {
    background-color: var(--mb-muted);
}

/* Pricing CTA Button */
.mb-pricing-cta {
    display: flex;
    justify-content: center;
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--mb-border);
}

/* ==========================================================================
   Membership Add-ons / Upgrades
   ========================================================================== */

.mb-addons {
    margin-top: 3rem;
    padding-top: 2rem;
}

.mb-addons__title {
    font-family: 'Bebas Neue', system-ui, sans-serif;
    font-size: 1.5rem;
    color: var(--mb-primary);
    text-align: center;
    margin: 0 0 0.5rem;
    letter-spacing: 0.05em;
}

.mb-addons__subtitle {
    color: var(--mb-muted-foreground);
    text-align: center;
    margin: 0 0 2rem;
    font-size: 0.9375rem;
}

.mb-addons__grid {
    display: grid !important;
    gap: 1rem;
    grid-template-columns: 1fr;
}

@media (min-width: 640px) {
    .mb-addons__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .mb-addons__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.mb-addon {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.5rem;
    background-color: var(--mb-card, #fff);
    border-radius: var(--mb-radius, 0.5rem);
    border: 1px solid var(--mb-border, #e5e5e5);
    transition: all 0.2s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.mb-addon:hover {
    border-color: var(--mb-golden, #d4a853);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.mb-addon__info {
    flex: 1 1 auto;
    min-width: 0;
    padding-right: 1rem;
}

.mb-addon__name {
    font-family: 'Bebas Neue', system-ui, sans-serif;
    font-weight: 400;
    font-size: 1.125rem;
    color: var(--mb-foreground, #1a1a1a);
    margin: 0 0 0.25rem;
    letter-spacing: 0.02em;
}

.mb-addon__desc {
    font-size: 0.8125rem;
    color: var(--mb-muted-foreground, #6b7280);
    margin: 0;
    line-height: 1.4;
}

.mb-addon__price {
    text-align: right;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.mb-addon__amount {
    display: block;
    font-weight: 700;
    font-size: 1.25rem;
    color: var(--mb-golden, #d4a853);
    line-height: 1.2;
}

.mb-addon__period {
    display: block;
    font-size: 0.75rem;
    color: var(--mb-muted-foreground, #6b7280);
}

.mb-addon__rate-select {
    margin-top: 10px;
    width: 100%;
    max-width: 220px;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    background: rgba(255, 255, 255, 0.9);
    font-size: 0.875rem;
}


/* ==========================================================================
   Events Section
   ========================================================================== */

.mb-events__grid {
    display: grid;
    gap: 1.25rem;
    margin-top: 2.5rem;
    grid-template-columns: 1fr;
}

@media (min-width: 768px) {
    .mb-events__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
    .mb-events__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.mb-event-card {
    background-color: #184326;
    border-radius: var(--mb-radius-xl);
    box-shadow: var(--mb-shadow-soft);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: all var(--mb-transition);
    padding: 10px;
}

.mb-event-card:hover {
    box-shadow: var(--mb-shadow-elevated);
    transform: translateY(-2px);
}

.mb-event-card__image img {
    width: 100%;
    height: 170px;
    object-fit: cover;
    display: block;
}

.mb-event-card__body {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.mb-event-card__meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.mb-event-card__time {
    font-size: 0.8125rem;
    color: #d4a115;
}

.mb-event-card__tag {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    background: rgba(16, 185, 129, 0.14);
    color: #d4a115;
    border: 1px solid rgba(16, 185, 129, 0.22);
}

.mb-event-card__title {
    font-family: 'Inter', system-ui, sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: #ffffff;
    margin: 0;
    line-height: 1.25;
}

.mb-event-card__desc {
    font-size: 0.875rem;
    color: #e1e1e1;
    margin: 0;
    line-height: 1.45;
}

.mb-event-card__location {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8125rem;
    color: #d4a115;
    margin-top: 0.25rem;
}

.mb-event-card__location svg {
    color: var(--mb-golden);
}

.mb-events__empty {
    margin-top: 2.5rem;
    padding: 2.25rem;
    text-align: center;
    background: rgba(0,0,0,0.04);
    border-radius: var(--mb-radius-xl);
    border: 1px dashed rgba(0,0,0,0.12);
}

.mb-events__empty-icon {
    color: var(--mb-golden);
    margin-bottom: 0.75rem;
}

.mb-events__empty-text {
    margin: 0;
    color: var(--mb-muted-foreground);
}

/* ==========================================================================
   Coming Soon Modal
   ========================================================================== */

.mb-coming-soon-modal {
    position: fixed;
    inset: 0;
    z-index: 200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    opacity: 0;
    visibility: hidden;
    transition: all var(--mb-transition);
}

.mb-coming-soon-modal--active {
    opacity: 1;
    visibility: visible;
}

.mb-coming-soon-modal__backdrop {
    position: absolute;
    inset: 0;
    background-color: rgba(20, 38, 25, 0.92);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.mb-coming-soon-modal__container {
    position: relative;
    background: linear-gradient(135deg, var(--mb-jungle-dark) 0%, var(--mb-primary) 100%);
    border-radius: var(--mb-radius-xl);
    max-width: 480px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: var(--mb-shadow-elevated), 0 0 60px rgba(212, 160, 23, 0.15);
    transform: scale(0.9) translateY(20px);
    transition: transform var(--mb-transition);
}

.mb-coming-soon-modal--active .mb-coming-soon-modal__container {
    transform: scale(1) translateY(0);
}

.mb-coming-soon-modal__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: rgba(255, 255, 255, 0.1);
    border: none;
    color: var(--mb-cream);
    cursor: pointer;
    padding: 0.5rem;
    border-radius: 50%;
    transition: all var(--mb-transition);
    z-index: 10;
}

.mb-coming-soon-modal__close:hover {
    background: rgba(255, 255, 255, 0.2);
    color: var(--mb-golden);
}

.mb-coming-soon-modal__content {
    position: relative;
    padding: 2.5rem 2rem;
    text-align: center;
    overflow: hidden;
}

@media (min-width: 480px) {
    .mb-coming-soon-modal__content {
        padding: 3rem 2.5rem;
    }
}

/* Decorative leaf */
.mb-coming-soon-modal__leaf {
    position: absolute;
    top: -30px;
    right: -30px;
    width: 120px;
    height: 120px;
    opacity: 0.08;
    pointer-events: none;
    transform: rotate(45deg);
}

.mb-coming-soon-modal__leaf-svg {
    width: 100%;
    height: 100%;
    fill: var(--mb-golden);
}

.mb-coming-soon-modal__header {
    margin-bottom: 1.5rem;
}

.mb-coming-soon-modal__title {
    font-family: 'Bebas Neue', system-ui, sans-serif;
    font-size: 2rem;
    color: var(--mb-cream);
    margin: 0 0 0.5rem;
    letter-spacing: 0.05em;
}

@media (min-width: 480px) {
    .mb-coming-soon-modal__title {
        font-size: 2.5rem;
    }
}

.mb-coming-soon-modal__subtitle {
    color: rgba(245, 243, 239, 0.7);
    font-size: 1rem;
    margin: 0;
}

.mb-coming-soon-modal__date {
    font-family: 'Bebas Neue', system-ui, sans-serif;
    font-size: 2.5rem;
    color: var(--mb-golden);
    margin: 0.5rem 0 0;
    letter-spacing: 0.02em;
}

@media (min-width: 480px) {
    .mb-coming-soon-modal__date {
        font-size: 3rem;
    }
}

.mb-coming-soon-modal__description {
    color: rgba(245, 243, 239, 0.8);
    font-size: 0.9375rem;
    line-height: 1.6;
    margin: 0 0 1.5rem;
}

/* Benefits list */
.mb-coming-soon-modal__benefits {
    list-style: none;
    margin: 0 0 1.5rem;
    padding: 0;
    text-align: left;
}

.mb-coming-soon-modal__benefit {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0;
    color: rgba(245, 243, 239, 0.85);
    font-size: 0.875rem;
}

.mb-coming-soon-modal__benefit svg {
    color: var(--mb-golden);
    flex-shrink: 0;
}

/* Form */
.mb-coming-soon-modal__form {
    margin-bottom: 1rem;
}

.mb-coming-soon-modal__form-group {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

@media (min-width: 400px) {
    .mb-coming-soon-modal__form-group {
        flex-direction: row;
    }
}

.mb-coming-soon-modal__input {
    flex: 1;
    padding: 0.875rem 1rem;
    border: 2px solid rgba(255, 255, 255, 0.15);
    border-radius: var(--mb-radius);
    background: rgba(255, 255, 255, 0.08);
    color: var(--mb-cream);
    font-size: 1rem;
    transition: all var(--mb-transition);
}

.mb-coming-soon-modal__input::placeholder {
    color: rgba(245, 243, 239, 0.5);
}

.mb-coming-soon-modal__input:focus {
    outline: none;
    border-color: var(--mb-golden);
    background: rgba(255, 255, 255, 0.12);
}

.mb-coming-soon-modal__submit {
    white-space: nowrap;
    padding: 0.875rem 1.5rem;
}

.mb-coming-soon-modal__error {
    color: #ff6b6b;
    font-size: 0.875rem;
    margin: 0.75rem 0 0;
    text-align: center;
}

/* Success state */
.mb-coming-soon-modal__success {
    padding: 1.5rem 0;
    animation: fadeInUp 0.5s ease;
}

.mb-coming-soon-modal__success-icon {
    color: var(--mb-golden);
    margin-bottom: 1rem;
    animation: bounceIn 0.6s ease;
}

.mb-coming-soon-modal__success-icon svg {
    width: 48px;
    height: 48px;
}

.mb-coming-soon-modal__success-message {
    color: var(--mb-cream);
    font-size: 1.125rem;
    font-weight: 500;
    margin: 0;
}

/* Social links */
.mb-coming-soon-modal__social {
    margin: 1.25rem 0;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.mb-coming-soon-modal__social-label {
    color: rgba(245, 243, 239, 0.6);
    font-size: 0.8125rem;
    margin: 0 0 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.mb-coming-soon-modal__social-links {
    display: flex;
    justify-content: center;
    gap: 1rem;
}

.mb-coming-soon-modal__social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 50%;
    color: var(--mb-cream);
    transition: all var(--mb-transition);
}

.mb-coming-soon-modal__social-link:hover {
    background: var(--mb-golden);
    color: var(--mb-jungle-dark);
    transform: translateY(-2px);
}

.mb-coming-soon-modal__privacy {
    color: rgba(245, 243, 239, 0.5);
    font-size: 0.75rem;
    margin: 0;
}

.mb-events__grid {
    margin-bottom: 15px;
}

/* Trigger button (fixed position) */
.mb-coming-soon-trigger {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.875rem 1.25rem;
    background: linear-gradient(135deg, var(--mb-golden) 0%, var(--mb-golden-dark) 100%);
    color: var(--mb-jungle-dark);
    border: none;
    border-radius: 50px;
    font-weight: 600;
    font-size: 0.875rem;
    cursor: pointer;
    box-shadow: var(--mb-shadow-golden), 0 4px 15px rgba(212, 160, 23, 0.3);
    transition: all var(--mb-transition);
    z-index: 50;
}

.mb-coming-soon-trigger:hover {
    transform: translateY(-2px);
    box-shadow: var(--mb-shadow-golden), 0 6px 20px rgba(212, 160, 23, 0.4);
}

.mb-coming-soon-trigger__text {
    display: none;
}

@media (min-width: 480px) {
    .mb-coming-soon-trigger__text {
        display: inline;
    }
}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes bounceIn {
    0% {
        opacity: 0;
        transform: scale(0.5);
    }
    50% {
        transform: scale(1.1);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

/* Coming Soon Hero Modifications */
.mb-hero--coming-soon .mb-hero__heading {
    font-size: 2.5rem;
}

@media (min-width: 768px) {
    .mb-hero--coming-soon .mb-hero__heading {
        font-size: 4rem;
    }
}

@media (min-width: 1024px) {
    .mb-hero--coming-soon .mb-hero__heading {
        font-size: 5rem;
    }
}

.mb-hero--coming-soon .mb-hero__cta-signup {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 400px;
    margin: 0 auto 2rem;
}

@media (min-width: 480px) {
    .mb-hero--coming-soon .mb-hero__cta-signup {
        flex-direction: row;
    }
}

.mb-hero--coming-soon .mb-hero__cta-signup input {
    flex: 1;
    padding: 0.875rem 1rem;
    border: 2px solid rgba(255, 255, 255, 0.2);
    border-radius: var(--mb-radius);
    background: rgba(255, 255, 255, 0.1);
    color: var(--mb-cream);
    font-size: 1rem;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.mb-hero--coming-soon .mb-hero__cta-signup input::placeholder {
    color: rgba(245, 243, 239, 0.6);
}

.mb-hero--coming-soon .mb-hero__cta-signup input:focus {
    outline: none;
    border-color: var(--mb-golden);
}

.mb-hero__coming-soon-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: rgba(212, 160, 23, 0.15);
    border: 1px solid rgba(212, 160, 23, 0.3);
    border-radius: 50px;
    color: var(--mb-golden);
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: 1rem;
}

.mb-hero__coming-soon-badge svg {
    animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}


/* Mobile: ensure hero content clears fixed header */
@media (max-width: 767px) {
	.home .mb-hero__content {
		padding-top: calc(var(--mb-header-offset, 80px) + var(--mb-adminbar-offset, 0px) + 1rem);
	}
}


/* Mobile: coming soon modal fits viewport cleanly */
@media (max-width: 480px) {
	.mb-coming-soon-modal {
		padding: 0.75rem;
	}
	.mb-coming-soon-modal__container {
		max-width: calc(100vw - 1.5rem);
		max-height: calc(100vh - 1.5rem);
	}
	.mb-coming-soon-modal__content {
		padding: 1.5rem 1.25rem;
	}
	.mb-coming-soon-modal__title {
		font-size: 2rem;
	}
}
@media (max-height: 700px) {
	.mb-coming-soon-modal__container {
		max-height: calc(100vh - 1.25rem);
	}
}


/* mb-mobile-fixes-v3 */

/* Fixed header: compute offset via JS (setHeaderOffsets) and apply it consistently.
   Home uses a hero that intentionally sits under the header, so only apply to non-home pages. */
   body:not(.home) .mb-main,
   body:not(.home) .mb-main--page,
   body:not(.home) .mb-main--single,
   body:not(.home) .mb-main--search,
   body:not(.home) .mb-main--404 {
     padding-top: clamp(
       72px,
       calc(var(--mb-header-offset, 76px) + var(--mb-adminbar-offset, 0px) + var(--mb-blogbar-offset, 0px) + 0.25rem),
       110px
     ) !important;
   }
/* Blog bar sits below the header, so include its height in the top offset rather than reducing padding. */
.mb-blogbar + .mb-main {
    padding-top: calc(var(--mb-header-offset, 88px) + var(--mb-adminbar-offset, 0px) + var(--mb-blogbar-offset, 0px) + 0.25rem) !important;
  }

/* When WP admin bar is present on small screens, it can overlay – nudge header down. */
#wpadminbar + #page #masthead {
  top: var(--mb-adminbar-offset, 0px);
}

/* ===== Find Us: mobile-friendly map interaction =====
   Avoid 3D transforms around iframes on touch devices (breaks pinch/drag). */
@media (hover: none) and (pointer: coarse) {
  .mb-findus__card { perspective: none !important; }
  .mb-findus__card-inner {
    transform-style: flat !important;
    transform: none !important;
    transition: opacity 260ms ease, visibility 260ms ease;
  }
  .mb-findus__side--back { transform: none !important; }

  .mb-findus__side--front { opacity: 1; visibility: visible; }
  .mb-findus__side--back  { opacity: 0; visibility: hidden; }

  .mb-findus__card.is-flipped .mb-findus__side--front { opacity: 0; visibility: hidden; }
  .mb-findus__card.is-flipped .mb-findus__side--back  { opacity: 1; visibility: visible; }
}

/* Ensure overlay buttons are always tappable above the iframe */
.mb-findus__back-btn,
.mb-findus__directions-btn {
  position: absolute;
  bottom: 1rem;
  z-index: 6;
  font-weight: 600;
  font-size: 0.875rem;
  border-radius: 999px;
  padding: 0.625rem 1rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: all 0.2s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.mb-findus__back-btn {
  left: 1rem;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(0, 0, 0, 0.1);
  color: var(--mb-primary, #12281c);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.mb-findus__back-btn:hover,
.mb-findus__back-btn:focus-visible {
  background: #fff;
  border-color: var(--mb-primary, #12281c);
  color: var(--mb-primary, #12281c);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
}

.mb-findus__directions-btn {
  right: 1rem;
  background: var(--mb-golden, #d49b19);
  border: 1px solid transparent;
  color: #0f2a1e;
  font-weight: 700;
}

.mb-findus__directions-btn:hover,
.mb-findus__directions-btn:focus-visible {
  background: #e5a91d;
  color: #0f2a1e;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(212, 155, 25, 0.35);
}

@media (max-width: 767px) {
  .mb-pricing-panels-container { padding: 1.25rem; }

  .mb-findus__back-btn,
  .mb-findus__directions-btn {
    padding: 0.5rem 0.875rem;
    font-size: 0.8125rem;
  }
}

@media (max-width: 360px) {
  .mb-findus__back-btn,
  .mb-findus__directions-btn {
    padding: 0.45rem 0.75rem;
    font-size: 0.75rem;
  }
}

/* ============================
   Coworking Perks (Page Template)
   ============================ */
.mb-perks {
  margin-top: 3rem;
}

.mb-perks__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
  margin-bottom: 3rem;
}

.mb-perks__grid .mb-feature-card[hidden] {
  display: none !important;
}

.mb-perks--expanded .mb-feature-card[hidden] {
  display: block !important;
}

.mb-perks__show-more-wrap {
  text-align: center;
  margin-top: 1.5rem;
}

@media (max-width: 1024px) {
  .mb-perks__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .mb-perks__grid { grid-template-columns: 1fr; }
}


/* ============================
   Coworking Details (Page Template)
   ============================ */
.mb-coworking-details {
  margin: 2rem 0 2.5rem;
}

.mb-coworking-details__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.mb-detail-card {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0,0,0,0.25);
}

.mb-detail-card__image img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}

.mb-detail-card__body {
  padding: 1.1rem 1.2rem 1.25rem;
}

.mb-detail-card__title {
  font-family: var(--mb-font-heading);
  font-size: 1.25rem;
  letter-spacing: 0.02em;
  margin: 0 0 0.5rem;
  color: #fff;
}

.mb-detail-card__content {
  color: rgba(255, 255, 255, 0.88);
  margin-bottom: 0.9rem;
}

.mb-detail-card__content p {
  margin: 0 0 0.65rem;
}

.mb-detail-card__content p:last-child {
  margin-bottom: 0;
}

@media (max-width: 900px) {
  .mb-coworking-details__grid { grid-template-columns: 1fr; }
  .mb-detail-card__image img { height: 200px; }
}
/* ============================
   Cafe Promoted Items (Page Template)
   ============================ */
.mb-promoted__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.mb-promoted-card {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 16px;
  overflow: hidden;
}

.mb-promoted-card__image img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
}

.mb-promoted-card__body {
  padding: 1rem 1.1rem;
  background: #184326;
}

.mb-promoted-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.4rem;
}

.mb-promoted-card__name {
  font-family: var(--mb-font-heading);
  font-size: 1.15rem;
  letter-spacing: 0.02em;
  margin: 0;
  color: #fff;
}

.mb-promoted-card__price {
  font-weight: 700;
  color: #FFEB3B;
  white-space: nowrap;
}

.mb-promoted-card__tag {
  display: inline-block;
  margin-top: 0.55rem;
  padding: 0.25rem 0.5rem;
  border-radius: 999px;
  background: rgba(212, 155, 25, 0.18);
  border: 1px solid rgba(212, 155, 25, 0.35);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 600;
}

.mb-promoted-card__desc {
  margin: 0.25rem 0 0;
  color: rgba(255, 255, 255, 0.85);
}

@media (max-width: 1024px) {
  .mb-promoted__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .mb-promoted__grid { grid-template-columns: 1fr; }
  .mb-promoted-card__image img { height: 160px; }
}

/* ============================
   Cafe Promoted Items Carousel (3D)
   ============================ */
.mb-promoted-carousel {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.9rem;
}

.mb-promoted-carousel__viewport {
  position: relative;
  width: 100%;
  overflow: hidden;
  perspective: 1200px;
  -webkit-overflow-scrolling: touch;
}

.mb-promoted-carousel__track {
  position: relative;
  height: 430px;
  transform-style: preserve-3d;
}

.mb-promoted-card--carousel {
  position: absolute;
  left: 50%;
  top: 0;
  width: clamp(240px, 70vw, 340px);
  max-width: 100%;
  transform-origin: center center;
  transition: transform 260ms ease, opacity 260ms ease;
  box-shadow: 0 18px 40px rgba(0,0,0,0.35);
  will-change: transform;
}

.mb-promoted-card--carousel:focus {
  outline: 2px solid rgba(212, 155, 25, 0.55);
  outline-offset: 4px;
}

.mb-promoted-carousel--dragging .mb-promoted-card--carousel {
  transition: none;
}

.mb-carousel-nav {
    width: 40px;
    height: 40px;
    border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(0, 0, 0, 0.25);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.mb-carousel-nav:hover {
  background: rgba(0, 0, 0, 0.35);
}

.mb-carousel-nav:disabled {
  opacity: 0.35;
  cursor: default;
}

.mb-carousel-nav span {
  font-size: 2.1rem;
  line-height: 1;
  margin-top: -2px;
}

@media (max-width: 900px) {
  .mb-promoted-carousel__track { height: 400px; }
}

@media (max-width: 560px) {
    .mb-promoted-carousel { gap: 0.5rem; }
    .mb-promoted-carousel__track { height: 380px; }
    .mb-carousel-nav { width: 34px; height: 34px; }
    .mb-carousel-nav span { font-size: 1.7rem; margin-top: -1px; }
    .mb-promoted-card__image img { height: 170px; }
  }

/* ============================
   Events Page (Template)
   ============================ */
.mb-events-page__section {
  margin-top: 2.5rem;
}

.mb-events-page__load-more-wrap {
  text-align: center;
  margin-top: 1.75rem;
}


/* ============================
   Cafe / Coworking / Community extras
   ============================ */
.mb-hours__card,
.mb-software__card {
  max-width: 780px;
  margin: 0 auto;
  padding: 1.25rem 1.25rem;
  background: rgba(255,255,255,0.92);
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.10);
}

.mb-hours__disclaimer {
  margin-top: 0.75rem;
  font-size: 0.95rem;
  opacity: 0.9;
}

.mb-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.1rem;
}

@media (max-width: 980px) {
  .mb-cards-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .mb-cards-grid { grid-template-columns: 1fr; }
}

.mb-card {
  background: rgba(255,255,255,0.92);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(0,0,0,0.10);
  margin-top: 15px;
}
.mb-card__image img { width: 100%; height: 210px; object-fit: cover; display: block; }
.mb-card__body { padding: 1rem 1rem 1.1rem; }
.mb-card__title { margin: 0 0 0.3rem; font-size: 1.15rem; }
.mb-card__meta { margin: 0 0 0.6rem; font-size: 0.95rem; opacity: 0.8; }
.mb-card__desc { margin: 0; opacity: 0.9; }

.mb-testimonials__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.1rem;
}

@media (max-width: 980px) {
  .mb-testimonials__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .mb-testimonials__grid { grid-template-columns: 1fr; }
}

.mb-testimonial-card {
  background: rgba(255,255,255,0.92);
  border-radius: 18px;
  padding: 1.15rem 1.1rem;
  box-shadow: 0 12px 30px rgba(0,0,0,0.10);
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}
.mb-testimonial-card__mark { font-size: 2.2rem; line-height: 1; opacity: 0.5; }
.mb-testimonial-card__quote p { margin: 0.2rem 0 0; }
.mb-testimonial-card__author { display: flex; align-items: center; gap: 0.75rem; }
.mb-testimonial-card__avatar { width: 44px; height: 44px; border-radius: 999px; object-fit: cover; }
.mb-testimonial-card__name { font-weight: 700; }
.mb-testimonial-card__role { font-size: 0.95rem; opacity: 0.8; }

section.mb-section.mb-business-directory {
    padding-bottom: 15px;
}

.mb-business-directory__search {
  max-width: 560px;
  margin: 1rem auto 1.25rem;
  text-align-last: center;
}
.mb-business-directory__az {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  justify-content: center;
  margin: 0 0 1.25rem;
}
.mb-business-directory__az-link {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  border-radius: 12px;
  background: rgba(0,0,0,0.06);
  text-decoration: none;
}
.mb-letter-group { margin-top: 1.75rem; }
.mb-letter-group__title { font-size: 1.5rem; margin-bottom: 0.75rem; }
.mb-letter-group__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.1rem;
}
@media (max-width: 980px) {
  .mb-letter-group__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .mb-letter-group__grid { grid-template-columns: 1fr; }
}

.mb-business-card {
  background: rgba(255,255,255,0.92);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(0,0,0,0.10);
}
.mb-business-card__image img { width: 100%; height: 180px; object-fit: cover; display: block; }
.mb-business-card__body { padding: 1rem 1rem 1.1rem; }
.mb-business-card__top { display: flex; gap: 0.6rem; align-items: flex-start; justify-content: space-between; }
.mb-business-card__title { margin: 0; font-size: 1.1rem; }
.mb-business-card__desc { margin: 0.5rem 0 0.65rem; opacity: 0.9; }
.mb-business-card__link { margin: 0; }
.mb-business-card__link a { word-break: break-word; }

.mb-tag {
  display: inline-block;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  font-size: 0.8rem;
  line-height: 1.2;
  background: rgba(34, 197, 94, 0.15);
}

.mb-app__grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 1.5rem;
  align-items: center;
}
@media (max-width: 980px) {
  .mb-app__grid { grid-template-columns: 1fr; }
}
.mb-app__image img { width: 100%; max-width: 420px; height: auto; display: block; margin: 0 auto; border-radius: 18px; }
.mb-list { margin: 0; padding-left: 1.1rem; }

/* Business directory filters + meta */
.mb-business-directory__filters{
  display:flex;
  flex-wrap:wrap;
  gap:0.75rem 1rem;
  align-items:flex-end;
  justify-content:center;
  margin: 1rem auto 1.25rem;
  max-width: 920px;
}
.mb-filter{display:flex;flex-direction:column;gap:0.35rem;min-width:180px;flex:1;max-width:420px;}
.mb-filter__label{font-size:0.85rem;opacity:.85;}
.mb-select{width:100%;padding:0.65rem 0.75rem;border:1px solid rgba(255,255,255,0.18);border-radius:12px;background:rgba(0,0,0,0.15);color:inherit;}
.mb-filter--check{flex-direction:row;align-items:center;gap:0.5rem;min-width:auto;padding-bottom:0.35rem;}

@media (max-width: 640px){
  .mb-business-directory__filters{gap:0.65rem 0.75rem;}
  .mb-filter{min-width: 140px; max-width: none;}
}

.mb-business-card__meta{margin:0.5rem 0 0;display:flex;flex-wrap:wrap;gap:0.4rem 0.6rem;font-size:0.85rem;opacity:.9;}
.mb-business-card__meta-item{padding:0.15rem 0.5rem;border-radius:999px;background:rgba(255,255,255,0.08);}

/* Business directory (remote-loaded, scalable for large lists) */
.mb-biz-accordion{margin-top:1rem;display:flex;flex-direction:column;gap:0.85rem;}
.mb-biz-letter{border:1px solid rgba(255,255,255,0.14);border-radius:18px;background:#153622;color:#ffffff;overflow:hidden;box-shadow:0 14px 44px rgba(0,0,0,0.18);}
.mb-biz-summary{display:flex;align-items:center;gap:0.85rem;cursor:pointer;list-style:none;padding:0.9rem 1rem;}
.mb-biz-summary::-webkit-details-marker{display:none;}
.mb-biz-summary__letter{width:38px;height:38px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:800;background:#c36a17;}
.mb-biz-summary__meta{display:flex;flex-direction:column;gap:0.15rem;}
.mb-biz-summary__title{font-weight:700;letter-spacing:-0.01em;}
.mb-biz-summary__count{font-size:0.9rem;opacity:0.8;}
.mb-biz-panel{padding:0.25rem 1rem 1rem;}
.mb-biz-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:0.85rem;}
@media (max-width: 980px){.mb-biz-grid{grid-template-columns:repeat(2, minmax(0, 1fr));}}
@media (max-width: 640px){.mb-biz-grid{grid-template-columns:1fr;}}

.mb-biz-card{display:flex;gap:0.75rem;align-items:flex-start;padding:0.85rem;border-radius:16px;border:1px solid rgba(255,255,255,0.14);background:rgba(255,255,255,0.06);text-decoration:none;color:inherit;transition:transform .15s ease, background .15s ease,border-color .15s ease;}
.mb-biz-card:hover{transform:translateY(-2px);background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.22);}
.mb-biz-pill{width:52px;height:52px;border-radius:16px;flex:0 0 52px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.22);border:1px solid rgba(255,255,255,0.12);}
.mb-biz-pill img{width:100%;height:100%;object-fit:cover;display:block;}
.mb-biz-pill--text{font-weight:800;letter-spacing:-0.02em;font-size:1.05rem;background: #d4a016;color: #222222;}
.mb-biz-body{min-width:0;display:flex;flex-direction:column;gap:0.35rem;}
.mb-biz-title-row{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;}
.mb-biz-title{margin:0;font-size:1.05rem;letter-spacing:-0.02em;}
.mb-biz-meta{margin:0;display:flex;flex-wrap:wrap;gap:0.35rem 0.5rem;font-size:0.85rem;opacity:.9;}
.mb-biz-tag{display:inline-block;padding:0.15rem 0.5rem;border-radius:999px;background:rgba(255,255,255,0.10);}
.mb-biz-tag--perk{background:rgba(34, 197, 94, 0.18);}
.mb-biz-desc{margin:0;opacity:0.85;line-height:1.45;}

.mb-biz-more{display:flex;justify-content:center;margin-top:0.85rem;}
.mb-biz-more .mb-button{min-width:180px;}

/* Business details modal (Community directory) */
body.mb-modal-open{overflow:hidden;}
.mb-biz-modal{position:fixed;inset:0;z-index:99999;display:none;}
.mb-biz-modal.is-open{display:block;}
.mb-biz-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.58);}
.mb-biz-modal__panel{position:relative;max-width:920px;margin:6vh auto;max-height:88vh;overflow:auto;background:rgba(17,39,30,0.98);color:#fff;border:1px solid rgba(255,255,255,0.12);border-radius:22px;box-shadow:0 40px 140px rgba(0,0,0,0.55);padding:20px 20px 26px;}
.mb-biz-modal__close{position:sticky;top:0;float:right;width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,0.18);background:rgba(0,0,0,0.45);color:#fff;font-size:28px;line-height:40px;cursor:pointer;}
.mb-biz-modal__head{display:flex;gap:14px;align-items:flex-start;margin-top:6px;}
.mb-biz-modal__logo{width:68px;height:68px;border-radius:18px;object-fit:cover;flex:0 0 68px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.10);}
.mb-biz-modal__head-text{min-width:0;display:flex;flex-direction:column;gap:6px;}
.mb-biz-modal__title-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.mb-biz-modal__title{margin:0;font-size:1.55rem;letter-spacing:-0.02em;}
.mb-biz-modal__meta{display:flex;flex-wrap:wrap;gap:8px;font-size:0.95rem;opacity:.9;}
.mb-biz-modal__meta span{display:inline-block;padding:0.2rem 0.55rem;border-radius:999px;background:rgba(255,255,255,0.10);}
.mb-biz-modal__desc{margin:14px 0 0;line-height:1.55;opacity:.95;}
.mb-biz-modal__details{display:grid;grid-template-columns:1fr;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,0.10);}
.mb-biz-modal__details strong{display:block;font-size:0.9rem;opacity:.85;margin-bottom:2px;}
.mb-biz-modal__details a{color:inherit;text-decoration:underline;}
@media (min-width: 720px){.mb-biz-modal__details{grid-template-columns:1fr 1fr;}}

/* --------------------------------------------------------------------------
   Coworking template-only overrides (do NOT affect the home page)
   -------------------------------------------------------------------------- */

@media (min-width: 1024px) {
  .page-template-template-coworking .mb-pricing-grid--flexible {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* Desk types & zones: seating plan + 3D carousel (Coworking template only) */
.page-template-template-coworking .mb-seating-plan{max-width:980px;margin:0 auto 1.25rem;}
.page-template-template-coworking .mb-seating-plan__trigger{position:relative;display:block;width:100%;border:1px solid rgba(255,255,255,0.16);border-radius:18px;overflow:hidden;background:rgba(0,0,0,0.15);box-shadow:0 18px 55px rgba(0,0,0,0.25);cursor:pointer;padding:0;}
.page-template-template-coworking .mb-seating-plan__trigger img{display:block;width:100%;height:auto;}
.page-template-template-coworking .mb-seating-plan__hint{position:absolute;right:14px;bottom:14px;font-size:0.85rem;padding:0.35rem 0.55rem;border-radius:999px;background:rgba(0,0,0,0.55);backdrop-filter:blur(6px);}

.page-template-template-coworking .mb-seating-lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:1.25rem;background:rgba(0,0,0,0.78);z-index:99999;}
.page-template-template-coworking .mb-seating-lightbox--active{display:flex;}
.page-template-template-coworking .mb-seating-lightbox__dialog{position:relative;max-width:min(1100px, 96vw);max-height:90vh;}
.page-template-template-coworking .mb-seating-lightbox__img{display:block;max-width:100%;max-height:90vh;border-radius:18px;border:1px solid rgba(255,255,255,0.16);box-shadow:0 35px 120px rgba(0,0,0,0.45);background:#111;}
.page-template-template-coworking .mb-seating-lightbox__close{position:absolute;top:-10px;right:-10px;width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,0.22);background:rgba(0,0,0,0.65);color:#fff;font-size:28px;line-height:40px;cursor:pointer;}

.page-template-template-coworking .mb-zones-carousel{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;margin-top:1.5rem;}
.page-template-template-coworking .mb-zones-carousel__viewport{
    position:relative;
    overflow:hidden;
    perspective:1200px;
    outline:none;
    padding: 0 60px; /* keep content clear of nav buttons */
    box-sizing: border-box;
}
.page-template-template-coworking .mb-zones-carousel__track{
    position:relative;
    height: 520px; /* prevent clipping on medium screens too */
    transform-style:preserve-3d;
  }
.page-template-template-coworking .mb-zone-card--carousel{position:absolute;left:50%;top:0;width:min(420px, 86vw);transform-origin:center center;transition:transform .35s ease, opacity .35s ease;will-change:transform;}
.page-template-template-coworking .mb-zone-card{border-radius:18px;border:1px solid rgba(255,255,255,0.16);background:rgba(0,0,0,0.18);box-shadow:0 22px 70px rgba(0,0,0,0.28);overflow:hidden;}
.page-template-template-coworking .mb-zone-card__image img{display:block;width:100%;height:210px;object-fit:cover;}
.page-template-template-coworking .mb-zone-card__body{padding:1.05rem 1.1rem;background:#153622;color:#ffffff;}
.page-template-template-coworking .mb-zone-card__title{margin:0;font-size:1.2rem;letter-spacing:-0.02em;}
.page-template-template-coworking .mb-zone-card__desc{margin:0.55rem 0 0;opacity:0.9;line-height:1.5;}
.page-template-template-coworking .mb-zones-carousel--dragging .mb-zone-card--carousel{transition:none;}

@media (max-width: 640px){
    /* Mobile: ditch 3D carousel behaviour and render a normal grid */
    .page-template-template-coworking .mb-zones-carousel{
      display: block; /* stop 3-column (prev/viewport/next) layout */
    }
  
    /* Hide the carousel nav buttons on mobile */
    .page-template-template-coworking .mb-zones-carousel .mb-carousel-nav{
      display: none !important;
    }
  
    /* Remove 3D constraints */
    .page-template-template-coworking .mb-zones-carousel__viewport{
      overflow: visible;
      perspective: none;
      padding: 0;
    }
  
    /* Track becomes a grid container */
    .page-template-template-coworking .mb-zones-carousel__track{
      height: auto;
      transform-style: flat;
      display: grid;
      grid-template-columns: 1fr;
      gap: 1rem;
    }

    section#coworking-pricing {
        margin-top: 5vh;
    }
  
    /* Cards become normal flow items (no absolute positioning, no transforms) */
    .page-template-template-coworking .mb-zone-card--carousel{
      position: relative !important;
      left: auto !important;
      top: auto !important;
      width: 100% !important;
      max-width: 100% !important;
      transform: none !important;
      opacity: 1 !important;
      box-shadow: 0 12px 30px rgba(0,0,0,0.18);
    }
  
    .page-template-template-coworking .mb-zone-card__image img{
      height: 190px; /* nicer on mobile */
    }
  
    .page-template-template-coworking .mb-zone-card__body{
      overflow: visible;
    }
  }

/* App showcase (Coworking template only) */
.page-template-template-coworking .mb-app--showcase{padding-top:3.25rem;padding-bottom:3.25rem;}
.page-template-template-coworking .mb-app-showcase{display:grid;gap:1.5rem;grid-template-columns:1fr;align-items:center;padding:1.25rem;border-radius:22px;border:1px solid rgba(255,255,255,0.16);background:linear-gradient(135deg, rgba(0,0,0,0.18), rgba(0,0,0,0.06));box-shadow:0 28px 90px rgba(0,0,0,0.28);}
.page-template-template-coworking .mb-app-showcase__copy .mb-section-label{margin-bottom:0.5rem;}
.page-template-template-coworking .mb-app-showcase__copy .mb-section-title{margin:0 0 0.55rem;}
.page-template-template-coworking .mb-app-showcase__features{margin-top:1rem;display:grid;gap:0.55rem;}
.page-template-template-coworking .mb-app-feature{display:flex;gap:0.6rem;align-items:flex-start;padding:0.65rem 0.75rem;border-radius:14px;border:1px solid rgba(255,255,255,0.12);background:rgba(0,0,0,0.12);}
.page-template-template-coworking .mb-app-feature__icon{width:26px;height:26px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.14);font-weight:700;}
.page-template-template-coworking .mb-app-showcase__actions{margin-top:1.1rem;}
.page-template-template-coworking .mb-app-showcase__visual{position:relative;min-height:280px;display:flex;justify-content:center;}
.page-template-template-coworking .mb-app-device{position:relative;width:min(360px, 82vw);}
.page-template-template-coworking .mb-app-device img,.page-template-template-coworking .mb-app-device__placeholder{display:block;width:100%;height:auto;border-radius:28px;border:1px solid rgba(255,255,255,0.18);box-shadow:0 35px 120px rgba(0,0,0,0.38);background:#111;}
.page-template-template-coworking .mb-app-device__frame{position:absolute;inset:-10px;border-radius:34px;border:1px solid rgba(255,255,255,0.10);background:linear-gradient(135deg, rgba(255,255,255,0.06), rgba(255,255,255,0.01));pointer-events:none;}
.page-template-template-coworking .mb-app-floating-cards{position:absolute;inset:0;pointer-events:none;}
.page-template-template-coworking .mb-app-float-card{position:absolute;padding:0.55rem 0.7rem;border-radius:14px;border:1px solid rgba(255,255,255,0.14);background:rgba(0,0,0,0.35);backdrop-filter:blur(8px);font-size:0.9rem;box-shadow:0 18px 60px rgba(0,0,0,0.35);}
.page-template-template-coworking .mb-app-float-card:nth-child(1){top:8%;left:-2%;}
.page-template-template-coworking .mb-app-float-card:nth-child(2){top:44%;right:-4%;}
.page-template-template-coworking .mb-app-float-card:nth-child(3){bottom:10%;left:8%;}

@media (min-width: 1024px){
  .page-template-template-coworking .mb-app-showcase{grid-template-columns: 1.05fr 0.95fr;gap:2.25rem;padding:2rem;}
  .page-template-template-coworking .mb-app-showcase__visual{justify-content:flex-end;}
}

/* Software perks: horizontal scroll + expandable grid (Coworking template only) */
.page-template-template-coworking .mb-software__scroller{overflow:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:0.5rem;}
.page-template-template-coworking .mb-software__row{display:flex;gap:0.85rem;min-width:max-content;padding:0.25rem 0.25rem 0.65rem;}
.page-template-template-coworking .mb-software-card{scroll-snap-align:start;flex:0 0 min(320px, 82vw);border-radius:18px;border:1px solid rgba(255,255,255,0.16);background:rgba(0,0,0,0.14);box-shadow:0 18px 60px rgba(0,0,0,0.22);padding:1rem 1rem 1.05rem;}
.page-template-template-coworking .mb-software-card__pill{display:inline-flex;align-items:center;gap:0.35rem;padding:0.2rem 0.6rem;border-radius:999px;background:rgba(255,255,255,0.12);font-size:0.8rem;opacity:0.95;}
.page-template-template-coworking .mb-software-card__text{margin-top:0.7rem;font-size:1.02rem;line-height:1.45;letter-spacing:-0.01em;}
.page-template-template-coworking .mb-software__grid{display:none;margin-top:1.25rem;gap:0.85rem;grid-template-columns:repeat(1, minmax(0, 1fr));}
.page-template-template-coworking .mb-software--expanded .mb-software__grid{display:grid;}
.page-template-template-coworking .mb-software-grid-card{border-radius:16px;border:1px solid rgba(255,255,255,0.14);background:rgba(0,0,0,0.10);padding:0.9rem 0.95rem;}
.page-template-template-coworking .mb-software-grid-card__text{opacity:0.95;}

@media (min-width: 640px){
  .page-template-template-coworking .mb-software__grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
}
@media (min-width: 1024px){
  .page-template-template-coworking .mb-software__grid{grid-template-columns:repeat(3, minmax(0, 1fr));}
}

input.mb-input {
    padding-right: 15vh;
    padding-top: 1vh;
    padding-bottom: 1vh;
    border-radius: 10px;
}