/*
Theme Name: Ca Nostra Demo
Description: Demo del restaurante Ca Nostra para revisión con el cliente.
Version: 0.5.9
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: ca-nostra
*/
@import url('https://fonts.googleapis.com/css2?family=Italiana&family=Jost:wght@400;500&display=swap');
:root{--green:#1c271f;--cream:#f0eee6;--gold:#c7ac7e;--muted:#b6b7a9;--line:#ffffff24;--serif:'Italiana',Baskerville,Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--green);color:var(--cream);font:16px/1.7 'Jost',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.08}h2{font-size:clamp(42px,5vw,72px);letter-spacing:-.02em}h2 i{font-family:Georgia,serif;font-weight:400;font-size:.88em}p{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:26px}.section{padding:105px max(6vw,24px);scroll-margin-top:20px}.header{height:110px;padding:16px 5vw;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.logo{width:96px;height:78px;object-fit:contain}.header nav{display:flex;gap:30px;font-size:12px}.reserve{text-transform:uppercase;font-size:11px;letter-spacing:.12em;border-bottom:1px solid var(--gold);padding:10px 0;color:var(--gold)}.menu-toggle{display:none;color:var(--cream);background:none;border:none;font-size:26px}.hero{position:relative;min-height:730px;height:calc(100svh - 110px);max-height:1000px;display:grid;place-items:center;overflow:hidden}.hero-copy{text-align:center;z-index:1;padding:40px 12px}.hero-copy h1{font-size:clamp(90px,12.5vw,190px);letter-spacing:-.05em}.hero-sub{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);margin:24px 0 45px}.button{display:inline-flex;gap:40px;align-items:center;justify-content:center;border:1px solid var(--gold);padding:16px 28px;color:var(--gold);background:transparent;font-size:11px;letter-spacing:.12em;text-transform:uppercase;transition:background .2s,color .2s}.button:hover{background:var(--gold);color:var(--green)}.float-photo{position:absolute;width:clamp(150px,18vw,280px);height:clamp(210px,25vw,355px);object-fit:cover}.float-photo.left{left:5.5%;top:10%;transform:rotate(-6deg)}.float-photo.right{right:5.5%;bottom:15%;transform:rotate(6deg)}.hero-bottom{position:absolute;bottom:28px;left:6vw;right:6vw;display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.hero-bottom a{color:var(--gold)}.intro{background:var(--cream);color:var(--green);display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.intro-image img{aspect-ratio:4/5;height:auto;object-position:47% center}.intro-image span{font-size:10px;letter-spacing:.15em;text-transform:uppercase;display:block;margin-top:17px}.intro-copy .eyebrow{color:#765538}.intro-copy p:not(.eyebrow){color:#61685f;margin:30px 0}.text-link{border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.12em;padding:10px 0;display:inline-flex;gap:35px;align-items:center}.intro .text-link{color:#765538}.statement{text-align:center;padding:100px 24px;border-bottom:1px solid var(--line)}.statement h2{font-size:clamp(30px,4.5vw,64px)}.asterisk{font-size:50px;color:var(--gold);display:block;margin-top:40px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:60px}.heading-side{width:300px}.heading-side p{margin-bottom:20px;font-size:14px}.dish-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.dish-grid figure img{aspect-ratio:3/4;height:auto}.dish-grid figure.offset{padding-top:65px}.dish-grid figcaption{display:flex;justify-content:space-between;font-size:12px;padding-top:15px;color:var(--gold)}.wine{display:grid;grid-template-columns:1fr 1fr;gap:12vw;align-items:center;border-top:1px solid var(--line)}.wine img{height:560px}.wine p:not(.eyebrow){margin:30px 0;max-width:420px}.events{background:#27332a;display:grid;grid-template-columns:1.1fr 1fr;gap:9vw;align-items:center}.events img{height:600px}.events p:not(.eyebrow){margin:30px 0}.gallery-count{font-size:12px;color:var(--gold)}.gallery-grid{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:20px}.photo-open{padding:0;border:0;background:none;overflow:hidden}.photo-open img{height:360px;transition:transform .4s}.photo-open:hover img{transform:scale(1.04)}.booking{background:var(--cream);text-align:center;color:var(--green)}.booking p{color:#61685f;margin-top:26px}.booking .eyebrow{color:#765538;margin-top:0}.booking-actions{display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap;margin-top:35px}.booking .button,.booking .text-link{color:#765538;border-color:#765538}footer{padding:65px 6vw 20px}.footer-top{display:grid;grid-template-columns:1.3fr 1fr .75fr 1fr;gap:45px;padding-bottom:60px}.footer-brand img{width:125px;height:110px;object-fit:contain;margin-bottom:20px}.footer-top p:not(.eyebrow),footer a,footer address{font-size:13px;font-style:normal;color:var(--muted)}.footer-top a{display:block;margin:8px 0}.footer-top .eyebrow{margin-bottom:20px}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted)}.footer-bottom button{border:0;background:none;color:inherit;font-size:10px}.skip{position:absolute;left:10px;top:-100px;background:var(--cream);color:var(--green);z-index:50;padding:12px}.skip:focus{top:10px}dialog{background:var(--cream);color:var(--green);border:0;padding:50px;width:min(600px,calc(100% - 32px));max-height:90svh;overflow:auto}dialog::backdrop{background:#0c130edb}dialog h2{font-size:48px;margin-bottom:30px}dialog .eyebrow{color:#765538}.close{position:absolute;top:12px;right:17px;background:transparent;border:none;font-size:30px;color:inherit}.note{color:#61685f;font-size:13px;margin-top:24px}.menu-row{padding:17px 0;border-bottom:1px solid #1c271f30;display:flex;justify-content:space-between}form label{display:block;font-size:13px;margin-top:15px}input,select,textarea{display:block;width:100%;background:transparent;border:1px solid #1c271f40;color:var(--green);border-radius:0;padding:11px;margin-top:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}form .button{color:var(--green);border-color:var(--green);margin-top:20px}.photo-dialog{padding:0;background:#101813;width:min(1050px,95vw)}.photo-dialog img{height:auto;max-height:85svh;object-fit:contain}.photo-dialog .close{background:var(--green);color:white;z-index:1;padding:0 12px}
@media(min-width:1600px){.section{padding-left:calc((100vw - 1400px)/2);padding-right:calc((100vw - 1400px)/2)}}
@media(max-width:1000px){.header nav{gap:15px}.float-photo{width:160px;height:220px}.float-photo.left{left:3%;top:6%}.float-photo.right{right:3%;bottom:8%}.hero{min-height:700px}.intro{gap:50px}.events,.wine{gap:50px}.footer-top{gap:25px;grid-template-columns:1fr 1fr}}
@media(max-width:700px){.header{height:90px;padding:10px 24px}.logo{width:75px;height:65px}.header nav{display:none;position:absolute;top:90px;left:0;right:0;background:var(--green);padding:25px;z-index:10;border-bottom:1px solid var(--line)}.header nav.open{display:flex;flex-direction:column;font-size:18px}.menu-toggle{display:block}.reserve{margin-left:auto}.hero{height:760px;min-height:0;max-height:none}.hero-copy{margin-top:0}.hero-copy h1{font-size:92px}.hero-copy .eyebrow{margin-bottom:20px}.float-photo{width:115px;height:145px}.float-photo.left{top:30px;left:25px}.float-photo.right{bottom:65px;right:25px}.hero-sub{font-size:10px;margin-bottom:30px}.hero-bottom{font-size:8px}.section{padding:70px 24px}.intro,.wine,.events{grid-template-columns:1fr;gap:40px}.intro-image img{aspect-ratio:4/3}.intro-copy h2{font-size:46px}.statement{padding:65px 24px}.statement h2{font-size:32px}.statement br{display:none}.section-heading{display:block;margin-bottom:35px}.heading-side{width:auto;max-width:400px;margin-top:25px}.dish-grid{gap:15px;grid-template-columns:1fr 1fr}.dish-grid figure.offset{padding-top:40px}.dish-grid figure:last-child{display:none}.dish-grid figcaption{font-size:10px}.wine img{height:440px}.events img{height:380px}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-grid .photo-open:last-child{display:none}.photo-open img{height:220px}.gallery-count{display:block;margin-top:20px}.booking-actions{gap:20px;flex-direction:column}.footer-top{grid-template-columns:1fr 1fr;gap:30px}footer{padding:50px 24px 20px}.footer-bottom{flex-wrap:wrap}.footer-bottom span:nth-child(2){order:3;width:100%}dialog{padding:40px 24px}.form-grid{grid-template-columns:1fr}.booking h2{font-size:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Cartas reales: actualización 7 octubre 2026 */
.menu-dialog{width:min(900px,calc(100% - 32px))}.menu-category{margin:35px 0}.menu-category h3{font-family:var(--serif);font-size:28px;font-weight:400;margin:0 0 15px}.menu-row{gap:24px;align-items:baseline}.price{white-space:nowrap;font-variant-numeric:tabular-nums}.wine-labels,.wine-row{display:grid;grid-template-columns:minmax(0,1fr) 85px 95px;gap:16px}.wine-labels{font-size:11px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid #1c271f40;padding:10px 0}.wine-row{padding:17px 0;border-bottom:1px solid #1c271f30}.wine-row small{display:block;color:#61685f;font-size:12px;line-height:1.6}.wine-row>span,.wine-labels>span:not(:first-child){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.hours-pending{margin-top:10px;font-size:11px!important}@media(max-width:600px){.menu-row{font-size:14px;gap:16px}.wine-labels,.wine-row{grid-template-columns:minmax(0,1fr) 64px 70px;gap:8px;font-size:13px}.menu-category h3{font-size:26px}}

.page-lead{padding-bottom:50px}.page-lead h1,.menu-page h1{font-family:var(--serif);font-size:clamp(48px,7vw,95px);line-height:1.05;font-weight:400}.page-lead h1 i,.menu-page h1 i{font-family:Georgia,serif;font-size:.85em}.menu-page{max-width:1150px;margin:auto;background:var(--cream);color:var(--green)}.menu-page .eyebrow{color:#765538}.menu-page h1{margin-bottom:45px}.menu-page .note{color:#61685f}.menu-page .note a{border-bottom:1px solid}.reservation-page{max-width:760px;margin:auto}.reservation-page input,.reservation-page select,.reservation-page textarea{color:var(--cream);border-color:var(--line);color-scheme:dark}.reservation-page select option{background:var(--green)}.reservation-page .note,.reservation-page p{color:var(--muted)}.reservation-page form .button{color:var(--gold);border-color:var(--gold)}.reservation-page .eyebrow{display:none}.related{border-top:1px solid var(--line)}.related>div{display:flex;gap:40px;flex-wrap:wrap}.breadcrumbs{padding:20px 6vw;font-size:11px;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-grid address{font-style:normal;margin:25px 0}.hours dt{color:var(--gold);font-size:12px;margin-top:18px}.hours dd{margin:3px 0;font-size:15px}.header [aria-current=page]{color:var(--gold);text-decoration:underline;text-underline-offset:8px}@media(max-width:700px){.contact-grid{grid-template-columns:1fr}.related>div{gap:20px}.page-lead{padding-bottom:35px}}

/* Corrección de márgenes en páginas de ancho limitado */
.section.reservation-page, .section.menu-page { width: 100%; padding-inline: clamp(24px, 4vw, 64px); }
.reservation-page form, .reservation-page label { width: 100%; min-width: 0; }
.reservation-page input, .reservation-page select, .reservation-page textarea { width: 100%; min-width: 0; max-width: 100%; }
.reservation-page .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 600px) { .reservation-page .form-grid { grid-template-columns: 1fr; } }

/* Hero editorial · 0.2.2 */
.hero{isolation:isolate;min-height:760px;height:100svh;max-height:1100px;display:flex;align-items:center;justify-content:flex-start;background:#172119}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background-image:url("assets/hero.webp");background-size:cover;background-position:72% 48%;animation:cn-hero-reveal 1.4s ease-out both}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,19,13,.94) 0%,rgba(10,19,13,.78) 28%,rgba(10,19,13,.32) 62%,rgba(10,19,13,.09) 100%),linear-gradient(0deg,rgba(10,19,13,.7),transparent 25%)}
.hero .float-photo{display:none}
.hero .hero-copy{text-align:left;width:min(850px,75%);padding:100px 0 120px;margin:0 0 0 7vw;z-index:1;animation:cn-copy-reveal .9s ease-out both}
.hero-copy .eyebrow{display:flex;align-items:center;gap:16px;letter-spacing:.3em;color:#e6d5b5;margin-bottom:30px}
.hero-copy .eyebrow::before{content:"";display:block;width:44px;height:1px;background:currentColor}
.hero .hero-copy h1{font-size:clamp(110px,13vw,205px);line-height:.92;letter-spacing:-.055em;color:#fff9ed;text-shadow:0 2px 35px rgba(0,0,0,.08)}
.hero .hero-sub{font-size:13px;letter-spacing:.18em;color:#e2ddcf;margin:34px 0 42px;line-height:1.7;max-width:430px}
.hero .button{border-color:#e3d4b8;color:#f8f1e3;background:rgba(17,29,21,.18);padding:19px 30px;gap:50px;backdrop-filter:blur(8px)}
.hero .button:hover{background:#e3d4b8;color:#172119}
.hero .hero-bottom{left:7vw;right:7vw;bottom:35px;padding-top:23px;border-top:1px solid rgba(255,255,255,.3);color:#e2ddcf}
.hero .hero-bottom a{color:#e6d5b5}
.home .header{position:absolute;top:0;left:0;right:0;z-index:5;background:transparent;border-bottom:1px solid rgba(255,255,255,.22)}
.home.admin-bar .header{top:32px}
.home .header nav a{color:#f6f0e5}
.home .header .reserve{color:#e6d5b5;border-color:#e6d5b5}
@keyframes cn-hero-reveal{from{transform:scale(1.035);opacity:.6}to{transform:scale(1);opacity:1}}
@keyframes cn-copy-reveal{from{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:1000px){.hero{min-height:700px}.hero .hero-copy{width:85%}.hero::before{background-position:66% center}}
@media(max-width:700px){.hero{min-height:670px;height:92svh;max-height:900px}.hero::before{background-position:58% center}.hero::after{background:linear-gradient(90deg,rgba(10,19,13,.8),rgba(10,19,13,.3)),linear-gradient(0deg,rgba(10,19,13,.75),transparent 55%)}.hero .hero-copy{width:calc(100% - 48px);margin-left:24px;padding:120px 0 110px}.hero .hero-copy h1{font-size:clamp(86px,20vw,135px)}.hero-copy .eyebrow{font-size:10px;gap:12px}.hero-copy .eyebrow::before{width:28px}.hero .hero-sub{font-size:10px;max-width:280px;margin:25px 0 32px}.hero .button{padding:17px 23px;gap:28px}.hero .hero-bottom{left:24px;right:24px;bottom:28px;font-size:8px}.home .header nav.open{background:#1c271f}.home.admin-bar .header{top:46px}}
@media(prefers-reduced-motion:reduce){.hero::before,.hero .hero-copy{animation:none}}

.contact-form-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8vw;border-top:1px solid var(--line)}.contact-form-intro p:not(.eyebrow){margin:25px 0}.contact-form-section form{min-width:0;width:100%;max-width:650px}.contact-form-section input,.contact-form-section select,.contact-form-section textarea{color:var(--cream);border-color:var(--line);color-scheme:dark;min-width:0;max-width:100%}.contact-form-section select option{background:var(--green)}.contact-form-section .note{color:var(--muted)}.contact-form-section .button{color:var(--gold);border-color:var(--gold)}@media(max-width:700px){.contact-form-section{grid-template-columns:1fr;gap:35px}}

/* Menú, tablet y redes sociales · 0.3.0 */
.header nav{font-size:16px;gap:28px}.header nav a{display:flex;align-items:center;min-height:44px;padding:4px 5px;touch-action:manipulation}.reserve{font-size:13px;min-height:44px;display:flex;align-items:center;gap:12px;touch-action:manipulation}.header{z-index:30}.home .header{z-index:30}.menu-toggle{min-width:48px;min-height:48px;touch-action:manipulation}.social-links{display:flex;gap:14px;margin-top:22px}.social-placeholder{display:flex;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid var(--line);color:var(--gold)}.social-placeholder svg{display:block;width:22px;height:22px}.hero .hero-sub{font-size:16px;letter-spacing:.23em}
@media(max-width:1100px){.header{height:100px;padding:14px 24px;position:relative}.header nav{display:none;position:absolute;top:100%;left:auto;right:24px;width:min(360px,calc(100vw - 48px));background:var(--green);padding:22px;z-index:50;border:1px solid var(--line);max-height:calc(100svh - 130px);overflow-y:auto;box-shadow:0 16px 40px #0004}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:8px;font-size:18px}.header nav a{min-height:48px;padding:7px 10px}.menu-toggle{display:block}.reserve{margin-left:auto}.home .header nav.open{background:var(--green)}.header .logo{width:83px;height:70px}}
@media(max-width:700px){.header{height:90px;padding:10px 24px}.header .logo{width:75px;height:65px}.reserve{font-size:11px}.hero .hero-sub{font-size:13px}.header nav.open{font-size:17px}}

.reservation-phones{margin-top:36px;width:100%;}
.reservation-phones>p{font-size:16px;margin-bottom:12px;}
.reservation-phones>div{display:flex;flex-wrap:wrap;gap:12px 32px;}
.reservation-phones a{display:inline-flex;align-items:center;min-height:44px;font-size:clamp(22px,2.2vw,28px);line-height:1.3;color:var(--cream,#f0eee6);text-decoration:none;border-bottom:1px solid var(--gold,#c7ac7e);}
.reservation-phones a:hover{color:var(--gold,#c7ac7e);}

#reservation-preview label[hidden]{display:none!important;}

.reservation-calendar{position:relative;width:100%;margin-top:8px;}
#reservation-preview .calendar-trigger{width:100%;padding:15px 18px;text-align:left;background:transparent;border:1px solid #697266;color:#f0eee6;font:inherit;min-height:52px;cursor:pointer;}
.calendar-panel{margin-top:8px;padding:16px;background:#26362a;border:1px solid #697266;max-width:380px;}
.calendar-panel[hidden]{display:none!important;}
.calendar-controls{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;}
.calendar-controls strong{font-size:16px;text-transform:capitalize;}
#reservation-preview .calendar-panel button{color:#f0eee6;background:transparent;border:0;font:inherit;min-height:44px;min-width:36px;cursor:pointer;padding:4px;}
#reservation-preview .calendar-panel button:disabled{color:#8b948c;opacity:.45;cursor:not-allowed;text-decoration:line-through;}
#reservation-preview .calendar-panel button:not(:disabled):hover,#reservation-preview .calendar-panel button[aria-current]{background:#c7ac7e;color:#1c271f;}
.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;text-align:center;}
.calendar-days>span{padding:6px 0;font-size:13px;}
.calendar-note{font-size:14px;margin:12px 0 0;color:#d5c5a5;}
.contact-mobile{display:inline-block;margin-top:8px;}

.contact-reservation-callout{margin-top:32px;padding-top:24px;border-top:1px solid #596557;max-width:440px;}
.contact-reservation-callout>p:first-child{font-size:20px;color:#f0eee6;margin-bottom:16px;}
.contact-reservation-callout .button{display:inline-flex;gap:32px;align-items:center;min-height:52px;background:#c7ac7e;color:#1c271f;border-color:#c7ac7e;}
.contact-reservation-callout .button:hover{background:#ded0b7;border-color:#ded0b7;}
.contact-reservation-callout .note{margin-top:14px;font-size:14px;line-height:1.6;}
.contact-reservation-help{margin:-4px 0 24px;padding:18px 20px;border-left:2px solid #c7ac7e;background:rgba(199,172,126,.07);}
.contact-reservation-help[hidden]{display:none!important;}
.contact-reservation-help p{font-size:15px;line-height:1.6;margin:0 0 10px;}
.contact-reservation-help .text-link{font-size:13px;}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

.social-links a.social-placeholder{display:inline-flex;align-items:center;justify-content:center;margin:0;text-decoration:none;}
.social-links a.social-salon{width:auto;gap:8px;padding:0 12px;}
.social-account-label{font-size:13px;letter-spacing:.03em;}
.social-links a:hover,.social-links a:focus-visible{color:#1c271f;background:#c7ac7e;}

.hero-page-links{display:flex;align-items:center;flex-wrap:wrap;gap:10px;}
.hero-page-links a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;}
.hero-page-links a:hover{text-decoration:underline;text-underline-offset:5px;}
.hero-page-links a:focus-visible{outline:2px solid #c7ac7e;outline-offset:4px;}
@media(max-width:700px){.hero-page-links{gap:8px;}}

.wine-update-notice{margin:0 0 36px;padding:22px 26px;border:1px solid #c7ac7e;border-left:4px solid #c7ac7e;background:rgba(199,172,126,.08);}
.wine-update-notice strong{display:block;color:#e4cba2;font-size:20px;margin-bottom:8px;}
.wine-update-notice p{font-size:16px;line-height:1.6;margin:0;max-width:800px;}

.events-brand-logo{width:110px!important;height:110px!important;object-fit:contain!important;margin-bottom:26px;}
.events-video-section video{display:block;width:100%;max-height:720px;background:#111;object-fit:contain;margin-top:32px;}
.events-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;}
.events-gallery img{width:100%;height:auto;}
.group-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:36px;}
.group-menu{border:1px solid #697266;padding:30px;}
.group-menu h3{font-family:Italiana,serif;font-size:38px;margin:0 0 12px;}
.group-menu-price{font-size:30px;color:#c7ac7e;margin:0;}
.group-menu-price small{font-size:14px;}
.group-menu details{margin:24px 0;}
.group-menu summary{cursor:pointer;min-height:44px;color:#c7ac7e;}
.group-menu h4{font-size:17px;margin-top:24px;}
.group-menu li{margin-bottom:8px;}
@media(max-width:700px){.group-menu-grid,.events-gallery{grid-template-columns:1fr;}.group-menu{padding:24px;}}

.events>img{object-position:center 42%;}

.hero-bottom .hero-page-links{position:static;display:flex;z-index:2;}

.cutlery-mark{display:inline-flex;align-items:center;justify-content:center;color:var(--gold,#c7ac7e);margin-top:32px;}
.cutlery-mark svg{display:block;width:72px;height:72px;}

.events-brand-lockup{display:inline-flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:30px;}
.events-brand-lockup .events-brand-logo{margin:0;width:104px!important;height:96px!important;}
.events-brand-lockup>span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#f0eee6;}

.legal-page{max-width:1100px;margin:auto;}
.legal-page h1{font-size:clamp(42px,6vw,76px);margin-bottom:32px;}
.legal-page h2{font-family:Jost,Arial,sans-serif;font-size:24px;line-height:1.4;margin:36px 0 14px;}
.legal-page p{margin-bottom:16px;line-height:1.8;}
.legal-page a{text-decoration:underline;text-underline-offset:4px;}
.legal-draft{border-left:2px solid #c7ac7e;padding:16px 20px;background:rgba(199,172,126,.07);}
.legal-updated{font-size:14px;margin-top:36px;}

.section.legal-page{width:100%;max-width:1100px;padding:64px clamp(24px,4vw,64px);margin-inline:auto;min-width:0;}
.legal-page>*{max-width:100%;overflow-wrap:break-word;}
.legal-page .eyebrow{max-width:none;}
@media(max-width:700px){.section.legal-page{padding-top:40px;padding-bottom:56px;}.legal-page h1{font-size:42px;}.legal-page h2{font-size:22px;}}

/* Keep navigation available while reading, including tablet dropdown. */
.header,.home .header{position:sticky;top:0;left:auto;right:auto;z-index:100;background:#1c271f;transition:background .2s,box-shadow .2s;}
.home .header{margin-bottom:-110px;background:transparent;}
.header.is-scrolled,.home .header.is-scrolled{background:rgba(28,39,31,.97);box-shadow:0 5px 22px #0003;}
.admin-bar .header,.home.admin-bar .header{top:32px;}
.back-to-top{position:fixed;right:24px;bottom:24px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;z-index:1000;color:#f0eee6;background:#1c271f;border:1px solid #c7ac7e;border-radius:50%;box-shadow:0 5px 20px #0003;cursor:pointer;}
.back-to-top[hidden]{display:none!important;}
.back-to-top:hover{background:#c7ac7e;color:#1c271f;}
.back-to-top svg{width:22px;height:22px;}
@media(max-width:1100px){.home .header{margin-bottom:-100px;}}
@media(max-width:782px){.admin-bar .header,.home.admin-bar .header{top:46px;}}
@media(max-width:700px){.home .header{margin-bottom:-90px;}.back-to-top{right:16px;bottom:16px;}}
@media(max-width:600px){.admin-bar .header.is-scrolled,.home.admin-bar .header.is-scrolled{top:0;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}.header{transition:none;}}

.cn-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}

.contact-form-section form .button:hover,.contact-form-section form .button:focus-visible,.reservation-page form .button:hover,.reservation-page form .button:focus-visible{background:#c7ac7e;color:#1c271f;border-color:#c7ac7e;}
.contact-form-section form .button span,.reservation-page form .button span{color:inherit;}

/* Editorial blog and article layouts. */
.cn-blog-heading{max-width:850px;margin-bottom:65px}.cn-blog-heading h1{font-size:clamp(48px,7vw,92px);margin-bottom:28px}.cn-blog-heading>p:last-child{max-width:600px}.cn-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}.cn-blog-card .cn-blog-photo{display:block;aspect-ratio:4/3;overflow:hidden;background:#27332a}.cn-blog-card .cn-blog-photo img{transition:transform .4s}.cn-blog-card .cn-blog-photo:hover img{transform:scale(1.03)}.cn-blog-card .eyebrow{margin:22px 0 14px;font-size:10px}.cn-blog-card h2{font-size:32px;margin-bottom:18px}.cn-blog-card>.text-link{margin-top:22px}.cn-blog-index nav{margin-top:40px}.cn-blog-index .page-numbers{margin-right:15px}.cn-article-header{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;align-items:center;border-bottom:1px solid var(--line)}.cn-article-header .text-link{margin-bottom:38px}.cn-article-header h1{font-size:clamp(42px,5vw,72px);margin-bottom:26px}.cn-article-header figure img{aspect-ratio:3/4;height:auto}.cn-article-body{width:100%;max-width:880px;margin:0 auto;padding:70px 28px}.cn-article-body p{font-size:18px;line-height:1.85;margin-bottom:25px}.cn-article-body .article-lead{font-size:22px;color:var(--cream)}.cn-article-body h2{font-size:clamp(32px,4vw,46px);margin:48px 0 22px}.cn-article-body figure{margin:45px 0}.cn-article-body figure img{height:auto}.cn-article-body figcaption{font-size:13px;color:var(--muted);margin-top:12px}.cn-article-cta{background:var(--cream);color:var(--green);padding:70px 24px;text-align:center}.cn-article-cta .eyebrow{color:#765538}.cn-article-cta>div{display:flex;gap:30px;justify-content:center;flex-wrap:wrap;margin-top:30px}.cn-article-cta .button,.cn-article-cta .text-link{color:#765538;border-color:#765538}.cn-article-cta .button:hover{background:#765538;color:var(--cream)}
@media(max-width:900px){.cn-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cn-article-header{gap:32px}.cn-article-header h1{font-size:42px}}@media(max-width:600px){.cn-blog-grid,.cn-article-header{grid-template-columns:1fr}.cn-article-header{padding-top:50px;padding-bottom:45px}.cn-article-header h1{font-size:42px}.cn-article-header figure img{aspect-ratio:4/3;object-position:center 65%}.cn-article-body{padding:45px 24px}.cn-article-body p{font-size:17px}.cn-article-body .article-lead{font-size:20px}}
