/* ── TOKENS ─────────────────────────────────────────────── */
:root {
  /* Un solo acento de marca: dorado. Verde solo en botones de WhatsApp. */
  --gold: #c4992e;
  --gold-l: #e0b84a;
  --gold-d: rgba(196,153,46,.12);
  /* Negros cálidos (tinte hacia el dorado), nunca #000 puro */
  --bg0: #0b0a08;
  --bg1: #0e0d0a;
  --bg2: #14120e;
  --t1: #f7f5f1;
  --t2: #cfcac0;
  --t3: #8f897c;
  --bdr: rgba(247,245,241,.08);
  --bdr-a: rgba(196,153,46,.38);
  --tr: .3s cubic-bezier(.4,0,.2,1);
  --r: 4px;
}

/* ── RESET ───────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  background: var(--bg0);
  color: var(--t1);
  line-height: 1.6;
  overflow-x: hidden;
}

/* ── TIPOGRAFÍA ──────────────────────────────────────────── */
/* Anton: condensada pesada, estilo señalización automotriz.
   Cuando llegue la fuente Tennis (la de los anuncios físicos),
   se reemplaza aquí con @font-face. */
.d {
  font-family: 'Anton', sans-serif;
  font-weight: 400;   /* Anton solo tiene un peso, ya es pesado */
  line-height: .96;
  text-transform: uppercase;
  letter-spacing: .015em;
}
.eyebrow {
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #ffffff;
}
/* Limitado por ancho (9vw) Y por alto (11vh): en portátiles de pantalla
   baja el título se reduce para no montarse sobre el menú */
h1.d { font-size: clamp(2.6rem, min(9vw, 11vh), 7.8rem); }
h2.d { font-size: clamp(2rem, 5vw, 4rem); }
.wrap { max-width: 1200px; margin: 0 auto; padding: 0 clamp(1.25rem,5vw,3rem); }

/* ── ANIMACIONES ─────────────────────────────────────────── */
@keyframes fadeUp { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:none} }
@keyframes popNum { 0%,100%{transform:scale(1)} 50%{transform:scale(1.07)} }

.rev { opacity:0; transform:translateY(32px); transition:opacity .7s ease,transform .7s ease; }
.rev.in { opacity:1; transform:none; }

@media (prefers-reduced-motion: reduce) {
  .rev { opacity:1; transform:none; transition:none; }
  * { animation-duration:.01ms !important; }
}

/* ══════════════════════════════════════════════════════════
   LOGO WATERMARK — fijo, aparece al scrollear pasado el hero
   El SVG original es 3383×6300 (ratio ~0.537 ancho/alto)
   ══════════════════════════════════════════════════════════ */
.logo-watermark {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* viewBox recortado al círculo del logo: ratio 1720/1470 ≈ 1.17 */
  height: min(88vh, 80vw);
  width: calc(min(88vh, 80vw) * 1.17);
  opacity: 0;
  z-index: 50;
  pointer-events: none;
}

