/* Flight & Sail — Design System v4 (Production)
   Navy #0B2545 · Coral #FF6B4A · Teal #0D9488
   DM Serif Display (headlines) · Inter (body) · JetBrains Mono (prices)
*/

:root {
  --navy: #0B2545;
  --navy-mid: #0F3060;
  --navy-deep: #081C36;
  --coral: #FF6B4A;
  --coral-hover: #FF5533;
  --coral-10: rgba(255,107,74,0.1);
  --coral-20: rgba(255,107,74,0.2);
  --teal: #0D9488;
  --teal-10: rgba(13,148,136,0.1);
  --emerald: #059669;
  --emerald-10: rgba(5,150,105,0.1);
  --white: #FFFFFF;
  --g50: #F8FAFB;
  --g100: #F3F4F6;
  --g200: #E5E7EB;
  --g300: #D1D5DB;
  --g400: #9CA3AF;
  --g500: #6B7280;
  --g700: #374151;
  --g900: #111827;
  --r: 1rem;
  --r-sm: 0.5rem;
  --r-lg: 1.25rem;
  --r-full: 50px;
  --shadow: 0 1px 3px rgba(0,0,0,0.04);
  --shadow-md: 0 4px 20px rgba(0,0,0,0.07);
  --shadow-lg: 0 12px 40px rgba(0,0,0,0.1);
  --ease: cubic-bezier(0.16,1,0.3,1);
  --max-w: 1140px;
}

/* Reset */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px;-webkit-text-size-adjust:100%}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;color:var(--g900);background:var(--g50);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal);text-decoration:none}
a:hover{text-decoration:underline}
.hidden{display:none!important}
.container{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}
h1,h2,h3{font-weight:600;letter-spacing:-0.02em;line-height:1.2;color:var(--navy)}
.section-title,.hero__tagline,.why-card__total,.combo-card__total-price{font-family:'DM Serif Display',Georgia,serif;letter-spacing:-0.01em}

/* Fade-in animations */
.fade-in{opacity:0;transform:translateY(24px);transition:opacity 0.6s var(--ease),transform 0.6s var(--ease)}
.fade-in.visible{opacity:1;transform:translateY(0)}

/* ===================== HEADER ===================== */
.header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  transition:all 0.3s ease;
  background:transparent;
}
.header--solid{
  background:rgba(11,37,69,0.95);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 1px 0 rgba(255,255,255,0.05);
}
.header--hidden{transform:translateY(-100%)}
.header__inner{
  max-width:var(--max-w);margin:0 auto;padding:0 1.5rem;
  height:64px;display:flex;align-items:center;justify-content:space-between;
}
.header__logo{
  font-size:1.25rem;font-weight:700;color:var(--white);text-decoration:none;letter-spacing:-0.02em;
}
.header__logo span{color:var(--coral);font-weight:300}
.header__nav{display:flex;align-items:center;gap:1.5rem}
.header__link{color:rgba(255,255,255,0.65);font-size:0.85rem;font-weight:500;transition:color 0.2s}
.header__link:hover{color:var(--white);text-decoration:none}
.header__cta{
  background:var(--coral);color:var(--white);border:none;border-radius:var(--r-full);
  padding:0.5rem 1.25rem;font-family:inherit;font-size:0.8rem;font-weight:600;
  cursor:pointer;transition:all 0.2s;
}
.header__cta:hover{background:var(--coral-hover);transform:translateY(-1px)}
.header__burger{display:none;background:none;border:none;cursor:pointer;padding:0.5rem}
.header__burger span{display:block;width:20px;height:2px;background:var(--white);margin:4px 0;transition:0.3s}

@media(max-width:768px){
  .header__nav{
    display:none;position:fixed;top:64px;left:0;right:0;
    background:rgba(11,37,69,0.98);flex-direction:column;padding:1.5rem;gap:1rem;
    border-top:1px solid rgba(255,255,255,0.08);
  }
  .header__nav--open{display:flex}
  .header__burger{display:block}
}

