/* Package detail hero + glance (above Photos / scrollspy tabs) */
:root{
  --ih-navy:#2c3661;
  --ih-accent:#f75940;
  --ih-accent-d:#e04a32;
  --ih-cream:#fff4e3;
  --ih-green:#32ba46;
  --ih-muted:#6c757d;
  --ih-line:#ececec;
  --ih-gold:#f5b301;
}
.ih-hero{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  max-height:1080px;
  min-height:620px;
  background-size:cover;
  background-position:center;
  color:#fff;
  font-family:"Josefin Sans",sans-serif;
  overflow:hidden;
}
.ih-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,.08) 28%,rgba(0,0,0,.35) 60%,rgba(0,0,0,.82) 100%);
}
.ih-hero .container{
  position:relative;
  z-index:2;
  height:100%;
  display:flex;
  flex-direction:column;
  padding-top:140px;
  padding-bottom:clamp(28px,3.5vw,64px);
}
.ih-badges{display:flex;gap:10px;flex-wrap:wrap}
.ih-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 16px 6px;
  border-radius:38px;
  font-size:15px;
  font-weight:600;
  line-height:1.2;
}
.ih-pill.hot{background:var(--ih-accent);color:#fff}
.ih-pill.cust{background:#fff;color:var(--ih-navy)}
.ih-hero h1{
  font-family:"Josefin Sans",sans-serif;
  font-weight:500;
  font-size:clamp(40px,4.4vw,84px);
  line-height:1.05;
  margin:22px 0 18px;
  color:#fff;
  text-shadow:0 2px 20px rgba(0,0,0,.35);
}
.ih-chips{display:flex;flex-wrap:wrap;gap:10px}
.ih-chip{
  padding:9px 14px 7px;
  border-radius:10px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.35);
  font-size:16px;
  backdrop-filter:blur(6px);
}
.ih-feat{
  display:flex;
  gap:18px;
  align-items:center;
  max-width:620px;
  margin:28px 0 0;
  padding:18px 22px;
  border-radius:17px;
  background:rgba(20,24,40,.45);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(8px);
}
.ih-feat .ph{
  width:84px;
  height:84px;
  border-radius:50%;
  flex-shrink:0;
  overflow:hidden;
  border:3px solid #fff;
  background:#3b4a7a;
}
.ih-feat .ph img{width:100%;height:100%;object-fit:cover;display:block}
.ih-feat .ph svg{width:100%;height:100%;display:block}
.ih-feat .fs{font-size:13px;display:flex;gap:8px;align-items:center;opacity:.95}
.ih-stars{color:var(--ih-gold);letter-spacing:1px}
.ih-feat blockquote{font-size:20px;line-height:1.35;margin:8px 0 6px;color:#fff}
.ih-feat figcaption{font-size:14px;opacity:.92}
.ih-feat figcaption b{font-weight:600}
.ih-flag-sm{width:20px;height:14px;border-radius:2px;vertical-align:-2px;object-fit:cover}
.ih-top{display:flex;justify-content:space-between;align-items:flex-start;gap:32px}
.ih-left{min-width:0;flex:1}
.ih-bottom{
  margin-top:auto;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  flex-wrap:wrap;
}
.ih-proof{display:flex;flex-direction:column;gap:12px;font-size:17px}
.ih-for{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ih-for .t{font-size:15px;opacity:.9}
.ih-for .g{
  padding:7px 14px 5px;
  border-radius:38px;
  background:rgba(255,255,255,.94);
  color:var(--ih-navy);
  font-size:15px;
  font-weight:600;
}
.ih-price{
  background:var(--ih-cream);
  color:var(--ih-navy);
  border-radius:17px;
  padding:20px 22px;
  width:340px;
  max-width:100%;
  box-shadow:0 12px 40px rgba(0,0,0,.3);
  flex-shrink:0;
}
.ih-price .top{display:flex;justify-content:space-between;align-items:center}
.ih-price .from{font-size:13px;color:var(--ih-muted);text-transform:uppercase;letter-spacing:.06em}
.ih-price select{
  font-family:"Josefin Sans",sans-serif;
  font-size:14px;
  padding:5px 8px;
  border:1px solid #e4d7c2;
  border-radius:8px;
  background:#fff;
  color:var(--ih-navy);
  cursor:pointer;
}
.ih-price .amt{font-size:38px;font-weight:600;margin:4px 0 0;line-height:1.1}
.ih-price .amt small{font-size:15px;font-weight:400;color:var(--ih-muted)}
.ih-price .sub{font-size:14px;color:var(--ih-muted);margin:4px 0 14px}
.ih-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:100%;
  padding:12px 14px 10px;
  border-radius:10px;
  font-family:"Josefin Sans",sans-serif;
  font-size:18px;
  text-decoration:none!important;
  border:0;
  cursor:pointer;
}
.ih-btn.primary{background:var(--ih-accent);color:#fff!important}
.ih-btn.primary:hover{background:var(--ih-accent-d);color:#fff!important}
.ih-btn.wa{background:var(--ih-green);color:#fff!important;font-size:16px}
.ih-btn.ghost{background:#fff;color:var(--ih-navy)!important;font-size:16px;border:1px solid #e4d7c2}
.ih-row2{display:flex;gap:8px;margin-top:8px}
.ih-row2 .ih-btn{flex:1}

.ih-overview{padding:26px 0 6px;font-family:"Josefin Sans",sans-serif;color:var(--ih-navy)}
.ih-glance{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.ih-tile{background:#fff;border-radius:17px;box-shadow:0 10px 10px #e4e4e4;padding:16px}
.ih-tile .ic{font-size:24px;line-height:1}
.ih-tile .k{font-size:13px;color:var(--ih-muted);margin:6px 0 2px}
.ih-tile .v{font-size:17px;font-weight:600}
.ih-details{
  margin-top:18px;
  background:var(--ih-cream);
  border-radius:17px;
  padding:24px 30px;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:22px 34px;
}
.ih-d{display:flex;gap:14px;align-items:flex-start}
.ih-d .i{
  width:42px;
  height:42px;
  border-radius:12px;
  background:#fff;
  display:grid;
  place-items:center;
  font-size:19px;
  flex-shrink:0;
}
.ih-d b{display:block;font-size:17px;font-weight:600;margin-bottom:2px;color:var(--ih-navy)}
.ih-d span{font-size:15px;color:var(--ih-muted);line-height:1.45}

.ih-ov{
  position:fixed;
  inset:0;
  background:rgba(20,24,40,.6);
  display:none;
  align-items:center;
  justify-content:center;
  padding:16px;
  z-index:99999;
  font-family:"Josefin Sans",sans-serif;
}
.ih-ov.show{display:flex}
.ih-modal{
  background:#fff;
  border-radius:17px;
  max-width:540px;
  width:100%;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.35);
  animation:ihpop .25s ease;
  color:var(--ih-navy);
}
@keyframes ihpop{
  from{transform:translateY(12px) scale(.97);opacity:0}
  to{transform:none;opacity:1}
}
.ih-mtop{
  background:linear-gradient(135deg,#fde8dc 0%,#fff4e3 50%,#e3f3ec 100%);
  color:var(--ih-navy);
  padding:22px 24px;
  position:relative;
}
.ih-mtop .flag{
  width:54px;
  height:36px;
  border-radius:6px;
  object-fit:cover;
  box-shadow:0 2px 8px rgba(44,54,97,.18);
  display:block;
}
.ih-mtop h3{font-size:22px;margin:12px 0 2px;color:var(--ih-navy);font-weight:600}
.ih-mtop p{font-size:14px;margin:0;color:var(--ih-muted)}
.ih-x{
  position:absolute;
  top:14px;
  right:14px;
  width:32px;
  height:32px;
  border-radius:50%;
  border:0;
  background:rgba(44,54,97,.08);
  color:var(--ih-navy);
  font-size:16px;
  cursor:pointer;
}
.ih-mlist{padding:16px 20px;display:flex;flex-direction:column;gap:10px;max-height:280px;overflow:auto}
.ih-pk{
  display:flex;
  align-items:center;
  gap:12px;
  border-radius:12px;
  padding:10px;
  text-decoration:none!important;
  color:var(--ih-navy)!important;
  background:#fff;
  border:1px solid #f0e6d6;
}
.ih-pk:hover{outline:1px solid var(--ih-accent)}
.ih-pk .th{
  width:58px;
  height:58px;
  border-radius:10px;
  flex-shrink:0;
  background-size:cover;
  background-position:center;
  background-color:#eee;
}
.ih-pk .t{font-weight:600;font-size:16px}
.ih-pk .s{font-size:13px;color:var(--ih-muted);margin-top:2px}
.ih-pk .pr{margin-left:auto;text-align:right;font-weight:600;font-size:17px;white-space:nowrap}
.ih-pk .pr small{display:block;font-weight:400;font-size:12px;color:var(--ih-muted)}
.ih-mbtn{display:flex;gap:8px;padding:4px 20px 20px}
.ih-mbtn .ih-btn{font-size:16px}

@media (max-width:1199px){
  .ih-glance{grid-template-columns:repeat(3,1fr)}
  .ih-details{grid-template-columns:1fr 1fr}
}
@media (max-width:991px){
  .ih-top{flex-direction:column}
  .ih-price{width:100%}
  .ih-hero .container{padding-top:110px}
}
@media (max-width:767px){
  .ih-hero{aspect-ratio:auto;min-height:0}
  .ih-hero .container{padding-top:90px;padding-bottom:28px}
  .ih-feat{padding:14px}
  .ih-feat .ph{width:60px;height:60px}
  .ih-feat blockquote{font-size:16px}
  .ih-chip{font-size:14px;padding:7px 10px 5px}
  .ih-glance{grid-template-columns:repeat(2,1fr)}
  .ih-details{grid-template-columns:1fr;padding:20px}
  .ih-hero h1{font-size:clamp(32px,9vw,48px)}
}
