/*
Theme Name: The Dime
Theme URI: https://thedimeallentown.com
Author: The Dime Restaurant
Description: Custom theme for The Dime Restaurant & Bar. Auto day/night theming, flexible menu system, events management, accessibility widget, video support, social feeds, auto SEO. Every section editable via Customizer.
Version: 2.0.0
License: Private
Text Domain: the-dime
Requires at least: 6.0
Requires PHP: 7.4
*/
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

/* ========================================
   THE DIME — BRAND STYLE SYSTEM
   ========================================
   Fonts:
     Headings / Nav:  EB Garamond 400-700
     Menu items:      Cormorant Garamond 700
     Prices:          Playfair Display 400
     Body:            Avenir / system sans-serif
   
   Colors:
     Brand Brown:     #98613b  (rgb 152,97,59)
     Brown Light:     #b99c66  
     Brown Hover:     #7a4e2f
     Text:            #333034
     Text Light:      #6b6468
     Text Muted:      #918b8e
   
   Day/Night auto-switches at 5pm/6am
   ======================================== */

:root{
  --heading:'EB Garamond',Georgia,serif;
  --menu-item:'Cormorant Garamond',Georgia,serif;
  --price:'Playfair Display',Georgia,serif;
  --body:'Avenir','Segoe UI',system-ui,sans-serif;
  --brown:#98613b;
  --brown-light:#b99c66;
  --brown-hover:#7a4e2f;
  --transition:background .5s,color .5s,border-color .5s,box-shadow .5s;
}

/* --- LIGHT THEME (DAY) --- */
[data-theme="light"]{
  --bg:#ffffff;
  --bg-warm:#faf8f5;
  --bg-section:#f4f1eb;
  --bg-card:#ffffff;
  --text:#333034;
  --text-light:#6b6468;
  --text-muted:#918b8e;
  --border:#e2ddd6;
  --border-light:#ece8e2;
  --nav-bg:rgba(255,255,255,.96);
  --nav-shadow:rgba(0,0,0,.04);
  --hero-overlay:rgba(0,0,0,.18);
  --card-shadow:rgba(0,0,0,.06);
  --input-bg:#ffffff;
}

/* --- DARK THEME (NIGHT) --- */
[data-theme="dark"]{
  --bg:#0c0b09;
  --bg-warm:#131210;
  --bg-section:#181614;
  --bg-card:#1a1816;
  --text:#e8e0d2;
  --text-light:#a89d91;
  --text-muted:#7a7068;
  --border:#2e2a25;
  --border-light:#242019;
  --nav-bg:rgba(12,11,9,.94);
  --nav-shadow:rgba(0,0,0,.3);
  --hero-overlay:rgba(0,0,0,.35);
  --card-shadow:rgba(0,0,0,.4);
  --input-bg:#1a1816;
}

