:root {
    /*--maeme-red:#99041e;*/
    --maeme-red:#AA1F27FF;
    --maeme-red-dark:#7f0318;
    /*--maeme-yellow:#ffc257;*/
    --maeme-yellow:#FDBA4CFF;
    --maeme-cream:#fff8ed;
    --maeme-cream-2:#fff8f2;
    --maeme-text:#1f1210;
    --maeme-brown:#351817;
    --maeme-muted:#6f5f5a;
    --maeme-border:#ead8c6;
    --site-header-height:80px;
}

* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth;
    overflow-x:clip
}

body.maeme-site {
    margin:0;
    /*background:#ededed;*/
    color:var(--maeme-text);
    font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    text-rendering:optimizeLegibility;
    overflow-x:clip
}

a {
    text-decoration:none
}

.site-main {
    padding-top:var(--site-header-height);
    min-height:calc(100vh - 180px);
    background:white
}

.page-container {
    width:100%;
    max-width:1720px;
    margin:0 auto;
    padding:0 2rem
}

.site-container {
    width:100%;
    max-width:1320px;
    margin:0 auto;
    padding:0 1.5rem
}

.site-container-wide {
    width:100%;
    max-width:1440px;
    margin:0 auto;
    padding:0 1.5rem
}

.text-red {
    color:var(--maeme-red)!important
}

.text-yellow {
    color:var(--maeme-yellow)!important
}

.bg-cream {
    background:var(--maeme-cream-2)!important
}

.eyebrow {
    font-size:.69rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.24em;
    color:var(--maeme-red);
    margin-bottom: auto;
}

.section-title {
    font-size:clamp(2rem,4vw,3.3rem);
    font-weight:900;
    letter-spacing:-.04em;
    line-height:1.02
}

.section-copy {
    font-size:1rem;
    line-height:1.75;
    color:var(--maeme-muted)
}

/* Header */
.site-header {
    height:var(--site-header-height);
    border-bottom:1px solid #ead7c7;
    background:rgba(255,255,255,.96);
    box-shadow:0 8px 28px rgba(63,24,18,.035);
    backdrop-filter:blur(16px);
    z-index:1050
}

.site-header-inner {
    height:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem
}

.header-brand-wrap {
    display:flex;
    align-items:center;
    gap:1rem;
    min-width:220px
}

.site-logo img {
    height:56px;
    width:auto;
    display:block
}

.mobile-menu-btn {
    width:44px;
    height:44px;
    border:0;
    border-radius:12px;
    background:transparent;
    font-size:1.65rem;
    color:var(--maeme-text);
    display:inline-flex;
    align-items:center;
    justify-content:center
}

.mobile-menu-btn:hover {
    background:#fff8f2
}

.site-nav {
    flex:1;
    justify-content:flex-end;
    align-items:center;
    gap:1.6rem;
    padding-right:.5rem
}

.site-nav-link {
    position:relative;
    padding:.75rem 0;
    font-size:.88rem;
    line-height:1;
    font-weight:900;
    color:var(--maeme-text);
    white-space:nowrap
}

.site-nav-link:hover,.site-nav-link.active {
    color:var(--maeme-red)
}

.site-nav-link.active:after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:.28rem;
    height:2px;
    border-radius:2px;
    background:var(--maeme-red)
}

.header-actions {
    display:flex;
    align-items:center;
    gap:1rem
}

.header-social {
    align-items:center;
    gap:.7rem;
    border-left:1px solid #ead7c7;
    padding-left:1.3rem
}

.header-social a,.header-social span {
    width:40px;
    height:40px;
    border-radius:50%;
    border:1px solid rgba(153,4,30,.18);
    background:rgba(153,4,30,.06);
    color:var(--maeme-red);
    display:inline-flex;
    align-items:center;
    justify-content:center
}

.header-social a:hover {
    background:rgba(153,4,30,.12)
}

.order-pill {
    height:44px;
    padding:0 1.5rem;
    border-radius:999px;
    background:var(--maeme-red);
    color:white;
    font-size:.88rem;
    font-weight:900;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 12px 28px rgba(153,4,30,.2);
    white-space:nowrap
}

.order-pill:hover {
    background:var(--maeme-red-dark);
    color:white
}

.site-drawer {
    width:min(360px,88vw);
    background:#fffaf5
}

.site-drawer .offcanvas-header {
    border-bottom:1px solid var(--maeme-border);
    padding:1rem 1.15rem
}

.drawer-logo img {
    height:55px
}

.drawer-nav {
    display:flex;
    flex-direction:column;
    gap:.45rem
}

.drawer-nav a {
    min-height:48px;
    border-radius:14px;
    padding:.75rem 1rem;
    color:#351817;
    font-weight:800;
    display:flex;
    align-items:center;
    gap:.8rem
}

.drawer-nav a:hover {
    background:#fff0dc;
    color:var(--maeme-red)
}

.drawer-nav i {
    width:20px;
    color:var(--maeme-red)
}

.drawer-divider {
    height:1px;
    background:var(--maeme-border);
    margin:1rem 0
}

.drawer-order-btn {
    width:100%;
    min-height:50px;
    border-radius:14px;
    background:var(--maeme-red);
    color:#fff;
    font-weight:900;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.5rem
}

.drawer-legal {
    display:flex;
    flex-wrap:wrap;
    gap:1rem;
    margin-top:1.2rem
}

.drawer-legal a {
    font-size:.78rem;
    font-weight:700;
    color:#7d6a64
}

/* Footer */
.public-footer {
    background:var(--maeme-red);
    color:#fff
}

.footer-container {
    max-width:1320px;
    margin:0 auto;
    padding:1.7rem 1.5rem 1rem
}

.footer-grid {
    display:grid;
    grid-template-columns:1.1fr .8fr 1.1fr;
    align-items:center;
    gap:2rem
}

.footer-links {
    display:flex;
    flex-wrap:wrap;
    gap:.35rem 1.05rem
}

.footer-links a {
    font-size:.86rem;
    font-weight:800;
    color:rgba(255,255,255,.9)
}

.footer-links a:hover {
    color:var(--maeme-yellow);
    text-decoration:underline
}

.footer-logo-wrap {
    text-align:center
}

.footer-logo {
    display:inline-flex;
    background:white;
    border-radius:12px;
    padding:.5rem
}

.footer-logo img {
    height:56px;
    width:auto
}

.footer-apps {
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:.55rem
}

.footer-apps img {
    height:40px;
    width:auto;
    display:block
}

.back-top {
    width:40px;
    height:40px;
    border:1px solid rgba(255,194,87,.6);
    border-radius:8px;
    background:var(--maeme-yellow);
    color:var(--maeme-red);
    align-items:center;
    justify-content:center
}

.footer-social {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:.6rem;
    margin-top:.8rem
}

.footer-social a,.footer-social span {
    width:36px;
    height:36px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:50%;
    background:rgba(255,255,255,.1);
    color:var(--maeme-yellow);
    display:flex;
    align-items:center;
    justify-content:center
}

.footer-bottom {
    border-top:1px solid rgba(255,255,255,.15);
    margin-top:1.1rem;
    padding-top:.8rem;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:1rem;
    font-size:.8rem;
    font-weight:700;
    color:rgba(255,255,255,.75)
}

.footer-bottom p {
    margin:0
}

.footer-legal-links {
    display:flex;
    gap:1rem
}

.footer-legal-links a {
    color:inherit
}

.footer-legal-links a:hover {
    color:var(--maeme-yellow)
}

.footer-separator {
    height:12px;
    width:1px;
    background:rgba(255,255,255,.25)
}

/* Common buttons/cards */
.maeme-btn {
    min-height:48px;
    border:0;
    border-radius:999px;
    padding:.78rem 1.55rem;
    font-weight:900;
    font-size:.9rem;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.55rem;
    transition:.2s
}

.maeme-btn-red {
    background:var(--maeme-red);
    color:#fff
}

.maeme-btn-red:hover {
    background:var(--maeme-red-dark);
    color:#fff
}

.maeme-btn-yellow {
    background:var(--maeme-yellow);
    color:var(--maeme-red)
}

.maeme-btn-outline {
    border:1px solid #ddbeaa;
    background:white;
    color:var(--maeme-red)
}

.maeme-btn-outline:hover {
    background:#fff1dd;
    color:var(--maeme-red)
}

.reveal {
    opacity:0;
    transform:translateY(22px);
    transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)
}

.reveal.is-visible {
    opacity:1;
    transform:none
}

.brand-card {
    border:1px solid #ead8c6;
    border-radius:20px;
    background:#fff;
    box-shadow:0 14px 38px rgba(50,24,16,.06)
}

/* Home */
.home-page {
    /*background:#fff8f2;*/
    color:#1f1210
}

.hero-video-section {
    /*background:#fff8f2;*/
    padding-bottom:0.5rem
}

.hero-video-frame {
    position:relative;
    aspect-ratio:1920/750;
    width:100%;
    overflow:hidden;
    /*background:#fff8f2*/
}

.hero-video {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:top;
    opacity:0;
    transition:opacity .7s
}

.hero-video.active {
    opacity:1;
    z-index:2
}

.hero-dots {
    display:flex;
    justify-content:center;
    gap:.5rem;
    padding-top:.85rem
}

.hero-dot {
    width:10px;
    height:10px;
    border:0;
    border-radius:99px;
    background:#d8d0ca;
    padding:0;
    transition:.25s
}

.hero-dot.active {
    width:32px;
    background:var(--maeme-red)
}

.promise-section {
    /*padding:5rem 0*/
}

.promise-grid {
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:2.5rem;
    align-items:center
}

.promise-title {
    font-size:clamp(2.1rem,4.2vw,3.85rem);
    font-weight:900;
    text-transform:uppercase;
    line-height:.98;
    letter-spacing:-.035em;
    margin:0
}

.promise-sub {
    margin:1.15rem 0 0;
    color:var(--maeme-yellow);
    font-size:clamp(1.2rem,2vw,1.55rem);
    font-weight:900
}

.promise-copy {
    max-width:34rem;
    margin:1rem 0 0;
    color:#6f5f5a;
    line-height:1.7
}

.promise-food {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:440px
}

.promise-food img {
    width:100%;
    height:540px;
    object-fit:contain;
    filter:drop-shadow(0 34px 38px rgba(63,24,18,.22))
}

.how-section {
    position:relative;
    overflow:hidden;
    /*background:#fff8f2;*/
    padding:2.5rem 0
}

.how-container {
    width:100%;
    max-width:1380px;
    margin:0 auto;
    padding:0 1rem
}

.how-heading {
    text-align:center
}

.how-kicker {
    max-width:420px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:1rem
}

.how-kicker-line {
    display:block;
    width:48px;
    height:1px;
    background:rgba(255,194,87,.75)
}

.how-kicker-core {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:.375rem
}

.how-kicker-flame {
    width:20px;
    height:20px;
    fill:var(--maeme-yellow);
    color:var(--maeme-yellow)
}

.how-kicker p {
    margin:0;
    color:var(--maeme-red);
    font-size:.625rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.34em
}

.how-title {
    margin:1.5rem 0 0;
    color:#1f1210;
    font-size:30px;
    font-weight:700;
    line-height:1.02;
    letter-spacing:-.025em
}

.how-line {
    width:64px;
    height:4px;
    margin:1rem auto 0;
    border-radius:999px;
    background:var(--maeme-yellow)
}

.how-copy {
    margin:1rem 0 0;
    color:#4f4541;
    font-size:.875rem;
    font-weight:400;
    line-height:1.5rem
}

.steps-grid {
    margin-top:2rem;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:.75rem;
    row-gap:1.75rem
}

.step-card {
    position:relative;
    text-align:center
}

.step-icon-box {
    position:relative;
    width:82px;
    height:82px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #ead7c7;
    border-radius:16px;
    background:#fff;
    box-shadow:0 12px 30px rgba(63,24,18,.05)
}

.step-number {
    position:absolute;
    left:-8px;
    top:-12px;
    width:28px;
    height:28px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--maeme-yellow);
    color:#1f1210;
    font-size:.75rem;
    font-weight:700;
    box-shadow:0 8px 18px rgba(255,194,87,.22)
}

.step-icon-inner {
    width:56px;
    height:56px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(153,4,30,.06);
    color:var(--maeme-red)
}

.step-icon-inner svg {
    width:29px;
    height:29px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round
}

.step-connector {
    display:none
}

.step-card h3 {
    margin:.75rem 0 0;
    color:#1f1210;
    font-size:.875rem;
    font-weight:700;
    line-height:1.25
}

.step-title-line {
    width:32px;
    height:2px;
    margin:.5rem auto 0;
    background:var(--maeme-yellow)
}

.step-card p {
    max-width:160px;
    margin:.5rem auto 0;
    color:#4f4541;
    font-size:.75rem;
    font-weight:400;
    line-height:1.25rem
}

.stores-section {
    padding:1.0rem 0;
    /*background:#fff8f2*/
}

.stores-container {
    width:100%;
    max-width:1320px;
    margin:0 auto;
    padding:0 1rem
}

.stores-head {
    margin-bottom:2.25rem;
    display:flex;
    flex-direction:column;
    gap:1rem
}

.stores-title {
    margin:0;
    color:#1f1210;
    font-size:30px;
    font-weight:700;
    line-height:1.02;
    letter-spacing:-.025em
}

.stores-copy {
    margin:.5rem 0 0;
    color:#6f5f5a;
    font-size:1rem;
    line-height:1.75
}

.stores-all-link {
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    color:var(--maeme-red);
    font-size:.875rem;
    font-weight:900
}

.stores-all-link:hover {
    color:var(--maeme-red-dark)
}

.stores-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:1.5rem
}

.store-preview {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #ead9cc;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(63, 24, 18, .07);
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.store-preview:hover {
    transform: translateY(-4px);
    border-color: #dfc2aa;
    box-shadow: 0 18px 42px rgba(63, 24, 18, .11);
}

.store-preview-media {
    position: relative;
    overflow: hidden;
    flex: 0 0 auto;
    border-radius: 24px 24px 0 0;
    background: #f3ebe3;
}

.store-preview-media img {
    display: block;
    width: 100%;
    height: 160px;
    object-fit: cover;
    transition: transform .45s ease;
}

.store-preview:hover .store-preview-media img {
    transform: scale(1.025);
}

.store-preview-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(28, 10, 7, .20) 0%, rgba(28, 10, 7, .06) 27%, transparent 48%),
        linear-gradient(180deg, transparent 58%, rgba(31, 18, 16, .20) 100%);
    pointer-events: none;
}

.store-preview-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1rem 1.1rem 1.1rem;
}

.store-preview h3 {
    margin: 0;
    color: #2a1815;
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.28;
    letter-spacing: -.012em;
    text-wrap: balance;
}

.store-preview-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: .4rem .8rem;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 999px;
    background: rgba(244, 252, 247, .96);
    color: #198754;
    font-size: .74rem;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 7px 18px rgba(31, 18, 16, .15);
    backdrop-filter: blur(8px);
}

.store-preview-status.closed {
    background: rgba(255, 243, 244, .97);
    color: var(--maeme-red);
}

.store-preview-status-overlay {
    position: absolute;
    top: .8rem;
    left: .8rem;
    z-index: 2;
}

.store-preview-address {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    margin: .72rem 0 0;
    color: #715f58;
    font-size: .84rem;
    font-weight: 400;
    line-height: 1.42rem;
}

.store-preview-address i {
    flex: 0 0 auto;
    margin-top: .12rem;
    color: var(--maeme-red);
    font-size: .9rem;
}

.store-preview-address span {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.store-preview-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    margin-top: auto;
    padding-top: .9rem;
    border-top: 1px solid #f2e5da;
    flex-wrap: nowrap;
}

.store-preview-meta-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 34px;
    padding: .48rem .62rem;
    border: 1px solid #eedfd2;
    border-radius: 11px;
    background: #fffaf5;
    color: #2a1815;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.store-preview-meta-chip i {
    font-size: .86rem;
}

.store-preview-meta-rating {
    margin-left: auto;
    background: #fff7e7;
}

