/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* ==========================================================================
   GLOBAL FLOATING FOOTER COMPONENT
   ========================================================================== */

/* Prevent main page content from being obscured behind the fixed footer on desktop */
@media (min-width: 992px) {
    main[b-628yz2qmqz] {
        padding-bottom: 5rem;
    }
}

#floating-global-footer[b-628yz2qmqz] {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: var(--brand-footer-background);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid var(--brand-footer-border);
    z-index: 1010;
    padding: 1.2rem 2rem;
    color: var(--brand-footer-text);
    /* Animation base states */
    opacity: 0;
    transform: translateY(15px);
    visibility: hidden;
    transition: opacity 0.45s cubic-bezier(0.25, 1, 0.5, 1), transform 0.45s cubic-bezier(0.25, 1, 0.5, 1), visibility 0.45s;
}

    /* Fired cleanly by IntersectionObserver */
    #floating-global-footer.is-visible[b-628yz2qmqz] {
        opacity: 1;
        transform: translateY(0);
        visibility: visible;
    }

    #floating-global-footer a[b-628yz2qmqz] {
        color: var(--brand-footer-text-hover);
        text-decoration: none;
        transition: color 0.2s ease-in-out, opacity 0.2s ease-in-out;
    }

        #floating-global-footer a:hover[b-628yz2qmqz] {
            opacity: 0.7;
        }

    #floating-global-footer .separator[b-628yz2qmqz] {
        color: var(--brand-footer-separator);
        opacity: 0.25;
        margin: 0 0.5rem;
    }

    #floating-global-footer .copyright-text[b-628yz2qmqz] {
        color: var(--brand-footer-text-hover);
    }

/* Base Desktop Layout (Single Line) */
.footer-content[b-628yz2qmqz] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 2px;
}

.footer-segment[b-628yz2qmqz] {
    display: flex;
    gap: 0.25rem;
    align-items: center;
    white-space: nowrap;
}

/* Mid-range Desktop / Laptop Viewport Adjustments (992px to 1199px) */
@media (min-width: 992px) and (max-width: 1199px) {
    #floating-global-footer[b-628yz2qmqz] {
        padding: 1rem 1rem !important;
    }

    .footer-content[b-628yz2qmqz] {
        font-size: 0.65rem !important;
        letter-spacing: 1px !important;
    }

    #floating-global-footer .separator[b-628yz2qmqz] {
        margin: 0 0.25rem !important;
    }
}

/* Tablet Layout: 601px to 991px (Clean 2-Line Structured Wrap) */
@media (max-width: 991px) and (min-width: 601px) {
    #floating-global-footer[b-628yz2qmqz] {
        position: static !important;
        opacity: 1 !important;
        transform: none !important;
        visibility: visible !important;
        padding: 0.85rem 0.5rem !important;
    }

    .footer-content[b-628yz2qmqz] {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important; /* Forces strict vertical baseline centering across all items */
        gap: 0.5rem 1rem !important;
        font-size: 0.65rem !important;
        letter-spacing: 0.5px !important;
    }

    .footer-segment[b-628yz2qmqz] {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        white-space: nowrap !important;
    }

    /* Force clean break after copyright + email so phone starts Line 2 */
    .contact-meta[b-628yz2qmqz] {
        display: contents !important; /* Flattens email and phone so flexbox aligns them on the main axis */
    }

        /* Force line break after Email */
        .contact-meta > span:first-child[b-628yz2qmqz]::after {
            content: "";
            width: 100%;
            order: 1;
        }

    #floating-global-footer .separator[b-628yz2qmqz] {
        margin: 0 0.2rem !important;
    }
}

/* Mobile Stack Layout: 600px and below (Clean 3-Line Vertical Stack) */
@media (max-width: 600px) {
    #floating-global-footer[b-628yz2qmqz] {
        position: static !important;
        opacity: 1 !important;
        transform: none !important;
        visibility: visible !important;
        padding: 1rem 0.5rem !important;
    }

    .footer-content[b-628yz2qmqz] {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.6rem !important;
        text-align: center !important;
        letter-spacing: 0.5px !important;
        font-size: 0.63rem !important;
    }

    .footer-segment[b-628yz2qmqz] {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
    }

        /* Hide leading slash on the first item of each line for exact dead-centering */
        .footer-segment > span:first-child .separator[b-628yz2qmqz] {
            display: none !important;
        }

    #floating-global-footer .separator[b-628yz2qmqz] {
        margin: 0 0.15rem !important;
    }

    /* Ensures the 4 links in Line 3 never wrap onto a 4th line regardless of system font scaling */
    .footer-links[b-628yz2qmqz] {
        flex-wrap: nowrap !important;
        white-space: nowrap !important;
    }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* ==========================================================================
   MAIN BRAND NAVIGATION MENU COMPONENT STYLES
   ========================================================================== */

/* High-Contrast Site Notice Banner (Shopify WebBanner Carousel Integration) */
.site-notice-banner[b-i0qd9ppi02] {
    width: 100%;
    background-color: var(--brand-header-background);
    color: var(--white);
    padding: 0.35rem 1.5rem;
    font-size: 0.85rem;
    letter-spacing: 0.5px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    overflow: hidden;
    min-height: 1.75rem;
    height: auto;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 1040; /* Elevated above background elements */
    text-transform: none !important; /* Overrides text-uppercase from <nav> */
}

.banner-carousel-window[b-i0qd9ppi02] {
    width: 100%;
    min-height: 1.75rem;
    height: auto;
    overflow: hidden;
    position: relative;
    /* Establishes container context for height calculation */
    container-type: size;
}

.banner-carousel-track[b-i0qd9ppi02] {
    display: flex;
    flex-direction: column; /* Restores vertical stacking */
    width: 100%;
    height: 100%;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.banner-slide[b-i0qd9ppi02] {
    width: 100%;
    /* Forces slide height to match the window container exactly */
    height: 100cqh;
    min-height: 1.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 0.15rem 0;
}

/* Banner Transition Mechanics */
.banner-container[b-i0qd9ppi02] {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
    opacity: 1;
    transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1); /* Smooth 800ms easing */
}

    .banner-container.fade-out[b-i0qd9ppi02] {
        opacity: 0;
    }

    .banner-container.fade-in[b-i0qd9ppi02] {
        opacity: 1;
    }

/* Parent Flex container aligning Title, Divider, and Excerpt centrally */
.banner-content-group[b-i0qd9ppi02] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    white-space: normal; /* Permits word wrapping */
    flex-wrap: wrap; /* Allows title and excerpt to flow smoothly on tiny screens */
}

.banner-title[b-i0qd9ppi02] {
    display: inline-flex;
    align-items: center;
    font-weight: 700;
    text-transform: none; /* Change to 'uppercase' if you want titles uppercase but excerpt normal */
    letter-spacing: 1px;
    font-size: 0.85rem;
    line-height: 1.3;
    margin: 0;
    padding: 0;
    flex-shrink: 0;
}

.banner-divider[b-i0qd9ppi02] {
    display: inline-block;
    width: 1px;
    height: 12px;
    background-color: rgba(255, 255, 255, 0.4);
    flex-shrink: 0;
}

/* Excerpt Text Container */
.banner-text[b-i0qd9ppi02] {
    display: inline;
    line-height: 1.3;
    text-align: center;
    text-transform: none; /* Preserves exact RTE formatting from Shopify */
}

    /* Cleaned inline tags inside MarkupString */
    .banner-text strong[b-i0qd9ppi02],
    .banner-text span[b-i0qd9ppi02],
    .banner-text u[b-i0qd9ppi02] {
        line-height: 1.3;
    }

/* Hyperlink styling for banners with custom target URLs */
.banner-link[b-i0qd9ppi02] {
    text-decoration: none;
    color: inherit;
    transition: opacity 0.2s ease;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    position: relative;
    z-index: 1041; /* Elevated above container */
}

    .banner-link:hover[b-i0qd9ppi02] {
        opacity: 0.75;
    }

    .banner-link *[b-i0qd9ppi02] {
        pointer-events: none;
    }

/* Mobile Adjustments */
@media (max-width: 768px) {
    .site-notice-banner[b-i0qd9ppi02] {
        padding: 0.4rem 0.75rem;
    }

    .banner-content-group[b-i0qd9ppi02] {
        gap: 0.35rem;
    }

    .banner-divider[b-i0qd9ppi02] {
        display: none; /* Hides static vertical line when content wraps */
    }
}