html{scroll-behavior:smooth;font-size:16px}
body{background:var(--bg);color:var(--text);font-family:var(--body);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;transition:var(--transition)}
::selection{background:var(--brown);color:#fff}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--bg-warm)}
::-webkit-scrollbar-thumb{background:var(--brown-light);border-radius:3px}

/* === TOP BAR === */
.top-bar{background:var(--brown);padding:.5rem 3rem;display:flex;justify-content:center;align-items:center;gap:2rem;position:fixed;top:0;left:0;right:0;z-index:101;font-family:var(--heading);font-size:.82rem;color:rgba(255,255,255,.85);letter-spacing:.06em}
.top-bar a{color:#fff;text-decoration:none;font-weight:500;border-bottom:1px solid rgba(255,255,255,.3);transition:border-color .3s}
.top-bar a:hover{border-color:#fff}
.top-bar .tb-divider{width:1px;height:14px;background:rgba(255,255,255,.25)}

/* === NAV === */
nav{position:fixed;top:32px;left:0;right:0;z-index:100;padding:.75rem 2.5rem;display:flex;align-items:center;justify-content:space-between;transition:all .4s;background:var(--nav-bg);backdrop-filter:blur(14px);border-bottom:1px solid transparent}
nav.scrolled{border-bottom:1px solid var(--border-light);box-shadow:0 1px 10px var(--nav-shadow)}
.nav-logo img{height:52px;width:auto;transition:all .3s}
nav.scrolled .nav-logo img{height:40px}
.nav-links{display:flex;gap:1.8rem;align-items:center}
.nav-links a{color:var(--text);text-decoration:none;font-family:var(--heading);font-size:.9rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;transition:color .3s}
.nav-links a:hover{color:var(--brown)}
.nav-cta{font-family:var(--heading)!important;font-size:.92rem!important;font-weight:400!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:var(--brown)!important;border:2.5px solid var(--brown)!important;padding:.45rem 1.2rem!important;transition:all .3s!important;text-decoration:none!important;background:transparent!important}
.nav-cta:hover{background:var(--brown)!important;color:#fff!important}
.theme-toggle{background:none;border:1px solid var(--border);width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:all .3s;color:var(--text-muted)}
.theme-toggle:hover{border-color:var(--brown);color:var(--brown)}
.mobile-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;z-index:101}
.mobile-toggle span{width:22px;height:2px;background:var(--text);transition:all .3s}

/* === HERO === */
.hero{height:80vh;min-height:480px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;margin-top:calc(32px + 60px)}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:var(--hero-overlay);transition:background .5s}
.hero-content{position:relative;z-index:2;text-align:center}
.hero-logo{max-width:260px;width:55vw;opacity:0;animation:fadeUp .8s ease forwards .2s}
.hero-floor{font-family:var(--heading);font-size:.78rem;letter-spacing:.4em;text-transform:uppercase;color:rgba(255,255,255,.75);margin-top:1.2rem;opacity:0;animation:fadeUp .8s ease forwards .45s}
.hero-cta-row{margin-top:1.8rem;display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;opacity:0;animation:fadeUp .8s ease forwards .6s}
.hero-btn{font-family:var(--heading);font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;color:#fff;border:2px solid #fff;padding:.6rem 1.8rem;text-decoration:none;transition:all .3s;background:transparent}
.hero-btn:hover{background:rgba(255,255,255,.15)}
.hero-btn-filled{background:var(--brown);border-color:var(--brown)}
.hero-btn-filled:hover{background:var(--brown-hover);border-color:var(--brown-hover)}

/* === EVENTS TICKER === */
.events-ticker{background:var(--bg-section);border-bottom:1px solid var(--border-light);padding:1rem 3rem;transition:var(--transition)}
.events-ticker-inner{display:flex;align-items:center;justify-content:center;gap:2.5rem;max-width:1200px;margin:0 auto;flex-wrap:wrap}
.events-ticker-label{font-family:var(--heading);font-size:.7rem;letter-spacing:.35em;text-transform:uppercase;color:var(--brown);font-weight:600}
.et-item{display:flex;align-items:center;gap:.6rem}
.et-item .et-date{font-family:var(--heading);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);background:var(--border-light);padding:.2rem .55rem;border-radius:2px;white-space:nowrap;transition:var(--transition)}
.et-item .et-name a{font-family:var(--heading);font-size:.92rem;color:var(--brown);text-decoration:none;font-weight:500;transition:color .3s}
.et-item .et-name a:hover{color:var(--brown-hover)}

/* === SECTIONS === */
section{padding:5rem 3rem;transition:var(--transition)}
.section-label{font-family:var(--heading);font-size:.72rem;letter-spacing:.4em;text-transform:uppercase;color:var(--brown);font-weight:400;margin-bottom:.6rem}
.section-title{font-family:var(--heading);font-size:clamp(1.9rem,3.8vw,3rem);font-weight:400;color:var(--text);line-height:1.15;margin-bottom:.8rem;text-transform:uppercase;transition:var(--transition)}
.section-desc{font-size:.92rem;color:var(--text-light);max-width:540px;line-height:1.85;transition:var(--transition)}
.divider{width:100%;max-width:360px;height:.6px;background:var(--brown);margin:1.5rem auto}
.divider-thin{width:50px;height:.6px;background:var(--brown);margin:1.25rem 0}

/* === HOURS === */
.hours-section{display:grid;grid-template-columns:1fr 1fr;gap:5rem;max-width:1060px;margin:0 auto;align-items:center}
.hours-grid{display:flex;flex-direction:column;gap:.9rem}
.hours-item{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:.9rem;border-bottom:.6px solid var(--border);transition:var(--transition)}
.hours-item .label{font-family:var(--heading);font-size:1.1rem;color:var(--text);transition:var(--transition)}
.hours-item .time{font-size:.82rem;color:var(--text-muted);letter-spacing:.04em;transition:var(--transition)}

/* === MENU === */
.menu-section{max-width:1060px;margin:0 auto}
.menu-tabs{display:flex;gap:.4rem;margin-bottom:0;justify-content:center;flex-wrap:wrap}
.menu-tab{padding:.5rem 1.3rem;font-family:var(--heading);font-size:.95rem;font-weight:400;letter-spacing:.05em;text-transform:uppercase;color:var(--text-light);cursor:pointer;border:2px solid var(--border);background:none;transition:all .3s;position:relative}
.menu-tab:hover{border-color:var(--brown);color:var(--brown)}
.menu-tab.active{border-color:var(--brown);color:var(--brown);background:rgba(152,97,59,.07)}
.menu-tab .tab-badge{position:absolute;top:-6px;right:-6px;background:var(--brown);color:#fff;font-size:.55rem;letter-spacing:.08em;padding:.1rem .4rem;border-radius:8px;text-transform:uppercase;font-family:var(--body);font-weight:600;line-height:1.3}
.menu-meta{text-align:center;padding:1.2rem 0 2rem;min-height:3.5rem}
.menu-meta-time{font-family:var(--heading);font-size:.92rem;color:var(--brown);letter-spacing:.06em}
.menu-meta-note{font-family:var(--heading);font-style:italic;font-size:.84rem;color:var(--text-muted);margin-top:.25rem;transition:var(--transition)}
.menu-meta-download{display:inline-block;margin-top:.5rem;font-family:var(--heading);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;border-bottom:1px solid var(--border);padding-bottom:.1rem;transition:all .3s}
.menu-meta-download:hover{color:var(--brown);border-color:var(--brown)}
.menu-content{display:none}
.menu-content.active{display:block;animation:fadeIn .35s ease}
.menu-category{margin-bottom:2.5rem}
.menu-category-title{font-family:var(--heading);font-size:1.2rem;font-weight:400;color:var(--text);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.25rem;padding-bottom:.5rem;border-bottom:.6px solid var(--border);transition:var(--transition)}
.menu-note{font-family:var(--heading);font-style:italic;font-size:.88rem;color:var(--text-light);margin-bottom:.5rem;transition:var(--transition)}
.menu-items{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 3.5rem}
.menu-item{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;padding:.6rem 0;border-bottom:.5px solid var(--border-light);transition:var(--transition)}
.menu-item:hover{border-bottom-color:var(--brown-light)}
.menu-item-info{flex:1}
.menu-item-name{font-family:var(--menu-item);font-size:1.02rem;font-weight:700;color:var(--brown);margin-bottom:.1rem}
.menu-item-desc{font-size:.78rem;color:var(--text-light);line-height:1.55;transition:var(--transition)}
.menu-item-price{font-family:var(--price);font-size:.95rem;color:var(--text);white-space:nowrap;transition:var(--transition)}
.menu-disclaimer{text-align:center;margin-top:2rem;font-size:.74rem;color:var(--text-muted);line-height:1.8;max-width:560px;margin-left:auto;margin-right:auto;transition:var(--transition)}

/* === EVENTS === */
.events-section{max-width:1060px;margin:0 auto}
.events-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2.5rem;flex-wrap:wrap;gap:1rem}
.events-scroll-wrapper{position:relative}
.events-grid{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:1rem;scrollbar-width:thin;scrollbar-color:var(--brown-light) var(--border-light)}
.events-grid::-webkit-scrollbar{height:4px}
.events-grid::-webkit-scrollbar-track{background:var(--border-light);border-radius:2px}
.events-grid::-webkit-scrollbar-thumb{background:var(--brown-light);border-radius:2px}
.event-card{border:1px solid var(--border);overflow:hidden;transition:all .4s;background:var(--bg-card);min-width:300px;max-width:340px;flex-shrink:0;scroll-snap-align:start}
.event-card:hover{box-shadow:0 10px 35px var(--card-shadow);transform:translateY(-2px)}
.event-card-img{width:100%;height:220px;object-fit:cover;transition:transform .5s}
.event-card:hover .event-card-img{transform:scale(1.03)}
.event-card-body{padding:1.3rem}
.event-card-date{font-family:var(--heading);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--brown);margin-bottom:.4rem}
.event-card-title{font-family:var(--heading);font-size:1.15rem;font-weight:400;color:var(--text);margin-bottom:.4rem;transition:var(--transition)}
.event-card-desc{font-size:.82rem;color:var(--text-light);line-height:1.65;margin-bottom:.8rem;transition:var(--transition)}
.event-card-link{font-family:var(--heading);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--brown);text-decoration:none;display:inline-flex;align-items:center;gap:.35rem;transition:color .3s}
.event-card-link:hover{color:var(--brown-hover)}
.event-card-link::after{content:'→';transition:transform .3s}
.event-card-link:hover::after{transform:translateX(3px)}
.events-count{font-family:var(--heading);font-size:.78rem;color:var(--text-muted);margin-top:.5rem;text-align:right;transition:var(--transition)}

