/* Reusable luxury package selector — load only on multi-package tour pages */

.tps-sticky-sentinel{height:1px;margin:0;padding:0;border:0}

.tps-shell{background:#08152A;padding:0 1.25rem 0;position:relative}
.tps-shell::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(200,169,106,0.35),transparent);
}

.tps-bar{
  position:sticky;top:0;z-index:45;
  max-width:960px;margin:0 auto;
  padding:0.65rem 0 0;
  transition:box-shadow .35s ease,padding .35s ease;
}
.tps-bar.is-stuck{
  padding-top:0.45rem;
  box-shadow:0 10px 32px rgba(0,0,0,0.28);
}
.tps-bar.is-stuck .tps-track{
  border-radius:0 0 14px 14px;
  padding-bottom:6px;
}

.tps-track{
  display:flex;align-items:stretch;gap:5px;
  padding:6px 6px 0;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(200,169,106,0.12);
  border-bottom:none;
  border-radius:16px 16px 0 0;
  overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.tps-track::-webkit-scrollbar{display:none}

.tps-tab{
  position:relative;flex:1 1 0;min-width:0;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  gap:0.2rem;padding:0.95rem 1.15rem 1.05rem;
  border:none;border-radius:12px 12px 0 0;
  background:transparent;color:rgba(248,244,236,0.52);
  cursor:pointer;font-family:inherit;text-align:left;
  transition:background .38s ease,color .38s ease,transform .38s ease,box-shadow .38s ease;
  scroll-snap-align:center;
}
.tps-tab:hover:not(.is-active){color:rgba(248,244,236,0.78);background:rgba(255,255,255,0.04)}
.tps-tab.is-active{
  background:var(--BG);
  color:var(--P);
  transform:translateY(-3px);
  box-shadow:0 -6px 24px rgba(0,0,0,0.12),0 0 0 1px rgba(200,169,106,0.2);
  z-index:1;
}
.tps-tab.is-active::after{
  content:'';position:absolute;left:1rem;right:1rem;bottom:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--A),transparent);
  border-radius:2px;
}

.tps-tab-label{
  font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:700;line-height:1.1;
  letter-spacing:0.01em;
}
.tps-tab-sub{
  font-size:10px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;
  color:inherit;opacity:0.72;
}
.tps-tab.is-active .tps-tab-sub{color:var(--muted);opacity:1}
.tps-tab-price{
  font-size:10px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;opacity:0.65;
}
.tps-tab.is-active .tps-tab-price{color:var(--A);opacity:1}

.tps-tab-badge{
  position:absolute;top:0.45rem;right:0.55rem;
  font-size:8px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;
  padding:0.2rem 0.45rem;border-radius:4px;
  background:rgba(200,169,106,0.15);color:var(--A);
  border:1px solid rgba(200,169,106,0.35);
}
.tps-tab.is-active .tps-tab-badge{
  background:rgba(200,169,106,0.22);color:#8B6914;
}

.tps-content-bridge{
  height:0;background:var(--BG);
  max-width:960px;margin:0 auto;
  border-left:1px solid rgba(200,169,106,0.08);
  border-right:1px solid rgba(200,169,106,0.08);
}

.tps-page .tour-page{padding-top:0;border-top:3px solid var(--BG)}
.tps-page .season-banner{max-width:1200px;margin-left:auto;margin-right:auto}

.tps-content{max-width:1200px;margin:0 auto;width:100%}
.tps-content-inner{transition:opacity .34s ease}
.tps-content-inner.is-fading{opacity:0;pointer-events:none}

.tps-main{max-width:760px;margin:0 auto;padding:2.5rem 1.25rem 0}

.tps-highlights{
  display:flex;flex-wrap:wrap;gap:0.5rem 0.65rem;list-style:none;padding:0;margin:0;
}
.tps-highlights li{
  font-size:12px;font-weight:600;letter-spacing:0.04em;color:var(--P);
  padding:0.45rem 0.85rem;border-radius:100px;
  background:rgba(200,169,106,0.1);border:1px solid rgba(200,169,106,0.22);
}
.tps-highlights li::before{display:none}