/* Base Navbar Styling */
.brand-navbar[b-i0qd9ppi02] {
    position: relative !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1030;
    background-color: var(--brand-header-background) !important;
    border-color: var(--brand-header-background) !important;
}

.brand-header-container[b-i0qd9ppi02] {
    position: relative;
    max-width: 100% !important;
    margin-left: 0 !important;
    background-color: var(--brand-header-background) !important;
    color: var(--white) !important;
}

.nav-toggle-wrapper[b-i0qd9ppi02],
.nav-actions-wrapper[b-i0qd9ppi02] {
    z-index: 1040;
}

.lang-separator[b-i0qd9ppi02] {
    color: var(--white);
    opacity: 0.4;
}

/* Luxury Hamburger Button Mechanics */
.menu-hamburger-btn[b-i0qd9ppi02] {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 22px;
    height: 15px;
    background: transparent;
    border: none;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    transform: translateY(1px); /* Nudges icon down slightly to match font baseline */
}

.hamburger-bar[b-i0qd9ppi02] {
    width: 100%;
    height: 2px;
    background-color: var(--white);
    transition: transform 0.2s ease, opacity 0.2s ease;
}

/* Hamburger Icon Active/Open State Transformation */
.menu-hamburger-btn.open .hamburger-bar:nth-child(1)[b-i0qd9ppi02] {
    transform: translateY(6.5px) rotate(45deg);
}

.menu-hamburger-btn.open .hamburger-bar:nth-child(2)[b-i0qd9ppi02] {
    opacity: 0;
}

.menu-hamburger-btn.open .hamburger-bar:nth-child(3)[b-i0qd9ppi02] {
    transform: translateY(-6.5px) rotate(-45deg);
}

.brand-top-bar[b-i0qd9ppi02] {
    align-items: flex-end !important;
    padding-bottom: 0.25rem;
}

.brand-actions-top[b-i0qd9ppi02] {
    align-items: flex-end;
    padding-bottom: 0;
}

/* Brand Logo Layout */
.brand-logo-container[b-i0qd9ppi02] {
    position: relative !important;
    left: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1030;
}

    .brand-logo-container a[b-i0qd9ppi02] {
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
        cursor: pointer;
    }

.brand-logo-text[b-i0qd9ppi02] {
    font-family: var(--font-heading);
    font-size: var(--font-size-xl);
    font-weight: 700;
    color: var(--white);
    letter-spacing: 0.02em;
    white-space: nowrap;
    text-transform: none;
}

/* Central Navigation Links Mechanics */
.central-nav-container[b-i0qd9ppi02] {
    z-index: 1030;
    white-space: nowrap;
}

/* Large Desktop (>= 992px): Ultra-thin single row, menu centered horizontally at bottom */
@media (min-width: 992px) {
    .brand-top-bar[b-i0qd9ppi02] {
        flex-wrap: nowrap;
    }

    .central-nav-container[b-i0qd9ppi02] {
        position: absolute;
        left: 50%;
        bottom: 0.25rem; /* Pin bottom to match brand-top-bar padding-bottom */
        top: auto;
        transform: translateX(-50%);
        align-items: baseline;
    }
}

/* Narrower Screens (< 992px): Expands banner depth naturally into Row 2 */
@media (max-width: 991.98px) {
    .brand-top-bar[b-i0qd9ppi02] {
        flex-wrap: wrap;
    }

    .central-nav-container[b-i0qd9ppi02] {
        position: static;
        transform: none;
        width: 100%;
        order: 3; /* Places it beneath Logo and FR/EN Actions */
        margin-top: 0.5rem;
        padding-top: 0.5rem;
        border-top: 1px dashed var(--brand-divider-light);
    }

    .brand-actions-top[b-i0qd9ppi02] {
        order: 2; /* Keeps FR/EN & Hamburger pinned top-right */
    }
}

/* Compact scaling on small mobile devices */
@media (max-width: 576px) {
    .central-nav-container[b-i0qd9ppi02] {
        gap: 0.85rem !important;
    }

        .central-nav-container button[b-i0qd9ppi02] {
            font-size: 0.75rem !important;
        }
}

.central-nav-container button[b-i0qd9ppi02] {
    font-family: inherit;
    font-size: 0.85rem;
    font-weight: 500;
    letter-spacing: 1.5px;
    margin-right: -1.5px; /* Offsets letter-spacing so text centers perfectly */
    color: var(--white);
    position: relative;
    padding-bottom: 4px;
}

    .central-nav-container button.active-tab[b-i0qd9ppi02] {
        font-weight: 700;
    }

        .central-nav-container button.active-tab[b-i0qd9ppi02]::after {
            content: '';
            position: absolute;
            bottom: -2px;
            left: 0;
            width: 100%;
            height: 1px;
            background-color: var(--white);
        }

/* Full-Width Glide-Down Mega Panel */
.mega-panel[b-i0qd9ppi02] {
    position: absolute;
    top: 100%; /* Dynamic anchor directly underneath the navbar bottom edge */
    left: 0;
    width: 100%;
    background-color: var(--brand-page-background);
    border-bottom: 1px solid var(--brand-divider-medium);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.05);
    z-index: 1010; /* Ensures panel displays over page body */
    /* Animation Mechanics */
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    visibility: hidden;
    transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease, visibility 0.3s ease;
}

    .mega-panel.open[b-i0qd9ppi02] {
        max-height: 500px;
        opacity: 1;
        visibility: visible;
    }

/* Panel Content Alignment */
.mega-panel-content[b-i0qd9ppi02] {
    width: 100%;
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
}

@media (min-width: 768px) {
    .mega-panel-content[b-i0qd9ppi02] {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }
}

/* Premium Dropdown Drawer Execution (Hamburger Menu) */
.custom-menu-drawer[b-i0qd9ppi02] {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    text-transform: none;
    background-color: var(--brand-page-background);
    padding: 12px 24px 6px 24px !important; /* Adjusted bottom padding to tighten gap below last item */
    border-bottom: 1px solid var(--brand-divider-medium);
    border-left: 1px solid var(--brand-divider-medium);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08);
    z-index: 1020;
    min-width: 280px;
}

    .custom-menu-drawer.open[b-i0qd9ppi02] {
        display: block !important;
    }

@media (min-width: 768px) {
    .custom-menu-drawer[b-i0qd9ppi02] {
        right: 0;
    }
}

.drawer-links-container[b-i0qd9ppi02] {
    line-height: 1.2;
    padding-bottom: 0.25rem !important; /* Tightens container bottom spacing */
}

.drawer-directions-link[b-i0qd9ppi02] {
    border-color: var(--brand-divider-light) !important;
}

/* Force Drawer Links, Buttons, and Accordion Headers to be Always Visible */
.custom-menu-drawer a[b-i0qd9ppi02],
.custom-menu-drawer button[b-i0qd9ppi02],
.custom-menu-drawer span[b-i0qd9ppi02] {
    font-family: inherit;
    font-size: 0.8rem !important; /* Uniform size across expandable & static items */
    letter-spacing: 1px;
    color: var(--brand-text-primary) !important;
    opacity: 1 !important; /* Prevents text vanishing on mouse leave */
    visibility: visible !important;
}

/* Ensure sub-items match spacing */
.drawer-submenu button[b-i0qd9ppi02],
.drawer-submenu a[b-i0qd9ppi02],
.drawer-submenu span[b-i0qd9ppi02] {
    font-size: 0.8rem !important;
}

/* Hover Accent States inside Drawer */
.custom-menu-drawer .nav-hover-accent:hover[b-i0qd9ppi02],
.custom-menu-drawer .drawer-install-btn:hover[b-i0qd9ppi02] {
    color: var(--brand-text-primary) !important;
    opacity: 0.5 !important;
}

/* Interactive Top Bar Navigation Hover States */
.nav-hover-accent[b-i0qd9ppi02] {
    color: var(--white);
    transition: opacity 0.15s ease;
    cursor: pointer;
    font-weight: 400;
    letter-spacing: 1.5px;
}

    .nav-hover-accent:hover[b-i0qd9ppi02] {
        opacity: 0.7 !important;
        color: var(--white);
    }

    .nav-hover-accent.active-lang[b-i0qd9ppi02] {
        font-weight: 700 !important;
        opacity: 1 !important;
        cursor: default;
        pointer-events: none;
    }

