/* ThinkTur DR Premium v7 — homepage styles */

/* ===== VARIABLES ===== */
:root {
  --navy: #1e293b;
  --primary: #06b6d4;
  --teal: #0e4a5a;
  --accent: #f97316;
  --red: #ef4444;
  --light: #f8fafc;
  --border: #e2e8f0;
  --muted: #64748b;
  --success: #16a34a;
  --white: #ffffff;
  --radius: 16px;
  --shadow: 0 4px 24px rgba(30,41,59,.08);
  --shadow-lg: 0 12px 40px rgba(30,41,59,.12);
  --font-display: "Poppins", sans-serif;
  --font-body: "Inter", sans-serif;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-body); color: var(--navy); background: var(--white); -webkit-font-smoothing: antialiased; }
h1,h2,h3,h4 { font-family: var(--font-display); line-height: 1.2; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
img { max-width: 100%; height: auto; display: block; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.section { padding: 80px 0; }
.section--light { background: var(--light); }
.section--dark { background: var(--navy); color: #fff; }
.section-title { font-size: clamp(26px, 3.2vw, 36px); font-weight: 700; text-align: center; color: var(--navy); margin-bottom: 8px; }
.section-subtitle { text-align: center; color: var(--muted); margin-bottom: 48px; font-size: 15px; max-width: 560px; margin-inline: auto; }
.section--dark .section-title { color: #fff; }
.section--dark .section-subtitle { color: #94a3b8; }

/* ===== 1. TOP BAR ===== */
.topbar { background: var(--navy); color: #cbd5e1; font-size: 13px; position: fixed; top: 0; left: 0; right: 0; z-index: 100; }
.topbar__inner { display: flex; align-items: center; justify-content: space-between; height: 42px; }
.topbar__left { display: flex; align-items: center; gap: 24px; }
.topbar__item { display: inline-flex; align-items: center; gap: 6px; color: #cbd5e1; transition: color .2s; }
.topbar__item:hover { color: #fff; }
.topbar__item i { font-size: 12px; color: var(--primary); }
.topbar__divider { color: #475569; }
.topbar__right { display: flex; align-items: center; gap: 14px; }
.topbar__follow { font-size: 12px; color: #94a3b8; }
.topbar__socials { display: flex; gap: 10px; }
.topbar__socials a { color: #cbd5e1; font-size: 14px; transition: color .2s; }
.topbar__socials a:hover { color: var(--primary); }

/* ===== 2. HEADER ===== */
.header { position: fixed; top: 42px; left: 0; right: 0; z-index: 90; background: var(--white); box-shadow: 0 1px 8px rgba(0,0,0,.06); transition: background .3s, box-shadow .3s; }
.header.is-transparent { background: transparent; box-shadow: none; }
.header__inner { display: flex; align-items: center; justify-content: space-between; height: 72px; }
.header__logo { display: flex; align-items: center; gap: 10px; }
.header__logo-icon { width: 48px; height: 48px; }
.header__logo-text { font-family: var(--font-display); font-size: 28px; font-weight: 700; color: var(--navy); line-height: 1; }
.header__logo-text span { color: var(--primary); }
.header__logo-sub { font-size: 8.5px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); display: block; margin-top: 2px; font-weight: 500; }
.header.is-transparent .header__logo-text { color: #fff; }
.header.is-transparent .header__logo-sub { color: rgba(255,255,255,.7); }
.header__nav { display: flex; gap: 4px; }
.header__nav a { font-size: 14.5px; font-weight: 600; color: var(--navy); padding: 8px 14px; border-radius: 8px; transition: color .2s, background .2s; }
.header__nav a:hover { color: var(--primary); background: rgba(6,182,212,.06); }
.header__nav a.is-active { color: var(--accent); }
.header.is-transparent .header__nav a { color: #fff; }
.header.is-transparent .header__nav a:hover { background: rgba(255,255,255,.1); }
.header__cta { display: inline-flex; align-items: center; gap: 6px; background: var(--accent); color: #fff; font: 600 14px var(--font-body); padding: 10px 22px; border-radius: 999px; transition: transform .2s, box-shadow .2s; box-shadow: 0 4px 16px rgba(249,115,22,.3); }
.header__cta:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(249,115,22,.4); }

/* ===== 3. HERO ===== */
.hero { position: relative; padding: 180px 0 100px; color: #fff; overflow: hidden;
  background: url('https://images.unsplash.com/photo-1505881502353-a1986add3762?w=1920&q=80') center/cover no-repeat;
}
.hero__overlay { position: absolute; inset: 0; background: linear-gradient(100deg, rgba(14,74,90,.82) 0%, rgba(14,74,90,.55) 40%, rgba(14,74,90,.15) 75%, transparent 100%); }
.hero__plane-area { position: absolute; inset: 0; pointer-events: none; z-index: 2; }
.hero__inner { position: relative; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 40px; margin-bottom: 60px; }
.hero__eyebrow { color: var(--accent); font-style: italic; font-weight: 600; font-size: 18px; margin-bottom: 10px; }
.hero__title { font-size: clamp(36px, 5vw, 54px); font-weight: 800; max-width: 540px; line-height: 1.1; margin-bottom: 16px; }
.hero__subtitle { font-size: 17px; color: #d1ecf3; max-width: 460px; line-height: 1.6; margin-bottom: 30px; }
.hero__features { display: flex; gap: 24px; flex-wrap: wrap; }
.hero__feat { display: flex; align-items: center; gap: 10px; font-size: 13.5px; font-weight: 600; }
.hero__feat-icon { width: 36px; height: 36px; border-radius: 50%; background: var(--success); display: grid; place-items: center; flex-shrink: 0; }
.hero__feat-icon i { color: #fff; font-size: 14px; }
.hero__badge { width: 170px; height: 170px; background: var(--white); color: var(--navy); border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; font-family: var(--font-display); font-weight: 700; font-size: 18px; line-height: 1.3; box-shadow: var(--shadow-lg); flex-shrink: 0; }
.hero__badge-heart { color: var(--red); font-size: 24px; margin-top: 6px; }
.hero__booking-float { position: absolute; top: 140px; right: 24px; z-index: 5; background: var(--navy); color: #fff; font-weight: 600; font-size: 14px; padding: 12px 22px; border-radius: 999px; border: 1px solid rgba(255,255,255,.25); display: flex; align-items: center; gap: 8px; box-shadow: var(--shadow-lg); transition: transform .2s; }
.hero__booking-float:hover { transform: translateY(-2px); }
.hero__booking-float i { color: var(--primary); }

/* ===== 4. SEARCH BOX ===== */
.search-box { position: relative; z-index: 4; background: var(--white); border-radius: var(--radius); box-shadow: 0 20px 60px rgba(14,74,90,.22); padding: 0 28px 24px; margin-top: -20px; }
.search__tabs { display: flex; gap: 0; transform: translateY(-1px); }
.search__tab { display: flex; align-items: center; gap: 8px; border: none; background: transparent; font: 600 14px var(--font-body); color: var(--muted); padding: 16px 24px; cursor: pointer; border-radius: 0 0 12px 12px; transition: all .2s; }
.search__tab.is-active { background: var(--navy); color: #fff; padding-top: 28px; margin-top: -14px; }
.search__tab:hover:not(.is-active) { color: var(--navy); }
.search__fields { display: flex; align-items: flex-end; gap: 14px; margin-top: 20px; }
.search__field { flex: 1; display: flex; flex-direction: column; gap: 6px; }
.search__field--dest { flex: 1.4; }
.search__label { font-size: 12px; font-weight: 700; color: var(--navy); text-transform: uppercase; letter-spacing: .5px; }
.search__input { font: 500 14px var(--font-body); color: var(--navy); border: 1.5px solid var(--border); border-radius: 10px; padding: 14px 16px; outline: none; display: flex; align-items: center; gap: 8px; transition: border-color .2s; }
.search__input:focus-within { border-color: var(--primary); }
.search__input i { color: var(--muted); font-size: 14px; }
.search__input input { border: none; outline: none; font: inherit; color: inherit; background: transparent; flex: 1; width: 100%; }
.search__btn { background: var(--accent); color: #fff; border: none; font: 700 15px var(--font-body); padding: 14px 28px; border-radius: 10px; cursor: pointer; white-space: nowrap; transition: transform .2s; box-shadow: 0 6px 20px rgba(249,115,22,.3); }
.search__btn:hover { transform: translateY(-1px); }
.search__partners { margin-top: 18px; font-size: 13px; color: var(--muted); display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.search__partner { font-weight: 700; font-size: 14px; }
.search__partner--booking { color: #003580; }
.search__partner--tp { color: var(--primary); }
.search__partner--pl { color: var(--accent); }

/* ===== NEW: PARTNERS STRIP ===== */
.partners-strip { padding: 40px 0; border-bottom: 1px solid var(--border); }
.partners-strip__label { text-align: center; font-size: 13px; font-weight: 600; color: var(--muted); text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 24px; }
.partners-strip__logos { display: flex; align-items: center; justify-content: center; gap: 48px; flex-wrap: wrap; opacity: .5; filter: grayscale(1); transition: opacity .3s, filter .3s; }
.partners-strip__logos:hover { opacity: .8; filter: grayscale(.3); }
.partners-strip__logo { font-family: var(--font-display); font-weight: 800; font-size: 22px; color: var(--navy); display: flex; align-items: center; gap: 6px; }
.partners-strip__logo i { font-size: 20px; }
.partners-strip__logo--booking { color: #003580; }
.partners-strip__logo--tp { color: var(--primary); }
.partners-strip__logo--airhelp { color: #ff6b35; }
.partners-strip__logo--aviasales { color: #2196f3; }
.partners-strip__logo--cj { color: #0d7c3b; }
.partners-strip__logo--ekta { color: #7c3aed; }

/* ===== 5. SERVICIOS ===== */
.services__grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px; }
.service-card { background: var(--white); border: 1.5px solid var(--border); border-radius: var(--radius); padding: 30px 16px; text-align: center; transition: transform .28s, box-shadow .28s, border-color .28s; cursor: pointer; }
.service-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); border-color: var(--primary); }
.service-card__icon { width: 56px; height: 56px; border-radius: 14px; display: grid; place-items: center; margin: 0 auto 14px; }
.service-card__icon i { font-size: 22px; color: #fff; }
.service-card__icon--hotel { background: var(--accent); }
.service-card__icon--flight { background: var(--navy); }
.service-card__icon--tour { background: var(--success); }
.service-card__icon--car { background: var(--primary); }
.service-card__icon--insurance { background: #2563eb; }
.service-card__icon--esim { background: var(--red); }
.service-card__title { font-size: 15px; font-weight: 700; color: var(--navy); margin-bottom: 4px; }
.service-card__desc { font-size: 12.5px; color: var(--muted); line-height: 1.5; }

/* ===== NEW: COUNTERS ===== */
.counters { padding: 56px 0; background: linear-gradient(100deg, var(--teal), var(--navy)); color: #fff; }
.counters__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; text-align: center; }
.counter-item { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.counter-item__icon { width: 50px; height: 50px; border-radius: 50%; background: rgba(255,255,255,.1); display: grid; place-items: center; margin-bottom: 6px; }
.counter-item__icon i { color: var(--primary); font-size: 20px; }
.counter-item__number { font-family: var(--font-display); font-size: clamp(32px,4vw,44px); font-weight: 800; line-height: 1; }
.counter-item__label { font-size: 14px; color: #94a3b8; }

/* ===== 6. DESTINOS ===== */
.destinations__head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 36px; }
.destinations__head .section-title { text-align: left; margin: 0; }
.destinations__link { color: var(--accent); font-weight: 600; font-size: 15px; transition: transform .2s; display: inline-flex; align-items: center; gap: 4px; }
.destinations__link:hover { transform: translateX(3px); }
.destinations__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.dest-card { position: relative; border-radius: var(--radius); overflow: hidden; min-height: 340px; box-shadow: var(--shadow); transition: transform .3s; display: block; }
.dest-card:hover { transform: translateY(-6px); }
.dest-card__img { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform .5s; }
.dest-card:hover .dest-card__img { transform: scale(1.06); }
.dest-card__info { position: absolute; inset-inline: 0; bottom: 0; padding: 20px; background: linear-gradient(0deg, rgba(14,42,59,.92) 0%, rgba(14,42,59,.4) 70%, transparent 100%); color: #fff; }
.dest-card__name { font-size: 20px; font-weight: 700; }
.dest-card__country { font-size: 13px; color: #b8d5df; margin: 2px 0 8px; }
.dest-card__price { font-size: 13px; color: #b8d5df; }
.dest-card__price strong { font-size: 18px; color: #fff; }
.dest-card__arrow { position: absolute; right: 16px; bottom: 18px; width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,.15); display: grid; place-items: center; color: #fff; font-size: 14px; transition: background .2s, transform .2s; }
.dest-card:hover .dest-card__arrow { background: var(--accent); transform: translateX(3px); }

/* ===== NEW: DEALS ===== */
.deals__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.deal-card { background: var(--white); border: 1.5px solid var(--border); border-radius: var(--radius); overflow: hidden; transition: transform .28s, box-shadow .28s; }
.deal-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.deal-card__img { height: 200px; background-size: cover; background-position: center; position: relative; }
.deal-card__badge { position: absolute; top: 14px; left: 14px; background: var(--red); color: #fff; font: 700 12px var(--font-body); padding: 5px 14px; border-radius: 999px; text-transform: uppercase; letter-spacing: .5px; }
.deal-card__heart { position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,.9); display: grid; place-items: center; color: var(--muted); font-size: 16px; cursor: pointer; transition: color .2s; }
.deal-card__heart:hover { color: var(--red); }
.deal-card__body { padding: 20px; }
.deal-card__dest { font-size: 12px; color: var(--primary); font-weight: 600; text-transform: uppercase; letter-spacing: .5px; margin-bottom: 4px; }
.deal-card__name { font-size: 18px; font-weight: 700; margin-bottom: 6px; }
.deal-card__details { font-size: 13px; color: var(--muted); display: flex; gap: 14px; margin-bottom: 14px; }
.deal-card__details i { color: var(--primary); margin-right: 3px; }
.deal-card__footer { display: flex; align-items: center; justify-content: space-between; }
.deal-card__price { font-size: 14px; color: var(--muted); }
.deal-card__price-old { text-decoration: line-through; margin-right: 6px; font-size: 13px; }
.deal-card__price-now { font-size: 22px; font-weight: 800; color: var(--accent); }
.deal-card__btn { background: var(--accent); color: #fff; border: none; font: 600 13px var(--font-body); padding: 10px 20px; border-radius: 10px; cursor: pointer; transition: transform .2s; }
.deal-card__btn:hover { transform: translateY(-1px); }

/* ===== NEW: WHY THINKTUR ===== */
.why__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.why-card { text-align: center; padding: 32px 20px; }
.why-card__icon { width: 72px; height: 72px; border-radius: 50%; background: linear-gradient(135deg, rgba(6,182,212,.12), rgba(14,74,90,.08)); display: grid; place-items: center; margin: 0 auto 18px; }
.why-card__icon i { font-size: 28px; color: var(--primary); }
.why-card__title { font-size: 17px; font-weight: 700; margin-bottom: 8px; }
.why-card__desc { font-size: 13.5px; color: var(--muted); line-height: 1.6; }

/* ===== NEW: AVIASALES WIDGET ===== */
.aviasales-section { padding: 60px 0; background: linear-gradient(135deg, #f0fdfa, #ecfeff); }
.aviasales__box { background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow-lg); padding: 36px; display: flex; align-items: center; gap: 36px; }
.aviasales__left { flex: 1; }
.aviasales__title { font-size: 24px; font-weight: 700; margin-bottom: 8px; display: flex; align-items: center; gap: 10px; }
.aviasales__title i { color: var(--primary); }
.aviasales__sub { color: var(--muted); font-size: 14px; margin-bottom: 20px; }
.aviasales__fields { display: flex; gap: 12px; flex-wrap: wrap; }
.aviasales__input { flex: 1; min-width: 140px; font: 500 14px var(--font-body); border: 1.5px solid var(--border); border-radius: 10px; padding: 14px 16px; outline: none; display: flex; align-items: center; gap: 8px; }
.aviasales__input i { color: var(--muted); font-size: 14px; flex-shrink: 0; }
.aviasales__input input { border: none; outline: none; font: inherit; background: transparent; flex: 1; width: 100%; }
.aviasales__search { background: var(--navy); color: #fff; border: none; font: 700 15px var(--font-body); padding: 14px 32px; border-radius: 10px; cursor: pointer; transition: transform .2s; display: flex; align-items: center; gap: 8px; }
.aviasales__search:hover { transform: translateY(-1px); }
.aviasales__badge { background: rgba(6,182,212,.1); color: var(--teal); font: 600 12px var(--font-body); padding: 6px 14px; border-radius: 999px; margin-top: 14px; display: inline-flex; align-items: center; gap: 6px; }
.aviasales__badge i { color: var(--success); }

/* ===== 7. BANNER ===== */
.promo-banner__box { background: linear-gradient(105deg, var(--navy) 0%, var(--teal) 100%); border-radius: var(--radius); padding: 44px 48px; display: flex; align-items: center; justify-content: space-between; gap: 30px; color: #fff; overflow: hidden; position: relative; box-shadow: var(--shadow-lg); }
.promo-banner__title { font-size: clamp(22px, 2.8vw, 30px); font-weight: 700; margin-bottom: 8px; }
.promo-banner__sub { color: #a5d0dd; font-size: 15px; display: flex; align-items: center; gap: 8px; }
.promo-banner__sub i { color: var(--primary); }
.promo-banner__deco { position: absolute; right: 60px; top: 50%; transform: translateY(-50%); font-size: 120px; opacity: .08; pointer-events: none; }

/* ===== NEW: TESTIMONIALS ===== */
.testimonials__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.testi-card { background: var(--white); border: 1.5px solid var(--border); border-radius: var(--radius); padding: 28px; transition: transform .28s, box-shadow .28s; }
.testi-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.testi-card__stars { color: #fbbf24; font-size: 16px; margin-bottom: 14px; letter-spacing: 2px; }
.testi-card__text { font-size: 14px; color: var(--muted); line-height: 1.7; margin-bottom: 18px; font-style: italic; }
.testi-card__author { display: flex; align-items: center; gap: 14px; }
.testi-card__avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.testi-card__name { font-weight: 700; font-size: 15px; }
.testi-card__trip { font-size: 12px; color: var(--muted); }

/* ===== NEW: BLOG ===== */
.blog__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.blog-card { background: var(--white); border: 1.5px solid var(--border); border-radius: var(--radius); overflow: hidden; transition: transform .28s, box-shadow .28s; }
.blog-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.blog-card__img { height: 200px; background-size: cover; background-position: center; }
.blog-card__body { padding: 20px; }
.blog-card__cat { font-size: 11px; font-weight: 700; color: var(--primary); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 6px; }
.blog-card__title { font-size: 17px; font-weight: 700; margin-bottom: 8px; line-height: 1.35; }
.blog-card__excerpt { font-size: 13.5px; color: var(--muted); line-height: 1.6; margin-bottom: 14px; }
.blog-card__meta { font-size: 12px; color: var(--muted); display: flex; gap: 14px; }
.blog-card__meta i { color: var(--primary); margin-right: 3px; }

/* ===== NEW: DESTINATIONS MAP ===== */
.dest-map__box { background: var(--white); border: 1.5px solid var(--border); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
.dest-map__header { padding: 24px 28px; display: flex; align-items: center; justify-content: space-between; }
.dest-map__title { font-size: 20px; font-weight: 700; display: flex; align-items: center; gap: 10px; }
.dest-map__title i { color: var(--primary); }
.dest-map__filters { display: flex; gap: 8px; }
.dest-map__filter { border: 1.5px solid var(--border); background: transparent; font: 600 13px var(--font-body); padding: 7px 16px; border-radius: 999px; cursor: pointer; transition: all .2s; color: var(--muted); }
.dest-map__filter.is-active { background: var(--navy); color: #fff; border-color: var(--navy); }
.dest-map__filter:hover:not(.is-active) { border-color: var(--primary); color: var(--navy); }
.dest-map__visual { position: relative; height: 400px; background: linear-gradient(135deg, #e0f2fe 0%, #ecfeff 50%, #f0fdfa 100%); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.dest-map__svg { width: 90%; max-width: 800px; opacity: .15; }
.dest-map__pins { position: absolute; inset: 0; }
.dest-map__pin { position: absolute; display: flex; flex-direction: column; align-items: center; cursor: pointer; transition: transform .2s; }
.dest-map__pin:hover { transform: scale(1.15) translateY(-4px); }
.dest-map__pin-dot { width: 16px; height: 16px; border-radius: 50%; background: var(--accent); border: 3px solid #fff; box-shadow: 0 2px 8px rgba(249,115,22,.4); }
.dest-map__pin-label { background: var(--navy); color: #fff; font: 600 11px var(--font-body); padding: 4px 10px; border-radius: 6px; margin-top: 6px; white-space: nowrap; box-shadow: var(--shadow); }
.dest-map__pin-dot--blue { background: var(--primary); box-shadow: 0 2px 8px rgba(6,182,212,.4); }
.dest-map__pin-dot--green { background: var(--success); box-shadow: 0 2px 8px rgba(22,163,74,.4); }
.dest-map__pin-dot--red { background: var(--red); box-shadow: 0 2px 8px rgba(239,68,68,.4); }

/* ===== NEW: VISA / REQUIREMENTS ===== */
.visa__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.visa-card { background: var(--white); border: 1.5px solid var(--border); border-radius: var(--radius); padding: 24px; transition: transform .25s, box-shadow .25s; cursor: pointer; }
.visa-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.visa-card__flag { font-size: 36px; margin-bottom: 10px; }
.visa-card__country { font-size: 16px; font-weight: 700; margin-bottom: 4px; }
.visa-card__status { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 700; padding: 4px 12px; border-radius: 999px; margin-bottom: 10px; }
.visa-card__status--free { background: rgba(22,163,74,.1); color: var(--success); }
.visa-card__status--required { background: rgba(249,115,22,.1); color: var(--accent); }
.visa-card__status--eta { background: rgba(37,99,235,.1); color: #2563eb; }
.visa-card__details { font-size: 12.5px; color: var(--muted); line-height: 1.6; }

/* ===== NEW: FAQ ===== */
.faq__list { max-width: 760px; margin: 0 auto; display: grid; gap: 12px; }
.faq-item { background: var(--white); border: 1.5px solid var(--border); border-radius: 14px; overflow: hidden; transition: box-shadow .25s; }
.faq-item:hover { box-shadow: var(--shadow); }
.faq-item__q { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; cursor: pointer; font: 600 15px var(--font-body); color: var(--navy); gap: 14px; }
.faq-item__q i { color: var(--primary); font-size: 14px; transition: transform .3s; flex-shrink: 0; }
.faq-item.is-open .faq-item__q i { transform: rotate(180deg); }
.faq-item__a { max-height: 0; overflow: hidden; transition: max-height .35s ease, padding .35s ease; padding: 0 22px; }
.faq-item.is-open .faq-item__a { max-height: 300px; padding: 0 22px 18px; }
.faq-item__a p { font-size: 14px; color: var(--muted); line-height: 1.7; }

/* ===== 8. NEWSLETTER ===== */
.newsletter__box { background: var(--white); border: 1.5px solid var(--border); border-radius: var(--radius); padding: 30px 36px; display: flex; align-items: center; gap: 24px; box-shadow: var(--shadow); }
.newsletter__icon { width: 54px; height: 54px; border-radius: 14px; background: linear-gradient(135deg, var(--primary), var(--teal)); display: grid; place-items: center; flex-shrink: 0; }
.newsletter__icon i { color: #fff; font-size: 22px; }
.newsletter__text { flex: 1; }
.newsletter__title { font-size: 20px; font-weight: 700; margin-bottom: 4px; }
.newsletter__sub { color: var(--muted); font-size: 14px; }
.newsletter__form { display: flex; gap: 10px; flex: 1 1 380px; }
.newsletter__form input { flex: 1; font: 500 14px var(--font-body); border: 1.5px solid var(--border); border-radius: 10px; padding: 13px 16px; outline: none; }
.newsletter__form input:focus { border-color: var(--primary); }
.newsletter__form button { background: var(--accent); color: #fff; border: none; font: 700 14px var(--font-body); padding: 13px 26px; border-radius: 10px; cursor: pointer; transition: transform .2s; white-space: nowrap; }
.newsletter__form button:hover { transform: translateY(-1px); }

/* ===== 9. FOOTER ===== */
.footer { background: var(--navy); color: #cbd5e1; padding-top: 64px; }
.footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr 1.3fr; gap: 36px; padding-bottom: 48px; }
.footer__logo { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.footer__logo-text { font-family: var(--font-display); font-size: 24px; font-weight: 700; color: #fff; }
.footer__logo-text span { color: var(--primary); }
.footer__logo-sub { font-size: 8px; letter-spacing: 2px; text-transform: uppercase; color: #94a3b8; display: block; margin-top: 1px; }
.footer__about { line-height: 1.7; margin-bottom: 18px; font-size: 13.5px; }
.footer__socials { display: flex; gap: 10px; }
.footer__socials a { width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,.08); display: grid; place-items: center; color: #cbd5e1; font-size: 15px; transition: background .2s, color .2s, transform .2s; }
.footer__socials a:hover { background: var(--primary); color: #fff; transform: translateY(-2px); }
.footer__heading { color: #fff; font-size: 15px; font-weight: 700; margin-bottom: 18px; }
.footer__links { display: grid; gap: 12px; }
.footer__links a { color: #94a3b8; font-size: 13.5px; transition: color .2s, padding-left .2s; }
.footer__links a:hover { color: var(--primary); padding-left: 4px; }
.footer__contact-item { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 14px; font-size: 13.5px; color: #94a3b8; line-height: 1.5; }
.footer__contact-item i { color: var(--primary); font-size: 14px; margin-top: 3px; flex-shrink: 0; }
.footer__bottom { border-top: 1px solid rgba(255,255,255,.08); padding: 18px 0; }
.footer__bottom-inner { display: flex; justify-content: space-between; font-size: 13px; color: #64748b; }

/* ===== FLOATING ===== */
.float-btn { position: fixed; z-index: 80; display: inline-flex; align-items: center; justify-content: center; gap: 6px; font: 700 14px var(--font-body); color: #fff; border: none; border-radius: 999px; cursor: pointer; box-shadow: 0 8px 24px rgba(0,0,0,.2); transition: transform .2s; }
.float-btn:hover { transform: scale(1.06); }
.float-whatsapp { left: 22px; bottom: 22px; width: 56px; height: 56px; background: #25d366; font-size: 24px; }
.float-vuelos { right: 22px; bottom: 92px; padding: 13px 22px; background: var(--red); animation: pulse-red 1.8s ease-out infinite; }
.float-booking { right: 22px; bottom: 22px; padding: 13px 22px; background: var(--primary); position: relative; overflow: hidden; }
.float-booking::after { content: ""; position: absolute; top: 0; left: -80%; width: 50%; height: 100%; background: linear-gradient(105deg, transparent, rgba(255,255,255,.5), transparent); animation: shimmer 2.8s ease-in-out infinite; }
.float-top { right: 22px; bottom: 160px; width: 44px; height: 44px; background: var(--navy); font-size: 16px; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .3s, transform .3s, visibility .3s; }
.float-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
@keyframes pulse-red { 0%{box-shadow:0 0 0 0 rgba(239,68,68,.5)} 70%{box-shadow:0 0 0 16px rgba(239,68,68,0)} 100%{box-shadow:0 0 0 0 rgba(239,68,68,0)} }
@keyframes shimmer { 0%{left:-80%} 60%{left:130%} 100%{left:130%} }

/* ===== ANIMS ===== */
@keyframes fadeSlideUp { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
@keyframes zoomIn { from{opacity:0;transform:scale(.85)} to{opacity:1;transform:scale(1)} }
.anim-slide { animation: fadeSlideUp .8s ease both; }
.anim-fade { animation: fadeIn .9s ease both; }
.anim-zoom { animation: zoomIn .8s cubic-bezier(.34,1.4,.5,1) both; }
.hero__eyebrow { animation-delay: .05s; } .hero__title { animation-delay: .15s; } .hero__subtitle { animation-delay: .25s; }
.hero__features { animation-delay: .4s; } .hero__badge { animation-delay: .55s; } .search-box { animation: fadeSlideUp .8s ease .45s both; }
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.plane-svg { width: 100%; height: 100%; }
.plane-path { fill: none; stroke: rgba(255,255,255,.8); stroke-width: 2.5; stroke-linecap: round; }
.plane-icon { font-size: 28px; }

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
  .services__grid { grid-template-columns: repeat(3, 1fr); }
  .destinations__grid, .deals__grid, .testimonials__grid, .blog__grid { grid-template-columns: repeat(2, 1fr); }
  .why__grid, .visa__grid { grid-template-columns: repeat(2, 1fr); }
  .counters__grid { grid-template-columns: repeat(2, 1fr); gap: 30px; }
  .footer__grid { grid-template-columns: 1.4fr 1fr 1fr; }
}
@media (max-width: 768px) {
  .topbar__right { display: none; }
  .header__nav { display: none; }
  .hero { padding-top: 140px; }
  .hero__inner { flex-direction: column; align-items: flex-start; }
  .hero__badge { align-self: flex-end; }
  .search__fields { flex-direction: column; }
  .search__field { width: 100%; }
  .services__grid { grid-template-columns: repeat(2, 1fr); }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .promo-banner__box { flex-direction: column; text-align: center; }
  .newsletter__box { flex-direction: column; text-align: center; }
  .newsletter__form { flex-direction: column; width: 100%; }
  .aviasales__box { flex-direction: column; }
  .aviasales__fields { flex-direction: column; }
  .dest-map__header { flex-direction: column; gap: 14px; }
  .dest-map__visual { height: 280px; }
  .partners-strip__logos { gap: 28px; }
}
@media (max-width: 425px) {
  .destinations__grid, .deals__grid, .testimonials__grid, .blog__grid { grid-template-columns: 1fr; }
  .why__grid, .visa__grid { grid-template-columns: 1fr; }
  .footer__grid { grid-template-columns: 1fr; }
  .services__grid { grid-template-columns: 1fr 1fr; }
  .counters__grid { grid-template-columns: 1fr 1fr; }
}

    /* ═══ PRELOADER + THANOS SNAP ═══ */
    #tt-preloader {
      position: fixed; inset: 0; z-index: 9999;
      background: #fff;
      display: flex; align-items: center; justify-content: center;
    }
    #tt-preloader.is-fading { animation: tt-pre-fade 0.6s ease forwards; }
    #tt-preloader.is-snapping { animation: tt-snap 0.8s ease forwards; }
    @keyframes tt-pre-fade { 0%{opacity:1} 100%{opacity:0.6;filter:blur(0px)} }
    @keyframes tt-snap {
      0%   { opacity:0.6; filter:blur(0px); transform:scale(1); }
      30%  { opacity:0.4; filter:blur(2px); transform:scale(1.02); }
      60%  { opacity:0.15; filter:blur(6px) brightness(1.5); transform:scale(1.08) rotate(1deg); }
      80%  { opacity:0.05; filter:blur(12px) brightness(2); transform:scale(1.15) rotate(-0.5deg); }
      100% { opacity:0; filter:blur(20px) brightness(3); transform:scale(1.3); visibility:hidden; }
    }
    .tt-pre-particle {
      position: fixed; width: 4px; height: 4px; border-radius: 50%;
      background: #f97316; z-index: 10000; pointer-events: none;
      animation: tt-particle-fly 0.9s ease-out forwards;
    }
    @keyframes tt-particle-fly {
      0%   { opacity:1; transform:translate(0,0) scale(1); }
      100% { opacity:0; transform:translate(var(--tx),var(--ty)) scale(0); }
    } }



    /* === V7 ADDITIONS === */

    /* Services 2 cols on mobile */
    @media (max-width: 768px) {
      .services__grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
    }

    /* Email input — compacto */
    .newsletter__form input {
      padding: 8px 14px !important;
      font-size: 14px !important;
      line-height: 1 !important;
      height: 40px !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
    }
    .newsletter__form button {
      height: 40px !important;
      padding: 0 20px !important;
      line-height: 1 !important;
      box-sizing: border-box !important;
    }
    @media (max-width: 768px) {
      .newsletter__form { flex-direction: column !important; width: 100% !important; gap: 8px !important; }
      .newsletter__form input { width: 100% !important; height: 38px !important; font-size: 13px !important; padding: 6px 12px !important; }
      .newsletter__form button { width: 100% !important; height: 38px !important; font-size: 13px !important; }
    }
    /* Email autocomplete dropdown */
    .tt-email-wrap { position: relative; flex: 1; min-width: 0; }
    .tt-email-suggestions {
      position: absolute; bottom: 100%; left: 0; right: 0;
      background: #fff; border: 1.5px solid var(--border); border-radius: 10px;
      box-shadow: 0 -8px 24px rgba(30,41,59,.12);
      display: none; overflow: hidden; z-index: 10;
      margin-bottom: 4px;
    }
    .tt-email-suggestions.is-open { display: block; }
    .tt-email-sug-item {
      padding: 10px 14px; font-size: 13px; color: var(--navy);
      cursor: pointer; border-bottom: 1px solid var(--light);
      transition: background .15s;
    }
    .tt-email-sug-item:last-child { border-bottom: none; }
    .tt-email-sug-item:hover, .tt-email-sug-item.is-active { background: var(--light); color: var(--primary); }
    .tt-email-sug-item strong { color: var(--primary); }

    /* Container wider for desktop */
    @media (min-width: 1200px) { .container { max-width: 1440px !important; padding: 0 32px !important; } }

    /* Preloader — perfectly centered rotation */
    #tt-preloader {
      position: fixed; inset: 0; z-index: 9999;
      background: #fff;
      display: flex; align-items: center; justify-content: center;
      opacity: 1;
      transition: opacity 1.2s ease;
    }
    #tt-preloader.is-done {
      opacity: 0;
      pointer-events: none;
    }
    /* NO rotation on the div — rotation happens inside SVG */
    .ttldr { width: 77px; height: 77px; }
    .ttldr svg { width: 100%; height: 100%; overflow: visible; }
    /* The <g> group rotates around cx=80,cy=80 (circle center) */ }

    /* Booking fixed top right */
    .tt-bk-fixed { position:fixed; top:130px; right:24px; z-index:75; display:inline-flex; align-items:center; gap:8px; padding:13px 24px; background:#06b6d4; color:#fff; font:700 14px "Inter",sans-serif; border-radius:999px; text-decoration:none; box-shadow:0 8px 28px rgba(6,182,212,.35); overflow:hidden; transition:transform .25s,box-shadow .25s; }
    .tt-bk-fixed:hover { transform:scale(1.06); }
    .tt-bk-fixed::after { content:""; position:absolute; top:0; left:-80%; width:50%; height:100%; background:linear-gradient(105deg,transparent,rgba(255,255,255,.5),transparent); animation:ttshim 2.8s ease-in-out infinite; }
    @keyframes ttshim { 0%{left:-80%} 60%{left:130%} 100%{left:130%} }
    @media (max-width:768px) { .tt-bk-fixed { top:auto; bottom:22px; right:22px; padding:10px 16px; font-size:12px; } }


    /* Better map styling */
    .dest-map__visual { background: linear-gradient(180deg, #f0f9ff 0%, #ecfeff 40%, #f0fdfa 100%) !important; }
    .dest-map__svg { width: 95% !important; max-width: 900px !important; opacity: 1 !important; }
    .dest-map__pin-label { font-size: 12px !important; font-weight: 700 !important; padding: 5px 12px !important; }
    .dest-map__pin-dot { transition: transform .2s; }
    .dest-map__pin:hover .dest-map__pin-dot { transform: scale(1.3); }
    .dest-map__pin:hover .dest-map__pin-label { transform: translateY(-2px); }


    /* ═══════════════════════════════════════════
       PREMIUM PLUS — mejoras v7.1
       ═══════════════════════════════════════════ */

    /* 1. CONTAINER más ancho */
    .container { max-width: 1400px !important; }

    /* 2. HERO menos alto */
    .hero { padding: 150px 0 90px !important; }
    @media (max-width: 768px) { .hero { padding: 120px 0 70px !important; } }

    /* 3. SECCIONES más compactas */
    .section { padding: 60px 0 !important; }
    .section--light { padding: 60px 0 !important; }

    /* 4. MEDIA QUERIES COMPLETAS */
    @media (max-width: 1200px) {
      .container { max-width: 1100px !important; }
      .services__grid { grid-template-columns: repeat(3, 1fr) !important; }
      .header__nav a { font-size: 13px !important; padding: 6px 10px !important; }
      .why__grid { grid-template-columns: repeat(2, 1fr) !important; }
    }
    @media (max-width: 992px) {
      .container { max-width: 940px !important; }
      .destinations__grid { grid-template-columns: repeat(2, 1fr) !important; }
      .deals__grid { grid-template-columns: repeat(2, 1fr) !important; }
      .testimonials__grid { grid-template-columns: repeat(2, 1fr) !important; }
      .blog__grid { grid-template-columns: repeat(2, 1fr) !important; }
      .visa__grid { grid-template-columns: repeat(2, 1fr) !important; }
      .counters__grid { grid-template-columns: repeat(2, 1fr) !important; }
      .footer__grid { grid-template-columns: 1.3fr 1fr 1fr !important; }
      .hero__badge { width: 140px !important; height: 140px !important; font-size: 15px !important; }
    }
    @media (max-width: 576px) {
      .container { padding: 0 14px !important; }
      .destinations__grid { grid-template-columns: 1fr !important; }
      .deals__grid { grid-template-columns: 1fr !important; }
      .visa__grid { grid-template-columns: 1fr !important; }
      .footer__grid { grid-template-columns: 1fr !important; }
      .hero__title { font-size: 28px !important; }
      .hero__features { flex-direction: column !important; gap: 8px !important; }
      .hero__badge { width: 100px !important; height: 100px !important; font-size: 12px !important; }
      .section-title { font-size: 22px !important; }
    }

    /* 5. SEARCH BOX hover premium */
    .search-box {
      transition: transform .4s cubic-bezier(.34,1.56,.64,1), box-shadow .4s !important;
    }
    .search-box:hover {
      transform: translateY(-3px);
      box-shadow: 0 30px 70px rgba(14,74,90,.25) !important;
    }

    /* 6. BOTONES — glow, respiración, inclinación, magnético */
    .header__cta, .search__btn, .deal-card__btn {
      position: relative !important;
      overflow: hidden !important;
      transition: transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s, filter .3s !important;
    }
    /* Brillo deslizante */
    .header__cta::before, .search__btn::before, .deal-card__btn::before {
      content: "" !important;
      position: absolute !important; top: 0 !important; left: -100% !important;
      width: 60% !important; height: 100% !important;
      background: linear-gradient(105deg, transparent, rgba(255,255,255,.35), transparent) !important;
      transition: left .6s ease !important;
    }
    .header__cta:hover::before, .search__btn:hover::before, .deal-card__btn:hover::before {
      left: 120% !important;
    }
    /* Glow al hover */
    .header__cta:hover, .search__btn:hover {
      box-shadow: 0 0 20px rgba(249,115,22,.4), 0 8px 25px rgba(249,115,22,.25) !important;
      transform: translateY(-2px) scale(1.03) !important;
    }
    .deal-card__btn:hover {
      box-shadow: 0 0 16px rgba(249,115,22,.35) !important;
      transform: translateY(-1px) scale(1.05) !important;
    }
    /* Respiración en CTA principal */
    .search__btn {
      animation: tt-breathe 3s ease-in-out infinite !important;
    }
    @keyframes tt-breathe {
      0%, 100% { box-shadow: 0 6px 20px rgba(249,115,22,.3); }
      50% { box-shadow: 0 6px 30px rgba(249,115,22,.5); }
    }

    /* 7. CONCEPTO DEL LOGO — olas sutiles en header + hero */
    /* Ola sutil debajo del header */
    .header::after {
      content: "";
      position: absolute; bottom: -8px; left: 0; right: 0; height: 8px;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 8'%3E%3Cpath d='M0,4 Q180,0 360,4 Q540,8 720,4 Q900,0 1080,4 Q1260,8 1440,4' fill='none' stroke='%2306b6d4' stroke-width='1.5' opacity='0.2'/%3E%3C/svg%3E") repeat-x;
      animation: tt-wave-shift 6s linear infinite;
      pointer-events: none;
    }
    @keyframes tt-wave-shift { to { background-position-x: 1440px; } }

    /* Resplandor sol sutil en hero */
    .hero::after {
      content: "";
      position: absolute; top: 10%; right: 15%; width: 300px; height: 300px;
      background: radial-gradient(circle, rgba(249,115,22,.08) 0%, transparent 70%);
      border-radius: 50%; pointer-events: none; z-index: 1;
      animation: tt-sun-pulse 4s ease-in-out infinite alternate;
    }
    @keyframes tt-sun-pulse {
      0% { transform: scale(1); opacity: .6; }
      100% { transform: scale(1.15); opacity: 1; }
    }

    /* Conexiones neuronales: líneas brillantes en las cards de servicios */
    .service-card::before {
      content: "";
      position: absolute; inset: 0; border-radius: inherit;
      background: linear-gradient(135deg, transparent 40%, rgba(6,182,212,.06) 50%, transparent 60%);
      background-size: 300% 300%;
      transition: background-position .8s ease;
      pointer-events: none; z-index: 0;
    }
    .service-card { position: relative !important; overflow: hidden !important; }
    .service-card:hover::before {
      background-position: 100% 100%;
    }

    /* 8. HEADER — glassmorphism + underline animado */
    .header {
      backdrop-filter: blur(12px) saturate(1.4) !important;
      -webkit-backdrop-filter: blur(12px) saturate(1.4) !important;
    }
    .header:not(.is-transparent) {
      background: rgba(255,255,255,.88) !important;
    }
    .header.is-transparent {
      background: rgba(14,74,90,.15) !important;
    }
    .header__nav a::after {
      content: "" !important;
      position: absolute !important; bottom: 0 !important; left: 50% !important;
      width: 0 !important; height: 2px !important;
      background: var(--primary) !important; border-radius: 2px !important;
      transition: width .3s ease, left .3s ease !important;
    }
    .header__nav a { position: relative !important; }
    .header__nav a:hover::after, .header__nav a.is-active::after {
      width: 60% !important; left: 20% !important;
    }
    .header.is-transparent .header__nav a::after { background: #fff !important; }

    /* 9. MICROINTERACCIONES — hover en cards */
    /* Imagen zoom suave max 1.05 */
    .dest-card__img, .deal-card__img, .blog-card__img {
      transition: transform .5s cubic-bezier(.25,.46,.45,.94) !important;
    }
    .dest-card:hover .dest-card__img,
    .deal-card:hover .deal-card__img,
    .blog-card:hover .blog-card__img {
      transform: scale(1.05) !important;
    }

    /* Card título sube al hover */
    .dest-card__name, .deal-card__name, .blog-card__title {
      transition: transform .3s ease !important;
    }
    .dest-card:hover .dest-card__name,
    .deal-card:hover .deal-card__name,
    .blog-card:hover .blog-card__title {
      transform: translateY(-2px) !important;
    }

    /* Sombra dinámica en cards */
    .service-card, .dest-card, .deal-card, .testi-card, .blog-card, .visa-card, .why-card {
      transition: transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .35s !important;
    }
    .service-card:hover {
      transform: translateY(-8px) scale(1.02) !important;
      box-shadow: 0 20px 40px rgba(30,41,59,.12) !important;
      border-color: var(--primary) !important;
    }
    .dest-card:hover { transform: translateY(-8px) !important; box-shadow: 0 24px 48px rgba(30,41,59,.16) !important; }
    .deal-card:hover { transform: translateY(-6px) !important; box-shadow: 0 20px 40px rgba(30,41,59,.14) !important; }
    .testi-card:hover { transform: translateY(-4px) !important; box-shadow: 0 16px 36px rgba(30,41,59,.1) !important; }
    .blog-card:hover { transform: translateY(-6px) !important; box-shadow: 0 20px 40px rgba(30,41,59,.14) !important; }
    .visa-card:hover { transform: translateY(-4px) !important; box-shadow: 0 16px 36px rgba(30,41,59,.12) !important; }

    /* Icono rota + sube al hover */
    .service-card__icon {
      transition: transform .4s cubic-bezier(.34,1.56,.64,1), box-shadow .4s !important;
    }
    .service-card:hover .service-card__icon {
      transform: rotate(4deg) translateY(-6px) !important;
      box-shadow: 0 8px 20px rgba(6,182,212,.25) !important;
    }

    /* Flecha destino se ilumina */
    .dest-card__arrow {
      transition: background .25s, transform .25s, box-shadow .25s !important;
    }
    .dest-card:hover .dest-card__arrow {
      box-shadow: 0 0 12px rgba(249,115,22,.4) !important;
    }

    /* Why cards — icono pulsa */
    .why-card__icon { transition: transform .4s, box-shadow .4s !important; }
    .why-card:hover .why-card__icon {
      transform: scale(1.08) !important;
      box-shadow: 0 8px 24px rgba(6,182,212,.2) !important;
    }

    /* Top bar iconos brillan */
    .topbar__socials a {
      transition: transform .25s cubic-bezier(.34,1.56,.64,1), color .2s !important;
    }
    .topbar__socials a:hover { transform: scale(1.08) !important; }
    .topbar__item:hover i { filter: drop-shadow(0 0 4px rgba(6,182,212,.6)) !important; }

    /* Logo flota suavemente */
    .header__logo-icon {
      animation: tt-logo-float 4s ease-in-out infinite;
    }
    @keyframes tt-logo-float {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-3px); }
    }
    .header__logo:hover .header__logo-icon {
      filter: drop-shadow(0 0 8px rgba(6,182,212,.5));
    }

    /* Botones flotantes — flotan suave + glass */
    .float-whatsapp, .float-vuelos, .float-top {
      animation: tt-float-y 3s ease-in-out infinite !important;
    }
    .float-vuelos { animation-delay: .4s !important; }
    @keyframes tt-float-y {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-3px); }
    }
    .float-btn:hover { transform: scale(1.08) !important; }

    /* Footer links — underline animado */
    .footer__links a { position: relative !important; }
    .footer__links a::after {
      content: "" !important;
      position: absolute !important; bottom: -2px !important; left: 0 !important;
      width: 0 !important; height: 1.5px !important;
      background: var(--primary) !important;
      transition: width .3s ease !important;
    }
    .footer__links a:hover::after { width: 100% !important; }
    .footer__links a:hover { padding-left: 0 !important; }

    /* Newsletter glow en focus */
    .newsletter__form input:focus {
      box-shadow: 0 0 0 3px rgba(6,182,212,.12), 0 0 16px rgba(6,182,212,.08) !important;
    }

    /* FAQ suave */
    .faq-item__a { transition: max-height .45s cubic-bezier(.25,.46,.45,.94), padding .35s !important; }

    /* Map pins pulsan */
    .dest-map__pin-dot { animation: tt-pin-pulse 2s ease-in-out infinite; }
    @keyframes tt-pin-pulse {
      0%, 100% { box-shadow: 0 0 0 0 rgba(249,115,22,.4); }
      50% { box-shadow: 0 0 0 8px rgba(249,115,22,0); }
    }

    /* Counter glow */
    .counter-item__number { text-shadow: 0 0 30px rgba(6,182,212,.3) !important; }

    /* Reduced motion */
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .2s !important;
      }
    }


    /* ═══ PREMIUM PLUS IMPROVEMENTS ═══ */

    /* 1) Container wider */
    .container { max-width: 1400px !important; }

    /* 2) Hero padding reduced */
    .hero { padding: 150px 0 90px !important; }
    @media (max-width: 768px) { .hero { padding: 120px 0 70px !important; } }

    /* 3) Section padding tighter */
    .section { padding: 60px 0 !important; }

    /* 4) FULL MEDIA QUERIES */
    @media (max-width: 1200px) {
      .services__grid { grid-template-columns: repeat(3, 1fr) !important; }
      .destinations__grid { grid-template-columns: repeat(2, 1fr) !important; }
      .why__grid { grid-template-columns: repeat(2, 1fr) !important; }
      .header__nav a { font-size: 13px; padding: 6px 8px; }
    }
    @media (max-width: 992px) {
      .deals__grid { grid-template-columns: repeat(2, 1fr) !important; }
      .testimonials__grid { grid-template-columns: repeat(2, 1fr) !important; }
      .blog__grid { grid-template-columns: repeat(2, 1fr) !important; }
      .visa__grid { grid-template-columns: repeat(2, 1fr) !important; }
      .footer__grid { grid-template-columns: 1.3fr 1fr 1fr !important; }
      .counters__grid { grid-template-columns: repeat(2, 1fr) !important; }
      .hero__badge { width: 140px; height: 140px; font-size: 15px; }
      .promo-banner__box { flex-direction: column; text-align: center; }
    }
    @media (max-width: 576px) {
      .services__grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
      .destinations__grid { grid-template-columns: 1fr !important; }
      .deals__grid { grid-template-columns: 1fr !important; }
      .visa__grid { grid-template-columns: 1fr !important; }
      .footer__grid { grid-template-columns: 1fr !important; }
      .hero__features { flex-direction: column; gap: 8px; }
      .hero__title { font-size: 26px !important; }
      .section-title { font-size: 22px !important; }
    }

    /* 5) Search box premium hover */
    .search-box {
      transition: transform .4s cubic-bezier(.34,1.56,.64,1), box-shadow .4s;
    }
    .search-box:hover {
      transform: translateY(-3px);
      box-shadow: 0 30px 70px rgba(14,74,90,.18);
    }

    /* 6) PREMIUM BUTTONS */
    /* Magnetic + glow + wave + breathing */
    .header__cta, .search__btn, .deal-card__btn, .aviasales__search {
      position: relative; overflow: hidden;
      transition: transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .4s, filter .3s;
    }
    /* Glass shimmer sweep */
    .header__cta::before, .search__btn::before, .deal-card__btn::before {
      content: ""; position: absolute; top: 0; left: -100%; width: 60%; height: 100%;
      background: linear-gradient(105deg, transparent, rgba(255,255,255,.35), transparent);
      transition: left .6s ease;
    }
    .header__cta:hover::before, .search__btn:hover::before, .deal-card__btn:hover::before {
      left: 120%;
    }
    /* Glow on hover */
    .header__cta:hover, .deal-card__btn:hover {
      box-shadow: 0 0 20px rgba(249,115,22,.35), 0 8px 25px rgba(249,115,22,.2);
      transform: translateY(-2px) scale(1.04);
    }
    .search__btn:hover {
      box-shadow: 0 0 20px rgba(249,115,22,.4), 0 8px 25px rgba(249,115,22,.25);
      transform: translateY(-2px) scale(1.03);
    }
    /* Breathing glow on main CTA */
    .search__btn { animation: tt-breathe 3s ease-in-out infinite; }
    @keyframes tt-breathe { 0%,100%{box-shadow:0 6px 20px rgba(249,115,22,.25)} 50%{box-shadow:0 6px 30px rgba(249,115,22,.45)} }
    /* Ripple on click */
    .tt-ripple { position:absolute; border-radius:50%; background:rgba(255,255,255,.4); transform:scale(0); animation:tt-ripple-go .6s ease-out; pointer-events:none; }
    @keyframes tt-ripple-go { to { transform:scale(4); opacity:0; } }

    /* 7) LOGO CONCEPT — subtle floating + glow */
    .header__logo svg, .header__logo img {
      animation: tt-logo-float 4s ease-in-out infinite;
      transition: filter .3s;
    }
    .header__logo:hover svg, .header__logo:hover img {
      filter: drop-shadow(0 0 8px rgba(6,182,212,.5));
    }
    @keyframes tt-logo-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-3px)} }

    /* Subtle wave animation on header bottom */
    .header::after {
      content: ""; position: absolute; bottom: -1px; left: 0; right: 0; height: 3px;
      background: linear-gradient(90deg, transparent, var(--primary), var(--accent), var(--primary), transparent);
      background-size: 200% 100%;
      animation: tt-wave-line 4s ease-in-out infinite;
      opacity: 0; transition: opacity .3s;
    }
    .header:not(.is-transparent)::after { opacity: .4; }
    @keyframes tt-wave-line { 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }

    /* 8) HEADER — underline animation on nav links */
    .header__nav a { position: relative; }
    .header__nav a::after {
      content: ""; position: absolute; bottom: 2px; left: 50%; width: 0; height: 2px;
      background: var(--primary); border-radius: 2px;
      transition: width .3s ease, left .3s ease;
    }
    .header__nav a:hover::after, .header__nav a.is-active::after { width: 60%; left: 20%; }
    .header.is-transparent .header__nav a::after { background: #fff; }

    /* Header glassmorphism */
    .header:not(.is-transparent) { backdrop-filter: blur(10px); background: rgba(255,255,255,.9) !important; }

    /* 9) MICROINTERACTIONS */
    /* Card images — zoom 1.05 on hover */
    .dest-card__img, .deal-card__img, .blog-card__img { transition: transform .5s ease !important; }
    .dest-card:hover .dest-card__img { transform: scale(1.05) !important; }
    .deal-card:hover .deal-card__img { transform: scale(1.05) !important; }
    .blog-card:hover .blog-card__img { transform: scale(1.05) !important; }

    /* Cards — premium elevation */
    .service-card, .dest-card, .deal-card, .testi-card, .blog-card, .visa-card, .why-card {
      transition: transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .35s, border-color .35s !important;
    }
    .service-card:hover { transform: translateY(-8px) !important; box-shadow: 0 20px 40px rgba(30,41,59,.12) !important; border-color: var(--primary) !important; }
    .dest-card:hover { transform: translateY(-8px) !important; box-shadow: 0 24px 48px rgba(30,41,59,.16) !important; }
    .deal-card:hover { transform: translateY(-6px) !important; box-shadow: 0 20px 40px rgba(30,41,59,.14) !important; border-color: var(--primary) !important; }
    .testi-card:hover { transform: translateY(-4px) !important; box-shadow: 0 16px 36px rgba(30,41,59,.1) !important; }
    .blog-card:hover { transform: translateY(-6px) !important; box-shadow: 0 20px 40px rgba(30,41,59,.14) !important; }
    .visa-card:hover { transform: translateY(-5px) !important; box-shadow: 0 16px 36px rgba(30,41,59,.12) !important; border-color: var(--primary) !important; }

    /* Icon box — rotate + rise + glow */
    .service-card__icon { transition: transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .35s; }
    .service-card:hover .service-card__icon { transform: rotate(4deg) translateY(-6px); box-shadow: 0 8px 20px rgba(6,182,212,.25); }

    /* Why card icon pulse */
    .why-card__icon { transition: transform .3s, box-shadow .3s; }
    .why-card:hover .why-card__icon { transform: scale(1.1); box-shadow: 0 8px 24px rgba(6,182,212,.2); }

    /* Top bar icons glow */
    .topbar__item i { transition: color .2s, filter .2s; }
    .topbar__item:hover i { color: #fff; filter: drop-shadow(0 0 4px rgba(6,182,212,.6)); }
    .topbar__socials a { transition: transform .25s cubic-bezier(.34,1.56,.64,1), color .2s; }
    .topbar__socials a:hover { transform: scale(1.12); color: var(--primary); }

    /* Footer links — animated underline */
    .footer__links a { position: relative; }
    .footer__links a::after {
      content: ""; position: absolute; bottom: -2px; left: 0; width: 0; height: 1.5px;
      background: var(--primary); transition: width .3s ease;
    }
    .footer__links a:hover::after { width: 100%; }
    .footer__links a:hover { padding-left: 0 !important; }

    /* Floating buttons — subtle float + glass */
    .float-whatsapp { animation: tt-float-y 3s ease-in-out infinite !important; }
    .float-vuelos { animation: tt-float-y 3.2s ease-in-out infinite .4s, pulse-red 1.8s ease-out infinite !important; }
    @keyframes tt-float-y { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-3px)} }
    .float-btn::before { content:""; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(135deg,rgba(255,255,255,.2),transparent); pointer-events:none; }
    .float-btn:hover { transform: scale(1.08) !important; }
    .float-btn:active { transform: scale(.95) !important; }

    /* Newsletter input glow on focus */
    .newsletter__form input:focus {
      border-color: var(--primary) !important;
      box-shadow: 0 0 0 3px rgba(6,182,212,.12), 0 0 16px rgba(6,182,212,.08) !important;
    }

    /* FAQ smooth open */
    .faq-item__a { transition: max-height .4s cubic-bezier(.25,.46,.45,.94), padding .3s ease; }

    /* Map pin pulse */
    .dest-map__pin-dot { animation: tt-pin-pulse 2s ease-in-out infinite; }
    @keyframes tt-pin-pulse { 0%,100%{box-shadow:0 0 0 0 rgba(249,115,22,.4)} 50%{box-shadow:0 0 0 8px rgba(249,115,22,0)} }

    /* Search tabs — smooth switch */
    .search__tab { transition: all .3s cubic-bezier(.34,1.56,.64,1) !important; }
    .search__tab:hover:not(.is-active) { background: rgba(30,41,59,.04); transform: translateY(-1px); }

    /* Counter glow */
    .counter-item__number { text-shadow: 0 0 30px rgba(6,182,212,.3); }

    /* Reduced motion */
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
    }


    /* Top bar centered single line */
    .topbar__inner { font-size: 12px !important; white-space: nowrap; overflow: hidden; }
    .topbar__item { font-size: 12px !important; white-space: nowrap; }
    @media (max-width: 992px) { .topbar__item { font-size: 11px !important; } }
    @media (max-width: 768px) { .topbar__left { font-size: 10px !important; gap: 8px !important; } }

    /* Header nav — everything fits one line */
    .header__nav { flex-wrap: nowrap !important; gap: 0 !important; }
    .header__nav a { white-space: nowrap !important; font-size: 13px !important; padding: 7px 10px !important; }
    .header__more-trigger { white-space: nowrap !important; font-size: 13px !important; padding: 7px 10px !important; }
    @media (max-width: 1200px) {
      .header__nav a { font-size: 12px !important; padding: 6px 7px !important; }
      .header__more-trigger { font-size: 12px !important; padding: 6px 7px !important; }
    }
    @media (max-width: 992px) {
      .header__nav a { font-size: 11px !important; padding: 5px 5px !important; }
      .header__cta { font-size: 11px !important; padding: 7px 12px !important; }
    }


    /* Map pins — initials by default, popup on hover/click */
    .dest-map__svg { width: 95% !important; max-width: 1000px !important; opacity: 1 !important; }
    .dest-map__visual { background: linear-gradient(180deg, #eef7fa 0%, #f0fdf4 100%) !important; }
    .tt-pin { position: absolute; display: flex; flex-direction: column; align-items: center; cursor: pointer; z-index: 2; }
    .tt-pin__dot { width: 14px; height: 14px; border-radius: 50%; border: 3px solid #fff; box-shadow: 0 2px 8px rgba(0,0,0,.25); position: relative; }
    /* Google Maps style pin tail */
    .tt-pin__dot::after { content: ""; position: absolute; bottom: -6px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 7px solid inherit; }
    .tt-pin__dot[style*="f97316"]::after { border-top-color: #f97316; }
    .tt-pin__dot[style*="06b6d4"]::after { border-top-color: #06b6d4; }
    .tt-pin__dot[style*="16a34a"]::after { border-top-color: #16a34a; }
    .tt-pin__dot[style*="ef4444"]::after { border-top-color: #ef4444; }
    .tt-pin__dot[style*="7c3aed"]::after { border-top-color: #7c3aed; }
    .tt-pin__dot[style*="1e293b"]::after { border-top-color: #1e293b; }
    .tt-pin__initials { font: 700 9px "Inter",sans-serif; color: var(--navy); margin-top: 8px; background: rgba(255,255,255,.9); padding: 2px 6px; border-radius: 4px; box-shadow: 0 1px 4px rgba(0,0,0,.1); }
    .tt-pin__popup {
      position: absolute; bottom: calc(100% + 12px); left: 50%; transform: translateX(-50%) scale(.9);
      background: var(--navy); color: #fff; font: 600 12px "Inter",sans-serif; text-align: center;
      padding: 8px 14px; border-radius: 10px; white-space: nowrap;
      box-shadow: 0 8px 24px rgba(30,41,59,.2);
      opacity: 0; visibility: hidden; transition: opacity .25s, transform .25s, visibility .25s;
      pointer-events: none;
    }
    .tt-pin__popup strong { color: var(--accent); font-size: 14px; }
    .tt-pin__popup::after { content: ""; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border: 6px solid transparent; border-top-color: var(--navy); }
    .tt-pin:hover .tt-pin__popup { opacity: 1; visibility: visible; transform: translateX(-50%) scale(1); }
    .tt-pin:hover .tt-pin__dot { transform: scale(1.2); }
    .tt-pin__dot { transition: transform .2s; }
    .tt-pin { animation: tt-pin-bounce .4s ease both; }
    .tt-pin:nth-child(2) { animation-delay: .1s; }
    .tt-pin:nth-child(3) { animation-delay: .2s; }
    .tt-pin:nth-child(4) { animation-delay: .3s; }
    .tt-pin:nth-child(5) { animation-delay: .4s; }
    .tt-pin:nth-child(6) { animation-delay: .5s; }
    .tt-pin:nth-child(7) { animation-delay: .6s; }
    @keyframes tt-pin-bounce { from { opacity:0; transform:translateY(-10px); } to { opacity:1; transform:translateY(0); } }

    /* 4. Visa 2x2 on mobile */
    @media (max-width: 768px) {
      .visa__grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
    }


    /* Newsletter mobile — button tight under email */
    @media (max-width: 768px) {
      .newsletter__form { gap: 4px !important; }
      .newsletter__form button { margin-top: 0 !important; }
    }


    /* Newsletter button flush under email — zero gap */
    @media (max-width: 768px) {
      .newsletter__form {
        flex-direction: column !important;
        width: 100% !important;
        gap: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
      }
      .newsletter__form input {
        border-radius: 10px 10px 0 0 !important;
        border-bottom: none !important;
      }
      .newsletter__form button {
        border-radius: 0 0 10px 10px !important;
        width: 100% !important;
        margin: 0 !important;
      }
      .tt-email-wrap { width: 100%; }
    }


    /* Newsletter button flush under email — mobile */
    @media (max-width: 768px) {
      .newsletter__form {
        flex-direction: column !important;
        width: 100% !important;
        gap: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
      }
      .newsletter__form .tt-email-wrap {
        margin-bottom: 2px !important;
      }
      .newsletter__form button {
        margin-top: 0 !important;
        border-top-left-radius: 0 !important;
        border-top-right-radius: 0 !important;
      }
      .newsletter__form input {
        border-bottom-left-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
      }
    }


    /* ═══ 1. Booking + Vuelos aligned center-to-center ═══ */
    .tt-bk-fixed {
      right: 22px !important;
      padding: 12px 22px !important;
      font-size: 13px !important;
    }
    .float-vuelos {
      right: 22px !important;
      padding: 12px 22px !important;
      font-size: 13px !important;
      width: auto !important;
      text-align: center !important;
    }
    /* Both same width so centers align */
    .tt-bk-fixed, .float-vuelos {
      min-width: 130px;
      justify-content: center;
    }

    /* ═══ 2. Scroll-top: 10s hidden, 2.5s visible loop ═══ */
    .float-top {
      opacity: 0 !important;
      visibility: hidden !important;
      pointer-events: none !important;
      transition: opacity .4s ease, visibility .4s ease !important;
    }
    .float-top.is-pulse-visible {
      opacity: 1 !important;
      visibility: visible !important;
      pointer-events: auto !important;
    }

    /* ═══ 3. Newsletter button FLUSH under email — nuclear ═══ */
    @media (max-width: 768px) {
      .newsletter__form {
        display: flex !important;
        flex-direction: column !important;
        gap: 0px !important;
        padding: 0 !important;
        margin: 0 !important;
      }
      .newsletter__form > * {
        margin: 0 !important;
        padding-top: 9px !important;
        padding-bottom: 9px !important;
      }
      .newsletter__form .tt-email-wrap {
        margin: 0 !important;
      }
      .newsletter__form .tt-email-wrap input {
        border-radius: 10px 10px 0 0 !important;
        border-bottom: none !important;
        margin: 0 !important;
      }
      .newsletter__form button {
        border-radius: 0 0 10px 10px !important;
        margin: 0 !important;
        width: 100% !important;
      }
    }


    /* Top bar mobile: hide on scroll, pulse cycle */
    @media (max-width: 768px) {
      .topbar {
        transition: transform .4s ease, opacity .4s ease !important;
      }
      .topbar.is-hidden {
        transform: translateY(-100%) !important;
        opacity: 0 !important;
        pointer-events: none !important;
      }
      .topbar.is-pulse-show {
        transform: translateY(0) !important;
        opacity: 1 !important;
        pointer-events: auto !important;
      }
      /* When topbar hides, header moves up */
      .header {
        transition: top .4s ease !important;
      }
      .topbar.is-hidden ~ .header {
        top: 0 !important;
      }
    }


    /* Ofertas + Vuelos + Booking — all aligned same width, same right */
    .header__cta {
      min-width: 130px !important;
      justify-content: center !important;
      text-align: center !important;
      padding: 10px 22px !important;
      font-size: 13px !important;
    }
    .tt-bk-fixed, .float-vuelos, .header__cta {
      min-width: 130px !important;
      display: inline-flex !important;
      justify-content: center !important;
    }


    /* Destinations mobile 2x2 */
    @media (max-width: 768px) {
      .destinations__grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
      }
      .dest-card { min-height: 220px !important; }
      .dest-card__name { font-size: 16px !important; }
      .dest-card__price { font-size: 12px !important; }
      .dest-card__price strong { font-size: 15px !important; }
      .dest-card__country { font-size: 11px !important; }
      .dest-card__arrow { width: 30px !important; height: 30px !important; }
    }
    /* Desktop: 6 cards = 3x2 */
    @media (min-width: 769px) {
      .destinations__grid {
        grid-template-columns: repeat(3, 1fr) !important;
      }
    }
    @media (min-width: 1200px) {
      .destinations__grid {
        grid-template-columns: repeat(3, 1fr) !important;
      }
    }


    /* NUCLEAR: newsletter button 2px below email — mobile */
    @media (max-width: 768px) {
      .newsletter__box {
        padding: 20px 16px !important;
        flex-direction: column !important;
        gap: 12px !important;
      }
      .newsletter__form {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
      }
      .tt-email-wrap {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
      }
      .tt-email-wrap input {
        width: 100% !important;
        margin: 0 !important;
        border-bottom-left-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
      }
      .newsletter__form > button,
      .newsletter__form button {
        width: 100% !important;
        margin: 2px 0 0 0 !important;
        padding: 10px !important;
        border-top-left-radius: 0 !important;
        border-top-right-radius: 0 !important;
        display: block !important;
      }
      /* Hide suggestions dropdown space */
      .tt-email-suggestions {
        bottom: 100% !important;
        top: auto !important;
      }
    }


    /* Blog 2x3 mobile */
    @media (max-width: 768px) {
      .blog__grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
      .blog-card__img { height: 140px !important; }
      .blog-card__title { font-size: 14px !important; }
      .blog-card__excerpt { font-size: 12px !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    }
    /* Destinations 2 cols mobile, 3 cols desktop */
    @media (max-width: 768px) {
      .destinations__grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
      .dest-card { min-height: 200px !important; }
    }
    @media (min-width: 769px) {
      .destinations__grid { grid-template-columns: repeat(3, 1fr) !important; }
    }


    /* NEWSLETTER — definitive mobile stack */
    @media (max-width: 768px) {
      .newsletter__box {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
        padding: 18px 14px !important;
      }
      .newsletter__box > * { width: 100% !important; }
      .newsletter__form {
        display: block !important;
        width: 100% !important;
      }
      .tt-email-wrap { display: block !important; width: 100% !important; }
      .tt-email-wrap input {
        display: block !important;
        width: 100% !important;
        height: 38px !important;
        border-radius: 10px 10px 0 0 !important;
      }
      .newsletter__form button {
        display: block !important;
        width: 100% !important;
        height: 38px !important;
        margin: 2px 0 0 0 !important;
        border-radius: 0 0 10px 10px !important;
        padding: 0 !important;
        line-height: 38px !important;
      }
    }

    /* DEALS — 2 cols mobile, 3 cols desktop */
    @media (max-width: 768px) {
      .deals__grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
      .deal-card__img { height: 120px !important; }
      .deal-card__name { font-size: 14px !important; }
      .deal-card__body { padding: 12px !important; }
      .deal-card__details { font-size: 10.5px !important; gap: 6px !important; flex-wrap: wrap !important; }
      .deal-card__now { font-size: 17px !important; }
      .deal-card__old { font-size: 11px !important; }
      .deal-card__btn { font-size: 11px !important; padding: 7px 12px !important; }
      .deal-card__badge { font-size: 10px !important; padding: 4px 10px !important; }
    }
    @media (min-width: 769px) {
      .deals__grid { grid-template-columns: repeat(3, 1fr) !important; }
    }


    @media (max-width: 768px) {
      .tt-email-suggestions { bottom: auto !important; top: calc(100% - 2px) !important; margin-bottom: 0 !important; margin-top: 2px !important; border-radius: 0 0 10px 10px !important; }
    }

    html { scroll-behavior: smooth; }

    @media (max-width: 768px) {
      .visa-card { padding: 14px !important; }
      .visa-card__country { font-size: 14px !important; }
      .visa-card__details { font-size: 11px !important; }
      .visa-status { font-size: 10px !important; }
    }


    /* ═══ ART UPGRADE v7.5 ═══ */

    /* Hero image real con overlay */
    .hero {
      background-image: linear-gradient(105deg, rgba(14,74,90,.85) 0%, rgba(14,74,90,.55) 45%, rgba(6,182,212,.25) 100%), url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?w=1920&q=80&auto=format&fit=crop') !important;
      background-size: cover !important;
      background-position: center !important;
    }

    /* Google Maps pins */
    .gpin { position:absolute; transform:translate(-50%,-100%); cursor:pointer; z-index:3; }
    .gpin__marker {
      width:30px; height:30px; background:var(--pc,#f97316);
      border:2.5px solid #fff; border-radius:50% 50% 50% 0;
      transform:rotate(-45deg);
      box-shadow:0 3px 10px rgba(0,0,0,.35);
      display:grid; place-items:center;
      transition:transform .25s cubic-bezier(.34,1.56,.64,1);
    }
    .gpin__marker span {
      transform:rotate(45deg);
      font:800 9.5px 'Inter',sans-serif; color:#fff; letter-spacing:.3px;
    }
    .gpin:hover .gpin__marker { transform:rotate(-45deg) scale(1.25); }
    .gpin::after {
      content:""; position:absolute; bottom:-4px; left:50%; transform:translateX(-50%);
      width:12px; height:4px; background:rgba(0,0,0,.2); border-radius:50%;
      filter:blur(1px);
    }
    .gpin__pop {
      position:absolute; bottom:calc(100% + 10px); left:50%;
      transform:translateX(-50%) translateY(4px) scale(.92);
      background:var(--navy,#1e293b); color:#fff;
      font:600 12px 'Inter',sans-serif; text-align:center;
      padding:8px 14px; border-radius:10px; white-space:nowrap;
      box-shadow:0 10px 28px rgba(30,41,59,.3);
      opacity:0; visibility:hidden; pointer-events:none;
      transition:opacity .25s, transform .25s, visibility .25s;
    }
    .gpin__pop strong { color:#f97316; font-size:13.5px; }
    .gpin__pop::after {
      content:""; position:absolute; top:100%; left:50%; transform:translateX(-50%);
      border:6px solid transparent; border-top-color:var(--navy,#1e293b);
    }
    .gpin:hover .gpin__pop { opacity:1; visibility:visible; transform:translateX(-50%) translateY(0) scale(1); }
    .dest-map__visual { background:linear-gradient(180deg,#e8f4f8 0%,#eef9f3 100%) !important; min-height:380px; }
    @media (max-width:768px){ .dest-map__visual{min-height:260px} .gpin__marker{width:24px;height:24px} .gpin__marker span{font-size:8px} }

    /* ── Iconos "Por qué elegir" con arte ── */
    .why-card__icon {
      width:78px !important; height:78px !important;
      background:linear-gradient(135deg,rgba(6,182,212,.15),rgba(249,115,22,.1)) !important;
      border:2px solid rgba(6,182,212,.2) !important;
      position:relative;
    }
    .why-card__icon::before {
      content:""; position:absolute; inset:-6px; border-radius:50%;
      border:1.5px dashed rgba(6,182,212,.25);
      animation:tt-ring-rotate 14s linear infinite;
    }
    @keyframes tt-ring-rotate { to{transform:rotate(360deg)} }
    .why-card:hover .why-card__icon { border-color:var(--primary) !important; }
    .why-card:hover .why-card__icon i { animation:tt-icon-pop .45s ease; }
    @keyframes tt-icon-pop { 0%{transform:scale(1)} 50%{transform:scale(1.22) rotate(6deg)} 100%{transform:scale(1)} }

    /* ── Service cards con fondo degradado sutil al hover ── */
    .service-card { position:relative; overflow:hidden; }
    .service-card::before {
      content:""; position:absolute; inset:0;
      background:linear-gradient(135deg,rgba(6,182,212,.06),rgba(249,115,22,.04));
      opacity:0; transition:opacity .35s;
    }
    .service-card:hover::before { opacity:1; }

    /* ── Botones: shine + lift extra suave ── */
    .deal-card__btn, .search__btn, .header__cta, .aviasales__search, .newsletter__form button {
      background-image:linear-gradient(135deg, #f97316, #fb923c) !important;
      background-size:150% auto !important;
      transition:background-position .4s, transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .35s !important;
    }
    .deal-card__btn:hover, .search__btn:hover, .header__cta:hover, .newsletter__form button:hover {
      background-position:right center !important;
    }
    .aviasales__search { background-image:linear-gradient(135deg,#1e293b,#334155) !important; }

    /* ── Deal badge con pulso ── */
    .deal-card__badge { animation:tt-badge-pulse 2.2s ease-in-out infinite; }
    @keyframes tt-badge-pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.06)} }

    /* ── Testimonios: comillas decorativas + estrella dorada ── */
    .testi-card { position:relative; }
    .testi-card::before {
      content:"\201C"; position:absolute; top:8px; right:18px;
      font:800 64px Georgia,serif; color:rgba(6,182,212,.12); line-height:1;
      pointer-events:none;
    }
    .testi-card__avatar { border:3px solid var(--primary) !important; box-shadow:0 4px 14px rgba(6,182,212,.25); }

    /* ── Blog cards: categoria como chip flotante ── */
    .blog-card { position:relative; }
    .blog-card__cat {
      display:inline-block; background:rgba(6,182,212,.1);
      padding:3px 10px; border-radius:999px;
    }

    /* ── Section titles con acento ── */
    .section-title { position:relative; display:block; }
    .section-title::after {
      content:""; display:block; width:56px; height:3.5px; margin:10px auto 0;
      background:linear-gradient(90deg,var(--primary),var(--accent));
      border-radius:99px;
    }
    .section__head .section-title::after { margin-left:0; }

    /* ── Partners strip logos hover color ── */
    .partners-strip__logos { opacity:.55; }
    .partners-strip__logos:hover { opacity:.95; filter:grayscale(.1); }

    /* ── Footer con gradiente sutil ── */
    .footer { background:linear-gradient(180deg,#1e293b 0%,#16202e 100%) !important; }

    /* ── Fade sutil en secciones (SEGURO: siempre visible, solo transición de fondo) ── */
    .section--light { background:linear-gradient(180deg,#f8fafc 0%,#f1f7fa 100%) !important; }

    /* ── Counters con iconos glow ── */
    .counter-item__icon { box-shadow:0 0 24px rgba(6,182,212,.2); }

    /* ── FAQ hover con borde acento ── */
    .faq-item:hover { border-left:3px solid var(--primary) !important; }


    .aff-item { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:16px 18px; transition:background .25s,transform .25s; }
    .aff-item:hover { background:rgba(255,255,255,.09); transform:translateY(-2px); }
    .aff-item strong { font-size:13.5px; display:block; margin-bottom:6px; }
    .aff-item p { font-size:12.5px; color:#94a3b8; line-height:1.6; margin:0; }


    .affiliate-badge { display:flex; flex-direction:column; align-items:center; gap:6px; padding:20px 24px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.09); border-radius:16px; min-width:130px; transition:transform .25s,background .25s; }
    .affiliate-badge:hover { transform:translateY(-4px); background:rgba(255,255,255,.1); }
    .affiliate-badge span { font:700 14px 'Poppins',sans-serif; color:#fff; }
    .affiliate-badge small { font-size:11.5px; color:#94a3b8; }
    .section--dark .section-title::after { margin:10px auto 0; }


    /* ═══ MARKETING & CHIC UPGRADE ═══ */

    /* Botones full rounded + gradiente vivo */
    .header__cta, .search__btn, .deal-card__btn, .aviasales__search,
    .newsletter__form button, .tt-bk-fixed, .float-vuelos, .promo-banner__box a {
      border-radius: 999px !important;
    }
    .search__btn, .deal-card__btn, .header__cta, .newsletter__form button {
      background-image: linear-gradient(120deg, #f97316 0%, #fb923c 50%, #f97316 100%) !important;
      background-size: 200% auto !important;
      transition: background-position .45s ease, transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .3s !important;
    }
    .search__btn:hover, .deal-card__btn:hover, .header__cta:hover, .newsletter__form button:hover {
      background-position: right center !important;
      transform: translateY(-2px) scale(1.03) !important;
      box-shadow: 0 10px 28px rgba(249,115,22,.4) !important;
    }
    /* Click: aplasta y rebota */
    .search__btn:active, .deal-card__btn:active, .header__cta:active,
    .newsletter__form button:active, .tt-bk-fixed:active, .float-btn:active {
      transform: scale(.94) !important;
      transition: transform .1s ease !important;
    }

    /* Onda al click (ya hay ripple JS — mejorar color) */
    .tt-ripple { background: rgba(255,255,255,.55) !important; }

    /* Inputs rounded chic */
    .search__input, .newsletter__form input, .aviasales__input {
      border-radius: 14px !important;
      transition: border-color .25s, box-shadow .25s, transform .2s !important;
    }
    .search__input:focus-within {
      border-color: var(--primary) !important;
      box-shadow: 0 0 0 3px rgba(6,182,212,.12) !important;
      transform: translateY(-1px);
    }

    /* Cards más rounded */
    .service-card, .dest-card, .deal-card, .testi-card, .blog-card, .visa-card { border-radius: 20px !important; }
    .deal-card__img, .blog-card__img { border-radius: 20px 20px 0 0 !important; }

    /* Urgencia: badge de oferta con brillo */
    .deal-card__badge {
      background: linear-gradient(120deg, #ef4444, #f97316) !important;
      animation: tt-badge-glow 2s ease-in-out infinite !important;
    }
    @keyframes tt-badge-glow {
      0%,100% { box-shadow: 0 0 0 0 rgba(239,68,68,.5); }
      50% { box-shadow: 0 0 12px 3px rgba(239,68,68,.35); }
    }

    /* Precio destacado que llama a comprar */
    .deal-card__now { 
      background: linear-gradient(120deg, #f97316, #ea580c);
      -webkit-background-clip: text; background-clip: text;
      -webkit-text-fill-color: transparent;
      font-weight: 800 !important;
    }

    /* Trust: candado en botón reservar */
    .deal-card__btn::after { content: " 🔒"; font-size: 10px; }

    /* Scroll cue: flecha animada en el hero */
    .hero::after {
      content: "⌄";
      position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%);
      font-size: 28px; color: rgba(255,255,255,.8); font-weight: 700;
      animation: tt-scroll-cue 1.8s ease-in-out infinite;
      pointer-events: none; z-index: 5;
    }
    @keyframes tt-scroll-cue {
      0%,100% { transform: translateX(-50%) translateY(0); opacity: .6; }
      50% { transform: translateX(-50%) translateY(8px); opacity: 1; }
    }

    /* Reveal por scroll — patrón SEGURO: visible por defecto */
    .reveal { transition: transform .6s ease, opacity .6s ease; }
    body.js-scroll-fx .reveal { opacity: 0; transform: translateY(24px); }
    body.js-scroll-fx .reveal.is-visible { opacity: 1; transform: translateY(0); }

    /* Section titles con acento vendedor */
    .section-title { position: relative; }
    .section-title::after {
      content: ""; display: block; width: 52px; height: 4px;
      margin: 12px auto 0; border-radius: 99px;
      background: linear-gradient(90deg, var(--primary), var(--accent));
    }
    .destinations__head .section-title::after { margin-left: 0; }

    /* Glassmorphism en header al scrollear */
    .header:not(.is-transparent) {
      backdrop-filter: blur(12px) saturate(1.3);
      -webkit-backdrop-filter: blur(12px) saturate(1.3);
      background: rgba(255,255,255,.86) !important;
      box-shadow: 0 2px 20px rgba(30,41,59,.08) !important;
    }

    /* WhatsApp con anillo de pulso — invita a contactar */
    .float-whatsapp::after {
      content: ""; position: absolute; inset: -4px; border-radius: 50%;
      border: 2px solid rgba(37,211,102,.5);
      animation: tt-wa-ring 2s ease-out infinite;
    }
    @keyframes tt-wa-ring {
      0% { transform: scale(1); opacity: 1; }
      100% { transform: scale(1.5); opacity: 0; }
    }

    /* Newsletter box con borde degradado premium */
    .newsletter__box {
      border: 2px solid transparent !important;
      background: linear-gradient(#fff,#fff) padding-box,
                  linear-gradient(120deg, rgba(6,182,212,.4), rgba(249,115,22,.4)) border-box !important;
    }

    /* Testimonios: estrellas doradas brillantes */
    .testi-card__stars { 
      background: linear-gradient(120deg, #fbbf24, #f59e0b);
      -webkit-background-clip: text; background-clip: text;
      -webkit-text-fill-color: transparent;
    }


    /* Preloader spin — CSS sobre el grupo, centro exacto 80,80 del SVG */
    .tt-rot {
      transform-origin: 80px 80px;
      animation: tt-rotate 2.2s linear infinite;
    }
    @keyframes tt-rotate { to { transform: rotate(360deg); } }


    /* ═══ BOOKING BUTTON — Gemini style ═══ */
    .tt-bk-fixed {
      position: fixed !important;
      top: 130px !important;
      right: 24px !important;
      z-index: 90 !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 8px !important;
      min-width: 130px !important;
      padding: 12px 22px !important;
      color: #fff !important;
      font: 700 13px 'Inter',sans-serif !important;
      border-radius: 999px !important;
      text-decoration: none !important;
      overflow: hidden !important;
      background: linear-gradient(115deg, #0ea5e9, #06b6d4, #22d3ee, #06b6d4, #0ea5e9) !important;
      background-size: 300% auto !important;
      animation: tt-gemini-flow 4s ease-in-out infinite !important;
      box-shadow: 0 8px 28px rgba(6,182,212,.4) !important;
      transition: transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .3s !important;
      visibility: visible !important;
      opacity: 1 !important;
    }
    @keyframes tt-gemini-flow {
      0%, 100% { background-position: 0% center; }
      50% { background-position: 100% center; }
    }
    .tt-bk-fixed:hover {
      transform: scale(1.07) !important;
      box-shadow: 0 12px 36px rgba(6,182,212,.55) !important;
    }
    /* Shimmer blanco que recorre */
    .tt-bk-fixed::after {
      content: "" !important;
      position: absolute !important;
      top: 0 !important; left: -80% !important;
      width: 45% !important; height: 100% !important;
      background: linear-gradient(105deg, transparent, rgba(255,255,255,.55), transparent) !important;
      animation: tt-bk-shine 2.6s ease-in-out infinite !important;
    }
    @keyframes tt-bk-shine {
      0% { left: -80%; }
      55% { left: 135%; }
      100% { left: 135%; }
    }
    @media (max-width: 768px) {
      .tt-bk-fixed {
        top: auto !important;
        bottom: 22px !important;
        right: 22px !important;
        padding: 11px 18px !important;
        font-size: 12px !important;
      }
    }


    /* ═══ BOOKING — efecto agua interna tipo Gemini + dot rojo ═══ */
    .tt-bk-fixed {
      background: linear-gradient(115deg, #0891b2, #06b6d4) !important;
      animation: none !important;
    }
    /* Olas de agua dentro del botón */
    .tt-bk-water {
      position: absolute;
      top: 50%; left: 50%;
      width: 220%; height: 210%;
      background: rgba(255,255,255,.14);
      border-radius: 42%;
      transform: translate(-50%, -46%);
      animation: tt-water-spin 6s linear infinite;
      pointer-events: none;
    }
    .tt-bk-water--2 {
      background: rgba(34,211,238,.22);
      border-radius: 46%;
      animation: tt-water-spin 9s linear infinite reverse;
      transform: translate(-50%, -44%);
    }
    @keyframes tt-water-spin {
      to { transform: translate(-50%, -46%) rotate(360deg); }
    }
    /* Contenido sobre el agua */
    .tt-bk-fixed i, .tt-bk-fixed { z-index: 1; }
    .tt-bk-fixed i { position: relative; z-index: 2; }

    /* Dot rojo: oculto, aparece al hover con brillo interno */
    .tt-bk-dot {
      position: absolute; z-index: 3;
      width: 9px; height: 9px;
      border-radius: 50%;
      background: radial-gradient(circle at 35% 35%, #ff8a80, #ef4444 60%, #b91c1c);
      opacity: 0;
      transform: translate(-50%, -50%) scale(0);
      transition: opacity .25s, transform .3s cubic-bezier(.34,1.56,.64,1);
      pointer-events: none;
      left: 50%; top: 50%;
    }
    .tt-bk-fixed:hover .tt-bk-dot {
      opacity: 1;
      transform: translate(-50%, -50%) scale(1);
      animation: tt-dot-glow 1.4s ease-in-out infinite;
    }
    @keyframes tt-dot-glow {
      0%, 100% { box-shadow: 0 0 4px 1px rgba(239,68,68,.6); }
      50% { box-shadow: 0 0 10px 3px rgba(239,68,68,.9); }
    }
    /* Crece al hover con rebote */
    .tt-bk-fixed:hover {
      transform: scale(1.08) !important;
      box-shadow: 0 14px 40px rgba(6,182,212,.55) !important;
    }
    /* Click: aplasta */
    .tt-bk-fixed:active { transform: scale(.95) !important; }
    /* Borde luminoso sutil */
    .tt-bk-fixed {
      border: 1.5px solid rgba(255,255,255,.35) !important;
    }


    /* Map wrapper: pins % = image % */
    .dest-map__visual { height: auto !important; padding: 24px 0 !important; display: block !important; }
    .tt-map-wrap { position: relative; width: min(960px, 94%); margin: 0 auto; }
    .tt-map-img { width: 100%; display: block; opacity: .85; filter: hue-rotate(160deg) saturate(.5) brightness(1.05); }
    .tt-map-wrap .gpin { position: absolute; }
    @media (max-width:768px) {
      .tt-map-wrap { width: 98%; }
      .gpin__marker { width: 22px !important; height: 22px !important; }
      .gpin__marker span { font-size: 7.5px !important; }
    }

