/*
Theme Name: Marton Bistro Refresh
Theme URI: https://martonbistro.co.uk/
Description: Purpose-built, lightweight refresh for Marton Bistro. Requires Astra.
Author: Marton Bistro
Template: astra
Version: 1.2.0
Text Domain: marton-bistro-refresh
*/
:root{--ink:#233d32;--ink-dark:#172c24;--cream:#f7f3eb;--sand:#eee7dc;--gold:#d6b77b;--text:#26312d;--muted:#626c65}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.7}a{color:var(--ink)}a:hover{color:#936e34}img{max-width:100%;height:auto}h1,h2,h3,.brand-wordmark{font-family:Georgia,'Times New Roman',serif;line-height:1.16}h1,h2,h3{color:var(--ink);font-weight:500}h1{font-size:clamp(2.6rem,5.2vw,5rem)}h2{font-size:clamp(2rem,3.4vw,3.4rem)}h3{font-size:1.5rem}.mb-container{width:min(1160px,calc(100% - 42px));margin-inline:auto}.mb-topbar{background:var(--ink-dark);color:#fff;text-align:center;font-size:.78rem;letter-spacing:.12em;padding:7px 15px}.mb-topbar a{color:var(--gold);text-decoration:none}.mb-header{background:var(--cream);border-bottom:1px solid #e4ded3;position:relative;z-index:20}.mb-nav-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:20px}.mb-brand{display:flex;flex-direction:column;text-decoration:none!important;color:var(--ink)!important;line-height:1}.brand-wordmark{font-size:clamp(1.8rem,3vw,2.45rem);letter-spacing:-.035em}.brand-subtitle{font-size:.58rem;letter-spacing:.26em;text-transform:uppercase;margin-top:9px;color:#74776b}.mb-navigation{display:flex;align-items:center;gap:25px}.mb-navigation ul{display:flex;align-items:center;gap:25px;margin:0;padding:0;list-style:none}.mb-navigation li{margin:0}.mb-navigation a{color:var(--ink);text-decoration:none;font-size:.89rem;font-weight:600}.mb-navigation .current-menu-item>a,.mb-navigation a:hover{color:#aa7b3b}.mb-btn,.mb-navigation .mb-btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:13px 23px;border-radius:3px;background:var(--ink);color:#fff!important;text-decoration:none;font-size:.87rem;font-weight:700;letter-spacing:.025em;border:1px solid var(--ink);transition:background .2s}.mb-btn:hover{background:var(--ink-dark);color:#fff!important}.mb-btn-light{background:var(--cream);color:var(--ink)!important;border-color:var(--cream)}.mb-btn-light:hover{background:white;color:var(--ink)!important}.mb-btn-outline{background:transparent;border-color:#fff;color:#fff!important}.mb-btn-outline:hover{background:#fff;color:var(--ink)!important}.mb-toggle{display:none;border:1px solid #bac4b8;background:transparent;border-radius:3px;padding:10px 12px;color:var(--ink);font-size:1rem;cursor:pointer}.mb-hero{min-height:575px;display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:#fff}.mb-hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:75px max(45px,calc((100vw - 1160px)/2)) 75px max(35px,calc((100vw - 1160px)/2));padding-right:50px}.mb-hero h1{color:#fff;max-width:650px;margin:15px 0 23px}.mb-hero p{font-size:1.08rem;max-width:440px;color:#e2e8df;margin:0 0 30px}.mb-eyebrow{color:var(--gold);text-transform:uppercase;font-size:.76rem;letter-spacing:.20em;font-weight:700}.mb-hero-photo{position:relative;overflow:hidden;min-height:400px}.mb-hero-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.mb-hero-actions{display:flex;gap:12px;flex-wrap:wrap}.mb-section{padding:90px 0}.mb-section-intro{text-align:center;max-width:700px;margin:0 auto 43px}.mb-section-intro h2{margin:12px 0 16px}.mb-section-intro p{color:var(--muted);margin:0}.mb-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.mb-feature{background:white;box-shadow:0 5px 28px #19261d0d;overflow:hidden}.mb-feature img{width:100%;height:225px;object-fit:cover;display:block}.mb-feature-copy{padding:28px}.mb-feature-copy h3{margin:0 0 10px}.mb-feature-copy p{color:var(--muted);margin:0 0 17px;font-size:.95rem}.mb-text-link{font-weight:700;font-size:.88rem;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:4px}.mb-about{background:var(--sand)}.mb-split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:75px}.mb-split-photo img{height:470px;width:100%;object-fit:cover;display:block}.mb-split h2{margin:12px 0 23px}.mb-split p{color:#4d584f}.mb-details{background:var(--ink);color:#fff}.mb-details h2{color:#fff}.mb-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.mb-details p{color:#d8e2d9}.mb-hours{border-top:1px solid #567064;margin-top:25px}.mb-hours-row{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #567064;padding:10px 0;font-size:.95rem}.mb-hours-row strong{font-weight:600;color:#fff}.mb-contact-list{margin-top:25px}.mb-contact-list p{margin:0 0 12px}.mb-contact-list a{color:#fff}.mb-footer{background:#172c24;color:#d3ded2;padding:43px 0 21px}.mb-footer-inner{display:flex;justify-content:space-between;gap:25px;align-items:start}.mb-footer strong{font-family:Georgia,serif;font-size:1.6rem;color:#fff;font-weight:400}.mb-footer a{color:#d3ded2}.mb-footer .small{font-size:.78rem;color:#b2c0b5;margin-top:30px}.mb-page-header{background:var(--ink);padding:66px 0 60px;text-align:center}.mb-page-header h1{color:white;margin:8px 0 0;font-size:clamp(2.5rem,5vw,4rem)}.mb-page{background:var(--cream);padding:60px 0 100px}.mb-page-content{max-width:900px;margin:auto;overflow-wrap:anywhere}.mb-page-content>p,.mb-page-content>.wp-block-image{text-align:center}.mb-page-content img{height:auto}.mb-page-content .aligncenter{margin-inline:auto;display:block}.mb-page-content .wpcf7{background:white;padding:28px;border:1px solid #e4ded3}.mb-page-content input:not([type=submit]),.mb-page-content textarea{border:1px solid #c4c9c0;background:#fff;max-width:100%;width:100%;padding:12px}.mb-page-content input[type=submit]{background:var(--ink);color:#fff;border:0;padding:13px 25px;cursor:pointer}.mb-page-content .wp-block-gallery{gap:20px}.mb-page-content .wp-block-image{margin-bottom:25px}.mb-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.mb-nav-inner{min-height:78px}.mb-toggle{display:block}.mb-navigation{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:18px 23px 23px;border-top:1px solid #e3ded3;box-shadow:0 14px 20px #0002}.mb-navigation.is-open{display:flex;flex-direction:column;align-items:stretch}.mb-navigation ul{align-items:stretch;flex-direction:column;gap:10px}.mb-navigation li a{display:block;padding:8px 0}.mb-hero{grid-template-columns:1fr}.mb-hero-copy{padding:75px 7%}.mb-hero-photo{height:365px;min-height:0}.mb-split{gap:35px}.mb-details-grid{gap:40px}.mb-feature-grid{gap:16px}.mb-feature img{height:170px}}
@media(max-width:650px){.mb-container{width:min(100% - 32px,1160px)}.mb-topbar{font-size:.66rem}.mb-section{padding:60px 0}.mb-feature-grid,.mb-split,.mb-details-grid{grid-template-columns:1fr}.mb-feature img{height:240px}.mb-split-photo img{height:280px}.mb-hero-copy{padding:63px 25px}.mb-hero-photo{height:275px}.mb-hero-actions{width:100%}.mb-hero-actions .mb-btn{flex:1 1 155px}.mb-footer-inner{flex-direction:column}.mb-page{padding:35px 0 70px}.mb-page-header{padding:48px 0}.mb-hours-row{font-size:.87rem}}

/* Focus states for accessible keyboard navigation */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b18d4d;outline-offset:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mb-btn{transition:none}}