/* ==========================================================================
   MEGA PANEL TYPOGRAPHY (CONSUMING BRAND DESIGN TOKENS)
   ========================================================================== */

.panel-text-content[b-i0qd9ppi02] {
    font-size: var(--font-size-sm);
    line-height: 1.5;
}

/* Primary Section Titles (e.g. "Maison Dix-Huit") */
.panel-heading[b-i0qd9ppi02] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-bold);
    text-transform: none;
    letter-spacing: var(--tracking-wider);
    color: var(--brand-text-primary);
    margin: 0;
}

/* Secondary Subheadings (e.g. "HOURS", "GET IN TOUCH") */
.panel-subheading[b-i0qd9ppi02] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-bold);
    text-transform: none;
    letter-spacing: var(--tracking-wider);
    color: var(--brand-text-primary);
    margin: 0;
}

/* Standard Body Copy inside Panels */
.panel-text[b-i0qd9ppi02] {
    font-size: var(--font-size-sm);
    text-transform: none;
    letter-spacing: var(--tracking-normal);
    color: var(--brand-text-muted);
}

/* Nav Links inside Panels (Menu / Coffee Club / Shop navigation) */
.panel-link[b-i0qd9ppi02] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    letter-spacing: var(--tracking-widest);
    text-transform: none;
    color: var(--brand-text-primary) !important;
    margin-right: calc(-1 * var(--tracking-widest)); /* Balances letter-spacing so text centers true */
}

    .panel-link:hover[b-i0qd9ppi02] {
        color: var(--brand-text-primary) !important;
        opacity: 0.6 !important;
    }

/* Secondary Muted Links (Email, Phone, Socials) */
.panel-link-muted[b-i0qd9ppi02] {
    font-size: var(--font-size-sm);
    letter-spacing: var(--tracking-normal);
    color: var(--brand-text-muted);
    transition: opacity 0.15s ease;
}

    .panel-link-muted:hover[b-i0qd9ppi02] {
        opacity: 0.6;
        color: var(--brand-text-primary);
    }

/* Action Buttons inside Panels */
.panel-btn[b-i0qd9ppi02] {
    font-size: var(--font-size-xs);
    letter-spacing: var(--tracking-wide);
    padding: 0.35rem 0.85rem;
}

/* Helper for centering Loyalty panel copy */
.max-w-600[b-i0qd9ppi02] {
    max-width: 600px;
}

/* Ensure hit areas bridge seamlessly between top bar and drawer/panel */
@media (hover: hover) and (pointer: fine) {
    .custom-menu-drawer[b-i0qd9ppi02] {
        top: 100% !important;
        padding-top: 12px;
    }

    .mega-panel[b-i0qd9ppi02] {
        pointer-events: auto;
    }

    .menu-hamburger-btn:hover[b-i0qd9ppi02] {
        opacity: 0.8;
    }
}

/* Multi-Level Accordion Menu Extensions */
.cursor-pointer[b-i0qd9ppi02] {
    cursor: pointer;
}

.drawer-accordion-group[b-i0qd9ppi02] {
    position: relative;
    width: 100%;
}

/* Level Indentations */
.drawer-submenu.level-1[b-i0qd9ppi02] {
    padding-left: 1.25rem;
}

.drawer-submenu.level-2[b-i0qd9ppi02] {
    padding-left: 1.25rem;
}

/* Sliding Accordion Mechanics using CSS Grid */
.drawer-submenu[b-i0qd9ppi02] {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    overflow: hidden;
    transition: grid-template-rows 0.65s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.4s ease-in-out;
}

    /* Allows single-child inner container to dictate grid sizing */
    .drawer-submenu > *[b-i0qd9ppi02] {
        min-height: 0;
    }

    /* Touch/Click expansion state */
    .drawer-submenu.expanded[b-i0qd9ppi02] {
        grid-template-rows: 1fr;
        opacity: 1;
    }

/* Prevents inner link layout stretch and clears extra height gaps */
.submenu-inner[b-i0qd9ppi02] {
    min-height: 0;
    overflow: hidden;
}

    .submenu-inner > *[b-i0qd9ppi02] {
        min-height: 0;
    }

/* Animated Expansion Arrow */
.accordion-arrow[b-i0qd9ppi02] {
    font-size: 0.8rem !important;
    font-weight: 600;
    display: inline-block;
    transition: transform 0.2s ease;
    line-height: 1;
    color: var(--brand-text-primary) !important;
}

    .accordion-arrow.open[b-i0qd9ppi02] {
        transform: rotate(90deg);
    }

/* Force static drawer hyperlinks to match accordion text styling */
.drawer-links-container > a[b-i0qd9ppi02] {
    color: var(--brand-text-primary) !important;
    font-size: 0.8rem !important;
    text-decoration: none !important;
}

/* Inline SVG logo scaling for hamburger drawer items */
.drawer-inline-logo[b-i0qd9ppi02] {
    height: 0.75rem;
    width: auto;
    display: inline-block;
    vertical-align: middle;
    transform: translateY(-1px); /* Slight nudge for optical alignment with uppercase text */
}

/* Stacked Mega Panel Item Formatting */
.mega-panel .panel-link[b-i0qd9ppi02] {
    font-size: unset !important; /* Clears inherited fixed line-height/font-size from parent link */
    line-height: 1.3 !important;
}

.mega-panel .panel-option-title[b-i0qd9ppi02] {
    font-size: var(--font-size-sm) !important;
    font-weight: var(--font-weight-bold) !important;
    letter-spacing: var(--tracking-wider) !important;
    color: var(--brand-text-primary) !important;
    display: block !important;
}

.mega-panel .panel-option-subtitle[b-i0qd9ppi02] {
    /* Matches .panel-text exactly: sm size, regular weight, muted color */
    font-size: var(--font-size-sm) !important;
    font-weight: var(--font-weight-regular) !important;
    letter-spacing: var(--tracking-normal) !important;
    color: var(--brand-text-muted) !important;
    display: block !important;
    margin-top: 0.5rem !important; /* Increases gap between Title and Subtitle */
    text-transform: none !important; /* Retains sentence case */
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-mtnzsc6ryn],
.components-reconnect-repeated-attempt-visible[b-mtnzsc6ryn],
.components-reconnect-failed-visible[b-mtnzsc6ryn],
.components-pause-visible[b-mtnzsc6ryn],
.components-resume-failed-visible[b-mtnzsc6ryn],
.components-rejoining-animation[b-mtnzsc6ryn] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-mtnzsc6ryn],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-mtnzsc6ryn],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-mtnzsc6ryn],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-mtnzsc6ryn],
#components-reconnect-modal.components-reconnect-retrying[b-mtnzsc6ryn],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-mtnzsc6ryn],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-mtnzsc6ryn],
#components-reconnect-modal.components-reconnect-failed[b-mtnzsc6ryn],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-mtnzsc6ryn] {
    display: block;
}


#components-reconnect-modal[b-mtnzsc6ryn] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-mtnzsc6ryn 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-mtnzsc6ryn 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-mtnzsc6ryn 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-mtnzsc6ryn]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-mtnzsc6ryn 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-mtnzsc6ryn {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-mtnzsc6ryn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-mtnzsc6ryn {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-mtnzsc6ryn] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-mtnzsc6ryn] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-mtnzsc6ryn] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-mtnzsc6ryn] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-mtnzsc6ryn] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-mtnzsc6ryn] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-mtnzsc6ryn] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-mtnzsc6ryn 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-mtnzsc6ryn] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-mtnzsc6ryn {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/About.razor.rz.scp.css */
/* ==========================================================================
   ABOUT PAGE ISOLATED LAYOUT MECHANICS & DESIGN
   ========================================================================== */

.about-wrapper[b-jbtqdzhj2w] {
    background-color: var(--brand-page-background);
    color: var(--brand-text-primary);
    min-height: 100vh;
}

.about-container[b-jbtqdzhj2w] {
    padding-top: 3rem;
    max-width: 1100px;
    margin: 0 auto;
    padding-bottom: 6rem;
}

.about-section-divider[b-jbtqdzhj2w] {
    border-color: var(--brand-divider-medium) !important;
}

