:root{
  --tid-hz-dark:#17120d;
  --tid-hz-text:#2b2722;
  --tid-hz-muted:#6f665c;
  --tid-hz-brown:#765438;
  --tid-hz-brown-2:#b98955;
  --tid-hz-cream:#f7efe5;
  --tid-hz-soft:#fffaf4;
  --tid-hz-sage:#2f3a31;
  --tid-hz-border:rgba(118,84,56,.18);
  --tid-hz-shadow:0 26px 70px rgba(23,18,13,.12);
  --tid-hz-radius:30px;
}

body.tid-hz-site{background:var(--tid-hz-soft);color:var(--tid-hz-text);overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;}
body.tid-hz-site a{color:var(--tid-hz-brown);text-underline-offset:3px;}
body.tid-hz-site img{max-width:100%;height:auto;}

/* Accesibilidad */
.tid-skip-link{position:fixed;top:12px;left:12px;z-index:10001;transform:translateY(-140%);background:#fff;color:var(--tid-hz-dark)!important;border:2px solid var(--tid-hz-brown);border-radius:999px;padding:10px 16px;font-weight:800;text-decoration:none;box-shadow:0 12px 30px rgba(0,0,0,.2);transition:transform .2s ease;}
.tid-skip-link:focus{transform:translateY(0);}
.tid-hz-global-header a:focus-visible,.tid-hz-menu-toggle:focus-visible,.tid-hz-site a:focus-visible,.tid-hz-site button:focus-visible,.tid-hz-site input:focus-visible,.tid-hz-site select:focus-visible,.tid-hz-site textarea:focus-visible{outline:3px solid #f1c27d!important;outline-offset:3px!important;box-shadow:none!important;}

/* Header global */
.tid-hz-global-header{position:fixed;top:0;left:0;right:0;z-index:9999;background:linear-gradient(180deg,rgba(23,18,13,.72),rgba(23,18,13,.36));border-bottom:1px solid rgba(255,255,255,.14);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:background .28s ease,box-shadow .28s ease,border-color .28s ease;}
body.admin-bar .tid-hz-global-header{top:32px;}
.tid-hz-global-header.tid-scrolled{background:rgba(23,18,13,.96);border-color:rgba(255,255,255,.08);box-shadow:0 18px 45px rgba(0,0,0,.22);}
.tid-hz-header-inner{width:min(1180px,calc(100vw - 48px));margin:0 auto;padding:14px 0;display:flex;align-items:center;justify-content:space-between;gap:28px;}
.tid-hz-brand{display:inline-flex;align-items:center;gap:13px;color:#fff!important;text-decoration:none!important;min-width:max-content;}
.tid-hz-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.62);border-radius:50%;font-family:Georgia,serif;font-size:14px;letter-spacing:.09em;background:rgba(255,255,255,.1);line-height:1;color:#fff;}
.tid-hz-brand-text{display:flex;flex-direction:column;line-height:1.05;}
.tid-hz-brand-text strong{font-family:Georgia,serif;font-size:25px;font-weight:700;letter-spacing:.01em;color:#fff;}
.tid-hz-brand-text small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.74);margin-top:5px;font-weight:700;}
.tid-hz-main-menu{display:flex;align-items:center;justify-content:flex-end;gap:9px;}
.tid-hz-main-menu a{color:#fff!important;text-decoration:none!important;font-weight:800;font-size:14px;letter-spacing:.02em;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:12px 17px;line-height:1;transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease;}
.tid-hz-main-menu a:hover{background:#fff;color:var(--tid-hz-dark)!important;border-color:#fff;transform:translateY(-2px);}
.tid-hz-main-menu .tid-hz-menu-cta{background:var(--tid-hz-brown)!important;border-color:var(--tid-hz-brown)!important;color:#fff!important;box-shadow:0 12px 28px rgba(0,0,0,.22);}
.tid-hz-main-menu .tid-hz-menu-cta:hover{background:#fff!important;color:var(--tid-hz-dark)!important;border-color:#fff!important;}
.tid-hz-menu-toggle{display:none;width:46px;height:46px;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(255,255,255,.08);padding:0;cursor:pointer;}
.tid-hz-menu-toggle span{display:block;width:19px;height:2px;background:#fff;border-radius:999px;transition:transform .22s ease,opacity .22s ease;}
.tid-hz-menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.tid-hz-menu-toggle.is-open span:nth-child(2){opacity:0;}
.tid-hz-menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* Estructura Elementor */
.tid-hz-site .tid-section{position:relative;overflow:hidden;}
.tid-hz-site .tid-section:not(.elementor-section-full_width)>.elementor-container{width:min(1180px,calc(100vw - 48px));}
.tid-hz-site .tid-section.elementor-section-full_width>.elementor-container{width:min(1180px,calc(100vw - 48px));}
.tid-hz-site .tid-kit-section>.elementor-container{width:100%!important;max-width:none!important;}
.tid-hz-site .elementor-widget:not(:last-child){margin-bottom:18px;}

/* Hero */
.tid-hero{position:relative;overflow:hidden;isolation:isolate;}
.tid-hero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 35%,rgba(255,255,255,.14),transparent 32%),linear-gradient(90deg,rgba(23,18,13,.72),rgba(23,18,13,.38) 52%,rgba(23,18,13,.56));z-index:0;pointer-events:none;}
.tid-hero:after{content:'';position:absolute;inset:auto 0 0 0;height:28%;background:linear-gradient(to top,rgba(23,18,13,.92),transparent);pointer-events:none;z-index:1;}
.tid-hero>.elementor-container{position:relative;z-index:2;width:min(1180px,calc(100vw - 48px))!important;}
.tid-hero .elementor-widget-wrap{max-width:900px;align-content:center;}
.tid-hero .elementor-widget-button{display:inline-block;width:auto;margin-right:12px;margin-top:16px;}
.tid-eyebrow .elementor-heading-title{letter-spacing:.18em;text-transform:uppercase;font-size:13px!important;color:#f0c585!important;font-weight:900!important;}
.tid-hero-title .elementor-heading-title{font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(58px,8.8vw,118px)!important;line-height:.88!important;color:#fff!important;letter-spacing:-.055em;text-wrap:balance;text-shadow:0 16px 44px rgba(0,0,0,.34);}
.tid-hero-sub .elementor-widget-container{color:rgba(255,255,255,.92)!important;font-size:clamp(18px,1.6vw,21px);line-height:1.65;max-width:760px;}

/* Tipografía y botones */
.tid-section-title .elementor-heading-title{font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(38px,5vw,68px)!important;line-height:.98!important;color:var(--tid-hz-dark)!important;letter-spacing:-.045em;text-wrap:balance;}
.tid-section-title-light .elementor-heading-title{font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(38px,5vw,68px)!important;line-height:.98!important;color:#fff!important;letter-spacing:-.045em;text-wrap:balance;}
.tid-text .elementor-widget-container{font-size:clamp(16px,1.25vw,18px);line-height:1.78;color:var(--tid-hz-text);}
.tid-text .elementor-widget-container p,.tid-text-light .elementor-widget-container p{margin:0 0 16px;}
.tid-text-light .elementor-widget-container{font-size:clamp(16px,1.25vw,18px);line-height:1.78;color:rgba(255,255,255,.88);}
.tid-btn .elementor-button,.tid-contact-form button{border-radius:999px!important;padding:16px 26px!important;background:var(--tid-hz-brown)!important;color:#fff!important;font-weight:900!important;letter-spacing:.01em;box-shadow:0 18px 40px rgba(0,0,0,.18);border:1px solid var(--tid-hz-brown)!important;transition:transform .24s ease,box-shadow .24s ease,background .24s ease,color .24s ease!important;}
.tid-btn .elementor-button:hover,.tid-contact-form button:hover{transform:translateY(-3px);background:#fff!important;color:var(--tid-hz-dark)!important;box-shadow:0 24px 54px rgba(23,18,13,.18);}
.tid-btn-outline .elementor-button{border-radius:999px!important;padding:16px 26px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.58)!important;color:#fff!important;font-weight:900!important;transition:background .24s ease,color .24s ease,transform .24s ease!important;}
.tid-btn-outline .elementor-button:hover{background:#fff!important;color:var(--tid-hz-dark)!important;transform:translateY(-3px);}

/* Tarjetas, habitaciones e imágenes */
.tid-card{background:#fff;border-radius:var(--tid-hz-radius);box-shadow:var(--tid-hz-shadow);overflow:hidden;border:1px solid var(--tid-hz-border);transition:transform .34s ease,box-shadow .34s ease,border-color .34s ease;}
.tid-card:hover{transform:translateY(-8px);box-shadow:0 34px 90px rgba(23,18,13,.18);border-color:rgba(118,84,56,.28);}
.tid-card .elementor-widget-image{overflow:hidden;border-radius:24px;margin-bottom:20px;}
.tid-card .elementor-widget-image img,.tid-img-rounded img{border-radius:24px;object-fit:cover;aspect-ratio:4/3;width:100%;min-height:260px;transition:transform .55s ease,filter .55s ease;}
.tid-card:hover .elementor-widget-image img{transform:scale(1.045);filter:saturate(1.04) contrast(1.02);}
.tid-img-tall img{border-radius:30px;object-fit:cover;aspect-ratio:3/4;width:100%;min-height:520px;box-shadow:0 24px 68px rgba(23,18,13,.14);}
.tid-room-title .elementor-heading-title{font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(25px,2.2vw,32px)!important;line-height:1.08!important;color:var(--tid-hz-dark)!important;letter-spacing:-.03em;}
.tid-room-meta .elementor-heading-title{font-size:12px!important;text-transform:uppercase;letter-spacing:.13em;color:var(--tid-hz-brown)!important;font-weight:900!important;line-height:1.5!important;}

/* Icon boxes */
.tid-feature .elementor-icon-box-wrapper{padding:28px;border-radius:26px;background:#fff;box-shadow:0 18px 46px rgba(23,18,13,.08);height:100%;border:1px solid rgba(118,84,56,.11);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;}
.tid-feature .elementor-icon-box-wrapper:hover{transform:translateY(-6px);box-shadow:0 26px 70px rgba(23,18,13,.14);border-color:rgba(118,84,56,.24);}
.tid-feature .elementor-icon{color:var(--tid-hz-brown)!important;}
.tid-feature .elementor-icon-box-title{font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(22px,2vw,27px)!important;line-height:1.12!important;color:var(--tid-hz-dark)!important;margin-bottom:10px!important;}
.tid-feature .elementor-icon-box-description{font-size:16px!important;line-height:1.65!important;color:var(--tid-hz-muted)!important;}

/* Booking */
.tid-booking-box{margin-top:-72px;position:relative;z-index:20;background:#fff;border-radius:28px;box-shadow:0 32px 90px rgba(23,18,13,.2);padding:26px;border:1px solid rgba(118,84,56,.16);}
.tid-booking-box .tid-booking-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end;}
.tid-booking-box label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:var(--tid-hz-brown);margin-bottom:8px;}
.tid-booking-box input,.tid-booking-box select{width:100%;border:1px solid rgba(23,18,13,.16);border-radius:16px;padding:15px;background:#fff;color:var(--tid-hz-dark);min-height:52px;font-size:15px;}
.tid-booking-box a{display:flex;justify-content:center;align-items:center;border-radius:16px;padding:15px 18px;min-height:52px;background:var(--tid-hz-dark);color:#fff!important;text-decoration:none;font-weight:900;text-align:center;transition:transform .24s ease,background .24s ease;}
.tid-booking-box a:hover{transform:translateY(-2px);background:var(--tid-hz-brown);}

/* Contacto */
.tid-contact-form{display:grid;gap:16px;}
.tid-contact-form .tid-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.tid-contact-form label{font-weight:900;color:var(--tid-hz-dark);font-size:14px;line-height:1.4;}
.tid-contact-form input,.tid-contact-form textarea{width:100%;border:1px solid rgba(23,18,13,.16);background:#fff;border-radius:18px;padding:15px 16px;margin-top:8px;color:var(--tid-hz-dark);font-size:16px;}
.tid-contact-form textarea{min-height:154px;resize:vertical;}
.tid-contact-form button{border:0!important;cursor:pointer;width:max-content;}
.tid-honeypot{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important;}
.tid-alert{border-radius:18px;padding:15px 18px;margin-bottom:16px;font-weight:800;}
.tid-alert.ok{background:#e8f6ed;color:#155e2d}.tid-alert.error{background:#fff0f0;color:#8f1f1f}

/* Footer + banner */
.tid-footer{background:var(--tid-hz-dark)!important;color:#fff;}
.tid-footer>.elementor-container{width:min(1180px,calc(100vw - 48px))!important;}
.tid-footer .tid-section-title-light .elementor-heading-title{font-size:clamp(24px,3vw,36px)!important;letter-spacing:-.03em!important;}
.tid-footer .tid-text-light .elementor-widget-container{font-size:16px;line-height:1.75;color:rgba(255,255,255,.78);}
.tid-footer a{color:#fff!important;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.22);}
.tid-footer a:hover{border-color:#fff;}
.tid-kit-section{background:#fff!important;overflow:hidden!important;}
.tid-kit-banner .elementor-widget-container{line-height:0;}
.tid-kit-banner img{width:100%;height:auto!important;display:block;border-radius:0!important;object-fit:contain;background:#fff;}

/* Animaciones */
.tid-reveal{opacity:0;transform:translateY(34px);transition:opacity .78s ease,transform .78s ease;transition-delay:var(--tid-delay,0ms);}
.tid-reveal.tid-visible{opacity:1;transform:none;}
.tid-parallax{background-attachment:fixed;}

@media (max-width:1180px){
  .tid-hz-header-inner,.tid-hero>.elementor-container,.tid-hz-site .tid-section:not(.tid-kit-section)>.elementor-container{width:min(100% - 40px,1080px)!important;}
  .tid-card .elementor-widget-image img,.tid-img-rounded img{min-height:230px;}
  .tid-img-tall img{min-height:440px;}
}
@media (max-width:1024px){
  .tid-parallax{background-attachment:scroll;}
  .tid-hz-site .tid-card{width:50%!important;margin-bottom:22px;}
  .tid-hz-site .elementor-column:has(.tid-feature){width:50%!important;margin-bottom:20px;}
  .tid-booking-box .tid-booking-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .tid-hero .elementor-widget-wrap{max-width:780px;}
}
@media (max-width:900px){
  body.admin-bar .tid-hz-global-header{top:46px;}
  .tid-hz-header-inner{width:calc(100% - 32px)!important;padding:12px 0;gap:16px;}
  .tid-hz-brand-mark{width:42px;height:42px;}
  .tid-hz-brand-text strong{font-size:22px;}
  .tid-hz-brand-text small{font-size:10px;}
  .tid-hz-menu-toggle{display:flex;}
  .tid-hz-main-menu{position:absolute;left:16px;right:16px;top:calc(100% + 10px);display:grid;grid-template-columns:1fr;background:rgba(23,18,13,.98);padding:14px;border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.34);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .24s ease,visibility .24s ease,transform .24s ease;}
  .tid-hz-main-menu.is-open{opacity:1;visibility:visible;transform:none;}
  .tid-hz-main-menu a{text-align:center;padding:15px 16px;}
}
@media (max-width:767px){
  .tid-hz-site .elementor-column{width:100%!important;}
  .tid-hz-site .tid-section:not(.tid-kit-section)>.elementor-container,.tid-hero>.elementor-container{width:calc(100% - 32px)!important;}
  .tid-hero{min-height:76vh!important;}
  .tid-hero-title .elementor-heading-title{font-size:clamp(48px,16vw,66px)!important;line-height:.94!important;}
  .tid-hero-sub .elementor-widget-container{font-size:17px;line-height:1.62;}
  .tid-hero .elementor-widget-button{display:block;margin-right:0;width:100%;}
  .tid-hero .elementor-button,.tid-btn .elementor-button,.tid-btn-outline .elementor-button{width:100%;justify-content:center;}
  .tid-booking-box{margin-top:0;border-radius:24px;padding:20px;}
  .tid-booking-box .tid-booking-grid,.tid-contact-form .tid-row{grid-template-columns:1fr;}
  .tid-img-tall img,.tid-card .elementor-widget-image img,.tid-img-rounded img{min-height:260px;aspect-ratio:4/3;}
  .tid-section-title .elementor-heading-title,.tid-section-title-light .elementor-heading-title{font-size:clamp(34px,12vw,48px)!important;}
  .tid-feature .elementor-icon-box-wrapper{padding:23px;}
  .tid-card{border-radius:24px;}
  .tid-footer{text-align:left;}
  .tid-contact-form button{width:100%;}
}
@media (max-width:480px){
  .tid-hz-brand-mark{width:38px;height:38px;font-size:12px;}
  .tid-hz-brand-text small{display:none;}
  .tid-hz-brand-text strong{font-size:20px;}
  .tid-hz-main-menu{left:10px;right:10px;}
  .tid-booking-box{padding:18px;}
}
@media (prefers-reduced-motion:reduce){
  .tid-reveal{opacity:1!important;transform:none!important;transition:none!important;}
  .tid-card,.tid-feature .elementor-icon-box-wrapper,.tid-card img,.tid-hz-main-menu a,.tid-btn .elementor-button,.tid-btn-outline .elementor-button,.tid-contact-form button{transition:none!important;transform:none!important;}
  .tid-parallax{background-attachment:scroll!important;}
}
