.elementor-kit-5995{--e-global-color-primary:#000000;--e-global-color-secondary:#1B263B;--e-global-color-text:#000000;--e-global-color-accent:#FFFFFF;--e-global-color-3e25106e:#111111;--e-global-color-6194dd9:#1B263B;--e-global-color-7981c676:#415A77;--e-global-color-37865f7f:#778DA9;--e-global-color-2902c71f:#E0E1DD;--e-global-color-83a22cb:#FFFFFF;--e-global-color-651bd03:#00218A;--e-global-color-d76d048:#000000;--e-global-color-b4f6d20:#FFECE1;--e-global-color-c940a6e:#535FEA;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-weight:900;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-size:32px;--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-size:20px;--e-global-typography-text-font-weight:600;--e-global-typography-accent-font-family:"Poppins";--e-global-typography-accent-font-size:18px;--e-global-typography-accent-font-weight:800;--e-global-typography-bf02e41-font-size:24px;--e-global-typography-bf02e41-font-weight:600;--e-global-typography-5ca3ddd-font-family:"Helvetica Neue";--e-global-typography-5ca3ddd-font-weight:400;font-family:"Poppins", Sans-serif;font-size:20px;font-weight:300;}.elementor-kit-5995 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5995 a{color:var( --e-global-color-7981c676 );font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-kit-5995 a:hover{color:var( --e-global-color-secondary );}.elementor-kit-5995 h1{color:var( --e-global-color-3e25106e );font-family:"Poppins", Sans-serif;font-size:57px;font-weight:900;}.elementor-kit-5995 h2{color:var( --e-global-color-3e25106e );font-family:"Poppins", Sans-serif;font-weight:800;}.elementor-kit-5995 h3{font-family:"Poppins", Sans-serif;font-weight:700;}.elementor-kit-5995 h5{color:var( --e-global-color-7981c676 );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1920px;}.e-con{--container-max-width:1920px;--container-default-padding-top:0px;--container-default-padding-right:40px;--container-default-padding-bottom:0px;--container-default-padding-left:40px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1760px){.e-con{--container-default-padding-top:0px;--container-default-padding-right:30px;--container-default-padding-bottom:0px;--container-default-padding-left:30px;}}@media(max-width:1300px){.elementor-kit-5995{font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:600px){.elementor-kit-5995{--e-global-typography-text-font-size:18px;font-size:18px;}.elementor-kit-5995 h1{font-size:50px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:60rem;}.e-con{--container-max-width:60rem;--container-default-padding-top:0px;--container-default-padding-right:15px;--container-default-padding-bottom:0px;--container-default-padding-left:15px;}}
/* Start custom CSS *//* =========================
   TOKENS
========================= */
:root {
  --light:  #F8F8F7;
  --dark:   #1A1A19;
  --accent: #00218A;
  --warm:   #D6C3A3;
  --gray:   #A6A6A6;
  --soft:   #F0F0EF;
  --hero-overlay:
    linear-gradient(180deg, rgba(0,0,0,0) 55.9%, rgba(0,0,0,.35) 100%),
    linear-gradient(180deg, rgba(0,33,138,.25) -23.46%, rgba(0,33,138,0) 100%);
}

/* =========================
   BASE
========================= */
html, body { overflow-x: hidden; }
body { background-color: var(--light) !important; color: var(--dark) !important; }
body a:not([class*="button"]) { color: var(--accent); }
body p, body span, body li { color: inherit; }

/* =========================
   HEBREW / RTL
========================= */
body.custom-hebrew-page { direction: rtl; }
body.custom-hebrew-page h1, body.custom-hebrew-page h2, body.custom-hebrew-page h3,
body.custom-hebrew-page h4, body.custom-hebrew-page h5, body.custom-hebrew-page h6,
body.custom-hebrew-page [class*="heading-title"], body.custom-hebrew-page p,
body.custom-hebrew-page [class*="button"], body.custom-hebrew-page input,
body.custom-hebrew-page textarea, body.custom-hebrew-page button,
body.custom-hebrew-page li, body.custom-hebrew-page label {
  font-family: "Ploni", sans-serif !important;
}
body.custom-hebrew-page input,
body.custom-hebrew-page textarea { direction: rtl; }

/* =========================
   SECTION BACKGROUNDS
   ts = required on every section
========================= */
.ts, .ts.e-con, .ts.elementor-element {
  background-color: var(--section-bg, transparent) !important;
}

/* Light sections */
.ts.s-breadcrumbs,
.ts.s-opening,
.ts.s-cta,
.ts.s-info-map,
.ts.s-hotels,
.ts.s-comparison { --section-bg: var(--light); }

/* Dark sections */
.ts.faq,
.ts.s-cities,
.ts.s-steps      { --section-bg: var(--dark); }

/* Hero */
.ts.s-hero { --section-bg: transparent; }
.ts.s-hero::before { background: var(--hero-overlay) !important; opacity: 1 !important; }

/* Fix: inner carousel bg must match parent */
.ts.s-hotels .hotel-carousel,
.ts.s-hotels .hotel-carousel.e-con { background-color: var(--light) !important; }

/* =========================
   SECTION PADDING
   Change here → updates all pages at once
========================= */
.ts.s-breadcrumbs  { padding-top: 20px  !important; padding-bottom: 20px  !important; }
.ts.s-opening      { padding-top: 50px  !important; padding-bottom: 20px  !important; }
.ts.s-cta          { padding-top: 0px   !important; padding-bottom: 100px !important; }
.ts.s-info-map {
  padding-top: 100px !important;
  padding-right: 150px !important;
  padding-bottom: 100px !important;
  padding-left: 150px !important;
}
.ts.s-info-map .two-boxes-map { gap: 32px !important; }
.ts.s-opening p { font-size: 15px !important; }

.ts.s-hotels       { padding-top: 100px !important; padding-bottom: 100px !important; }
.ts.faq            { padding-top: 100px !important; padding-bottom: 100px !important; padding-left: 200px !important; padding-right: 200px !important; }
.ts.s-cities       { padding-top: 100px !important; padding-bottom: 100px !important; }
.ts.s-comparison   { padding-top: 100px !important; padding-bottom: 100px !important; padding-left: 200px !important; padding-right: 200px !important; }
.ts.s-steps        { padding-top: 100px !important; padding-bottom: 100px !important; }
.ts.s-contact      { padding-top: 100px !important; padding-bottom: 100px !important; }
.ts.hotel-carousel { padding-top: 100px !important; padding-bottom: 30px !important; }
.ts.hotel-carousel-section { padding-bottom: 100px !important; }

/* =========================
   HEADLINES — global defaults
========================= */
.ts h1, .ts h2, .ts h3,
.ts [class*="heading-title"], .ts [class*="e-n-heading"] {
  font-size: 36px !important; line-height: 1.1 !important;
  text-align: center !important; font-weight: 800 !important;
  margin: 0 !important; text-transform: none !important;
  padding-bottom: 30px;
}

/* Hero */
.ts.s-hero h1, .ts.s-hero h2, .ts.s-hero h3,
.ts.s-hero [class*="heading-title"] {
  font-size: clamp(40px, 6vw, 80px) !important;
  color: var(--light) !important;
}

/* Breadcrumbs */
.ts.s-breadcrumbs, .ts.s-breadcrumbs * { color: var(--gray) !important; }
.ts.s-breadcrumbs [class*="heading-title"],
.ts.s-breadcrumbs a, .ts.s-breadcrumbs span, .ts.s-breadcrumbs p {
  font-size: 13px !important; font-weight: 400 !important;
  text-align: left !important; color: var(--gray) !important;
  text-transform: none !important; line-height: 1.4 !important;
}

/* Light sections — dark headlines */
.ts.s-opening    [class*="heading-title"],
.ts.s-cta        [class*="heading-title"],
.ts.s-info-map   [class*="heading-title"],
.ts.s-hotels     [class*="heading-title"],
.ts.s-comparison [class*="heading-title"] { color: var(--dark) !important; }

.ts.s-cities  [class*="heading-title"], .ts.s-cities  h1, .ts.s-cities  h2, .ts.s-cities  h3,
.ts.s-steps   [class*="heading-title"], .ts.s-steps   h1, .ts.s-steps   h2, .ts.s-steps   h3,
.ts.s-contact [class*="heading-title"], .ts.s-contact h1, .ts.s-contact h2, .ts.s-contact h3
{ color: var(--light) !important; }

/* Section-specific headline spacing */
.ts.s-info-map [class*="heading-title"] { padding-top: 50px !important; padding-bottom: 20px !important; }
.ts.s-hotels   [class*="heading-title"] { padding-top: 50px !important; padding-bottom: 20px !important; }
.ts.faq        [class*="heading-title"] { padding-bottom: 20px !important; }
.ts.s-cities   [class*="heading-title"] { padding-top: 50px !important; padding-bottom: 20px !important; }
.ts.faq [class*="heading-title"],
.ts.faq h1, .ts.faq h2, .ts.faq h3 {
  color: var(--faq-heading-color) !important;
  text-align: center !important;
}

/* =========================
   TEXT ROLES
========================= */
.ts .kicker-dark  [class*="heading-title"] { color: var(--dark)  !important; }
.ts .kicker-light [class*="heading-title"] { color: var(--warm)  !important; }
.ts .kicker-gray,
.ts .kicker-gray  [class*="heading-title"] {
  color: var(--gray) !important; text-align: center !important; font-size: 10px !important;
}
.ts .kicker-first,
.ts .kicker-first [class*="heading-title"] {
  color: var(--dark) !important; text-align: center !important;
  font-size: 12px !important; text-transform: uppercase !important;
}
.ts .text-dark, .ts .text-dark p, .ts .text-dark li,
.ts .text-dark span, .ts .text-dark strong { color: var(--gray) !important; text-align: center !important; }
.ts .text-light, .ts .text-light p, .ts .text-light li,
.ts .text-light span, .ts .text-light strong { color: var(--light) !important; }

.ts .label-sm [class*="heading-title"],
.ts .label-sm h1, .ts .label-sm h2, .ts .label-sm h3 {
  font-size: 7px !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.08em !important;
  padding-top: 0 !important; padding-bottom: 0 !important;
}
.ts.s-comparison .subheadline-dark,
.ts.s-comparison .subheadline-dark [class*="heading-title"],
.ts.s-comparison .subheadline-dark h1,
.ts.s-comparison .subheadline-dark h2,
.ts.s-comparison .subheadline-dark h3 {
  color: var(--gray) !important; font-size: 15px !important;
  font-weight: 500 !important; text-align: center !important;
}
.ts.s-comparison .comparison-table,
.ts.s-comparison .comparison-table * { text-align: center !important; }
.ts.s-comparison .comparison-table.e-con,
.ts.s-comparison .comparison-table .e-con { justify-content: center !important; }

/* =========================
   OPENING SECTION
========================= */
.ts.s-opening {
  padding-left: 500px !important; padding-right: 500px !important;
  text-align: center !important;
}
.ts.s-opening.e-con          { flex-direction: column !important; align-items: center !important; }
.ts.s-opening > .e-con-inner { flex-direction: column !important; align-items: center !important; }
.ts.s-opening h1, .ts.s-opening h2, .ts.s-opening h3,
.ts.s-opening [class*="heading-title"] {
  font-size: 12px !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.08em !important;
  padding-top: 0 !important; padding-bottom: 0 !important;
}
.ts.divider-section-light .divider-light .elementor-divider-separator:after {
  width: min(100%, 1300px) !important; max-width: 1300px !important; height: 1px !important;
  border: none !important; border-top: 1px solid var(--light) !important;
  border-color: var(--light) !important; background: var(--light) !important;
  color: var(--light) !important; opacity: 1 !important; margin: 0 auto !important;
}

/* =========================
   DIVIDER SECTIONS
========================= */
.ts.divider-section-light { background-color: var(--dark)  !important; }
.ts.divider-section-dark  { background-color: var(--light) !important; }
hr.divider-light {
  width: min(100%, 1300px) !important; max-width: 1300px !important; height: 1px !important;
  border: none !important; border-top: 1px solid var(--light) !important;
  background: var(--light) !important; opacity: 1 !important; margin: 0 auto !important;
}
hr.divider-dark {
  width: min(100%, 1300px) !important; max-width: 1300px !important; height: 1px !important;
  border: none !important; border-top: 1px solid var(--dark) !important;
  background: var(--dark) !important; opacity: 1 !important; margin: 0 auto !important;
}

/* =========================
   OPENING HEADLINE ROW
========================= */
.ts.s-opening-headline { display: flex !important; flex-direction: row !important; align-items: center !important; width: 100% !important; }
.ts.s-opening-headline > *:first-child { width: 5% !important; flex: 0 0 5% !important; display: flex !important; align-items: center !important; justify-content: flex-start !important; }
.ts.s-opening-headline > *:last-child  { width: 95% !important; flex: 0 0 95% !important; text-align: left !important; }
.ts.s-opening-headline [class*="heading-title"],
.ts.s-opening-headline h1, .ts.s-opening-headline h2, .ts.s-opening-headline h3 {
  font-size: 12px !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.08em !important;
  text-align: left !important; color: var(--dark) !important; margin: 0 !important;
}
.ts.s-opening-headline [class*="divider-separator"],
.ts.s-opening-headline hr { border-color: var(--dark) !important; background-color: var(--dark) !important; width: 100% !important; }

/* =========================
   BUTTONS
========================= */
.ts .btn-dark [class*="button"], .ts .btn-dark a[class*="button"],
.ts .btn-dark-outline [class*="button"], .ts .btn-dark-outline a[class*="button"],
.ts .btn-light [class*="button"], .ts .btn-light a[class*="button"],
.ts .btn-light-outline [class*="button"], .ts .btn-light-outline a[class*="button"],
.ts .btn-accent [class*="button"], .ts .btn-accent a[class*="button"] {
  border-radius: 100px !important; padding: 15px 23px !important;
  font-size: 16px !important; font-weight: 700 !important;
  line-height: 1 !important; box-shadow: none !important; text-decoration: none !important;
}
.ts .btn-dark [class*="button"],
.ts .btn-dark a[class*="button"]          { background: var(--dark)   !important; color: var(--light) !important; border: 1px solid var(--dark)   !important; }
.ts .btn-dark [class*="button"]:hover,
.ts .btn-dark a[class*="button"]:hover    { background: #2A2A2A !important; border-color: #2A2A2A !important; }
.ts .btn-dark-outline [class*="button"],
.ts .btn-dark-outline a[class*="button"]  { background: transparent !important; color: var(--dark)  !important; border: 1px solid var(--dark)   !important; }
.ts .btn-light [class*="button"],
.ts .btn-light a[class*="button"]         { background: var(--light) !important; color: var(--dark)  !important; border: 1px solid var(--light)  !important; }
.ts .btn-light-outline [class*="button"],
.ts .btn-light-outline a[class*="button"] { background: transparent !important; color: var(--light) !important; border: 1px solid var(--light)  !important; }
.ts .btn-accent [class*="button"],
.ts .btn-accent a[class*="button"]        { background: var(--accent) !important; color: var(--light) !important; border: 1px solid var(--accent) !important; }

/* =========================
   ARROWS
========================= */
.ts .arrow-dark svg rect,  .ts .arrow-dark svg circle  { stroke: rgba(26,26,25,.25)    !important; }
.ts .arrow-dark svg path                                { stroke: var(--dark)  !important; fill: var(--dark)  !important; }
.ts .arrow-light svg rect, .ts .arrow-light svg circle { stroke: rgba(248,248,247,.25) !important; }
.ts .arrow-light svg path                               { stroke: var(--light) !important; fill: var(--light) !important; }

/* =========================
   HOTEL TOP CTA
========================= */
.ts .hotel-top-cta [class*="button"],
.ts .hotel-top-cta a {
  background: var(--light) !important; color: var(--dark) !important;
  border-radius: 100px !important; padding: 4px 12px !important;
  font-size: 16px !important; font-weight: 700 !important; line-height: 1 !important;
  box-shadow: none !important; text-decoration: none !important;
  outline: none !important; white-space: nowrap !important;
}
.ts .hotel-top-cta svg { width: 9px !important; }
.ts .hotel-top-cta svg path { fill: transparent !important; stroke: var(--dark) !important; }
.ts .hotel-top-cta:hover svg path { fill: transparent !important; stroke: var(--dark) !important; }

/* =========================
   HOTEL ARROWS
========================= */
.ts .hotel-arrow-prev, .ts .hotel-arrow-next { cursor: pointer; }
.ts .hotel-arrow-prev [class*="icon"],
.ts .hotel-arrow-next [class*="icon"] { border-radius: 50%; display: flex; align-items: center; }
.ts .hotel-arrow-prev:hover [class*="icon"] svg,
.ts .hotel-arrow-next:hover [class*="icon"] svg { background: var(--accent) !important; border-radius: 50%; }

/* =========================
   HOTEL CARD
========================= */
.ts .hotel-card-corner-btn [class*="icon"] svg,
.ts .hotel-card-corner-btn [class*="icon"] svg * { fill: var(--dark) !important; transition: fill .1s ease !important; }
.ts .hotel-card-corner-btn [class*="icon"]:hover svg * { fill: #444 !important; }
.ts .hotel-card-title [class*="heading-title"] {
  font-family: "Helvetica Neue", sans-serif !important;
  font-size: 4.8rem !important; font-weight: 700 !important; line-height: 1.08 !important;
  letter-spacing: -.04em !important; color: var(--light) !important;
  margin: 0 !important; text-transform: none !important;
}
.ts .hotel-card-price, .ts .hotel-card-price [class*="heading-title"],
.ts .hotel-card-price span {
  font-family: "Helvetica Neue", sans-serif !important;
  font-size: 2.8rem !important; font-weight: 700 !important;
  line-height: 3rem !important; color: var(--light) !important;
}
.ts .hotel-card-price s    { font-size: 1.6rem !important; font-weight: 500 !important; color: var(--light) !important; opacity: .8 !important; }
.ts .hotel-card-price span { font-size: 16px !important; line-height: 16px !important; vertical-align: middle !important; }
.ts.hotel-carousel .hotel-card-price,
.ts.hotel-carousel .hotel-card-price [class*="heading-title"] {
  width: 100% !important; text-align: left !important; align-self: flex-start !important;
}

/* =========================
   HOTEL SLIDE IMAGE
========================= */
.ts .hotel-slide-img { position: relative !important; }
.ts .hotel-slide-img::before, .ts .hotel-slide-img::after {
  content: ""; position: absolute; width: 100%; left: 0;
  background: linear-gradient(179.27deg, #000 16.88%, rgba(102,102,102,0) 68.66%);
  opacity: .65; border-radius: 4rem; z-index: 1; pointer-events: none;
}
.ts .hotel-slide-img::before { height: 369px; top: -20px; }
.ts .hotel-slide-img::after  { height: calc(100% + 72px); bottom: -20px; transform: rotate(180deg); }
.ts .hotel-slide-img img {
  width: 100% !important; height: 65.8rem !important; object-fit: cover !important;
  opacity: .65 !important; border-radius: 4rem !important; display: block !important;
}

/* =========================
   HOTEL CAROUSEL TRACK
========================= */
.ts .hotel-carousel-track { position: relative; }
.ts .hotel-carousel-track .slick-slide { width: 48rem !important; margin: 0 2rem !important; }
.ts .hotel-carousel-track .slick-list  { margin: 0 -2rem !important; overflow: visible !important; }
.ts .hotel-carousel-track .slick-prev,
.ts .hotel-carousel-track .slick-next {
  background: rgba(0,0,0,.5); border-radius: 50%; width: 47px; height: 47px;
  padding: 11px; border: 1px solid #000; z-index: 1000; top: -85px;
}
.ts .hotel-carousel-track .slick-prev { right: 67px !important; left: auto !important; }
.ts .hotel-carousel-track .slick-next { right: 0 !important; }
.ts .hotel-carousel-track .slick-slide > a { padding: 0 !important; }
.ts .hotel-carousel-track .hotel-slide-img { clip-path: url(#hotel-offers-cp); }
.ts .hotel-carousel-track li.slick-active  { width: 28px !important; height: 12px !important; background: #000 !important; border-radius: 16px; transition: .35s all ease; }
.ts .hotel-carousel-track .slick-dots li  { width: 12px; height: 12px; background: rgba(0,0,0,.25); border-radius: 16px; }
.ts .hotel-carousel-track .slick-dots li button        { padding: 0 !important; height: 12px !important; }
.ts .hotel-carousel-track .slick-dots li button:before { line-height: 12px; color: transparent; }
.ts .hotel-carousel-track ul.slick-dots { bottom: -44px; }
.ts .hotel-carousel-track .slick-dots  { display: none !important; }

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 1200px) {
  .ts.s-opening { padding-left: 200px !important; padding-right: 200px !important; }
}
@media (max-width: 1000px) {
  .ts .hotel-carousel-track .slick-slide { width: 440px !important; margin-right: 30px !important; }
}
@media (max-width: 767px) {
  .ts { padding-left: 10px !important; padding-right: 10px !important; }
  .ts.s-opening { padding-left: 20px !important; padding-right: 20px !important; }
  .ts .hotel-card-price span { font-size: 1.6rem !important; }
}
@media (max-width: 600px) {
  .ts .hotel-carousel-track .slick-slide { width: 365px !important; max-width: calc(100vw - 12px); margin: 0 5px !important; }
  .ts .hotel-carousel-track .slick-list  { margin: 0 -5px !important; }
}
@media (max-width: 767px) {
  .ts.s-info-map    { padding-left: 10px !important; padding-right: 10px !important; }
  .ts.s-comparison  { padding-left: 16px !important; padding-right: 16px !important; }
  .ts.faq           { padding-left: 16px !important; padding-right: 16px !important; }
}
@media (max-width: 767px) {
  .ts.s-cta .cta-submit-button,
  .ts.hotel-carousel-section .hotel-carousel-button {
    width: calc(100% - 20px) !important; max-width: calc(100% - 20px) !important;
    margin-left: auto !important; margin-right: auto !important;
    padding-left: 0 !important; padding-right: 0 !important;
    box-sizing: border-box !important; display: block !important;
  }
  .ts.s-cta .cta-submit-button .elementor-widget-container,
  .ts.hotel-carousel-section .hotel-carousel-button .elementor-widget-container {
    width: 100% !important; margin: 0 !important; padding: 0 !important;
  }
  .ts.s-cta .cta-submit-button .elementor-button,
  .ts.hotel-carousel-section .hotel-carousel-button .elementor-button {
    width: 100% !important; margin: 0 !important; box-sizing: border-box !important;
    display: flex !important; justify-content: center !important; align-items: center !important;
    padding: 15px 23px !important; border-radius: 100px !important;
    font-size: 16px !important; font-weight: 700 !important; line-height: 1 !important;
  }
}
@media (max-width: 767px) {
  .ts.s-hero .form-button { padding-left: 20px !important; padding-right: 20px !important; }
}
@media (min-width: 768px) {
  .ts.hotel-carousel-section,
  .ts.hotel-carousel-section.e-con,
  .ts.hotel-carousel-section.elementor-element { display: none !important; }
}
@media (min-width: 768px) {
  .ts.hotel-carousel,
  .ts.hotel-carousel.e-con,
  .ts.hotel-carousel.elementor-element { padding-bottom: 100px !important; }
}


/* =========================
   COMPARISON SECTION
   To restyle: edit the --comp-* tokens.
========================= */

.ts.s-comparison {
  --comp-border:             rgba(17,17,17,.09);
  --comp-row-hover:          rgba(17,17,17,.02);
  --comp-eyebrow-size:       10px;
  --comp-heading-size:       36px;
  --comp-intro-size:         15px;
  --comp-th-size:            10px;
  --comp-td-size:            13px;
  --comp-factor-size:        10px;
  --comp-block-label-size:   11px;
  --comp-dest-size:          9px;
  --comp-verdict-size:       12px;
  --comp-decision-dest-size: 18px;
  --comp-decision-size:      12px;
  --comp-eyebrow-color:      var(--gray);
  --comp-heading-color:      var(--dark);
  --comp-intro-color:        var(--gray);
  --comp-th-color:           var(--gray);
  --comp-th-main-color:      var(--dark);
  --comp-td-color:           var(--gray);
  --comp-td-main-color:      var(--dark);
  --comp-factor-color:       var(--gray);
  --comp-dest-color:         var(--dark);
  --comp-dest-bg:            rgba(17,17,17,.06);
  --comp-dest-border:        rgba(17,17,17,.16);
  --comp-card-bg:            var(--light);
  --comp-card-main-bg:       var(--soft);
  --comp-card-main-border:   var(--dark);
}

.ts.s-comparison .comparison-inner { width: min(100%, 960px); margin-inline: auto; }
.ts.s-comparison .comp-eyebrow {
  font-size: var(--comp-eyebrow-size); font-weight: 700; letter-spacing: .16em;
  text-transform: uppercase; color: var(--comp-eyebrow-color); text-align: center; margin: 0 0 14px;
}
.ts.s-comparison .comp-heading {
  font-size: var(--comp-heading-size) !important; color: var(--comp-heading-color) !important;
  text-align: center !important; margin: 0 0 16px !important; padding-bottom: 0 !important;
}
.ts.s-comparison .comp-intro {
  font-size: var(--comp-intro-size); line-height: 1.7; color: var(--comp-intro-color);
  text-align: center; max-width: 620px; margin: 0 auto 48px;
}
.ts.s-comparison .comp-block-label {
  font-size: var(--comp-block-label-size); font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--comp-factor-color); text-align: center; margin: 0 0 16px;
}
.ts.s-comparison .comp-table-wrap {
  border: 1px solid var(--comp-border); border-radius: 16px;
  overflow: hidden; margin-bottom: 48px; width: 100%;
}
.ts.s-comparison .comp-table { width: 100%; border-collapse: collapse; }
.ts.s-comparison .comp-table thead tr { background: rgba(17,17,17,.025); border-bottom: 1px solid var(--comp-border); }
.ts.s-comparison .comp-table th {
  padding: 14px 16px; font-size: var(--comp-th-size); font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase; color: var(--comp-th-color); text-align: center;
}
.ts.s-comparison .comp-table th.col-main   { color: var(--comp-th-main-color); }
.ts.s-comparison .comp-table th.col-factor { text-align: left; }
.ts.s-comparison .comp-table td {
  padding: 13px 16px; vertical-align: top; line-height: 1.55;
  border-bottom: 1px solid var(--comp-border); color: var(--comp-td-color);
  font-size: var(--comp-td-size); text-align: center;
}
.ts.s-comparison .comp-table tr:last-child td  { border-bottom: none; }
.ts.s-comparison .comp-table tbody tr:hover td { background: var(--comp-row-hover); }
.ts.s-comparison .comp-table td.col-factor {
  font-size: var(--comp-factor-size); font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--comp-factor-color); white-space: nowrap; text-align: left; width: 120px;
}
.ts.s-comparison .comp-table td.col-main { color: var(--comp-td-main-color); font-weight: 500; }

@media (max-width: 767px) {
  .ts.s-comparison .comp-table-wrap { border: none; border-radius: 0; background: transparent; }
  .ts.s-comparison .comp-table thead { display: none; }
  .ts.s-comparison .comp-table,
  .ts.s-comparison .comp-table tbody,
  .ts.s-comparison .comp-table tr,
  .ts.s-comparison .comp-table td { display: block; width: 100%; }
  .ts.s-comparison .comp-table tbody tr { border: 1px solid var(--comp-border); border-radius: 14px; overflow: hidden; margin-bottom: 10px; }
  .ts.s-comparison .comp-table td {
    display: flex; gap: 10px; align-items: flex-start;
    text-align: left; padding: 11px 14px; border-bottom: 1px solid var(--comp-border);
  }
  .ts.s-comparison .comp-table td:last-child { border-bottom: none; }
  .ts.s-comparison .comp-table td::before {
    content: attr(data-label); flex-shrink: 0; width: 90px;
    font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
    color: var(--comp-factor-color); padding-top: 2px;
  }
  .ts.s-comparison .comp-table td.col-factor { display: none; }
}

.ts.s-comparison .verdict-grid { display: grid; grid-template-columns: 1fr; gap: 12px; margin-bottom: 48px; }
@media (min-width: 480px) { .ts.s-comparison .verdict-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 768px) { .ts.s-comparison .verdict-grid { grid-template-columns: repeat(4, 1fr); } }

.ts.s-comparison .verdict-card { border: 1px solid var(--comp-border); border-radius: 14px; padding: 18px 16px 20px; background: var(--comp-card-bg); text-align: center; }
.ts.s-comparison .verdict-label { font-size: var(--comp-block-label-size); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--comp-factor-color); margin: 0 0 8px; }
.ts.s-comparison .verdict-dest { display: inline-block; font-size: var(--comp-dest-size); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--comp-dest-color); background: var(--comp-dest-bg); border: 1px solid var(--comp-dest-border); border-radius: 100px; padding: 3px 10px; margin-bottom: 10px; }
.ts.s-comparison .verdict-text { font-size: var(--comp-verdict-size); line-height: 1.65; color: var(--comp-td-color); margin: 0; }

.ts.s-comparison .decision-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 600px) { .ts.s-comparison .decision-grid { grid-template-columns: repeat(3, 1fr); } }

.ts.s-comparison .decision-card { border: 1px solid var(--comp-border); border-radius: 14px; padding: 20px 18px 22px; background: var(--comp-card-bg); text-align: center; }
.ts.s-comparison .decision-card--main { border-color: var(--comp-card-main-border); background: var(--comp-card-main-bg); }
.ts.s-comparison .decision-prompt { font-size: var(--comp-factor-size); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--comp-factor-color); margin: 0 0 4px; }
.ts.s-comparison .decision-dest { font-size: var(--comp-decision-dest-size); font-weight: 800; letter-spacing: -.01em; color: var(--comp-heading-color); margin: 0 0 10px; line-height: 1.2; }
.ts.s-comparison .decision-text { font-size: var(--comp-decision-size); line-height: 1.65; color: var(--comp-td-color); margin: 0; }