/* ===================== HERO ===================== */
.hero{
  background:var(--navy);color:var(--white);position:relative;overflow:hidden;
  transition:all 0.5s var(--ease);padding-top:64px;
}
.hero__bg{position:absolute;inset:0;
  background:radial-gradient(ellipse at 30% 20%,rgba(13,148,136,0.12) 0%,transparent 50%),
             radial-gradient(ellipse at 70% 80%,rgba(255,107,74,0.06) 0%,transparent 50%),
             linear-gradient(180deg,var(--navy) 0%,var(--navy-mid) 50%,var(--navy) 100%);
}
.hero__stars{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.star{
  position:absolute;border-radius:50%;background:white;
  animation:twinkle var(--dur,3s) ease-in-out infinite;opacity:0;
}
@keyframes twinkle{0%,100%{opacity:0}50%{opacity:var(--max-o,0.5)}}

.hero__inner{
  position:relative;z-index:1;max-width:var(--max-w);margin:0 auto;
  padding:4rem 1.5rem 4.5rem;text-align:center;
}
.hero--compact .hero__inner{padding:1.5rem 1.5rem 2rem}
.hero__logo-large{font-size:3rem;font-weight:700;letter-spacing:-0.03em;margin-bottom:0.5rem;animation:heroFadeIn 0.8s var(--ease) both}
.hero__tagline{animation:heroFadeIn 0.8s var(--ease) 0.1s both}
.hero__sub{animation:heroFadeIn 0.8s var(--ease) 0.2s both}
.hero__proof{animation:heroFadeIn 0.8s var(--ease) 0.3s both}
.search-form{animation:heroFadeIn 0.6s var(--ease) 0.4s both}
@keyframes heroFadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.hero__logo-large .amp{color:var(--coral);font-weight:300;font-size:0.8em}
.hero__tagline{font-size:1.2rem;font-weight:300;color:rgba(255,255,255,0.7);margin-bottom:0.4rem}
.hero__sub{font-size:0.9rem;color:rgba(255,255,255,0.4);margin-bottom:1.5rem}
.hero__proof{
  display:flex;align-items:center;justify-content:center;gap:0.75rem;flex-wrap:wrap;
  margin-bottom:2.5rem;font-size:0.8rem;color:rgba(255,255,255,0.5);
}
.hero__proof-dot{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,0.25)}
.hero--compact .hero__branding{display:none}

/* Waves */
.hero__waves{position:absolute;bottom:-1px;left:0;width:100%;height:80px;overflow:hidden;pointer-events:none}
.hero__waves svg{position:absolute;bottom:0;width:200%;height:100%}
.wave-a{animation:drift 7s ease-in-out infinite;opacity:0.08}
.wave-b{animation:drift 11s ease-in-out infinite reverse;opacity:0.05}
@keyframes drift{0%,100%{transform:translateX(0)}50%{transform:translateX(-25%)}}

/* ===================== SEARCH FORM ===================== */
.search-form{
  background:rgba(255,255,255,0.06);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:var(--r-lg);padding:1.25rem;max-width:960px;margin:0 auto;
  transition:box-shadow 0.3s ease;
}
.search-form:focus-within{
  box-shadow:0 0 0 2px rgba(255,107,74,0.35),0 8px 32px rgba(0,0,0,0.2);
}
.search-form__grid{
  display:grid;
  grid-template-columns:1.2fr 1.2fr 0.8fr 0.8fr auto auto;
  gap:0.6rem;align-items:end;
}
.search-form__field{display:flex;flex-direction:column;gap:0.2rem}
.search-form__field label{
  font-size:0.65rem;text-transform:uppercase;letter-spacing:0.06em;
  color:rgba(255,255,255,0.45);font-weight:600;
}
.search-form__field select,.search-form__field input{
  background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.1);
  border-radius:var(--r-sm);color:var(--white);font-family:inherit;font-size:0.85rem;
  padding:0.55rem 0.65rem;outline:none;transition:border-color 0.2s;width:100%;
  height:38px;
}
.search-form__field select:focus,.search-form__field input:focus{border-color:var(--coral)}
.search-form__field select option{background:var(--navy);color:var(--white)}
.search-form__field input[type="month"]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:0.5}

