
*, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body { margin: 0; background: #F7F0E6; color: #1A1512; -webkit-font-smoothing: antialiased; overflow-x: clip; }
  a { color: #0B4023; text-decoration: none; }
  a:hover { color: #B4121B; }
  button, input, textarea, select { font: inherit; color: inherit; }
  ::selection { background: #0B4023; color: #F7F0E6; }
  @keyframes rise { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: none; } }
  @keyframes riseSm { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
  @keyframes wipe { from { clip-path: inset(-40% 0 105% 0); transform: translateY(14px); } to { clip-path: inset(-40% 0 -25% 0); transform: none; } }
  @keyframes wipeIn { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 -2% 0 0); } }
  @keyframes fade { from { opacity: 0; } to { opacity: 1; } }
  @keyframes drift { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  @keyframes driftBack { from { transform: translateX(-50%); } to { transform: translateX(0); } }
  @keyframes steam { 0% { opacity: 0; transform: translateY(10px) scaleX(.8); } 25% { opacity: .5; } 100% { opacity: 0; transform: translateY(-130px) scaleX(1.6); } }
  @keyframes floaty { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-14px) rotate(-1.2deg); } }
  @keyframes drawArc { from { stroke-dashoffset: 1200; } to { stroke-dashoffset: 0; } }
  @keyframes beat { 0%, 100% { transform: scale(1); } 14% { transform: scale(1.25); } 28% { transform: scale(1); } 42% { transform: scale(1.18); } }
  @keyframes grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
  @keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  }