/* === GALLERY === */
.gallery-strip{padding:3.5rem 0;overflow:hidden;background:var(--bg-warm);transition:var(--transition)}
.gallery-track{display:flex;gap:.8rem;animation:scroll 50s linear infinite;width:max-content}
.gallery-track:hover{animation-play-state:paused}
.gallery-img{width:260px;height:340px;object-fit:cover;transition:opacity .4s}
.gallery-img:hover{opacity:.8}

/* === CHEF === */
.chef-wrapper{max-width:1060px;margin:0 auto}
.chef-hero{display:grid;grid-template-columns:1fr 1.2fr;gap:3.5rem;align-items:center;margin-bottom:4rem}
.chef-photos{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:.6rem}
.chef-photos img{width:100%;height:100%;object-fit:cover;transition:filter .4s}
.chef-photos img:hover{filter:brightness(1.05)}
.chef-photos img:first-child{grid-row:1/3;aspect-ratio:2/3}
.chef-photos img:nth-child(2){aspect-ratio:4/3}
.chef-photos img:nth-child(3){aspect-ratio:4/3}
.chef-quote{font-family:var(--heading);font-size:1.3rem;font-weight:400;font-style:italic;color:var(--text);line-height:1.6;margin-bottom:1.2rem;padding-left:1.3rem;border-left:2px solid var(--brown);transition:var(--transition)}
.chef-name{font-family:var(--heading);font-size:1.15rem;font-weight:600;color:var(--brown)}
.chef-role{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1.25rem;transition:var(--transition)}
.chef-bio{font-size:.86rem;color:var(--text-light);line-height:1.9;transition:var(--transition);margin-bottom:1rem}
.chef-bio-highlight{font-family:var(--heading);font-size:.95rem;color:var(--text);font-weight:500;margin-bottom:1.5rem;line-height:1.7;transition:var(--transition)}
.chef-values{display:flex;gap:1.8rem;margin-top:1.8rem;padding-top:1.3rem;border-top:.6px solid var(--border);transition:var(--transition)}
.chef-value{flex:1}
.chef-value-label{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--brown);margin-bottom:.3rem}
.chef-value-text{font-family:var(--heading);font-size:.9rem;color:var(--text);transition:var(--transition)}
/* Signature dishes */
.chef-dishes{margin-top:0}
.chef-dishes-title{font-family:var(--heading);font-size:1rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);text-align:center;margin-bottom:2rem;transition:var(--transition)}
.chef-dishes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.chef-dish{text-align:center;transition:transform .3s}
.chef-dish:hover{transform:translateY(-3px)}
.chef-dish img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:2px;margin-bottom:.6rem}
.chef-dish-name{font-family:var(--menu-item);font-size:.92rem;font-weight:600;color:var(--brown)}
.chef-dish-desc{font-size:.72rem;color:var(--text-muted);transition:var(--transition)}