.guest-counter{
  display:flex;align-items:center;gap:0.35rem;
  background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.1);
  border-radius:var(--r-sm);padding:0.35rem 0.5rem;height:38px;
}
.guest-counter button{
  width:26px;height:26px;border-radius:50%;border:1px solid rgba(255,255,255,0.15);
  background:transparent;color:var(--white);font-size:1rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:0.2s;
  line-height:1;
}
.guest-counter button:hover{background:rgba(255,255,255,0.1)}
.guest-counter button:active{transform:scale(0.9)}
.guest-counter__val{font-size:0.95rem;font-weight:600;min-width:1.2rem;text-align:center}

.search-form__submit{
  display:flex;align-items:center;justify-content:center;gap:0.4rem;
  width:100%;height:38px;padding:0 1.25rem;
  background:var(--coral);color:var(--white);border:none;border-radius:var(--r-sm);
  font-family:inherit;font-size:0.85rem;font-weight:600;cursor:pointer;
  transition:all 0.2s;white-space:nowrap;
}
.search-form__submit:hover:not(:disabled){background:var(--coral-hover);transform:translateY(-1px)}
.search-form__submit:active:not(:disabled){transform:scale(0.97)}
.search-form__submit:disabled{opacity:0.7;cursor:not-allowed}

/* Spinner */
.spinner{
  width:16px;height:16px;border:2px solid rgba(255,255,255,0.3);border-top-color:var(--white);
  border-radius:50%;animation:spin 0.6s linear infinite;flex-shrink:0;
}
@keyframes spin{to{transform:rotate(360deg)}}

.search-error{color:var(--coral);font-size:0.8rem;margin-top:0.5rem;text-align:center}

@media(max-width:900px){
  .search-form__grid{grid-template-columns:1fr 1fr}
  .search-form__field--submit{grid-column:1/-1}
  .search-form__submit{height:44px;font-size:0.9rem}
}
@media(max-width:480px){
  .search-form__grid{grid-template-columns:1fr}
  .search-form{padding:1rem}
  .hero__logo-large{font-size:2.2rem}
  .hero__tagline{font-size:1rem}
  .hero__proof{font-size:0.7rem;gap:0.5rem}
}

/* ===================== TRUST BAR ===================== */
.trust-bar{background:var(--white);border-bottom:1px solid var(--g200)}
.trust-bar__inner{
  max-width:var(--max-w);margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  padding:1.25rem 1.5rem;
}
.trust-bar__item{
  display:flex;align-items:center;gap:0.65rem;
  padding:0.5rem 1rem;border-right:1px solid var(--g200);
}
.trust-bar__item:last-child{border-right:none}
.trust-bar__icon{
  width:32px;height:32px;flex-shrink:0;
  stroke:var(--teal);
}
.trust-bar__title{font-size:0.8rem;font-weight:600;color:var(--navy);line-height:1.2}
.trust-bar__desc{font-size:0.65rem;color:var(--g400);line-height:1.3}

@media(max-width:768px){
  .trust-bar__inner{grid-template-columns:1fr 1fr;gap:0.5rem}
  .trust-bar__item{border-right:none;padding:0.5rem}
  .trust-bar__item:nth-child(odd){border-right:1px solid var(--g200)}
}
@media(max-width:480px){
  .trust-bar__inner{grid-template-columns:1fr;gap:0}
  .trust-bar__item{border-right:none!important;padding:0.6rem 0.5rem;border-bottom:1px solid var(--g100)}
  .trust-bar__item:last-child{border-bottom:none}
}