/* Adaptacion fiel del motor .dc a HTML estandar para Elementor. */
.adt-elementor, .adt-elementor * { box-sizing: border-box; }
.adt-elementor { position: relative; font-family: 'Jost', system-ui, sans-serif; font-weight: 300; background: #F7F0E6; color: #1A1512; -webkit-font-smoothing: antialiased; }
.adt-elementor img { max-width: 100%; }
.adt-elementor button, .adt-elementor input, .adt-elementor textarea, .adt-elementor select { font: inherit; }
.adt-only-narrow { display: none !important; }
.adt-only-wide { display: block !important; }
.adt-success-view[hidden], .adt-form-view[hidden] { display: none !important; }
.adt-header-host { height: 0; z-index: 900; background: transparent; }
.adt-index-label { display: block; }
.adt-cat-link {
  display: block; padding: 7px 0; font-size: 12.5px; letter-spacing: .14em;
  text-transform: uppercase; color: #6B6259 !important; border-left: 1px solid transparent;
  transition: all .45s cubic-bezier(.16,1,.3,1);
}
.adt-cat-link.is-active { padding-left: 14px; color: #B4121B !important; border-left-color: #B4121B; }
@media (max-width: 899.98px) {
  .adt-only-narrow { display: block !important; }
  .adt-only-wide { display: none !important; }
  [data-adt-hero-grid] { grid-template-columns: minmax(0,1fr) !important; gap: 28px !important; align-items: start !important; }
  [data-adt-hero-logo] { min-height: 220px !important; }
  [data-adt-carta-grid] { grid-template-columns: minmax(0,1fr) !important; gap: 22px !important; }
  [data-adt-carta-aside] {
    position: sticky !important; top: 66px !important; z-index: 400 !important; display: block !important;
    padding: 12px clamp(20px,5vw,72px) !important; background: rgba(247,240,230,.94) !important;
    backdrop-filter: blur(10px); margin: 0 calc(-1 * clamp(20px,5vw,72px)) !important;
    border-bottom: 1px solid rgba(11,64,35,.12);
  }
  [data-adt-carta-index] { display: flex !important; gap: 8px !important; overflow-x: auto; padding: 4px 0 2px !important; scrollbar-width: none; }
  [data-adt-carta-index]::-webkit-scrollbar { display: none; }
  .adt-index-label { display: none !important; }
  .adt-cat-link {
    display: inline-block; white-space: nowrap; padding: 9px 14px; border-radius: 999px;
    font-size: 11.5px; letter-spacing: .12em; border: 1px solid rgba(11,64,35,.22);
    color: #6B6259 !important; background: transparent; transition: all .4s;
  }
  .adt-cat-link.is-active { padding-left: 14px; border-color: #B4121B; color: #B4121B !important; background: rgba(180,18,27,.06); }
}
@media (max-width: 619.98px) {
  .adt-elementor main[style*="padding: 140px"] { padding-left: 20px !important; padding-right: 20px !important; }
}



html { background: #F7F0E6; }
body { min-width: 320px; }
.adt-page-shell { min-height: 100vh; background: #F7F0E6; }
.adt-elementor main { display: block; }
.adt-reserve-card { background:#FCF7EF; border:1px solid rgba(11,64,35,.16); overflow:hidden; animation:rise 1s .2s both; box-shadow:0 28px 54px rgba(11,64,35,.10); }
.adt-reserve-photo { position:relative; aspect-ratio:16/8.5; overflow:hidden; background:#0B4023; }
.adt-reserve-photo img { width:100%; height:100%; object-fit:cover; filter:saturate(.9) contrast(1.03); }
.adt-reserve-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(11,64,35,.58)); }
.adt-reserve-body { padding:clamp(25px,3.5vw,46px); }
.adt-reserve-body h2 { margin:14px 0 0; font-family:'Cormorant Garamond',serif; font-weight:300; font-size:clamp(34px,4.2vw,58px); line-height:1.02; color:#0B4023; }
.adt-reserve-body p { margin:18px 0 0; font-size:15px; line-height:1.8; color:#4A423A; }
.adt-reserve-actions { display:grid; gap:12px; margin-top:28px; }
.adt-reserve-actions a { justify-content:center; text-align:center; }
.adt-reserve-actions svg { width:24px; height:24px; flex:none; }
.adt-reserve-note { display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:start; margin-top:24px; padding-top:22px; border-top:1px solid rgba(11,64,35,.14); font-size:12.5px; line-height:1.65; color:#6B6259; }
.adt-reserve-note i { width:8px; height:8px; margin-top:6px; border-radius:50%; background:#1E7A3E; animation:blink 2.4s ease-in-out infinite; }
.adt-whatsapp-float { position:fixed; right:clamp(14px,2.2vw,28px); bottom:clamp(14px,2.2vw,28px); z-index:980; display:flex; align-items:center; gap:12px; padding:10px 16px 10px 10px; border-radius:999px; background:#25D366 !important; color:#082C17 !important; box-shadow:0 14px 36px rgba(0,0,0,.28); font-family:'Jost',sans-serif; text-decoration:none !important; transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s; }
.adt-whatsapp-float:hover,.adt-whatsapp-float:focus { color:#082C17 !important; transform:translateY(-4px); box-shadow:0 20px 44px rgba(0,0,0,.34); }
.adt-whatsapp-float svg { width:34px; height:34px; flex:none; }
.adt-whatsapp-float span { display:grid; font-size:11px; line-height:1.15; letter-spacing:.04em; }
.adt-whatsapp-float strong { font-size:12px; font-weight:600; }
.adt-cookie-banner { position:fixed; left:16px; bottom:16px; z-index:10020; width:min(620px,calc(100vw - 32px)); padding:22px; background:#14100E; color:#F0EAE0; border:1px solid rgba(240,234,224,.18); box-shadow:0 24px 70px rgba(0,0,0,.42); font-family:'Jost',sans-serif; }
.adt-cookie-banner[hidden] { display:none !important; }
.adt-cookie-banner h2 { margin:0; font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:400; color:#F0EAE0; }
.adt-cookie-banner p { margin:10px 0 0; max-width:58ch; font-size:13px; line-height:1.65; color:rgba(240,234,224,.76); }
.adt-cookie-banner p a { color:#E9C46A; text-decoration:underline; text-underline-offset:3px; }
.adt-cookie-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:18px; }
.adt-cookie-actions button { min-height:46px; border:1px solid rgba(240,234,224,.52); padding:10px 16px; border-radius:999px; cursor:pointer; font-size:11px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; }
.adt-cookie-accept { background:#F0EAE0; color:#14100E; }
.adt-cookie-reject { background:transparent; color:#F0EAE0; }
.adt-cookie-link { appearance:none; width:max-content; padding:0; border:0; border-bottom:1px solid rgba(240,234,224,.3); background:transparent; color:rgba(240,234,224,.8); font:inherit; cursor:pointer; text-align:left; }
.adt-cookie-link:hover,.adt-cookie-link:focus { color:#E9C46A; }
.adt-policy-button { display:inline-flex; margin-top:8px; padding:12px 20px; border:1px solid rgba(11,64,35,.35); border-radius:999px; background:transparent; color:#0B4023; cursor:pointer; font-size:11px; letter-spacing:.16em; text-transform:uppercase; }
.adt-not-found { min-height:75vh; display:grid; place-items:center; padding:140px 20px 80px; text-align:center; }
.adt-not-found strong { display:block; font-family:'Cormorant Garamond',serif; font-size:clamp(86px,18vw,240px); font-weight:300; line-height:.75; color:rgba(11,64,35,.13); }
.adt-not-found h1 { margin:-12px 0 0; font-family:'Cormorant Garamond',serif; font-size:clamp(38px,6vw,78px); font-weight:300; color:#0B4023; }
.adt-not-found p { margin:18px auto 28px; max-width:44ch; line-height:1.75; color:#4A423A; }
/* Cinta del inicio: JS completa las copias necesarias para que nunca aparezcan huecos. */
#adt-inicio > main > section:first-of-type > div:last-child > div {
  animation:none !important;
  will-change:transform;
  backface-visibility:hidden;
}
#adt-inicio > main > section:first-of-type > div:last-child > div > span { flex:0 0 auto !important; }
#adt-inicio > main > section:first-of-type > div:last-child > div.adt-ticker-ready {
  animation:adt-ticker-seamless 34s linear infinite !important;
}
@keyframes adt-ticker-seamless {
  from { transform:translate3d(0,0,0); }
  to { transform:translate3d(calc(-1 * var(--adt-ticker-distance)),0,0); }
}
/* Se conserva la sección de especialidades para reactivarla cuando haya fotografías. */
#adt-inicio > main > section:nth-of-type(3) { display:none !important; }
@media (max-width:620px) {
  .adt-whatsapp-float { padding:10px; }
  .adt-whatsapp-float span { display:none; }
  .adt-cookie-banner { left:10px; bottom:10px; width:calc(100vw - 20px); padding:19px; }
  .adt-cookie-actions { grid-template-columns:1fr; }
  body.adt-cookie-open .adt-whatsapp-float { bottom:330px; }
}
