/*
Theme Name: Tu Sitio en Forma - La Churrasca
Theme URI: https://tusitioenforma.com/
Author: Tu Sitio en Forma
Description: Demo WordPress de La Churrasca Zona Plateada basada en la plantilla maestra de Tu Sitio en Forma.
Version: 3.0
Text Domain: tsf-restaurante
*/
:root{
  --ink:#15333a;
  --navy:#16323a;
  --teal:#1d8392;
  --teal2:#126b78;
  --orange:#ef8f2f;
  --cream:#fbf7ef;
  --paper:#fffdf8;
  --sand:#f2eadf;
  --muted:#6f7675;
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
.site-header{position:relative;z-index:60;background:#0d0a08}
.nav-wrap{width:min(1180px,94%);margin:auto;min-height:110px;display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.brand{display:flex;align-items:center;overflow:visible;padding:10px 14px;background:rgba(255,253,248,.92);border:1px solid rgba(255,255,255,.65);border-radius:18px;box-shadow:0 10px 30px rgba(16,50,58,.14);backdrop-filter:blur(8px)}
.brand img,.brand .custom-logo{width:265px;max-height:150px;height:auto;object-fit:contain;object-position:left center;filter:none}
.nav{display:flex;gap:28px;align-items:center}
.nav a{color:#fff;text-decoration:none;font-weight:600;font-size:.93rem;transition:.2s}
.nav a:hover{color:#ffd296;transform:translateY(-1px)}
.nav-cta{border:1px solid rgba(255,255,255,.7);border-radius:999px;padding:11px 18px}
.menu-toggle{display:none;border:0;background:transparent;color:#fff;font-size:1.8rem}
.hero{height:100vh;min-height:690px;position:relative;display:flex;align-items:center;overflow:hidden;isolation:isolate}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3;filter:brightness(1.05) saturate(1.02)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,31,37,.42) 0%,rgba(10,31,37,.18) 32%,rgba(10,31,37,.03) 68%,rgba(10,31,37,0) 100%);z-index:-2}
.hero-copy{margin-left:max(26px,7vw);width:min(570px,88%);color:#fff;padding-top:60px}
.kicker,.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.19em;font-size:.78rem;font-weight:700;color:var(--orange)}
.eyebrow.light{color:#ffd19d}
h1,h2{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.03em;line-height:.98;margin:14px 0 24px}
h1{font-size:clamp(4.6rem,9vw,8.2rem)}
h2{font-size:clamp(3rem,5.8vw,5.4rem)}
.hero-copy p{font-size:1.2rem;line-height:1.7;max-width:590px;color:#edf4f4}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-block;text-decoration:none;border-radius:999px;padding:15px 22px;font-weight:700;transition:.25s}
.primary{background:var(--orange);color:#1f2b2e}
.primary:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(239,143,47,.28)}
.ghost{border:1px solid rgba(255,255,255,.75);color:#fff}
.ghost:hover{background:#fff;color:var(--navy)}
.scroll-cue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);width:28px;height:46px;border:1px solid rgba(255,255,255,.55);border-radius:999px}
.scroll-cue span{position:absolute;top:8px;left:50%;width:4px;height:4px;border-radius:50%;background:#fff;transform:translateX(-50%);animation:dot 1.5s infinite}
.hero-panel{position:absolute;right:max(30px,6vw);top:38%;transform:translateY(-50%);width:min(350px,27vw);background:rgba(251,247,239,.96);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.58);border-radius:26px;padding:24px 26px;box-shadow:0 20px 60px rgba(16,50,58,.15);color:var(--ink)}
.hero-panel h3{font-family:Georgia,"Times New Roman",serif;font-size:1.72rem;line-height:1.08;margin:8px 0 10px;color:var(--navy)}
.hero-panel p{margin:0 0 12px;color:#4f5f62;line-height:1.55;font-size:.92rem}
.panel-list{display:grid;gap:8px;margin:12px 0}
.panel-item{display:flex;gap:10px;align-items:flex-start;padding-top:10px;border-top:1px solid rgba(22,50,58,.12)}
.panel-icon{width:30px;height:30px;border-radius:999px;background:#fff;display:grid;place-items:center;font-size:.9rem;box-shadow:0 8px 18px rgba(16,50,58,.08);flex:none}
.panel-item strong{display:block;color:var(--navy);font-size:.9rem}
.panel-item span{display:block;margin-top:3px;color:#5f6b6e;font-size:.82rem;line-height:1.35}
.hero-panel .btn{width:100%;text-align:center;margin-top:6px}
@keyframes dot{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,18px)}}
.section{padding:110px max(22px,6vw)}
.intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center;background:var(--cream)}
.intro-copy p,.section-title p{font-size:1.08rem;line-height:1.8;color:var(--muted);max-width:650px}
.intro-copy blockquote{margin:30px 0 0;padding:20px 0 20px 22px;border-left:3px solid var(--orange);font-family:Georgia,serif;font-size:1.45rem;line-height:1.5;color:#29454b}
.intro-image img{width:100%;border-radius:28px;box-shadow:0 28px 80px rgba(16,50,58,.12)}
.section-title{max-width:820px;margin-bottom:54px}
.favorites{background:var(--paper)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 16px 55px rgba(16,50,58,.09);transition:.3s}
.card:hover{transform:translateY(-6px)}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.card-copy{padding:24px}
.card-copy h3{font-family:Georgia,serif;font-size:1.65rem;margin:0 0 10px}
.card-copy p{margin:0;color:var(--muted);line-height:1.65}
.menu-section{background:var(--navy);color:#fff;padding-bottom:105px}
.menu-head{padding-bottom:36px}
.menu-head p{max-width:720px;color:#c7d5d8;line-height:1.75}
.menu-wrap{width:min(1180px,88%);margin:auto}
.menu-group{padding:34px 0;border-top:1px solid rgba(255,255,255,.14)}
.menu-group-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px}
.menu-group-title h3{font-family:Georgia,serif;font-size:2rem;margin:0}
.menu-group-title span{color:#8fb2b9;font-size:.83rem;text-transform:uppercase;letter-spacing:.1em}
.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:0 44px}
.menu-item{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.09)}
.menu-item strong{display:block;font-size:1rem}
.menu-item small{display:block;margin-top:5px;color:#a9bdc1;line-height:1.5}
.menu-item b{color:#ffd09b;font-size:.95rem;white-space:nowrap}
.menu-note{margin-top:25px;color:#8fa7ac;font-size:.78rem;line-height:1.5}
.gallery-section{background:var(--cream)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:14px}
.gallery-item{border:0;padding:0;margin:0;cursor:pointer;overflow:hidden;border-radius:18px;background:#ddd;position:relative}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.45s}
.gallery-item:hover img{transform:scale(1.055)}
.gallery-item.tall{grid-row:span 2}
.gallery-item.wide{grid-column:span 2}
.gallery-item:after{content:"Ver foto";position:absolute;right:12px;bottom:12px;background:rgba(16,39,45,.78);color:#fff;border-radius:999px;padding:8px 11px;font-size:.73rem;font-weight:700;opacity:0;transform:translateY(5px);transition:.2s}
.gallery-item:hover:after{opacity:1;transform:none}
.visit{background:var(--teal2);color:#fff;padding:100px max(22px,6vw)}
.visit-inner{width:min(1250px,100%);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:8vw}
.address{font-size:1.08rem;line-height:1.7;max-width:520px;color:#e8f4f5}
.light-link{display:inline-block;margin-top:14px;color:#fff;font-weight:700;text-decoration:none}
.hours h3{font-family:Georgia,serif;font-size:2.1rem;margin:14px 0 24px}
.hours ul{list-style:none;margin:0;padding:0}
.hours li{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.22);padding:16px 0}
.contact-row{margin-top:24px;color:#cde6e9;font-size:.9rem}
.reserve{background:var(--paper)}
.reserve-card{width:min(1250px,100%);margin:auto;background:#fff;border:1px solid #e6ddd1;border-radius:28px;padding:48px;display:flex;align-items:center;justify-content:space-between;gap:40px;box-shadow:0 18px 60px rgba(24,55,62,.07)}
.reserve-card h2{font-size:clamp(2.6rem,5vw,4.4rem);margin-bottom:10px}
.reserve-card p{max-width:650px;color:var(--muted);line-height:1.7}
footer{background:#10272d;color:#d8e3e5;padding:58px max(22px,6vw) 20px}
.footer-main{width:min(1250px,100%);margin:auto;display:grid;grid-template-columns:1.7fr .7fr .7fr;gap:60px}
.footer-brand img{width:155px;margin-bottom:18px}
.footer-brand p{max-width:480px;color:#9fb5ba;line-height:1.7}
footer h4{color:#fff;margin:0 0 16px}
footer a{display:block;color:#a9bec2;text-decoration:none;margin:10px 0}
footer a:hover{color:#fff}
.footer-bottom{width:min(1250px,100%);margin:42px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:20px;color:#779398;font-size:.78rem}
.reveal,.reveal-right{opacity:0;transition:opacity .75s ease,transform .75s cubic-bezier(.2,.6,.2,1)}
.reveal{transform:translateY(28px)}
.reveal-right{transform:translateX(36px)}
.is-visible{opacity:1;transform:none}
.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}
.lightbox{position:fixed;inset:0;background:rgba(5,17,20,.95);z-index:999;display:none;align-items:center;justify-content:center;padding:60px 80px}
.lightbox.open{display:flex}
.lb-image{max-width:min(1180px,88vw);max-height:84vh;object-fit:contain;border-radius:16px}
.lb-close,.lb-prev,.lb-next{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:999px;cursor:pointer;backdrop-filter:blur(7px)}
.lb-close{right:24px;top:22px;width:46px;height:46px;font-size:2rem}
.lb-prev,.lb-next{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:2.5rem}
.lb-prev{left:22px}.lb-next{right:22px}
@media(max-width:950px){
  .menu-toggle{display:block}
  .nav{display:none;position:absolute;top:94px;left:3%;right:3%;background:rgba(16,39,45,.98);padding:22px;border-radius:18px;flex-direction:column;box-shadow:0 18px 50px rgba(0,0,0,.25)}
  .nav.open{display:flex}
  .brand img,.brand .custom-logo{width:205px;max-height:125px}
  .hero{min-height:640px}
  .intro{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr 1fr}
  .cards .card:first-child{grid-column:span 2}
  .menu-list{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:230px}
  .visit-inner,.footer-main{grid-template-columns:1fr}
  .reserve-card{flex-direction:column;align-items:flex-start}
  .hero-panel{position:static;transform:none;width:min(520px,88%);margin:20px auto 0;background:rgba(251,247,239,.95)}
  .hero{display:block;padding-top:130px;height:auto}
  .hero-copy{padding-top:260px;padding-bottom:30px}
}
@media(max-width:620px){
  .nav-wrap{min-height:88px}
  .brand img,.brand .custom-logo{width:170px;max-height:112px}
  .hero{height:auto;min-height:570px}
  .hero-copy{margin-left:22px;padding-top:220px}
  h1{font-size:clamp(3.8rem,17vw,5.2rem)}
  .section{padding:82px 20px}
  .cards{grid-template-columns:1fr}
  .cards .card:first-child{grid-column:auto}
  .gallery-grid{grid-template-columns:1fr;grid-auto-rows:260px}
  .gallery-item.tall{grid-row:auto}
  .gallery-item.wide{grid-column:auto}
  .visit{padding:80px 20px}
  .reserve-card{padding:32px 24px}
  .footer-bottom{flex-direction:column}
  .lightbox{padding:70px 14px}
  .lb-prev{left:7px}.lb-next{right:7px}
}
/* V7 light header + larger logo/menu + simplified gallery */
.site-header{position:relative!important;top:auto!important;left:auto!important;right:auto!important;background:#fbf7ef!important;border-bottom:1px solid rgba(21,51,58,.10)!important;padding:0!important}
.nav-wrap{width:min(1180px,94%)!important;min-height:136px!important;align-items:center!important;padding:14px 0!important}
.brand{display:flex!important;align-items:center!important;padding:0!important;background:transparent!important;border:0!important;overflow:visible!important;box-shadow:none!important;backdrop-filter:none!important}
.brand img,.brand .custom-logo,.custom-logo-link img{width:340px!important;max-width:340px!important;max-height:172px!important;height:auto!important;object-fit:contain!important;filter:none!important;background:transparent!important;border-radius:0!important;padding:0!important}
.nav{padding-top:0!important;gap:34px!important}
.site-header .nav a{color:#16323a!important;text-decoration:none!important;font-size:1.06rem!important;font-weight:700!important}
.site-header .nav a:hover{color:#c97727!important}
.site-header .nav-cta{background:#df8d4d!important;color:#16100c!important;border:0!important;padding:15px 24px!important;box-shadow:0 10px 24px rgba(223,141,77,.22)!important}
.menu-toggle{color:#16323a!important}
.hero{height:calc(100vh - 136px)!important;min-height:650px!important;position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
.hero-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 50%!important;z-index:-3!important;filter:brightness(1.07) saturate(1.03)!important}
.hero-shade{position:absolute!important;inset:0!important;background:linear-gradient(rgba(16,10,8,.34),rgba(16,10,8,.44))!important;z-index:-2!important}
.hero-copy{width:min(790px,88%)!important;margin:0 auto!important;text-align:center!important;color:#fff!important;padding:0!important}
.hero-copy h1{color:#fff!important;text-shadow:0 4px 22px rgba(0,0,0,.42)!important}
.hero-copy p{max-width:760px!important;margin:0 auto!important;color:#fff!important;font-weight:700!important;text-shadow:0 2px 16px rgba(0,0,0,.60),0 0 1px rgba(0,0,0,.85)!important;font-size:1.28rem!important;line-height:1.72!important}
.actions{justify-content:center!important}
.hero-panel{display:none!important}
.hero-pill,.hero .kicker{display:inline-block!important;padding:10px 16px!important;border-radius:999px!important;background:rgba(16,39,45,.58)!important;border:1px solid rgba(255,255,255,.28)!important;color:#fff!important;letter-spacing:.07em!important;text-transform:uppercase!important;font-size:.84rem!important;font-weight:800!important;backdrop-filter:blur(5px)!important;text-shadow:0 2px 10px rgba(0,0,0,.45),0 0 1px rgba(0,0,0,.75)!important;box-shadow:0 8px 24px rgba(0,0,0,.18)!important}
.ghost{background:rgba(255,255,255,.08)!important}
.ghost:hover{background:#fff!important;color:#16323a!important}
.gallery-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;grid-auto-rows:250px!important;gap:18px!important}
.gallery-item,.gallery-item.tall,.gallery-item.wide{grid-column:auto!important;grid-row:auto!important;border-radius:20px!important}
.gallery-item.gallery-hidden{display:none!important}
.gallery-item:after{opacity:1!important;transform:none!important}
@media(max-width:950px){
  .brand img,.brand .custom-logo,.custom-logo-link img{width:250px!important;max-width:250px!important;max-height:128px!important}
  .site-header{position:relative!important}
  .nav{top:118px!important;gap:22px!important}
  .site-header .nav a{font-size:1rem!important}
  .hero{height:70vh!important;min-height:590px!important}
  .gallery-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:620px){
  .brand img,.brand .custom-logo,.custom-logo-link img{width:205px!important;max-width:205px!important;max-height:106px!important}
  .nav-wrap{min-height:108px!important}
  .hero{height:68vh!important;min-height:560px!important}
  .hero-copy{padding:0 18px!important}
  .gallery-grid{grid-template-columns:1fr!important}
}


/* V9 refinements */
.intro-copy > .eyebrow,
.section-title > .eyebrow,
.menu-head > .eyebrow,
.visit-copy > .eyebrow,
.hours > .eyebrow,
.reserve-card .eyebrow,
.map-head > .eyebrow{
  font-size:1.05rem!important;
  letter-spacing:.14em!important;
  font-weight:800!important;
  line-height:1.25!important;
}
.hero-image{
  object-position:center 55%!important;
  filter:brightness(1.08) saturate(1.04)!important;
}
.hero-shade{
  background:linear-gradient(rgba(10,20,22,.38),rgba(10,20,22,.48))!important;
}
.hero-copy p{
  font-weight:800!important;
  text-shadow:
    -1px -1px 0 rgba(0,0,0,.32),
     1px -1px 0 rgba(0,0,0,.32),
    -1px  1px 0 rgba(0,0,0,.32),
     1px  1px 0 rgba(0,0,0,.32),
     0 3px 14px rgba(0,0,0,.58)!important;
}
.hero-copy h1{
  text-shadow:
    -1px -1px 0 rgba(0,0,0,.22),
     1px -1px 0 rgba(0,0,0,.22),
    -1px  1px 0 rgba(0,0,0,.22),
     1px  1px 0 rgba(0,0,0,.22),
     0 5px 24px rgba(0,0,0,.45)!important;
}
.map-section{background:#fffdf8;padding-bottom:100px}
.map-head{padding-bottom:36px}
.map-head p{max-width:690px;color:var(--muted);font-size:1.05rem;line-height:1.75}
.map-wrap{width:min(1250px,88%);margin:0 auto;border-radius:24px;overflow:hidden;box-shadow:0 20px 60px rgba(16,50,58,.12);border:1px solid rgba(21,51,58,.08)}
.map-wrap iframe{display:block;width:100%;height:460px}
@media(max-width:620px){
  .map-wrap{width:calc(100% - 40px);border-radius:18px}
  .map-wrap iframe{height:380px}
}


/* V10 refinements: larger section labels + smooth gallery transitions */
.intro-copy > .eyebrow,
.section-title > .eyebrow,
.menu-head > .eyebrow,
.visit-copy > .eyebrow,
.hours > .eyebrow,
.reserve-card .eyebrow,
.map-head > .eyebrow{
  font-size:1.22rem!important;
  letter-spacing:.13em!important;
  font-weight:800!important;
  line-height:1.25!important;
}

.lightbox{
  opacity:0;
  visibility:hidden;
  display:flex!important;
  pointer-events:none;
  transition:opacity .28s ease, visibility .28s ease;
}
.lightbox.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.lb-image{
  opacity:1;
  transform:scale(1);
  transition:opacity .24s ease, transform .24s ease;
}
.lb-image.is-changing{
  opacity:0;
  transform:scale(.985);
}


/* V11: compact sticky header + readable footer logo */
.site-header{
  position:sticky!important;
  top:0!important;
  z-index:90!important;
  transition:background .28s ease, box-shadow .28s ease;
}
.admin-bar .site-header{top:32px!important}
.site-header .nav-wrap{
  transition:min-height .28s ease, padding .28s ease;
}
.site-header .brand img,
.site-header .brand .custom-logo,
.site-header .custom-logo-link img{
  transition:width .28s ease, max-width .28s ease, max-height .28s ease;
}
.site-header .nav a{
  transition:font-size .28s ease, color .2s ease, transform .2s ease;
}
.site-header.is-compact{
  background:rgba(251,247,239,.97)!important;
  box-shadow:0 8px 28px rgba(18,48,55,.10)!important;
  backdrop-filter:blur(10px);
}
.site-header.is-compact .nav-wrap{
  min-height:88px!important;
  padding:6px 0!important;
}
.site-header.is-compact .brand img,
.site-header.is-compact .brand .custom-logo,
.site-header.is-compact .custom-logo-link img{
  width:225px!important;
  max-width:225px!important;
  max-height:98px!important;
}
.site-header.is-compact .nav a{
  font-size:.98rem!important;
}

.footer-brand > img,
.footer-brand .custom-logo-link{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  background:#f7efe3!important;
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  padding:12px 16px!important;
  margin-bottom:18px!important;
  box-shadow:0 10px 26px rgba(0,0,0,.12);
}
.footer-brand > img{
  width:190px!important;
  height:auto!important;
}
.footer-brand .custom-logo-link img,
.footer-brand .custom-logo{
  width:190px!important;
  max-width:190px!important;
  max-height:110px!important;
  height:auto!important;
  margin:0!important;
}
@media(max-width:782px){
  .admin-bar .site-header{top:46px!important}
}
@media(max-width:620px){
  .site-header.is-compact .nav-wrap{min-height:82px!important}
  .site-header.is-compact .brand img,
  .site-header.is-compact .brand .custom-logo,
  .site-header.is-compact .custom-logo-link img{
    width:165px!important;
    max-width:165px!important;
    max-height:82px!important;
  }
}


/* V12: mobile menu contrast */
@media(max-width:950px){
  .site-header .nav{
    background:rgba(16,39,45,.98)!important;
  }
  .site-header .nav a{
    color:#fff!important;
    font-size:1.05rem!important;
  }
  .site-header .nav a:hover{
    color:#ffd296!important;
  }
  .site-header .nav .nav-cta{
    background:#df8d4d!important;
    color:#16100c!important;
  }
}


/* V13: menú hamburguesa móvil de alto contraste */
@media(max-width:950px){
  .site-header .nav,
  .site-header.is-compact .nav{
    display:none;
    position:absolute!important;
    top:100%!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    margin:0!important;
    padding:14px 18px 20px!important;
    background:#16323a!important;
    border-radius:0 0 18px 18px!important;
    box-shadow:0 18px 38px rgba(0,0,0,.28)!important;
    flex-direction:column!important;
    gap:0!important;
    z-index:999!important;
  }

  .site-header .nav.open,
  .site-header.is-compact .nav.open{
    display:flex!important;
  }

  .site-header .nav a,
  .site-header.is-compact .nav a{
    display:block!important;
    width:100%!important;
    padding:15px 10px!important;
    margin:0!important;
    color:#ffffff!important;
    background:transparent!important;
    font-size:1.18rem!important;
    font-weight:700!important;
    line-height:1.25!important;
    text-align:center!important;
    opacity:1!important;
    text-shadow:none!important;
    border-bottom:1px solid rgba(255,255,255,.14)!important;
  }

  .site-header .nav a:hover,
  .site-header .nav a:focus,
  .site-header.is-compact .nav a:hover,
  .site-header.is-compact .nav a:focus{
    color:#ffffff!important;
    background:rgba(255,255,255,.08)!important;
  }

  .site-header .nav .nav-cta,
  .site-header.is-compact .nav .nav-cta{
    width:auto!important;
    min-width:210px!important;
    margin:14px auto 2px!important;
    padding:14px 24px!important;
    background:#df8d4d!important;
    color:#16100c!important;
    border:0!important;
    border-radius:999px!important;
    text-align:center!important;
    box-shadow:none!important;
  }

  .site-header .nav a:nth-last-child(2){
    border-bottom:0!important;
  }
}


/* V14: force pure white text in OPEN mobile hamburger menu only */
@media(max-width:950px){
  .site-header .nav.open > a:not(.nav-cta),
  .site-header.is-compact .nav.open > a:not(.nav-cta),
  .site-header .nav.open > a:not(.nav-cta):link,
  .site-header .nav.open > a:not(.nav-cta):visited,
  .site-header .nav.open > a:not(.nav-cta):hover,
  .site-header .nav.open > a:not(.nav-cta):active,
  .site-header .nav.open > a:not(.nav-cta):focus{
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
    opacity:1!important;
    text-shadow:0 1px 2px rgba(0,0,0,.25)!important;
  }
}


/* V15: mobile menu labels rendered independently in white */
@media(max-width:950px){
  .site-header .nav.open > a[data-mobile-label],
  .site-header.is-compact .nav.open > a[data-mobile-label]{
    font-size:0!important;
    color:transparent!important;
    -webkit-text-fill-color:transparent!important;
  }

  .site-header .nav.open > a[data-mobile-label]::after,
  .site-header.is-compact .nav.open > a[data-mobile-label]::after{
    content:attr(data-mobile-label)!important;
    display:block!important;
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
    font-size:1.18rem!important;
    font-weight:700!important;
    line-height:1.25!important;
    text-align:center!important;
    opacity:1!important;
    text-shadow:0 1px 2px rgba(0,0,0,.28)!important;
  }
}


/* V16: separate desktop/mobile menu labels */
.mobile-nav-label{
  display:none!important;
}

@media(max-width:950px){
  .site-header .nav.open > a:not(.nav-cta){
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
    font-size:1.18rem!important;
  }

  .site-header .nav.open .desktop-nav-label{
    display:none!important;
  }

  .site-header .nav.open .mobile-nav-label{
    display:block!important;
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
    opacity:1!important;
    visibility:visible!important;
    font-size:1.18rem!important;
    font-weight:700!important;
    line-height:1.25!important;
    text-align:center!important;
  }
}

@media(min-width:951px){
  .desktop-nav-label{
    display:inline!important;
  }
  .mobile-nav-label{
    display:none!important;
  }
}


/* V17: testimonial carousel */
.testimonials{background:#f7efe3}
.testimonial-carousel{
  position:relative;
  width:min(1250px,100%);
  margin:0 auto;
  padding:0 54px 34px;
}
.testimonial-viewport{overflow:hidden}
.testimonial-track{
  display:flex;
  gap:20px;
  transition:transform .48s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.testimonial-card{
  flex:0 0 calc((100% - 40px)/3);
  background:#fff;
  border:1px solid rgba(21,51,58,.08);
  border-radius:24px;
  padding:30px 28px;
  box-shadow:0 16px 42px rgba(16,50,58,.08);
  min-height:260px;
  display:flex;
  flex-direction:column;
}
.testimonial-stars{
  letter-spacing:.12em;
  color:#df8d4d;
  font-size:1rem;
  margin-bottom:18px;
}
.testimonial-card p{
  margin:0 0 24px;
  color:#4f5f62;
  line-height:1.75;
  font-size:1rem;
  flex:1;
}
.testimonial-card strong{color:#16323a;font-size:1rem}
.testimonial-card span{
  display:block;
  margin-top:5px;
  color:#879497;
  font-size:.84rem;
}
.testimonial-arrow{
  position:absolute;
  top:42%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  border:0;
  border-radius:999px;
  background:#16323a;
  color:#fff;
  font-size:1.75rem;
  line-height:1;
  cursor:pointer;
  z-index:2;
  box-shadow:0 10px 24px rgba(16,50,58,.16);
}
.testimonial-prev{left:0}
.testimonial-next{right:0}
.testimonial-arrow:hover{background:#126b78}
.testimonial-dots{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:24px;
}
.testimonial-dot{
  width:9px;
  height:9px;
  border:0;
  border-radius:999px;
  background:rgba(22,50,58,.22);
  padding:0;
  cursor:pointer;
}
.testimonial-dot.active{width:24px;background:#df8d4d}
@media(max-width:950px){
  .testimonial-card{flex-basis:calc((100% - 20px)/2)}
}
@media(max-width:620px){
  .testimonial-carousel{padding:0 0 34px}
  .testimonial-card{flex-basis:100%;min-height:235px}
  .testimonial-arrow{
    top:auto;
    bottom:-2px;
    transform:none;
    width:38px;
    height:38px;
  }
  .testimonial-prev{left:calc(50% - 70px)}
  .testimonial-next{right:calc(50% - 70px)}
  .testimonial-dots{margin-top:18px;padding-bottom:42px}
}


/* La Churrasca identity */
:root{
  --ink:#24201b;
  --navy:#171717;
  --teal:#a36a2a;
  --teal2:#8c5a24;
  --orange:#f4c400;
  --cream:#fff8d8;
  --paper:#fffdf4;
  --sand:#f2e5b6;
  --muted:#6b665e;
}
.site-header{background:#fff8d8!important;border-bottom-color:rgba(23,23,23,.10)!important}
.site-header.is-compact{background:rgba(255,248,216,.97)!important}
.site-header .nav a{color:#171717!important}
.site-header .nav a:hover{color:#8c5a24!important}
.site-header .nav-cta{background:#f4c400!important;color:#171717!important;box-shadow:0 10px 24px rgba(244,196,0,.20)!important}
.brand img,.brand .custom-logo,.custom-logo-link img{width:250px!important;max-width:250px!important;max-height:118px!important;object-fit:contain!important}
.hero-image{object-position:center 48%!important;filter:brightness(.86) saturate(1.04)!important}
.hero-shade{background:linear-gradient(rgba(18,12,6,.46),rgba(18,12,6,.58))!important}
.hero-pill,.hero .kicker{background:rgba(23,23,23,.62)!important;border-color:rgba(244,196,0,.40)!important;color:#fff!important}
.hero-copy h1{font-size:clamp(4.4rem,8.4vw,7.5rem)!important}
.primary{background:#f4c400!important;color:#171717!important}
.intro{background:#fff8d8!important}
.menu-section{background:#171717!important}
.menu-item b{color:#f4c400!important}
.gallery-section{background:#f6edcb!important}
.testimonials{background:#fff8d8!important}
.testimonial-stars{color:#d9a900!important}
.testimonial-dot.active{background:#f4c400!important}
.testimonial-arrow{background:#171717!important}
.visit{background:#8c5a24!important}
.map-section{background:#fffdf4!important}
footer{background:#171717!important}
.footer-brand > img,.footer-brand .custom-logo-link{background:#fff8d8!important}
.testimonial-card{flex:0 0 calc((100% - 20px)/2)!important}
@media(max-width:760px){.testimonial-card{flex-basis:100%!important}}
@media(max-width:950px){
  .site-header .nav,.site-header.is-compact .nav{background:#171717!important}
  .brand img,.brand .custom-logo,.custom-logo-link img{width:210px!important;max-width:210px!important;max-height:100px!important}
}
@media(max-width:620px){
  .brand img,.brand .custom-logo,.custom-logo-link img{width:180px!important;max-width:180px!important;max-height:90px!important}
  .hero-copy h1{font-size:clamp(3.4rem,15vw,4.7rem)!important}
}


/* La Churrasca v2 - tarjetas de valoración */
.testimonial-rating-card{
  justify-content:center;
}
.testimonial-rating-card .rating-big{
  font-family:Georgia,"Times New Roman",serif;
  font-size:2.4rem;
  font-weight:700;
  line-height:1;
  color:#171717;
  margin:6px 0 22px;
}
