/*
Theme Name: WB Sunrise Brunch Theme
Theme URI: https://woodbridgecafe.com/
Author: Woodbridge Cafe / OpenAI build assistant
Description: Photo-forward brunch restaurant theme for the clean Woodbridge 2.0 site. v0.3.8 adds polished page templates for Menu, Find Us, Breakfast, Brunch, and Lunch pages with mobile-friendly layouts and Website Control Center page-section copy/image support while preserving hero, drawer, footer, logo controls, and protected-area boundaries.
Version: 0.3.10
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: Proprietary - prepared for Woodbridge Cafe project use
Text Domain: wb-sunrise-brunch
Tags: restaurant, cafe, brunch, custom-logo, featured-images, block-styles, wide-blocks
*/

:root{
  --wb-white:#ffffff;
  --wb-cream:#fbfaf6;
  --wb-paper:#f4f1ea;
  --wb-teal:#4b8992;
  --wb-teal-dark:#30646c;
  --wb-charcoal:#424040;
  --wb-ink:#262222;
  --wb-muted:#6d6762;
  --wb-line:#e4e0d8;
  --wb-gold:#e3a24a;
  --wb-tomato:#d96e4f;
  --wb-shadow:0 22px 55px rgba(25,35,37,.13);
  --wb-max:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--wb-cream);color:var(--wb-charcoal);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;line-height:1.65;text-rendering:optimizeLegibility}
a{color:var(--wb-teal-dark);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--wb-ink)}
img{max-width:100%;height:auto;display:block}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;word-wrap:normal!important}
.wb-container{width:min(var(--wb-max),calc(100% - 44px));margin:0 auto}