.franchise-preview {
    min-height: 100%;
    border-radius: 24px;
    background: linear-gradient(180deg, #a50020 0%, #920019 100%);
    padding: 1.4rem;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 16px 38px rgba(153, 4, 30, .16);
}

.franchise-preview-icon {
    color: var(--maeme-yellow);
    font-size: 1.8rem;
}

.franchise-preview h3 {
    margin: 0;
    color: #fff;
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -.02em;
}

.franchise-preview p {
    margin: .65rem 0 0;
    color: rgba(255, 255, 255, .82);
    font-size: .88rem;
    line-height: 1.55;
}

.franchise-preview a {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: var(--maeme-yellow);
    font-size: .88rem;
    font-weight: 800;
}

.franchise-preview a:hover {
    color:#ffd98f
}

/* App promo card reused on home */
.app-promo-section {
    background:#fff;
    padding:1.5rem .75rem 1rem
}

.app-promo-card {
    max-width:1800px;
    margin:0 auto;
    border-radius:40px;
    overflow:hidden;
    color:white;
    background:radial-gradient(circle at 43% 42%,rgba(255,194,87,.12),transparent 32%),linear-gradient(135deg,#720014 0%,#990018 45%,#a5001d 68%,#720014 100%)
}

.app-promo-grid {
    display:grid;
    grid-template-columns:1.05fr .96fr .78fr .62fr;
    align-items:center;
    gap:2rem;
    min-height:720px;
    padding:3.5rem
}

.app-brand-line {
    display:flex;
    align-items:center;
    gap:1.25rem
}

.app-brand-line img {
    width:110px;
    height:110px;
    object-fit:contain
}

.app-brand-line span {
    font-size:1.35rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.18em
}

.app-promo-title {
    font-size:clamp(3rem,4vw,4.8rem);
    line-height:.98;
    letter-spacing:-.04em;
    font-weight:900;
    margin-top:1.6rem
}

.app-promo-title .script {
    font-family:"Brush Script MT","Segoe Script",cursive;
    font-size:.62em;
    font-weight:400;
    color:white;
}

.first-discount {
    display:inline-block;
    margin-top:.75rem;
    background:var(--maeme-yellow);
    color:var(--maeme-red);
    border-radius:.38rem;
    padding:.55rem .9rem;
    font-weight:900;
    text-transform:uppercase
}

.store-badges {
    /*display:flex;*/
    flex-wrap:wrap;
    gap:.75rem;
    margin-top:1.3rem
}

.store-badges img {
    height:56px;
    width:auto
}

.app-mockup {
    width:100%;
    max-height:600px;
    object-fit:contain;
    filter:drop-shadow(0 34px 80px rgba(0,0,0,.32))
}

.app-feature {
    display:flex;
    gap:1rem;
    align-items:center;
    padding:1rem 0
}

.app-feature+.app-feature {
    border-top:1px solid rgba(255,255,255,.14)
}

.app-feature-icon {
    width:54px;
    height:54px;
    border-radius:50%;
    border:1px solid var(--maeme-yellow);
    color:var(--maeme-yellow);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.4rem;
    flex:0 0 auto
}

.app-feature strong {
    display:block;
    font-size:1.15rem
}

.app-feature small {
    display:block;
    margin-top:.2rem;
    color:rgba(255,255,255,.88);
    font-size:.88rem
}

.qr-card {
    background:#fff;
    color:#1f1210;
    border-radius:24px;
    padding:1.25rem;
    text-align:center;
    box-shadow:0 22px 60px rgba(0,0,0,.2)
}

.qr-card img {
    width:100%;
    max-width:220px
}

.qr-card p {
    font-size:1.2rem;
    line-height:1.05;
    font-weight:900;
    margin:.8rem 0 0
}

/* Newsletter */
.newsletter-wrap {
    background:#fff;
    padding:1rem 1.5rem
}

.newsletter-card {
    max-width:1320px;
    margin:0 auto;
    border-radius:20px;
    background:var(--maeme-red);
    padding:1.25rem 2rem;
    color:#fff;
    display:grid;
    grid-template-columns:1fr minmax(360px,.92fr);
    gap:1.5rem;
    align-items:center;
    box-shadow:0 18px 46px rgba(153,4,30,.18)
}

.newsletter-card h2 {
    font-size:1.55rem;
    font-weight:900;
    text-transform:uppercase;
    margin:0
}

.newsletter-card p {
    margin:.2rem 0 0;
    font-size:.86rem;
    color:rgba(255,255,255,.8)
}

.newsletter-form {
    display:flex;
    gap:.75rem
}

.newsletter-form input {
    min-height:46px;
    flex:1;
    border:0;
    border-radius:13px;
    padding:0 1rem;
    outline:0
}

.newsletter-form button {
    min-height:46px;
    border:0;
    border-radius:13px;
    background:var(--maeme-yellow);
    color:var(--maeme-red);
    font-weight:900;
    padding:0 1.25rem
}

.form-success {
    display:none;
    margin-top:.6rem;
    font-size:.8rem;
    font-weight:800;
    color:#ffe3a0
}

.form-success.show {
    display:block
}

/* Public menu */
.menu-page {
    background:white;
    color:#3b211c
}

.menu-top {
    border-bottom:1px solid #edddb9;
    /*background:#fffdf7;*/
    padding:1.2rem 1rem;
    text-align:center
}

.menu-top p {
    margin:0;
    font-size:.72rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.26em;
    color:var(--maeme-red)
}

.menu-top h1 {
    margin:.2rem 0 0;
    font-size:1.8rem;
    font-weight:900;
    text-transform:uppercase;
    color:var(--maeme-red)
}

.menu-hero {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:#6d0216
}

.menu-hero-bg {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:.8;
    z-index:-2
}

.menu-hero:after {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(90deg,rgba(83,0,14,.98) 0%,rgba(153,4,30,.86) 42%,rgba(93,0,16,.25) 100%)
}

.menu-hero-grid {
    max-width:1440px;
    margin:0 auto;
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    align-items:center;
    min-height:430px;
    padding:0 3rem
}

.menu-hero-copy {
    color:#fff
}

.menu-hero-copy .eyebrow {
    color:var(--maeme-yellow)
}

.menu-hero-copy h2 {
    font-size:clamp(3rem,6vw,4.6rem);
    font-weight:900;
    text-transform:uppercase;
    line-height:.9;
    letter-spacing:-.04em
}

.menu-hero-copy p {
    max-width:34rem;
    color:rgba(255,255,255,.9);
    font-weight:600;
    line-height:1.7
}

.menu-hero-food {
    position:relative;
    height:430px
}

.menu-hero-food img {
    position:absolute;
    left:50%;
    bottom:-8%;
    transform:translateX(-50%);
    height:118%;
    width:125%;
    max-width:none;
    object-fit:contain;
    object-position:bottom;
    filter:drop-shadow(0 24px 30px rgba(35,0,7,.4))
}

.category-nav {
    position:sticky;
    top:var(--site-header-height);
    z-index:1000;
    border-top:1px solid #eadfca;
    border-bottom:1px solid #eadfca;
    background:rgba(255,255,255,.96);
    padding:.7rem 1rem;
    box-shadow:0 8px 22px rgba(69,25,18,.06);
    backdrop-filter:blur(10px)
}

.category-nav-inner {
    max-width:1380px;
    margin:0 auto;
    display:flex;
    align-items:center;
    gap:.5rem
}

.category-rail {
    display:flex;
    gap:.5rem;
    overflow-x:auto;
    scrollbar-width:none;
    flex:1
}

.category-rail::-webkit-scrollbar {
    display:none
}

.category-pill {
    min-height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    border:1px solid #d7a9a3;
    border-radius:999px;
    background:#fff;
    color:var(--maeme-red);
    padding:.55rem 1rem;
    font-size:.68rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em
}

.category-pill:hover,.category-pill.active {
    border-color:var(--maeme-yellow);
    background:var(--maeme-yellow);
    color:var(--maeme-red)
}

.category-arrow {
    width:40px;
    height:40px;
    border:1px solid #d7a9a3;
    background:#fff;
    color:var(--maeme-red);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto
}

.menu-content {
    max-width:1380px;
    margin:0 auto;
    padding:4rem 3rem
}

.menu-category {
    scroll-margin-top:125px;
    margin-bottom:2rem
}

.menu-category-title {
    display:flex;
    align-items:center;
    gap:1rem;
    margin-bottom:2rem
}

.menu-category-title h2 {
    color:var(--maeme-red);
    font-size:1.5rem;
    font-weight:900;
    margin:0
}

.menu-category-title span {
    height:1px;
    background:#e8d5ae;
    flex:1
}

.menu-products {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:4rem 2.5rem
}

.menu-product {
    min-width:0
}

.menu-product-image {
    height:260px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    overflow:visible
}

.menu-product-image img {
    width:100%;
    height:100%;
    object-fit:contain;
    transform:scale(1.06);
    transition:.3s
}

.menu-product:hover .menu-product-image img {
    transform:scale(1.1)
}

.menu-product h3 {
    font-size:1rem;
    line-height:1.25;
    font-weight:900;
    color:var(--maeme-red);
    margin:1.1rem 0 .4rem
}

.menu-product p {
    font-size:.90rem;
    font-weight:600;
    line-height:1.55;
    color:#6b514a;
    margin:0
}

.menu-kcal {
    display:block;
    margin-top:.8rem;
    font-size:.65rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.1em;
    color:var(--maeme-red)
}

/* Food page */
.food-page {
    /*background:#fff8f2;*/
    color:#3a1715
}

.full-video-banner {
    width:100%;
    overflow:hidden;
    background:var(--maeme-red)
}


.full-video-banner video {
    display:block;
    width:100%;
    height:auto;
    object-fit:contain
}

.food-grid {
    max-width:1720px;
    margin:0 auto;
    padding:4rem 2rem;
    display:grid;
    grid-template-columns:repeat(12,1fr);
    gap:2rem
}

.food-panel {
    position:relative;
    overflow:hidden;
    border-radius:36px;
    min-height:560px;
    box-shadow:0 22px 58px rgba(102,20,25,.09)
}

.food-panel.full {
    grid-column:span 12
}

.food-panel.seven {
    grid-column:span 7
}

.food-panel.five {
    grid-column:span 5
}

.food-panel .panel-bg {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover
}

.food-panel-inner {
    position:relative;
    z-index:2;
    height:100%;
    display:grid;
    align-items:center;
    gap:2rem;
    padding:3rem 5vw
}

.food-panel.full .food-panel-inner {
    grid-template-columns:.82fr 1.18fr
}

.food-panel.innovation .food-panel-inner {
    grid-template-columns:1.12fr .88fr
}

.food-panel.stack .food-panel-inner {
    display:flex;
    flex-direction:column;
    align-items:stretch
}

.food-panel.red {
    background:#b90023;
    color:#fff;
    border:1px solid rgba(169,12,34,.35)
}

.food-panel.yellow {
    background:linear-gradient(145deg,#fff9ea,#ffe8a7);
    border:1px solid #f0cf88
}

.food-panel.soft {
    background:linear-gradient(155deg,#fff8f3,#ffe9e3);
    border:1px solid rgba(216,58,67,.45)
}

.food-panel.gold {
    background:#ffca08;
    border:1px solid rgba(233,182,36,.55)
}

.food-panel.white {
    background:#fff;
    border:1px solid #ead8c6
}

.food-panel-copy .eyebrow {
    display:inline-block
}

.food-panel.red .eyebrow {
    color:var(--maeme-yellow)
}

.food-panel-copy h2 {
    font-size:clamp(2.4rem,5vw,4.8rem);
    font-weight:900;
    text-transform:uppercase;
    line-height:.9;
    letter-spacing:-.05em;
    margin:.8rem 0
}

.food-panel-copy p {
    max-width:34rem;
    font-size:1rem;
    line-height:1.75;
    color:rgba(58,23,21,.76)
}

.food-panel.red .food-panel-copy p {
    color:rgba(255,255,255,.86)
}

.decor-wave {
    width:92px;
    height:14px;
    display:block;
    margin:.5rem 0 0
}

.food-panel-image {
    position:relative;
    min-height:500px
}

.food-panel-image img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:contain;
    filter:drop-shadow(0 28px 34px rgba(90,18,18,.16))
}

.food-panel.stack .food-panel-image {
    margin-top:auto;
    width:100%
}
/* App page */
.app-page {
    /*background:#fffaf4;*/
    color:#1f1210
}

.app-benefits-section {
    padding:1.5rem 1.5rem
}

.app-section-head {
    text-align:center;
    max-width:760px;
    margin:0 auto
}

.app-benefit-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1rem;
    margin-top:2.4rem
}

.app-benefit {
    border:1px solid #ead8c6;
    background:#fff;
    border-radius:18px;
    padding:1.25rem;
    /*box-shadow:0 12px 32px rgba(63,24,18,.05);*/
    transition:.25s
}

.app-benefit:hover {
    transform:translateY(-4px);
    box-shadow:0 18px 42px rgba(63,24,18,.08)
}

.app-benefit-icon {
    width:42px;
    height:42px;
    border-radius:12px;
    background:rgba(153,4,30,.07);
    color:var(--maeme-red);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.2rem
}

.app-benefit h3 {
    font-size:1.05rem;
    font-weight:900;
    margin:1rem 0 .35rem
}

.app-benefit p {
    font-size:.85rem;
    line-height:1.55;
    color:#6f5f5a;
    margin:0
}

.app-feature-section {
    background:#fff;
    padding:2rem 1.5rem
}

.app-feature-grid {
    max-width:1320px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:4rem
}

.app-feature-image img {
    width:100%;
    max-height:540px;
    object-fit:contain
}

.check-list {
    list-style:none;
    padding:0;
    margin:1.5rem 0 0
}

.check-list li {
    display:flex;
    gap:.8rem;
    align-items:flex-start;
    margin:.8rem 0;
    color:#3f302b
}

.check-list .check {
    width:20px;
    height:20px;
    border-radius:50%;
    background:var(--maeme-yellow);
    color:var(--maeme-red);
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    font-size:.75rem
}

.app-deal-section {
    position:relative;
    overflow:hidden;
    background:#fff8ec;
    padding:2rem 1.5rem
}

.app-deal-bg {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:.14
}

.app-deal-grid {
    position:relative;
    max-width:1200px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:1.5rem
}

.app-deal-image img {
    width:100%;
    max-height:460px;
    object-fit:contain
}

.download-cta {
    background:var(--maeme-red);
    padding:2rem 1.5rem;
    color:#fff
}

.download-cta-grid {
    max-width:1100px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:3rem
}

.download-qr {
    background:#fff;
    border-radius:24px;
    padding:1rem;
    text-align:center;
    color:#1f1210
}

.download-qr img {
    width:180px
}

.download-qr strong {
    display:block;
    margin-top:.4rem
}

/* Franchise */
.franchise-page {
    background:white;
    color:#1f1210
}

.franchise-hero {
    position:relative;
    overflow:hidden;
    background:var(--maeme-red);
    color:white
}

.franchise-hero-bg {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:.22
}

.franchise-hero-grid {
    position:relative;
    max-width:1320px;
    margin:0 auto;
    display:grid;
    grid-template-columns:.95fr 1.05fr;
    align-items:center;
    gap:3rem;
    padding:2.5rem 1.5rem
}

.franchise-hero h1 {
    font-size:clamp(2.8rem,5vw,4.8rem);
    font-weight:900;
    line-height:.96;
    letter-spacing:-.045em
}

.franchise-hero p {
    max-width:36rem;
    color:rgba(255,255,255,.82);
    line-height:1.75
}

.franchise-hero-img {
    position:relative;
    min-height:410px
}

.franchise-hero-img img {
    width:100%;
    height:100%;
    max-height:470px;
    object-fit:contain;
    filter:drop-shadow(0 26px 32px rgba(92,32,15,.18))
}

.partner-section {
    /*background:#fffaf4;*/
    padding:2rem 1.5rem
}

.partner-grid {
    max-width:1320px;
    margin:0 auto
}

.partner-benefits {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1rem;
    margin-top:2rem
}

.partner-card {
    border:1px solid #ead8c6;
    background:#fff;
    border-radius:20px;
    padding:1.4rem;
    /*box-shadow:0 12px 30px rgba(63,24,18,.05)*/
}

.partner-icon {
    width:46px;
    height:46px;
    border-radius:14px;
    background:#fff1dd;
    color:var(--maeme-red);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.25rem
}

.partner-card h3 {
    font-size:1.05rem;
    font-weight:900;
    color:var(--maeme-red);
    margin:1rem 0 .4rem
}

.partner-card p {
    font-size:.85rem;
    line-height:1.6;
    color:#6f5f5a
}

.support-section {
    padding:2rem 1.5rem;
    background:#fff
}

.support-grid {
    max-width:1320px;
    margin:0 auto;
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:3rem;
    align-items:center
}

.support-image img {
    width:100%;
    max-height:430px;
    object-fit:contain
}

.journey-section {
    background:var(--maeme-red);
    color:#fff;
    padding:2.5rem 1.5rem
}

.journey-grid {
    max-width:1320px;
    margin:2rem auto 0;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1rem
}

.journey-card {
    position:relative;
    border:1px solid rgba(255,255,255,.15);
    border-radius:22px;
    background:rgba(255,255,255,.07);
    padding:1.5rem
}

.journey-index {
    position:absolute;
    right:1rem;
    top:.8rem;
    font-size:3rem;
    font-weight:900;
    color:rgba(255,255,255,.1)
}

.journey-icon {
    width:48px;
    height:48px;
    border-radius:12px;
    background:var(--maeme-yellow);
    color:var(--maeme-red);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.2rem
}

.journey-card h3 {
    font-size:1.08rem;
    font-weight:900;
    margin:1rem 0 .45rem
}

.journey-card p {
    font-size:1.0rem;
    line-height:1.6;
    color:rgba(255,255,255,.72)
}

.franchise-form-section {
    /*background:#fffaf4;*/
    padding:5rem 1.5rem
}

.franchise-form-grid {
    max-width:1180px;
    margin:0 auto;
    display:grid;
    grid-template-columns:.7fr 1.3fr;
    gap:3rem
}

.form-info-box {
    border:1px solid #f0d59d;
    border-radius:20px;
    background:#fff;
    padding:1.25rem;
    margin-top:1.5rem
}

.brand-form {
    border:1px solid #ead8c6;
    border-radius:24px;
    background:#fff;
    padding:2rem;
    box-shadow:0 18px 50px rgba(63,24,18,.07)
}

.brand-form label {
    font-size:.85rem;
    font-weight:800;
    color:#3f302b;
    margin-bottom:.45rem
}

.brand-form .form-control,.brand-form .form-select {
    min-height:48px;
    border:1px solid #ddc8b5;
    border-radius:12px;
    background:#fffdf9;
    font-size:.9rem
}

.brand-form .form-control:focus,.brand-form .form-select:focus {
    border-color:var(--maeme-red);
    box-shadow:0 0 0 .25rem rgba(153,4,30,.08)
}

.brand-form textarea.form-control {
    min-height:120px
}

.brand-form-success {
    display:none;
    margin-top:1rem;
    border:1px solid #b9dfc7;
    border-radius:12px;
    background:#f0fbf4;
    padding:.8rem 1rem;
    color:#176b3a;
    font-size:.85rem;
    font-weight:700
}

.brand-form-success.show {
    display:block
}

/* Career */
.career-page {
    /*background:#fff8f2;*/
    color:#351817
}

.career-hero {
    padding:4rem 1.5rem
}

.career-hero-grid {
    max-width:1320px;
    margin:0 auto;
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:3rem;
    align-items:center
}

.career-hero h1 {
    font-size:clamp(2.5rem,5vw,4rem);
    font-weight:900;
    line-height:.98;
    letter-spacing:-.04em
}

.career-hero-image {
    overflow:hidden;
    border:1px solid #e8ccba;
    background:#fff;
    padding:.5rem;
    border-radius:26px;
    box-shadow:0 24px 64px rgba(74,32,20,.1)
}

.career-hero-image img {
    width:100%;
    aspect-ratio:776/494;
    object-fit:cover;
    border-radius:20px
}

.career-benefits-section {
    background:#fff;
    padding:4rem 1.5rem
}

.career-benefits {
    max-width:1320px;
    margin:2rem auto 0;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1rem
}

.career-benefit {
    border:1px solid #e9d3c5;
    background:#fffbf7;
    border-radius:20px;
    padding:1.25rem
}

.career-benefit i {
    width:44px;
    height:44px;
    border-radius:12px;
    background:#fff0d2;
    color:var(--maeme-red);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.25rem
}

.career-benefit h3 {
    font-size:1.05rem;
    font-weight:900;
    color:var(--maeme-red);
    margin:1rem 0 .4rem
}

.career-benefit p {
    font-size:.85rem;
    line-height:1.6;
    color:#715d57
}

.career-journey {
    background:var(--maeme-red);
    color:#fff;
    padding:4rem 1.5rem
}

.career-journey-list {
    max-width:1100px;
    margin:2rem auto 0;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1rem
}

.career-journey-item {
    border:1px solid rgba(255,255,255,.15);
    background:rgba(255,255,255,.07);
    border-radius:20px;
    padding:1.4rem
}

.career-step {
    width:36px;
    height:36px;
    border-radius:50%;
    background:var(--maeme-yellow);
    color:var(--maeme-red);
    font-weight:900;
    display:flex;
    align-items:center;
    justify-content:center
}

.career-form-section {
    padding:4rem 1.5rem
}

.career-form-wrap {
    max-width:1080px;
    margin:0 auto
}

.career-form {
    border:1px solid #e8ccba;
    border-radius:24px;
    background:#fff;
    padding:2rem;
    box-shadow:0 18px 50px rgba(74,32,20,.07);
    margin-top:2rem
}

.form-section-title {
    display:flex;
    align-items:center;
    gap:.7rem;
    margin:1.8rem 0 1rem;
    padding-bottom:.8rem;
    border-bottom:1px solid #f0ded2
}

.form-section-title:first-child {
    margin-top:0
}

.form-section-number {
    width:34px;
    height:34px;
    border-radius:50%;
    background:#fff0d2;
    color:var(--maeme-red);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:.78rem;
    font-weight:900
}

.form-section-title h3 {
    font-size:1rem;
    font-weight:900;
    margin:0
}

.availability-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1rem
}

.cv-drop {
    min-height:132px;
    border:1px dashed #d9ae92;
    border-radius:18px;
    background:#fffbf7;
    padding:1.25rem;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    cursor:pointer
}

.cv-drop i {
    font-size:1.5rem;
    color:var(--maeme-red)
}

.cv-drop strong {
    margin-top:.4rem
}

.cv-file-name {
    font-size:.78rem;
    color:#715d57;
    margin-top:.45rem
}

.career-success {
    display:none;
    border:1px solid #b9dfc7;
    border-radius:24px;
    background:#fff;
    padding:2rem;
    text-align:center
}

.career-success.show {
    display:block
}

.life-section {
    background:#fff;
    padding:4rem 1.5rem
}

.life-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1rem;
    max-width:1320px;
    margin:2rem auto 0
}

.life-grid img {
    width:100%;
    height:260px;
    object-fit:cover;
    border:1px solid #e8ccba;
    border-radius:20px
}

.faq-section {
    padding:4rem 1.5rem
}

.faq-wrap {
    max-width:900px;
    margin:0 auto
}

.accordion.maeme-accordion .accordion-item {
    border:1px solid #e8ccba;
    border-radius:18px!important;
    overflow:hidden;
    margin-bottom:.8rem
}

.maeme-accordion .accordion-button {
    font-weight:900;
    color:#351817;
    background:#fff;
    box-shadow:none
}

.maeme-accordion .accordion-button:not(.collapsed) {
    color:var(--maeme-red);
    background:#fffaf4
}

.career-contact {
    padding:0 1.5rem 4rem
}

.career-contact-card {
    max-width:1100px;
    margin:0 auto;
    border-radius:24px;
    background:var(--maeme-red);
    padding:2rem;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    box-shadow:0 18px 46px rgba(153,4,30,.18)
}

/* Branches */
.branches-page {
    /*background:#fff9f1;*/
    color:#351817;
    padding:3.5rem 0
}

.branch-header {
    border-left:4px solid var(--maeme-yellow);
    padding-left:1.2rem;
    margin-bottom:2rem
}

.branch-header h1 {
    font-size:clamp(2.4rem,4vw,3.3rem);
    font-weight:900;
    letter-spacing:-.04em;
    margin:.35rem 0
}

.opening-card {
    position: relative;
    border: 1px solid #e8ccba;
    border-left: 5px solid var(--maeme-yellow);
    border-radius: 24px;
    background: #ffffff;
    /*box-shadow: 0 14px 40px rgba(74, 32, 20, .07);*/
    padding: 1.35rem;
    margin-bottom: 1.4rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    overflow: hidden;
}

.opening-card h2 {
    font-size: 1.25rem;
    font-weight: 900;
    margin: .25rem 0;
}

.branch-search-shell {
    position:sticky;
    top:var(--site-header-height);
    z-index:1000;
    /*background:rgba(255,249,241,.96);*/
    padding:.5rem 0;
    margin-bottom:1.2rem;
    backdrop-filter:blur(10px)
}

.branch-search-box {
    border:1px solid #eed9cb;
    background:rgba(255,255,255,.9);
    border-radius:22px;
    padding:1rem;
    box-shadow:0 14px 40px rgba(74,32,20,.07)
}

.branch-search-row {
    display:flex;
    gap:.8rem
}

.branch-search-input {
    position:relative;
    flex:1
}

.branch-search-input i {
    position:absolute;
    left:1rem;
    top:50%;
    transform:translateY(-50%);
    color:var(--maeme-red)
}

.branch-search-input input {
    width:100%;
    min-height:54px;
    border:1px solid #e5cbbb;
    border-radius:14px;
    padding:0 2.8rem;
    font-weight:700;
    outline:0
}

.branch-search-input input:focus {
    border-color:var(--maeme-red);
    box-shadow:0 0 0 .25rem rgba(153,4,30,.07)
}

.filter-btn {
    min-width:130px;
    border:1px solid #e5cbbb;
    border-radius:14px;
    background:white;
    color:var(--maeme-red);
    font-weight:900
}

.status-filters {
    display:none;
    gap:.7rem;
    flex-wrap:wrap;
    margin-top:.8rem
}

.status-filters.show {
    display:flex
}

.status-chip {
    border:1px solid #e5cbbb;
    border-radius:999px;
    background:#fff;
    padding:.55rem .9rem;
    font-size:.75rem;
    font-weight:800;
    color:#6b554e
}

.status-chip.active {
    background:#fff1dd;
    color:var(--maeme-red);
    border-color:#d9ae92
}

.mobile-view-toggle {
    display:none
}

.branches-layout {
    display:grid;
    grid-template-columns:44fr 56fr;
    gap:1.75rem;
    align-items:start
}

.branch-list {
    display:flex;
    flex-direction:column;
    gap:1rem
}

.branch-result-head {
    display:flex;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:1rem
}

.branch-card {
    border: 1px solid #e8ccba;
    border-top: 4px solid var(--maeme-red);
    border-radius: 24px;
    background: #ffffff;
    padding: 1.2rem;
    box-shadow: 0 12px 30px rgba(74, 32, 20, .05);
    transition: .2s;
}

.branch-card.selected {
    border-color: #e8ccba;
    border-top: 4px solid var(--maeme-red);
    box-shadow: 0 16px 36px rgba(153, 4, 30, .11);
}

.branch-card-top {
    display:flex;
    justify-content:space-between;
    gap:1rem
}

.branch-number {
    width:36px;
    height:36px;
    border-radius:50%;
    background:#fff0d2;
    color:var(--maeme-red);
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:900;
    flex:0 0 auto
}

.branch-status {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    min-height: 34px;
    padding: .45rem .85rem;
    border: 1px solid #b9dfc7;
    border-radius: 999px;
    background: #eefaf2;
    color: #167443;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.branch-status::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #2a9d5b;
    flex: 0 0 auto;
}

.branch-status.closed {
    border-color: #f4cfd4;
    background: #fdebed;
    color: var(--maeme-red);
}

.branch-status.closed::before {
    display: none;
}

.branch-card h3 {
    font-size:1.08rem;
    font-weight:900;
    margin:0
}

.branch-address {
    color:#715d57;
    font-size:.84rem;
    line-height:1.5
}

.branch-meta-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:.7rem;
    margin-top:1rem
}

.branch-meta {
    border-radius:13px;
    background:#fff9f1;
    padding:.65rem .75rem;
    /*font-size:.76rem;*/
    color:#5c4841
}

.branch-actions {
    display:flex;
    gap:.6rem;
    margin-top:1rem
}

.branch-actions a,.branch-actions button {
    min-height:42px;
    border-radius:12px;
    padding:0 1rem;
    font-size:.8rem;
    font-weight:900;
    display:inline-flex;
    align-items:center;
    justify-content:center
}

.branch-order {
    border:0;
    background:var(--maeme-red);
    color:#fff
}

.branch-order:disabled {
    opacity:.45
}

.branch-call {
    border:1px solid #ddbeaa;
    background:#fff;
    color:var(--maeme-red)
}

.map-column {
    position:sticky;
    top:100px
}

.branches-google-map-shell {
    position: relative;
    overflow: hidden;
    border: 1px solid #e8ccba;
    border-radius: 24px;
    background: #f4eee8;
    box-shadow: 0 16px 42px rgba(74, 32, 20, .07);
}

.stores-map {
    position: relative;
    width: 100%;
    min-height: 530px;
    border: 0;
    border-radius: 24px;
    background: #f4eee8;
    overflow: hidden;
    box-shadow: none;
}

.branches-google-map {
    width: 100%;
    height: 530px;
    min-height: 530px;
}