/* ===================== LANDING ===================== */
.landing{padding:4rem 0}
.section-title{text-align:center;font-size:2rem;margin-bottom:2.5rem;font-weight:400;color:var(--navy)}

/* How it works */
.how-it-works{margin-bottom:5rem}
.steps{display:flex;align-items:flex-start;justify-content:center;gap:0}
.step{
  text-align:center;padding:1.5rem;flex:1;max-width:280px;position:relative;
}
.step__num{
  font-family:'JetBrains Mono',monospace;font-size:0.7rem;font-weight:700;
  color:var(--coral);letter-spacing:0.06em;margin-bottom:0.5rem;
}
.step__icon{
  width:64px;height:64px;border-radius:16px;background:var(--coral-10);
  display:flex;align-items:center;justify-content:center;font-size:1.75rem;
  margin:0 auto 1rem;
}
.step h3{font-size:1rem;margin-bottom:0.4rem}
.step p{font-size:0.85rem;color:var(--g500);line-height:1.5}
.step__connector{
  width:60px;height:2px;margin-top:48px;flex-shrink:0;
  background:repeating-linear-gradient(90deg,var(--g300) 0,var(--g300) 6px,transparent 6px,transparent 12px);
}
@media(max-width:768px){
  .steps{flex-direction:column;align-items:center}
  .step__connector{width:2px;height:30px;margin:0;
    background:repeating-linear-gradient(180deg,var(--g300) 0,var(--g300) 6px,transparent 6px,transparent 12px);
  }
}

/* Why section */
.why-section{margin-bottom:5rem}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:700px;margin:0 auto}
.why-card{
  padding:1.5rem;border-radius:var(--r-lg);border:1px solid var(--g200);
  background:var(--white);
}
.why-card--bad{border-color:var(--g200)}
.why-card--good{border-color:var(--teal);background:var(--teal-10)}
.why-card__header{
  font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;
  margin-bottom:1rem;color:var(--g500);
}
.why-card--good .why-card__header{color:var(--teal)}
.why-card__item{font-size:0.9rem;color:var(--g700);padding:0.4rem 0;border-bottom:1px solid var(--g100)}
.why-card__item strong{font-family:'JetBrains Mono',monospace}
.why-card__tag{
  display:inline-block;font-size:0.65rem;padding:0.15rem 0.4rem;border-radius:var(--r-full);
  background:var(--coral-10);color:var(--coral);font-weight:600;margin-left:0.3rem;
}
.why-card__tag--green{background:var(--emerald-10);color:var(--emerald)}
.why-card__total{
  font-size:1rem;font-weight:700;margin-top:0.75rem;color:var(--navy);
  font-family:'JetBrains Mono',monospace;
}
.why-card__savings{
  display:inline-block;font-size:0.75rem;padding:0.2rem 0.5rem;border-radius:var(--r-full);
  background:var(--emerald-10);color:var(--emerald);font-weight:600;margin-left:0.5rem;
}
@media(max-width:600px){.why-grid{grid-template-columns:1fr}}

/* Features */
.features-section{margin-bottom:5rem}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.feature-card{
  padding:1.75rem 1.5rem;background:var(--white);border:1px solid var(--g200);
  border-radius:var(--r-lg);transition:all 0.3s var(--ease);
}
.feature-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--g300)}
.feature-card__icon{font-size:1.75rem;margin-bottom:0.75rem}
.feature-card__title{font-size:0.95rem;margin-bottom:0.4rem}
.feature-card__desc{font-size:0.8rem;color:var(--g500);line-height:1.55}
@media(max-width:768px){.features-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.features-grid{grid-template-columns:1fr}}