/* =========================
   FAQ SECTION
   To restyle: edit the --faq-* tokens.
========================= */

.ts.faq {
  --faq-cta-image:         url('https://i.imghippo.com/files/fQL8308xEg.png');
  --faq-q-size:            13px;
  --faq-q-size-md:         14px;
  --faq-a-size:            13px;
  --faq-check-title-size:  10px;
  --faq-check-item-size:   12px;
  --faq-glass-title-size:  14px;
  --faq-btn-size:          13px;
  --faq-item-bg:           #1A1A1A;
  --faq-item-border:       rgba(248,248,247,.1);
  --faq-item-bg-hover:     #222222;
  --faq-item-border-hover: rgba(248,248,247,.2);
  --faq-open-bg:           #F8F8F7;
  --faq-open-border:       rgba(248,248,247,.3);
  --faq-open-shadow:       0 4px 20px rgba(0,0,0,.25);
  --faq-q-color:           #F8F8F7;
  --faq-q-color-open:      #1A1A19;
  --faq-icon-border:       rgba(248,248,247,.2);
  --faq-icon-bg-open:      #1A1A19;
  --faq-icon-stroke:       rgba(248,248,247,.5);
  --faq-icon-stroke-open:  #F8F8F7;
  --faq-a-border:          rgba(26,26,25,.1);
  --faq-a-color:           rgba(26,26,25,.65);
  --faq-a-strong:          #1A1A19;
  --faq-check-bg:          #1A1A1A;
  --faq-check-border:      rgba(248,248,247,.1);
  --faq-check-title-color: rgba(248,248,247,.35);
  --faq-check-item-color:  #F8F8F7;
  --faq-dot-bg:            rgba(26,26,25,.35);
  --faq-dot-stroke:        #F0F0EF;
  --faq-heading-color:     var(--light);
  --faq-glass-bg:          rgba(26,26,25,.6);
  --faq-glass-border:      rgba(248,248,247,.15);
  --faq-glass-title-color: #F8F8F7;
  --faq-btn-bg:            #EDE8DF;
  --faq-btn-color:         #1A1A19;
  --faq-gap:               6px;
  --faq-sidebar-width:     300px;
  --faq-sidebar-width-lg:  340px;
  --faq-item-radius:       12px;
  --faq-icon-size:         24px;
}