.branches-google-map .gm-style {
    font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.branches-google-map .gm-style .gm-style-iw-c {
    border-radius: 14px;
    box-shadow: 0 12px 30px rgba(74, 32, 20, .16);
}

.branch-google-map-label {
    position: absolute;
    z-index: 2;
    max-width: 130px;
    padding: .28rem .5rem;
    border: 1px solid rgba(153, 4, 30, .14);
    border-radius: 999px;
    background: rgba(255, 255, 255, .96);
    color: #5a2925;
    box-shadow: 0 5px 14px rgba(74, 32, 20, .12);
    font-size: .68rem;
    font-weight: 800;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
    transform: translate(-50%, 24px);
    transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.branch-google-map-label.selected {
    border-color: rgba(153, 4, 30, .22);
    background: var(--maeme-yellow);
    color: var(--maeme-red);
    box-shadow: 0 7px 18px rgba(153, 4, 30, .18);
}

.branches-map-fallback {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: 2rem;
    background: linear-gradient(135deg, #fff9f1 0%, #f8eee3 100%);
    color: #715d57;
    text-align: center;
}

.branches-map-fallback i {
    color: var(--maeme-red);
    font-size: 2rem;
}

.branches-map-fallback strong {
    color: #351817;
    font-size: 1rem;
    font-weight: 900;
}

.branches-map-fallback span {
    max-width: 340px;
    font-size: .82rem;
    line-height: 1.5;
}


.map-summary {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:.7rem;
    margin-top:.8rem
}

.map-stat {
    border:1px solid #e8ccba;
    border-radius:16px;
    background:#fff;
    padding:.85rem;
    text-align:center
}

.map-stat strong {
    display:block;
    color:var(--maeme-red);
    font-size:1.20rem
}

.map-stat span {
    /*font-size:.85rem;*/
    color:#715d57
}

.quick-jump {
    margin-top:.8rem;
    border:1px solid #e8ccba;
    border-radius:18px;
    background:#fff;
    padding:.8rem
}

.quick-jump select {
    border:0;
    width:100%;
    font-weight:800;
    outline:0;
    background:transparent
}

.opening-list {
    max-height:55vh;
    overflow-y:auto
}

.opening-row {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1rem;
    padding:1rem 0;
    border-bottom:1px solid #eedfd5
}

.opening-row:last-child {
    border-bottom:0
}

.opening-row h3 {
    font-size:1.25rem;
    font-weight:700;
    margin:0
}

.opening-row p {
    /*font-size:.8rem;*/
    color:#715d57;
    margin:.2rem 0 0
}

.opening-label {
    border-radius:999px;
    background:#fff2d5;
    color:var(--maeme-red);
    padding:.4rem .7rem;
    font-size:1.0rem;
    font-weight:900
}

/* Blog */
.blog-page {
    background:#fffaf4;
    color:#1f1210;
    padding:4rem 1.5rem
}

.blog-header {
    max-width:760px;
    margin:0 auto 3rem;
    text-align:center
}

.blog-grid {
    max-width:1320px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.5rem
}

.blog-card {
    overflow:hidden;
    border:1px solid #f0d59d;
    border-radius:24px;
    background:#fff;
    box-shadow:0 14px 38px rgba(50,24,16,.08);
    transition:.25s;
    color:#1f1210
}

.blog-card:hover {
    transform:translateY(-4px);
    box-shadow:0 18px 50px rgba(50,24,16,.13);
    color:#1f1210
}

.blog-card.featured {
    grid-column:span 2
}

.blog-image {
    height:230px;
    background:#fff8ed;
    overflow:hidden
}

.blog-card.featured .blog-image {
    height:290px
}

.blog-image img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.5s
}

.blog-card:hover .blog-image img {
    transform:scale(1.05)
}

.blog-body {
    padding:1.5rem
}

.blog-category {
    font-size:.7rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.16em;
    color:var(--maeme-red)
}

.blog-body h2 {
    font-size:1.5rem;
    font-weight:900;
    line-height:1.1;
    margin:.7rem 0
}

.blog-body p {
    font-size:.88rem;
    line-height:1.65;
    color:#6b5b55
}

.read-more {
    font-size:.82rem;
    font-weight:900;
    color:var(--maeme-red)
}

.article-page {
    background:#fffaf4;
    padding:4rem 1.5rem
}

.article-wrap {
    max-width:920px;
    margin:0 auto
}

.article-back {
    font-weight:900;
    color:var(--maeme-red)
}

.article-hero {
    margin-top:1.5rem;
    overflow:hidden;
    border-radius:26px;
    border:1px solid #f0d59d;
    background:#fff
}

.article-hero img {
    width:100%;
    height:430px;
    object-fit:cover
}

.article-content {
    background:#fff;
    border:1px solid #f0d59d;
    border-radius:24px;
    padding:2.2rem;
    margin-top:1.5rem
}

.article-content h1 {
    font-size:clamp(2.2rem,5vw,3.7rem);
    font-weight:900;
    line-height:1;
    letter-spacing:-.04em
}

.article-content p {
    font-size:1rem;
    line-height:1.85;
    color:#5e4f49
}

/* Contact */
.contact-page {
    background:#f5f1e8;
    min-height:100vh;
    padding:4rem 1.5rem
}

.contact-head {
    text-align:center;
    max-width:760px;
    margin:0 auto 3rem
}

.contact-head h1 {
    font-size:clamp(2.5rem,5vw,4rem);
    font-weight:900
}

.contact-grid {
    max-width:1280px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr 2fr;
    gap:2rem
}

.contact-info {
    display:flex;
    flex-direction:column;
    gap:1rem
}

.contact-info-card {
    background:#fff;
    border-radius:18px;
    padding:1.6rem;
    box-shadow:0 10px 28px rgba(50,24,16,.08);
    border-left:4px solid var(--maeme-red)
}

.contact-info-card.yellow {
    border-left-color:var(--maeme-yellow)
}

.contact-info-top {
    display:flex;
    align-items:center;
    gap:1rem
}

.contact-icon {
    width:54px;
    height:54px;
    border-radius:50%;
    background:linear-gradient(135deg,#c41e3a,#8b1428);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.25rem
}

.contact-info-card.yellow .contact-icon {
    background:linear-gradient(135deg,#ffc61e,#ffb800);
    color:#2a1818
}

.contact-form {
    background:#fff;
    border-radius:18px;
    padding:2rem;
    border:2px solid #e8e0d5;
    box-shadow:0 10px 28px rgba(50,24,16,.08)
}

.contact-form .form-control {
    min-height:50px;
    border:2px solid #e8e0d5;
    border-radius:12px
}

.contact-form textarea.form-control {
    min-height:150px
}

.contact-form .form-control:focus {
    border-color:#c41e3a;
    box-shadow:0 0 0 .25rem rgba(196,30,58,.08)
}

/* Legal */
.legal-page {
    background:#fffaf4;
    padding:4rem 1.5rem
}

.legal-wrap {
    max-width:940px;
    margin:0 auto
}

.legal-hero {
    background:var(--maeme-red);
    color:#fff;
    border-radius:24px;
    padding:2.4rem
}

.legal-hero h1 {
    font-size:clamp(2.4rem,5vw,3.8rem);
    font-weight:900
}

.legal-hero p {
    color:rgba(255,255,255,.82);
    line-height:1.75
}

.legal-section {
    background:#fff;
    border:1px solid #ead8c6;
    border-radius:20px;
    padding:1.6rem;
    margin-top:1rem
}

.legal-section h2 {
    font-size:1.25rem;
    font-weight:900;
    color:var(--maeme-red)
}

.legal-section p {
    margin:0;
    color:#655650;
    line-height:1.8
}

@media(max-width:1199.98px) {
    .page-container {
        padding:0 1.5rem
    }
    .app-promo-grid {
        grid-template-columns:1fr 1fr;
        min-height:auto;
        padding:2.5rem
    }
    .app-promo-copy {
        grid-column:1
    }
    .app-promo-phone {
        grid-column:2
    }
    .app-promo-features {
        grid-column:1
    }
    .app-promo-qr {
        grid-column:2
    }
    .stores-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .franchise-preview {
        /*min-height:260px*/
    }
    .menu-products {
        grid-template-columns:repeat(3,1fr)
    }
}

@media(max-width:991.98px) {
    .page-container {
        padding:0 1rem
    }
    .header-brand-wrap {
        min-width:0
    }
    .site-logo img {
        height:50px
    }
    .header-actions {
        gap:.5rem
    }
    .order-pill {
        height:40px;
        padding:0 1.05rem;
        font-size:.78rem
    }
    .footer-grid {
        grid-template-columns:1fr;
        gap:1rem
    }
    .footer-logo-wrap {
        order:-1
    }
    .footer-links {
        justify-content:center
    }
    .footer-apps {
        justify-content:center
    }
    .promise-grid,.app-feature-grid,.app-deal-grid,.franchise-hero-grid,.support-grid,.career-hero-grid,.contact-grid,.franchise-form-grid {
        grid-template-columns:1fr
    }
    .promise-food {
        min-height:350px
    }
    .promise-food img {
        height:420px
    }
    .app-promo-card {
        border-radius:30px
    }
    .food-grid {
        gap:1.3rem
    }
    .food-panel.seven,.food-panel.five {
        grid-column:span 12
    }
    .food-panel.full .food-panel-inner,.food-panel.innovation .food-panel-inner {
        grid-template-columns:1fr
    }
    .food-panel.full .food-panel-image {
        min-height:380px
    }
    .app-benefit-grid,.partner-benefits,.career-benefits {
        grid-template-columns:repeat(2,1fr)
    }
    .journey-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .branches-layout {
        grid-template-columns:1fr
    }
    .map-column {
        position:relative;
        top:auto
    }
    .mobile-view-toggle {
        display:grid;
        grid-template-columns:1fr 1fr;
        border:1px solid #ebcfbc;
        background:#fff;
        border-radius:16px;
        padding:.35rem;
        margin-bottom:1rem
    }
    .mobile-view-toggle button {
        border:0;
        background:transparent;
        border-radius:12px;
        padding:.7rem;
        font-weight:900;
        color:#765b52
    }
    .mobile-view-toggle button.active {
        background:var(--maeme-red);
        color:#fff
    }
    .branches-layout[data-view="list"] .map-column {
        display:none
    }
    .branches-layout[data-view="map"] .branch-results {
        display:none
    }
    .menu-hero-grid {
        grid-template-columns:1fr;
        min-height:430px;
        padding:2.5rem 2rem 0
    }
    .menu-hero-copy {
        text-align:center
    }
    .menu-hero-copy p {
        margin-left:auto;
        margin-right:auto
    }
    .menu-hero-food {
        height:250px
    }
    .menu-products {
        grid-template-columns:repeat(2,1fr)
    }
    .blog-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .blog-card.featured {
        grid-column:span 2
    }
    .download-cta-grid {
        grid-template-columns:1fr;
        text-align:center
    }
    .download-qr {
        margin:0 auto
    }
    .availability-grid {
        grid-template-columns:repeat(2,1fr)
    }
}

@media(max-width:767.98px) {
    :root {
        --site-header-height:80px
    }
    .site-main {
        padding-top:var(--site-header-height)
    }
    .page-container {
        padding:0 .8rem
    }
    .footer-container {
        padding:1.2rem 1rem
    }
    .footer-bottom {
        flex-direction:column;
        gap:.25rem
    }
    .promise-section {
        padding:2.2rem 0
    }
    .promise-grid {
        gap:.5rem
    }
    .promise-title {
        font-size:2rem
    }
    .promise-sub {
        font-size:1.15rem
    }
    .promise-food {
        min-height:210px
    }
    .promise-food img {
        height:240px
    }
    .app-promo-section {
        padding:.8rem .5rem 2.5rem
    }
    .app-promo-card {
        border-radius:22px
    }
    .app-promo-grid {
        grid-template-columns:1fr 1fr;
        gap:1rem;
        padding:1.2rem;
        min-height:0
    }
    .app-promo-copy {
        grid-column:1/3
    }
    .app-brand-line img {
        width:58px;
        height:58px
    }
    .app-brand-line span {
        font-size:.85rem
    }
    .app-promo-title {
        font-size:2rem
    }
    .store-badges img {
        height:40px
    }
    .app-promo-phone {
        grid-column:1
    }
    .app-mockup {
        max-height:220px
    }
    .app-promo-features {
        grid-column:1/3
    }
    .app-promo-qr {
        grid-column:2;
        grid-row:2;
        align-self:center
    }
    .app-feature {
        background:rgba(255,255,255,.04);
        border:1px solid rgba(255,255,255,.1)!important;
        border-radius:12px;
        padding:.55rem
    }
    .app-feature-icon {
        width:38px;
        height:38px;
        font-size:1rem
    }
    .app-feature small {
        display:none
    }
    .qr-card {
        border-radius:16px;
        padding:.7rem
    }
    .qr-card img {
        max-width:110px
    }
    .qr-card p {
        font-size:.7rem
    }
    .newsletter-wrap {
        padding:.8rem
    }
    .newsletter-card {
        grid-template-columns:1fr;
        padding:1.25rem
    }
    .newsletter-card h2 {
        font-size:1.4rem
    }
    .newsletter-form {
        flex-direction:column
    }
    .menu-top {
        padding:1rem
    }
    .menu-hero-grid {
        min-height:310px;
        padding:1.2rem 1rem 0
    }
    .menu-hero-copy h2 {
        font-size:2.6rem
    }
    .menu-hero-food {
        height:155px
    }
    .category-nav {
        padding:.6rem .4rem
    }
    .category-arrow {
        display:none
    }
    .menu-content {
        padding:2.5rem 1rem
    }
    .menu-category {
        margin-bottom:4rem
    }
    .menu-products {
        grid-template-columns:1fr;
        gap:1rem
    }
    .menu-product {
        display:flex;
        gap:1rem;
        min-height:152px;
        border:1px solid #f0e0ca;
        border-radius:18px;
        padding:1rem;
        box-shadow:0 6px 20px rgba(50,24,16,.05)
    }
    .menu-product-image {
        height:120px;
        width:120px;
        flex:0 0 auto;
        overflow:hidden;
        border-radius:14px
    }
    .menu-product-image img {
        transform:none
    }
    .menu-product-info {
        display:flex;
        flex-direction:column;
        flex:1
    }
    .menu-product h3 {
        margin:0 0 .35rem;
        font-size:.94rem
    }
    .menu-kcal {
        margin-top:auto;
        padding-top:.6rem;
        border-top:1px solid rgba(240,213,157,.7)
    }
    .food-grid {
        padding:2rem 1rem;
        display:block
    }
    .food-panel {
        min-height:0;
        margin-bottom:1rem;
        border-radius:28px
    }
    .food-panel-inner {
        padding:2rem 1.4rem
    }
    .food-panel-image {
        min-height:260px
    }
    .food-panel.full .food-panel-image {
        min-height:280px
    }
    .food-panel-copy h2 {
        font-size:2.5rem
    }
    .app-benefits-section,.app-feature-section,.app-deal-section,.partner-section,.support-section,.journey-section,.franchise-form-section,.career-hero,.career-benefits-section,.career-journey,.career-form-section,.life-section,.faq-section,.blog-page,.article-page,.contact-page,.legal-page {
        padding-left:1rem;
        padding-right:1rem
    }
    .app-benefit-grid,.partner-benefits,.career-benefits,.journey-grid,.career-journey-list,.life-grid {
        grid-template-columns:1fr
    }
    .app-benefit-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .app-feature-section {
        padding-top:3rem;
        padding-bottom:3rem
    }
    .franchise-hero-grid {
        padding:3rem 1rem
    }
    .franchise-hero-img {
        min-height:260px
    }
    .brand-form,.career-form {
        padding:1.25rem
    }
    .availability-grid {
        grid-template-columns:1fr 1fr
    }
    .career-contact-card {
        align-items:flex-start;
        flex-direction:column
    }
    .career-contact-card .maeme-btn {
        width:100%
    }
    .branches-page {
        padding:2rem 0
    }
    .opening-card {
        align-items:flex-start;
        flex-direction:column
    }
    .opening-card .maeme-btn {
        width:100%
    }
    .branch-search-row {
        flex-direction:column
    }
    .filter-btn {
        min-height:48px
    }
    .branch-result-head {
        flex-direction:column;
        gap:.25rem
    }
    .map-summary {
        grid-template-columns:1fr 1fr 1fr
    }
    .stores-map {
        min-height:470px
    }
    .blog-grid {
        grid-template-columns:1fr
    }
    .blog-card.featured {
        grid-column:span 1
    }
    .blog-card.featured .blog-image,.blog-image {
        height:230px
    }
    .article-hero img {
        height:280px
    }
    .article-content {
        padding:1.3rem
    }
    .contact-form {
        padding:1.25rem
    }
    .contact-head {
        margin-bottom:2rem
    }
}

@media(max-width:399px) {
    .order-pill {
        padding:0 .8rem
    }
    .site-logo img {
        height:44px
    }
    .app-benefit-grid {
        grid-template-columns:1fr
    }
    .availability-grid {
        grid-template-columns:1fr
    }
}

/* Career */
.fw-black {
    font-weight:900!important
}

.section-pad {
    padding:2.5rem 0
}

.mw-700 {
    max-width:700px
}

.career-page {
    /*background:#fff8f2;*/
    color:#351817
}

.career-hero-grid {
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:3rem;
    align-items:center
}

.career-display {
    max-width:700px;
    margin:.75rem 0 0;
    font-size:clamp(2.5rem,5vw,4rem);
    font-weight:900;
    line-height:.98;
    letter-spacing:-.045em
}

.career-display span {
    color:var(--maeme-red)
}

.career-lead {
    max-width:600px;
    margin:1.3rem 0 0;
    color:#715d57;
    font-size:1.08rem;
    line-height:1.75
}

.career-hero-media {
    overflow:hidden;
    border:1px solid #e8ccba;
    border-radius:26px;
    background:#fff;
    padding:8px;
    box-shadow:0 24px 64px rgba(74,32,20,.10)
}

.career-hero-media img {
    display:block;
    width:100%;
    aspect-ratio:776/494;
    object-fit:cover;
    border-radius:20px
}

.career-benefit-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1rem
}

.career-benefit-card {
    border:1px solid #e9d3c5;
    border-radius:20px;
    background:#fffbf7;
    padding:1.3rem;
    box-shadow:0 12px 30px rgba(74,32,20,.045)
}

.career-icon {
    width:44px;
    height:44px;
    border-radius:12px;
    background:#fff0d2;
    color:var(--maeme-red);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.2rem
}

.career-benefit-card h3 {
    margin:1rem 0 .45rem;
    color:var(--maeme-red);
    font-size:1.1rem;
    font-weight:900
}

.career-benefit-card p {
    margin:0;
    color:#715d57;
    font-size:.9rem;
    line-height:1.65
}

.career-journey {
    background:var(--maeme-red);
    color:#fff
}

.career-journey-inner {
    max-width:1100px
}

.career-journey-grid {
    list-style:none;
    padding:0;
    margin:2rem 0 0;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1rem
}

.career-journey-grid li {
    border:1px solid rgba(255,255,255,.15);
    border-radius:20px;
    background:rgba(255,255,255,.07);
    padding:1.35rem
}

.career-journey-grid span {
    width:36px;
    height:36px;
    border-radius:50%;
    background:var(--maeme-yellow);
    color:var(--maeme-red);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:.85rem;
    font-weight:900
}

.career-journey-grid h3 {
    margin:1rem 0 .45rem;
    font-size:1.08rem;
    font-weight:900
}

.career-journey-grid p {
    margin:0;
    color:rgba(255,255,255,.76);
    font-size:.9rem;
    line-height:1.6
}

.career-form-shell {
    max-width:1080px;
    margin:0 auto;
    padding:0 1.5rem
}

.career-form {
    margin-top:2rem;
    border:1px solid #e8ccba;
    border-radius:24px;
    background:#fff;
    padding:2rem;
    box-shadow:0 18px 50px rgba(74,32,20,.07)
}

.career-fieldset {
    border:0;
    border-bottom:1px solid #f0ded2;
    padding:1.75rem 0
}

.career-fieldset:first-child {
    padding-top:0
}

.career-fieldset:last-of-type {
    border-bottom:0;
    padding-bottom:0
}

.career-fieldset legend {
    float:none;
    width:auto;
    margin:0 0 1.25rem;
    display:flex;
    align-items:center;
    gap:.75rem;
    font-size:1.2rem;
    font-weight:900
}

.career-fieldset legend span {
    width:32px;
    height:32px;
    border-radius:8px;
    background:#fff0d2;
    color:var(--maeme-red);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:.72rem
}

.career-form .form-label {
    font-weight:900;
    color:#4d3530
}

.career-form .form-control,.career-form .form-select,.contact-form-card .form-control {
    min-height:48px;
    border:1px solid #dec5b5;
    border-radius:12px;
    background:#fffdf9;
    color:#351817;
    box-shadow:0 8px 22px rgba(63,24,18,.03)
}

.career-form textarea.form-control,.contact-form-card textarea.form-control {
    padding-top:.8rem
}

.career-form .form-control:focus,.career-form .form-select:focus,.contact-form-card .form-control:focus {
    border-color:var(--maeme-red);
    box-shadow:0 0 0 .25rem rgba(153,4,30,.08)
}

.career-field-note {
    color:#715d57;
    font-size:.9rem
}

.career-availability-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:.8rem
}

.career-check {
    min-height:44px;
    border:1px solid #e8d2c4;
    border-radius:12px;
    background:#fffbf7;
    padding:1rem;
    display:flex;
    align-items:flex-start;
    gap:.75rem;
    font-size:.9rem;
    font-weight:600
}

.career-check.plain {
    border:0;
    background:transparent;
    padding:0
}

.career-check .form-check-input {
    width:20px;
    height:20px;
    margin:0;
    flex:0 0 auto
}

.career-check .form-check-input:checked {
    background-color:var(--maeme-red);
    border-color:var(--maeme-red)
}

.career-check a {
    color:var(--maeme-red);
    text-decoration:underline
}

.career-upload {
    min-height:132px;
    border:1px dashed #d9ae92;
    border-radius:18px;
    background:#fffbf7;
    padding:1.25rem;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    cursor:pointer;
    transition:.2s
}

.career-upload:hover {
    border-color:var(--maeme-red);
    background:#fff5e7
}

.career-upload i {
    font-size:1.5rem;
    color:var(--maeme-red)
}

.career-upload strong {
    margin-top:.45rem
}

.career-upload span {
    margin-top:.25rem;
    color:#715d57;
    font-size:.78rem
}

.career-upload input {
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    pointer-events:none
}

.career-file-name {
    min-height:24px;
    margin-top:.7rem;
    color:#715d57;
    font-size:.82rem;
    font-weight:700
}

.career-submit,.contact-submit {
    width:100%;
    min-height:54px;
    border:0;
    border-radius:12px;
    background:var(--maeme-red);
    color:#fff;
    font-weight:900;
    box-shadow:0 12px 28px rgba(153,4,30,.18)
}

.career-submit:hover,.contact-submit:hover {
    background:var(--maeme-red-dark)
}

.career-success {
    display:none;
    margin-top:2rem;
    border:1px solid #b9dfc7;
    border-radius:24px;
    background:#fff;
    padding:2rem;
    text-align:center;
    box-shadow:0 12px 30px rgba(63,24,18,.05)
}

.career-success.show {
    display:block
}

.career-success-icon {
    width:48px;
    height:48px;
    margin:0 auto;
    border-radius:50%;
    background:#e8f5ed;
    color:#176b3a;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.35rem
}

.career-success h3 {
    margin:1rem 0 .5rem;
    font-size:1.5rem;
    font-weight:900
}

.career-success p {
    max-width:600px;
    margin:0 auto 1.2rem;
    color:#715d57;
    line-height:1.6
}

.career-life-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1rem
}

.career-life-grid img {
    width:100%;
    height:260px;
    border:1px solid #e8ccba;
    border-radius:20px;
    object-fit:cover
}

.career-faq-shell {
    max-width:900px;
    margin:0 auto;
    padding:0 1.5rem
}

.career-accordion .accordion-item {
    overflow:hidden;
    margin-bottom:.75rem;
    border:1px solid #e8ccba;
    border-radius:18px!important;
    background:#fff
}

.career-accordion .accordion-button {
    font-weight:700;
    color:#351817;
    box-shadow:none
}

.career-accordion .accordion-button:not(.collapsed) {
    background:#fff;
    color:var(--maeme-red)
}

.career-accordion .accordion-button:focus {
    box-shadow:0 0 0 .25rem rgba(255,194,87,.35)
}

.career-accordion .accordion-body {
    border-top:1px solid #f0ded2;
    color:#715d57;
    font-size:.9rem;
    line-height:1.65
}

.career-contact {
    padding:0 1.5rem 4rem
}

.career-contact-card {
    max-width:1100px;
    margin:0 auto;
    border-radius:24px;
    background:var(--maeme-red);
    padding:2rem;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.5rem;
    box-shadow:0 18px 46px rgba(153,4,30,.18)
}

.career-contact-card h2 {
    font-size:1.5rem;
    font-weight:900
}

.career-contact-card p {
    margin:.45rem 0 0;
    color:rgba(255,255,255,.75)
}

/* Blog */
.blog-page,.blog-detail-page,.legal-page {
    background:#fff8ed;
    color:#1a120f
}

.blog-head {
    max-width:780px;
    margin-bottom:2.25rem
}

.blog-head h1,.contact-head h1,.legal-shell h1,.blog-detail-shell h1 {
    margin:.55rem 0 0;
    font-size:clamp(2.5rem,5vw,3.8rem);
    font-weight:900;
    letter-spacing:-.045em;
    line-height:1.04
}

.blog-head>p:last-child {
    margin-top:.85rem;
    color:#6b5b55;
    font-size:1rem;
    line-height:1.7
}

.blog-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.5rem
}

.blog-card {
    overflow:hidden;
    border:1px solid #f0d59d;
    border-radius:24px;
    background:#fff;
    color:#1a120f;
    box-shadow:0 14px 38px rgba(50,24,16,.08);
    transition:.25s
}

.blog-card:hover {
    transform:translateY(-4px);
    color:#1a120f;
    box-shadow:0 18px 50px rgba(50,24,16,.13)
}

.blog-card-featured {
    grid-column:span 2
}

.blog-card-image {
    height:224px;
    overflow:hidden;
    background:#fff8ed
}

.blog-card-featured .blog-card-image {
    height:288px
}

.blog-card-image img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s
}

.blog-card:hover .blog-card-image img {
    transform:scale(1.05)
}

.blog-card-body {
    padding:1.4rem
}

.blog-category {
    margin:0;
    color:var(--maeme-red)!important;
    font-size:.72rem!important;
    font-weight:900!important;
    text-transform:uppercase;
    letter-spacing:.16em
}

.blog-card-body h2 {
    margin:.75rem 0 0;
    font-size:1.5rem;
    font-weight:900;
    line-height:1.15
}

.blog-card-body>p:not(.blog-category) {
    margin:.8rem 0 0;
    color:#6b5b55;
    font-size:.9rem;
    line-height:1.65
}

.blog-card-body span {
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    margin-top:1.15rem;
    color:var(--maeme-red);
    font-size:.88rem;
    font-weight:900
}

.blog-detail-shell {
    max-width:768px;
    margin:0 auto
}

.blog-back {
    color:var(--maeme-red);
    font-size:.9rem;
    font-weight:900
}

.blog-back:hover {
    color:var(--maeme-red-dark)
}

.blog-detail-image {
    display:block;
    width:100%;
    height:320px;
    margin-top:1.5rem;
    border-radius:24px;
    object-fit:cover;
    box-shadow:0 10px 25px rgba(63,24,18,.08)
}

.blog-detail-shell h1 {
    font-size:clamp(2.4rem,5vw,3.2rem)
}

.blog-detail-lead {
    margin:1.1rem 0 0;
    color:#555;
    font-size:1.08rem;
    line-height:1.8
}

.blog-detail-copy {
    margin-top:2rem;
    color:#333;
    font-size:1rem;
    line-height:2
}

.blog-detail-copy p {
    margin-bottom:1.15rem
}

/* Contact */
.contact-page {
    background:#f5f1e8;
    color:#2a1818
}

.contact-head {
    text-align:center;
    max-width:760px;
    margin:0 auto 3.5rem
}

.contact-head p {
    max-width:650px;
    margin:1rem auto 0;
    color:#6b5f55;
    font-size:1.05rem;
    line-height:1.7
}

.contact-grid {
    display:grid;
    grid-template-columns:1fr 2fr;
    gap:2rem
}

.contact-info-grid {
    display:grid;
    gap:1.25rem
}

.contact-info-card {
    position:relative;
    border-radius:16px;
    background:#fff;
    padding:1.75rem;
    box-shadow:0 10px 28px rgba(50,24,16,.09);
    border-left:4px solid var(--maeme-red)
}

.contact-info-card.contact-yellow {
    border-left-color:#ffc61e
}

.contact-info-card>span {
    width:56px;
    height:56px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#c41e3a,#8b1428);
    color:#fff;
    font-size:1.35rem;
    box-shadow:0 8px 18px rgba(153,4,30,.18)
}