/* Destinations */
.destinations-section{margin-bottom:3rem}
.dest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.dest-card{
  background:var(--white);border:1px solid var(--g200);border-radius:var(--r-lg);
  padding:1.25rem;display:flex;align-items:center;gap:1rem;cursor:pointer;
  transition:all 0.3s var(--ease);
}
.dest-card:hover{border-color:var(--coral);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.dest-card__flag{font-size:2.25rem;flex-shrink:0}
.dest-card__info{flex:1}
.dest-card__info h3{font-size:1rem;margin-bottom:0.1rem}
.dest-card__info p{font-size:0.75rem;color:var(--g400);line-height:1.3}
.dest-card__bases{
  display:inline-block;font-size:0.65rem;padding:0.15rem 0.4rem;border-radius:var(--r-full);
  background:var(--g100);color:var(--g500);font-weight:500;margin-top:0.3rem;
}
.dest-card__arrow{color:var(--g300);flex-shrink:0;transition:0.2s}
.dest-card:hover .dest-card__arrow{color:var(--coral);transform:translateX(3px)}
@media(max-width:768px){.dest-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.dest-grid{grid-template-columns:1fr}}

/* ===================== RESULTS ===================== */
.results-section{padding:2rem 0 4rem}
.results-header{margin-bottom:1.25rem}
.results-header__top{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.results-header h2{font-size:1.5rem;font-family:'DM Serif Display',Georgia,serif;font-weight:400}
.results-meta{color:var(--g500);font-size:0.85rem;margin-top:0.25rem}
.results-meta strong{color:var(--navy);font-weight:600}

/* Share button */
.btn--share{
  display:inline-flex;align-items:center;gap:0.35rem;
  padding:0.4rem 0.9rem;border-radius:var(--r-sm);
  background:var(--white);border:1px solid var(--g200);
  color:var(--g500);font-size:0.75rem;font-weight:500;
  cursor:pointer;transition:all 0.2s;font-family:inherit;
}
.btn--share:hover{border-color:var(--g400);color:var(--g700);text-decoration:none}
.btn--share svg{stroke:currentColor}

/* Toolbar */
.toolbar{
  display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;
  margin-bottom:1.5rem;flex-wrap:wrap;
}
.toolbar__sort{display:flex;flex-direction:column;gap:0.2rem}
.toolbar__sort label{font-size:0.65rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--g400);font-weight:600}
.toolbar select{
  padding:0.45rem 0.7rem;border:1px solid var(--g200);border-radius:var(--r-sm);
  font-family:inherit;font-size:0.8rem;background:var(--white);color:var(--g700);cursor:pointer;
}
.filters{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}
.filter-group{display:flex;flex-direction:column;gap:0.2rem}
.filter-group label{font-size:0.65rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--g400);font-weight:600}
.filter-group select{
  padding:0.45rem 0.6rem;border:1px solid var(--g200);border-radius:var(--r-sm);
  font-family:inherit;font-size:0.8rem;background:var(--white);
}
.filter-group--checkbox label{
  display:flex;align-items:center;gap:0.35rem;font-size:0.8rem;
  color:var(--g700);text-transform:none;letter-spacing:normal;cursor:pointer;padding-top:1rem;
}

/* ===================== COMBO CARD v4 ===================== */
.combo-card{
  background:var(--white);border:1px solid var(--g200);border-radius:12px;
  overflow:hidden;transition:all 0.25s var(--ease);margin-bottom:1.25rem;
  box-shadow:0 2px 16px rgba(11,37,69,0.06);display:grid;grid-template-columns:280px 1fr;
}
.combo-card:hover{box-shadow:0 8px 32px rgba(11,37,69,0.12);transform:translateY(-3px);border-color:var(--g300)}

.combo-card__image{
  position:relative;overflow:hidden;background:var(--navy-mid);
  min-height:240px;
}
.combo-card__image img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease}
.combo-card:hover .combo-card__image img{transform:scale(1.03)}
.combo-card__discount{
  position:absolute;top:0.6rem;right:0.6rem;
  background:var(--coral);color:var(--white);font-family:'JetBrains Mono',monospace;
  font-size:0.75rem;font-weight:700;padding:0.2rem 0.45rem;border-radius:var(--r-sm);
}

.combo-card__body{padding:1.25rem 1.5rem;display:flex;flex-direction:column}