.about-hero-title[b-jbtqdzhj2w] {
    letter-spacing: 3px;
    font-size: 2rem;
}

.about-lead-text[b-jbtqdzhj2w] {
    font-size: 1.1rem;
    line-height: 1.6;
    color: var(--brand-text-muted) !important;
}

.about-image-frame[b-jbtqdzhj2w] {
    background-color: var(--brand-divider-medium);
    height: 550px;
}

.about-section-subtitle[b-jbtqdzhj2w] {
    font-size: 0.85rem;
    letter-spacing: 2px;
}

.about-body-text[b-jbtqdzhj2w] {
    font-size: 0.95rem;
    line-height: 1.8;
    color: var(--brand-text-muted) !important;
}

/* Small responsive tweaks for mobile viewports */
@media (max-width: 1199px) {
    .about-container[b-jbtqdzhj2w] {
        padding-top: 1.5rem;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
        padding-bottom: 1.5rem;
    }
}

.font-editorial[b-jbtqdzhj2w] {
    font-family: var(--font-heading);
    font-size: 1.75rem;
}

.font-clean[b-jbtqdzhj2w] {
    font-family: var(--font-body);
}
/* /Components/Pages/Contact.razor.rz.scp.css */
/* ==========================================================================
   CONTACT PAGE ISOLATED LAYOUT MECHANICS & DESIGN
   ========================================================================== */

/* Absolute structural layout safety layout rule to sit comfortably below fixed 70px nav block */
.contact-container[b-5xgpejib9e] {
    background-color: var(--brand-page-background);
    color: var(--brand-text-primary);
    padding: 3rem;
    max-width: 1100px;
    margin: 0 auto;
    letter-spacing: 1.5px;
    padding-bottom: 6rem;
}

.section-title[b-5xgpejib9e] {
    font-size: 1.75rem;
    font-weight: 500;
    color: var(--brand-text-primary);
    letter-spacing: 3px;
}

.section-subtitle[b-5xgpejib9e] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--brand-text-primary);
    letter-spacing: 2px;
}

.contact-text[b-5xgpejib9e] {
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1.6;
}

/* Clean subtle micro-interactions matching the main NavMenu */
.contact-link[b-5xgpejib9e] {
    color: inherit;
    transition: opacity 0.15s ease;
}

    .contact-link:hover[b-5xgpejib9e] {
        opacity: 0.6;
        color: var(--brand-text-primary);
    }

.social-text-link[b-5xgpejib9e] {
    color: var(--brand-text-primary);
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 2px;
    position: relative;
    padding-bottom: 2px;
    transition: opacity 0.15s ease;
}

    .social-text-link:hover[b-5xgpejib9e] {
        opacity: 0.5;
    }

    /* Elegant CSS border underline on social anchors */
    .social-text-link[b-5xgpejib9e]::after {
        content: '';
        position: absolute;
        width: 100%;
        transform: scaleX(0);
        height: 1px;
        bottom: 0;
        left: 0;
        background-color: var(--brand-text-primary);
        transform-origin: bottom right;
        transition: transform 0.25s ease-out;
    }

    .social-text-link:hover[b-5xgpejib9e]::after {
        transform: scaleX(1);
        transform-origin: bottom left;
    }

@media (max-width: 1199px) {
    .contact-container[b-5xgpejib9e] {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem; /* Tightens up the gap above the static footer */
    }
}

.font-editorial[b-5xgpejib9e] {
    font-family: var(--font-heading);
    font-size: 1.75rem;
}

.font-clean[b-5xgpejib9e] {
    font-family: var(--font-body);
}

/* ==========================================================================
   EMBEDDED MAP MECHANICS & EXPANSION
   ========================================================================== */

.map-wrapper[b-5xgpejib9e] {
    position: relative;
    width: 100%;
    height: 380px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease-in-out;
    background-color: #f8f9fa;
}

/* Inline Action Buttons */
.map-action-btn[b-5xgpejib9e] {
    background: transparent;
    border: none;
    color: var(--brand-text-primary);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 1.5px;
    padding: 0;
    cursor: pointer;
    opacity: 0.8;
    transition: opacity 0.15s ease;
}

    .map-action-btn:hover[b-5xgpejib9e] {
        opacity: 1;
        text-decoration: underline;
    }

/* Expanded Full-Viewport Mode */
/* Ensure fixed positioning breaks out of standard layout flow */
.contact-container .map-wrapper.map-expanded[b-5xgpejib9e] {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    margin: auto !important; /* Perfect viewport centering */
    width: 90vw !important;
    max-width: 90vw !important;
    height: 80dvh !important;
    max-height: 80% !important;
    box-sizing: border-box !important;
    z-index: 1050 !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
    transform: none !important; /* Removes translate offset issue on small screens */
}

.map-backdrop[b-5xgpejib9e] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6);
    z-index: 1040;
    backdrop-filter: blur(2px);
}

/* Floating Close Button for Expanded Map */
.map-close-btn[b-5xgpejib9e] {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 1060;
    width: 36px;
    height: 36px;
    background-color: #ffffff;
    color: #000000;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 50%;
    font-size: 1.5rem;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
    transition: transform 0.15s ease, background-color 0.15s ease;
}

    .map-close-btn:hover[b-5xgpejib9e] {
        background-color: #f0f0f0;
        transform: scale(1.05);
    }
/* /Components/Pages/CookieConsent.razor.rz.scp.css */
/* ==========================================================================
   COOKIE CONSENT BANNER COMPONENT STYLES
   ========================================================================== */