.contact-info-card.contact-yellow>span {
    background:linear-gradient(135deg,#ffc61e,#ffb800);
    color:#2a1818
}

.contact-info-card h3 {
    margin:1rem 0 .65rem;
    font-size:1.1rem;
    font-weight:800
}

.contact-info-card strong {
    font-size:.92rem;
    line-height:1.7
}

.contact-info-card p {
    margin:.5rem 0 0;
    color:#6b5f55;
    font-size:.82rem
}

.contact-form-card {
    border:2px solid #e8e0d5;
    border-radius:16px;
    background:#fff;
    padding:2.3rem;
    box-shadow:0 10px 28px rgba(50,24,16,.09)
}

.contact-form-card .form-label {
    font-weight:700
}

.demo-form-success {
    display:none;
    margin-bottom:1rem;
    border:1px solid #b9dfc7;
    border-radius:12px;
    background:#f0fbf4;
    padding:.85rem 1rem;
    color:#176b3a;
    align-items:center;
    gap:.55rem
}

.demo-form-success.show {
    display:flex
}

.demo-form-success span {
    font-size:.85rem
}

/* Legal / 404 */
.legal-shell {
    max-width:896px;
    margin:0 auto;
    border:1px solid #f0d59d;
    border-radius:28px;
    background:#fff;
    padding:2.5rem;
    box-shadow:0 18px 50px rgba(50,24,16,.08)
}

.legal-intro {
    margin:1rem 0 0;
    color:#6b5b55;
    line-height:1.75
}

.legal-sections {
    display:grid;
    gap:1.4rem;
    margin-top:2.25rem
}

.legal-sections section {
    border-radius:16px;
    background:#fff8ed;
    padding:1.35rem
}

.legal-sections h2 {
    font-size:1.4rem;
    font-weight:900
}

.legal-sections p {
    margin:.7rem 0 0;
    color:#6b5b55;
    line-height:1.75
}

.not-found-page {
    min-height:60vh;
    background:#fff8ed;
    display:grid;
    place-items:center;
    padding:4rem 1.5rem;
    text-align:center
}

.not-found-page>div {
    max-width:650px
}

.not-found-page h1 {
    margin:.5rem 0;
    font-size:clamp(2.5rem,6vw,4.5rem);
    font-weight:900
}

.not-found-page p {
    margin:0 0 1.5rem;
    color:#6b5b55
}

@media(max-width:991.98px) {
    .career-hero-grid {
        grid-template-columns:1fr;
        gap:2rem
    }
    .career-benefit-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .career-availability-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .blog-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .blog-card-featured {
        grid-column:span 2
    }
    .contact-grid {
        grid-template-columns:1fr
    }
    .contact-info-grid {
        grid-template-columns:repeat(3,1fr)
    }
}

@media(max-width:767.98px) {
    .section-pad {
        padding:3rem 0
    }
    .career-benefit-grid,.career-journey-grid,.career-life-grid,.contact-info-grid {
        grid-template-columns:1fr
    }
    .career-form {
        padding:1.25rem
    }
    .career-contact-card {
        align-items:flex-start;
        flex-direction:column
    }
    .career-contact-card .maeme-btn {
        width:100%
    }
    .blog-grid {
        grid-template-columns:1fr
    }
    .blog-card-featured {
        grid-column:auto
    }
    .blog-card-featured .blog-card-image,.blog-card-image {
        height:230px
    }
    .contact-form-card {
        padding:1.35rem
    }
    .legal-shell {
        padding:1.5rem
    }
    .blog-detail-image {
        height:260px
    }
}

@media(max-width:575.98px) {
    .career-availability-grid {
        grid-template-columns:1fr
    }
    .career-hero-media {
        border-radius:20px
    }
    .career-form-shell,.career-faq-shell {
        padding:0 1rem
    }
    .career-life-grid img {
        height:225px
    }
    .legal-shell {
        border-radius:20px
    }
    .contact-head {
        margin-bottom:2.25rem
    }
}

/* Homepage parity with the React InternationalHomePage */
@media(min-width:640px) {
    .how-section {
        padding:3.5rem 0
    }
    .how-container {
        padding:0 1.5rem
    }
    .how-kicker {
        gap:1.5rem
    }
    .how-kicker-line {
        width:80px
    }
    .how-kicker-core {
        gap:.5rem
    }
    .how-kicker-flame {
        width:24px;
        height:24px
    }
    .how-kicker p {
        font-size:.75rem;
        letter-spacing:.42em
    }
    .how-title {
        margin-top:2rem;
        font-size:2.25rem;
        font-weight:800
    }
    .how-line {
        width:80px;
        margin-top:1.25rem
    }
    .how-copy {
        margin-top:1.25rem;
        font-size:1.125rem;
        line-height:1.75rem
    }
    .steps-grid {
        margin-top:2.5rem;
        column-gap:1.5rem;
        row-gap:2.25rem
    }
    .step-icon-box {
        width:112px;
        height:112px;
        border-radius:20px
    }
    .step-number {
        left:-12px;
        top:-16px;
        width:40px;
        height:40px;
        font-size:.875rem
    }
    .step-icon-inner {
        width:80px;
        height:80px
    }
    .step-icon-inner svg {
        width:40px;
        height:40px
    }
    .step-card h3 {
        margin-top:1.25rem;
        font-size:1.125rem;
        font-weight:800
    }
    .step-title-line {
        width:48px;
        margin-top:.75rem
    }
    .step-card p {
        max-width:190px;
        margin-top:.75rem;
        font-size:.875rem;
        line-height:1.5rem
    }
    .stores-section {
        /*padding:4rem 0*/
    }
    .stores-container {
        padding:0 1.5rem
    }
    .stores-title {
        font-size:2.25rem;
        font-weight:900;
        line-height:1.2;
        letter-spacing:-.025em
    }
    .stores-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media(min-width:1024px) {
    .how-section {
        padding:1rem 0
    }
    .how-container {
        padding:0 2rem
    }
    .how-title {
        font-size:52px
    }
    .steps-grid {
        grid-template-columns:repeat(4,minmax(0,1fr));
        column-gap:3rem
    }
    .step-icon-box {
        width:126px;
        height:126px
    }
    .step-icon-inner {
        width:88px;
        height:88px
    }
    .step-icon-inner svg {
        width:44px;
        height:44px
    }
    .step-connector {
        position:absolute;
        left:calc(50% + 120px);
        top:62px;
        width:92px;
        display:flex;
        align-items:center
    }
    .step-connector-line {
        height:0;
        flex:1;
        border-top:1px dashed rgba(153,4,30,.45)
    }
    .step-connector-target {
        width:24px;
        height:24px;
        margin:0 .75rem;
        flex:0 0 auto;
        border:2px solid var(--maeme-red);
        border-radius:50%;
        background:#fff;
        display:flex;
        align-items:center;
        justify-content:center
    }
    .step-connector-target>span {
        width:10px;
        height:10px;
        border-radius:50%;
        background:var(--maeme-red)
    }
    .step-card h3 {
        font-size:1.25rem
    }
    .stores-section {
        padding:1rem 0
    }
    .stores-container {
        padding:0 2rem
    }
    .stores-head {
        flex-direction:row;
        align-items:flex-end;
        justify-content:space-between
    }
    .stores-grid {
        grid-template-columns:repeat(5,minmax(0,1fr))
    }
}



/* Homepage store-card responsive refinement */
@media (min-width: 1280px) {
    .store-preview-media img {
        height: 156px;
    }
}

@media (max-width: 767.98px) {
    .store-preview h3 {
        font-size: 1.08rem;
    }

    .store-preview-address {
        font-size: .82rem;
    }

    .store-preview-meta {
        gap: .4rem;
    }

    .store-preview-meta-chip {
        min-height: 32px;
        padding: .44rem .55rem;
        font-size: .74rem;
    }
}


/* Google Maps responsive sizing */
@media (max-width: 991.98px) {
    .branches-google-map,
    .stores-map {
        height: 520px;
        min-height: 520px;
    }
}

@media (max-width: 767.98px) {
    .branches-google-map-shell {
        border-radius: 20px;
    }

    .branches-google-map,
    .stores-map {
        height: 470px;
        min-height: 470px;
        border-radius: 20px;
    }
}

@media (max-width: 767.98px) {
    .branch-google-map-label {
        max-width: 105px;
        padding: .25rem .42rem;
        font-size: .62rem;
        transform: translate(-50%, 23px);
    }
}

/* Desktop footer alignment */
@media (min-width: 1200px) {
    .footer-grid {
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        align-items: center;
        gap: 2rem;
    }

    .footer-links {
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-start;
        gap: .9rem;
        min-width: 0;
    }

    .footer-links a {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .footer-logo-wrap {
        justify-self: center;
    }

    .footer-apps {
        justify-self: end;
        flex-wrap: nowrap;
        white-space: nowrap;
    }
}

#openingSoonModal .modal-dialog {
    max-width: 900px;
}

#openingSoonModal .modal-content {
    height: auto;
    max-height: none;
}

#openingSoonModal .modal-body {
    max-height: calc(92vh - 155px);
    overflow-y: auto;
    padding-bottom: 1.5rem;
}

/* Desktop / default product cards */
.menu-page .menu-products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem;
}

.menu-page .menu-product {
    display: flex;
    min-width: 0;
    height: 100%;
    overflow: hidden;
    flex-direction: column;
    border: 1px solid #ead8c6;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 9px 28px rgba(63, 30, 19, .07);
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.menu-page .menu-product:hover {
    border-color: var(--maeme-yellow);
    transform: translateY(-4px);
    box-shadow: 0 16px 38px rgba(63, 30, 19, .12);
}

.menu-page .menu-product-image {
    position: relative;
    display: grid;
    width: 100%;
    height: 225px;
    flex: 0 0 auto;
    place-items: center;
    overflow: hidden;
    padding: 1.1rem;
    border-radius: 0;
    background: linear-gradient(150deg, #fff9ee, #ffefd1);
}

.menu-page .menu-product-image img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 205px;
    object-fit: contain;
    transform: none;
    transition: transform .25s ease;
}

.menu-page .menu-product:hover .menu-product-image img {
    transform: scale(1.04);
}

.menu-page .menu-product-info {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    padding: 1rem;
}

.menu-page .menu-product h3 {
    margin: 0 0 .45rem;
    color: #2e1c18;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.3;
}

.menu-page .menu-product p {
    display: -webkit-box;
    min-height: 3.7em;
    margin: 0;
    overflow: hidden;
    color: #78645d;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

/* Keep the same responsive column rhythm as the ordering menu. */
@media (max-width: 1199.98px) {
    .menu-page .menu-products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .menu-page .menu-products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/*
 * Compact mobile card.
 * Same visual format as maemes.co.uk:
 * copy on the left, product image on the right.
 */
@media (max-width: 767.98px) {
    .menu-page .menu-content {
        padding-right: .7rem;
        padding-left: .7rem;
    }

    .menu-page .menu-category {
        margin-bottom: 2rem;
    }

    .menu-page .menu-products {
        grid-template-columns: 1fr;
        gap: .75rem;
    }

    .menu-page .menu-product {
        display: grid;
        min-height: 116px;
        grid-template-columns: minmax(0, 1fr) 108px;
        grid-template-areas: "content image";
        overflow: hidden;
        border: 1px solid #ead7c7;
        border-radius: 17px;
        background: #ffffff;
        box-shadow: 0 7px 20px rgba(83, 23, 16, .06);
    }

    .menu-page .menu-product:hover {
        border-color: #e1c4ad;
        transform: none;
        box-shadow: 0 7px 20px rgba(83, 23, 16, .06);
    }

    .menu-page .menu-product-image {
        display: flex;
        width: 108px;
        height: 100%;
        min-height: 114px;
        grid-area: image;
        align-items: center;
        justify-content: center;
        padding: .7rem .65rem;
        background: linear-gradient(135deg, #fffdf8, #fff4df);
    }

    .menu-page .menu-product-image img {
        display: block;
        width: 92px;
        max-width: 100%;
        height: 92px;
        max-height: 92px;
        margin: auto;
        object-fit: contain;
        transform: none;
    }

    .menu-page .menu-product:hover .menu-product-image img {
        transform: none;
    }

    .menu-page .menu-product-info {
        min-width: 0;
        grid-area: content;
        padding: .7rem .35rem .7rem .8rem;
    }

    .menu-page .menu-product h3 {
        display: -webkit-box;
        margin: 0;
        overflow: hidden;
        color: #2e1c18;
        font-size: .88rem;
        font-weight: 900;
        line-height: 1.25;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .menu-page .menu-product p {
        display: -webkit-box;
        min-height: 0;
        margin: .28rem 0 0;
        overflow: hidden;
        color: #74655f;
        font-size: .76rem;
        font-weight: 400;
        line-height: 1.35;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
}



/* Mobile app benefit cards: one card per row, icon and title inline */
@media (max-width: 767.98px) {
    .app-benefit-grid {
        grid-template-columns: 1fr;
        gap: .85rem;
    }

    .app-benefit {
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr);
        grid-template-areas:
            "icon title"
            "copy copy";
        column-gap: .85rem;
        row-gap: .7rem;
        align-items: center;
        padding: 1rem;
    }

    .app-benefit-icon {
        grid-area: icon;
        margin: 0;
    }

    .app-benefit h3 {
        grid-area: title;
        margin: 0;
        font-size: 1rem;
        line-height: 1.25;
    }

    .app-benefit p {
        grid-area: copy;
        margin: 0;
        font-size: .84rem;
        line-height: 1.5;
    }
}

/* =========================================================
   HOME APP PROMO — SIMPLIFIED VARIATION
   Homepage-only override. Keeps the detailed feature content
   on the dedicated App page untouched.
   ========================================================= */

.app-promo-home-v2 {
    padding: 1.5rem .75rem 1.25rem;
    background: #fff;
}

.app-promo-home-v2 .app-promo-card {
    max-width: 1800px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 38px;
    color: #fff;
    background:
        radial-gradient(circle at 54% 48%, rgba(255, 194, 87, .13), transparent 30%),
        linear-gradient(135deg, #720014 0%, #990018 48%, #a5001d 72%, #720014 100%);
}

.app-promo-simple-grid {
    display: grid;
    grid-template-columns: minmax(300px, .9fr) minmax(390px, 1.2fr) minmax(210px, .52fr);
    min-height: 570px;
    align-items: center;
    gap: 2.5rem;
    padding: 3rem 3.5rem;
}

.app-promo-home-v2 .app-promo-copy {
    position: relative;
    z-index: 2;
    max-width: 520px;
}

.app-promo-home-v2 .app-brand-line {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.app-promo-home-v2 .app-brand-line img {
    width: 82px;
    height: 82px;
    object-fit: contain;
}

.app-promo-home-v2 .app-brand-line span {
    color: #fff;
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.app-promo-home-v2 .app-promo-title {
    margin: 1.5rem 0 0;
    color: #fff;
    font-size: clamp(3.2rem, 4.4vw, 5.2rem);
    font-weight: 900;
    line-height: .94;
    letter-spacing: -.045em;
}

.app-promo-home-v2 .app-promo-title span {
    display: block;
    color: var(--maeme-yellow);
}

.app-promo-lead {
    max-width: 430px;
    margin: 1.15rem 0 0;
    color: rgba(255, 255, 255, .84);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.65;
}

.app-promo-offer-copy {
    margin: 1.5rem 0 0;
    color: rgba(255, 255, 255, .82);
    font-size: .8rem;
    font-weight: 800;
}

.app-promo-home-v2 .first-discount {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin-top: .55rem;
    padding: .65rem 1rem;
    border-radius: 9px;
    color: var(--maeme-red);
    background: var(--maeme-yellow);
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .02em;
}

.app-promo-home-v2 .store-badges {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: 1.2rem;
}

.app-promo-home-v2 .store-badges a {
    display: inline-flex;
}

.app-promo-home-v2 .store-badges img {
    display: block;
    width: auto;
    height: 50px;
}

.app-promo-home-v2 .app-promo-phone {
    position: relative;
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    align-self: stretch;
}

.app-promo-home-v2 .app-promo-phone::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(480px, 88%);
    aspect-ratio: 1;
    border: 1px solid rgba(255, 194, 87, .18);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    box-shadow:
        0 0 0 34px rgba(255, 194, 87, .035),
        0 0 0 72px rgba(255, 194, 87, .025);
}

.app-promo-home-v2 .app-mockup {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 650px;
    max-height: 535px;
    object-fit: contain;
    filter: drop-shadow(0 34px 70px rgba(0, 0, 0, .30));
}

.app-promo-home-v2 .app-promo-qr {
    display: flex;
    align-items: center;
    justify-content: center;
}

.app-promo-home-v2 .qr-card {
    width: min(100%, 250px);
    padding: 1.15rem;
    border-radius: 22px;
    color: #1f1210;
    background: #fff;
    text-align: center;
    box-shadow: 0 22px 60px rgba(0, 0, 0, .20);
}

.app-promo-home-v2 .qr-card img {
    display: block;
    width: 100%;
    max-width: 195px;
    margin: 0 auto;
}

.app-promo-home-v2 .qr-card p {
    margin: .7rem 0 0;
    color: #1f1210;
    font-size: .95rem;
    font-weight: 900;
    line-height: 1.18;
}

@media (max-width: 1199.98px) {
    .app-promo-simple-grid {
        grid-template-columns: minmax(280px, .9fr) minmax(330px, 1.1fr) minmax(180px, .48fr);
        min-height: 520px;
        gap: 1.6rem;
        padding: 2.5rem;
    }

    .app-promo-home-v2 .app-promo-title {
        font-size: clamp(2.8rem, 4.3vw, 4.2rem);
    }

    .app-promo-home-v2 .app-mockup {
        max-height: 470px;
    }

    .app-promo-home-v2 .qr-card {
        padding: .9rem;
    }
}

@media (max-width: 991.98px) {
    .app-promo-simple-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            'copy phone'
            'qr phone';
        min-height: 0;
        align-items: center;
        gap: 1.5rem;
        padding: 2.25rem;
    }

    .app-promo-home-v2 .app-promo-copy {
        grid-area: copy;
    }

    .app-promo-home-v2 .app-promo-phone {
        grid-area: phone;
    }

    .app-promo-home-v2 .app-promo-qr {
        grid-area: qr;
        justify-content: flex-start;
    }

    .app-promo-home-v2 .app-mockup {
        max-height: 430px;
    }

    .app-promo-home-v2 .qr-card {
        width: 185px;
    }

    .app-promo-home-v2 .qr-card img {
        max-width: 135px;
    }

    .app-promo-home-v2 .qr-card p {
        font-size: .78rem;
    }
}

@media (max-width: 767.98px) {
    .app-promo-home-v2 {
        padding: .8rem .5rem 2rem;
    }

    .app-promo-home-v2 .app-promo-card {
        border-radius: 22px;
    }

    .app-promo-simple-grid {
        display: flex;
        min-height: 0;
        flex-direction: column;
        gap: 1.25rem;
        padding: 1.5rem 1.15rem 1.65rem;
    }

    .app-promo-home-v2 .app-promo-copy {
        width: 100%;
        max-width: none;
        text-align: center;
    }

    .app-promo-home-v2 .app-brand-line {
        justify-content: center;
    }

    .app-promo-home-v2 .app-brand-line img {
        width: 58px;
        height: 58px;
    }

    .app-promo-home-v2 .app-brand-line span {
        font-size: .82rem;
    }

    .app-promo-home-v2 .app-promo-title {
        margin-top: 1rem;
        font-size: clamp(2.35rem, 11vw, 3.25rem);
    }

    .app-promo-lead {
        max-width: 420px;
        margin-right: auto;
        margin-left: auto;
        font-size: .88rem;
        line-height: 1.55;
    }

    .app-promo-offer-copy {
        margin-top: 1.1rem;
    }

    .app-promo-home-v2 .first-discount {
        min-height: 40px;
        font-size: .7rem;
    }

    .app-promo-home-v2 .store-badges {
        justify-content: center;
        margin-top: .9rem;
    }

    .app-promo-home-v2 .store-badges img {
        height: 38px;
    }

    .app-promo-home-v2 .app-promo-phone {
        width: 100%;
        min-height: 245px;
        align-self: auto;
    }

    .app-promo-home-v2 .app-promo-phone::before {
        width: min(330px, 78vw);
    }

    .app-promo-home-v2 .app-mockup {
        max-width: 390px;
        max-height: 300px;
    }

    .app-promo-home-v2 .app-promo-qr {
        display: none;
    }
}

@media (max-width: 399px) {
    .app-promo-home-v2 .store-badges {
        gap: .45rem;
    }

    .app-promo-home-v2 .store-badges img {
        height: 34px;
    }

    .app-promo-home-v2 .app-promo-phone {
        min-height: 220px;
    }

    .app-promo-home-v2 .app-mockup {
        max-height: 260px;
    }
}


/* Homepage store cards: one card per row on mobile */
@media (max-width: 767.98px) {
    .stores-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .store-preview,
    .franchise-preview {
        width: 100%;
    }
}

/* =========================================================
   BRANCHES PAGE — MOBILE RESPONSIVE REFINEMENT
   Keeps desktop/tablet layouts unchanged.
   ========================================================= */

@media (max-width: 767.98px) {
    .branches-page .site-container-wide {
        padding-right: .75rem;
        padding-left: .75rem;
    }

    .branch-header {
        margin-bottom: 1.35rem;
        padding-left: .85rem;
    }

    .branch-header h1 {
        margin-top: .25rem;
        font-size: clamp(2rem, 9vw, 2.5rem);
        line-height: 1;
    }

    .branch-header .section-copy {
        font-size: .86rem;
        line-height: 1.55;
    }

    .opening-card {
        gap: .85rem;
        margin-bottom: 1rem;
        padding: 1rem;
        border-radius: 18px;
    }

    .opening-card h2 {
        margin: .15rem 0 .25rem;
        font-size: 1.15rem;
        line-height: 1.2;
    }

    .opening-card .section-copy {
        font-size: .8rem;
        line-height: 1.45;
    }

    .opening-card .maeme-btn {
        width: 100%;
        min-height: 44px;
        padding: .65rem .85rem;
        font-size: .80rem;
    }

    .branch-search-shell {
        margin-bottom: .9rem;
        padding: .35rem 0;
    }

    .branch-search-box {
        padding: .7rem;
        border-radius: 18px;
    }

    .branch-search-row {
        gap: .6rem;
    }

    .branch-search-input input {
        min-height: 48px;
        padding-right: .9rem;
        padding-left: 2.6rem;
        border-radius: 12px;
        font-size: .84rem;
    }

    .branch-search-input i {
        left: .9rem;
    }

    .filter-btn {
        width: 100%;
        min-width: 0;
        min-height: 44px;
        border-radius: 12px;
        font-size: .86rem;
    }

    .status-filters.show {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .55rem;
    }

    .status-chip {
        width: 100%;
        padding: .5rem .6rem;
        font-size: .7rem;
        text-align: center;
    }

    .mobile-view-toggle {
        margin-bottom: .85rem;
        padding: .3rem;
        border-radius: 14px;
    }

    .mobile-view-toggle button {
        min-height: 40px;
        padding: .55rem;
        border-radius: 10px;
        font-size: .78rem;
    }

    .branch-result-head {
        margin-bottom: .8rem;
    }

    .branch-result-head strong {
        font-size: .86rem;
    }

    .branch-result-head span {
        font-size: .76rem;
        line-height: 1.4;
    }

    .branch-list {
        gap: .8rem;
    }

    .branch-card {
        padding: .95rem;
        border-radius: 18px;
    }

    .branch-card-top {
        align-items: flex-start;
        gap: .6rem;
    }

    .branch-card-top > .d-flex {
        min-width: 0;
        flex: 1 1 auto;
        gap: .65rem !important;
    }

    .branch-card-top > .d-flex > div {
        min-width: 0;
    }

    .branch-number {
        width: 32px;
        height: 32px;
        font-size: .78rem;
    }

    .branch-card h3 {
        overflow-wrap: anywhere;
        font-size: .98rem;
        line-height: 1.23;
    }

    .branch-address {
        overflow-wrap: anywhere;
        font-size: .76rem;
        line-height: 1.4;
    }

    .branch-status {
        min-height: 30px;
        padding: .38rem .62rem;
        gap: .3rem;
        font-size: .63rem;
    }

    .branch-status::before {
        width: 7px;
        height: 7px;
    }

    .branch-meta-grid {
        gap: .55rem;
        margin-top: .85rem;
    }

    .branch-meta {
        min-width: 0;
        padding: .58rem .62rem;
        border-radius: 12px;
        font-size: .75rem;
        line-height: 1.35;
    }

    .branch-meta strong {
        overflow-wrap: anywhere;
        font-size: .76rem;
    }

    .branch-meta > div {
        margin-top: .2rem;
        font-size: .72rem;
        line-height: 1.3;
    }

    .branch-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .55rem;
        margin-top: .85rem;
    }

    .branch-actions a,
    .branch-actions button {
        width: 100%;
        min-height: 40px;
        padding: 0 .55rem;
        border-radius: 11px;
        font-size: .74rem;
    }

    .stores-map,
    .branches-google-map,
    .branches-google-map-shell {
        border-radius: 18px;
    }

    .stores-map {
        min-height: 420px;
    }

    .branches-google-map {
        height: 420px;
        min-height: 420px;
    }

    .map-summary {
        gap: .5rem;
    }

    .map-stat {
        min-width: 0;
        padding: .65rem .35rem;
        border-radius: 13px;
    }

    .map-stat strong {
        font-size: .95rem;
    }

    .map-stat span {
        display: block;
        margin-top: .12rem;
        font-size: .66rem;
        line-height: 1.2;
    }

    .quick-jump {
        padding: .65rem;
        border-radius: 14px;
    }

    .quick-jump select {
        font-size: .78rem;
    }

    /* Opening Soon modal */
    #openingSoonModal {
        padding-right: 0 !important;
    }

    #openingSoonModal .modal-dialog {
        width: calc(100% - 1rem);
        max-width: none;
        margin: .5rem auto;
    }

    #openingSoonModal .modal-content {
        max-height: calc(100dvh - 1rem);
        border-radius: 20px !important;
    }

    #openingSoonModal .modal-header {
        align-items: flex-start;
        gap: .75rem;
        padding: 1.15rem 1.1rem !important;
    }

    #openingSoonModal .modal-header > div {
        min-width: 0;
        flex: 1;
    }

    #openingSoonModal .modal-title {
        font-size: 1.55rem;
        line-height: 1.1;
    }

    #openingSoonModal .modal-header .small {
        max-width: 260px;
        font-size: .78rem;
        line-height: 1.45;
    }

    #openingSoonModal .btn-close {
        flex: 0 0 auto;
        margin: .1rem 0 0;
    }

    #openingSoonModal .modal-body,
    #openingSoonModal .opening-list {
        max-height: calc(100dvh - 132px);
    }

    #openingSoonModal .modal-body {
        padding: .15rem 1.1rem 1rem !important;
        overflow-y: auto;
    }

    #openingSoonModal .opening-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
        justify-content: stretch;
        gap: .55rem;
        padding: .85rem 0;
    }

    #openingSoonModal .opening-row > div {
        min-width: 0;
    }

    #openingSoonModal .opening-row h3 {
        overflow-wrap: anywhere;
        font-size: 1rem;
        line-height: 1.25;
    }

    #openingSoonModal .opening-row p {
        overflow-wrap: anywhere;
        margin-top: .25rem;
        font-size: .78rem;
        line-height: 1.45;
    }

    #openingSoonModal .opening-label {
        display: inline-flex;
        width: auto;
        max-width: 100%;
        align-items: center;
        justify-self: start;
        padding: .42rem .65rem;
        border-radius: 999px;
        font-size: .75rem;
        line-height: 1.15;
        white-space: nowrap;
    }
}

@media (max-width: 420px) {
    .branch-card-top {
        flex-direction: column;
    }

    .branch-status {
        align-self: flex-start;
        margin-left: 42px;
    }

    .branch-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #openingSoonModal .modal-title {
        font-size: 1.45rem;
    }

    #openingSoonModal .opening-label {
        white-space: normal;
    }
}

@media (max-width: 340px) {
    .branch-meta-grid {
        grid-template-columns: 1fr;
    }

    .branch-actions {
        grid-template-columns: 1fr;
    }

    .map-summary {
        grid-template-columns: 1fr;
    }

    .branch-status {
        margin-left: 0;
    }
}