.taya-faq { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; width: 100%; }
.taya-faq *, .taya-faq *::before, .taya-faq *::after { box-sizing: border-box; margin: 0; padding: 0; }
.taya-faq .tf-wrap { width: 100%; max-width: 1280px; margin: 0 auto; }
.taya-faq .tf-body { display: flex; flex-direction: column; gap: 20px; width: 100%; }
@media (min-width: 768px) { .taya-faq .tf-body { flex-direction: row; gap: 32px; align-items: flex-start; } }
.taya-faq .tf-list { display: flex; flex-direction: column; gap: var(--faq-gap); width: 100%; }
@media (min-width: 768px) { .taya-faq .tf-list { flex: 1; min-width: 0; } }
.taya-faq .tf-sidebar { display: flex; flex-direction: column; gap: 12px; width: 100%; }
@media (min-width: 768px) { .taya-faq .tf-sidebar { width: var(--faq-sidebar-width); flex-shrink: 0; position: sticky; top: 24px; } }
@media (min-width: 1024px) { .taya-faq .tf-sidebar { width: var(--faq-sidebar-width-lg); } }
.taya-faq .tf-item { background: var(--faq-item-bg); border: 1px solid var(--faq-item-border); border-radius: var(--faq-item-radius); overflow: hidden; transition: background .18s, border-color .18s, box-shadow .18s; width: 100%; }
.taya-faq .tf-item:not(.tf-open):hover { background: var(--faq-item-bg-hover); border-color: var(--faq-item-border-hover); }
.taya-faq .tf-item.tf-open { background: var(--faq-open-bg); border-color: var(--faq-open-border); box-shadow: var(--faq-open-shadow); }
.taya-faq .tf-q { width: 100%; display: flex; flex-direction: row; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 14px; background: none; border: none; cursor: pointer; text-align: left; -webkit-appearance: none; appearance: none; outline: none; -webkit-tap-highlight-color: transparent; }
@media (min-width: 768px) { .taya-faq .tf-q { padding: 18px 20px; } }
.taya-faq .tf-q-text { font-size: var(--faq-q-size); font-weight: 500; color: var(--faq-q-color); line-height: 1.5; flex: 1; min-width: 0; transition: color .18s; }
@media (min-width: 768px) { .taya-faq .tf-q-text { font-size: var(--faq-q-size-md); } }
.taya-faq .tf-item.tf-open .tf-q-text { color: var(--faq-q-color-open); }
.taya-faq .tf-icon { width: var(--faq-icon-size); height: var(--faq-icon-size); flex-shrink: 0; margin-top: 2px; border-radius: 50%; border: 1px solid var(--faq-icon-border); display: flex; align-items: center; justify-content: center; background: transparent; transition: background .25s, border-color .25s, transform .3s ease; }
.taya-faq .tf-item.tf-open .tf-icon { background: var(--faq-icon-bg-open); border-color: var(--faq-icon-bg-open); transform: rotate(45deg); }
.taya-faq .tf-icon svg { width: 10px; height: 10px; stroke: var(--faq-icon-stroke); transition: stroke .18s; display: block; }
.taya-faq .tf-item.tf-open .tf-icon svg { stroke: var(--faq-icon-stroke-open); }
.taya-faq .tf-answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s cubic-bezier(.4,0,.2,1); }
.taya-faq .tf-item.tf-open .tf-answer { grid-template-rows: 1fr; }
.taya-faq .tf-answer-inner { overflow: hidden; }
.taya-faq .tf-body-text { padding: 10px 14px 16px; border-top: 1px solid var(--faq-a-border); font-size: var(--faq-a-size); line-height: 1.8; color: var(--faq-a-color); text-align: left !important; }
@media (min-width: 768px) { .taya-faq .tf-body-text { padding: 12px 20px 18px; } }
.taya-faq .tf-body-text strong { color: var(--faq-a-strong); font-weight: 600; }
.taya-faq .tf-cta { border-radius: var(--faq-item-radius); overflow: hidden; position: relative; display: block; width: 100%; }
.taya-faq .tf-cta-img { width: 100%; aspect-ratio: 16 / 9; background-image: var(--faq-cta-image); background-size: cover; background-position: center; display: block; }
@media (min-width: 768px) { .taya-faq .tf-cta-img { aspect-ratio: 4 / 3; } }
.taya-faq .tf-glass { position: absolute; bottom: 12px; left: 12px; right: 12px; background: var(--faq-glass-bg); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border: 1px solid var(--faq-glass-border); border-radius: 10px; padding: 14px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.taya-faq .tf-glass-title { font-size: var(--faq-glass-title-size); font-weight: 700; color: var(--faq-glass-title-color); text-align: center; }
.taya-faq .tf-btn { display: block; width: 100%; text-align: center; background: var(--faq-btn-bg); color: var(--faq-btn-color) !important; font-family: inherit; font-size: var(--faq-btn-size); font-weight: 600; padding: 11px 16px; border-radius: 100px; border: none; cursor: pointer; text-decoration: none !important; transition: opacity .18s; }
.taya-faq .tf-btn:hover { opacity: .85; }
.taya-faq .tf-check { background: var(--faq-check-bg); border: 1px solid var(--faq-check-border); border-radius: var(--faq-item-radius); padding: 18px 16px; width: 100%; }
.taya-faq .tf-check-title { font-size: var(--faq-check-title-size); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--faq-check-title-color); margin-bottom: 12px; }
.taya-faq .tf-check-list { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.taya-faq .tf-check-list li { display: flex; align-items: flex-start; gap: 9px; font-size: var(--faq-check-item-size); color: var(--faq-check-item-color); line-height: 1.5; }
.taya-faq .tf-dot { flex-shrink: 0; margin-top: 2px; width: 17px; height: 17px; border-radius: 50%; background: var(--faq-dot-bg); display: flex; align-items: center; justify-content: center; }
.taya-faq .tf-dot svg { width: 9px; height: 9px; stroke: var(--faq-dot-stroke); stroke-width: 2.2; }


/* =========================
   INFO ACCORDION (s-info-map left column)
   To restyle: edit the --info-* tokens.
========================= */

#tulum-destination-widget-v2 {
  --info-tab-bar-bg:        #111111;
  --info-tab-bar-radius:    999px;
  --info-tab-bar-padding:   6px;
  --info-pill-bg:           #f4f1ec;
  --info-btn-color:         rgba(244,241,236,.42);
  --info-btn-color-hover:   rgba(244,241,236,.7);
  --info-btn-color-active:  #1a1a1a;
  --info-btn-size:          13px;
  --info-btn-size-sm:       11px;
  --info-desc-color:        #3c3936;
  --info-desc-size:         15px;
  --info-item-bg:           #111111;
  --info-item-radius:       14px;
  --info-item-margin:       8px;
  --info-title-color:       #f4f1ec;
  --info-title-size:        15px;
  --info-title-size-sm:     14px;
  --info-icon-opacity:      0.3;
  --info-icon-opacity-open: 0.7;
  --info-body-color:        #777777;
  --info-body-size:         14px;
  --info-body-size-sm:      13px;
  --info-toggle-color:      #f4f1ec;
}