.cookie-consent-banner[b-449usgnuhx] {
    position: fixed;
    bottom: 1.5rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1050; /* Sits above standard elements and floating footer */
    width: calc(100% - 3rem);
    max-width: 920px;
    background-color: var(--brand-header-background);
    color: var(--brand-text-primary);
    border: 1px solid var(--brand-divider-medium);
    border-radius: var(--border-radius-main);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    padding: 0.85rem 1.25rem;
    backdrop-filter: blur(8px);
    animation: cookieSlideUp-b-449usgnuhx 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.cookie-consent-content[b-449usgnuhx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
}

.cookie-consent-text[b-449usgnuhx] {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.4;
    letter-spacing: 0.8px;
    text-transform: none; /* Keeps body readable while using font-clean */
}

.cookie-consent-btn[b-449usgnuhx] {
    background-color: var(--brand-text-primary);
    color: var(--white);
    border: 1px solid var(--brand-text-primary);
    padding: 0.4rem 0.9rem;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 1.2px;
    border-radius: 4px;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.2s ease, opacity 0.2s ease;
    flex-shrink: 0;
}

    .cookie-consent-btn:hover[b-449usgnuhx] {
        opacity: 0.85;
    }

/* Entrance animation */
@keyframes cookieSlideUp-b-449usgnuhx {
    from {
        opacity: 0;
        transform: translate(-50%, 20px);
    }

    to {
        opacity: 1;
        transform: translate(-50%, 0);
    }
}

/* Mobile responsive adjustments */
@media (max-width: 576px) {
    .cookie-consent-banner[b-449usgnuhx] {
        bottom: 1rem;
        width: calc(100% - 1.5rem);
        padding: 0.85rem 1rem;
    }

    .cookie-consent-content[b-449usgnuhx] {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
        text-align: center;
    }

    .cookie-consent-btn[b-449usgnuhx] {
        width: 100%;
    }
}
/* /Components/Pages/DrinksMenu.razor.rz.scp.css */
/* ==========================================================================
   THE COUNTER DRINKS MENU COMPONENT STYLES
   ========================================================================== */

.menu-wrapper[b-12qj0bfcz8] {
    background-color: var(--brand-page-background);
    color: var(--brand-text-primary);
}

.menu-container[b-12qj0bfcz8] {
    padding-top: 3rem;
    max-width: 1000px;
    margin: 0 auto;
    padding-bottom: 6rem;
}

.menu-header[b-12qj0bfcz8] {
    border-color: #e5e4df !important;
}

    .menu-header h1[b-12qj0bfcz8] {
        letter-spacing: 2px;
        font-size: clamp(1.4rem, 2.5vw, 1.85rem);
        white-space: normal;
    }

    .menu-header p[b-12qj0bfcz8] {
        font-size: 0.9rem;
    }

.menu-section-block[b-12qj0bfcz8] {
    margin-bottom: 3rem;
}

.column-title[b-12qj0bfcz8] {
    font-size: 0.85rem;
    letter-spacing: 2px;
    border-color: var(--brand-text-primary) !important;
}

.menu-item[b-12qj0bfcz8] {
    display: flex;
    align-items: flex-start;
    gap: 1.2rem;
    margin-bottom: 2.2rem;
    position: relative;
}

.menu-item-image[b-12qj0bfcz8] {
    width: 80px;
    height: 80px;
    object-fit: cover;
    background-color: #e5e4df;
    border-radius: 2px;
    flex-shrink: 0;
}

.menu-item-content[b-12qj0bfcz8] {
    flex-grow: 1;
}

.item-name[b-12qj0bfcz8] {
    font-size: 0.95rem;
    font-weight: 500;
    margin: 0;
    letter-spacing: 0.3px;
    color: var(--brand-text-primary);
}

.item-price[b-12qj0bfcz8] {
    font-size: 0.9rem;
    font-weight: 400;
    color: var(--brand-text-primary);
    padding-left: 1rem;
}

.item-description[b-12qj0bfcz8] {
    font-size: 0.8rem;
    color: #6c757d;
    margin-top: 0.35rem;
    margin-bottom: 0;
    line-height: 1.5;
    font-weight: 300;
}

.menu-footer[b-12qj0bfcz8] {
    border-color: #e5e4df !important;
    font-size: 0.75rem;
    letter-spacing: 0.5px;
}

.menu-item-image.zoomable-thumb[b-12qj0bfcz8] {
    cursor: pointer;
    pointer-events: auto;
    user-select: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

    .menu-item-image.zoomable-thumb:hover[b-12qj0bfcz8] {
        transform: scale(1.05);
    }

/* Fixed Viewport Popout Overlay */
.popout-image-container[b-12qj0bfcz8] {
    position: fixed;
    z-index: 1050;
}

.zoomed-popout-image[b-12qj0bfcz8] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.30), 0 4px 12px rgba(0, 0, 0, 0.15);
    cursor: pointer;
    animation: popIn-b-12qj0bfcz8 0.2s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Responsive adjustments for handheld devices */
@media (max-width: 1199px) {
    .menu-container[b-12qj0bfcz8] {
        padding-top: 1.5rem;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
        padding-bottom: 1.5rem;
    }

    .menu-item[b-12qj0bfcz8] {
        gap: 1rem;
        margin-bottom: 2rem;
    }

    .menu-item-image[b-12qj0bfcz8] {
        width: 70px;
        height: 70px;
    }
}

/* Entry Animation */
@keyframes popIn-b-12qj0bfcz8 {
    from {
        transform: scale(0.5);
        opacity: 0;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }
}

/* Coming Soon Callout Box */
.coming-soon-block[b-12qj0bfcz8] {
    background-color: rgba(0, 0, 0, 0.02);
    border: 1px dashed #d5d4ce;
    border-radius: 4px;
    margin: 1rem 0 2rem 0;
}

.coming-soon-text[b-12qj0bfcz8] {
    font-size: 1.25rem;
    font-weight: 500;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #8c857b;
    display: inline-block;
}
/* /Components/Pages/FoodMenu.razor.rz.scp.css */
/* ==========================================================================
   THE KITCHEN FOOD MENU COMPONENT STYLES
   ========================================================================== */

.menu-wrapper[b-kwve3h1z4w] {
    background-color: var(--brand-page-background);
    color: var(--brand-text-primary);
}

/* Continuous framework clearing your 70px fixed main nav header layout context */
.menu-container[b-kwve3h1z4w] {
    padding-top: 3rem;
    max-width: 1000px;
    margin: 0 auto;
    padding-bottom: 6rem;
}

.menu-header[b-kwve3h1z4w] {
    border-color: var(--brand-divider-medium) !important;
}

    .menu-header h1[b-kwve3h1z4w] {
        letter-spacing: 2px;
        font-size: clamp(1.4rem, 2.5vw, 1.85rem);
        white-space: normal;
    }

    .menu-header p[b-kwve3h1z4w] {
        font-size: 0.9rem;
    }

.column-title[b-kwve3h1z4w] {
    font-size: 0.85rem;
    letter-spacing: 2px;
    border-color: var(--brand-text-primary) !important;
}

/* Core Layout Flex Structure for items + image styling */
.menu-item[b-kwve3h1z4w] {
    display: flex;
    align-items: flex-start;
    gap: 1.2rem;
    margin-bottom: 2.2rem;
    position: relative;
}

.menu-item-image[b-kwve3h1z4w] {
    width: 80px;
    height: 80px;
    object-fit: cover;
    background-color: var(--brand-divider-medium);
    border-radius: 2px; /* Very soft corner profile matching premium retail details */
    flex-shrink: 0;
}

.menu-item-content[b-kwve3h1z4w] {
    flex-grow: 1;
}

.item-name[b-kwve3h1z4w] {
    font-size: 0.95rem;
    font-weight: 500;
    margin: 0;
    letter-spacing: 0.3px;
    color: var(--brand-text-primary);
}

.item-price[b-kwve3h1z4w] {
    font-size: 0.9rem;
    font-weight: 400;
    color: var(--brand-text-primary);
    padding-left: 1rem;
}

.item-description[b-kwve3h1z4w] {
    font-size: 0.8rem;
    color: var(--brand-text-muted);
    margin-top: 0.35rem;
    margin-bottom: 0;
    line-height: 1.5;
    font-weight: 300;
}

.menu-footer[b-kwve3h1z4w] {
    border-color: var(--brand-divider-medium) !important;
    font-size: 0.75rem;
    letter-spacing: 0.5px;
}

/* Thumbnail Interaction & Zoom Overlay */
.menu-item-image.zoomable-thumb[b-kwve3h1z4w] {
    cursor: pointer;
    pointer-events: auto;
    user-select: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

    .menu-item-image.zoomable-thumb:hover[b-kwve3h1z4w] {
        transform: scale(1.05);
    }

.popout-image-container[b-kwve3h1z4w] {
    position: fixed;
    z-index: 1050;
}

.zoomed-popout-image[b-kwve3h1z4w] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.30), 0 4px 12px rgba(0, 0, 0, 0.15);
    cursor: pointer;
    animation: popIn-b-kwve3h1z4w 0.2s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Target alignment responsiveness updates */
@media (max-width: 1199px) {
    .menu-container[b-kwve3h1z4w] {
        padding-top: 1.5rem;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
        padding-bottom: 1.5rem; /* Tightens up the gap above the static footer */
    }

    .menu-item[b-kwve3h1z4w] {
        gap: 1rem;
        margin-bottom: 2rem;
    }

    .menu-item-image[b-kwve3h1z4w] {
        width: 70px;
        height: 70px;
    }
}

/* Entry Animation */
@keyframes popIn-b-kwve3h1z4w {
    from {
        transform: scale(0.5);
        opacity: 0;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }
}

/* Coming Soon Callout Box */
.coming-soon-block[b-kwve3h1z4w] {
    background-color: rgba(0, 0, 0, 0.02);
    border: 1px dashed #d5d4ce;
    border-radius: 4px;
    margin: 1rem 0 2rem 0;
}

.coming-soon-text[b-kwve3h1z4w] {
    font-size: 1.25rem;
    font-weight: 500;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #8c857b;
    display: inline-block;
}
/* /Components/Pages/HomeSections/Home.razor.rz.scp.css */
/* Global Home Container Canvas Framework */
.maison-container[b-3lb97n8206] {
    background-color: var(--brand-page-background);
    color: var(--brand-text-dark);
    font-family: 'Inter', sans-serif;
    min-height: 100vh;
    padding-top: 0;
}
/* /Components/Pages/HomeSections/HomeBanner.razor.rz.scp.css */
.home-banner-section[b-m3qrve5ldq] {
    border-color: var(--brand-divider-medium) !important;
    background-color: var(--brand-page-background);
}

.banner-card[b-m3qrve5ldq] {
    background-color: transparent;
}

/* Scaled up main heading matching HomeLoyalty */
.home-banner-section h2.banner-title[b-m3qrve5ldq] {
    color: var(--brand-text-primary);
    font-size: 2.1rem;
    line-height: 1.2;
}

/* Subtitle / Lead line using heading font */
.home-banner-section .banner-lead-text[b-m3qrve5ldq] {
    color: var(--brand-text-primary);
    font-size: 1.15rem;
    letter-spacing: 0.02em;
}

/* Main body copy formatting */
.home-banner-section .banner-body-text[b-m3qrve5ldq] {
    color: var(--brand-text-primary);
    font-size: 0.95rem;
    line-height: 1.5;
}

/* Summary paragraph subtle tint */
.home-banner-section .banner-summary-text[b-m3qrve5ldq] {
    color: var(--brand-text-muted) !important;
}

/* Utility font tokens */
.font-editorial[b-m3qrve5ldq] {
    font-family: var(--font-heading);
}

.font-clean[b-m3qrve5ldq] {
    font-family: var(--font-body);
}
/* /Components/Pages/HomeSections/HomeCarousel.razor.rz.scp.css */
/* Container & Framework */
.swiper-container-mock[b-ydl56b69fc] {
    width: 100%;
    overflow: hidden;
    background-color: var(--brand-accent-strip);
    position: relative;
    display: block;
}

.swiper-slide-custom[b-ydl56b69fc] {
    width: 100%;
    display: block;
}

.media-column[b-ydl56b69fc] {
    width: 100%;
    height: 50vh;
    min-height: 260px;
    display: block;
    overflow: hidden;
    position: relative;
    background-color: var(--brand-accent-strip);
}

.second-column[b-ydl56b69fc] {
    margin-top: 6px;
}

/* Cross-fade Layer Transitions */
.media-layer[b-ydl56b69fc] {
    transition: opacity 1.2s ease-in-out;
}

.layer-active[b-ydl56b69fc] {
    opacity: 1;
    z-index: 2;
    pointer-events: auto;
}

.layer-hidden[b-ydl56b69fc] {
    opacity: 0;
    z-index: 1;
    pointer-events: none;
}

.media-fill[b-ydl56b69fc] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Indicator Overlay Styling */
.carousel-indicators-overlay[b-ydl56b69fc] {
    position: absolute;
    bottom: 12px;
    left: 12px;
    display: flex;
    gap: 8px;
    z-index: 10;
    pointer-events: none;
    background: transparent;
    padding: 0;
}

.indicator-dot[b-ydl56b69fc] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 1.5px solid #ffffff;
    background-color: transparent;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

    .indicator-dot.active[b-ydl56b69fc] {
        background-color: #ffffff;
        transform: scale(1.1);
    }

/* Desktop Dual Column Layout */
@media (min-width: 992px) {
    .swiper-container-mock[b-ydl56b69fc] {
        height: 45vh;
        min-height: 280px;
    }

    .swiper-slide-custom[b-ydl56b69fc] {
        height: 100%;
        display: flex;
    }

    .media-column[b-ydl56b69fc] {
        width: 50%;
        height: 100%;
    }

    .second-column[b-ydl56b69fc] {
        margin-top: 0;
    }
}
/* /Components/Pages/HomeSections/HomeHero.razor.rz.scp.css */
/* ==========================================================================
   HOME HERO - SQUARE PERSPECTIVE & FLUID SCALING
   ========================================================================== */

.home-hero-grid[b-x9yuiyvacb] {
    height: auto;
    min-height: auto;
    border-color: var(--brand-divider-medium) !important;
    background-color: var(--brand-page-background);
}

/* Maintain square aspect ratio without overriding Bootstrap grid width */
.hero-tile[b-x9yuiyvacb] {
    aspect-ratio: 1 / 1;
    height: auto;
    min-height: 0;
}

/* Layer transition logic for cross-fading */
.tile-image[b-x9yuiyvacb],
.tile-content-overlay[b-x9yuiyvacb] {
    transition: opacity 1.2s ease-in-out;
}

.layer-active[b-x9yuiyvacb] {
    opacity: 1;
    z-index: 2;
    pointer-events: auto;
}

.layer-hidden[b-x9yuiyvacb] {
    opacity: 0;
    z-index: 1;
    pointer-events: none;
}

.tile-image[b-x9yuiyvacb] {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

    /* Dark gradient overlay for text legibility */
    .tile-image[b-x9yuiyvacb]::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.65) 100%);
    }