/* =========================================================
   BRANCHES MOBILE — TITLE / STATUS ROW ALIGNMENT
   ========================================================= */

@media (max-width: 767.98px) {
    /* Active branch cards:
       keep branch details on the left and OPEN/CLOSED pinned right. */
    .branch-card-top {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
        width: 100%;
        gap: .65rem;
    }

    .branch-card-top > .d-flex {
        min-width: 0;
        width: 100%;
    }

    .branch-status {
        align-self: start;
        justify-self: end;
        margin: 0;
    }

    /* Upcoming branches:
       branch name/details left, opening status badge right. */
    #openingSoonModal .opening-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
        gap: .65rem;
    }

    #openingSoonModal .opening-row > div {
        min-width: 0;
    }

    #openingSoonModal .opening-row h3 {
        margin: 0;
        padding-top: .12rem;
    }

    #openingSoonModal .opening-label {
        align-self: start;
        justify-self: end;
        margin: 0;
        padding: .38rem .58rem;
        font-size: .7rem;
        line-height: 1.1;
        white-space: nowrap;
    }
}

@media (max-width: 420px) {
    .branch-card-top {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .branch-status {
        align-self: start;
        justify-self: end;
        margin: 0;
    }

    #openingSoonModal .opening-row {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    #openingSoonModal .opening-label {
        max-width: none;
        font-size: .67rem;
        white-space: nowrap;
    }
}

@media (max-width: 350px) {
    .branch-status {
        padding-right: .5rem;
        padding-left: .5rem;
        font-size: .59rem;
    }

    #openingSoonModal .opening-row {
        gap: .45rem;
    }

    #openingSoonModal .opening-label {
        padding-right: .45rem;
        padding-left: .45rem;
        font-size: .63rem;
    }
}

/* =========================================================
   FOOD PAGE — COMPACT STACKED TWO-COLUMN PANELS
   Applies to:
   - Iconic Dishes / Dips
   - Franchise Partners / Quality
   Leaves full-width Piri Piri / Innovation panels unchanged.
   ========================================================= */

@media (min-width: 992px) {
    .food-panel.stack {
        min-height: 470px;
    }

    .food-panel.stack .food-panel-inner {
        min-height: 470px;
        padding: 2.25rem 3.2vw 1.8rem;
    }

    .food-panel.stack .food-panel-copy {
        position: relative;
        z-index: 2;
    }

    .food-panel.stack .food-panel-copy h2 {
        margin-top: .65rem;
        margin-bottom: .65rem;
    }

    .food-panel.stack .food-panel-copy p {
        margin-bottom: 0;
        line-height: 1.55;
    }

    .food-panel.stack .food-panel-image {
        min-height: 285px;
        /*margin-top: .75rem;*/
    }

    .food-panel.stack .food-panel-image img {
        object-position: center bottom;
    }
}

@media (min-width: 1200px) {
    .food-panel.stack {
        min-height: 500px;
    }

    .food-panel.stack .food-panel-inner {
        min-height: 500px;
        padding-top: 2.5rem;
        padding-bottom: 1.75rem;
    }

    .food-panel.stack .food-panel-image {
        min-height: 310px;
    }
}

@media (min-width: 1600px) {
    .food-panel.stack {
        min-height: 520px;
    }

    .food-panel.stack .food-panel-inner {
        min-height: 520px;
    }

    .food-panel.stack .food-panel-image {
        min-height: 325px;
    }
}

@media (max-width: 991.98px) {
    .food-panel.stack {
        min-height: 0;
    }

    .food-panel.stack .food-panel-inner {
        min-height: 0;
    }

    .food-panel.stack .food-panel-image {
        min-height: 300px;
    }
}

@media (max-width: 767.98px) {
    .food-panel.stack .food-panel-inner {
        padding-top: 1.65rem;
        padding-bottom: 1.2rem;
    }

    .food-panel.stack .food-panel-image {
        min-height: 235px;
        margin-top: .5rem;
    }
}

/* =========================================================
   FOOD PAGE — COMPACT MOBILE PANELS
   Applies to all food cards/panels on phones only.
   Desktop and tablet layouts remain unchanged.
   ========================================================= */

@media (max-width: 767.98px) {
    .food-grid {
        padding: 1.15rem .65rem;
    }

    .food-panel {
        min-height: 0;
        margin-bottom: .75rem;
        border-radius: 22px;
    }

    .food-panel-inner {
        min-height: 0;
        gap: .7rem;
        padding: 1.35rem 1.05rem 1rem;
    }

    .food-panel-copy .eyebrow {
        font-size: .58rem;
        letter-spacing: .18em;
        line-height: 1.3;
    }

    .food-panel-copy h2 {
        margin: .45rem 0 .55rem;
        font-size: 2rem;
        line-height: .95;
        letter-spacing: -.035em;
    }

    .food-panel-copy p {
        margin: 0;
        max-width: none;
        font-size: .84rem;
        line-height: 1.5;
    }

    .food-panel-image {
        min-height: 190px;
        margin-top: .25rem;
    }

    .food-panel.full .food-panel-image {
        min-height: 205px;
    }

    .food-panel.stack .food-panel-image {
        min-height: 185px;
        margin-top: .25rem;
    }

    .food-panel.innovation .food-panel-image {
        min-height: 195px;
    }

    .food-panel-image img {
        object-position: center;
    }

    .food-panel.stack .food-panel-image img {
        object-position: center bottom;
    }

    .decor-wave {
        width: 70px;
        height: 10px;
        margin-top: .35rem;
    }
}

@media (max-width: 420px) {
    .food-grid {
        padding-right: .5rem;
        padding-left: .5rem;
    }

    .food-panel {
        border-radius: 20px;
    }

    .food-panel-inner {
        padding: 1.15rem .95rem .9rem;
    }

    .food-panel-copy h2 {
        font-size: 1.8rem;
    }

    .food-panel-copy p {
        font-size: .8rem;
        line-height: 1.45;
    }

    .food-panel-image {
        min-height: 170px;
    }

    .food-panel.full .food-panel-image {
        min-height: 185px;
    }

    .food-panel.stack .food-panel-image {
        min-height: 165px;
    }

    .food-panel.innovation .food-panel-image {
        min-height: 180px;
    }
}

@media (max-width: 350px) {
    .food-panel-inner {
        padding-right: .85rem;
        padding-left: .85rem;
    }

    .food-panel-copy h2 {
        font-size: 1.65rem;
    }

    .food-panel-image {
        min-height: 155px;
    }

    .food-panel.full .food-panel-image {
        min-height: 170px;
    }

    .food-panel.stack .food-panel-image {
        min-height: 150px;
    }

    .food-panel.innovation .food-panel-image {
        min-height: 165px;
    }
}

/* =========================================================
   FRANCHISING PAGE — COMPACT MOBILE LAYOUT
   Mobile only. Desktop/tablet remain unchanged.
   ========================================================= */

@media (max-width: 767.98px) {
    /* Hero */
    .franchise-hero-grid {
        gap: 1.15rem;
        padding: 1.45rem .9rem 1rem;
    }

    .franchise-hero .badge {
        padding: .4rem .75rem !important;
        /*font-size: .68rem;*/
    }

    .franchise-hero h1 {
        margin-top: 1rem !important;
        margin-bottom: 0 !important;
        font-size: clamp(2.15rem, 10vw, 2.8rem);
        line-height: .95;
        letter-spacing: -.035em;
    }

    .franchise-hero p {
        margin-top: .85rem !important;
        margin-bottom: 0;
        font-size: .86rem;
        line-height: 1.55;
    }

    .franchise-hero .maeme-btn {
        min-height: 44px;
        margin-top: 1rem !important;
        padding: .65rem 1.15rem;
        font-size: .78rem;
    }

    .franchise-hero-img {
        min-height: 0;
        height: auto;
    }

    .franchise-hero-img > div {
        max-width: 360px;
        margin: 0 auto;
    }

    .franchise-hero-img img {
        display: block;
        width: 100%;
        height: auto;
        max-height: 215px;
        object-fit: contain;
    }

    /* Common mobile section heading treatment */
    .franchise-page .app-section-head {
        max-width: 520px;
    }

    .franchise-page .app-section-head .eyebrow {
        /*font-size: .58rem;*/
        letter-spacing: .18em;
    }

    .franchise-page .section-title {
        margin-top: .45rem !important;
        font-size: 1.85rem;
        line-height: 1;
    }

    .franchise-page .section-copy {
        margin-top: .65rem !important;
        font-size: .92rem;
        line-height: 1.5;
    }

    /* Why partner */
    .partner-section {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
    }

    .partner-benefits {
        display: grid;
        grid-template-columns: 1fr;
        gap: .65rem;
        margin-top: 1.15rem;
    }

    .partner-card {
        display: grid;
        grid-template-columns: 40px minmax(0, 1fr);
        grid-template-areas:
            "icon title"
            "icon copy";
        column-gap: .75rem;
        row-gap: .15rem;
        padding: .8rem;
        border-radius: 15px;
    }

    .partner-card .partner-icon {
        grid-area: icon;
        width: 40px;
        height: 40px;
        border-radius: 11px;
        font-size: 1rem;
    }

    .partner-card h3 {
        grid-area: title;
        align-self: end;
        margin: 0;
        /*font-size: .88rem;*/
        line-height: 1.25;
    }

    .partner-card p {
        grid-area: copy;
        margin: .1rem 0 0;
        font-size: .86rem;
        line-height: 1.4;
    }

    /* Support section */
    .support-section {
        padding-top: 1.35rem;
        padding-bottom: 1.35rem;
    }

    .support-grid {
        gap: .9rem;
        padding: 1.2rem !important;
        border-radius: 20px !important;
    }

    .support-grid .eyebrow {
        /*font-size: .58rem;*/
    }

    .support-grid .section-title {
        font-size: 1.8rem;
    }

    .support-grid .section-copy {
        margin-top: .6rem !important;
    }

    .support-grid .check-list {
        margin-top: .75rem !important;
        margin-bottom: 0;
    }

    .support-grid .check-list li {
        gap: .55rem;
        margin: .45rem 0;
        font-size: .86rem;
        line-height: 1.35;
    }

    .support-grid .check-list .check {
        width: 18px;
        height: 18px;
        font-size: .65rem;
    }

    .support-image {
        text-align: center;
    }

    .support-image img {
        max-height: 190px;
    }

    /* Journey */
    .journey-section {
        padding-top: 1.75rem;
        padding-bottom: 1.75rem;
    }

    .journey-grid {
        grid-template-columns: 1fr;
        gap: .65rem;
        margin-top: 1.1rem;
    }

    .journey-card {
        display: grid;
        grid-template-columns: 40px minmax(0, 1fr);
        grid-template-areas:
            "icon title"
            "icon copy";
        column-gap: .75rem;
        row-gap: .12rem;
        padding: .8rem 2.6rem .8rem .8rem;
        border-radius: 15px;
    }

    .journey-index {
        top: .45rem;
        right: .65rem;
        font-size: 1.85rem;
    }

    .journey-icon {
        grid-area: icon;
        width: 40px;
        height: 40px;
        border-radius: 10px;
        font-size: 1rem;
    }

    .journey-card h3 {
        grid-area: title;
        align-self: end;
        margin: 0;
        /*font-size: .9rem;*/
        line-height: 1.2;
    }

    .journey-card p {
        grid-area: copy;
        margin: .12rem 0 0;
        font-size: .86rem;
        line-height: 1.4;
    }

    /* Enquiry section */
    .franchise-form-section {
        padding-top: 1.6rem;
        padding-bottom: 1.6rem;
    }

    .franchise-form-grid {
        gap: 1.1rem;
    }

    .franchise-form-section > .franchise-form-grid > div:first-child > .partner-icon {
        width: 40px;
        height: 40px;
        font-size: 1rem;
    }

    .franchise-form-section .eyebrow {
        margin-top: .85rem !important;
    }

    .form-info-box {
        margin-top: .9rem;
        padding: .8rem;
        border-radius: 14px;
    }

    .form-info-box strong {
        /*font-size: .8rem;*/
    }

    .form-info-box .section-copy {
        margin-top: .3rem !important;
        /*font-size: .72rem;*/
        line-height: 1.4;
    }

    .brand-form {
        padding: 1rem;
        border-radius: 18px;
    }

    .brand-form .row {
        --bs-gutter-x: .75rem;
        --bs-gutter-y: .75rem;
    }

    .brand-form label {
        margin-bottom: .3rem;
        /*font-size: .75rem;*/
    }

    .brand-form .form-control,
    .brand-form .form-select {
        min-height: 43px;
        border-radius: 10px;
        font-size: .8rem;
    }

    .brand-form textarea.form-control {
        min-height: 88px;
    }

    .brand-form .maeme-btn {
        min-height: 44px;
        margin-top: 1rem !important;
        /*font-size: .78rem;*/
    }
}

@media (max-width: 420px) {
    .franchise-hero-grid {
        padding-right: .75rem;
        padding-left: .75rem;
    }

    .franchise-hero h1 {
        font-size: 2.15rem;
    }

    .franchise-hero-img img {
        max-height: 190px;
    }

    .franchise-page .section-title {
        font-size: 1.7rem;
    }

    .support-grid {
        padding: 1rem !important;
    }

    .support-image img {
        max-height: 165px;
    }
}

@media (max-width: 350px) {
    .franchise-hero h1 {
        font-size: 1.95rem;
    }

    .franchise-hero p {
        font-size: .8rem;
    }

    .franchise-page .section-title {
        font-size: 1.55rem;
    }

    .partner-card,
    .journey-card {
        column-gap: .6rem;
        padding-left: .7rem;
    }
}\n\n/* =========================================================\n   FRANCHISE JOURNEY — ICON VISIBILITY FIX\n   ========================================================= */\n\n.journey-icon {\n    position: relative;\n    z-index: 2;\n    display: inline-flex !important;\n    align-items: center;\n    justify-content: center;\n    visibility: visible !important;\n    opacity: 1 !important;\n}\n\n.journey-icon i {\n    display: inline-block !important;\n    color: var(--maeme-red);\n    font-size: inherit;\n    line-height: 1;\n    visibility: visible !important;\n    opacity: 1 !important;\n}\n\n@media (max-width: 767.98px) {\n    .journey-card .journey-icon {\n        grid-area: icon;\n        width: 40px;\n        height: 40px;\n        min-width: 40px;\n        min-height: 40px;\n        align-self: start;\n        justify-self: start;\n        border-radius: 10px;\n        background: var(--maeme-yellow);\n        color: var(--maeme-red);\n        font-size: 1rem;\n    }\n}\n

/* =========================================================
   FRANCHISING — ENQUIRY FORM WIDTH
   ========================================================= */

@media (min-width: 768px) {
    .franchise-form-grid > div:last-child {
        display: flex;
        justify-content: center;
    }

    .franchise-form-grid .brand-form {
        width: 100%;
        max-width: 620px;
    }
}

@media (max-width: 767.98px) {
    .franchise-form-grid .brand-form {
        width: 100%;
        max-width: none;
    }
}

/* =========================================================
   FRANCHISING — FUNCTIONAL ENQUIRY FORM
   Keeps the legacy ajaxwork.php?Join2 workflow with the new theme.
   ========================================================= */

.franchise-captcha-row {
    display: grid;
    grid-template-columns: 140px minmax(0, 1fr);
    gap: .75rem;
    align-items: center;
}

.franchise-captcha-code {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed #d7a26e;
    border-radius: 12px;
    background: #fff4df;
    color: var(--maeme-red);
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
    user-select: none;
}

.brand-form-error {
    display: none;
    margin-top: 1rem;
    border: 1px solid #efc3c8;
    border-radius: 12px;
    background: #fff4f5;
    padding: .8rem 1rem;
    color: #8d1024;
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.45;
}

.brand-form-error.show {
    display: block;
}

#franchise-submit-btn.is-submitting {
    cursor: wait;
    opacity: .78;
}

#franchise-submit-btn:disabled {
    pointer-events: none;
}

@media (max-width: 767.98px) {
    .franchise-captcha-row {
        grid-template-columns: 112px minmax(0, 1fr);
        gap: .6rem;
    }

    .franchise-captcha-code {
        min-height: 43px;
        border-radius: 10px;
        font-size: .88rem;
        letter-spacing: .13em;
    }

    .brand-form-error {
        padding: .7rem .8rem;
        font-size: .75rem;
    }
}

@media (max-width: 380px) {
    .franchise-captcha-row {
        grid-template-columns: 1fr;
    }

    .franchise-captcha-code {
        width: 100%;
    }
}

/* =========================================================
   THANK YOU PAGE
   Existing thank-you content/functionality in the new theme.
   ========================================================= */

.thankyou-page {
    background: #fffaf4;
    color: var(--maeme-text);
}

.thankyou-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 78% 20%, rgba(255, 194, 87, .2), transparent 25%),
        linear-gradient(135deg, #7f0318 0%, #99041e 55%, #b20b2a 100%);
    color: #fff;
}

.thankyou-hero:after {
    content: "";
    position: absolute;
    right: -80px;
    bottom: -130px;
    width: 340px;
    height: 340px;
    border: 1px solid rgba(255, 194, 87, .2);
    border-radius: 50%;
    box-shadow:
        0 0 0 45px rgba(255, 194, 87, .05),
        0 0 0 95px rgba(255, 194, 87, .035);
}

.thankyou-hero-inner {
    position: relative;
    z-index: 1;
    padding-top: 3.4rem;
    padding-bottom: 3.4rem;
}

.thankyou-hero-copy {
    max-width: 900px;
    display: flex;
    align-items: center;
    gap: 1.4rem;
}

.thankyou-status-icon {
    width: 74px;
    height: 74px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 22px;
    background: var(--maeme-yellow);
    color: var(--maeme-red);
    font-size: 2rem;
    box-shadow: 0 18px 44px rgba(54, 0, 10, .22);
}

.thankyou-hero h1 {
    margin: .45rem 0 .55rem;
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    font-weight: 900;
    line-height: .95;
    letter-spacing: -.045em;
}

.thankyou-hero-copy > div > p:last-child {
    max-width: 660px;
    margin: 0;
    color: rgba(255, 255, 255, .84);
    font-size: 1rem;
    line-height: 1.65;
}

.thankyou-content-section {
    padding: 2.5rem 1.5rem;
}

.thankyou-content-grid {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr);
    gap: 1.25rem;
    align-items: stretch;
}

.thankyou-card,
.thankyou-side-card {
    border: 1px solid var(--maeme-border);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(63, 24, 18, .06);
}

.thankyou-card {
    padding: 1.8rem;
}

.thankyou-card-head {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.thankyou-card-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(153, 4, 30, .07);
    color: var(--maeme-red);
    font-size: 1.25rem;
}

.thankyou-card-head h2 {
    margin: .25rem 0 0;
    font-size: 1.75rem;
    font-weight: 900;
    letter-spacing: -.03em;
}

.thankyou-lead {
    margin: 1.25rem 0 0;
    color: var(--maeme-muted);
    font-size: .92rem;
    line-height: 1.65;
}

.thankyou-urgent {
    margin-top: 1.3rem;
    display: flex;
    align-items: flex-start;
    gap: .85rem;
    border: 1px solid #efd596;
    border-radius: 16px;
    background: #fff6df;
    padding: 1rem;
}

.thankyou-urgent-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: var(--maeme-yellow);
    color: var(--maeme-red);
}

.thankyou-urgent strong {
    display: block;
    color: var(--maeme-red);
    font-size: .9rem;
}

.thankyou-urgent p {
    margin: .2rem 0 .15rem;
    color: #6f5f5a;
    font-size: .8rem;
    line-height: 1.4;
}

.thankyou-urgent a {
    color: var(--maeme-red);
    font-size: 1.05rem;
    font-weight: 900;
}

.thankyou-hours {
    margin-top: 1.3rem;
    border-top: 1px solid #f0e1d6;
    padding-top: 1.2rem;
}

.thankyou-hours-title {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
}

.thankyou-hours-title > span {
    color: var(--maeme-red);
    font-size: 1rem;
}

.thankyou-hours-title strong {
    display: block;
    /*font-size: .88rem;*/
}

.thankyou-hours-title p {
    margin: .15rem 0 0;
    color: var(--maeme-muted);
    font-size: .90rem;
}

.thankyou-hours-grid {
    margin-top: .9rem;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
}

.thankyou-hours-grid > div {
    border: 1px solid #f0e1d6;
    border-radius: 12px;
    background: #fffaf5;
    padding: .75rem;
}

.thankyou-hours-grid span,
.thankyou-hours-grid strong {
    display: block;
}

.thankyou-hours-grid span {
    color: var(--maeme-muted);
    font-size: .8rem;
}

.thankyou-hours-grid strong {
    margin-top: .15rem;
    color: #2f1a16;
    font-size: .90rem;
}

.thankyou-signoff {
    margin: 1.25rem 0 0;
    color: var(--maeme-red);
    font-weight: 900;
}

.thankyou-home-btn {
    margin-top: 1rem;
}

.thankyou-side-card {
    overflow: hidden;
    min-height: 100%;
    background:
        radial-gradient(circle at 80% 15%, rgba(255, 194, 87, .24), transparent 28%),
        linear-gradient(155deg, #99041e 0%, #760013 100%);
    color: #fff;
}

.thankyou-side-art {
    height: 100%;
    min-height: 410px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 2rem;
}

.thankyou-side-mark {
    width: 50px;
    height: 50px;
    margin-bottom: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 194, 87, .5);
    border-radius: 15px;
    color: var(--maeme-yellow);
    font-size: 1.35rem;
}