#tulum-destination-widget-v2,
#tulum-destination-widget-v2 * { box-sizing: border-box; }
#tulum-destination-widget-v2 { width: 100%; }
#tulum-destination-widget-v2 .tdw-inner { width: 100%; max-width: none; margin: 0 auto; }

#tulum-destination-widget-v2 .tdw-tab-bar {
  position: relative; display: flex; align-items: stretch; width: 100%;
  background: var(--info-tab-bar-bg); border-radius: var(--info-tab-bar-radius);
  padding: var(--info-tab-bar-padding); overflow: hidden; margin-bottom: 36px;
}
#tulum-destination-widget-v2 .tdw-pill {
  position: absolute; top: var(--info-tab-bar-padding); left: 0;
  height: calc(100% - calc(var(--info-tab-bar-padding) * 2));
  border-radius: var(--info-tab-bar-radius); background: var(--info-pill-bg);
  z-index: 0; pointer-events: none; width: 0;
  transition: transform .32s cubic-bezier(.4,0,.2,1), width .32s cubic-bezier(.4,0,.2,1);
}
#tulum-destination-widget-v2 .tdw-tab-btn {
  position: relative; z-index: 1; flex: 1 1 0; min-width: 0;
  appearance: none; border: none; background: transparent;
  border-radius: var(--info-tab-bar-radius); cursor: pointer;
  padding: 11px 14px; font-family: inherit;
  font-size: var(--info-btn-size); font-weight: 700; line-height: 1.15;
  color: var(--info-btn-color); text-align: center; transition: color .22s ease; white-space: nowrap;
}
#tulum-destination-widget-v2 .tdw-tab-btn:hover { color: var(--info-btn-color-hover); }
#tulum-destination-widget-v2 .tdw-tab-btn.is-active { color: var(--info-btn-color-active); }
#tulum-destination-widget-v2 .tdw-tab-panel { display: none; }
#tulum-destination-widget-v2 .tdw-tab-panel.is-active { display: block; }

