/* Lankan Travel premium tour detail — shared by every admin-managed package. */
.page-tour-detail { background:#f4f7fc; color:#34445d; }
.page-tour-detail .premium-footer { margin-top:0; }
.tour-detail { overflow:hidden; }
.tour-detail__hero { position:relative; min-height:min(720px,80vh); display:flex; align-items:flex-end; background:#071b3e; }
.tour-detail__hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.tour-detail__hero::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(2,13,35,.97) 0%,rgba(3,22,54,.88) 48%,rgba(3,22,54,.28) 82%),linear-gradient(0deg,rgba(2,13,35,.84),rgba(2,13,35,.08) 68%); }
.tour-detail__hero-inner { position:relative; z-index:2; width:100%; padding-top:clamp(5rem,10vw,8rem); padding-bottom:clamp(3rem,7vw,5.5rem); }
.tour-detail__crumbs { display:flex; flex-wrap:wrap; gap:.55rem; margin-bottom:1.6rem; color:#fff; font-size:.86rem; font-weight:750; text-shadow:0 2px 8px rgba(0,0,0,.8); }
.tour-detail__crumbs a { color:#bcd8ff; text-decoration:none; }
.tour-detail__eyebrow { display:inline-flex; align-items:center; gap:.7rem; color:#f0ca74; font-size:.75rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.tour-detail__eyebrow::before { content:""; width:34px; height:2px; background:#dfb552; }
.tour-detail__hero h1 { max-width:900px; margin:.8rem 0 1rem; color:#fff!important; font-size:clamp(2.4rem,5.8vw,5.15rem); font-weight:850; line-height:1.02; letter-spacing:-.04em; text-wrap:balance; text-shadow:0 3px 5px rgba(0,0,0,.92),0 10px 30px rgba(0,0,0,.72); }
.tour-detail__summary { max-width:800px; margin:0; color:#fff; font-size:clamp(1.05rem,1.55vw,1.22rem); font-weight:650; line-height:1.75; text-shadow:0 2px 8px rgba(0,0,0,.9); }
.tour-detail__facts { display:flex; flex-wrap:wrap; gap:.65rem; margin:1.5rem 0 0; }
.tour-detail__fact { padding:.65rem .9rem; border:1px solid rgba(255,255,255,.72); border-radius:8px; color:#fff; background:rgba(5,28,66,.68); backdrop-filter:blur(10px); font-size:.85rem; font-weight:800; box-shadow:0 6px 18px rgba(0,0,0,.22); text-shadow:0 1px 4px rgba(0,0,0,.8); }
.tour-detail__actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.8rem; }
.tour-detail__actions .btn { min-height:48px; padding:.8rem 1.2rem; border-radius:8px; }
.tour-detail__actions .btn--primary { background:#dfb552; color:#071b3e; }
.tour-detail__actions .btn--secondary { border-color:rgba(255,255,255,.65); color:#fff; background:rgba(7,27,62,.25); }
.tour-detail__body { padding:clamp(2.7rem,6vw,5rem) 1rem; }
.tour-detail__body > .card { margin-bottom:1.35rem; padding:clamp(1.25rem,3vw,2.15rem); border:1px solid #cbd9eb; border-radius:16px; background:#fff; box-shadow:0 14px 38px rgba(8,35,79,.13); }
.tour-detail__body p,.tour-detail__body li { color:#34445d; font-size:1rem; line-height:1.75; }
.tour-detail__body > .card h2 { margin-top:0; color:#071f48; font-size:clamp(1.55rem,3vw,2.25rem); }
.tour-detail__intro { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr); gap:1.2rem; margin-bottom:1.2rem; }
.tour-detail__intro > * { margin:0!important; }
.tour-detail__overview { padding:clamp(1.35rem,3vw,2.35rem); border:1px solid #c7d7eb; border-top:4px solid #2462b9; border-radius:16px; background:#fff; box-shadow:0 14px 38px rgba(8,35,79,.13); }
.tour-detail__overview h2 { margin:0 0 .8rem; color:#071f48; font-size:clamp(1.55rem,3vw,2.35rem); }
.tour-detail__overview p { margin:.65rem 0 0; line-height:1.82; }
.tour-detail__highlights { padding:clamp(1.35rem,3vw,2rem); border:2px solid #285da8; border-radius:16px; background:linear-gradient(145deg,#061a3b,#0a3473); color:#fff; box-shadow:0 16px 38px rgba(5,31,73,.3),inset 0 1px 0 rgba(255,255,255,.14); }
.tour-detail__highlights h2 { margin:0 0 1rem; color:#fff; font-size:1.35rem; }
.tour-detail__highlights ul { display:grid; gap:.7rem; margin:0; padding:0; list-style:none; }
.tour-detail__highlights li { position:relative; padding-left:1.5rem; color:#fff; font-weight:650; line-height:1.6; }
.tour-detail__highlights li::before { content:"✓"; position:absolute; left:0; color:#efc86f; font-weight:900; }
.tour-detail__service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; }
.tour-detail__service-grid > .card { margin:0; padding:clamp(1.25rem,3vw,2rem); border:1px solid #c7d7eb; border-top:4px solid #2462b9; border-radius:16px; background:linear-gradient(180deg,#fff,#f8fbff); box-shadow:0 14px 38px rgba(8,35,79,.13); }
.tour-detail__service-grid > .card:nth-child(2) { border-top-color:#d6a843; }
.tour-detail__service-grid p { color:#384a64; }
.tour-detail__service-grid strong { color:#102f60; }
.tour-detail__service-grid h2 { margin-top:0; color:#071f48; font-size:1.55rem; }
.tour-detail__section-kicker { display:block; margin-bottom:.4rem; color:#a87925; font-size:.72rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.tour-itinerary-card { padding:clamp(1.2rem,3vw,2.4rem)!important; border-color:#bfd1e7!important; background:#eaf1fa!important; box-shadow:0 18px 44px rgba(8,35,79,.15)!important; }
.tour-section-heading h2 { color:#071f48; font-size:clamp(1.8rem,4vw,3rem); }
.tour-itinerary-notice { display:grid; gap:.45rem; margin:1rem 0 1.5rem; padding:1rem 1.15rem; border-left:4px solid #dfb552; border-radius:0 10px 10px 0; background:#fff8e8; color:#5b4b2c; }
.tour-itinerary-notice p { margin:0; font-size:.9rem; line-height:1.6; }
.tour-accordion { display:grid; gap:.72rem; }
.tour-day-card { margin:0!important; padding:0!important; overflow:hidden; scroll-margin-top:105px; border:1px solid #c3d3e7!important; border-left:5px solid #2c65b6!important; border-radius:13px!important; background:#fff; box-shadow:0 10px 26px rgba(8,35,79,.11)!important; }
.tour-day-card[open] { border-color:#9cb9e7!important; box-shadow:0 15px 34px rgba(15,66,143,.12)!important; }
.tour-day-card__summary { display:grid; grid-template-columns:64px minmax(0,1fr) 36px; align-items:center; gap:1rem; min-height:92px; padding:.9rem 1.05rem; cursor:pointer; list-style:none; background:linear-gradient(90deg,#fff,#f5f9ff); transition:background .2s ease; }
.tour-day-card__summary::-webkit-details-marker { display:none; }
.tour-day-card__summary:hover { background:#f6f9ff; }
.tour-day-card[open] .tour-day-card__summary { background:linear-gradient(100deg,#071f48,#10458f); }
.tour-day-card__number { display:grid; width:54px; height:54px; place-items:center; border-radius:11px; background:#eaf1fc; color:#1552a8; font-size:1.08rem; font-weight:900; }
.tour-day-card[open] .tour-day-card__number { background:#dfb552; color:#071b3e; }
.tour-day-card__title small { display:block; margin-bottom:.22rem; color:#a87925; font-size:.68rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.tour-day-card__title strong { display:block; color:#061d43; font-family:var(--font-heading,serif); font-size:clamp(1.12rem,2vw,1.48rem); font-weight:850; line-height:1.25; }
.tour-day-card__title span { display:block; margin-top:.25rem; color:#607089; font-size:.82rem; font-weight:650; }
.tour-day-card[open] .tour-day-card__title small { color:#efc86f; }
.tour-day-card[open] .tour-day-card__title strong { color:#fff; }
.tour-day-card[open] .tour-day-card__title span { color:#d7e2f3; }
.tour-day-card__toggle { display:grid; width:32px; height:32px; place-items:center; border-radius:50%; background:#eaf1fc; color:#134b99; font-size:1.3rem; font-weight:400; transition:transform .2s ease; }
.tour-day-card[open] .tour-day-card__toggle { background:rgba(255,255,255,.15); color:#fff; transform:rotate(45deg); }
.tour-day-card__content { padding:clamp(1.25rem,3.3vw,2.2rem); border-top:1px solid #bfcfe4; background:#fff; color:#34445d; }
.tour-day-card__lead { margin:0 0 1.2rem; color:#40516a; font-size:1rem; line-height:1.8; }
.tour-day-route { margin:0 0 1.1rem!important; background:#edf3fd!important; color:#0c3c83!important; }
.tour-day-schedule > div { border:1px solid #ccdaec!important; border-top:4px solid #2161bd!important; background:#f7faff!important; box-shadow:0 8px 20px rgba(12,52,105,.08); }
.tour-day-schedule span { color:#174f9f!important; }
.tour-day-section { margin:1.4rem 0 0; }
.tour-day-section h4 { display:flex; align-items:center; gap:.55rem; margin:0 0 .8rem; color:#082651; font-size:1.08rem; }
.tour-day-section h4::before { content:""; width:4px; height:1.25rem; border-radius:3px; background:#dfb552; }
.tour-day-place { margin:0 0 .9rem; padding:1.05rem 1.15rem; border:1px solid #c9d8ea; border-left:5px solid #2462b9; border-radius:0 10px 10px 0; background:#f6f9fe; box-shadow:0 7px 18px rgba(12,52,105,.07); }
.tour-day-place strong { color:#0b3f87; font-size:1rem; }
.tour-day-place p { margin:.38rem 0 0; line-height:1.72; }
.tour-day-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin-top:1.4rem; }
.tour-day-fact { padding:.9rem 1.05rem; border:1px solid #c6d7ec; border-radius:9px; background:#edf4fd; color:#263b59; line-height:1.6; box-shadow:0 6px 16px rgba(12,52,105,.06); }
.tour-day-fact strong { display:block; margin-bottom:.2rem; color:#0b3e83; font-size:.72rem; letter-spacing:.07em; text-transform:uppercase; }
.tour-activity-item { border-top:3px solid #dfb552!important; background:#fbfcff!important; }
.tour-activity-item > strong { font-size:1rem; }
.tour-detail__final-cta { text-align:center; background:linear-gradient(125deg,#092758,#1559b7)!important; color:#dce8f7; }
.tour-detail__final-cta h2 { color:#fff!important; }
.tour-detail__final-cta .btn--primary { background:#dfb552; color:#071b3e; }
.tour-detail__final-cta .btn--secondary { border-color:#fff; color:#fff; }
@media (max-width:800px) {
  .tour-detail__intro,.tour-detail__service-grid { grid-template-columns:1fr; }
  .tour-detail__hero { min-height:680px; }
  .tour-detail__hero::before { background:linear-gradient(0deg,rgba(2,15,39,.96) 0%,rgba(3,20,49,.76) 62%,rgba(3,20,49,.35)); }
  .tour-day-facts { grid-template-columns:1fr; }
}
@media (max-width:520px) {
  .tour-detail__hero { min-height:650px; }
  .tour-detail__hero-inner { padding-bottom:2.5rem; }
  .tour-detail__actions { display:grid; grid-template-columns:1fr; }
  .tour-detail__actions .btn { width:100%; }
  .tour-detail__body { padding-right:.75rem; padding-left:.75rem; }
  .tour-day-card__summary { grid-template-columns:48px minmax(0,1fr) 30px; gap:.7rem; min-height:80px; padding:.7rem; }
  .tour-day-card__number { width:44px; height:44px; font-size:.92rem; }
  .tour-day-card__toggle { width:28px; height:28px; }
  .tour-day-schedule { grid-template-columns:1fr!important; }
}
@media print {
  .tour-day-card { break-inside:avoid; }
  .tour-day-card__content { display:block!important; }
  .tour-day-card__toggle,.tour-detail__actions { display:none!important; }
}