.thankyou-side-art p {
    margin: 0 0 .5rem;
    color: var(--maeme-yellow);
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.thankyou-side-art h2 {
    margin: 0;
    font-size: 2.25rem;
    font-weight: 900;
    line-height: .98;
    letter-spacing: -.04em;
}

.thankyou-side-art > span:last-child {
    margin-top: .85rem;
    color: rgba(255, 255, 255, .78);
    font-size: .82rem;
    line-height: 1.5;
}

.thankyou-map-section {
    padding: 1rem 1.5rem 2.5rem;
}

.thankyou-map-head {
    margin-bottom: 1rem;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
}

.thankyou-map-head .section-title {
    margin: .35rem 0 0;
    font-size: 2rem;
}

.thankyou-map-card {
    overflow: hidden;
    height: 360px;
    border: 1px solid var(--maeme-border);
    border-radius: 22px;
    background: #f1ebe5;
    box-shadow: 0 14px 36px rgba(63, 24, 18, .06);
}

.thankyou-map-card iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

@media (max-width: 767.98px) {
    .thankyou-hero-inner {
        padding-top: 1.6rem;
        padding-bottom: 1.6rem;
    }

    .thankyou-hero-copy {
        align-items: flex-start;
        gap: .9rem;
    }

    .thankyou-status-icon {
        width: 50px;
        height: 50px;
        border-radius: 15px;
        font-size: 1.3rem;
    }

    .thankyou-hero h1 {
        margin-top: .25rem;
        font-size: 2.2rem;
    }

    .thankyou-hero-copy > div > p:last-child {
        font-size: .8rem;
        line-height: 1.5;
    }

    .thankyou-content-section {
        padding: 1rem .75rem;
    }

    .thankyou-content-grid {
        grid-template-columns: 1fr;
        gap: .75rem;
    }

    .thankyou-card {
        padding: 1rem;
        border-radius: 18px;
    }

    .thankyou-card-head {
        gap: .7rem;
    }

    .thankyou-card-icon {
        width: 40px;
        height: 40px;
        border-radius: 11px;
        font-size: 1rem;
    }

    .thankyou-card-head h2 {
        font-size: 1.35rem;
    }

    .thankyou-lead {
        margin-top: .85rem;
        font-size: .78rem;
        line-height: 1.5;
    }

    .thankyou-urgent {
        margin-top: .85rem;
        padding: .75rem;
    }

    .thankyou-hours {
        margin-top: .9rem;
        padding-top: .9rem;
    }

    .thankyou-hours-grid {
        grid-template-columns: 1fr;
        gap: .45rem;
        margin-top: .65rem;
    }

    .thankyou-hours-grid > div {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .75rem;
        padding: .6rem .7rem;
    }

    .thankyou-hours-grid strong {
        margin-top: 0;
        text-align: right;
    }

    .thankyou-side-card {
        border-radius: 18px;
    }

    .thankyou-side-art {
        min-height: 190px;
        padding: 1rem;
    }

    .thankyou-side-mark {
        width: 40px;
        height: 40px;
        border-radius: 11px;
        font-size: 1rem;
    }

    .thankyou-side-art h2 {
        font-size: 1.65rem;
    }

    .thankyou-map-section {
        padding: .5rem .75rem 1.25rem;
    }

    .thankyou-map-head {
        align-items: flex-start;
    }

    .thankyou-map-head .section-title {
        font-size: 1.45rem;
    }

    .thankyou-map-head .maeme-btn {
        min-height: 40px;
        padding: .55rem .8rem;
        font-size: .7rem;
    }

    .thankyou-map-card {
        height: 260px;
        border-radius: 18px;
    }
}

@media (max-width: 420px) {
    .thankyou-hero-copy {
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .thankyou-status-icon {
        width: 42px;
        height: 42px;
    }

    .thankyou-hero h1 {
        font-size: 1.95rem;
    }

    .thankyou-map-head {
        display: block;
    }

    .thankyou-map-head .maeme-btn {
        margin-top: .75rem;
    }
}

/* =========================================================
   GLOBAL FRANCHISE ENQUIRY WIDGET — DRAFT V27
   Opens on every page load; cross button minimizes it.
   ========================================================= */

.global-enquiry-widget {
    position: fixed;
    right: 26px;
    bottom: 26px;
    z-index: 1085;
    font-family: inherit;
}

.global-enquiry-panel {
    width: min(460px, calc(100vw - 40px));
    max-height: min(760px, calc(100vh - 52px));
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(153, 4, 30, .16);
    border-radius: 24px;
    background: #fffaf4;
    box-shadow:
        0 24px 70px rgba(63, 24, 18, .22),
        0 8px 22px rgba(153, 4, 30, .08);
    transform-origin: bottom right;
    transition:
        opacity .2s ease,
        transform .24s ease,
        visibility .2s ease;
}

.global-enquiry-widget.is-minimized .global-enquiry-panel {
    visibility: hidden;
    opacity: 0;
    transform: translateY(18px) scale(.94);
    pointer-events: none;
}

.global-enquiry-widget.is-open .global-enquiry-panel {
    visibility: visible;
    opacity: 1;
    transform: none;
    pointer-events: auto;
}

.global-enquiry-launcher {
    position: absolute;
    right: 0;
    bottom: 0;
    min-width: 62px;
    height: 62px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    border: 0;
    border-radius: 999px;
    background: var(--maeme-red);
    color: #fff;
    padding: 0 1.05rem;
    box-shadow: 0 16px 38px rgba(86, 8, 24, .28);
    cursor: pointer;
    transition:
        transform .2s ease,
        background .2s ease,
        opacity .2s ease,
        visibility .2s ease;
}

.global-enquiry-widget.is-open .global-enquiry-launcher {
    visibility: hidden;
    opacity: 0;
    transform: scale(.85);
    pointer-events: none;
}

.global-enquiry-widget.is-minimized .global-enquiry-launcher {
    visibility: visible;
    opacity: 1;
    transform: none;
    pointer-events: auto;
}

.global-enquiry-launcher:hover {
    background: var(--maeme-red-dark);
    transform: translateY(-2px);
}

.global-enquiry-launcher-icon {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--maeme-yellow);
    color: var(--maeme-red);
    font-size: 1rem;
}

.global-enquiry-launcher-text {
    font-size: .96rem;
    font-weight: 900;
    letter-spacing: .02em;
}

.global-enquiry-header {
    flex: 0 0 auto;
    min-height: 90px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.1rem 1.15rem;
    background:
        radial-gradient(circle at 78% 25%, rgba(255, 194, 87, .24), transparent 26%),
        linear-gradient(135deg, #99041e 0%, #7f0318 100%);
    color: #fff;
}

.global-enquiry-header-copy {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: .85rem;
}

.global-enquiry-header-icon {
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 14px;
    background: var(--maeme-yellow);
    color: var(--maeme-red);
    font-size: 1.15rem;
}

.global-enquiry-kicker {
    display: block;
    color: var(--maeme-yellow);
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.global-enquiry-header h2 {
    margin: .25rem 0 0;
    color: #fff;
    font-size: 1.65rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -.03em;
}

.global-enquiry-close {
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
    background: rgba(255, 255, 255, .1);
    color: #fff;
    font-size: .95rem;
    cursor: pointer;
    transition:
        background .2s ease,
        transform .2s ease;
}

.global-enquiry-close:hover {
    background: var(--maeme-yellow);
    color: var(--maeme-red);
    transform: rotate(4deg);
}

.global-enquiry-body {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 1.1rem 1.15rem 1.2rem;
    scrollbar-width: thin;
    scrollbar-color: #d9b9ad transparent;
}

.global-enquiry-intro {
    margin: 0 0 .95rem;
    color: var(--maeme-muted);
    font-size: .92rem;
    line-height: 1.5;
}

.global-enquiry-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
}

.global-enquiry-field {
    min-width: 0;
}

.global-enquiry-field-full {
    grid-column: 1 / -1;
}

.global-enquiry-field label {
    display: block;
    margin-bottom: .32rem;
    color: #4b2924;
    font-size: .86rem;
    font-weight: 800;
}

.global-enquiry-form .form-control {
    min-height: 46px;
    border: 1px solid #e4cec0;
    border-radius: 11px;
    background: #fff;
    color: #351817;
    padding: .7rem .8rem;
    font-size: .82rem;
    box-shadow: none;
}

.global-enquiry-form textarea.form-control {
    min-height: 90px;
    resize: vertical;
}

.global-enquiry-form .form-control::placeholder {
    color: #9b8982;
}

.global-enquiry-form .form-control:focus {
    border-color: rgba(153, 4, 30, .55);
    box-shadow: 0 0 0 3px rgba(153, 4, 30, .08);
}

.global-enquiry-captcha {
    display: grid;
    grid-template-columns: 128px minmax(0, 1fr);
    gap: .65rem;
    align-items: stretch;
}

.global-enquiry-captcha-code {
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed #d7a26e;
    border-radius: 11px;
    background:
        repeating-linear-gradient(
            -35deg,
            rgba(255, 194, 87, .15),
            rgba(255, 194, 87, .15) 8px,
            rgba(255, 255, 255, .55) 8px,
            rgba(255, 255, 255, .55) 16px
        ),
        #fff6df;
    color: var(--maeme-red);
    font-size: .92rem;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
    user-select: none;
}

.global-enquiry-error {
    display: none;
    margin-top: .85rem;
    border: 1px solid #efc3c8;
    border-radius: 11px;
    background: #fff2f3;
    padding: .7rem .8rem;
    color: #8d1024;
    font-size: .74rem;
    font-weight: 700;
    line-height: 1.4;
}

.global-enquiry-error.show {
    display: block;
}

.global-enquiry-submit {
    width: 100%;
    min-height: 48px;
    margin-top: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    border: 0;
    border-radius: 999px;
    background: var(--maeme-yellow);
    color: var(--maeme-red);
    padding: .75rem 1rem;
    font-size: .92rem;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(255, 194, 87, .24);
    transition:
        transform .2s ease,
        background .2s ease,
        opacity .2s ease;
}

.global-enquiry-submit:hover {
    background: #ffd078;
    transform: translateY(-1px);
}

.global-enquiry-submit:disabled,
.global-enquiry-submit.is-submitting {
    opacity: .7;
    pointer-events: none;
}

@media (min-width: 1440px) {
    .global-enquiry-panel {
        width: 485px;
    }

    .global-enquiry-header {
        padding: 1.2rem 1.3rem;
    }

    .global-enquiry-body {
        padding: 1.2rem 1.3rem 1.3rem;
    }
}

@media (max-width: 767.98px) {
    .global-enquiry-widget {
        right: 10px;
        bottom: 10px;
        left: 10px;
    }

    .global-enquiry-panel {
        width: 100%;
        max-height: calc(100dvh - 20px);
        max-height: calc(100vh - 20px);
        border-radius: 20px;
        transform-origin: bottom center;
    }

    .global-enquiry-launcher {
        right: 0;
        bottom: 0;
        min-width: 58px;
        height: 58px;
        padding: 0 .8rem;
    }

    .global-enquiry-launcher-icon {
        width: 32px;
        height: 32px;
    }

    .global-enquiry-header {
        min-height: 76px;
        padding: .85rem .9rem;
    }

    .global-enquiry-header-icon {
        width: 40px;
        height: 40px;
        border-radius: 12px;
        font-size: 1rem;
    }

    .global-enquiry-kicker {
        font-size: .52rem;
        letter-spacing: .13em;
    }

    .global-enquiry-header h2 {
        font-size: 1.35rem;
    }

    .global-enquiry-close {
        width: 36px;
        height: 36px;
    }

    .global-enquiry-body {
        padding: .9rem;
    }

    .global-enquiry-intro {
        margin-bottom: .75rem;
        font-size: .76rem;
    }

    .global-enquiry-grid {
        gap: .65rem;
    }

    .global-enquiry-field label {
        font-size: .68rem;
    }

    .global-enquiry-form .form-control {
        min-height: 43px;
        padding: .62rem .7rem;
        font-size: .78rem;
    }

    .global-enquiry-form textarea.form-control {
        min-height: 78px;
    }

    .global-enquiry-captcha {
        grid-template-columns: 112px minmax(0, 1fr);
        gap: .55rem;
    }

    .global-enquiry-captcha-code {
        min-height: 43px;
        font-size: .82rem;
        letter-spacing: .12em;
    }

    .global-enquiry-submit {
        min-height: 44px;
        margin-top: .8rem;
        font-size: .76rem;
    }
}

@media (max-width: 520px) {
    .global-enquiry-grid {
        grid-template-columns: 1fr;
    }

    .global-enquiry-field-full {
        grid-column: auto;
    }

    .global-enquiry-launcher-text {
        display: none;
    }

    .global-enquiry-launcher {
        width: 58px;
        min-width: 58px;
        padding: 0;
    }
}

@media (max-width: 360px) {
    .global-enquiry-widget {
        right: 6px;
        bottom: 6px;
        left: 6px;
    }

    .global-enquiry-panel {
        max-height: calc(100dvh - 12px);
        max-height: calc(100vh - 12px);
        border-radius: 17px;
    }

    .global-enquiry-header {
        padding-right: .7rem;
        padding-left: .7rem;
    }

    .global-enquiry-body {
        padding: .75rem;
    }

    .global-enquiry-captcha {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   GLOBAL ENQUIRY WIDGET — MOBILE INTERACTION FIX V29
   ========================================================= */

/* The wrapper itself must never block unrelated page controls. */
.global-enquiry-widget {
    z-index: 1035;
    pointer-events: none;
}

.global-enquiry-panel,
.global-enquiry-launcher {
    pointer-events: auto;
}

/* Keep site header / Bootstrap offcanvas controls above the widget.
   Do not override their Bootstrap positioning. */
.site-header {
    z-index: 1060;
}

.site-drawer {
    z-index: 1070;
}

@media (max-width: 767.98px) {
    .global-enquiry-widget {
        right: 10px;
        bottom: 10px;
        left: 10px;
    }

    .global-enquiry-panel {
        width: 100%;
        max-height: min(520px, 64dvh);
        max-height: min(520px, 64vh);
        border-radius: 18px;
    }

    .global-enquiry-header {
        min-height: 68px;
        padding: .72rem .8rem;
    }

    .global-enquiry-header-icon {
        width: 36px;
        height: 36px;
        border-radius: 10px;
        font-size: .9rem;
    }

    .global-enquiry-kicker {
        font-size: .72rem;
        letter-spacing: .11em;
    }

    .global-enquiry-header h2 {
        font-size: 1.18rem;
    }

    .global-enquiry-close {
        width: 34px;
        height: 34px;
        font-size: .85rem;
    }

    .global-enquiry-body {
        padding: .72rem .78rem .8rem;
    }

    .global-enquiry-intro {
        margin-bottom: .6rem;
        font-size: .86rem;
        line-height: 1.4;
    }

    .global-enquiry-grid {
        gap: .52rem;
    }

    .global-enquiry-field label {
        margin-bottom: .22rem;
        font-size: .80rem;
    }

    .global-enquiry-form .form-control {
        min-height: 39px;
        padding: .5rem .62rem;
        font-size: .74rem;
    }

    .global-enquiry-form textarea.form-control {
        min-height: 66px;
    }

    .global-enquiry-captcha {
        grid-template-columns: 106px minmax(0, 1fr);
        gap: .48rem;
    }

    .global-enquiry-captcha-code {
        min-height: 39px;
        font-size: .76rem;
        letter-spacing: .1em;
    }

    .global-enquiry-submit {
        min-height: 41px;
        margin-top: .65rem;
        padding: .58rem .8rem;
        font-size: .90rem;
    }

    .global-enquiry-launcher {
        width: auto;
        min-width: 116px;
        height: 54px;
        padding: 0 .85rem 0 .55rem;
        gap: .48rem;
    }

    .global-enquiry-launcher-icon {
        width: 34px;
        height: 34px;
        font-size: .92rem;
    }

    .global-enquiry-launcher-text {
        display: inline;
        font-size: .96rem;
        font-weight: 900;
    }
}

@media (max-width: 520px) {
    .global-enquiry-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .global-enquiry-field-full {
        grid-column: 1 / -1;
    }

    .global-enquiry-launcher-text {
        display: inline;
    }

    .global-enquiry-launcher {
        width: auto;
        min-width: 116px;
        padding: 0 .85rem 0 .55rem;
    }
}

@media (max-width: 420px) {
    .global-enquiry-panel {
        max-height: min(500px, 62dvh);
        max-height: min(500px, 62vh);
    }

    .global-enquiry-grid {
        grid-template-columns: 1fr 1fr;
    }

    .global-enquiry-field-full {
        grid-column: 1 / -1;
    }
}

@media (max-width: 360px) {
    .global-enquiry-widget {
        right: 6px;
        bottom: 6px;
        left: 6px;
    }

    .global-enquiry-panel {
        max-height: min(470px, 60dvh);
        max-height: min(470px, 60vh);
        border-radius: 16px;
    }

    .global-enquiry-grid {
        grid-template-columns: 1fr;
    }

    .global-enquiry-field-full {
        grid-column: auto;
    }

    .global-enquiry-captcha {
        grid-template-columns: 96px minmax(0, 1fr);
    }

    .global-enquiry-launcher {
        min-width: 108px;
        height: 50px;
    }
}



/* =========================================================
   GLOBAL ENQUIRY WIDGET — HEADER/OFFCANVAS POSITION SAFEGUARD V30
   ========================================================= */

.site-header.fixed-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
}

.site-drawer.offcanvas {
    position: fixed;
}

/* =========================================================
   CONTACT PAGE — BEAUTIFIED UI V35
   Uses unique class names to avoid conflicts with older
   contact styles already present in site.css.
   ========================================================= */

.m-contact-page {
    background:
        radial-gradient(circle at top right, rgba(255, 194, 87, .08), transparent 30%),
        #f7f1e9;
    color: var(--maeme-text);
}

.m-contact-hero {
    position: relative;
    overflow: hidden;
    padding: 2.5rem 0 3.8rem;
    background:
        radial-gradient(circle at 78% 22%, rgba(255, 194, 87, .18), transparent 22%),
        linear-gradient(135deg, #a3031d 0%, #850118 52%, #6f0013 100%);
}

.m-contact-hero:before,
.m-contact-hero:after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.m-contact-hero:before {
    top: -90px;
    right: -65px;
    width: 250px;
    height: 250px;
    border: 1px solid rgba(255, 255, 255, .12);
    box-shadow:
        0 0 0 40px rgba(255, 255, 255, .04),
        0 0 0 80px rgba(255, 255, 255, .02);
}

.m-contact-hero:after {
    left: -80px;
    bottom: -110px;
    width: 280px;
    height: 280px;
    background: rgba(255, 194, 87, .07);
}

.m-contact-hero-shell {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
    align-items: center;
    gap: 2.2rem;
}

.m-contact-eyebrow {
    display: inline-block;
    margin: 0 0 1rem;
    color: #ffd06d;
    font-size: .73rem;
    font-weight: 900;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.m-contact-hero-copy h1 {
    margin: 0 0 1rem;
    color: #fff;
    font-size: clamp(2.8rem, 5vw, 4.9rem);
    font-weight: 900;
    line-height: .92;
    letter-spacing: -.05em;
    max-width: 10ch;
}

.m-contact-lead {
    max-width: 720px;
    margin: 0;
    color: rgba(255, 255, 255, .84);
    font-size: 1.02rem;
    line-height: 1.72;
}

.m-contact-hero-actions {
    margin-top: 1.6rem;
    display: flex;
    flex-wrap: wrap;
    gap: .85rem;
    align-items: center;
}

.m-contact-call-link {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    padding: .8rem 1.1rem;
    color: #fff;
    font-weight: 800;
    text-decoration: none;
    backdrop-filter: blur(6px);
}

.m-contact-call-link i {
    color: #ffd06d;
}

.m-contact-hero-card {
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 28px;
    background: rgba(255, 255, 255, .08);
    padding: 1.4rem;
    box-shadow: 0 28px 60px rgba(39, 0, 8, .23);
    backdrop-filter: blur(10px);
}

.m-contact-hero-card-top {
    margin-bottom: 1rem;
}

.m-contact-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    border-radius: 999px;
    background: rgba(255, 194, 87, .12);
    padding: .5rem .85rem;
    color: #ffd06d;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .05em;
}

.m-contact-hero-points {
    display: grid;
    gap: .8rem;
}

.m-contact-hero-points article {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: .8rem;
    align-items: start;
    border-radius: 18px;
    background: rgba(255, 255, 255, .05);
    padding: .95rem;
}

.m-contact-hero-points span {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #ffd06d;
    color: var(--maeme-red);
    font-size: 1rem;
}

.m-contact-hero-points h2 {
    margin: .05rem 0 .2rem;
    color: #fff;
    font-size: 1rem;
    font-weight: 900;
}

.m-contact-hero-points p {
    margin: 0;
    color: rgba(255, 255, 255, .78);
    font-size: .8rem;
    line-height: 1.55;
}

.m-contact-overview {
    position: relative;
    z-index: 2;
    margin-top: -2rem;
    padding-bottom: 1.8rem;
}

.m-contact-overview-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.m-contact-overview-card {
    min-height: 230px;
    border: 1px solid var(--maeme-border);
    border-radius: 24px;
    background: #fff;
    padding: 1.35rem;
    box-shadow: 0 20px 48px rgba(60, 22, 14, .08);
}

.m-contact-card-icon {
    width: 54px;
    height: 54px;
    margin-bottom: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: linear-gradient(135deg, #b60622 0%, #91031b 100%);
    color: #fff;
    font-size: 1.12rem;
    box-shadow: 0 14px 24px rgba(146, 4, 27, .18);
}

.m-contact-card-kicker {
    margin: 0 0 .35rem;
    color: var(--maeme-red);
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.m-contact-overview-card h2 {
    margin: 0 0 .6rem;
    color: var(--maeme-text);
    font-size: 1.4rem;
    font-weight: 900;
    letter-spacing: -.03em;
}

.m-contact-overview-card p,
.m-contact-overview-card a {
    display: block;
    margin: 0;
    color: var(--maeme-muted);
    font-size: .84rem;
    line-height: 1.65;
    text-decoration: none;
}

.m-contact-overview-card a {
    color: var(--maeme-red);
    font-weight: 800;
}

.m-contact-overview-card a + a {
    margin-top: .18rem;
}

.m-contact-hours {
    margin: 0;
    padding: 0;
    list-style: none;
}

.m-contact-hours li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .28rem 0;
    color: var(--maeme-muted);
    font-size: .8rem;
}

.m-contact-hours strong {
    color: var(--maeme-text);
    white-space: nowrap;
}

.m-contact-body {
    padding: .6rem 0 3rem;
}

.m-contact-body-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, .72fr);
    gap: 1.3rem;
    align-items: start;
}

.m-contact-form-card,
.m-contact-side-card {
    border: 1px solid var(--maeme-border);
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 18px 46px rgba(60, 22, 14, .07);
}

.m-contact-form-card {
    padding: 1.6rem;
}

.m-contact-section-head {
    margin-bottom: 1.2rem;
}

.m-contact-section-head h2 {
    margin: 0 0 .55rem;
    color: var(--maeme-text);
    font-size: 2.15rem;
    font-weight: 900;
    letter-spacing: -.04em;
}

.m-contact-section-head p:last-child {
    margin: 0;
    color: var(--maeme-muted);
    font-size: .9rem;
    line-height: 1.65;
}

.m-contact-form label {
    margin-bottom: .48rem;
    color: var(--maeme-text);
    font-size: .82rem;
    font-weight: 800;
}

.m-contact-form .form-control {
    min-height: 52px;
    border-radius: 14px;
    border: 1px solid #eadbcf;
    background: #fffdfb;
    padding: .78rem .95rem;
    font-size: .85rem;
    box-shadow: none;
}

.m-contact-form .form-control:focus {
    border-color: rgba(153, 4, 30, .35);
    box-shadow: 0 0 0 .2rem rgba(153, 4, 30, .08);
}

.m-contact-form textarea.form-control {
    min-height: 132px;
    resize: vertical;
}

.m-contact-captcha-row {
    display: grid;
    grid-template-columns: 145px minmax(0, 1fr);
    gap: .7rem;
}

.m-contact-captcha-code {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed #d39a65;
    border-radius: 14px;
    background:
        repeating-linear-gradient(
            -35deg,
            rgba(255, 194, 87, .16),
            rgba(255, 194, 87, .16) 8px,
            rgba(255, 255, 255, .62) 8px,
            rgba(255, 255, 255, .62) 16px
        ),
        #fff7e4;
    color: var(--maeme-red);
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
    user-select: none;
}

.m-contact-form-error {
    display: none;
    margin-top: 1rem;
    border: 1px solid #efc3c8;
    border-radius: 12px;
    background: #fff2f3;
    padding: .85rem .9rem;
    color: #8d1024;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.45;
}

.m-contact-form-error.show {
    display: block;
}

.m-contact-side-stack {
    display: grid;
    gap: 1rem;
}

.m-contact-side-card {
    padding: 1.35rem;
}

.m-contact-side-card-head {
    display: flex;
    gap: .85rem;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.m-contact-side-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(153, 4, 30, .08);
    color: var(--maeme-red);
    font-size: 1rem;
}

.m-contact-side-card-head h2 {
    margin: 0;
    color: var(--maeme-text);
    font-size: 1.2rem;
    font-weight: 900;
}

.m-contact-side-copy {
    margin: 0 0 1rem;
    color: var(--maeme-muted);
    font-size: .84rem;
    line-height: 1.65;
}

.m-contact-next-steps {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: .9rem;
}

.m-contact-next-steps li {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: .8rem;
    align-items: start;
}

.m-contact-next-steps li > span {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff1cf;
    color: var(--maeme-red);
    font-size: .8rem;
    font-weight: 900;
}

.m-contact-next-steps strong {
    display: block;
    margin-bottom: .15rem;
    color: var(--maeme-text);
    font-size: .82rem;
}

.m-contact-next-steps p {
    margin: 0;
    color: var(--maeme-muted);
    font-size: .76rem;
    line-height: 1.55;
}

.m-contact-map-section {
    padding: 0 0 3.5rem;
}

.m-contact-map-card {
    overflow: hidden;
    height: 410px;
    border: 1px solid var(--maeme-border);
    border-radius: 26px;
    background: #eee6df;
    box-shadow: 0 18px 46px rgba(60, 22, 14, .07);
}

.m-contact-map-card iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

@media (max-width: 1199.98px) {
    .m-contact-hero-shell {
        grid-template-columns: 1fr;
    }

    .m-contact-hero-copy h1 {
        max-width: none;
    }

    .m-contact-body-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .m-contact-overview-grid {
        grid-template-columns: 1fr;
    }

    .m-contact-overview-card {
        min-height: 0;
    }
}

@media (max-width: 767.98px) {
    .m-contact-hero {
        padding: 1.4rem 0 2.5rem;
    }

    .m-contact-eyebrow {
        margin-bottom: .7rem;
        font-size: .62rem;
    }

    .m-contact-hero-copy h1 {
        font-size: 2.4rem;
        line-height: .94;
        margin-bottom: .75rem;
    }

    .m-contact-lead {
        font-size: .82rem;
        line-height: 1.55;
    }

    .m-contact-hero-actions {
        margin-top: 1.1rem;
    }

    .m-contact-call-link {
        min-height: 46px;
        padding: .68rem .92rem;
        font-size: .78rem;
    }

    .m-contact-hero-card {
        border-radius: 20px;
        padding: 1rem;
    }

    .m-contact-hero-points {
        gap: .6rem;
    }

    .m-contact-hero-points article {
        grid-template-columns: 40px minmax(0, 1fr);
        border-radius: 14px;
        padding: .72rem;
    }

    .m-contact-hero-points span {
        width: 40px;
        height: 40px;
        border-radius: 12px;
        font-size: .9rem;
    }

    .m-contact-hero-points h2 {
        font-size: .9rem;
    }

    .m-contact-hero-points p {
        font-size: .74rem;
        line-height: 1.45;
    }

    .m-contact-overview {
        margin-top: -1.35rem;
        padding-bottom: 1rem;
    }

    .m-contact-overview-grid {
        gap: .7rem;
    }

    .m-contact-overview-card {
        border-radius: 18px;
        padding: 1rem;
    }

    .m-contact-card-icon {
        width: 44px;
        height: 44px;
        margin-bottom: .85rem;
        border-radius: 13px;
        font-size: .95rem;
    }

    .m-contact-card-kicker {
        font-size: .56rem;
    }

    .m-contact-overview-card h2 {
        margin-bottom: .35rem;
        font-size: 1.1rem;
    }

    .m-contact-overview-card p,
    .m-contact-overview-card a,
    .m-contact-hours li {
        font-size: .74rem;
        line-height: 1.5;
    }

    .m-contact-body {
        padding: .3rem 0 2rem;
    }

    .m-contact-form-card,
    .m-contact-side-card,
    .m-contact-map-card {
        border-radius: 18px;
    }

    .m-contact-form-card,
    .m-contact-side-card {
        padding: 1rem;
    }

    .m-contact-section-head {
        margin-bottom: .9rem;
    }

    .m-contact-section-head h2 {
        font-size: 1.6rem;
        margin-bottom: .35rem;
    }

    .m-contact-section-head p:last-child,
    .m-contact-side-copy {
        font-size: .78rem;
        line-height: 1.5;
    }

    .m-contact-form label {
        font-size: .76rem;
    }

    .m-contact-form .form-control {
        min-height: 45px;
        padding: .68rem .82rem;
        font-size: .78rem;
    }

    .m-contact-form textarea.form-control {
        min-height: 108px;
    }

    .m-contact-captcha-row {
        grid-template-columns: 112px minmax(0, 1fr);
        gap: .55rem;
    }

    .m-contact-captcha-code {
        min-height: 45px;
        border-radius: 11px;
        font-size: .8rem;
        letter-spacing: .11em;
    }

    .m-contact-side-card-head {
        gap: .7rem;
        margin-bottom: .8rem;
    }

    .m-contact-side-icon {
        width: 40px;
        height: 40px;
        border-radius: 12px;
        font-size: .9rem;
    }

    .m-contact-side-card-head h2 {
        font-size: 1rem;
    }

    .m-contact-next-steps {
        gap: .75rem;
    }

    .m-contact-next-steps li {
        grid-template-columns: 30px minmax(0, 1fr);
        gap: .65rem;
    }

    .m-contact-next-steps li > span {
        width: 30px;
        height: 30px;
        font-size: .72rem;
    }

    .m-contact-next-steps strong {
        font-size: .76rem;
    }

    .m-contact-next-steps p {
        font-size: .72rem;
    }

    .m-contact-map-section {
        padding-bottom: 2rem;
    }

    .m-contact-map-card {
        height: 280px;
    }
}

@media (max-width: 480px) {
    .m-contact-hero-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .m-contact-captcha-row {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   CONTACT PAGE — CORPORATE CONTACT STYLE V37
   Isolated class names to avoid legacy contact CSS conflicts.
   ========================================================= */

.maemes-contact-page {
    /*background: #f7f2e9;*/
    color: #251615;
}

.maemes-contact-main {
    padding: 2.4rem 1.25rem 3rem;
}

.maemes-contact-shell {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
}

.maemes-contact-heading {
    max-width: 660px;
    margin: 0 auto 2.1rem;
    text-align: center;
}

.maemes-contact-heading h1 {
    margin: 0;
    color: #291718;
    font-size: clamp(2.6rem, 5vw, 4.15rem);
    font-weight: 900;
    line-height: .95;
    letter-spacing: .015em;
}

.maemes-contact-heading p {
    max-width: 570px;
    margin: .9rem auto 0;
    color: #775f4f;
    /*font-size: .88rem;*/
    line-height: 1.55;
}

.maemes-contact-layout {
    display: grid;
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 1.7rem;
    align-items: start;
}

.maemes-contact-details {
    display: grid;
    gap: 1.1rem;
}

.maemes-contact-info-card {
    min-height: 151px;
    border: 1px solid #eadfd4;
    border-left-width: 3px;
    border-radius: 9px;
    background: #fff;
    padding: 1.25rem 1.35rem;
    /*box-shadow: 0 9px 18px rgba(50, 31, 24, .11);*/
}

.maemes-contact-info-red {
    border-left-color: #b80d2b;
}

.maemes-contact-info-yellow {
    border-left-color: #ffc21d;
}

.maemes-contact-info-head {
    display: flex;
    align-items: center;
    gap: .85rem;
    margin-bottom: .85rem;
}

.maemes-contact-info-icon {
    width: 47px;
    height: 47px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--maeme-red);
    color: #fff;
    font-size: 1.15rem;
    box-shadow: 0 7px 13px rgba(143, 5, 30, .18);
}

.maemes-contact-info-yellow .maemes-contact-info-icon {
    background: var(--maeme-yellow);
    color: #251615;
}

.maemes-contact-info-head h2 {
    margin: 0;
    color: #211311;
    font-size: .91rem;
    font-weight: 900;
}

.maemes-contact-info-primary,
.maemes-contact-address {
    margin: 0;
    color: #211311;
    /*font-size: .8rem;*/
    font-weight: 650;
    line-height: 1.55;
    text-decoration: none;
}

.maemes-contact-info-secondary-link {
    display: block;
    margin-top: .12rem;
    color: #211311;
    font-size: .76rem;
    font-weight: 700;
    text-decoration: none;
}

.maemes-contact-info-note {
    margin: .55rem 0 0;
    color: #7b6252;
    font-size: .90rem;
}

.maemes-contact-hours-compact {
    display: grid;
    gap: .18rem;
    margin-top: .45rem;
    color: #7b6252;
    font-size: .90rem;
}

.maemes-contact-form-card {
    border: 1px solid #e3d8cd;
    border-radius: 9px;
    background: #fff;
    padding: 2rem;
    /*box-shadow: 0 9px 19px rgba(50, 31, 24, .12);*/
}

.maemes-contact-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.2rem;
}

.maemes-contact-field {
    min-width: 0;
}

.maemes-contact-field-full {
    grid-column: 1 / -1;
}

.maemes-contact-field label {
    display: block;
    margin-bottom: .45rem;
    color: #211311;
    /*font-size: .86rem;*/
    font-weight: 800;
}

.maemes-contact-field .form-control {
    min-height: 44px;
    border: 1px solid #ded2c7;
    border-radius: 7px;
    background: #fff;
    color: #251615;
    padding: .68rem .78rem;
    font-size: .96rem;
    box-shadow: none;
}

.maemes-contact-field .form-control::placeholder {
    color: #a49287;
}

.maemes-contact-field .form-control:focus {
    border-color: rgba(153, 4, 30, .42);
    box-shadow: 0 0 0 3px rgba(153, 4, 30, .07);
}

.maemes-contact-field textarea.form-control {
    min-height: 105px;
    resize: vertical;
}

.maemes-contact-captcha {
    display: grid;
    grid-template-columns: 135px minmax(0, 1fr);
    gap: .7rem;
}

.maemes-contact-captcha-code {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed #d8a771;
    border-radius: 7px;
    background: #fff7e3;
    color: #99041e;
    font-size: .88rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
    user-select: none;
}

.maemes-contact-submit {
    width: 100%;
    min-height: 43px;
    margin-top: 1.35rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    border: 0;
    border-radius: 0;
    background: var(--maeme-red);
    color: #fff;
    padding: .7rem 1rem;
    font-size: .92rem;
    font-weight: 900;
    letter-spacing: .01em;
    cursor: pointer;
    transition:
        background .2s ease,
        transform .2s ease,
        opacity .2s ease;
}

.maemes-contact-submit:hover {
    background: #861f30;
    transform: translateY(-1px);
}

.maemes-contact-submit:disabled {
    opacity: .68;
    pointer-events: none;
}

.maemes-contact-error {
    display: none;
    margin-top: 1rem;
    border: 1px solid #edc4ca;
    border-radius: 7px;
    background: #fff2f3;
    padding: .7rem .8rem;
    color: #8d1024;
    font-size: .72rem;
    font-weight: 700;
}

.maemes-contact-error.show {
    display: block;
}

.maemes-contact-map-section {
    padding: 0 1.25rem 3.5rem;
}

.maemes-contact-map-heading {
    margin-bottom: 1rem;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
}

.maemes-contact-map-heading p {
    margin: 0 0 .25rem;
    color: #b80d2b;
    font-size: .86rem;
    font-weight: 900;
    letter-spacing: .16em;
}

.maemes-contact-map-heading h2 {
    margin: 0;
    color: #291718;
    font-size: 1.65rem;
    font-weight: 900;
}

.maemes-contact-map-heading a {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    border: 1px solid #cdbeb1;
    border-radius: 999px;
    background: transparent;
    padding: .65rem .9rem;
    color: #291718;
    /*font-size: .72rem;*/
    font-weight: 800;
    text-decoration: none;
}

.maemes-contact-map {
    overflow: hidden;
    height: 330px;
    border: 1px solid #e1d6cc;
    border-radius: 10px;
    background: #e9e2da;
    box-shadow: 0 9px 18px rgba(50, 31, 24, .08);
}

.maemes-contact-map iframe {
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
}

@media (max-width: 991.98px) {
    .maemes-contact-layout {
        grid-template-columns: 290px minmax(0, 1fr);
        gap: 1.1rem;
    }

    .maemes-contact-info-card {
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .maemes-contact-form-card {
        padding: 1.4rem;
    }
}

@media (max-width: 767.98px) {
    .maemes-contact-main {
        padding: 2rem .75rem 1.8rem;
    }

    .maemes-contact-heading {
        margin-bottom: 1.7rem;
    }

    .maemes-contact-heading h1 {
        font-size: 2.25rem;
    }

    .maemes-contact-heading p {
        margin-top: .65rem;
        font-size: .92rem;
    }

    .maemes-contact-layout {
        grid-template-columns: 1fr;
        gap: .9rem;
    }

    .maemes-contact-details {
        grid-template-columns: 1fr;
        gap: .65rem;
    }

    .maemes-contact-info-card {
        min-height: 0;
        border-radius: 8px;
        padding: .9rem;
    }

    .maemes-contact-info-head {
        margin-bottom: .55rem;
    }

    .maemes-contact-info-icon {
        width: 40px;
        height: 40px;
        font-size: .95rem;
    }

    .maemes-contact-info-head h2 {
        /*font-size: .84rem;*/
    }

    .maemes-contact-info-primary,
    .maemes-contact-address {
        /*font-size: .75rem;*/
    }

    .maemes-contact-info-note,
    .maemes-contact-hours-compact {
        /*font-size: .68rem;*/
    }

    .maemes-contact-form-card {
        border-radius: 8px;
        padding: 1rem;
    }

    .maemes-contact-form-grid {
        gap: .75rem;
    }

    .maemes-contact-field label {
        /*font-size: .69rem;*/
    }

    .maemes-contact-field .form-control {
        min-height: 42px;
        font-size: .74rem;
    }

    .maemes-contact-field textarea.form-control {
        min-height: 92px;
    }

    .maemes-contact-submit {
        min-height: 42px;
        margin-top: 1rem;
    }

    .maemes-contact-map-section {
        padding: 0 .75rem 2rem;
    }

    .maemes-contact-map-heading h2 {
        font-size: 1.35rem;
    }

    .maemes-contact-map {
        height: 270px;
    }
}

@media (max-width: 520px) {
    .maemes-contact-form-grid {
        grid-template-columns: 1fr;
    }

    .maemes-contact-field-full {
        grid-column: auto;
    }

    .maemes-contact-captcha {
        grid-template-columns: 105px minmax(0, 1fr);
    }

    .maemes-contact-map-heading {
        display: block;
    }

    .maemes-contact-map-heading a {
        margin-top: .7rem;
    }
}

@media (max-width: 360px) {
    .maemes-contact-captcha {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   CAREER — WHY WORK AT MAEME'S
   Desktop proportions aligned with approved React reference.
   ========================================================= */

.career-benefits-section {
    padding-top: 3rem;
    padding-right: 1.5rem;
    padding-bottom: 3.5rem;
    padding-left: 1.5rem;
    background: #fff;
}

.career-benefits-section .site-container {
    width: 100%;
    max-width: 1680px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
}

.career-benefits-section .mw-700 {
    max-width: none;
}

.career-benefits-section .eyebrow {
    margin-bottom: .75rem;
    font-size: .7rem;
    line-height: 1.25;
    letter-spacing: .24em;
}

.career-benefits-section .section-title {
    max-width: 900px;
    margin-top: 0;
    margin-bottom: .9rem;
    font-size: clamp(2.35rem, 3.2vw, 3rem);
    line-height: 1.02;
    letter-spacing: -.035em;
}

.career-benefits-section .section-copy {
    max-width: 880px;
    margin-top: 0;
    margin-bottom: 0;
    font-size: 1.05rem;
    line-height: 1.65;
}

.career-benefit-grid {
    width: 100%;
    margin-top: 2.6rem;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.15rem;
}

.career-benefit-card {
    min-width: 0;
    min-height: 260px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border: 1px solid #e9d3c5;
    border-radius: 24px;
    background: #fffbf7;
    padding: 1.55rem;
    box-shadow: 0 12px 30px rgba(74, 32, 20, .045);
}

.career-icon {
    width: 54px;
    height: 54px;
    flex: 0 0 auto;
    border-radius: 13px;
    background: #fff0d2;
    color: var(--maeme-red);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.career-benefit-card h3 {
    margin-top: 1.35rem;
    margin-right: 0;
    margin-bottom: .65rem;
    margin-left: 0;
    color: var(--maeme-red);
    font-size: 1.22rem;
    font-weight: 900;
    line-height: 1.18;
    letter-spacing: -.015em;
}

.career-benefit-card p {
    max-width: 100%;
    margin: 0;
    color: #715d57;
    font-size: .96rem;
    line-height: 1.65;
}

@media (max-width: 1199.98px) {
    .career-benefits-section .site-container {
        max-width: 1180px;
    }

    .career-benefit-card {
        min-height: 280px;
    }
}

@media (max-width: 991.98px) {
    .career-benefits-section {
        padding-top: 2.7rem;
        padding-bottom: 3rem;
    }

    .career-benefit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .career-benefit-card {
        min-height: 235px;
    }
}

@media (max-width: 767.98px) {
    .career-benefits-section {
        padding-top: 2rem;
        padding-right: 1rem;
        padding-bottom: 2.25rem;
        padding-left: 1rem;
    }

    .career-benefits-section .site-container {
        padding-right: 0;
        padding-left: 0;
    }

    .career-benefits-section .eyebrow {
        margin-bottom: .55rem;
        font-size: .6rem;
    }

    .career-benefits-section .section-title {
        margin-bottom: .65rem;
        font-size: 2rem;
    }

    .career-benefits-section .section-copy {
        font-size: .82rem;
        line-height: 1.55;
    }

    .career-benefit-grid {
        margin-top: 1.5rem;
        grid-template-columns: 1fr;
        gap: .7rem;
    }

    .career-benefit-card {
        min-height: 0;
        display: grid;
        grid-template-columns: 46px minmax(0, 1fr);
        column-gap: .8rem;
        row-gap: .25rem;
        border-radius: 18px;
        padding: 1rem;
    }

    .career-icon {
        width: 46px;
        height: 46px;
        grid-row: 1 / span 2;
        border-radius: 12px;
        font-size: 1.05rem;
    }

    .career-benefit-card h3 {
        margin: .05rem 0 .2rem;
        font-size: 1rem;
        line-height: 1.2;
    }

    .career-benefit-card p {
        font-size: .78rem;
        line-height: 1.5;
    }
}

/* =========================================================
   CAREER — AVAILABILITY DROPDOWN POLISH V40
   ========================================================= */

.career-availability-grid .form-select {
    min-height: 50px;
    border: 1px solid #dfc2b1;
    border-radius: 14px;
    background-color: #fffaf5;
    color: #351817;
    padding-top: .7rem;
    padding-bottom: .7rem;
    padding-left: .95rem;
    padding-right: 2.6rem;
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.35;
    box-shadow: 0 8px 20px rgba(63, 24, 18, .04);
    cursor: pointer;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background-color .2s ease;
}

.career-availability-grid .form-select:hover {
    border-color: rgba(153, 4, 30, .45);
    background-color: #fff7f1;
}

.career-availability-grid .form-select:focus {
    border-color: var(--maeme-red);
    background-color: #fff;
    box-shadow: 0 0 0 .22rem rgba(153, 4, 30, .09);
}

.career-availability-grid .form-select option {
    background: #fffaf5;
    color: #351817;
    padding: .7rem .9rem;
    font-size: .9rem;
    font-weight: 600;
    line-height: 1.8;
}

.career-availability-grid .form-select option:checked {
    background: var(--maeme-red);
    color: #fff;
    font-weight: 800;
}

.career-availability-grid .form-label {
    margin-bottom: .45rem;
    color: #4d3530;
    font-size: .82rem;
    font-weight: 900;
}

@media (max-width: 767.98px) {
    .career-availability-grid .form-select {
        min-height: 46px;
        border-radius: 12px;
        padding-top: .62rem;
        padding-bottom: .62rem;
        padding-left: .8rem;
        font-size: .82rem;
    }

    .career-availability-grid .form-select option {
        font-size: .82rem;
    }

    .career-availability-grid .form-label {
        font-size: .76rem;
    }
}

/* =========================================================
   CAREER — CUSTOM AVAILABILITY DROPDOWN V41
   ========================================================= */

.career-availability-field {
    position: relative;
    min-width: 0;
}

.career-custom-select {
    position: relative;
    width: 100%;
}

.career-custom-select-trigger {
    width: 100%;
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    border: 1px solid #dfc2b1;
    border-radius: 14px;
    background: #fffaf5;
    color: #351817;
    padding: .72rem .95rem;
    font-family: inherit;
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.35;
    text-align: left;
    box-shadow: 0 7px 18px rgba(63, 24, 18, .035);
    cursor: pointer;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background-color .2s ease;
}

.career-custom-select-trigger:hover {
    border-color: rgba(153, 4, 30, .42);
    background: #fff8f3;
}

.career-custom-select-trigger:focus {
    outline: none;
    border-color: var(--maeme-red);
    box-shadow: 0 0 0 .22rem rgba(153, 4, 30, .08);
}

.career-custom-select-trigger i {
    flex: 0 0 auto;
    color: var(--maeme-red);
    font-size: .9rem;
    transition: transform .2s ease;
}

.career-custom-select.is-open .career-custom-select-trigger {
    border-color: var(--maeme-red);
    background: #fff;
    box-shadow: 0 0 0 .22rem rgba(153, 4, 30, .07);
}

.career-custom-select.is-open .career-custom-select-trigger i {
    transform: rotate(180deg);
}

.career-custom-select-menu {
    position: absolute;
    top: calc(100% + .45rem);
    right: 0;
    left: 0;
    z-index: 1060;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-5px);
    border: 1px solid #ead1bd;
    border-radius: 13px;
    background: #fff;
    padding: .5rem;
    box-shadow: 0 16px 36px rgba(63, 24, 18, .13);
    pointer-events: none;
    transition:
        opacity .16s ease,
        transform .16s ease,
        visibility .16s ease;
}

.career-custom-select.is-open .career-custom-select-menu {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.career-custom-select-option {
    width: 100%;
    min-height: 43px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #4a302d;
    padding: .7rem .8rem;
    font-family: inherit;
    font-size: .88rem;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
    transition:
        background-color .15s ease,
        color .15s ease;
}

.career-custom-select-option + .career-custom-select-option {
    margin-top: .1rem;
}

.career-custom-select-option:hover,
.career-custom-select-option:focus {
    outline: none;
    background: #fff7eb;
    color: var(--maeme-red);
}

.career-custom-select-option i {
    visibility: hidden;
    flex: 0 0 auto;
    color: var(--maeme-red);
    font-size: 1rem;
}

.career-custom-select-option.is-selected {
    background: #fff1df;
    color: var(--maeme-red);
    font-weight: 800;
}

.career-custom-select-option.is-selected i {
    visibility: visible;
}

.career-native-select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

@media (max-width: 767.98px) {
    .career-custom-select-trigger {
        min-height: 46px;
        border-radius: 12px;
        padding: .64rem .8rem;
        font-size: .82rem;
    }

    .career-custom-select-menu {
        border-radius: 12px;
        padding: .4rem;
    }

    .career-custom-select-option {
        min-height: 40px;
        border-radius: 8px;
        padding: .62rem .7rem;
        font-size: .8rem;
    }
}

/* =========================================================
   CAREER — ALL CUSTOM DROPDOWNS V42
   ========================================================= */

.career-custom-select-trigger.is-placeholder {
    color: #9b8982;
    font-weight: 600;
}

.career-custom-select.is-invalid .career-custom-select-trigger {
    border-color: #dc3545;
    background: #fff8f8;
    box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .08);
}

.career-custom-select.is-invalid + .invalid-feedback {
    display: block;
}

.career-custom-select-menu-scroll {
    max-height: 285px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #d6b5a5 transparent;
}

.career-custom-select-menu-scroll::-webkit-scrollbar {
    width: 7px;
}

.career-custom-select-menu-scroll::-webkit-scrollbar-track {
    background: transparent;
}

.career-custom-select-menu-scroll::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #d6b5a5;
}

.career-custom-select-option span {
    min-width: 0;
    overflow-wrap: anywhere;
}

@media (max-width: 767.98px) {
    .career-custom-select-menu-scroll {
        max-height: 245px;
    }
}

/* =========================================================
   CAREER — LIVE BACKEND FORM FEEDBACK V43
   ========================================================= */

.career-form-server-message {
    display: none;
    margin-top: 1rem;
    border: 1px solid #efc3c8;
    border-radius: 13px;
    background: #fff3f4;
    padding: .85rem 1rem;
    color: #8d1024;
    font-size: .8rem;
    font-weight: 700;
    line-height: 1.5;
}

.career-form-server-message.show {
    display: block;
}

.career-submit:disabled {
    opacity: .7;
    cursor: wait;
    pointer-events: none;
}

/* =========================================================
   CAREER — MOBILE APPLICATION JOURNEY V45
   Number + title on the same row
   ========================================================= */

@media (max-width: 767.98px) {
    .career-journey-grid li {
        display: grid;
        grid-template-columns: 36px minmax(0, 1fr);
        column-gap: .8rem;
        row-gap: .65rem;
        align-items: center;
    }

    .career-journey-grid li > span {
        grid-column: 1;
        grid-row: 1;
    }

    .career-journey-grid li > h3 {
        grid-column: 2;
        grid-row: 1;
        margin: 0;
        align-self: center;
    }

    .career-journey-grid li > p {
        grid-column: 1 / -1;
        grid-row: 2;
        margin: 0;
    }
}

/* =========================================================
   BRANCHES — REACT CARD MATCH V46
   ========================================================= */

.branch-card {
    overflow: hidden;
    border: 1px solid #e6bdb8;
    border-top: 4px solid var(--maeme-red);
    border-radius: 28px;
    background: #ffffff;
    /*padding: 22px 26px 24px;*/
    padding: 22px 14px 24px;
    box-shadow: 0 8px 24px rgba(74, 32, 20, .035);
}

.branch-card.selected {
    border-color: #e6bdb8;
    border-top-color: var(--maeme-red);
    box-shadow: 0 10px 28px rgba(153, 4, 30, .055);
}

.branch-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.branch-card-heading {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 1rem;
}

.branch-card-title-wrap {
    min-width: 0;
}

.branch-number {
    width: 46px;
    height: 46px;
    border-radius: 9px;
    background: #fff1da;
    color: var(--maeme-red);
    font-size: .9rem;
    font-weight: 900;
    line-height: 1;
}

.branch-card h3 {
    margin: 0;
    color: #2d1614;
    font-size: 1.5rem;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -.025em;
}

.branch-status {
    min-height: 32px;
    padding: .42rem .82rem;
    border-color: #c9e5d3;
    background: #f1faf4;
    color: #087b3d;
    font-size: .69rem;
    font-weight: 900;
}

.branch-status::before {
    width: 8px;
    height: 8px;
    background: #2ca660;
}

.branch-status.closed {
    border-color: #f0c9ce;
    background: #fff0f2;
    color: var(--maeme-red);
}

.branch-card-divider {
    width: 100%;
    height: 1px;
    margin: 10px 0 14px;
    background: #ead8cc;
}

.branch-contact-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
}

.branch-address {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: .55rem;
    color: #6c554d;
    font-size: .93rem;
    line-height: 1.45;
}

.branch-address i,
.branch-phone i {
    flex: 0 0 auto;
    color: var(--maeme-red);
    font-size: 1rem;
}

.branch-address span {
    min-width: 0;
}

.branch-phone {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    gap: .55rem;
    color: #5a443e;
    font-size: .92rem;
    font-weight: 800;
    white-space: nowrap;
}

.branch-phone:hover {
    color: var(--maeme-red);
}

.branch-meta-grid.branch-meta-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    margin-top: 22px;
    border: 1px solid #ead7ca;
    border-radius: 12px;
    background: #fffaf5;
}

.branch-meta-strip .branch-meta {
    min-width: 0;
    min-height: 94px;
    border-right: 1px solid #ead7ca;
    border-radius: 0;
    background: transparent;
    padding: 13px 10px 12px;
    color: #4d3530;
}

.branch-meta-strip .branch-meta:last-child {
    border-right: 0;
}

.branch-meta-label {
    display: flex;
    align-items: center;
    gap: .4rem;
    min-width: 0;
    color: #684b43;
    font-size: .58rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: .105em;
    text-transform: uppercase;
}

.branch-meta-label i {
    flex: 0 0 auto;
    color: var(--maeme-red);
    font-size: .87rem;
}

.branch-meta-label span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.branch-meta-strip .branch-meta strong {
    display: block;
    margin-top: .55rem;
    color: #3a211c;
    font-size: .78rem;
    font-weight: 900;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.branch-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin-top: 20px;
}

.branch-actions a,
.branch-actions button {
    width: 100%;
    min-height: 54px;
    border-radius: 10px;
    padding: 0 1rem;
    font-size: .9rem;
    font-weight: 900;
    gap: .55rem;
}

.branch-directions {
    border: 1px solid #dfbca8;
    background: #ffffff;
    color: var(--maeme-red);
}

.branch-directions:hover {
    border-color: var(--maeme-red);
    background: #fff8f2;
    color: var(--maeme-red);
}

.branch-order {
    border: 1px solid var(--maeme-red);
    background: var(--maeme-red);
    color: #ffffff;
}

.branch-order:hover {
    border-color: var(--maeme-red-dark);
    background: var(--maeme-red-dark);
    color: #ffffff;
}

.branch-order.disabled {
    border-color: var(--maeme-red);
    background: var(--maeme-red);
    color: #ffffff;
    opacity: .58;
    pointer-events: none;
}

@media (max-width: 767.98px) {
    .branch-card {
        padding: 1rem;
        border-radius: 20px;
    }

    .branch-card-top {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: .65rem;
    }

    .branch-card-heading {
        min-width: 0;
        gap: .7rem;
    }

    .branch-number {
        width: 38px;
        height: 38px;
        border-radius: 8px;
        font-size: .76rem;
    }

    .branch-card h3 {
        overflow-wrap: anywhere;
        font-size: 1.02rem;
        line-height: 1.2;
    }

    .branch-status {
        align-self: center;
        justify-self: end;
        min-height: 29px;
        margin: 0;
        padding: .36rem .58rem;
        font-size: .61rem;
    }

    .branch-card-divider {
        margin: .8rem 0;
    }

    .branch-contact-row {
        align-items: flex-start;
        flex-direction: column;
        gap: .45rem;
    }

    .branch-address,
    .branch-phone {
        font-size: .78rem;
    }

    .branch-meta-grid.branch-meta-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: .85rem;
    }

    .branch-meta-strip .branch-meta {
        min-height: 82px;
        padding: .65rem .7rem;
    }

    .branch-meta-strip .branch-meta:nth-child(2) {
        border-right: 0;
    }

    .branch-meta-strip .branch-meta:nth-child(-n + 2) {
        border-bottom: 1px solid #ead7ca;
    }

    .branch-meta-strip .branch-meta:nth-child(3) {
        border-right: 1px solid #ead7ca;
    }

    .branch-meta-strip .branch-meta:last-child {
        border-right: 0;
    }

    .branch-meta-label {
        font-size: .53rem;
    }

    .branch-meta-strip .branch-meta strong {
        margin-top: .42rem;
        font-size: .80rem;
    }

    .branch-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .55rem;
        margin-top: .85rem;
    }

    .branch-actions a,
    .branch-actions button {
        min-height: 43px;
        border-radius: 10px;
        padding: 0 .55rem;
        font-size: .86rem;
    }
}

@media (max-width: 360px) {
    .branch-meta-grid.branch-meta-strip {
        grid-template-columns: 1fr;
    }

    .branch-meta-strip .branch-meta,
    .branch-meta-strip .branch-meta:nth-child(2),
    .branch-meta-strip .branch-meta:nth-child(3) {
        border-right: 0;
        border-bottom: 1px solid #ead7ca;
    }

    .branch-meta-strip .branch-meta:last-child {
        border-bottom: 0;
    }

    .branch-actions {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   BRANCHES — OPENING SOON MODAL / REACT MATCH V47
   ========================================================= */

#openingSoonModal {
    padding-right: 0 !important;
}

#openingSoonModal .modal-dialog {
    width: calc(100% - 2rem);
    max-width: 1040px;
    margin: 1.5rem auto;
}

#openingSoonModal .modal-content {
    max-height: calc(100dvh - 3rem);
    overflow: hidden;
    border: 1px solid #ead3c2;
    border-radius: 28px;
    background: #fffaf5;
    box-shadow: 0 28px 80px rgba(43, 22, 18, .22);
}