.tps-excluded .tour-list li::before{background:#B8860B}

.tps-pricing-block{margin-bottom:0}
.tps-pricing-note{
  padding-top:0.75rem;margin:0;font-size:11px;line-height:1.55;
  color:var(--muted);border-top:1px solid rgba(14,51,72,0.06);
}

.tps-cta{padding:0 1.25rem 4rem}
.tps-cta-panel{
  display:grid;grid-template-columns:1fr auto;gap:2.5rem;align-items:center;
  max-width:1200px;margin:0 auto;padding:2.5rem 2.75rem;
  background:linear-gradient(135deg,#0B2A3D 0%,var(--P) 52%,#164E63 100%);
  border-radius:20px;border:1px solid rgba(200,169,106,0.18);
  box-shadow:0 24px 60px rgba(15,40,71,0.14);
}
.tps-cta-panel .sec-eyebrow{color:rgba(200,169,106,0.88)}
.tps-cta-panel .sec-title{color:#F8F4EC;margin-bottom:0.65rem}
.tps-cta-lead{font-size:14px;line-height:1.75;color:rgba(248,244,236,0.62);margin-bottom:1.25rem;max-width:480px}
.tps-cta-pricing{display:grid;gap:0.2rem}
.tps-cta-row{display:flex;justify-content:space-between;gap:1rem;font-size:12px;color:rgba(248,244,236,0.78);padding:0.3rem 0}
.tps-cta-row strong{font-size:13px;color:#F8F4EC;font-weight:600}
.tps-cta-row--sub{font-size:11px;color:rgba(248,244,236,0.48);padding-bottom:0.45rem;border-bottom:1px solid rgba(248,244,236,0.08)}
.tps-cta-note{font-size:11px;line-height:1.55;color:rgba(248,244,236,0.42);margin:0.65rem 0 0}
.tps-cta-action{text-align:center;min-width:200px}
.tps-cta-from{font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:rgba(248,244,236,0.5);margin-bottom:0.85rem}
.tps-cta-from span{display:block;font-family:var(--font-body);font-size:36px;font-weight:700;letter-spacing:0;color:#F8F4EC;margin-top:0.25rem;text-transform:none;font-variant-numeric:lining-nums tabular-nums}
.tps-cta-btn{width:100%;justify-content:center;min-width:200px}
.tps-cta-hint{font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:rgba(248,244,236,0.38);margin:0.85rem 0 0}

.tps-page .tour-related-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}

@media (min-width:769px){
  .tps-tab{min-width:160px}
}

@media (max-width:768px){
  .tps-shell{padding:0}
  .tps-bar{padding:0.5rem 0 0}
  .tps-bar.is-stuck .tps-track{border-radius:0;padding:5px 0.75rem 5px}
  .tps-track{
    gap:0.5rem;padding:5px 0.75rem 5px;
    border:none;border-radius:0;
    background:#08152A;
  }
  .tps-tab{
    flex:0 0 auto;min-width:132px;
    border-radius:100px;padding:0.72rem 1.1rem;
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(200,169,106,0.14);
    align-items:center;text-align:center;
  }
  .tps-tab.is-active{
    transform:none;
    border-color:rgba(200,169,106,0.65);
    box-shadow:0 0 20px rgba(200,169,106,0.18),inset 0 0 0 1px rgba(200,169,106,0.25);
    border-radius:100px;
  }
  .tps-tab.is-active::after{display:none}
  .tps-tab-label{font-size:17px}
  .tps-tab-sub{font-size:9px}
  .tps-tab-badge{position:static;margin-bottom:0.15rem;font-size:7px}
  .tps-tab-price{display:none}
  .tps-main{padding-top:1.75rem}
  .tps-cta-panel{grid-template-columns:1fr;text-align:center;padding:2rem 1.5rem}
  .tps-cta-lead{margin-left:auto;margin-right:auto}
  .tps-cta-action{margin:0 auto}
  .tps-cta-from span{font-size:30px}
}