.text-shadow[b-x9yuiyvacb] {
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
}

.font-editorial[b-x9yuiyvacb] {
    font-family: var(--font-heading);
    font-size: 1.75rem;
}

.font-clean[b-x9yuiyvacb] {
    font-family: var(--font-body);
}

/* Responsive typography scaling for smaller screens */
@media (max-width: 991.98px) {
    .font-editorial[b-x9yuiyvacb] {
        font-size: 1.4rem;
    }
}

@media (max-width: 767.98px) {
    .font-editorial[b-x9yuiyvacb] {
        font-size: 1.25rem;
    }
}
/* /Components/Pages/HomeSections/HomeLoyalty.razor.rz.scp.css */
.home-loyalty-section[b-s8ghk0ttqt] {
    border-color: var(--brand-divider-medium) !important;
    background-color: var(--brand-page-background);
}

.loyalty-card[b-s8ghk0ttqt] {
    background-color: transparent;
}

/* Scaled up section titles */
.home-loyalty-section h2[b-s8ghk0ttqt] {
    color: var(--brand-text-primary);
    font-size: 2.1rem;
    line-height: 1.2;
}

/* Subtitle / Lead line: styled with the heading font for editorial polish */
.home-loyalty-section .loyalty-lead-text[b-s8ghk0ttqt] {
    color: var(--brand-text-primary);
    font-size: 1.15rem;
    letter-spacing: 0.02em;
}

/* Main body copy */
.home-loyalty-section .loyalty-body-text[b-s8ghk0ttqt] {
    color: var(--brand-text-muted) !important;
    font-size: 0.95rem;
    line-height: 1.5;
}

.font-editorial[b-s8ghk0ttqt] {
    font-family: var(--font-heading);
}

.font-clean[b-s8ghk0ttqt] {
    font-family: var(--font-body);
}

.btn-outline-dark[b-s8ghk0ttqt] {
    letter-spacing: 0.08em;
    font-size: 0.75rem;
    transition: all 0.2s ease-in-out;
}
/* /Components/Pages/HomeSections/HomeNewsSpotlight.razor.rz.scp.css */
.news-spotlight-section[b-md0wq6cd03] {
    background-color: var(--brand-page-background);
}

.spotlight-card[b-md0wq6cd03] {
    border: 1px solid var(--brand-divider-medium);
    background-color: rgba(255, 255, 255, 0.4);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    min-width: 0;
}

.spotlight-image-wrapper[b-md0wq6cd03] {
    overflow: hidden;
    border-radius: 4px;
}

.spotlight-image[b-md0wq6cd03] {
    width: 100%;
    height: 550px; /* Reduced height to fit side-by-side layout proportionally */
    object-fit: cover;
    transition: transform 0.4s ease;
}

.spotlight-image-wrapper:hover .spotlight-image[b-md0wq6cd03] {
    transform: scale(1.02);
}

.spotlight-date[b-md0wq6cd03] {
    font-size: 0.75rem;
    color: var(--brand-text-muted);
    letter-spacing: 1.5px;
}

.spotlight-title[b-md0wq6cd03] {
    font-size: 1.35rem; /* Slightly tuned for two-column headers */
    line-height: 1.3;
    letter-spacing: 0.5px;
}

.spotlight-excerpt[b-md0wq6cd03] {
    font-size: 0.875rem;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    /* Word breaking and line wrapping fixes */
    overflow-wrap: break-word;
    word-break: break-word;
}

.letter-spacing-1[b-md0wq6cd03] {
    letter-spacing: 1px;
    font-size: 0.7rem;
}

@media (max-width: 991.98px) {
    .spotlight-image[b-md0wq6cd03] {
        height: 240px;
    }
}
.border-dashed[b-md0wq6cd03] {
    border-style: dashed !important;
    border-color: var(--brand-divider-medium) !important;
    background-color: rgba(255, 255, 255, 0.2);
}

/* Force internal HTML blocks coming from Shopify to respect bounds */
.spotlight-excerpt *[b-md0wq6cd03] {
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: break-word;
}
/* /Components/Pages/HomeSections/HomeShowcase.razor.rz.scp.css */
/* ==========================================================================
   HOME SHOWCASE - SCATTERED COLLAGE & TEXT ALIGNMENT
   ========================================================================== */