body.opening-soon-modal-active .modal-backdrop.show {
    background-color: #4b3732;
    opacity: .58;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

.opening-soon-header {
    position: relative;
    flex: 0 0 auto;
    border-bottom: 1px solid #ead9cc;
    background: #ffffff;
    padding: 28px 30px 22px;
}

.opening-soon-header-copy {
    min-width: 0;
    padding-right: 72px;
}

.opening-soon-eyebrow {
    margin: 0 0 .45rem;
    color: var(--maeme-red);
    font-size: .68rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.opening-soon-title {
    margin: 0;
    color: #2b1714;
    font-size: 2rem;
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: -.035em;
}

.opening-soon-copy {
    margin: .55rem 0 0;
    color: #715d57;
    font-size: .91rem;
    line-height: 1.5;
}

.opening-soon-copy strong {
    color: var(--maeme-red);
    font-weight: 900;
}

.opening-soon-close {
    position: absolute;
    top: 28px;
    right: 30px;
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e6cbb8;
    border-radius: 50%;
    background: #ffffff;
    color: var(--maeme-red);
    font-size: 1.15rem;
    line-height: 1;
    cursor: pointer;
    transition:
        background-color .18s ease,
        border-color .18s ease,
        transform .18s ease;
}

.opening-soon-close:hover {
    border-color: var(--maeme-red);
    background: #fff7f3;
    transform: rotate(3deg);
}

.opening-soon-close:focus-visible {
    outline: 3px solid rgba(153, 4, 30, .12);
    outline-offset: 2px;
}

.opening-soon-search-wrap {
    margin-top: 1.1rem;
}

.opening-soon-search {
    min-height: 58px;
    display: flex;
    align-items: center;
    gap: .8rem;
    border: 1px solid var(--maeme-red);
    border-radius: 13px;
    background: #ffffff;
    padding: 0 1rem;
    box-shadow:
        0 0 0 4px rgba(153, 4, 30, .07),
        0 8px 20px rgba(82, 34, 25, .025);
}

.opening-soon-search i {
    flex: 0 0 auto;
    color: var(--maeme-red);
    font-size: 1rem;
}

.opening-soon-search input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #3d2722;
    font: inherit;
    font-size: .9rem;
}

.opening-soon-search input::placeholder {
    color: #8a746c;
    opacity: 1;
}

.opening-soon-result-count {
    margin: .7rem 0 0;
    color: #5d4942;
    font-size: .75rem;
    font-weight: 800;
}

#openingSoonModal .opening-soon-scroll {
    max-height: min(58vh, 500px);
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #fffaf5;
    padding: 1rem 30px 1.25rem;
    scrollbar-width: thin;
    scrollbar-color: var(--maeme-red) #f1e4da;
}