/* Title & specs */
.combo-card__title{font-size:1.05rem;font-weight:600;margin-bottom:0.35rem;line-height:1.3;color:var(--navy)}
.combo-card__specs{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;font-size:0.78rem;color:var(--g500);margin-bottom:0.3rem}
.combo-card__specs-dot{width:3px;height:3px;border-radius:50%;background:var(--g300);flex-shrink:0}
.combo-card__location{
  font-size:0.78rem;color:var(--g500);display:flex;align-items:center;gap:0.3rem;
}
.combo-card__location svg{stroke:var(--coral);flex-shrink:0}
.combo-card__company{color:var(--g400)}
.combo-card__rating{display:inline-flex;align-items:center;gap:0.2rem}
.combo-card__stars{color:#F59E0B;letter-spacing:1px;font-size:0.7rem}
.combo-card__score{color:var(--g700);font-weight:600;font-size:0.75rem}
.combo-card__reviews{color:var(--g400);font-weight:400;font-size:0.7rem}

/* Dates */
.combo-card__dates{
  font-size:0.78rem;color:var(--g500);padding:0.5rem 0;
  margin:0.4rem 0;font-weight:500;
  display:flex;align-items:center;gap:0.35rem;
}
.combo-card__dates svg{stroke:var(--g400);flex-shrink:0}

/* Cost stack */
.combo-card__cost-stack{
  margin:0.4rem 0;padding:0.75rem 0.85rem;
  background:var(--g50);border-radius:8px;border:1px solid var(--g100);
}
.combo-card__cost-line{
  display:flex;justify-content:space-between;align-items:baseline;gap:0.5rem;
  padding:0.3rem 0;font-size:0.78rem;
}
.combo-card__cost-label{
  color:var(--g500);flex:1;min-width:0;
  display:flex;align-items:center;gap:0.35rem;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.combo-card__cost-label svg{stroke:var(--g400);flex-shrink:0;width:14px;height:14px}
.combo-card__cost-label em{
  font-style:normal;color:var(--white);font-weight:700;font-size:0.6rem;
  text-transform:uppercase;letter-spacing:0.04em;
  background:var(--emerald);padding:0.1rem 0.35rem;border-radius:3px;margin-left:0.2rem;
}
.combo-card__cost-label small{color:var(--g400);font-size:0.7rem}
.combo-card__cost-val{
  font-family:'JetBrains Mono',monospace;font-weight:600;color:var(--g700);
  white-space:nowrap;text-align:right;font-size:0.75rem;
}
.combo-card__cost-val s{color:var(--g400);font-weight:400;margin-right:0.25rem}
.combo-card__cost-val small{font-weight:400;color:var(--g400);font-size:0.65rem}
.combo-card__savings-line{
  font-size:0.7rem;color:var(--emerald);font-weight:600;
  padding:0.2rem 0;text-align:right;
}
.combo-card__cost-total{
  display:flex;justify-content:space-between;align-items:baseline;
  padding:0.45rem 0 0;margin-top:0.3rem;
  border-top:1px dashed var(--g300);font-size:0.82rem;font-weight:700;color:var(--navy);
}
.combo-card__cost-total span:last-child{
  font-family:'JetBrains Mono',monospace;font-size:0.95rem;
}

/* Footer / total */
.combo-card__footer{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding-top:0.85rem;border-top:2px solid var(--g100);margin-top:auto;
}
.combo-card__total{text-align:left}
.combo-card__total-price{font-size:1.75rem;font-weight:400;color:var(--navy);line-height:1}
.combo-card__per-person{font-family:'JetBrains Mono',monospace;font-size:0.7rem;color:var(--teal);font-weight:600;margin-top:0.15rem}
.combo-card__actions{display:flex;gap:0.5rem;flex-shrink:0}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:0.55rem 1.1rem;border-radius:var(--r-sm);font-family:inherit;
  font-size:0.78rem;font-weight:600;cursor:pointer;transition:all 0.2s;
  border:none;text-decoration:none;white-space:nowrap;
}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn:active{transform:scale(0.97)}
.btn--flight{background:var(--navy);color:var(--white)}
.btn--flight:hover{background:var(--navy-mid)}
.btn--charter{background:var(--coral);color:var(--white)}
.btn--charter:hover{background:var(--coral-hover)}
.btn--load-more{
  background:var(--white);color:var(--navy);border:1px solid var(--g200);
  padding:0.75rem 2rem;font-size:0.85rem;border-radius:var(--r-full);
  margin:0 auto;display:flex;
}
.btn--load-more:hover{border-color:var(--coral);color:var(--coral)}

/* Season & value badges */
.combo-card__badge-row{display:flex;gap:0.35rem;flex-wrap:wrap;margin-bottom:0.4rem}
.combo-card__badge{
  display:inline-flex;align-items:center;gap:0.2rem;
  font-size:0.6rem;font-weight:700;padding:0.2rem 0.45rem;
  border-radius:var(--r-full);text-transform:uppercase;letter-spacing:0.03em;
}
.combo-card__badge--deal{background:var(--teal-10);color:var(--teal)}
.combo-card__badge--earlybird{background:#FEF3C7;color:#92400E}
.combo-card__badge--lastminute{background:var(--coral-10);color:var(--coral)}
.combo-card__badge--best{background:var(--emerald-10);color:var(--emerald)}

/* Image overlay badges */
.combo-card__img-badges{
  position:absolute;bottom:0.6rem;left:0.6rem;display:flex;gap:0.35rem;flex-wrap:wrap;
}
.combo-card__img-type{
  background:rgba(11,37,69,0.75);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  color:var(--white);font-size:0.65rem;font-weight:600;padding:0.2rem 0.5rem;
  border-radius:var(--r-full);display:inline-flex;align-items:center;gap:0.25rem;
}
.combo-card__img-year{
  background:rgba(255,255,255,0.15);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  color:var(--white);font-size:0.6rem;font-weight:600;padding:0.2rem 0.4rem;
  border-radius:var(--r-full);font-family:'JetBrains Mono',monospace;
}

/* Card entrance animation */
@keyframes cardEnter{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:translateY(0)}
}
.combo-card{animation:cardEnter 0.35s var(--ease) both}

@media(max-width:768px){
  .combo-card{grid-template-columns:1fr}
  .combo-card__image{min-height:200px;height:200px}
  .combo-card__body{padding:1rem 1.25rem}
  .combo-card__footer{flex-direction:column;align-items:stretch;text-align:center;gap:0.75rem}
  .combo-card__total{text-align:center}
  .combo-card__actions{justify-content:center}
  .toolbar{flex-direction:column;align-items:stretch;gap:0.75rem}
  .filters{gap:0.6rem}
  .results-header__top{flex-direction:column;align-items:flex-start;gap:0.5rem}
}
@media(max-width:480px){
  .combo-card__actions{flex-direction:column}
  .btn{width:100%;padding:0.65rem 1rem}
  .filters{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem}
  .filter-group--checkbox{grid-column:1/-1}
}

/* ===================== CALENDAR ===================== */
.calendar-strip{
  margin-bottom:1.5rem;padding:1.25rem 1.5rem;background:var(--white);
  border:1px solid var(--g200);border-radius:var(--r-lg);
  box-shadow:0 1px 4px rgba(11,37,69,0.04);
}
.calendar-strip__header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:0.85rem}
.calendar-strip__title{font-size:0.9rem;font-weight:600;color:var(--navy)}
.calendar-strip__hint{font-size:0.7rem;color:var(--g400)}
.calendar-strip__weeks{
  display:flex;gap:0.5rem;overflow-x:auto;padding-bottom:0.25rem;
  scrollbar-width:thin;scrollbar-color:var(--g300) transparent;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 2%,#000 98%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 2%,#000 98%,transparent 100%);
}
.cal-week{
  flex-shrink:0;padding:0.65rem 1rem;border-radius:var(--r);
  border:2px solid transparent;cursor:pointer;text-align:center;
  min-width:105px;transition:all 0.2s;background:var(--g50);
}
.cal-week:hover{border-color:var(--g300);background:var(--white)}
.cal-week--active{border-color:var(--coral)!important;background:var(--coral-10)!important}
.cal-week--best{background:var(--teal-10);border-color:var(--teal)}
.cal-week__date{font-size:0.7rem;color:var(--g500);font-weight:500;margin-bottom:0.15rem}
.cal-week__price{font-family:'JetBrains Mono',monospace;font-size:0.85rem;font-weight:700;color:var(--heat,var(--g700))}
.cal-week__price small{font-weight:400;font-size:0.6rem;color:var(--g400)}
.cal-week__badge{font-size:0.55rem;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:0.06em;margin-top:0.1rem}
.cal-week__count{font-size:0.6rem;color:var(--g400);margin-top:0.15rem}