/* v1.2: responsive printed menu galleries */
.mb-menu-title p{max-width:690px;margin:20px auto 0;color:#e0e9df;font-size:1.02rem;line-height:1.65}
.mb-menu-section{padding:56px 0 90px;background:var(--cream)}
.mb-menu-jump{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 38px;padding:18px 20px;background:#fff;border:1px solid #e5dfd2;border-radius:7px}
.mb-menu-jump span{font-weight:700;font-size:.84rem;margin-right:7px;color:var(--ink)}
.mb-menu-jump a{font-size:.79rem;color:var(--ink);text-decoration:none;border:1px solid #dadfd3;background:#f7f7f1;border-radius:100px;padding:7px 12px;line-height:1.4}
.mb-menu-jump a:hover{background:#e9ede6}
.mb-menu-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;align-items:start}
.mb-menu-card{min-width:0;background:white;padding:20px 20px 24px;border-radius:7px;border:1px solid #e1dfd7;box-shadow:0 8px 27px #19261d10;scroll-margin-top:25px}
.mb-menu-card-heading{display:flex;align-items:center;gap:12px;margin:0 0 17px;min-height:42px}
.mb-menu-card h2{font-size:clamp(1.3rem,2vw,1.7rem);margin:0}
.mb-menu-number{flex:none;font-size:.82rem;font-weight:700;color:#8c754c;border:1px solid #e2d5b8;border-radius:50%;width:39px;height:39px;display:grid;place-items:center}
.mb-menu-photo-link{display:block;background:#222;overflow:hidden;border-radius:3px;line-height:0}
.mb-menu-photo-link img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.mb-menu-open{display:inline-block;font-weight:700;font-size:.88rem;margin-top:17px;text-decoration:none;border-bottom:1px solid #d6b77b;padding-bottom:3px}
.mb-menu-open:hover{text-decoration:none}
.mb-menu-note{margin-top:50px;padding:30px 35px;background:#eae5da;border-left:4px solid #b5955b;display:flex;align-items:center;justify-content:space-between;gap:26px}
.mb-menu-note h2{font-size:1.7rem;margin:0 0 8px}
.mb-menu-note p{margin:0;max-width:620px;color:#4c5c51;font-size:.93rem}
.mb-menu-note .mb-btn{flex:none}
.mb-takeaway-container{max-width:900px}
.mb-takeaway-gallery{grid-template-columns:1fr}
.mb-takeaway-gallery .mb-menu-photo-link img{max-width:700px;margin:auto}
.mb-menu-fallback img{height:auto;max-width:100%}
@media(max-width:760px){.mb-menu-gallery{grid-template-columns:1fr;gap:22px}.mb-menu-section{padding:30px 0 65px}.mb-menu-card{padding:14px 14px 22px}.mb-menu-jump{padding:14px;gap:8px;margin-bottom:24px}.mb-menu-note{flex-direction:column;align-items:flex-start;padding:24px;margin-top:30px}.mb-menu-note .mb-btn{width:100%}.mb-menu-card-heading{margin-bottom:12px}}