#openingSoonModal .opening-soon-scroll::-webkit-scrollbar {
    width: 10px;
}

#openingSoonModal .opening-soon-scroll::-webkit-scrollbar-track {
    border-radius: 999px;
    background: #f1e4da;
}

#openingSoonModal .opening-soon-scroll::-webkit-scrollbar-thumb {
    min-height: 42px;
    border: 2px solid #f1e4da;
    border-radius: 999px;
    background: var(--maeme-red);
}

#openingSoonModal .opening-soon-scroll::-webkit-scrollbar-thumb:hover {
    background: var(--maeme-red-dark);
}

.opening-soon-list {
    width: 100%;
}

#openingSoonModal .opening-row {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid #ead9cc;
}

#openingSoonModal .opening-row[hidden] {
    display: none !important;
}

#openingSoonModal .opening-row:last-child {
    border-bottom: 0;
}

.opening-row-icon {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #fff0cf;
    color: var(--maeme-red);
    font-size: 1.05rem;
}

.opening-row-copy {
    min-width: 0;
}

#openingSoonModal .opening-row h3 {
    margin: 0;
    color: #38211d;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.25;
}

#openingSoonModal .opening-row p {
    /*margin: .28rem 0 0;*/
    color: #806d66;
    font-size: .82rem;
    line-height: 1.4;
}

#openingSoonModal .opening-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .42rem;
    min-height: 38px;
    border-radius: 999px;
    background: #fff0cf;
    color: var(--maeme-red);
    padding: .55rem .82rem;
    font-size: .90rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

#openingSoonModal .opening-label i {
    font-size: .82rem;
}

.opening-soon-empty {
    min-height: 210px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: .45rem;
    color: #715d57;
    text-align: center;
}

.opening-soon-empty > i {
    color: var(--maeme-red);
    font-size: 1.7rem;
}

.opening-soon-empty strong {
    color: #3a211c;
    font-size: 1rem;
}

.opening-soon-empty span {
    font-size: .8rem;
}

@media (max-width: 767.98px) {
    #openingSoonModal .modal-dialog {
        width: calc(100% - 1rem);
        margin: .5rem auto;
    }

    #openingSoonModal .modal-content {
        max-height: calc(100dvh - 1rem);
        border-radius: 20px;
    }

    .opening-soon-header {
        padding: 1.1rem 1rem .9rem;
    }

    .opening-soon-header-copy {
        padding-right: 48px;
    }

    .opening-soon-eyebrow {
        margin-bottom: .35rem;
        font-size: .58rem;
    }

    .opening-soon-title {
        font-size: 1.48rem;
    }

    .opening-soon-copy {
        margin-top: .4rem;
        font-size: .77rem;
    }

    .opening-soon-close {
        top: 1rem;
        right: 1rem;
        width: 38px;
        height: 38px;
        font-size: .9rem;
    }

    .opening-soon-search-wrap {
        margin-top: .85rem;
    }

    .opening-soon-search {
        min-height: 48px;
        border-radius: 11px;
        padding: 0 .8rem;
    }

    .opening-soon-search input {
        font-size: .8rem;
    }

    .opening-soon-result-count {
        margin-top: .55rem;
        font-size: .68rem;
    }

    #openingSoonModal .opening-soon-scroll {
        max-height: calc(100dvh - 245px);
        padding: .5rem 1rem .85rem;
    }

    #openingSoonModal .opening-row {
        grid-template-columns: 40px minmax(0, 1fr) auto;
        gap: .7rem;
        padding: .8rem 0;
    }

    .opening-row-icon {
        width: 40px;
        height: 40px;
        border-radius: 10px;
        font-size: .9rem;
    }

    #openingSoonModal .opening-row h3 {
        font-size: .88rem;
    }

    #openingSoonModal .opening-row p {
        margin-top: .2rem;
        font-size: .71rem;
    }

    #openingSoonModal .opening-label {
        min-height: 32px;
        padding: .43rem .58rem;
        font-size: .70rem;
    }
}

@media (max-width: 480px) {
    #openingSoonModal .opening-row {
        grid-template-columns: 38px minmax(0, 1fr);
        align-items: start;
    }

    .opening-row-icon {
        width: 38px;
        height: 38px;
    }

    #openingSoonModal .opening-label {
        grid-column: 2;
        justify-self: start;
        margin-top: -.15rem;
    }
}

/* =========================================================
   BRANCHES — OPENING SOON MODAL REFINEMENT V48
   Navbar stacking, 2px backdrop blur, mobile row alignment
   ========================================================= */

#openingSoonModal {
    z-index: 2000;
}

body.opening-soon-modal-active .modal-backdrop {
    z-index: 1990;
}

body.opening-soon-modal-active .modal-backdrop.show {
    background-color: rgba(75, 55, 50, .58);
    opacity: 1;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
}

#openingSoonModal .opening-row {
    grid-template-columns: 48px minmax(0, 1fr);
}

.opening-row-copy {
    min-width: 0;
}

.opening-row-title-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-width: 0;
}

.opening-row-title-line h3 {
    min-width: 0;
}

.opening-row-title-line .opening-label {
    flex: 0 0 auto;
}

@media (max-width: 767.98px) {
    #openingSoonModal .opening-row {
        grid-template-columns: 40px minmax(0, 1fr);
        align-items: start;
    }

    .opening-row-title-line {
        align-items: center;
        gap: .55rem;
    }

    .opening-row-title-line h3 {
        flex: 1 1 auto;
        min-width: 0;
        margin: 0;
        font-size: .86rem;
        line-height: 1.25;
    }

    .opening-row-title-line .opening-label {
        flex: 0 0 auto;
        min-height: 29px;
        max-width: 132px;
        margin: 0;
        padding: .38rem .5rem;
        font-size: .58rem;
        line-height: 1;
        white-space: nowrap;
    }

    .opening-row-title-line .opening-label i {
        font-size: .7rem;
    }

    #openingSoonModal .opening-row p {
        margin-top: .28rem;
    }
}

@media (max-width: 480px) {
    #openingSoonModal .opening-row {
        grid-template-columns: 38px minmax(0, 1fr);
    }

    .opening-row-title-line {
        gap: .4rem;
    }

    .opening-row-title-line h3 {
        font-size: .8rem;
    }

    .opening-row-title-line .opening-label {
        max-width: 118px;
        min-height: 27px;
        padding: .34rem .44rem;
        font-size: .54rem;
    }
}

/* =========================================================
   PRIVACY POLICY — CORPORATE LEGAL LAYOUT V50
   Sticky desktop sidebar + stable mobile scrollspy
   ========================================================= */

/* =========================================================
   PRIVACY POLICY — CORPORATE LEGAL LAYOUT V49
   Scoped to this page only.
   ========================================================= */

.privacy-policy-page {
    background: #ffffff;
    padding: 2rem 0 4rem;
    color: #351817;
}

.privacy-policy-shell {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 1.5rem;
    display: grid;
    grid-template-columns: 270px minmax(0, 1fr);
    gap: 3rem;
    align-items: start;
}

.privacy-policy-sidebar {
    position: sticky;
    top: calc(var(--site-header-height) + 24px);
    align-self: start;
    min-width: 0;
}

.privacy-policy-sidebar-inner {
    border: 1px solid #ead3c2;
    border-radius: 22px;
    background: #fffdf9;
    padding: 1.3rem 1.15rem 1.15rem;
    box-shadow: 0 18px 42px rgba(63, 24, 18, .055);
}

.privacy-policy-sidebar-title {
    margin: 0 0 .9rem;
    color: var(--maeme-red);
    font-size: .66rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.privacy-policy-nav {
    display: flex;
    flex-direction: column;
    gap: .22rem;
}

.privacy-policy-nav a {
    display: block;
    border-radius: 10px;
    padding: .55rem .65rem;
    color: #604b44;
    font-size: .86rem;
    font-weight: 800;
    line-height: 1.25;
    transition:
        background-color .18s ease,
        color .18s ease;
}

.privacy-policy-nav a:hover,
.privacy-policy-nav a.active {
    background: #fff1dc;
    color: var(--maeme-red);
}

.privacy-policy-help {
    margin-top: 1rem;
    border-radius: 16px;
    background: var(--maeme-red);
    padding: 1rem;
    color: #ffffff;
}

.privacy-policy-help-icon {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 194, 87, .6);
    border-radius: 10px;
    color: var(--maeme-yellow);
    font-size: 1rem;
}

.privacy-policy-help h3 {
    margin: .75rem 0 .35rem;
    color: #ffffff;
    font-size: .96rem;
    font-weight: 900;
}

.privacy-policy-help p {
    margin: 0;
    color: rgba(255, 255, 255, .84);
    font-size: .80rem;
    line-height: 1.55;
}

.privacy-policy-help a {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-top: .75rem;
    color: var(--maeme-yellow);
    font-size: .8rem;
    font-weight: 900;
}

.privacy-policy-mobile-nav {
    display: none;
}

.privacy-policy-content {
    overflow: hidden;
    border: 1px solid #ead3c2;
    border-radius: 26px;
    background: #ffffff;
    box-shadow: 0 18px 48px rgba(63, 24, 18, .045);
}

.privacy-policy-section {
    scroll-margin-top: calc(var(--site-header-height) + 28px);
    padding: 2.35rem 2.45rem;
}

.privacy-policy-section + .privacy-policy-section {
    border-top: 1px solid #ead9cc;
}

.privacy-policy-section-heading {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 1.15rem;
    align-items: start;
}

.privacy-policy-number {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #fff0d6;
    color: var(--maeme-red);
    /*font-size: .68rem;*/
    font-weight: 900;
    line-height: 1;
}

.privacy-policy-heading-copy {
    min-width: 0;
}

.privacy-policy-section h1,
.privacy-policy-section h2 {
    margin: .15rem 0 0;
    color: #241310;
    font-size: 1.65rem;
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: -.028em;
}

.privacy-policy-section h3 {
    margin: 1.6rem 0 .55rem;
    color: #341c18;
    font-size: 1.15rem;
    font-weight: 900;
    line-height: 1.3;
}

.privacy-policy-section h4 {
    margin: 1.25rem 0 .45rem;
    color: var(--maeme-red);
    font-size: .92rem;
    font-weight: 900;
    line-height: 1.35;
}

.privacy-policy-section p {
    margin: .7rem 0 0;
    color: #664f47;
    font-size: .92rem;
    font-weight: 600;
    line-height: 1.75;
}

.privacy-policy-section a {
    color: var(--maeme-red);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.privacy-policy-updated {
    display: inline-flex;
    margin-top: .8rem;
    border-radius: 999px;
    background: #fff6e8;
    padding: .38rem .7rem;
    color: #7b5f55;
    font-size: .68rem;
    font-weight: 800;
}

.privacy-policy-subcontent {
    margin-left: 61px;
}

.privacy-policy-list {
    margin: .85rem 0 0;
    padding-left: 1.15rem;
    color: #664f47;
}

.privacy-policy-list li {
    margin: .45rem 0;
    padding-left: .2rem;
    font-size: .92rem;
    font-weight: 600;
    line-height: 1.65;
}

.privacy-policy-list li::marker {
    color: var(--maeme-red);
}

.privacy-definition-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
    margin-top: 1rem;
}

.privacy-definition-card {
    border: 1px solid #ead3c2;
    border-radius: 14px;
    background: #fffaf5;
    padding: .95rem 1rem;
}

.privacy-definition-card strong {
    display: block;
    margin-bottom: .35rem;
    color: var(--maeme-red);
    /*font-size: .78rem;*/
    font-weight: 900;
}

.privacy-definition-card p {
    margin: 0;
    font-size: .92rem;
    line-height: 1.62;
}

.privacy-cookie-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: .75rem;
    margin-top: 1rem;
}

.privacy-cookie-card {
    border: 1px solid #ead3c2;
    border-radius: 14px;
    background: #fffaf5;
    padding: 1rem;
}

.privacy-cookie-card strong {
    color: var(--maeme-red);
    font-size: .9rem;
    font-weight: 900;
}

.privacy-cookie-card p {
    margin-top: .38rem;
    font-size: .76rem;
}

.privacy-policy-contact-list {
    display: grid;
    gap: .6rem;
    margin-top: 1rem;
}

.privacy-policy-contact-item {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    border: 1px solid #ead3c2;
    border-radius: 12px;
    background: #fffaf5;
    padding: .8rem .9rem;
}

.privacy-policy-contact-item i {
    flex: 0 0 auto;
    margin-top: .08rem;
    color: var(--maeme-red);
}

.privacy-policy-contact-item p {
    margin: 0;
    /*font-size: .78rem;*/
}

@media (max-width: 991.98px) {
    .privacy-policy-page {
        padding-top: 0;
    }

    .privacy-policy-shell {
        display: block;
        padding: 0 1rem;
    }

    .privacy-policy-sidebar {
        display: none;
    }

    .privacy-policy-mobile-nav {
        position: sticky;
        top: var(--site-header-height);
        z-index: 990;
        display: flex;
        gap: .5rem;
        overflow-x: auto;
        width: calc(100% + 2rem);
        margin: 0 -1rem 1rem;
        border-bottom: 1px solid #ead9cc;
        background: rgba(255, 255, 255, .96);
        padding: .75rem 1rem;
        box-shadow: 0 8px 22px rgba(63, 24, 18, .045);
        backdrop-filter: blur(10px);
        scrollbar-width: none;
    }

    .privacy-policy-mobile-nav::-webkit-scrollbar {
        display: none;
    }

    .privacy-policy-mobile-nav a {
        flex: 0 0 auto;
        border: 1px solid #e1c1ad;
        border-radius: 999px;
        background: #ffffff;
        padding: .55rem .85rem;
        color: #654b43;
        font-size: .80rem;
        font-weight: 900;
        line-height: 1;
        white-space: nowrap;
    }

    .privacy-policy-mobile-nav a.active {
        border-color: var(--maeme-red);
        background: var(--maeme-red);
        color: #ffffff;
    }

    .privacy-policy-content {
        border-radius: 20px;
    }

    .privacy-policy-section {
        scroll-margin-top: calc(var(--site-header-height) + 74px);
    }
}

@media (max-width: 767.98px) {
    .privacy-policy-page {
        padding-bottom: 2rem;
    }

    .privacy-policy-shell {
        padding: 0 .75rem;
    }

    .privacy-policy-mobile-nav {
        width: calc(100% + 1.5rem);
        margin-right: -.75rem;
        margin-left: -.75rem;
        padding-right: .75rem;
        padding-left: .75rem;
    }

    .privacy-policy-content {
        border-radius: 16px;
    }

    .privacy-policy-section {
        padding: 1.25rem 1rem;
    }

    .privacy-policy-section-heading {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: .75rem;
    }

    .privacy-policy-number {
        width: 38px;
        height: 38px;
        border-radius: 10px;
        font-size: .86rem;
    }

    .privacy-policy-section h1,
    .privacy-policy-section h2 {
        margin-top: .05rem;
        font-size: 1.18rem;
    }

    .privacy-policy-section h3 {
        margin-top: 1.15rem;
        /*font-size: .9rem;*/
    }

    .privacy-policy-section h4 {
        /*font-size: .78rem;*/
    }

    .privacy-policy-section p,
    .privacy-policy-list li {
        font-size: .92rem;
        line-height: 1.65;
    }

    .privacy-policy-subcontent {
        margin-left: 0;
    }

    .privacy-definition-grid {
        grid-template-columns: 1fr;
        gap: .6rem;
    }

    .privacy-definition-card {
        padding: .8rem;
    }

    .privacy-definition-card p,
    .privacy-cookie-card p {
        font-size: .86rem;
    }

    .privacy-policy-updated {
        font-size: .62rem;
    }
}

/* =========================================================
   CONTACT — MAP HEADING / OPEN IN MAPS ALIGNMENT V51
   Keep heading left and button right on all screen sizes.
   ========================================================= */

.maemes-contact-map-heading {
    align-items: center;
}

.maemes-contact-map-heading > div {
    min-width: 0;
}

.maemes-contact-map-heading a {
    flex: 0 0 auto;
    margin-top: 0;
    white-space: nowrap;
}

@media (max-width: 520px) {
    .maemes-contact-map-heading {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .75rem;
    }

    .maemes-contact-map-heading > div {
        flex: 1 1 auto;
        min-width: 0;
    }

    .maemes-contact-map-heading a {
        flex: 0 0 auto;
        min-height: 38px;
        margin-top: 0;
        padding: .5rem .7rem;
        font-size: .7rem;
    }

    .maemes-contact-map-heading a i {
        font-size: .72rem;
    }
}

@media (max-width: 360px) {
    .maemes-contact-map-heading {
        gap: .5rem;
    }

    .maemes-contact-map-heading h2 {
        font-size: 1.18rem;
    }

    .maemes-contact-map-heading a {
        min-height: 36px;
        padding-right: .6rem;
        padding-left: .6rem;
        font-size: .66rem;
    }
}
/* =========================================================
   IOS SAFARI — PREVENT FORM FOCUS AUTO-ZOOM
   Safari may zoom editable controls when their computed font
   size is below 16px. Keep normal desktop/Android styling and
   enforce 16px only on iOS/WebKit phone-sized viewports.
   ========================================================= */
@media (max-width: 767.98px) {
    @supports (-webkit-touch-callout: none) {
        body.maeme-site input:not([type]),
        body.maeme-site input[type="text"],
        body.maeme-site input[type="email"],
        body.maeme-site input[type="tel"],
        body.maeme-site input[type="search"],
        body.maeme-site input[type="number"],
        body.maeme-site input[type="password"],
        body.maeme-site input[type="url"],
        body.maeme-site textarea,
        body.maeme-site select {
            font-size: 16px !important;
        }
    }
}

/* Branch-to-ordering postcode handoff */
.branch-order-entry-modal .modal-dialog {
    width: min(100% - 1.5rem, 440px);
}

.branch-order-entry-modal .modal-content {
    position: relative;
    overflow: hidden;
    padding: 2rem 2rem 1.65rem;
    border: 1px solid rgba(153, 4, 30, .13);
    border-radius: 26px;
    background:
        radial-gradient(circle at 100% 0, rgba(252, 203, 97, .26), transparent 34%),
        #fffdf9;
    box-shadow: 0 28px 80px rgba(74, 18, 22, .2);
    text-align: center;
}

.branch-order-entry-modal .modal-content::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 6px;
    content: "";
    background: linear-gradient(90deg, #99041e 0 68%, #fccb61 68% 100%);
}

.branch-order-entry-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 2;
}

.branch-order-entry-icon {
    display: grid;
    place-items: center;
    width: 68px;
    height: 68px;
    margin: 0 auto 1rem;
    border: 8px solid #fff1ce;
    border-radius: 50%;
    color: #fccb61;
    background: #99041e;
    font-size: 1.55rem;
    box-shadow: 0 10px 24px rgba(153, 4, 30, .16);
}

.branch-order-entry-modal h2 {
    margin: .15rem 0 .55rem;
    color: #65040a;
    font-size: clamp(1.55rem, 4vw, 2rem);
    font-weight: 950;
    letter-spacing: -.035em;
}

.branch-order-entry-modal h2 span {
    color: #99041e;
}

.branch-order-entry-copy {
    max-width: 355px;
    margin: 0 auto 1.25rem;
    color: #725e56;
    font-size: .91rem;
    line-height: 1.55;
}

.branch-order-entry-form {
    text-align: left;
}

.branch-order-entry-form label {
    display: block;
    margin-bottom: .45rem;
    color: #4d3430;
    font-size: .78rem;
    font-weight: 900;
}

.branch-order-entry-field {
    display: flex;
    align-items: center;
    min-height: 52px;
    overflow: hidden;
    border: 1px solid #e7d1c0;
    border-radius: 13px;
    background: #fff;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.branch-order-entry-field:focus-within {
    border-color: #99041e;
    box-shadow: 0 0 0 4px rgba(153, 4, 30, .08);
}

.branch-order-entry-field i {
    flex: 0 0 44px;
    color: #a3887e;
    text-align: center;
}

.branch-order-entry-field input {
    width: 100%;
    height: 50px;
    min-width: 0;
    padding: 0 14px 0 0;
    border: 0;
    outline: 0;
    color: #2e1c18;
    background: transparent;
    font-size: .95rem;
    font-weight: 800;
    text-transform: uppercase;
}

.branch-order-entry-form small {
    display: block;
    margin-top: .42rem;
    color: #8d7770;
    font-size: .72rem;
}

.branch-order-entry-error {
    margin-top: .75rem;
    padding: .7rem .8rem;
    border: 1px solid #efb6ba;
    border-radius: 10px;
    color: #8c0910;
    background: #fff0f1;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1.4;
}

.branch-order-entry-submit {
    display: flex;
    width: 100%;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    margin-top: 1rem;
    border: 0;
}

.branch-order-entry-submit:disabled {
    cursor: wait;
    opacity: .78;
}

.branch-order-entry-secure {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: .45rem;
    margin-top: 1rem;
    color: #8d7770;
    font-size: .7rem;
    line-height: 1.4;
}

.branch-order-entry-secure i {
    color: #99041e;
    font-size: .9rem;
}

@media (max-width: 575.98px) {
    .branch-order-entry-modal .modal-dialog {
        width: auto;
        margin: 1rem;
    }

    .branch-order-entry-modal .modal-content {
        padding: 1.7rem 1.15rem 1.35rem;
        border-radius: 22px;
    }
}