/* === PRIVATE / LOCATION / NEWSLETTER / FOOTER === */
.private-section{max-width:760px;margin:0 auto;text-align:center}
.private-section .section-desc{margin:0 auto 1.8rem}
.location-section{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start}
.location-address{font-family:var(--heading);font-size:1.4rem;color:var(--text);line-height:1.4;margin-bottom:.8rem;transition:var(--transition)}
.location-detail{font-size:.85rem;color:var(--text-light);line-height:1.9;margin-bottom:1.3rem;transition:var(--transition)}
.location-map{width:100%;aspect-ratio:4/3;border:1px solid var(--border);overflow:hidden;transition:var(--transition)}
.location-map iframe{width:100%;height:100%;border:0;filter:var(--map-filter,none)}
[data-theme="dark"] .location-map iframe{filter:invert(.9) hue-rotate(180deg) brightness(.8) contrast(1.1)}
.newsletter{padding:3.5rem 3rem;text-align:center;background:var(--bg-section);transition:var(--transition)}
.newsletter-title{font-family:var(--heading);font-size:1.4rem;font-weight:400;color:var(--text);margin-bottom:.3rem;text-transform:uppercase;letter-spacing:.04em;transition:var(--transition)}
.newsletter-sub{font-size:.82rem;color:var(--text-muted);margin-bottom:1.3rem;transition:var(--transition)}
.newsletter-form{display:flex;gap:.4rem;max-width:380px;margin:0 auto}
.newsletter-form input{flex:1;background:var(--input-bg);border:1px solid var(--border);padding:.6rem .9rem;color:var(--text);font-family:var(--body);font-size:.82rem;outline:none;transition:all .3s}
.newsletter-form input::placeholder{color:var(--text-muted)}
.newsletter-form input:focus{border-color:var(--brown)}
.newsletter-form button{background:var(--brown);color:#fff;border:none;padding:.6rem 1.3rem;font-family:var(--heading);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .3s}
.newsletter-form button:hover{background:var(--brown-hover)}
footer{padding:1.8rem 3rem;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-light);font-size:.72rem;color:var(--text-muted);transition:var(--transition)}
footer a{color:var(--text-light);text-decoration:none;transition:color .3s}
footer a:hover{color:var(--brown)}
.footer-links{display:flex;gap:1.3rem}