/* ===================== LOAD MORE ===================== */
#load-more{text-align:center;padding:1rem 0}

/* ===================== STATES ===================== */
.no-results{text-align:center;padding:4rem 2rem;color:var(--g500)}
.no-results__icon{margin-bottom:1rem;display:flex;justify-content:center}
.no-results__icon svg{stroke:var(--g300)}
.no-results h3{color:var(--g700);margin-bottom:0.5rem}
.no-results__hint{margin-top:1rem;font-size:0.8rem;color:var(--g400)}
.error-msg{background:var(--coral-10);color:var(--coral);padding:1rem;border-radius:var(--r-sm);text-align:center}

/* Skeleton */
.combo-card--skeleton{pointer-events:none}
.combo-card--skeleton .combo-card__image{
  background:linear-gradient(90deg,var(--g100) 25%,var(--g50) 50%,var(--g100) 75%);
  background-size:200% 100%;animation:shimmer 1.5s infinite;
}
.skeleton-line{
  height:12px;border-radius:4px;margin-bottom:0.6rem;
  background:linear-gradient(90deg,var(--g100) 25%,var(--g50) 50%,var(--g100) 75%);
  background-size:200% 100%;animation:shimmer 1.5s infinite;
}
.skeleton-line--wide{width:80%}.skeleton-line--medium{width:55%}.skeleton-line--narrow{width:35%}
.skeleton-pulse{animation:shimmer 1.5s infinite;
  background:linear-gradient(90deg,var(--g100) 25%,var(--g50) 50%,var(--g100) 75%);background-size:200% 100%}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ===================== FOOTER ===================== */