#tulum-destination-widget-v2 .tdw-description {
  max-width: 460px; margin: 0 auto 20px; padding: 0 4px;
  text-align: center; font-size: var(--info-desc-size); font-weight: 400;
  line-height: 1.84; color: var(--info-desc-color);
}
#tulum-destination-widget-v2 .tdw-accordion-item {
  background: var(--info-item-bg); border-radius: var(--info-item-radius);
  overflow: hidden; margin-bottom: var(--info-item-margin);
}
#tulum-destination-widget-v2 .tdw-accordion-header {
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  gap: 12px; padding: 18px 20px; background: transparent; border: none; cursor: pointer; text-align: left;
}
#tulum-destination-widget-v2 .tdw-accordion-header-left { display: flex; align-items: center; gap: 12px; min-width: 0; }
#tulum-destination-widget-v2 .tdw-accordion-icon { width: 20px; height: 20px; flex: 0 0 20px; opacity: var(--info-icon-opacity); transition: opacity .25s ease; }
#tulum-destination-widget-v2 .tdw-accordion-item.is-open .tdw-accordion-icon { opacity: var(--info-icon-opacity-open); }
#tulum-destination-widget-v2 .tdw-accordion-title { font-size: var(--info-title-size); font-weight: 700; line-height: 1.3; letter-spacing: .01em; color: var(--info-title-color); }
#tulum-destination-widget-v2 .tdw-accordion-toggle { width: 20px; height: 20px; flex: 0 0 20px; position: relative; }
#tulum-destination-widget-v2 .tdw-accordion-toggle::before,
#tulum-destination-widget-v2 .tdw-accordion-toggle::after { content: ""; position: absolute; background: var(--info-toggle-color); border-radius: 2px; transition: transform .25s ease, opacity .25s ease; }
#tulum-destination-widget-v2 .tdw-accordion-toggle::before { width: 12px; height: 2px; top: 9px; left: 4px; }
#tulum-destination-widget-v2 .tdw-accordion-toggle::after  { width: 2px; height: 12px; top: 4px; left: 9px; }
#tulum-destination-widget-v2 .tdw-accordion-item.is-open .tdw-accordion-toggle::after { opacity: 0; transform: rotate(90deg); }
#tulum-destination-widget-v2 .tdw-accordion-body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
#tulum-destination-widget-v2 .tdw-accordion-item.is-open .tdw-accordion-body { grid-template-rows: 1fr; }
#tulum-destination-widget-v2 .tdw-accordion-body-inner { overflow: hidden; }
#tulum-destination-widget-v2 .tdw-accordion-body p { margin: 0; padding: 0 20px 22px; font-size: var(--info-body-size); line-height: 1.75; color: var(--info-body-color); }