/* === BUTTONS === */
.btn{display:inline-block;border:2.5px solid var(--brown);color:var(--brown);padding:.5rem 1.6rem;font-family:var(--heading);font-size:.9rem;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;transition:all .3s;background:transparent}
.btn:hover{background:var(--brown);color:#fff}
.btn-filled{background:var(--brown);color:#fff}
.btn-filled:hover{background:var(--brown-hover);border-color:var(--brown-hover)}
.btn-sm{font-size:.82rem;padding:.4rem 1.1rem;border-width:2px}

/* === ANIMATIONS === */
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.reveal{opacity:0;transform:translateY(22px);transition:all .65s cubic-bezier(.25,.46,.45,.94)}
.reveal.visible{opacity:1;transform:translateY(0)}

/* === MOBILE === */
.mobile-menu{position:fixed;inset:0;background:var(--nav-bg);backdrop-filter:blur(16px);z-index:99;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.3rem;opacity:0;pointer-events:none;transition:opacity .3s}
.mobile-menu.open{opacity:1;pointer-events:all}
.mobile-menu a{font-family:var(--heading);font-size:1.4rem;font-weight:400;color:var(--text);text-decoration:none;text-transform:uppercase;letter-spacing:.04em;transition:color .3s}
.mobile-menu a:hover{color:var(--brown)}

@media(max-width:900px){
  .top-bar{padding:.4rem 1rem;font-size:.72rem;gap:1rem}
  nav{padding:.6rem 1rem;top:28px}
  .nav-links{display:none}
  .mobile-toggle{display:flex}
  .hero{margin-top:calc(28px+52px)}
  section{padding:3rem 1.1rem}
  .hours-section,.location-section,.chef-hero{grid-template-columns:1fr;gap:2rem}
  .chef-dishes-grid{grid-template-columns:repeat(2,1fr)}
  .menu-items{grid-template-columns:1fr}
  .events-grid{gap:1rem}
  .event-card{min-width:260px;max-width:300px}
  .gallery-img{width:190px;height:255px}
  .newsletter-form{flex-direction:column}
  .events-ticker-inner{flex-direction:column;gap:.75rem}
  footer{flex-direction:column;gap:.6rem;text-align:center}
  .chef-values{flex-wrap:wrap;gap:1rem}
  .menu-tabs{gap:.3rem}.menu-tab{font-size:.82rem;padding:.4rem .9rem}
  .events-header{flex-direction:column;align-items:flex-start}
}

/* === SKIP LINK (Accessibility) === */
.skip-link{position:absolute;top:-100px;left:0;background:var(--brown);color:#fff;padding:.8rem 1.5rem;z-index:9999;font-family:var(--heading);font-size:.9rem;transition:top .2s}
.skip-link:focus{top:0}

/* === ACCESSIBILITY WIDGET === */
.a11y-widget{position:fixed;bottom:1.5rem;left:1.5rem;z-index:9000}
.a11y-toggle{width:44px;height:44px;border-radius:50%;background:var(--brown);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.3rem;box-shadow:0 3px 12px rgba(0,0,0,.2);transition:all .3s}
.a11y-toggle:hover{background:var(--brown-hover);transform:scale(1.08)}
.a11y-toggle:focus{outline:3px solid var(--brown-light);outline-offset:2px}
.a11y-panel{position:absolute;bottom:56px;left:0;background:var(--bg-card,#fff);border:1px solid var(--border);border-radius:4px;padding:1.2rem;width:260px;box-shadow:0 8px 30px var(--card-shadow,rgba(0,0,0,.12));opacity:0;pointer-events:none;transform:translateY(8px);transition:all .25s}
.a11y-panel.open{opacity:1;pointer-events:all;transform:translateY(0)}
.a11y-panel-title{font-family:var(--heading);font-size:1rem;font-weight:600;color:var(--text);margin-bottom:.8rem;display:flex;justify-content:space-between;align-items:center}
.a11y-panel-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--text-muted);padding:0;line-height:1}
.a11y-option{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-light);font-size:.82rem;color:var(--text);transition:var(--transition)}
.a11y-option:last-child{border-bottom:none}
.a11y-option label{cursor:pointer;flex:1}
.a11y-option input[type="checkbox"]{accent-color:var(--brown);width:16px;height:16px}
.a11y-option button{background:var(--border-light);border:1px solid var(--border);border-radius:3px;width:28px;height:28px;cursor:pointer;font-size:.85rem;color:var(--text);transition:all .2s;display:flex;align-items:center;justify-content:center}
.a11y-option button:hover{background:var(--brown);color:#fff;border-color:var(--brown)}
.a11y-link{display:block;margin-top:.8rem;font-family:var(--heading);font-size:.75rem;color:var(--brown);text-decoration:none;text-align:center;letter-spacing:.05em}
.a11y-link:hover{text-decoration:underline}

/* A11y active states */
html.a11y-large-text{font-size:20px}
html.a11y-larger-text{font-size:24px}
html.a11y-high-contrast{filter:contrast(1.4)}
html.a11y-dyslexia-friendly *{font-family:'Comic Sans MS','OpenDyslexic',var(--body)!important;letter-spacing:.05em;word-spacing:.12em;line-height:2!important}
html.a11y-underline-links a{text-decoration:underline!important}
html.a11y-pause-animations *{animation:none!important;transition:none!important}
html.a11y-pause-animations .gallery-track{animation:none!important}

/* Focus indicators */
:focus-visible{outline:3px solid var(--brown);outline-offset:2px}

/* === VIDEO SECTION === */
.video-section{max-width:1060px;margin:0 auto;text-align:center}
.video-section-title{font-family:var(--heading);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:400;color:var(--text);text-transform:uppercase;margin-bottom:2rem;transition:var(--transition)}
.video-wrapper{position:relative;width:100%;padding-bottom:56.25%;background:var(--bg-card);border:1px solid var(--border);overflow:hidden;transition:var(--transition)}
.video-wrapper iframe,.video-wrapper video{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.video-wrapper video{object-fit:cover}

/* === SOCIAL FEED === */
.social-feed-section{max-width:1200px;margin:0 auto;text-align:center}
.social-feed-title{font-family:var(--heading);font-size:clamp(1.4rem,3vw,2rem);font-weight:400;color:var(--text);text-transform:uppercase;margin-bottom:.4rem;transition:var(--transition)}
.social-feed-handle{font-family:var(--heading);font-size:.9rem;color:var(--brown);margin-bottom:2rem}
.social-feed-handle a{color:var(--brown);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .3s}
.social-feed-handle a:hover{border-color:var(--brown)}
.social-feed-content{min-height:200px}

/* === HERO VIDEO BG === */
.hero video.hero-video-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* === WP ADMIN BAR ADJUSTMENTS === */
.admin-bar .top-bar{top:32px}
.admin-bar .site-nav{top:64px}
.admin-bar .hero{margin-top:calc(32px + 60px + 32px)}

@media(max-width:782px){
  .admin-bar .top-bar{top:46px}
  .admin-bar .site-nav{top:74px}
}


/* ============================================================
   CONTACT PAGE  (page-id-1001)
   ============================================================ */

.page-id-1001 article {
  text-align: center;
}

.page-id-1001 .section-title {
  text-align: center;
  margin-bottom: 0.6em;
}

/* Sub-headings: Address, Telephone, Email, Follow Us, etc. */
.page-id-1001 article h4 {
  font-family: var(--heading);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--brown);
  margin: 2em 0 0.3em;
}

/* "Contact US" heading */
.page-id-1001 article h3 {
  font-family: var(--heading);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text);
  margin: 3em 0 0.3em;
  padding-top: 2em;
  border-top: 1px solid var(--border);
}

/* Paragraphs */
.page-id-1001 article > div > p {
  color: var(--text-light);
  margin-bottom: 0.25em;
  line-height: 1.7;
}

/* All links */
.page-id-1001 article a {
  color: var(--brown);
  text-decoration: none;
  transition: color .2s ease;
}
.page-id-1001 article a:hover {
  color: var(--brown-hover);
}

/* Social links as pill buttons */
.page-id-1001 article a[href*="facebook"],
.page-id-1001 article a[href*="instagram"] {
  display: inline-block;
  margin: 0.5em 0.4em;
  padding: 11px 32px;
  border: 1.5px solid var(--brown);
  color: var(--brown);
  font-family: var(--heading);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  line-height: 1.2;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.page-id-1001 article a[href*="facebook"] br,
.page-id-1001 article a[href*="instagram"] br {
  display: none;
}
.page-id-1001 article a[href*="facebook"]:hover,
.page-id-1001 article a[href*="instagram"]:hover {
  background: var(--brown);
  color: #fff;
  border-color: var(--brown);
}

/* Separator above form */
.page-id-1001 .gcf-form-wrap {
  margin-top: 1.5em;
}

/* Center form fields */
.page-id-1001 .gcf-form .gcf-field {
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}
.page-id-1001 .gcf-form .gcf-submit-btn {
  display: block;
  margin-left: auto;
  margin-right: auto;
}


/* ============================================================
   SOCIAL CLUB PAGE  (page-id-4991)
   ============================================================ */

.page-id-4991 .section-title {
  text-align: center;
  margin-bottom: 1em;
}

/* Center & constrain logo */
.page-id-4991 article img {
  display: block;
  margin: 0 auto 1.5em;
  max-width: 260px;
  height: auto;
}

/* Center description */
.page-id-4991 article > div > p {
  text-align: center;
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
  color: var(--text-light);
  line-height: 1.85;
}

/* ---- Mailchimp dark-box ---- */
.page-id-4991 article > div > form,
.page-id-4991 #mc_embed_signup {
  max-width: 540px;
  margin: 2.5em auto 0;
  padding: 42px 36px 36px;
  background: #111;
  border: 1px solid #2a2a2a;
}

/* Subscribe heading */
.page-id-4991 article h2 {
  font-family: var(--heading);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--brown-light);
  text-align: center;
  margin: 0 0 0.6em;
}

/* Required indicator */
.page-id-4991 .indicates-required {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #b7aa96;
  text-align: center;
  margin-bottom: 20px;
}

/* Labels inside dark form */
.page-id-4991 article > div > form label,
.page-id-4991 #mc_embed_signup label {
  display: block;
  margin: 0 0 8px;
  font-family: var(--heading);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #d8c8b0;
}