.home-showcase-section[b-k4zwvl3fcc] {
    background-color: var(--brand-page-background);
}

.showcase-row[b-k4zwvl3fcc] {
    border: none !important;
    overflow: visible;
    margin-bottom: 3rem;
}

    .showcase-row:last-child[b-k4zwvl3fcc] {
        margin-bottom: 0;
    }

/* Cap standard container width on wide monitors to keep margins symmetrical */
@media (min-width: 1400px) {
    .home-showcase-section .container[b-k4zwvl3fcc] {
        max-width: 1320px;
    }
}

/* Strict Text Wrapping Rules */
.loyalty-lead-text[b-k4zwvl3fcc],
.loyalty-body-text[b-k4zwvl3fcc] {
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    max-width: 100%;
}

.loyalty-lead-text[b-k4zwvl3fcc] {
    color: var(--brand-text-primary);
    font-size: 1.15rem;
    letter-spacing: 0.02em;
    line-height: 1.4;
}

.loyalty-body-text[b-k4zwvl3fcc] {
    color: var(--brand-text-muted) !important;
    font-size: 0.92rem;
    line-height: 1.5;
}

    /* Ensure paragraphs inside lead/body blocks have explicit spacing */
    .loyalty-lead-text + .loyalty-lead-text[b-k4zwvl3fcc],
    .loyalty-body-text + .loyalty-body-text[b-k4zwvl3fcc] {
        margin-top: 0.85rem;
    }

.showcase-title[b-k4zwvl3fcc] {
    color: var(--brand-text-primary);
    font-size: 2.1rem;
    line-height: 1.2;
}

.font-editorial[b-k4zwvl3fcc] {
    font-family: var(--font-heading);
}

.font-clean[b-k4zwvl3fcc] {
    font-family: var(--font-body);
}

.btn-outline-dark[b-k4zwvl3fcc] {
    letter-spacing: 0.08em;
    font-size: 0.75rem;
    transition: all 0.2s ease-in-out;
}

/* ==========================================================================
   COLLAGE CONTAINER & ABSOLUTE POSITIONING
   ========================================================================== */

.showcase-collage-container[b-k4zwvl3fcc] {
    width: 840px;
    height: 560px;
    position: relative;
    margin: 0;
    flex-shrink: 0;
    transform-origin: top right;
}

.collage-box[b-k4zwvl3fcc] {
    position: absolute;
    border-radius: 2px;
    background-color: #ffffff;
    aspect-ratio: 1 / 1;
    display: block;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.3s cubic-bezier(0.25, 1, 0.5, 1), z-index 0.2s ease;
}

    .collage-box:hover[b-k4zwvl3fcc],
    .collage-box:focus[b-k4zwvl3fcc],
    .collage-box:active[b-k4zwvl3fcc] {
        transform: scale(1.04) translateY(-6px);
        box-shadow: 0 32px 60px -10px rgba(0, 0, 0, 0.55), 0 14px 28px -5px rgba(0, 0, 0, 0.30);
        z-index: 10 !important;
        outline: none;
    }

[b-k4zwvl3fcc] .img-square {
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}

/* Shadow Profiles */
.shadow-layered[b-k4zwvl3fcc] {
    box-shadow: 0 15px 35px -5px rgba(0, 0, 0, 0.35), 0 6px 12px -3px rgba(0, 0, 0, 0.20);
}

.shadow-layered-deep[b-k4zwvl3fcc] {
    box-shadow: 0 25px 45px -8px rgba(0, 0, 0, 0.45), 0 10px 20px -4px rgba(0, 0, 0, 0.25);
}

/* Positioning Constraints */
.img-base[b-k4zwvl3fcc] {
    top: 0;
    left: 0;
    width: 500px;
    height: 500px;
    z-index: 1;
}

.img-top-right[b-k4zwvl3fcc] {
    top: 10px;
    right: 15px;
    width: 280px;
    z-index: 2;
}

.img-bottom-left[b-k4zwvl3fcc] {
    top: 180px;
    right: 120px;
    width: 250px;
    z-index: 3;
}

.img-accent[b-k4zwvl3fcc] {
    bottom: 10px;
    right: 25px;
    width: 260px;
    z-index: 4;
}

/* Scoped Cross-Fade Utilities */
[b-k4zwvl3fcc] .showcase-layer {
    transition: opacity 1s ease-in-out;
    will-change: opacity;
    object-fit: cover;
}

[b-k4zwvl3fcc] .showcase-visible {
    opacity: 1;
    z-index: 2;
}

[b-k4zwvl3fcc] .showcase-hidden {
    opacity: 0;
    z-index: 1;
}

/* ==========================================================================
   FLUID SCALING Across Desktop, Tablet & Mobile Breakpoints
   With dynamic vertical and horizontal space collapsing
   ========================================================================== */

/* Ultra-Wide Monitors (1721px and above) - Scale 0.88 */
@media (min-width: 1721px) {
    .showcase-collage-container[b-k4zwvl3fcc] {
        transform: scale(0.88);
        margin-left: -101px;
        margin-bottom: -67px;
    }
}

/* Standard Desktop / Large Laptops (1400px - 1720px) - Scale 0.80 */
@media (max-width: 1720px) and (min-width: 1400px) {
    .showcase-collage-container[b-k4zwvl3fcc] {
        transform: scale(0.80);
        margin-left: -168px;
        margin-bottom: -112px;
    }
}

/* Medium Desktop / Laptops (1200px - 1399px) - Scale 0.68 */
@media (max-width: 1399.98px) and (min-width: 1200px) {
    .showcase-collage-container[b-k4zwvl3fcc] {
        transform: scale(0.68);
        margin-left: -269px;
        margin-bottom: -179px;
    }
}

/* Small Laptops (1100px - 1199px) - Scale 0.58 */
@media (max-width: 1199.98px) and (min-width: 1100px) {
    .showcase-collage-container[b-k4zwvl3fcc] {
        transform: scale(0.58);
        margin-left: -353px;
        margin-bottom: -235px;
    }
}

/* Tablets Landscape / Narrow Desktop (992px - 1099px) - Scale 0.48 */
@media (max-width: 1099.98px) and (min-width: 992px) {
    .showcase-collage-container[b-k4zwvl3fcc] {
        transform: scale(0.48);
        margin-left: -437px;
        margin-bottom: -291px;
    }
}

/* Mobile & Tablet (< 992px): Center collage */
@media (max-width: 991.98px) {
    .showcase-collage-container[b-k4zwvl3fcc] {
        transform-origin: center center;
        transform: scale(0.50);
        margin: -100px auto -110px auto;
    }
}

@media (max-width: 575.98px) {
    .showcase-collage-container[b-k4zwvl3fcc] {
        transform-origin: center center;
        transform: scale(0.38);
        margin: -140px auto -150px auto;
    }
}
/* /Components/Pages/Loyalty.razor.rz.scp.css */
/* Font Utilities Aligned with Meeting Room */
.font-editorial[b-gagbqepivk] {
    font-family: var(--font-heading);
}

.font-clean[b-gagbqepivk] {
    font-family: var(--font-body);
}

/* Hero Header */
.loyalty-hero[b-gagbqepivk] {
    position: relative;
    width: 100%;
    height: 38vh;
    min-height: 300px;
    background-image: url('/images/CustomerPayingAtTill.jpg');
    background-size: cover;
    background-position: center top;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #ffffff;
}

.hero-overlay[b-gagbqepivk] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.55);
    z-index: 1;
}

.hero-content[b-gagbqepivk] {
    position: relative;
    z-index: 2;
    max-width: 900px;
    padding: 0 20px;
}

    .hero-content h2[b-gagbqepivk] {
        font-size: 2.6rem;
        margin-bottom: 12px;
        letter-spacing: 1px;
    }

    .hero-content p[b-gagbqepivk] {
        font-size: 1.05rem;
        line-height: 1.6;
        color: #f1f1f1;
    }

/* Expanded Container for Desktop Width */
.loyalty-container[b-gagbqepivk] {
    max-width: 1380px;
    margin: 50px auto;
    padding-left: 2rem;
    padding-right: 2rem;
}

/* Controlled Heading Line Wraps for Mobile */
.responsive-heading[b-gagbqepivk] {
    display: block;
    line-height: 1.25;
}