@media (max-width: 767px) {
  #tulum-destination-widget-v2 .tdw-tab-bar { padding: 5px; margin-bottom: 28px; }
  #tulum-destination-widget-v2 .tdw-pill { top: 5px; height: calc(100% - 10px); }
  #tulum-destination-widget-v2 .tdw-tab-btn { padding: 10px 8px; font-size: var(--info-btn-size-sm); }
  #tulum-destination-widget-v2 .tdw-description { font-size: var(--info-desc-size); margin-bottom: 16px; }
  #tulum-destination-widget-v2 .tdw-accordion-header { padding: 16px; }
  #tulum-destination-widget-v2 .tdw-accordion-title { font-size: var(--info-title-size-sm); }
  #tulum-destination-widget-v2 .tdw-accordion-body p { padding: 0 16px 18px; font-size: var(--info-body-size-sm); line-height: 1.7; }
}

/* =========================
   MAP WIDGET (s-info-map right column)
   To restyle: edit the --map-* tokens.
========================= */

#tlm-map-widget {
  --map-card-border:       #e8e4de;
  --map-card-radius:       16px;
  --map-card-bg:           #ffffff;
  --map-stats-border:      #e8e4de;
  --map-stat-padding:      28px 24px;
  --map-val-font:          'Cormorant Garamond', Georgia, serif;
  --map-val-size:          24px;
  --map-val-weight:        300;
  --map-val-color:         #1a1814;
  --map-lbl-size:          11px;
  --map-lbl-spacing:       0.04em;
  --map-lbl-color:         #a09b94;
  --map-dot-color:         #1a1814;
  --map-ring-color:        rgba(26,24,20,.35);
  --map-ring2-color:       rgba(26,24,20,.15);
  --map-label-bg:          rgba(255,255,255,.95);
  --map-label-border:      rgba(26,24,20,.14);
  --map-label-color:       #1a1814;
  --map-label-size:        11px;
  --map-label-spacing:     0.09em;
}

#tlm-map-widget, #tlm-map-widget * { box-sizing: border-box; margin: 0; padding: 0; }
#tlm-map-widget { width: 100%; display: flex; }

#tlm-map-card {
  width: 100%; display: flex; flex-direction: column;
  border: 1px solid var(--map-card-border);
  border-radius: var(--map-card-radius);
  overflow: hidden; background: var(--map-card-bg);
}
#tlm-map-wrap { position: relative; flex: 1 1 auto; min-height: 0; overflow: hidden; }
#tlm-map { position: absolute; inset: 0; width: 100%; height: 100%; }
#tlm-map-card .mapboxgl-canvas,
#tlm-map-card .mapboxgl-canvas-container { width: 100% !important; height: 100% !important; }
#tlm-map-card .mapboxgl-ctrl-bottom-left,
#tlm-map-card .mapboxgl-ctrl-bottom-right { display: none !important; }

#tlm-map-stats { display: grid; grid-template-columns: 1fr 1fr; flex: 0 0 auto; background: var(--map-card-bg); border-top: 1px solid var(--map-stats-border); }
.tlm-stat { padding: var(--map-stat-padding); display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }
.tlm-stat + .tlm-stat { border-left: 1px solid var(--map-stats-border); }
.tlm-stat-val { display: block; font-family: var(--map-val-font); font-size: var(--map-val-size); font-weight: var(--map-val-weight); line-height: 1.05; color: var(--map-val-color); }
.tlm-stat-lbl { display: block; margin-top: 5px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: var(--map-lbl-size); letter-spacing: var(--map-lbl-spacing); color: var(--map-lbl-color); }

.tlm-marker { display: flex; align-items: center; gap: 8px; pointer-events: none; }
.tlm-dot-wrap { position: relative; width: 14px; height: 14px; flex-shrink: 0; }
.tlm-dot { position: absolute; inset: 0; border-radius: 50%; background: var(--map-dot-color); }
.tlm-ring  { position: absolute; top: 50%; left: 50%; width: 26px; height: 26px; border-radius: 50%; border: 1.5px solid var(--map-ring-color); animation: tlmPulse 2.4s ease-out infinite; }
.tlm-ring2 { position: absolute; top: 50%; left: 50%; width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--map-ring2-color); animation: tlmPulse 2.4s ease-out infinite .7s; }

@keyframes tlmPulse {
  0%   { opacity: 1; transform: translate(-50%,-50%) scale(.65); }
  100% { opacity: 0; transform: translate(-50%,-50%) scale(1.15); }
}

.tlm-label {
  background: var(--map-label-bg); border: 1px solid var(--map-label-border);
  border-radius: 6px; padding: 4px 9px; white-space: nowrap;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: var(--map-label-size); font-weight: 500;
  letter-spacing: var(--map-label-spacing); color: var(--map-label-color);
}


/* =========================
   TAYA — MEXICO GUIDE CSS
   Add to: Appearance → Customize → Additional CSS
   (or paste after existing site CSS)
========================= */

/* ── Fonts ── */
@import url('https://fonts.googleapis.com/css2?family=Heebo:wght@300;400;500;700;900&family=IBM+Plex+Mono:wght@400;500&display=swap');