/* Inputs inside dark form */
.page-id-4991 article > div > form input[type="email"],
.page-id-4991 article > div > form input[type="text"],
.page-id-4991 article > div > form input[type="tel"],
.page-id-4991 #mc_embed_signup input[type="email"],
.page-id-4991 #mc_embed_signup input[type="text"],
.page-id-4991 #mc_embed_signup input[type="tel"] {
  width: 100%;
  min-height: 48px;
  padding: 14px 16px;
  border: 1px solid #3a342d;
  border-radius: 0;
  background: #171717;
  color: #f3eee6;
  font-family: var(--body);
  font-size: 15px;
  line-height: 1.4;
  box-shadow: none;
  margin-bottom: 18px;
  transition: border-color .25s ease, background .25s ease;
}
.page-id-4991 article > div > form input:focus,
.page-id-4991 #mc_embed_signup input:focus {
  outline: none;
  border-color: var(--brown-light);
  background: #1c1c1c;
}

/* Submit button */
.page-id-4991 article > div > form input[type="submit"],
.page-id-4991 #mc_embed_signup input[type="submit"] {
  width: 100%;
  min-height: 48px;
  margin-top: 10px;
  padding: 15px 22px;
  border: 1px solid var(--brown-light);
  border-radius: 0;
  background: transparent;
  color: #f3eee6;
  font-family: var(--heading);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.page-id-4991 article > div > form input[type="submit"]:hover,
.page-id-4991 #mc_embed_signup input[type="submit"]:hover {
  background: var(--brown-light);
  color: #111;
  border-color: var(--brown-light);
}

.page-id-4991 .mc-field-group { margin-bottom: 0; }
.page-id-4991 .asterisk { color: var(--brown-light); }
.page-id-4991 .optionalParent p,
.page-id-4991 .brandingLogo { display: none; }

/* ---- Responsive ---- */
@media (max-width: 600px) {
  .page-id-1001 main,
  .page-id-4991 main {
    padding-left: 24px;
    padding-right: 24px;
  }
  .page-id-4991 article > div > form,
  .page-id-4991 #mc_embed_signup {
    padding: 30px 22px 26px;
  }
}


/* Hide Mailchimp honeypot field */
.page-id-4991 article > div > form input[name^="b_"],
.page-id-4991 #mc_embed_signup input[name^="b_"] {
  position: absolute;
  left: -5000px;
}

/* Hide honeypot – just the input, not its parent <p> */

/* Make subscribe button full-width and styled */
.page-id-4991 article > div > form .clear input[type="submit"],
.page-id-4991 #mc_embed_signup .clear input[type="submit"] {
  width: 100%;
}

/* ===== SOCIAL CLUB SLIDE PANEL ===== */
.sc-overlay {
	  position: fixed;
	  inset: 0;
	  background: rgba(0,0,0,.55);
	  z-index: 9998;
	  opacity: 0;
	  pointer-events: none;
	  transition: opacity .35s ease;
}
.sc-overlay.sc-open {
	  opacity: 1;
	  pointer-events: auto;
}
.sc-panel {
	  position: fixed;
	  top: 0;
	  right: 0;
	  width: 460px;
	  max-width: 100%;
	  height: 100%;
	  background: #111;
	  z-index: 9999;
	  transform: translateX(100%);
	  transition: transform .4s cubic-bezier(.22,1,.36,1);
	  overflow-y: auto;
	  box-shadow: -4px 0 24px rgba(0,0,0,.4);
}
.sc-panel.sc-open {
	  transform: translateX(0);
}
.sc-close {
	  position: absolute;
	  top: 18px;
	  right: 20px;
	  background: none;
	  border: none;
	  color: #fff;
	  font-size: 32px;
	  cursor: pointer;
	  line-height: 1;
	  z-index: 1;
	  opacity: .7;
	  transition: opacity .2s;
}
.sc-close:hover { opacity: 1; }
.sc-inner {
	  padding: 60px 40px 40px;
	  text-align: center;
}
.sc-logo {
	  max-width: 200px;
	  margin: 0 auto 24px;
	  display: block;
	  filter: brightness(0) invert(1);
}
.sc-title {
	  font-family: var(--heading);
	  color: var(--brown-light);
	  font-size: 1.6rem;
	  letter-spacing: 3px;
	  text-transform: uppercase;
	  margin-bottom: 16px;
}
.sc-desc {
	  color: #ccc;
	  font-family: var(--body);
	  font-size: .95rem;
	  line-height: 1.7;
	  margin-bottom: 32px;
}
.sc-form-wrap label {
	  display: block;
	  color: var(--brown-light);
	  font-family: var(--body);
	  font-size: .75rem;
	  letter-spacing: 1.5px;
	  text-transform: uppercase;
	  text-align: left;
	  margin-bottom: 6px;
}
.sc-form-wrap input[type="text"],
.sc-form-wrap input[type="email"] {
	  width: 100%;
	  padding: 12px 14px;
	  background: #1a1a1a;
	  border: 1px solid #333;
	  color: #fff;
	  font-family: var(--body);
	  font-size: .95rem;
	  margin-bottom: 18px;
	  border-radius: 0;
	  transition: border-color .2s;
}
.sc-form-wrap input[type="text"]:focus,
.sc-form-wrap input[type="email"]:focus {
	  border-color: var(--brown-light);
	  outline: none;
}
.sc-form-wrap input[type="submit"] {
	  width: 100%;
	  padding: 14px;
	  background: transparent;
	  border: 2px solid var(--brown-light);
	  color: var(--brown-light);
	  font-family: var(--body);
	  font-size: .85rem;
	  letter-spacing: 2px;
	  text-transform: uppercase;
	  cursor: pointer;
	  margin-top: 8px;
	  transition: background .25s, color .25s;
}
.sc-form-wrap input[type="submit"]:hover {
	  background: var(--brown-light);
	  color: #111;
}
.sc-form-wrap input[name^="b_"] {
	  position: absolute;
	  left: -5000px;
}
.sc-form-wrap .mc-field-group { margin-bottom: 0; }
.sc-form-wrap .asterisk { color: var(--brown-light); }
.sc-form-wrap .optionalParent p,
.sc-form-wrap .brandingLogo { display: none; }