/* Mobile-specific Heading Break Rules */
@media (max-width: 575.98px) {
    /* Drops the dash on mobile */
    .heading-dash[b-gagbqepivk] {
        display: none;
    }

    /* Drops the secondary tagline cleanly to the next line */
    .heading-secondary[b-gagbqepivk] {
        display: block;
        margin-top: 0.25rem;
    }
}

/* Graphics composition */
.graphic-card-wrapper[b-gagbqepivk] {
    position: relative;
    padding-bottom: 30px;
    padding-right: 30px;
}

.loyalty-feature-img[b-gagbqepivk] {
    width: 100%;
    height: 420px;
    object-fit: cover;
    border-radius: 4px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}

.graphic-accent-box[b-gagbqepivk] {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 200px;
    height: 145px;
    border: 4px solid #ffffff;
    border-radius: 4px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.15);
    overflow: hidden;
}

.loyalty-sub-img[b-gagbqepivk] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.scroll-margin-top[b-gagbqepivk] {
    scroll-margin-top: 100px;
}

/* Ordered Small Print List */
.small-print-list[b-gagbqepivk] {
    padding-left: 1.25rem;
    text-align: left;
}

    .small-print-list ol[b-gagbqepivk] {
        padding-left: 1.25rem;
        margin-top: 0.25rem;
        margin-bottom: 0.5rem;
    }

    .small-print-list li[b-gagbqepivk] {
        margin-bottom: 0.35rem;
        line-height: 1.5;
    }

/* Responsiveness */
@media (max-width: 767.98px) {
    .loyalty-container[b-gagbqepivk] {
        margin: 30px auto;
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    .graphic-card-wrapper[b-gagbqepivk] {
        padding-bottom: 0;
        padding-right: 0;
        margin-top: 1.5rem;
    }

    .graphic-accent-box[b-gagbqepivk] {
        display: none;
    }
}
/* /Components/Pages/News.razor.rz.scp.css */
/* ==========================================================================
   THE JOURNAL / NEWS COMPONENT STYLES
   ========================================================================== */

.journal-wrapper[b-12zps2b412] {
    background-color: var(--brand-page-background);
    color: var(--brand-text-primary);
}

/* Continuous navigation offsets */
.journal-container[b-12zps2b412] {
    padding-top: 3rem;
    max-width: 1100px; /* Widened slightly to elegantly support side-by-side text columns */
    margin: 0 auto;
    padding-bottom: 6rem;
}

.journal-header[b-12zps2b412] {
    border-color: var(--brand-divider-medium) !important;
}

    .journal-header h1[b-12zps2b412] {
        letter-spacing: 4px;
        font-size: 2rem;
    }

    .journal-header p[b-12zps2b412] {
        font-size: 0.9rem;
    }

/* 2-Column CSS Grid Layout Construction */
.journal-grid[b-12zps2b412] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 4rem; /* Generous breathing room between columns */
    row-gap: 5rem; /* Clear division between rows */
}

/* Individual Grid Item Structure */
.journal-grid-item[b-12zps2b412] {
    display: flex;
    flex-direction: column;
}

/* Typographic & Metadata styling */
.journal-date[b-12zps2b412] {
    font-size: 0.75rem;
    color: var(--brand-text-muted);
    letter-spacing: 1.5px;
    font-weight: 400;
    display: block;
}

.journal-title-sub[b-12zps2b412] {
    font-size: 1.25rem;
    letter-spacing: 0.5px;
    line-height: 1.4;
    color: var(--brand-text-primary);
}

/* Featured Top Article (Full Width Span) */
.featured-article[b-12zps2b412] {
    grid-column: 1 / -1; /* Spans across both grid columns */
    padding-bottom: 3rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--brand-divider-medium);
}

    .featured-article .grid-image[b-12zps2b412] {
        width: 100%;
        max-height: 650px; /* Gives more vertical room before cropping */
        object-fit: cover;
        object-position: center; /* Centers the crop focus point */
    }

/* Rich text container for Shopify content */
.entry-content[b-12zps2b412] {
    font-size: 0.875rem;
    line-height: 1.65;
    margin-top: 0.5rem;
}

    /* Handle spacing elements generated inside HTML fields */
    .entry-content p[b-12zps2b412] {
        margin-bottom: 1.25rem;
    }

        .entry-content p:last-child[b-12zps2b412] {
            margin-bottom: 0;
        }

/* Editorial image treatments */
.grid-image[b-12zps2b412] {
    width: 100%;
    height: auto; /* Let the image scale naturally based on its original proportions */
    object-fit: unset; /* Removes the forcing constraint */
    border-radius: 2px;
}

/* Responsive Fluid Adjustments */
@media (max-width: 900px) {
    .journal-grid[b-12zps2b412] {
        column-gap: 2rem;
        row-gap: 4rem;
    }
}

@media (max-width: 1199px) {
    .journal-container[b-12zps2b412] {
        padding-top: 1.5rem;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
        padding-bottom: 1.5rem; /* Tightens up the gap above the static footer */
    }

    /* Collapse down to 1 single fluid column on mobile phones */
    .journal-grid[b-12zps2b412] {
        grid-template-columns: 1fr;
        row-gap: 3.5rem;
    }

    .grid-image[b-12zps2b412] {
        height: auto; /* Ensure mobile devices also respect the uncropped layout */
    }
}
/* /Components/Pages/NewsDetail.razor.rz.scp.css */
body[b-tzygvr3pw0] {
}
/* /Components/Pages/Production.razor.rz.scp.css */
/* Hero Banner */
.production-hero[b-2t5kcaj0dy] {
    position: relative;
    width: 100%;
    height: 40vh;
    min-height: 320px;
    background-image: url('/images/AllPressProductionBeansOnRack.jpg');
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #ffffff;
}

.hero-overlay[b-2t5kcaj0dy] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1;
}

.hero-content[b-2t5kcaj0dy] {
    position: relative;
    z-index: 2;
    max-width: 800px;
    padding: 0 20px;
}

.sub-heading[b-2t5kcaj0dy] {
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 8px;
    display: block;
    color: #e2b07e;
}

.hero-content h1[b-2t5kcaj0dy] {
    font-size: 2.8rem;
    font-weight: 300;
    margin-bottom: 15px;
    letter-spacing: 1px;
}

.hero-content p[b-2t5kcaj0dy] {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #f1f1f1;
}

/* Page Layout */
.production-container[b-2t5kcaj0dy] {
    max-width: 1200px;
    margin: 60px auto;
    padding: 0 20px;
}

.methodology-row[b-2t5kcaj0dy] {
    display: flex;
    flex-direction: column;
    gap: 40px;
    align-items: center;
    margin-bottom: 80px;
}

@media (min-width: 992px) {
    .methodology-row[b-2t5kcaj0dy] {
        flex-direction: row;
    }

        .methodology-row.reverse[b-2t5kcaj0dy] {
            flex-direction: row-reverse;
        }

    .media-col[b-2t5kcaj0dy], .text-col[b-2t5kcaj0dy] {
        width: 50%;
    }
}

.feature-img[b-2t5kcaj0dy] {
    width: 100%;
    height: 380px;
    object-fit: cover;
    border-radius: 4px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.step-badge[b-2t5kcaj0dy] {
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--brand-accent-strip, #8c6239);
    text-transform: uppercase;
    margin-bottom: 10px;
    display: block;
}

.text-col h2[b-2t5kcaj0dy] {
    font-size: 2rem;
    margin-bottom: 18px;
    font-weight: 400;
}

.text-col p[b-2t5kcaj0dy] {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #4a4a4a;
    margin-bottom: 15px;
}

/* Sustainability Card */
.sustainability-card[b-2t5kcaj0dy] {
    background-color: #f9f7f4;
    border-left: 4px solid #8c6239;
    padding: 50px 40px;
    margin-top: 40px;
    border-radius: 0 4px 4px 0;
}

.sustainability-content h2[b-2t5kcaj0dy] {
    font-size: 2.2rem;
    font-weight: 400;
    margin-bottom: 15px;
}

.sustainability-content p[b-2t5kcaj0dy] {
    font-size: 1.1rem;
    line-height: 1.8;
    color: #333333;
    max-width: 900px;
}

.font-editorial[b-2t5kcaj0dy] {
    font-family: var(--font-heading);
    font-size: 1.75rem;
}

.font-clean[b-2t5kcaj0dy] {
    font-family: var(--font-body);
}