/* ── Hero ── */
.tl-hero{background:#1A1A19!important;padding:100px 20px 56px!important;text-align:center!important;position:relative!important;overflow:hidden!important;}
.tl-hero::before{content:'MX'!important;position:absolute!important;left:-12px!important;top:50%!important;transform:translateY(-50%)!important;font-family:'IBM Plex Mono',monospace!important;font-size:180px!important;font-weight:500!important;color:rgba(255,255,255,0.03)!important;line-height:1!important;pointer-events:none!important;user-select:none!important;}
.tl-hero::after{content:''!important;position:absolute!important;top:20%!important;left:50%!important;transform:translateX(-50%)!important;width:400px!important;height:200px!important;background:radial-gradient(ellipse,rgba(0,33,138,0.2) 0%,transparent 70%)!important;pointer-events:none!important;filter:blur(40px)!important;}
.tl-hero-title{font-family:'Heebo',sans-serif!important;font-size:clamp(36px,10vw,68px)!important;font-weight:900!important;color:#fff!important;line-height:1.02!important;letter-spacing:-.025em!important;margin-bottom:10px!important;position:relative!important;z-index:1!important;}
.tl-hero-sub{font-size:15px!important;font-weight:300!important;letter-spacing:.06em!important;color:rgba(255,255,255,.45)!important;margin-bottom:36px!important;display:block!important;position:relative!important;z-index:1!important;}

/* ── Nav tabs ── */
.tl-nav{position:-webkit-sticky!important;position:sticky!important;top:0!important;z-index:8000!important;background:#fff!important;border-bottom:1.5px solid #E2DDD6!important;border-top:none!important;overflow-x:auto!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;width:100%!important;margin:0!important;padding:0!important;}
.tl-nav::-webkit-scrollbar{display:none!important;}
.tl-nav.tl-fixed{position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;z-index:8000!important;}
.tl-nav::-webkit-scrollbar{display:none!important;}
.tl-nav-inner{display:flex!important;flex-direction:row!important;justify-content:center!important;min-width:100%!important;width:max-content!important;margin:0 auto!important;padding:0 6px!important;}
.tl-tab{display:flex!important;flex-direction:column!important;align-items:center!important;gap:1px!important;padding:11px 14px 9px!important;cursor:pointer!important;border-bottom:3px solid transparent!important;border-top:none!important;border-left:none!important;border-right:none!important;background:none!important;margin:0 0 -1.5px 0!important;transition:all .18s!important;white-space:nowrap!important;user-select:none!important;}
.tl-tab-num{font-family:'IBM Plex Mono',monospace!important;font-size:9px!important;letter-spacing:.1em!important;color:#A6A6A6!important;display:block!important;}
.tl-tab-label{font-size:13px!important;font-weight:600!important;color:#555!important;display:block!important;}
.tl-tab:hover .tl-tab-label,.tl-tab:hover .tl-tab-num,.tl-tab.tl-active .tl-tab-num,.tl-tab.tl-active .tl-tab-label{color:#00218A!important;}
.tl-tab.tl-active .tl-tab-label{font-weight:700!important;}
.tl-tab.tl-active{border-bottom-color:#00218A!important;}

/* ── Destination headers & labels ── */
.tl-dest{padding-bottom:8px!important;}
.tl-dh{padding:44px 20px 38px!important;text-align:center!important;position:relative!important;overflow:hidden!important;border-radius:0!important;}
.tl-dh.c01{background:linear-gradient(135deg,#EDF4FF,#DBEAFE)!important;border-bottom:1px solid #BFDBFE!important;}
.tl-dh.c02{background:linear-gradient(135deg,#ECFDF5,#CCFBF1)!important;border-bottom:1px solid #99F6E4!important;}
.tl-dh.c03{background:linear-gradient(135deg,#F0FDF4,#DCFCE7)!important;border-bottom:1px solid #BBF7D0!important;}
.tl-dh.c04{background:linear-gradient(135deg,#ECFEFF,#CFFAFE)!important;border-bottom:1px solid #A5F3FC!important;}
.tl-dh.c05{background:linear-gradient(135deg,#F5F3FF,#EDE9FE)!important;border-bottom:1px solid #DDD6FE!important;}
.tl-dh.c06{background:linear-gradient(135deg,#FFFBEB,#FEF3C7)!important;border-bottom:1px solid #FDE68A!important;}
.tl-dh.c07{background:linear-gradient(135deg,#FFF5F5,#FEE2E2)!important;border-bottom:1px solid #FECACA!important;}
.tl-dh-num{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;font-family:'IBM Plex Mono',monospace!important;font-size:130px!important;font-weight:500!important;line-height:1!important;opacity:.05!important;color:#1A1A19!important;pointer-events:none!important;user-select:none!important;}
.tl-dh-meta{font-family:'IBM Plex Mono',monospace!important;font-size:10px!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:#A6A6A6!important;margin-bottom:10px!important;display:block!important;text-align:center!important;}
.tl-dh-name{font-family:'Heebo',sans-serif!important;font-size:clamp(30px,8vw,48px)!important;font-weight:900!important;color:#1A1A19!important;line-height:1.05!important;letter-spacing:-.02em!important;margin-bottom:4px!important;text-align:center!important;display:block!important;}
.tl-dh-en{font-family:'IBM Plex Mono',monospace!important;font-size:11px!important;color:#A6A6A6!important;letter-spacing:.08em!important;margin-bottom:14px!important;display:block!important;text-align:center!important;}
.tl-dh-desc,.tl-guide .tl-dh .tl-dh-desc,.tl-guide .tl-dh-desc{font-size:15px!important;font-weight:400!important;line-height:1.8!important;color:#555!important;max-width:560px!important;margin:0 auto!important;text-align:center!important;display:block!important;width:100%!important;}
.tl-label{display:flex!important;align-items:center!important;gap:12px!important;padding:24px 16px 12px!important;max-width:700px!important;margin:0 auto!important;background:none!important;border:none!important;}
.tl-label-line{flex:1!important;height:1px!important;background:#E2DDD6!important;display:block!important;}
.tl-label-text{font-family:'IBM Plex Mono',monospace!important;font-size:10px!important;font-weight:500!important;letter-spacing:.15em!important;text-transform:uppercase!important;color:#A6A6A6!important;white-space:nowrap!important;}
.tl-sep{max-width:700px!important;margin:28px auto 0!important;padding:0 16px!important;}
.tl-sep-line{height:1px!important;background:#E8E4DC!important;display:block!important;}
.tl-rv{opacity:1!important;transform:none!important;}
.tl-rv.tl-in{opacity:1!important;transform:none!important;}

/* ── Hotel cards ── */
.tl-hotels{display:flex!important;flex-direction:column!important;gap:10px!important;max-width:700px!important;margin:0 auto!important;padding:0 16px!important;}
.tl-hotel,.tl-hotel:link,.tl-hotel:visited{display:flex!important;align-items:center!important;gap:0!important;padding:0!important;background:#fff!important;border:1px solid #E8E4DC!important;border-radius:14px!important;color:#1A1A19!important;margin:0!important;overflow:hidden!important;transition:border-color .2s,box-shadow .2s,transform .2s!important;}
.tl-hotel:hover,.tl-hotel:active{border-color:rgba(0,33,138,0.3)!important;box-shadow:0 6px 24px rgba(0,33,138,.08)!important;transform:translateY(-2px)!important;color:#1A1A19!important;}
.tl-hotel-accent{width:4px!important;align-self:stretch!important;background:linear-gradient(180deg,#00218A,#3B5FD4)!important;flex-shrink:0!important;display:block!important;}
.tl-hotel-info{display:flex!important;flex-direction:column!important;gap:5px!important;flex:1!important;min-width:0!important;padding:16px 18px!important;}
.tl-hotel-name{font-size:15px!important;font-weight:700!important;color:#1A1A19!important;line-height:1.25!important;margin:0!important;padding:0!important;}
.tl-hotel-meta{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important;}
.tl-stars{font-size:11px!important;color:#C8A84B!important;letter-spacing:1px!important;}
.tl-tag{font-size:9px!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase!important;padding:2px 8px!important;border-radius:100px!important;background:rgba(0,33,138,0.06)!important;color:#00218A!important;display:inline-block!important;}
.tl-book,.tl-book:link,.tl-book:visited,.tl-book:hover,.tl-book:active{flex-shrink:0!important;display:flex!important;align-items:center!important;gap:6px!important;padding:14px 18px!important;background:transparent!important;color:#00218A!important;border-right:none!important;border-left:1px solid #E8E4DC!important;font-size:12px!important;font-weight:700!important;font-family:'Heebo',sans-serif!important;white-space:nowrap!important;border-top:none!important;border-bottom:none!important;text-decoration:none!important;align-self:stretch!important;transition:background .18s,color .18s!important;}
.tl-book svg{width:13px!important;height:13px!important;flex-shrink:0!important;}
.tl-hotel:hover .tl-book{background:rgba(0,33,138,0.05)!important;color:#001670!important;}

/* ── Activity & place cards ── */
.tl-ext-icon{display:inline-block!important;vertical-align:middle!important;flex-shrink:0!important;transform:scaleX(-1)!important;}
.tl-acts-wrap{max-width:700px!important;margin:0 auto!important;padding:0 16px!important;}
.tl-acts{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;}
.tl-act,.tl-act:link,.tl-act:visited{display:flex!important;flex-direction:column!important;gap:6px!important;padding:14px 12px!important;background:#fff!important;border:1px solid #E8E4DC!important;border-radius:10px!important;color:#1A1A19!important;margin:0!important;transition:border-color .18s,box-shadow .18s!important;}
.tl-act-maps,.tl-act-maps:link,.tl-act-maps:visited{background:#fff!important;border-color:#E8E4DC!important;}
.tl-act:hover,.tl-act:active,.tl-act-maps:hover,.tl-act-maps:active{border-color:rgba(0,33,138,0.22)!important;box-shadow:0 2px 12px rgba(0,33,138,.06)!important;color:#1A1A19!important;}
.tl-act-icon{font-size:20px!important;line-height:1!important;display:block!important;}
.tl-act-name{font-size:12px!important;font-weight:600!important;color:#1A1A19!important;line-height:1.3!important;flex:1!important;margin:0!important;}
.tl-act-arrow{display:flex!important;align-items:center!important;color:#00218A!important;align-self:flex-end!important;margin-top:auto!important;opacity:.7!important;}
.tl-act-maps .tl-act-arrow{color:#16A34A!important;}

/* ── Tools, CTA & footer ── */
.tl-eyebrow{font-family:'IBM Plex Mono',monospace!important;font-size:10px!important;letter-spacing:.2em!important;text-transform:uppercase!important;color:#D6C3A3!important;margin-bottom:14px!important;display:block!important;position:relative!important;z-index:1!important;}
.tl-tools{display:flex!important;flex-wrap:wrap!important;gap:8px!important;justify-content:center!important;position:relative!important;z-index:1!important;}
.tl-pill,.tl-pill:link,.tl-pill:visited,.tl-pill:hover,.tl-pill:active{display:inline-flex!important;align-items:center!important;gap:6px!important;padding:10px 16px!important;border-radius:100px!important;border:1px solid rgba(255,255,255,0.15)!important;background:rgba(255,255,255,0.07)!important;font-size:13px!important;font-weight:500!important;color:#fff!important;cursor:pointer!important;}
.tl-pill:hover,.tl-pill:active{background:rgba(0,33,138,.35)!important;border-color:rgba(0,33,138,.6)!important;}
.tl-cta{max-width:520px!important;margin:0 auto!important;padding:44px 16px 24px!important;display:flex!important;flex-direction:column!important;gap:12px!important;text-align:center!important;}
.tl-cta-title{font-family:'Heebo',sans-serif!important;font-size:22px!important;font-weight:900!important;color:#1A1A19!important;letter-spacing:-.01em!important;line-height:1.2!important;}
.tl-cta-sub{font-size:14px!important;font-weight:400!important;color:#666!important;line-height:1.65!important;margin-bottom:4px!important;}
.tl-cta-heading{font-family:'IBM Plex Mono',monospace!important;font-size:10px!important;font-weight:500!important;letter-spacing:.2em!important;text-transform:uppercase!important;color:#A6A6A6!important;margin-bottom:4px!important;display:block!important;}
.tl-cta-btn,.tl-cta-btn:link,.tl-cta-btn:visited{display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:row!important;gap:10px!important;padding:15px 24px!important;border-radius:12px!important;font-family:'Heebo',sans-serif!important;font-size:15px!important;font-weight:700!important;border:none!important;cursor:pointer!important;}
.tl-btn-emoji{flex-shrink:0!important;}
.tl-btn-text{flex:1!important;text-align:center!important;}
.tl-cta-wa,.tl-cta-wa:link,.tl-cta-wa:visited,.tl-cta-wa:hover,.tl-cta-wa:active{background:#25D366!important;color:#fff!important;}
.tl-cta-fb,.tl-cta-fb:link,.tl-cta-fb:visited{background:#fff!important;color:#1A1A19!important;border:1.5px solid #D4CEC4!important;}
.tl-cta-fb:hover,.tl-cta-fb:active{border-color:rgba(0,33,138,0.25)!important;background:rgba(0,33,138,0.04)!important;color:#00218A!important;}

/* ── FAQ accordion ── */
.tl-faq{max-width:700px!important;margin:0 auto!important;padding:40px 16px 48px!important;direction:rtl!important;text-align:right!important;}
.tl-faq *{direction:rtl!important;text-align:right!important;}
.tl-faq-heading{font-size:18px!important;font-weight:800!important;color:#1A1A19!important;margin-bottom:20px!important;text-align:center!important;letter-spacing:-.01em!important;direction:rtl!important;}
.tl-faq-item{background:#fff!important;border:1px solid #E8E4DC!important;border-radius:12px!important;margin-bottom:8px!important;overflow:hidden!important;transition:border-color .18s!important;}
.tl-faq-item[open]{border-color:rgba(0,33,138,0.2)!important;}
.tl-faq-q{list-style:none!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:16px 20px!important;font-size:14px!important;font-weight:700!important;color:#1A1A19!important;cursor:pointer!important;user-select:none!important;direction:rtl!important;text-align:right!important;}
.tl-faq-q::-webkit-details-marker{display:none!important;}
.tl-faq-q::after{content:''!important;display:inline-block!important;width:8px!important;height:8px!important;border-right:2px solid #00218A!important;border-bottom:2px solid #00218A!important;transform:rotate(45deg)!important;flex-shrink:0!important;margin-left:0!important;margin-right:auto!important;transition:transform .2s!important;}
.tl-faq-item[open] .tl-faq-q::after{transform:rotate(-135deg)!important;}
.tl-faq-a{padding:0 20px 18px!important;font-size:14px!important;font-weight:400!important;color:#555!important;line-height:1.75!important;direction:rtl!important;text-align:right!important;}

/* ── Other ── */
.tl-guide h2,.tl-guide h3{margin:0!important;padding:0!important;border:none!important;background:none!important;}
.tl-guide p{margin:0!important;padding:0!important;}

/* ── Responsive ── */
@media(min-width:600px){.tl-acts{grid-template-columns:repeat(auto-fit,minmax(0,1fr))!important;grid-auto-flow:column!important;grid-auto-columns:1fr!important;}.tl-act{align-items:center!important;text-align:center!important;}.tl-act-arrow{align-self:center!important;}}
@media(min-width:768px){.tl-hotel-name{font-size:16px!important;}.tl-book{padding:16px 22px!important;font-size:13px!important;}.tl-hero{padding:110px 32px 64px!important;}.tl-hotels,.tl-acts-wrap,.tl-faq{padding-right:20px!important;padding-left:20px!important;}.tl-label{padding:28px 20px 14px!important;}.tl-dh-desc,.tl-guide .tl-dh .tl-dh-desc{max-width:620px!important;text-align:center!important;margin-left:auto!important;margin-right:auto!important;}.tl-faq-heading{font-size:22px!important;}.tl-faq{direction:rtl!important;text-align:right!important;}}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
font-display:swap;
	font-family: 'Poppins';
	font-style: normal;
	font-weight: bold;
	font-display: auto;
	src: url('https://tayalux.com/wp-content/uploads/2024/09/Poppins-ExtraBold.woff') format('woff'),
		url('https://tayalux.com/wp-content/uploads/2024/09/Poppins-ExtraBold.ttf') format('truetype');
}
@font-face {
font-display:swap;
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 900;
	font-display: auto;
	src: url('https://tayalux.com/wp-content/uploads/2024/09/Poppins-Bold.woff') format('woff'),
		url('https://tayalux.com/wp-content/uploads/2024/09/Poppins-Bold.ttf') format('truetype');
}
@font-face {
font-display:swap;
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 800;
	font-display: auto;
	src: url('https://tayalux.com/wp-content/uploads/2024/09/Poppins-SemiBold.ttf') format('truetype');
}
@font-face {
font-display:swap;
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://tayalux.com/wp-content/uploads/2024/09/Poppins-Medium.woff') format('woff'),
		url('https://tayalux.com/wp-content/uploads/2024/09/Poppins-Medium.ttf') format('truetype');
}
@font-face {
font-display:swap;
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://tayalux.com/wp-content/uploads/2024/09/Poppins-Light.ttf') format('truetype');
}
@font-face {
font-display:swap;
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://tayalux.com/wp-content/uploads/2024/09/Poppins-Light.woff') format('woff'),
		url('https://tayalux.com/wp-content/uploads/2024/09/Poppins-ExtraLight.ttf') format('truetype');
}
@font-face {
font-display:swap;
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://tayalux.com/wp-content/uploads/2024/09/Poppins-ExtraLight.woff') format('woff');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
font-display:swap;
	font-family: 'Helvetica Neue';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://tayalux.com/wp-content/uploads/2025/08/HelveticaNeue-Roman.woff2') format('woff2'),
		url('https://tayalux.com/wp-content/uploads/2025/08/HelveticaNeue-Roman.woff') format('woff'),
		url('https://tayalux.com/wp-content/uploads/2025/08/HelveticaNeue-Roman.ttf') format('truetype');
}
@font-face {
font-display:swap;
	font-family: 'Helvetica Neue';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://tayalux.com/wp-content/uploads/2025/08/HelveticaNeue-Medium.woff2') format('woff2'),
		url('https://tayalux.com/wp-content/uploads/2025/08/HelveticaNeue-Medium.woff') format('woff'),
		url('https://tayalux.com/wp-content/uploads/2025/08/HelveticaNeue-Medium.ttf') format('truetype');
}
@font-face {
font-display:swap;
	font-family: 'Helvetica Neue';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://tayalux.com/wp-content/uploads/2025/08/HelveticaNeue-Bold.woff2') format('woff2'),
		url('https://tayalux.com/wp-content/uploads/2025/08/HelveticaNeue-Bold.woff') format('woff'),
		url('https://tayalux.com/wp-content/uploads/2025/08/HelveticaNeue-Bold.ttf') format('truetype');
}
@font-face {
font-display:swap;
	font-family: 'Helvetica Neue';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://tayalux.com/wp-content/uploads/2025/08/HelveticaNeue-Light.woff2') format('woff2'),
		url('https://tayalux.com/wp-content/uploads/2025/08/HelveticaNeue-Light.woff') format('woff'),
		url('https://tayalux.com/wp-content/uploads/2025/08/HelveticaNeue-Light.ttf') format('truetype');
}
@font-face {
font-display:swap;
	font-family: 'Helvetica Neue';
	font-style: normal;
	font-weight: 200;
	font-display: auto;
	src: url('https://tayalux.com/wp-content/uploads/2025/08/HelveticaNeue-Thin.woff2') format('woff2'),
		url('https://tayalux.com/wp-content/uploads/2025/08/HelveticaNeue-Thin.woff') format('woff'),
		url('https://tayalux.com/wp-content/uploads/2025/08/HelveticaNeue-Thin.ttf') format('truetype');
}
/* End Custom Fonts CSS */