@media (max-width: 600px) {
	.sc-panel { width: 100%; }
	.sc-inner { padding: 50px 24px 24px; }
}


/* ========================================
   ACCESSIBILITY FIXES (WAVE)
   ======================================== */

/* Fix: sr-only class for visually hidden H1 */
.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}

/* Fix: nav-link-btn to match nav link styling */
.nav-link-btn{background:none;border:none;color:inherit;font:inherit;cursor:pointer;padding:0;text-decoration:none;font-family:var(--heading);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase}
.nav-link-btn:hover{color:var(--brown)}
.mobile-menu .nav-link-btn{display:block;width:100%;text-align:left;color:inherit;font-size:1.1rem;padding:.7rem 0;letter-spacing:.08em}

/* Fix: Contrast - hero-floor text (was rgba 255,255,255,.75 -> now full white) */
.hero-floor{color:#fff!important}

/* Fix: Contrast - hero overlay too light for white text */
.hero-overlay{background:rgba(0,0,0,.45)!important}

/* Fix: Contrast - View Menus button needs solid background for contrast */
.hero-btn{background:rgba(0,0,0,.35)}
.hero-btn:hover{background:rgba(0,0,0,.5)}

/* Fix: Contrast - Social Club panel desc text */
.sc-desc{color:#e0e0e0!important}

/* Fix: Contrast - SC form headings and required text (Mailchimp embed) */
.sc-form-wrap h2,.sc-form-wrap .indicates-required{color:#e0e0e0!important}
.sc-form-wrap #mc_embed_signup .indicates-required{color:#ccc!important;font-size:.85rem!important}
.sc-form-wrap #mc_embed_signup h2{color:#fff!important}

/* Fix: Very small text - tab badge (was .55rem) */
.tab-badge{font-size:.75rem!important}

/* Fix: Very small text - event card date (was .68rem) */
.event-card-date{font-size:.8rem!important}

/* Fix: Very small text - chef value label (was .62rem) */
.chef-value-label{font-size:.78rem!important}

/* Fix: Very small text - chef role (was .76rem -> just above threshold but let's be safe) */

/* Fix: location-address as h3 keeps its paragraph-like style */
h3.location-address{font-family:var(--heading);font-size:1.2rem;font-weight:400;margin:0 0 .8rem}

/* Fix: Mailchimp honeypot hidden field label */
.sc-form-wrap .mc-field-group input[tabindex="-1"]{position:absolute;left:-5000px}

/* ==============================================
   WAVE ACCESSIBILITY FIXES
   ============================================== */

/* Fix 1: Contrast - Hero tagline text (was rgba(255,255,255,0.75)) */
.hero-floor{color:#fff; background-color: #905a33; padding: 4px 14px; border-radius: 3px; width:fit-content; margin-left:auto; margin-right:auto !important}

/* Fix 2: Contrast - Hero "View Menus" button border/text */
.hero-btn{border-color:rgba(255,255,255,1) !important;color:#fff !important;text-shadow:0 1px 3px rgba(0,0,0,0.4)}

/* Fix 3: Contrast - Social Club panel text colors on dark (#111) background */
.sc-form-wrap p{color:#e0e0e0 !important}
.sc-form-wrap h2{color:#e0e0e0 !important}
#mc-embedded-subscribe-form .indicates-required,
.sc-form-wrap .indicates-required{color:#ccc !important}

/* Fix 4: Very small text - Tab badge (was 0.55rem / ~8.8px) */
.menu-tab .tab-badge{font-size:0.75rem !important}

/* Fix 5: Very small text - Event card date (was 0.68rem / ~10.88px) */
.event-card-date{font-size:0.8rem !important}

/* Fix 6: Very small text - Chef value labels (was 0.62rem / ~9.92px) */
.chef-value-label{font-size:0.8rem !important}


/* ============================================
   PRIVATE DINING PAGE (page-private-dining.php)
   ============================================ */

.pd-page { color:#222; }
.pd-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }

/* Eyebrow label */
.pd-eyebrow { color:#905a33; font-size:12px; letter-spacing:.18em; text-transform:uppercase; margin: 0 0 8px; font-weight:500; }
.pd-eyebrow-center { text-align:center; }

/* Hero */
/* Hero - matches homepage hero pattern */
.pd-hero { position: relative; min-height: 60vh; padding: 80px 0 56px; display:flex; align-items:center; justify-content:center; text-align:center; overflow:hidden; background:#faf7f2; }
.pd-hero-has-image { background:#1a1a1a; }
.pd-hero-has-image { min-height: 70vh; padding: 96px 24px 80px; }
.pd-hero-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.pd-hero-overlay { position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.55) 100%); z-index:1; }
.pd-hero-inner { position:relative; z-index:2; max-width: 920px; margin: 0 auto; padding: 0 24px; }
.pd-hero-eyebrow { color:#f5ece2; font-size:12px; letter-spacing:.22em; text-transform:uppercase; margin: 0 0 14px; font-weight:500; }
.pd-hero:not(.pd-hero-has-image) .pd-hero-eyebrow { color:#905a33; }
.pd-hero-title { font-family:"Playfair Display", Georgia, serif; font-size: clamp(36px, 6vw, 64px); line-height:1.05; margin: 0 0 20px; font-weight:400; color:#fff; letter-spacing:.01em; }
.pd-hero:not(.pd-hero-has-image) .pd-hero-title { color:#222; }
.pd-hero-lede { max-width: 720px; margin: 0 auto 32px; font-size:17px; line-height:1.6; color:#f5ece2; }
.pd-hero:not(.pd-hero-has-image) .pd-hero-lede { color:#555; }
.pd-hero-ctas { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:8px; }
.pd-hero-btn { display:inline-block; padding: 14px 32px; font-size:12px; letter-spacing:.20em; text-transform:uppercase; text-decoration:none; border:1px solid #fff; color:#fff; background: transparent; transition: all .2s ease; }
.pd-hero-btn:hover { background:#fff; color:#1a1a1a; }
.pd-hero-btn-filled { background:#905a33; border-color:#905a33; color:#fff; }
.pd-hero-btn-filled:hover { background:#7a4b2a; border-color:#7a4b2a; color:#fff; }
.pd-hero:not(.pd-hero-has-image) .pd-hero-btn { color:#905a33; border-color:#905a33; }
.pd-hero:not(.pd-hero-has-image) .pd-hero-btn:hover { background:#905a33; color:#fff; }
@media (max-width: 700px) { .pd-hero { min-height: 56vh; padding: 64px 16px; } .pd-hero-has-image { min-height: 60vh; } }

/* Generic section */
.pd-section { padding: 64px 0; }
.pd-section-title { font-family:"Playfair Display", Georgia, serif; font-size: clamp(28px, 4vw, 44px); line-height:1.15; text-align:center; margin: 0 0 16px; font-weight:400; }
.pd-section-desc { max-width:760px; margin: 0 auto 40px; text-align:center; font-size:15px; line-height:1.65; color:#555; }

/* Three rooms grid - 3 columns desktop, 1 mobile */
.pd-rooms-grid { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
@media (max-width: 900px) { .pd-rooms-grid { grid-template-columns: 1fr; } }

/* Room card */
.pd-room { background:#fff; border:1px solid #e8e3dc; display:flex; flex-direction:column; }
.pd-room-media { position:relative; aspect-ratio: 4 / 3; background:#1a1a1a; overflow:hidden; }
.pd-room-img { width:100%; height:100%; object-fit:cover; display:block; }
.pd-room-tour { position:absolute; inset:0; width:100%; height:100%; border:0; display:block; }
.pd-room-tour-badge { position:absolute; top:14px; left:14px; background: rgba(144,90,51,.92); color:#fff; font-size:11px; letter-spacing:.14em; text-transform:uppercase; padding: 6px 10px; border-radius:2px; z-index:2; pointer-events:none; }
.pd-room-body { padding: 24px 24px 28px; }
.pd-room-name { font-family:"Playfair Display", Georgia, serif; font-size:22px; line-height:1.2; margin: 0 0 6px; text-transform:uppercase; letter-spacing:.04em; font-weight:400; }
.pd-room-tag { color:#905a33; font-size:12px; letter-spacing:.14em; text-transform:uppercase; margin: 0 0 16px; font-weight:500; }
.pd-room-desc { font-size:14.5px; line-height:1.6; color:#555; margin: 0 0 22px; }

/* Room stats row */
.pd-room-stats { display:flex; gap: 28px; padding-top:18px; border-top:1px solid #efe9e0; }
.pd-stat { display:flex; flex-direction:column; gap:4px; }
.pd-stat-num { font-family:"Playfair Display", Georgia, serif; font-size:24px; color:#905a33; line-height:1; }
.pd-stat-lbl { font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:#888; }

/* Capacities + hotel tables */
.pd-cap-table { width:100%; border-collapse:collapse; margin: 16px 0 24px; font-size:14px; }
.pd-cap-table th, .pd-cap-table td { padding: 14px 12px; text-align:left; border-bottom:1px solid #efe9e0; }
.pd-cap-table th { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#888; font-weight:500; background:#faf7f2; }
.pd-cap-table td:first-child { font-weight:500; }
.pd-cap-note { text-align:center; font-size:13px; color:#888; font-style:italic; }
@media (max-width: 700px) { .pd-cap-table { display:block; overflow-x:auto; white-space:nowrap; } }

/* Hotel table view link */
.pd-tour-link { color:#905a33; font-size:12px; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; border-bottom:1px solid #905a33; padding-bottom:1px; }
.pd-tour-link:hover { color:#7a4b2a; border-bottom-color:#7a4b2a; }

/* Features grid - 4 cols desktop, 2 tablet, 1 mobile */
.pd-feat-grid { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 24px; }
@media (max-width: 1000px) { .pd-feat-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .pd-feat-grid { grid-template-columns: 1fr; } }
.pd-feat { padding: 24px; border:1px solid #e8e3dc; background:#fff; }
.pd-feat-title { font-family:"Playfair Display", Georgia, serif; font-size:18px; margin: 0 0 8px; font-weight:400; }
.pd-feat-desc { font-size:14px; line-height:1.6; color:#555; margin:0; }

/* Form section */
.pd-form-section { background:#faf7f2; }
.pd-form-wrap { max-width: 760px; margin: 0 auto; }

/* Contact band */
.pd-contact-band { background:#905a33; color:#fff; padding: 48px 0; text-align:center; }
.pd-contact-title { font-family:"Playfair Display", Georgia, serif; font-size: clamp(24px, 3.5vw, 36px); margin: 0 0 12px; font-weight:400; color:#fff; }
.pd-contact-desc { font-size:15px; line-height:1.7; max-width:720px; margin: 0 auto; color:#f5ece2; }
.pd-contact-desc a { color:#fff; text-decoration:underline; }
.pd-contact-desc a:hover { color:#f5ece2; }

/* End Private Dining */