/* ── NAVBAR ──────────────────────────────────────────────── */
.nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 200;
  padding: 1.2rem 0;
  transition: background var(--tr), padding var(--tr), box-shadow var(--tr);
}
.nav.s {
  background: rgba(0,0,0,.88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  padding: .7rem 0;
  box-shadow: 0 1px 0 var(--bdr);
}
.nav-i { display:flex; align-items:center; gap:1.5rem; }
.logo { display:flex; align-items:center; gap:.6rem; text-decoration:none; flex-shrink:0; }
.logo-n { font-family:'Anton',sans-serif; font-weight:400; font-size:1.1rem; letter-spacing:.05em; text-transform:uppercase; color:var(--t1); }
.logo-s { font-size:.58rem; letter-spacing:.1em; text-transform:uppercase; color:var(--t2); display:block; margin-top:1px; }
.nav-links { display:flex; align-items:center; gap:.15rem; list-style:none; margin-left:auto; }
.nav-links a { display:block; padding:.38rem .8rem; font-size:.8rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#ffffff; text-decoration:none; border-radius:var(--r); transition:color var(--tr),text-shadow var(--tr); text-shadow:0 1px 6px rgba(0,0,0,.8); }
.nav-links a:hover { color:#fff; text-shadow:0 0 12px rgba(255,255,255,.45); }
/* Nav WhatsApp: contenido (outline), el verde pleno queda para hero y contacto */
.nav-wa { display:flex; align-items:center; gap:.45rem; padding:.48rem 1rem; background:transparent; border:1px solid rgba(37,211,102,.55); color:#4be07f; border-radius:var(--r); font-size:.73rem; font-weight:700; letter-spacing:.06em; text-decoration:none; text-transform:uppercase; transition:background var(--tr),color var(--tr),border-color var(--tr); flex-shrink:0; }
.nav-wa:hover { background:#25d366; border-color:#25d366; color:#fff; }
.hbg { display:none; background:none; border:none; cursor:pointer; padding:.4rem; margin-left:auto; flex-direction:column; gap:5px; }
.hbg span { display:block; width:22px; height:2px; background:var(--t1); border-radius:2px; transition:var(--tr); }
@media(max-width:768px){
  .hbg{display:flex}
  .nav-links,.nav-wa{display:none}
  .nav-links.open{display:flex;flex-direction:column;position:fixed;inset:68px 0 0;background:rgba(0,0,0,.96);backdrop-filter:blur(12px);padding:2rem 1.5rem;gap:.4rem;z-index:200}
  .nav-links.open a{font-size:1rem;padding:.7rem 1rem}
  .nav-links.open .nav-wa{display:flex;justify-content:center;margin-top:.5rem;padding:.75rem 1rem;font-size:.9rem}
}

/* ── VIDEO DE FONDO DEL HERO — pantalla completa, fade por scroll ── */
.hero-video {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
  pointer-events: none;
  /* opacity la controla JS con el scroll */
  /* Enfoque + leve contraste para compensar la resolución del video */
  filter: url(#sharpen) contrast(1.06) saturate(1.05);
}

/* ── HERO LOGO — SVG nítido, aparece al terminar el video ── */
.hero-logo {
  position: fixed;
  top: 46%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.94);
  height: min(58vh, 70vw);
  width: calc(min(58vh, 70vw) * 1.17);
  opacity: 0;
  z-index: 0;
  pointer-events: none;
  transition: opacity 2s ease, transform 2.4s cubic-bezier(.16,1,.3,1);
  /* Glow de "logo iluminado" pero nítido (vector, no video) */
  filter:
    drop-shadow(0 0 18px rgba(255,255,255,.30))
    drop-shadow(0 0 70px rgba(255,255,255,.14));
}
.hero-logo.on {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
.hero-logo svg { width: 100%; height: 100%; display: block; }
.hero-logo-caption {
  display: block;
  margin-top: .4rem;
  text-align: center;
  font-family: 'Anton', sans-serif;
  font-size: clamp(1.1rem, 2.4vh, 1.6rem);
  letter-spacing: .45em;
  margin-right: -.45em;   /* compensa el letter-spacing del último carácter */
  text-transform: uppercase;
  color: #ffffff;
}

/* ── HERO OVERLAY — gradiente sutil para legibilidad del texto ── */
.hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.0) 0%,
    rgba(0,0,0,0.55) 100%
  );
  pointer-events: none;
}

/* ── HERO ─────────────────────────────────────────────────── */
.hero {
  position: relative;
  z-index: 5;
  min-height: 100vh;
  display: flex;
  align-items: flex-end;
  padding-top: 110px;   /* nunca montar el contenido bajo el navbar */
  padding-bottom: clamp(3rem,8vh,7rem);
  background: transparent;
}
.h-content { position:relative; z-index:2; max-width:860px; }
.h-ey { display:inline-flex; align-items:center; gap:.65rem; margin-bottom:1.5rem; opacity:0; animation:fadeUp .8s ease .2s forwards; }
.h-ey::before { content:''; display:block; width:26px; height:2px; background:var(--gold); border-radius:2px; }
.h-title { margin-bottom:1.5rem; opacity:0; animation:fadeUp .8s ease .4s forwards; }
.h-title .l1 { color:#fff; display:block; text-shadow: 0 2px 20px rgba(0,0,0,0.9), 0 4px 40px rgba(0,0,0,0.7); }
.h-title .l2 { color:#fff; display:block; text-shadow: 0 2px 20px rgba(0,0,0,0.9), 0 4px 40px rgba(0,0,0,0.7); }
.h-title .l3 { color:#fff; display:block; text-shadow: 0 2px 20px rgba(0,0,0,0.9), 0 4px 40px rgba(0,0,0,0.7); }
.h-sub { max-width:480px; font-size:clamp(.9rem,1.5vw,1.05rem); color:var(--t2); line-height:1.7; margin-bottom:2.5rem; opacity:0; animation:fadeUp .8s ease .6s forwards; text-shadow: 0 1px 8px rgba(0,0,0,0.95); }
.h-acts { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; opacity:0; animation:fadeUp .8s ease .8s forwards; }

.btn-p { display:inline-flex; align-items:center; gap:.5rem; padding:.82rem 1.65rem; background:#25d366; color:#fff; border-radius:var(--r); font-weight:700; font-size:.88rem; letter-spacing:.04em; text-decoration:none; text-transform:uppercase; transition:background var(--tr),transform var(--tr),box-shadow var(--tr); }
.btn-p:hover { background:#1fb358; transform:translateY(-2px); box-shadow:0 8px 24px rgba(37,211,102,.28); }
.btn-s { display:inline-flex; align-items:center; gap:.5rem; padding:.82rem 1.65rem; border:1px solid var(--bdr-a); color:var(--t1); border-radius:var(--r); font-weight:500; font-size:.88rem; letter-spacing:.04em; text-decoration:none; text-transform:uppercase; transition:border-color var(--tr),background var(--tr),transform var(--tr); }
.btn-s:hover { border-color:var(--gold); background:rgba(196,153,46,.12); transform:translateY(-2px); }

.h-badge {
  position:absolute; right:clamp(1.5rem,5vw,5rem); bottom:clamp(4rem,10vh,7rem);
  top:auto; transform:none;
  width:148px; height:148px; border-radius:50%;
  border:1.5px solid var(--gold);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; opacity:0; animation:fadeUp .9s ease 1s forwards;
  background:rgba(11,10,8,.72); backdrop-filter:blur(10px);
  box-shadow: 0 0 0 8px rgba(196,153,46,.06), 0 12px 40px rgba(0,0,0,.5);
}
.h-badge::before { content:''; position:absolute; inset:7px; border-radius:50%; border:1px dashed rgba(196,153,46,.35); }
.h-badge-n { font-family:'Anton',sans-serif; font-size:3.2rem; line-height:1; color:var(--gold-l); }
.h-badge-l { font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:var(--t2); margin-top:.3rem; }
@media(max-width:768px){ .h-badge{display:none} .hero{padding-top:100px;align-items:center} }
/* Pantallas bajas (portátiles): compactar espacios verticales del hero */
@media(max-height:760px){
  .h-title { margin-bottom:1rem; }
  .h-sub   { margin-bottom:1.5rem; }
  .h-ey    { margin-bottom:1rem; }
}

/* ── SECCIONES — negro sólido, tapan el video al scrollear ── */
/* z-index < 50 para que el logo watermark quede encima */
.sec, .stats, .ft, .rev-bg {
  position: relative;
  z-index: 10;
}
.sec { padding: clamp(4rem,8vw,7rem) 0; background: var(--bg0); }

.stats   { background: var(--bg1); border-top: 1px solid var(--bdr); border-bottom: 1px solid var(--bdr); }
.rev-bg  { background: var(--bg0);    border-top: 1px solid var(--bdr); }
.ft      { background: var(--bg0);    border-top: 1px solid var(--bdr); padding: 2.25rem 0; }

#servicios { background: var(--bg1); }
#galeria   { background: var(--bg0);    }
#historia  { background: var(--bg1); }
#resenas   { background: var(--bg0);    }
#contacto  { background: var(--bg1); }

/* ── STATS ───────────────────────────────────────────────── */
.stats-g { display:grid; grid-template-columns:repeat(4,1fr); }
.st { padding:clamp(1.5rem,3vw,2.5rem) clamp(1rem,2vw,2rem); display:flex; flex-direction:column; gap:.3rem; border-right:1px solid var(--bdr); position:relative; overflow:hidden; }
.st:last-child { border-right:none; }
.st::after { content:''; position:absolute; bottom:0; left:0; height:2px; width:0; background:var(--gold); transition:width 1.1s ease; }
.st.in::after { width:100%; }
.st-n { font-family:'Anton',sans-serif; font-weight:400; font-size:clamp(2rem,4vw,3rem); color:var(--gold); line-height:1; font-variant-numeric:tabular-nums; }
.st-l { font-size:.7rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--t2); }
@media(max-width:640px){ .stats-g{grid-template-columns:repeat(2,1fr)} .st:nth-child(2){border-right:none} .st:nth-child(1),.st:nth-child(2){border-bottom:1px solid var(--bdr)} }

/* ── SECCIÓN COMPARTIDA ──────────────────────────────────── */
.sh { margin-bottom:clamp(2.5rem,5vw,4rem); }
.sh .eyebrow { margin-bottom:.75rem; }
.sh p { max-width:540px; color:var(--t2); font-size:.97rem; margin-top:.75rem; line-height:1.7; }

/* ── SERVICIOS ───────────────────────────────────────────── */
.srv-g { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.5px; background:var(--bdr); border:1.5px solid var(--bdr); border-radius:6px; overflow:hidden; }
.srv { background:rgba(6,6,6,0.92); padding:clamp(1.75rem,3vw,2.75rem); display:flex; flex-direction:column; gap:1.2rem; position:relative; overflow:hidden; transition:background var(--tr); }
.srv::after { content:''; position:absolute; bottom:0; left:0; height:3px; width:0; background:linear-gradient(90deg,var(--gold),var(--gold)); transition:width .4s ease; }
.srv:hover { background:rgba(16,16,16,0.97); }
.srv:hover::after { width:100%; }
.srv-ico { width:50px; height:50px; border-radius:50%; background:var(--gold-d); display:flex; align-items:center; justify-content:center; border:1px solid rgba(196,153,46,.2); transition:background var(--tr),border-color var(--tr); }
.srv:hover .srv-ico { background:rgba(196,153,46,.24); border-color:rgba(196,153,46,.5); }
.srv-ico svg { width:23px; height:23px; stroke:var(--gold-l); fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.srv-t { font-family:'Anton',sans-serif; font-weight:400; font-size:1.35rem; letter-spacing:.04em; text-transform:uppercase; color:var(--t1); }
.srv-d { font-size:.87rem; color:var(--t2); line-height:1.65; flex:1; }
.srv-tag { display:inline-block; padding:.22rem .6rem; background:var(--gold-d); border:1px solid rgba(196,153,46,.18); border-radius:2px; font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:#ffffff; font-weight:600; }

/* ── GALERÍA ─────────────────────────────────────────────── */
/* Carrusel deslizante automático e infinito (movimiento controlado por JS) */
.gal-carousel {
  overflow: hidden;
  margin-top: 2.5rem;
  /* fade en los bordes laterales */
  -webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
  mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
}
.gal-track {
  display: flex;
  width: max-content;
  will-change: transform;
}
.gi {
  width: clamp(240px, 30vw, 420px);
  height: 260px;
  flex-shrink: 0;
  margin-right: 6px;   /* en lugar de gap: así -50% cae exacto y el loop no salta */
  background: rgba(20,20,20,0.88);
  border-radius: 3px;
  overflow: hidden;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-position: center;
}
.gi::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(196,153,46,.07),rgba(196,153,46,.04)); }
.gi-l { position:relative; z-index:1; font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--t3); font-weight:600; }
@media(max-width:768px){
  .gi { height: 180px; }
  .gal-track { animation-duration: 25s; }
}

/* ── HISTORIA ────────────────────────────────────────────── */
.hist-l { display:grid; grid-template-columns:1fr 360px; gap:clamp(3rem,6vw,6rem); align-items:start; }
.hist-c { display:flex; flex-direction:column; gap:2.5rem; }
.hb { display:flex; flex-direction:column; gap:.7rem; padding-left:1.5rem; border-left:2px solid var(--bdr); position:relative; }
.hb::before { content:''; position:absolute; left:-1px; top:0; width:2px; height:0; background:var(--gold); transition:height .85s ease; }
.hb.in::before { height:100%; }
.hb-t { font-family:'Anton',sans-serif; font-weight:400; font-size:1.05rem; text-transform:uppercase; letter-spacing:.07em; color:#ffffff; }
.hb p { font-size:.93rem; color:var(--t2); line-height:1.75; }
.aside { display:flex; flex-direction:column; gap:1px; background:var(--bdr); border:1px solid var(--bdr); border-radius:6px; overflow:hidden; position:sticky; top:96px; }
.ai { background:rgba(6,6,6,0.94); padding:1.15rem 1.4rem; display:flex; align-items:flex-start; gap:.9rem; opacity:0; transform:translateY(10px); transition:opacity .5s ease,transform .5s ease,background var(--tr); }
.ai:hover { background:rgba(16,16,16,0.98); }
.ai-ic { flex-shrink:0; margin-top:2px; width:20px; height:20px; }
.ai-ic svg { width:20px; height:20px; stroke:var(--gold); fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.ai strong { display:block; font-size:.77rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--t1); margin-bottom:.15rem; }
.ai span { font-size:.78rem; color:var(--t2); line-height:1.5; }
@media(max-width:900px){ .hist-l{grid-template-columns:1fr} .aside{position:static} }

/* ── RESEÑAS ─────────────────────────────────────────────── */
.rev-head { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; margin-bottom:3rem; flex-wrap:wrap; }
.rat-big { font-family:'Anton',sans-serif; font-weight:400; font-size:3.8rem; line-height:1; color:var(--t1); }
.rat-d { display:flex; flex-direction:column; gap:.3rem; }
.stars { color:#e0b84a; font-size:1.05rem; letter-spacing:.05em; }
.rat-s { font-size:.72rem; color:var(--t2); letter-spacing:.06em; text-transform:uppercase; }
.g-link { display:inline-flex; align-items:center; gap:.35rem; font-size:.75rem; font-weight:500; letter-spacing:.06em; text-transform:uppercase; color:#ffffff; text-decoration:none; border-bottom:1px solid rgba(196,153,46,.3); padding-bottom:1px; transition:color var(--tr),border-color var(--tr); }
.g-link:hover { color:var(--t1); border-color:var(--t1); }
.rc-wrap { overflow:hidden; }
.rc-track { display:flex; gap:1.25rem; transition:transform .5s cubic-bezier(.4,0,.2,1); will-change:transform; }
.rc { background:rgba(10,10,10,0.94); border:1px solid var(--bdr); border-radius:6px; padding:1.65rem; min-width:calc(33.333% - .85rem); display:flex; flex-direction:column; gap:1.2rem; flex-shrink:0; transition:border-color var(--tr),box-shadow var(--tr); }
.rc:hover { border-color:var(--bdr-a); box-shadow:0 0 28px rgba(196,153,46,.15); }
.rc-stars { color:#e0b84a; font-size:.82rem; letter-spacing:.05em; }
.rc-txt { font-size:.88rem; color:var(--t2); line-height:1.7; flex:1; }
.rc-auth { display:flex; align-items:center; gap:.7rem; }
.rc-av { width:34px; height:34px; border-radius:50%; background:var(--gold-d); border:1px solid rgba(196,153,46,.28); display:flex; align-items:center; justify-content:center; font-size:.72rem; font-weight:700; color:#ffffff; flex-shrink:0; }
.rc-nm { font-size:.83rem; font-weight:600; color:var(--t1); }
.rc-dt { font-size:.72rem; color:var(--t3); }
.rc-ctrls { display:flex; align-items:center; gap:.7rem; margin-top:1.75rem; }
.rc-btn { width:38px; height:38px; border-radius:50%; background:rgba(14,14,14,0.94); border:1px solid var(--bdr); color:var(--t1); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background var(--tr),border-color var(--tr); }
.rc-btn:hover { background:rgba(24,24,24,0.98); border-color:var(--bdr-a); }
.rc-btn svg { width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.rc-dots { display:flex; gap:5px; }
.dot { width:6px; height:6px; border-radius:50%; background:rgba(60,80,100,0.8); cursor:pointer; border:none; transition:background var(--tr),width var(--tr); }
.dot.on { background:var(--gold); width:20px; border-radius:3px; }
@media(max-width:900px){ .rc{min-width:calc(50% - .625rem)} }
@media(max-width:580px){ .rc{min-width:100%} .rev-head{flex-direction:column;align-items:flex-start} }

/* ── CONTACTO ────────────────────────────────────────────── */
.ct-l { display:grid; grid-template-columns:1fr 1fr; gap:clamp(3rem,6vw,5rem); align-items:start; }
.ct-info { display:flex; flex-direction:column; gap:2.25rem; }
.ct-det { display:flex; flex-direction:column; gap:.3rem; }
.ct-lbl { font-size:.65rem; letter-spacing:.15em; text-transform:uppercase; color:var(--t3); font-weight:600; }
.ct-val { font-size:1.05rem; font-weight:500; color:var(--t1); }
.ct-val a { color:inherit; text-decoration:none; transition:color var(--tr); }
.ct-val a:hover { color:#ffffff; }
.btn-wa { display:inline-flex; align-items:center; gap:.55rem; padding:.9rem 1.85rem; background:#25d366; color:#fff; border-radius:var(--r); font-weight:700; font-size:.95rem; letter-spacing:.04em; text-decoration:none; text-transform:uppercase; transition:background var(--tr),transform var(--tr),box-shadow var(--tr); width:fit-content; }
.btn-wa:hover { background:#1fb358; transform:translateY(-2px); box-shadow:0 12px 30px rgba(37,211,102,.28); }
.ct-aside { display:flex; flex-direction:column; gap:1.25rem; }
.map-wrap { border-radius:6px; overflow:hidden; border:1px solid var(--bdr); height:270px; background:rgba(14,14,14,0.92); }
/* Mapa integrado al tema oscuro: invertido + rotación de tono */
.map-wrap iframe { width:100%; height:100%; border:none; filter: invert(90%) hue-rotate(180deg) saturate(0.55) brightness(0.92); }
.hrs { background:rgba(6,6,6,0.94); border:1px solid var(--bdr); border-radius:6px; overflow:hidden; }
.hrs-h { padding:.7rem 1.2rem; background:rgba(14,14,14,0.94); border-bottom:1px solid var(--bdr); font-size:.65rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--t3); }
.hr-row { display:flex; justify-content:space-between; align-items:center; padding:.7rem 1.2rem; border-bottom:1px solid var(--bdr); font-size:.85rem; }
.hr-row:last-child { border-bottom:none; }
.hr-day { color:var(--t2); }
.hr-time { color:var(--t1); font-weight:500; }
.hr-closed { color:var(--t3); font-size:.75rem; font-style:italic; }
@media(max-width:768px){ .ct-l{grid-template-columns:1fr} }

/* ── FOOTER ──────────────────────────────────────────────── */
.ft-i { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.ft-br { display:flex; align-items:center; gap:.55rem; text-decoration:none; }
.ft-cp { font-size:.75rem; color:var(--t3); }
.ft-nav { display:flex; gap:1.25rem; list-style:none; }
.ft-nav a { font-size:.72rem; letter-spacing:.07em; text-transform:uppercase; color:var(--t3); text-decoration:none; transition:color var(--tr); }
.ft-nav a:hover { color:var(--t1); }

/* ── SCROLL TOP ──────────────────────────────────────────── */
.stt { position:fixed; bottom:1.75rem; right:1.75rem; width:42px; height:42px; background:var(--gold); border:none; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; opacity:0; transform:translateY(8px); transition:opacity var(--tr),transform var(--tr),background var(--tr); z-index:300; }
.stt.v { opacity:1; transform:none; }
.stt:hover { background:var(--gold-l); }
.stt svg { width:17px; height:17px; stroke:#fff; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