.wb-announcement{background:var(--wb-teal-dark);color:#fff;font-weight:800;letter-spacing:.01em;font-size:.95rem;padding:.62rem 0;text-align:center}
.wb-site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);box-shadow:0 1px 0 rgba(38,34,34,.1);backdrop-filter:saturate(180%) blur(8px)}
.admin-bar .wb-site-header{top:32px}.wb-topline{height:5px;background:linear-gradient(90deg,var(--wb-teal),var(--wb-gold),var(--wb-tomato))}
.wb-nav-wrap{height:86px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.wb-brand{display:flex;align-items:center;gap:var(--wb-logo-gap,14px);text-decoration:none;color:var(--wb-ink);min-width:270px;max-width:min(48vw,620px)}
.wb-brand .custom-logo{max-height:var(--wb-logo-mark-width,66px);width:auto}.wb-brand-mark{width:var(--wb-logo-mark-width,66px);height:var(--wb-logo-mark-width,66px);background:var(--wb-charcoal);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;text-transform:uppercase;font-family:Impact,"Arial Narrow",sans-serif;letter-spacing:.06em;line-height:.9;font-size:calc(var(--wb-logo-mark-width,66px) * .255);box-shadow:0 12px 28px rgba(0,0,0,.16);flex:0 0 auto;overflow:hidden}.wb-brand-mark-image{background:transparent;box-shadow:none}.wb-brand-mark img{width:100%;height:100%;object-fit:contain;display:block}.wb-brand-wp-custom-logo{background:transparent;box-shadow:none}.wb-brand-full-logo{width:var(--wb-logo-full-width,280px);max-width:100%;height:auto;display:block}.wb-brand-copy{display:block;min-width:0}
.wb-brand-name{display:block;font-family:Impact,"Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:var(--wb-logo-text-size,30px);line-height:1;color:var(--wb-charcoal);white-space:nowrap}
.wb-brand-sub{display:block;letter-spacing:.18em;text-transform:uppercase;color:#7a716a;font-family:Georgia,serif;font-size:13px;margin-top:6px}
.wb-main-nav{display:flex;align-items:center;justify-content:flex-end;gap:24px;margin-left:auto;font-family:Impact,"Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:17px}
.wb-main-nav a{text-decoration:none;color:var(--wb-charcoal);white-space:nowrap}.wb-main-nav a:hover{color:var(--wb-teal-dark)}
.wb-main-nav .wb-pill-link,.wb-main-nav .menu-item a[href*="order"]{background:var(--wb-teal);color:#fff;padding:16px 20px;border-radius:4px;box-shadow:0 10px 25px rgba(75,137,146,.25)}
.wb-menu-toggle{display:flex;width:48px;height:48px;border-radius:50%;border:1px solid #d5d1ca;background:#fff;align-items:center;justify-content:center;box-shadow:0 12px 28px rgba(0,0,0,.09);cursor:pointer}.wb-menu-toggle span,.wb-menu-toggle span:before,.wb-menu-toggle span:after{display:block;width:20px;height:2px;background:var(--wb-charcoal);content:"";position:relative}.wb-menu-toggle span:before{position:absolute;top:-7px}.wb-menu-toggle span:after{position:absolute;top:7px}
.wb-overlay{display:none;position:fixed;inset:0;background:rgba(18,18,18,.48);z-index:90}.wb-overlay.is-open{display:block}.wb-mobile-panel{position:fixed;top:0;right:calc(-1 * (min(var(--wb-drawer-width),92vw) + 60px));width:min(var(--wb-drawer-width),92vw);height:100vh;background:#fff;z-index:100;box-shadow:-24px 0 55px rgba(0,0,0,.2);transition:right .25s ease;padding:var(--wb-drawer-padding) var(--wb-drawer-padding) 38px;overflow:auto}.wb-mobile-panel.is-open{right:0}.wb-mobile-close{background:#fff;border:2px solid #d9e4e5;border-radius:50%;width:var(--wb-drawer-close-size);height:var(--wb-drawer-close-size);font-size:calc(var(--wb-drawer-close-size) * .56);line-height:1;float:right;color:var(--wb-charcoal);cursor:pointer}.wb-mobile-nav{clear:both;padding-top:28px}.wb-mobile-nav a{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid #ece7e0;text-decoration:none;color:var(--wb-charcoal);font-family:Impact,"Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:var(--wb-drawer-primary-font)}.wb-mobile-nav a:after{content:"→";font-family:Georgia,serif;color:var(--wb-teal);font-size:calc(var(--wb-drawer-primary-font) * .92)}.wb-drawer-more{padding-top:24px}.wb-drawer-label{font-family:Georgia,serif;text-transform:uppercase;letter-spacing:.18em;font-size:15px;color:#7a716a;margin-bottom:14px}.wb-drawer-links{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}.wb-drawer-links a{color:#56514c;text-decoration:none;font-size:var(--wb-drawer-secondary-font);line-height:1.35}.wb-drawer-links a:hover{color:var(--wb-teal-dark);text-decoration:underline}.wb-drawer-visit{margin-top:28px;padding:22px;background:#f3f8f8;border-radius:10px;border:1px solid #dbe8ea}.wb-drawer-visit span{display:block;font-family:Impact,"Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--wb-teal-dark);font-size:calc(var(--wb-drawer-secondary-font) + 1px);margin-bottom:10px}.wb-drawer-visit strong{display:block;color:var(--wb-charcoal);line-height:1.45;margin-bottom:16px}.wb-drawer-visit a{font-family:Impact,"Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--wb-teal-dark);text-decoration:none}

.wb-hero-slider{position:relative;min-height:clamp(560px,calc(100vh - 90px),700px);background:#1e1e1e;overflow:hidden}.wb-hero-track{position:relative;min-height:clamp(560px,calc(100vh - 90px),700px)}.wb-hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s ease}.wb-hero-slide.is-active{opacity:1;visibility:visible;z-index:1}.wb-hero-slide picture,.wb-hero-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}.wb-hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.9) 0%,rgba(10,10,10,.72) 30%,rgba(10,10,10,.25) 54%,rgba(10,10,10,.04) 82%);pointer-events:none}.wb-hero-content{position:relative;z-index:3;min-height:clamp(560px,calc(100vh - 90px),700px);display:flex;align-items:center}.wb-hero-panel{max-width:min(540px,46vw);padding:54px 0 96px;color:#fff}.wb-kicker{font-family:Impact,"Arial Narrow",sans-serif;letter-spacing:.24em;text-transform:uppercase;font-size:17px;color:#d9eff1;margin-bottom:20px}.wb-hero-panel h1{font-family:Impact,"Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.032em;font-size:clamp(48px,5.15vw,82px);line-height:.94;margin:0 0 18px;color:#fff;text-wrap:balance}.wb-hero-panel p{font-size:clamp(18px,1.45vw,22px);line-height:1.42;color:#fff;margin:0 0 24px;max-width:520px;font-family:Georgia,serif;text-shadow:0 2px 14px rgba(0,0,0,.28)}.wb-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.wb-hero-actions{margin-bottom:0}.wb-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 24px;border-radius:4px;border:2px solid transparent;text-decoration:none;font-family:Impact,"Arial Narrow",sans-serif;letter-spacing:.06em;text-transform:uppercase;font-size:17px}.wb-button-primary{background:var(--wb-teal);color:#fff}.wb-button-primary:hover{background:var(--wb-teal-dark);color:#fff}.wb-button-secondary{background:#fff;color:var(--wb-charcoal);border-color:#fff}.wb-button-secondary:hover{border-color:#c7d6d8;color:var(--wb-teal-dark)}.wb-hero-meta{font-size:14px;color:#e7e0d8;margin-top:18px;letter-spacing:.04em;text-transform:uppercase;font-weight:800}.wb-slider-controls{position:absolute;left:calc((100% - min(var(--wb-max),calc(100% - 44px))) / 2);bottom:34px;z-index:4;display:flex;gap:13px;align-items:center}.wb-slider-dot{width:13px;height:13px;border-radius:50%;border:2px solid #fff;background:rgba(255,255,255,.28);padding:0;cursor:pointer}.wb-slider-dot.is-active{background:#fff}.wb-slide-caption{color:#fff;font-size:14px;font-weight:800;margin-left:8px;text-shadow:0 2px 10px rgba(0,0,0,.35)}

.wb-section{padding:76px 0}.wb-section-light{background:#f3f8f8}.wb-section h2{font-family:Impact,"Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(40px,5vw,72px);line-height:.98;margin:0 0 16px;color:var(--wb-charcoal)}.wb-section-intro{font-size:21px;max-width:820px;margin:0 0 40px;color:#5a5652}.wb-menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.wb-card{background:#fff;border:1px solid rgba(66,64,64,.12);border-radius:10px;overflow:hidden;box-shadow:0 14px 40px rgba(39,35,34,.08)}.wb-card-img{height:220px;background:linear-gradient(135deg,#e8f0f2,#fff4dc);overflow:hidden}.wb-card-img img{width:100%;height:100%;object-fit:cover}.wb-card-body{padding:24px}.wb-card h3{font-family:Georgia,serif;color:var(--wb-ink);font-size:27px;line-height:1.1;margin:0 0 12px}.wb-card p{margin:0 0 20px;color:#5d5955}.wb-card a{font-family:Impact,"Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;color:var(--wb-teal-dark)}
.wb-feature-band{background:linear-gradient(100deg,#dfeaf0 0 54%,#fff5d9 54%);padding:70px 0}.wb-feature-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:center}.wb-feature-panel{background:#fff;padding:34px;border-radius:14px;box-shadow:var(--wb-shadow)}.wb-feature-panel h2{font-family:Impact,"Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.04em;font-size:48px;line-height:1;margin:0 0 14px}.wb-feature-panel p{margin:0 0 22px;font-size:20px}.wb-photo-stack{display:grid;grid-template-columns:1fr 1fr;gap:20px}.wb-photo-tile{min-height:230px;border-radius:10px;background:linear-gradient(135deg,#fff,#dfeaf0);box-shadow:0 18px 35px rgba(0,0,0,.09);overflow:hidden}.wb-photo-tile img{width:100%;height:100%;object-fit:cover}.wb-photo-tile:nth-child(2){margin-top:40px}
.wb-page-hero{background:linear-gradient(135deg,#fff,#eef5f7);border-bottom:1px solid var(--wb-line);padding:72px 0}.wb-page-hero h1{font-family:Impact,"Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.035em;font-size:clamp(48px,7vw,92px);line-height:.95;margin:0;color:var(--wb-charcoal)}.wb-content{padding:64px 0}.wb-content-inner{max-width:860px}.wb-content h2,.wb-content h3{font-family:Georgia,serif;color:var(--wb-ink);line-height:1.15}.wb-content h2{font-size:36px}.wb-content p,.wb-content li{font-size:19px}.wb-content .wp-block-button__link{background:var(--wb-teal);border-radius:4px;font-family:Impact,"Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.06em}
.wb-site-footer{background:#3f3d3b;color:#fff;padding:58px 0 28px}.wb-footer-grid{display:grid;grid-template-columns:1.1fr .8fr 1fr;gap:42px}.wb-site-footer h2,.wb-site-footer h3{font-family:Impact,"Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.06em;color:#fff;margin-top:0}.wb-site-footer p{color:#efede8}.wb-site-footer a{color:#fff;text-decoration-color:rgba(255,255,255,.5)}.wb-footer-links{list-style:none;padding:0;margin:0;columns:initial;display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px 28px;align-items:start}.wb-footer-links ul{list-style:none;padding:0;margin:0;display:contents}.wb-footer-links li{list-style:none;margin:0;padding:0;break-inside:auto}.wb-footer-links a{display:block;color:#fff;text-decoration:none;font-weight:750;line-height:1.25;padding:2px 0;border-bottom:1px solid rgba(255,255,255,.18)}.wb-footer-links a:hover{color:#fff;border-bottom-color:rgba(255,255,255,.55)}.wb-footer-bottom{border-top:1px solid rgba(255,255,255,.18);margin-top:42px;padding-top:22px;color:#e8e4db;font-size:14px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.wb-social-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.wb-social-links a{color:#fff;text-decoration:none;font-weight:800;border-bottom:2px solid rgba(255,255,255,.35)}
@media (max-width:980px){.admin-bar .wb-site-header{top:0}.wb-main-nav{display:none}.wb-menu-toggle{display:flex}.wb-brand{min-width:0}.wb-hero-slider,.wb-hero-track,.wb-hero-content{min-height:680px}.wb-hero-slide picture,.wb-hero-slide img{object-position:center center}.wb-hero-slide:after{background:linear-gradient(180deg,rgba(12,12,12,.82) 0%,rgba(12,12,12,.62) 40%,rgba(12,12,12,.24) 76%)}.wb-hero-content{align-items:flex-start}.wb-hero-panel{padding:58px 0 92px;max-width:680px}.wb-hero-panel h1{font-size:clamp(44px,10vw,68px);max-width:620px}.wb-hero-panel p{font-size:19px;max-width:560px}.wb-slider-controls{left:22px;bottom:24px}.wb-menu-grid,.wb-footer-grid{grid-template-columns:1fr}.wb-feature-grid{grid-template-columns:1fr}.wb-photo-stack{grid-template-columns:1fr}.wb-photo-tile:nth-child(2){margin-top:0}}
@media (max-width:640px){body{font-size:16px}.wb-container{width:min(var(--wb-max),calc(100% - 32px))}.wb-nav-wrap{height:var(--wb-header-height,68px)}.wb-brand{max-width:calc(100vw - 106px)}.wb-brand-sub{display:none}.wb-hero-slider,.wb-hero-track,.wb-hero-content{min-height:640px}.wb-hero-slide picture,.wb-hero-slide img{object-position:center center}.wb-hero-panel{padding:42px 0 86px;max-width:100%}.wb-kicker{font-size:13px;letter-spacing:.2em;margin-bottom:14px}.wb-hero-panel h1{font-size:40px;line-height:.95;max-width:420px}.wb-hero-panel p{font-size:17px;max-width:390px}.wb-button{width:auto;min-height:50px;padding:12px 20px}.wb-hero-meta{font-size:12px;max-width:320px}.wb-section{padding:56px 0}.wb-footer-links{columns:initial;grid-template-columns:1fr;gap:10px}.wb-slider-controls{bottom:18px}.wb-slide-caption{display:none}}

/* v0.3.8 page template polish */
.wb-page-hero{background:linear-gradient(120deg,#f7f3ea 0%,#fff 54%,#e8f3f4 100%);border-bottom:1px solid var(--wb-line);padding:72px 0 56px;overflow:hidden}
.wb-page-hero-grid{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(320px,0.8fr);gap:46px;align-items:center}
.wb-page-hero-copy h1{font-family:Impact,"Arial Black",sans-serif;text-transform:uppercase;letter-spacing:.01em;font-size:clamp(44px,6vw,86px);line-height:.92;margin:0 0 20px;color:var(--wb-charcoal);max-width:850px}
.wb-page-hero-copy p{font-size:clamp(18px,2vw,23px);line-height:1.5;color:var(--wb-muted);max-width:680px;margin:0 0 26px}.wb-page-hero-copy .wb-kicker{color:var(--wb-teal-dark)}
.wb-page-hero-image{border-radius:18px;overflow:hidden;box-shadow:var(--wb-shadow);min-height:280px;background:#ddd;transform:rotate(.5deg)}
.wb-page-hero-image img{width:100%;height:100%;min-height:280px;object-fit:cover}.wb-page-section{padding-top:62px}.wb-menu-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.wb-page-card .wb-card-img{height:190px}.wb-owner-note{margin-top:22px;padding:14px 18px;border-left:4px solid var(--wb-teal);background:#eef7f8;color:#445;font-size:14px;border-radius:6px}.wb-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.wb-contact-card{background:#fff;border:1px solid var(--wb-line);border-radius:18px;padding:34px;box-shadow:var(--wb-shadow)}.wb-contact-card-soft{background:#eef7f8}.wb-contact-card h2{font-family:Georgia,serif;font-size:32px;margin:6px 0 12px}.wb-small-note{font-size:14px;color:var(--wb-muted)}.wb-service-grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;background:#fff;border:1px solid var(--wb-line);border-radius:18px;padding:34px;box-shadow:var(--wb-shadow)}.wb-service-grid h2{font-family:Impact,"Arial Black",sans-serif;text-transform:uppercase;font-size:clamp(34px,4.5vw,60px);line-height:.95;margin:8px 0 10px}.wb-service-grid p{max-width:700px}.wb-service-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.wb-content-section{padding-top:28px}.wb-content-wrap{max-width:920px}.wb-content-wrap h2,.wb-content-wrap h3{font-family:Georgia,serif;color:var(--wb-ink)}.wb-content-wrap p,.wb-content-wrap li{font-size:18px}.wb-content-wrap:empty{display:none}
@media(max-width:1080px){.wb-page-hero-grid{grid-template-columns:1fr}.wb-page-hero-image{max-height:380px}.wb-menu-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.wb-service-grid{grid-template-columns:1fr}.wb-service-actions{justify-content:flex-start}}
@media(max-width:700px){.wb-page-hero{padding:44px 0 38px}.wb-page-hero-grid{gap:26px}.wb-page-hero-copy h1{font-size:40px}.wb-page-hero-copy p{font-size:17px}.wb-page-hero-image{border-radius:14px;min-height:220px}.wb-page-hero-image img{min-height:220px}.wb-menu-grid-4,.wb-contact-grid{grid-template-columns:1fr}.wb-contact-card,.wb-service-grid{padding:24px}.wb-page-card .wb-card-img{height:170px}.wb-content-wrap p,.wb-content-wrap li{font-size:16px}}

.wb-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:0}.wb-hero-slide-video .wb-hero-video-fallback{display:none}.wb-hero-slide-video:not(.is-active) .wb-hero-video{opacity:0}