.site-footer{background:var(--navy-deep);color:rgba(255,255,255,0.5);padding:3rem 1.5rem 1.5rem}
.site-footer__inner{
  max-width:var(--max-w);margin:0 auto;display:grid;
  grid-template-columns:2fr 1fr 1fr;gap:2rem;margin-bottom:2rem;
}
.site-footer__logo{
  font-size:1.25rem;font-weight:700;color:var(--white);margin-bottom:0.3rem;
}
.site-footer__logo span{color:var(--coral);font-weight:300}
.site-footer__brand p{font-size:0.8rem;color:rgba(255,255,255,0.35)}
.site-footer__links h4{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.06em;color:rgba(255,255,255,0.3);margin-bottom:0.6rem}
.site-footer__links a{display:block;color:rgba(255,255,255,0.5);font-size:0.8rem;margin-bottom:0.3rem;transition:0.2s}
.site-footer__links a:hover{color:var(--teal);text-decoration:none}
.site-footer__bottom{
  border-top:1px solid rgba(255,255,255,0.06);padding-top:1rem;
  font-size:0.65rem;color:rgba(255,255,255,0.2);text-align:center;
}
@media(max-width:768px){
  .site-footer__inner{grid-template-columns:1fr;gap:1.5rem;text-align:center}
}
