@charset "UTF-8";

:root {
  --ink: #252759;
  --indigo: #292d84;
  --indigo-deep: #1e225f;
  --gold: #e9ae29;
  --gold-light: #f9e8ae;
  --cream: #fffaf0;
  --paper: #f7f5ef;
  --line: #e8e1d2;
  --muted: #77798e;
  --green: #376d56;
  --red: #a5473c;
  --shadow: 0 18px 55px rgba(37, 39, 89, .09);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family: "Avenir Next", Avenir, "Segoe UI", "Noto Sans Telugu", sans-serif;
  font-size: 15px;
  line-height: 1.55;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(233, 174, 41, .68);
  outline-offset: 3px;
}

.site-header {
  height: 82px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(37, 39, 89, .08);
}
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand-mark {
  width: 43px;
  height: 43px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--indigo);
  color: var(--gold-light);
  font-size: 18px;
  font-weight: 800;
}
.brand strong { display: block; font-family: Georgia, serif; font-size: 17px; letter-spacing: -.02em; }
.brand small { display: block; color: var(--muted); font-size: 10px; letter-spacing: .11em; text-transform: uppercase; }
.top-nav { display: flex; align-items: center; gap: 34px; color: #565873; font-size: 13px; }
.top-nav a { transition: color .2s ease; }
.top-nav a:hover, .top-nav a.active { color: var(--indigo); }
.top-nav .nav-admin { padding: 10px 17px; border: 1px solid var(--line); border-radius: 999px; color: var(--indigo); }
.flash { max-width: 1184px; margin: 14px auto 0; padding: 13px 18px; border-radius: 10px; font-size: 14px; }
.flash-success { color: #275944; background: #eaf5ed; }
.flash-error { color: #8a302e; background: #fff0ec; }

.hero {
  position: relative;
  max-width: 1280px;
  min-height: 515px;
  margin: 0 auto;
  padding: 64px 7.2% 66px;
  display: grid;
  grid-template-columns: 1.02fr .98fr;
  align-items: center;
  overflow: hidden;
  background: var(--cream);
}
.hero::after {
  position: absolute;
  z-index: 0;
  content: "";
  width: 510px;
  height: 510px;
  left: 38%;
  top: -66%;
  border: 1px solid rgba(233, 174, 41, .28);
  border-radius: 50%;
}
.hero-copy { position: relative; z-index: 2; max-width: 530px; }
.eyebrow { color: var(--gold); font-size: 10px; font-weight: 800; letter-spacing: .2em; }
.eyebrow-line { display: inline-block; width: 29px; height: 1px; margin: 0 9px 3px 0; background: currentColor; }
.eyebrow-dark { color: var(--indigo); }
.hero h1, .section-heading h2, .how-intro h2, .contact-band h2, .booking-heading h1, .confirmation-card h1 {
  margin: 17px 0 15px;
  font: 400 clamp(42px, 5.3vw, 67px)/1.07 Georgia, "Times New Roman", serif;
  letter-spacing: -.045em;
}
.hero h1 em, .section-heading h2 em, .how-intro h2 em, .booking-heading h1 em { color: var(--indigo); font-style: italic; }
.hero-copy > p { max-width: 390px; margin: 0 0 26px; color: #676981; font-size: 16px; line-height: 1.8; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  min-height: 46px;
  padding: 0 20px;
  border: 0;
  border-radius: 7px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 750;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.button:hover { transform: translateY(-2px); }
.button:disabled { transform: none; cursor: not-allowed; opacity: .5; }
.button-gold { color: var(--indigo-deep); background: var(--gold); box-shadow: 0 8px 18px rgba(188, 135, 24, .16); }
.button-gold:hover { background: #f0bd45; }
.button-primary { color: #fff; background: var(--indigo); }
.button-primary:hover { background: var(--indigo-deep); box-shadow: 0 7px 16px rgba(41, 45, 132, .18); }
.button-wide { width: 100%; }
.hero-note { margin-top: 23px; color: #77798e; font-size: 12px; }
.hero-dot { display: inline-block; width: 7px; height: 7px; margin: 0 8px 1px 0; border-radius: 50%; background: var(--green); }

.hero-art {
  position: relative;
  z-index: 1;
  min-height: 370px;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.sun-orbit { position: absolute; width: 335px; height: 335px; border: 1px solid rgba(41, 45, 132, .15); border-radius: 50%; }
.orbit-two { width: 445px; height: 445px; border-color: rgba(233, 174, 41, .32); }
.hero-sun { position: absolute; top: 20px; right: 16%; width: 195px; height: 195px; border-radius: 50%; background: linear-gradient(145deg, #f9dc86, #e8a720); opacity: .88; }
.temple-art { position: relative; z-index: 1; width: 238px; height: 220px; margin-top: 64px; filter: drop-shadow(0 14px 12px rgba(35, 32, 92, .17)); }
.temple-tower {
  position: absolute; left: 70px; top: 4px; width: 98px; height: 157px;
  clip-path: polygon(50% 0, 60% 11%, 65% 22%, 75% 34%, 81% 49%, 89% 62%, 100% 73%, 100% 100%, 0 100%, 0 73%, 11% 62%, 19% 49%, 25% 34%, 35% 22%, 40% 11%);
  background: linear-gradient(90deg, #7c381e, #cc7340 48%, #884222);
}
.temple-tower::after { content: ""; position: absolute; left: 46px; bottom: 0; width: 8px; height: 148px; background: rgba(255, 221, 148, .55); }
.temple-tower i { position: relative; z-index: 1; display: block; height: 1px; margin: 25px 14px 0; background: rgba(255, 237, 194, .68); }
.temple-tower i:nth-child(2) { margin-top: 11px; margin-left: 21px; margin-right: 21px; }
.temple-tower i:nth-child(3) { margin-top: 11px; margin-left: 10px; margin-right: 10px; }
.temple-tower i:nth-child(4) { margin-top: 11px; margin-left: 4px; margin-right: 4px; }
.temple-tower i:nth-child(5) { margin-top: 11px; margin-left: 0; margin-right: 0; }
.temple-tower i:nth-child(6) { margin-top: 11px; margin-left: 0; margin-right: 0; }
.temple-tower i:nth-child(7) { margin-top: 11px; margin-left: 0; margin-right: 0; }
.temple-tower b { position: absolute; left: 42px; top: 10px; width: 14px; height: 14px; border-radius: 50%; background: var(--gold); }
.temple-roof { position: absolute; left: 12px; bottom: 53px; width: 214px; height: 37px; clip-path: polygon(0 100%, 13% 0, 87% 0, 100% 100%); background: #4a2868; border-top: 5px solid var(--gold); }
.temple-door { position: absolute; left: 92px; bottom: 2px; width: 54px; height: 55px; border: 3px solid #e8b95c; border-radius: 32px 32px 0 0; background: #30246c; }
.hero-caption { position: absolute; bottom: 21px; right: 10%; display: flex; gap: 10px; align-items: center; color: var(--indigo); font-size: 9px; letter-spacing: .18em; }
.caption-line { display: inline-block; width: 28px; height: 1px; background: var(--gold); }
.hero-roundel { position: absolute; z-index: 2; left: 8%; bottom: 51px; width: 73px; height: 73px; display: grid; align-content: center; text-align: center; border: 1px solid rgba(41, 45, 132, .25); border-radius: 50%; color: var(--indigo); font-size: 17px; line-height: 1.2; }
.hero-roundel small { font-size: 8px; letter-spacing: .12em; }

.trust-strip { max-width: 1088px; margin: 0 auto; padding: 23px 30px; display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); }
.trust-strip > div { display: flex; align-items: center; gap: 13px; color: #575972; font-size: 13px; }
.trust-number { color: #d59a1d; font: italic 18px Georgia, serif; }
.tour-section { max-width: 1184px; margin: 0 auto; padding: 90px 0 102px; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 36px; margin-bottom: 34px; }
.section-heading h2 { margin: 9px 0 0; font-size: clamp(36px, 4.1vw, 49px); }
.section-heading > p { max-width: 365px; margin: 0 0 6px; color: var(--muted); font-size: 14px; }
.tour-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.tour-card { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 8px 28px rgba(37, 39, 89, .035); transition: transform .2s ease, box-shadow .2s ease; }
.tour-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.tour-poster { position: relative; height: 208px; overflow: hidden; background: #f0e8d5; }
.tour-poster img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 31%; transition: transform .45s ease; }
.tour-card:hover .tour-poster img { transform: scale(1.025); }
.poster-tag { position: absolute; right: 16px; bottom: 14px; padding: 7px 11px; color: var(--indigo-deep); background: var(--gold); border-radius: 4px; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.poster-placeholder { height: 100%; display: grid; place-items: center; align-content: center; gap: 7px; color: var(--indigo); background: radial-gradient(circle at 50% 36%, #f5d983 0 19%, transparent 20%), linear-gradient(135deg, #fff8de, #ece6d9); font-family: Georgia, serif; font-size: 23px; }
.poster-placeholder b { font: 800 11px "Segoe UI", sans-serif; letter-spacing: .14em; }
.tour-card-content { padding: 22px 22px 21px; }
.tour-card-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.tour-type { color: #88899c; font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.price { color: var(--indigo); font: 600 22px Georgia, serif; }
.price small { color: #838497; font: 400 10px "Segoe UI", sans-serif; }
.tour-card h3 { margin: 9px 0 7px; font: 500 24px/1.2 Georgia, serif; letter-spacing: -.025em; }
.tour-description { min-height: 44px; margin: 0; color: #73758a; font-size: 12px; line-height: 1.7; }
.destination-list { display: flex; flex-wrap: wrap; gap: 7px; margin: 16px 0 19px; }
.destination-list span { padding: 5px 8px; color: var(--green); background: #edf4ef; border-radius: 4px; font-size: 10px; }
.departure-form { padding-top: 15px; border-top: 1px solid #eeeae1; }
.departure-form label, .guest-card label { display: block; margin: 0 0 7px; color: #53556f; font-size: 11px; font-weight: 700; }
.departure-row { display: flex; gap: 8px; }
.departure-row select { min-width: 0; flex: 1; height: 44px; padding: 0 12px; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); background: #fff; font-size: 12px; }
.departure-row .button { white-space: nowrap; padding: 0 14px; font-size: 11px; }
.no-departures { padding: 12px 13px; border-radius: 6px; color: #735923; background: #fcf5df; font-size: 12px; }
.empty-state { padding: 45px 28px; border: 1px dashed #d7d2c8; border-radius: 12px; text-align: center; background: var(--cream); }
.empty-state h1, .empty-state h3 { margin: 0 0 8px; font: 500 28px Georgia, serif; }
.empty-state p { color: var(--muted); }

.how-section { position: relative; display: grid; grid-template-columns: .85fr 1.15fr; gap: 65px; max-width: 1184px; margin: 0 auto 82px; padding: 58px 67px; overflow: hidden; color: #fff; background: var(--indigo); border-radius: 13px; }
.how-section::after { position: absolute; content: ""; width: 360px; height: 360px; right: -140px; bottom: -240px; border: 1px solid rgba(249, 232, 174, .23); border-radius: 50%; box-shadow: 0 0 0 32px rgba(255,255,255,.025), 0 0 0 72px rgba(255,255,255,.025); }
.how-intro { position: relative; z-index: 1; }
.how-intro h2 { margin: 13px 0 14px; font-size: 44px; }
.how-intro h2 em { color: var(--gold-light); }
.how-intro p { max-width: 320px; color: rgba(255,255,255,.73); font-size: 13px; line-height: 1.8; }
.steps { position: relative; z-index: 1; display: grid; }
.steps article { display: grid; grid-template-columns: 49px 1fr; gap: 15px; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.15); }
.steps article:last-child { border: 0; }
.step-number { color: var(--gold); font: italic 21px Georgia, serif; }
.steps h3 { margin: 0 0 4px; font: 500 19px Georgia, serif; }
.steps p { margin: 0; color: rgba(255,255,255,.66); font-size: 12px; }
.how-flower { position: absolute; right: 29px; top: 24px; color: rgba(249,232,174,.16); font-size: 46px; }
.contact-band { max-width: 1184px; margin: 0 auto; padding: 0 0 79px; display: flex; justify-content: space-between; align-items: center; }
.contact-band .eyebrow { color: #b27b14; }
.contact-band h2 { margin: 8px 0 0; font-size: 32px; }
.contact-link { min-width: 255px; padding: 13px 0 13px 25px; border-left: 1px solid var(--line); }
.contact-link > span { display: block; margin-bottom: 3px; color: var(--muted); font-size: 11px; }
.contact-link strong { color: var(--indigo); font: 600 20px Georgia, serif; }

.site-footer { max-width: 1280px; margin: 0 auto; padding: 24px 48px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); }
.footer-brand .brand-mark { width: 37px; height: 37px; font-size: 15px; }
.footer-brand strong { font-size: 14px; }
.footer-brand small { font-size: 9px; }
.footer-contact span, .copyright { display: block; color: var(--muted); font-size: 10px; }
.footer-contact a { color: var(--indigo); font-size: 12px; font-weight: 700; }

.booking-page, .admin-page, .narrow-page { max-width: 1120px; margin: 0 auto; padding: 35px 24px 86px; }
.narrow-page { max-width: 760px; }
.back-link { display: inline-block; margin-bottom: 28px; color: #666982; font-size: 12px; }
.back-link:hover { color: var(--indigo); }
.booking-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 25px; }
.booking-heading h1 { margin: 8px 0 0; font-size: clamp(38px, 5vw, 52px); }
.booking-tour-summary { display: grid; gap: 2px; min-width: 250px; padding: 14px 18px; border-left: 2px solid var(--gold); background: var(--cream); }
.booking-tour-summary span { color: var(--indigo); font: 500 18px Georgia, serif; }
.booking-tour-summary strong { font-size: 12px; }
.booking-tour-summary small { color: var(--muted); font-size: 11px; }
.booking-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(290px, .8fr); gap: 22px; align-items: start; }
.seat-card, .guest-card, .confirmation-card { padding: 24px; border: 1px solid var(--line); border-radius: 11px; background: #fff; box-shadow: 0 7px 26px rgba(37,39,89,.04); }
.seat-card-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.seat-card h2, .guest-card h2 { margin: 5px 0 0; font: 500 25px Georgia, serif; }
.seat-count { color: var(--muted); font-size: 11px; }
.seat-legend { display: flex; gap: 18px; margin: 20px 0 17px; color: #666982; font-size: 10px; }
.seat-legend span { display: inline-flex; align-items: center; gap: 6px; }
.legend-seat { width: 13px; height: 12px; border-radius: 4px 4px 2px 2px; background: #e8f1e8; border: 1px solid #9ab59d; }
.legend-seat.selected { background: var(--indigo); border-color: var(--indigo); }
.legend-seat.occupied { background: #efeeee; border-color: #d2d1d4; }
.bus-frame { max-height: 380px; overflow: auto; padding: 15px 19px 20px; border: 1px solid #eae6df; border-radius: 9px; background: #fbfaf7; }
.bus-front { height: 40px; margin-bottom: 14px; padding: 0 12px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px dashed #d8d2c4; color: #848598; font-size: 9px; font-weight: 700; letter-spacing: .14em; }
.wheel-icon { color: var(--indigo); font-size: 16px; }
.steering { color: var(--indigo); font-size: 17px; }
.seat-grid { display: grid; grid-template-columns: repeat(2, minmax(38px, 1fr)) 24px repeat(2, minmax(38px, 1fr)); gap: 8px 10px; max-width: 380px; margin: auto; }
.seat-label { position: relative; height: 36px; cursor: pointer; }
.seat-label:nth-child(4n + 1), .seat-label:nth-child(4n + 2) { grid-column: auto; }
.seat-label:nth-child(4n + 3) { grid-column: 4; }
.seat-label:nth-child(4n) { grid-column: 5; }
.seat-label:nth-child(4n + 2) { margin-right: 12px; }
.seat-label input { position: absolute; opacity: 0; inset: 0; }
.seat-label span { height: 100%; display: grid; place-items: center; border: 1px solid #9eb39f; border-radius: 6px 6px 3px 3px; color: #397052; background: #eff6ef; font-size: 10px; font-weight: 700; transition: background .16s ease, color .16s ease, transform .16s ease; }
.seat-label:hover span { transform: translateY(-2px); }
.seat-label input:focus-visible + span { outline: 3px solid rgba(233, 174, 41, .68); outline-offset: 2px; }
.seat-label.seat-selected span { color: #fff; background: var(--indigo); border-color: var(--indigo); }
.seat-label.seat-taken { cursor: not-allowed; }
.seat-label.seat-taken span { color: #aaa; background: #eeecec; border-color: #d8d6d6; text-decoration: line-through; }
.seat-help { margin: 14px 0 0; color: var(--muted); font-size: 10px; }
.guest-card h2 { margin-bottom: 21px; }
.guest-card label { margin: 14px 0 6px; }
.guest-card input { width: 100%; height: 43px; padding: 0 12px; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); background: #fff; font-size: 12px; }
.guest-card input::placeholder { color: #aaabb5; }
.fare-summary { margin: 20px 0 17px; padding: 12px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.fare-summary > div { display: flex; justify-content: space-between; gap: 10px; margin: 5px 0; color: #77798e; font-size: 11px; }
.fare-summary strong { color: var(--ink); font-weight: 650; }
.fare-summary .fare-total { margin-top: 12px; padding-top: 11px; border-top: 1px dashed var(--line); color: var(--ink); font-size: 13px; }
.fare-summary .fare-total strong { color: var(--indigo); font: 600 21px Georgia, serif; }
.privacy-note { margin: 12px 0 0; color: #8a8b9c; text-align: center; font-size: 10px; }
.form-errors { margin: 0 0 20px; padding: 14px 18px; border: 1px solid #f0c5bc; border-radius: 7px; color: #843c33; background: #fff2ed; font-size: 12px; }
.form-errors ul { margin: 6px 0 0; padding-left: 18px; }
.confirmation-card { max-width: 680px; margin: 25px auto; padding: 38px; text-align: center; }
.confirm-icon { width: 52px; height: 52px; margin: 0 auto 17px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--green); font-size: 24px; }
.confirmation-card h1 { margin: 9px 0; font-size: 39px; }
.confirmation-card > p { color: var(--muted); font-size: 13px; }
.reference-box { margin: 23px auto; padding: 15px; border: 1px dashed #cfb35e; border-radius: 8px; background: #fff9e7; }
.reference-box span { display: block; color: #8c7a4f; font-size: 9px; font-weight: 800; letter-spacing: .17em; }
.reference-box strong { color: var(--indigo); font: 700 24px Georgia, serif; letter-spacing: .1em; }
.confirmation-details { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 20px; margin: 0 auto 20px; text-align: left; }
.confirmation-details div { padding: 11px 0; border-bottom: 1px solid var(--line); }
.confirmation-details dt { color: var(--muted); font-size: 10px; }
.confirmation-details dd { margin: 3px 0 0; color: var(--ink); font-size: 13px; font-weight: 650; }
.payment-note { margin-bottom: 21px !important; }

.admin-page { max-width: 1180px; padding-top: 42px; }
.admin-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.admin-heading h1 { margin: 8px 0 0; font: 500 42px/1.1 Georgia, serif; letter-spacing: -.03em; }
.admin-heading p { margin: 8px 0 0; color: var(--muted); font-size: 12px; }
.admin-welcome { text-align: right; color: var(--muted); font-size: 11px; }
.admin-welcome strong { display: block; color: var(--indigo); font-size: 13px; }
.admin-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; margin-bottom: 26px; }
.stat-card { padding: 16px 18px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.stat-card span { display: block; color: var(--muted); font-size: 10px; }
.stat-card strong { display: block; margin-top: 6px; color: var(--indigo); font: 600 27px Georgia, serif; }
.admin-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(290px, .67fr); gap: 23px; align-items: start; }
.admin-panel { margin-bottom: 20px; padding: 21px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.admin-panel h2 { margin: 0 0 16px; font: 500 22px Georgia, serif; }
.admin-panel h3 { margin: 0 0 10px; font: 500 17px Georgia, serif; }
.admin-tour { margin-bottom: 14px; padding: 18px; border: 1px solid #eae6dd; border-radius: 8px; background: #fdfcf9; }
.admin-tour-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin-bottom: 11px; }
.admin-tour-head h3 { margin: 0 0 2px; }
.admin-tour-head small { color: var(--muted); font-size: 10px; }
.status-pill { padding: 4px 8px; border-radius: 999px; color: #34704e; background: #e8f2e9; font-size: 9px; font-weight: 750; }
.status-pill.inactive { color: #777; background: #eee; }
.admin-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; }
.admin-form .full { grid-column: 1 / -1; }
.admin-form label, .setup-card label, .login-card label { display: block; margin-bottom: 5px; color: #5e6078; font-size: 10px; font-weight: 700; }
.admin-form input, .admin-form textarea, .admin-form select, .setup-card input, .login-card input { width: 100%; min-height: 39px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 5px; color: var(--ink); background: #fff; font-size: 11px; }
.admin-form textarea { min-height: 70px; resize: vertical; }
.admin-form .button { justify-self: start; min-height: 38px; padding: 0 13px; font-size: 11px; }
.admin-check { display: inline-flex; align-items: center; gap: 7px; color: #65677c; font-size: 10px; }
.admin-check input { width: auto; min-height: auto; }
.departure-admin { margin-top: 16px; padding-top: 14px; border-top: 1px solid #eae6dd; }
.departure-list { display: grid; gap: 9px; }
.departure-admin-form { display: grid; grid-template-columns: 1fr 95px auto; align-items: end; gap: 8px; }
.departure-admin-form input { width: 100%; height: 37px; padding: 7px; border: 1px solid var(--line); border-radius: 5px; font-size: 10px; }
.departure-admin-form label { display: block; margin-bottom: 4px; color: var(--muted); font-size: 9px; }
.departure-admin-form .button { min-height: 37px; padding: 0 10px; font-size: 10px; }
.add-departure { margin-top: 12px; padding-top: 12px; border-top: 1px dashed #e4dfd5; }
.bookings-table-wrap { overflow-x: auto; }
.bookings-table { width: 100%; border-collapse: collapse; font-size: 10px; }
.bookings-table th { padding: 9px 8px; color: #77798e; text-align: left; font-size: 9px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.bookings-table td { padding: 10px 8px; border-top: 1px solid #efede8; vertical-align: top; }
.booking-ref { color: var(--indigo); font-weight: 750; white-space: nowrap; }
.admin-empty { color: var(--muted); font-size: 12px; }
.auth-page { min-height: 65vh; padding: 52px 20px 85px; display: grid; place-items: start center; background: linear-gradient(180deg, #fffaf0, #fff 75%); }
.login-card, .setup-card { width: min(100%, 420px); padding: 30px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: var(--shadow); }
.login-card h1, .setup-card h1 { margin: 8px 0; font: 500 32px Georgia, serif; }
.login-card p, .setup-card p { color: var(--muted); font-size: 12px; }
.login-card label, .setup-card label { margin-top: 15px; }
.login-card .button, .setup-card .button { width: 100%; margin-top: 18px; }
.setup-warning { padding: 12px; border-radius: 6px; color: #725725; background: #fff6da; font-size: 10px !important; }
.auth-error { margin: 12px 0; padding: 10px; border-radius: 5px; color: #873e34; background: #fff0eb; font-size: 11px; }
.auth-help { margin-top: 16px; color: #858697; font-size: 10px; }
.login-card .back-link { margin-top: 16px; margin-bottom: 0; }

@media (max-width: 1220px) {
  .tour-section, .how-section, .contact-band { margin-left: 30px; margin-right: 30px; }
  .tour-section { padding-top: 76px; }
}
@media (max-width: 800px) {
  .site-header { height: 70px; padding: 0 22px; }
  .top-nav { gap: 16px; font-size: 11px; }
  .top-nav a:nth-child(2) { display: none; }
  .hero { min-height: auto; padding: 54px 7% 28px; grid-template-columns: 1fr; }
  .hero h1 { font-size: 58px; }
  .hero-art { min-height: 295px; margin-top: 6px; }
  .hero-sun { top: 19px; right: 19%; width: 155px; height: 155px; }
  .temple-art { transform: scale(.83); margin-top: 29px; }
  .trust-strip { padding: 20px 25px; gap: 10px; }
  .trust-strip > div { gap: 7px; font-size: 10px; }
  .tour-section { margin-left: 24px; margin-right: 24px; padding: 65px 0 75px; }
  .tour-grid { gap: 15px; }
  .tour-card-content { padding: 17px; }
  .tour-poster { height: 175px; }
  .tour-card h3 { font-size: 21px; }
  .how-section { margin: 0 24px 62px; padding: 40px 35px; gap: 32px; }
  .contact-band { margin: 0 24px; padding-bottom: 60px; }
  .booking-layout { grid-template-columns: 1fr; }
  .booking-tour-summary { min-width: 220px; }
  .admin-columns { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .site-header { padding: 0 16px; }
  .brand { gap: 8px; }
  .brand-mark { width: 37px; height: 37px; font-size: 15px; }
  .brand strong { font-size: 14px; }
  .brand small { font-size: 8px; letter-spacing: .07em; }
  .top-nav { gap: 9px; }
  .top-nav a { font-size: 10px; }
  .top-nav .nav-admin { padding: 8px 10px; }
  .hero { padding: 47px 22px 18px; }
  .hero h1 { font-size: 48px; }
  .hero-copy > p { max-width: 320px; font-size: 14px; }
  .hero-art { min-height: 240px; }
  .sun-orbit { width: 250px; height: 250px; }
  .orbit-two { width: 335px; height: 335px; }
  .hero-sun { right: 17%; width: 125px; height: 125px; }
  .temple-art { transform: scale(.72); margin-top: 9px; }
  .hero-roundel { left: 6%; bottom: 30px; width: 59px; height: 59px; font-size: 14px; }
  .hero-caption { right: 4%; bottom: 15px; font-size: 7px; }
  .trust-strip { padding: 16px 18px; flex-wrap: wrap; justify-content: center; gap: 12px 19px; }
  .trust-strip > div { font-size: 9px; }
  .trust-number { font-size: 14px; }
  .tour-section { margin: 0 17px; padding: 57px 0 60px; }
  .section-heading { display: block; margin-bottom: 23px; }
  .section-heading h2 { font-size: 37px; }
  .section-heading > p { margin-top: 10px; font-size: 12px; }
  .tour-grid { grid-template-columns: 1fr; gap: 16px; }
  .tour-poster { height: 190px; }
  .tour-card-content { padding: 17px; }
  .tour-description { min-height: 0; }
  .departure-row { align-items: stretch; }
  .departure-row select { padding: 0 7px; font-size: 10px; }
  .departure-row .button { gap: 6px; padding: 0 9px; font-size: 10px; }
  .how-section { margin: 0 17px 49px; padding: 31px 24px; grid-template-columns: 1fr; gap: 20px; }
  .how-intro h2 { font-size: 39px; }
  .steps article { padding: 12px 0; }
  .contact-band { display: block; margin: 0 18px; padding-bottom: 45px; }
  .contact-band h2 { font-size: 26px; }
  .contact-link { margin-top: 17px; padding: 8px 0 8px 15px; }
  .site-footer { padding: 17px; flex-wrap: wrap; gap: 15px; }
  .footer-contact { margin-left: auto; text-align: right; }
  .copyright { width: 100%; padding-left: 44px; }
  .booking-page, .admin-page { padding: 25px 15px 55px; }
  .booking-heading { display: block; }
  .booking-heading h1 { font-size: 42px; }
  .booking-tour-summary { margin-top: 17px; }
  .seat-card, .guest-card { padding: 17px; }
  .seat-card-heading { align-items: flex-start; }
  .seat-card h2, .guest-card h2 { font-size: 22px; }
  .seat-legend { gap: 11px; font-size: 9px; }
  .bus-frame { padding: 11px 9px 16px; }
  .seat-grid { gap: 7px 7px; max-width: 330px; grid-template-columns: repeat(2, minmax(31px, 1fr)) 16px repeat(2, minmax(31px, 1fr)); }
  .seat-label { height: 32px; }
  .seat-label:nth-child(4n + 2) { margin-right: 6px; }
  .confirmation-card { padding: 25px 18px; }
  .confirmation-card h1 { font-size: 33px; }
  .confirmation-details { grid-template-columns: 1fr; }
  .admin-heading { display: block; }
  .admin-heading h1 { font-size: 34px; }
  .admin-welcome { margin-top: 13px; text-align: left; }
  .admin-stats { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .stat-card { padding: 12px; }
  .stat-card strong { font-size: 23px; }
  .admin-panel { padding: 15px; }
  .admin-form { grid-template-columns: 1fr; }
  .admin-form .full { grid-column: auto; }
  .departure-admin-form { grid-template-columns: 1fr 82px; }
  .departure-admin-form .button { grid-column: 1 / -1; }
  .auth-page { padding: 32px 15px 60px; }
  .login-card, .setup-card { padding: 22px; }
}

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

/* Content manager, editable logo and homepage media */
.brand-logo { display:block; width:auto; max-width:150px; max-height:54px; object-fit:contain; }
.cms-hero { align-items:stretch; }
.cms-slider { overflow:hidden; position:relative; padding:0; min-height:390px; border-radius:6px; background:#f2efe7; }
.cms-slide { position:absolute; inset:0; width:100%; height:100%; }
.cms-slide[hidden] { display:none; }
.cms-slide img { display:block; width:100%; height:100%; min-height:390px; object-fit:cover; }
.cms-slide-caption { position:absolute; left:0; right:0; bottom:0; padding:48px 28px 28px; display:flex; flex-direction:column; gap:7px; color:#fff; background:linear-gradient(transparent,rgba(18,20,47,.82)); }
.cms-slide-caption strong { font-size:clamp(20px,2.2vw,32px); }
.cms-slide-caption span { line-height:1.5; }
.cms-slider-dots { position:absolute; z-index:3; right:18px; bottom:16px; display:flex; gap:8px; }
.cms-dot { width:10px; height:10px; padding:0; border:1px solid #fff; border-radius:50%; background:rgba(255,255,255,.55); cursor:pointer; }
.cms-dot.is-current { background:#fff; transform:scale(1.2); }
.homepage-banners { max-width:1184px; margin:22px auto 0; display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; }
.homepage-banners img { width:100%; max-height:280px; object-fit:cover; border-radius:8px; }
.admin-welcome .button { margin-bottom:12px; }
.button-danger { display:inline-flex; align-items:center; justify-content:center; border:0; border-radius:5px; padding:10px 14px; background:#a72c37; color:#fff; font:inherit; font-weight:700; cursor:pointer; }
.button-secondary { display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:5px; padding:9px 13px; background:#fff; color:var(--ink); font:inherit; font-weight:700; cursor:pointer; }
.tour-delete-form { margin:0 0 16px; }
.content-admin { max-width:1184px; }
.content-admin .admin-panel { margin:0 0 24px; }
.content-admin .admin-panel h2 { margin-top:0; }
.content-help { color:var(--muted); font-size:13px; line-height:1.6; }
.content-preview-logo { max-width:220px; max-height:100px; object-fit:contain; padding:10px; border:1px solid var(--line); border-radius:6px; }
.content-text-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
.content-media-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; margin-top:24px; }
.content-media-card { min-width:0; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:#fff; }
.content-media-card > img { display:block; width:100%; height:145px; object-fit:cover; background:#f5f5f5; }
.content-media-card > div:not(.content-actions) { display:flex; flex-direction:column; gap:5px; padding:12px 12px 0; overflow-wrap:anywhere; }
.content-media-card small { color:var(--muted); }
.content-actions { display:flex; flex-wrap:wrap; gap:8px; padding:12px; }
.content-actions form { margin:0; }
@media(max-width:700px) { .cms-slider,.cms-slide img { min-height:260px; } .homepage-banners { margin:18px 20px 0; } .content-text-form { grid-template-columns:1fr; } .brand-logo { max-width:105px; max-height:42px; } }


/* Customer ticket status and payment QR */
.ticket-status-page { max-width: 820px; margin: 52px auto 80px; }
.ticket-lookup-card,.ticket-result-card { background:#fff; border:1px solid var(--line); border-radius:22px; padding:clamp(22px,4vw,38px); box-shadow:0 18px 50px rgba(34,31,85,.07); margin-bottom:22px; }
.ticket-lookup-card h1 { font-size:clamp(34px,5vw,52px); margin:10px 0; color:var(--indigo); }
.ticket-lookup-card h1 em { color:#b18a22; }
.ticket-lookup-card>p { color:var(--muted); line-height:1.7; }
.ticket-lookup-form { display:grid; gap:10px; margin-top:24px; }
.ticket-lookup-form input { width:100%; min-height:48px; border:1px solid var(--line); border-radius:10px; padding:12px 14px; font:inherit; }
.ticket-lookup-form label { font-size:13px; font-weight:700; margin-top:7px; }
.ticket-result-top { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.ticket-result-top h2 { margin:8px 0 18px; color:var(--indigo); }
.ticket-status-pill { border-radius:999px; padding:8px 12px; font-size:12px; font-weight:700; background:#fff3d4; color:#8b6410; white-space:nowrap; }
.ticket-status-pill.status-paid { background:#e1f6e9; color:#17683c; } .ticket-status-pill.status-cancelled { background:#fde7e7; color:#9b2525; }
.ticket-reference { background:#f7f6ff; border:1px dashed #c8c3ed; padding:14px 16px; border-radius:12px; display:grid; gap:5px; }
.ticket-reference small { color:var(--muted); font-size:10px; letter-spacing:.12em; } .ticket-reference strong { color:var(--indigo); font-size:22px; letter-spacing:.04em; }
.ticket-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; margin:18px 0; }
.ticket-details div { padding:13px 0; border-bottom:1px solid var(--line); } .ticket-details dt { font-size:12px; color:var(--muted); } .ticket-details dd { margin:5px 0 0; font-weight:700; }
.ticket-pay-box,.booking-payment-box { margin:22px 0; padding:22px; text-align:center; background:linear-gradient(145deg,#faf9ee,#f4f2ff); border-radius:16px; border:1px solid var(--line); }
.ticket-payment-qr,.booking-payment-qr { display:block; width:min(260px,100%); max-height:320px; object-fit:contain; margin:16px auto; background:#fff; padding:10px; border-radius:12px; border:1px solid var(--line); }
.ticket-pay-box p,.booking-payment-box p,.ticket-status-help { color:var(--muted); line-height:1.65; font-size:13px; }
.payment-qr-preview { width:180px; max-height:240px; object-fit:contain; padding:8px; background:#fff; border:1px solid var(--line); border-radius:12px; }
@media(max-width:600px){ .ticket-details{grid-template-columns:1fr;} .ticket-result-top{flex-direction:column;} .ticket-reference strong{font-size:19px;} .ticket-status-page{margin:28px auto 50px;} }

.payment-status-form { display:grid; gap:6px; min-width:130px; } .payment-status-form select { max-width:170px; border:1px solid var(--line); border-radius:8px; padding:7px; background:#fff; font:inherit; font-size:12px; } .payment-status-form .button { padding:7px 10px; font-size:11px; width:max-content; }

/* INDIGA Travels home page refresh */
.site-header { max-width: 1600px; width: 100%; height: 92px; padding: 10px clamp(18px,4.5vw,76px); border-bottom: 0; gap: 24px; position: relative; z-index: 10; }
.site-header .brand { flex: 0 0 auto; }
.site-header .brand-logo { width: 205px; max-width: 205px; max-height: 76px; object-fit: contain; }
.site-header .brand > span { display: none; }
.top-nav { gap: clamp(12px,1.65vw,28px); padding: 12px 18px; border: 1px solid rgba(28,61,118,.08); border-radius: 999px; background: rgba(255,255,255,.94); box-shadow: 0 8px 26px rgba(16,49,94,.10); color: #101d4b; font-size: 13px; white-space: nowrap; }
.top-nav a { display: inline-flex; align-items: center; gap: 7px; font-weight: 700; }
.top-nav a > span { font-size: inherit; }
.top-nav a:first-child { color: #0874d8; }
.top-nav .nav-admin { color: #fff; background: #10164c; border: 0; padding: 12px 22px; border-radius: 999px; box-shadow: 0 7px 18px rgba(16,22,76,.18); }
.top-nav .nav-admin:hover { color: #fff; background: #f36c0a; }
.indiga-hero { position: relative; max-width: 1920px; min-height: 650px; margin: 0 auto; overflow: hidden; isolation: isolate; background: linear-gradient(115deg,#f8fcff 0%,#e8f7ff 47%,#b8e8ff 100%); }
.indiga-hero::before { content:""; position:absolute; inset:0; z-index:-1; background: radial-gradient(ellipse at 22% 18%,rgba(255,255,255,.95),transparent 42%),linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.91) 31%,rgba(255,255,255,.25) 52%,transparent 73%); }
.indiga-hero-scene { position:absolute; z-index:-2; top:0; right:0; width:66%; height:82%; background-image:url('../indiga-hero-scene.jpg'); background-size:cover; background-position:center; border-bottom-left-radius:42% 13%; }
.indiga-hero-inner { position:relative; z-index:2; max-width:1600px; margin:0 auto; padding:30px clamp(22px,4.8vw,80px) 170px; }
.indiga-hero-copy { width:min(780px,60%); }
.indiga-script { margin:0 0 3px; color:#f04425; font-family:"Brush Script MT","Segoe Script",cursive; font-size:clamp(25px,3vw,42px); font-style:italic; line-height:1.2; }
.indiga-hero h1 { margin:0; color:#10194f; font-family:Georgia,"Times New Roman",serif; font-size:clamp(44px,5.3vw,82px); line-height:.99; letter-spacing:-.045em; font-weight:800; }
.indiga-hero h1 span { color:#f36a0b; }
.indiga-hero-subtitle { margin:15px 0 22px; color:#243b67; font-size:clamp(13px,1.3vw,18px); font-weight:600; }
.indiga-hero-subtitle i { display:inline-block; width:4px; height:4px; margin:0 9px 3px; border-radius:50%; background:#f36a0b; }
.indiga-search-panel { display:grid; grid-template-columns:1.15fr 1fr .92fr auto; align-items:center; gap:0; width:min(100%,900px); min-height:88px; padding:10px; border:1px solid rgba(29,72,128,.08); border-radius:22px; background:rgba(255,255,255,.97); box-shadow:0 15px 38px rgba(29,73,124,.17); }
.indiga-search-field { min-width:0; min-height:58px; display:flex; align-items:center; gap:12px; padding:4px 16px; border-right:1px solid #d9e2ef; color:#1b2d5a; }
.indiga-search-field .search-icon { flex:0 0 auto; color:#1671cc; font-size:29px; line-height:1; font-weight:800; }
.indiga-search-field small { display:block; color:#69758e; font-size:12px; font-weight:600; }
.indiga-search-field select,.indiga-search-field input { display:block; width:100%; min-width:0; max-width:100%; padding:3px 15px 0 0; border:0; outline:none; color:#15244e; background:transparent; font-size:14px; font-weight:700; }
.indiga-search-field input[type=date] { font-size:12px; }
.indiga-search-field select { cursor:pointer; }
.indiga-search-field option { color:#15244e; }
.indiga-search-button { display:flex; justify-content:center; align-items:center; gap:10px; min-height:64px; margin-left:10px; padding:0 24px; border:0; border-radius:15px; background:linear-gradient(135deg,#ff790b,#f35408); box-shadow:0 7px 15px rgba(243,95,8,.19); color:white; font-weight:800; white-space:nowrap; cursor:pointer; transition:transform .18s,box-shadow .18s; }
.indiga-search-button:hover { transform:translateY(-2px); box-shadow:0 12px 22px rgba(243,95,8,.25); }
.indiga-search-button span { font-size:27px; line-height:1; }
.indiga-search-note { min-height:18px; margin:7px 4px 0; color:#243b67; font-size:12px; font-weight:700; }
.indiga-benefits { position:absolute; z-index:3; left:clamp(20px,4.2vw,74px); bottom:20px; display:flex; align-items:flex-start; gap:clamp(20px,3.4vw,58px); }
.indiga-benefits > div { display:flex; width:112px; flex-direction:column; align-items:center; gap:7px; text-align:center; color:#111d4c; }
.benefit-icon { width:67px; height:67px; display:grid; place-items:center; border-radius:50%; color:#fff; font-size:30px; font-weight:900; box-shadow:0 8px 16px rgba(15,44,90,.13); }
.benefit-icon.blue { background:#1769c9; }.benefit-icon.green { background:#0cab64; }.benefit-icon.orange { background:#ff8308; }.benefit-icon.purple { background:#8d35e8; }.benefit-icon.red { background:#f52c45; }
.indiga-benefits strong { font-size:13px; line-height:1.3; }
.indiga-stats { position:absolute; z-index:4; right:clamp(20px,4vw,72px); bottom:28px; display:flex; align-items:center; padding:18px 20px; border:1px solid rgba(255,255,255,.8); border-radius:24px; background:rgba(255,255,255,.94); box-shadow:0 15px 38px rgba(23,53,95,.17); backdrop-filter:blur(12px); }
.indiga-stats > div { display:flex; align-items:center; gap:13px; padding:0 20px; border-right:1px solid #d5deeb; }
.indiga-stats > div:last-child { border-right:0; padding-right:5px; }
.stats-icon { color:#1768bc; font-size:38px; font-weight:900; line-height:1; }.stats-icon.star { color:#ffae00; font-size:44px; }
.indiga-stats strong { display:block; color:#10194f; font-size:26px; line-height:1.15; }.indiga-stats small { display:block; color:#23365c; font-size:12px; white-space:nowrap; }
.homepage-banners { position:relative; z-index:1; margin-top:20px; }
.tour-section { padding-top:54px; }
.section-heading h2 { font-weight:700; color:#11194e; }
.tour-card { border-radius:18px; overflow:hidden; box-shadow:0 10px 26px rgba(22,49,94,.09); transition:transform .2s,box-shadow .2s; }
.tour-card:hover { transform:translateY(-4px); box-shadow:0 18px 36px rgba(22,49,94,.15); }
.tour-poster { border-radius:0; }
.tour-card-content { padding:22px; }
.tour-card[hidden] { display:none !important; }
#contact { scroll-margin-top:24px; }
@media(max-width:1180px) {
 .site-header { height:auto; min-height:86px; padding:10px 22px; }
 .site-header .brand-logo { width:155px; max-width:155px; }
 .top-nav { gap:12px; padding:10px 13px; font-size:11px; }
 .indiga-hero { min-height:680px; }
 .indiga-hero-copy { width:68%; }
 .indiga-hero-scene { width:67%; opacity:.9; }
 .indiga-benefits { gap:12px; }
 .indiga-benefits > div { width:92px; }
 .indiga-stats { right:20px; padding:14px 12px; }
 .indiga-stats > div { padding:0 12px; gap:8px; }
 .indiga-stats strong { font-size:22px; }
}
@media(max-width:800px) {
 .site-header { flex-wrap:wrap; justify-content:center; gap:8px; padding:10px 12px 12px; }
 .site-header .brand-logo { width:150px; max-width:150px; max-height:58px; }
 .top-nav { width:100%; justify-content:center; flex-wrap:wrap; gap:8px 13px; padding:9px 10px; border-radius:17px; }
 .top-nav a { font-size:11px; }
 .top-nav .nav-admin { padding:8px 13px; }
 .indiga-hero { min-height:900px; }
 .indiga-hero-scene { top:330px; width:100%; height:350px; opacity:.9; background-position:center; border-radius:0; }
 .indiga-hero::before { background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.96) 36%,rgba(255,255,255,.25) 69%,rgba(207,241,255,.9) 100%); }
 .indiga-hero-inner { padding:28px 20px 300px; }
 .indiga-hero-copy { width:100%; }
 .indiga-hero h1 { font-size:clamp(42px,9vw,65px); }
 .indiga-search-panel { grid-template-columns:1fr 1fr; gap:6px; padding:9px; border-radius:17px; }
 .indiga-search-field { min-height:54px; padding:4px 9px; gap:8px; }
 .indiga-search-field:nth-child(2) { border-right:0; }
 .indiga-search-field .search-icon { font-size:23px; }
 .indiga-search-field small { font-size:10px; }
 .indiga-search-field select,.indiga-search-field input { font-size:12px; }
 .indiga-search-button { grid-column:1 / -1; min-height:50px; margin:3px 0 0; }
 .indiga-benefits { left:15px; right:15px; bottom:20px; justify-content:space-between; gap:4px; }
 .indiga-benefits > div { width:19%; gap:5px; }
 .benefit-icon { width:46px; height:46px; font-size:23px; }
 .indiga-benefits strong { font-size:9px; }
 .indiga-stats { left:15px; right:15px; bottom:125px; justify-content:space-around; padding:12px 7px; border-radius:17px; }
 .indiga-stats > div { gap:5px; padding:0 7px; }
 .stats-icon { font-size:25px; }.stats-icon.star { font-size:29px; }
 .indiga-stats strong { font-size:17px; }.indiga-stats small { font-size:9px; }
 .tour-section { padding-top:44px; }
}
@media(max-width:420px) {
 .top-nav { gap:8px 10px; }
 .top-nav a { font-size:10px; }
 .indiga-hero { min-height:920px; }
 .indiga-hero-inner { padding-left:15px; padding-right:15px; }
 .indiga-script { font-size:25px; }
 .indiga-hero-subtitle { font-size:11px; }
 .indiga-hero-subtitle i { margin-left:4px; margin-right:4px; }
 .indiga-stats { left:8px; right:8px; }
 .indiga-stats > div { padding:0 4px; }
 .indiga-stats small { white-space:normal; }
 .indiga-benefits { left:6px; right:6px; }
 .indiga-benefits strong { font-size:8px; }
}

/* Tour details links */
.tour-detail-poster-link{display:block;color:inherit;text-decoration:none}.tour-title-link{color:inherit;text-decoration:none}.tour-title-link:hover{color:var(--orange)}.tour-details-link{display:inline-flex;margin:0 0 16px;color:#2059b4;font-size:12px;font-weight:800;text-decoration:none}.tour-details-link:hover{text-decoration:underline}

/* Dedicated tour package details and gallery management */
.feature-page{max-width:1184px;margin:0 auto;padding:46px 22px 76px;color:var(--ink,#14235f)}
.feature-panel{background:#fff;border:1px solid var(--line,#e8dfcf);border-radius:20px;padding:clamp(20px,3.5vw,38px);box-shadow:0 14px 40px rgba(20,35,95,.06);margin-bottom:26px}
.feature-eyebrow{font-size:11px;font-weight:900;letter-spacing:.16em;color:#2059b4;text-transform:uppercase}
.tour-detail-hero{background:linear-gradient(120deg,#fff 0%,#f4faff 100%)}
.tour-detail-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:34px;align-items:center;margin-top:20px}
.tour-detail-page h1{font:700 clamp(32px,4.2vw,54px)/1.08 Georgia,serif;letter-spacing:-.035em;color:#17265f;margin:16px 0}
.feature-description{font-size:15px;line-height:1.8;color:#4f5e7d;white-space:normal}
.feature-pill{display:inline-flex;padding:7px 12px;border-radius:30px;background:#fff0dc;color:#9c5100;font-size:11px;font-weight:900;letter-spacing:.06em}
.feature-destinations{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.feature-destinations span{padding:7px 10px;border-radius:6px;background:#eaf4ee;color:#246044;font-size:12px}
.feature-price{font-size:30px;font-weight:900;color:#29358b;margin:18px 0}.feature-price small{font-size:12px;font-weight:500;color:#68718c}
.tour-detail-cover{height:340px;overflow:hidden;border-radius:16px;background:#f4e9cc}.tour-detail-cover img{width:100%;height:100%;object-fit:cover}.tour-detail-cover .poster-placeholder{min-height:100%}
.share-actions{border-top:1px solid #e8eaf0;padding-top:18px;margin-top:20px}.share-actions>strong{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}.share-actions>div{display:flex;flex-wrap:wrap;gap:8px}.share-actions a,.share-actions button{font:inherit;font-size:12px;font-weight:700;line-height:1.3;text-decoration:none;padding:10px 13px;border-radius:8px;border:1px solid #dfe5f1;background:#f7f9ff;color:#17265f;cursor:pointer}.share-actions a:first-child{background:#e9f8ee;color:#11743d;border-color:#b7e8c8}.share-actions a:nth-child(2){background:#edf3ff;color:#1652a5;border-color:#cadcff}.share-actions button:first-of-type{background:#fff0f6;color:#9d2458;border-color:#f2c6d9}.share-actions small{display:block;margin-top:8px;color:#47633f;font-size:12px}
.feature-section{margin:36px 0}.feature-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px}.feature-section-heading h2{margin:7px 0 0;font:600 clamp(25px,3vw,34px)/1.15 Georgia,serif;color:#17265f}.feature-section-heading p{max-width:350px;margin:0;color:#68718c;font-size:13px;line-height:1.65}
.tour-media-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tour-media-gallery a{display:block;height:185px;border-radius:13px;overflow:hidden;border:1px solid var(--line,#e8dfcf);background:#f0f4f8}.tour-media-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.tour-media-gallery a:hover img{transform:scale(1.035)}
.tour-offers-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tour-offers-grid>a{display:block;overflow:hidden;border-radius:14px;border:1px solid var(--line,#e8dfcf);background:#f6f8fb}.tour-offers-grid img{display:block;width:100%;max-height:300px;object-fit:contain}
.feature-empty{padding:22px;border:1px dashed #d7dce7;border-radius:12px;color:#6c7590;background:#fbfcff;font-size:13px}
.feature-departures{display:grid;gap:12px}.feature-departure{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(170px,1fr) auto;gap:18px;align-items:center;padding:18px;background:#fff;border:1px solid var(--line,#e8dfcf);border-radius:14px}.feature-departure small{color:#737d98;font-size:10px;font-weight:800;letter-spacing:.08em}.feature-departure h3{margin:6px 0 0;font-size:18px;color:#17265f}.seat-meter>span{font-size:13px;font-weight:800;color:#1b7b4b}.seat-meter>div{height:7px;margin:8px 0;background:#e9edf3;border-radius:8px;overflow:hidden}.seat-meter i{display:block;height:100%;background:#22a267;border-radius:8px}.seat-meter small{font-size:10px!important;letter-spacing:0!important;font-weight:500!important}.sold-out{background:#fce9e9;color:#a12c2c}.feature-back{margin-top:24px}.feature-back a{font-size:13px;font-weight:800;color:#2059b4;text-decoration:none}
.feature-admin-page{max-width:1184px}.feature-admin-page .admin-page-heading h1{font:600 clamp(30px,4vw,44px)/1.1 Georgia,serif;color:#17265f;margin:8px 0}.feature-admin-page .admin-page-heading p{color:#69738c}.feature-admin-page .feature-panel h2{font:600 26px Georgia,serif;margin:0 0 18px;color:#17265f}.feature-upload-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.feature-upload-form label{display:grid;gap:8px;font-size:12px;font-weight:800;color:#343c65}.feature-upload-form label:nth-child(4){grid-column:1/-1}.feature-upload-form input,.feature-upload-form select{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line,#e8dfcf);border-radius:8px;background:white;color:#17265f}.feature-upload-form small{font-size:11px;color:#737d98;font-weight:500}.feature-upload-form button{justify-self:start}.tour-media-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.tour-media-admin-card{overflow:hidden;border:1px solid var(--line,#e8dfcf);border-radius:13px;background:white}.tour-media-admin-card>img{display:block;width:100%;height:165px;object-fit:cover;background:#f2f4f8}.tour-media-admin-card>div{display:grid;gap:5px;padding:12px}.tour-media-admin-card strong{font-size:13px}.tour-media-admin-card span{font-size:11px;color:#69738c}.tour-media-admin-card form{padding:0 12px 12px}.button-danger{background:#fff0f0!important;color:#a52828!important;border:1px solid #f2c8c8!important;padding:9px 12px;border-radius:8px;cursor:pointer}
@media(max-width:760px){.feature-page{padding:25px 14px 48px}.tour-detail-hero-grid{grid-template-columns:1fr;gap:20px}.tour-detail-cover{height:240px;grid-row:1}.feature-section-heading{align-items:flex-start;flex-direction:column;gap:7px}.tour-media-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.tour-media-gallery a{height:140px}.tour-offers-grid{grid-template-columns:1fr}.feature-departure{grid-template-columns:1fr;gap:12px}.feature-departure .button{justify-self:start}.feature-upload-form{grid-template-columns:1fr}.feature-upload-form label:nth-child(4){grid-column:auto}.tour-media-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-admin-page .feature-panel{padding:18px}}
@media(max-width:420px){.tour-media-admin-grid{grid-template-columns:1fr}.tour-detail-cover{height:200px}.share-actions>div{gap:6px}.share-actions a,.share-actions button{padding:9px 10px}}


/* Tour detail page and extended add-tour form polish (cache-busted build) */
.tour-detail-page{box-sizing:border-box;width:100%;max-width:1184px;margin:0 auto;padding:42px 22px 76px;color:#17265f}
.tour-detail-page *{box-sizing:border-box}
.tour-detail-page .feature-panel{display:block;background:linear-gradient(120deg,#fff 0%,#f4faff 100%);border:1px solid #e8dfcf;border-radius:22px;padding:clamp(22px,3vw,38px);box-shadow:0 14px 40px rgba(20,35,95,.07);margin-bottom:30px}
.tour-detail-page .tour-detail-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:34px;align-items:center;margin-top:20px}
.tour-detail-page .tour-detail-cover{height:360px;min-width:0;overflow:hidden;border-radius:18px;background:#f4e9cc;box-shadow:0 12px 28px rgba(20,35,95,.1)}
.tour-detail-page .tour-detail-cover img{display:block;width:100%;height:100%;object-fit:cover}
.tour-detail-page .feature-section{margin:34px 0 42px;padding:26px;background:#fff;border:1px solid #e8dfcf;border-radius:20px;box-shadow:0 10px 30px rgba(20,35,95,.045)}
.tour-detail-page .feature-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}
.tour-detail-page .feature-section-heading h2{margin:8px 0 0;font:600 clamp(25px,3vw,34px)/1.15 Georgia,serif;color:#17265f}
.tour-detail-page .feature-section-heading p{max-width:350px;margin:0;color:#68718c;font-size:13px;line-height:1.65}
.tour-detail-page .tour-media-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.tour-detail-page .tour-media-gallery a{display:block;height:190px;overflow:hidden;border:1px solid #e3e8f0;border-radius:13px;background:#f3f6fa}
.tour-detail-page .tour-media-gallery img{display:block;width:100%;height:100%;object-fit:cover}
.tour-detail-page .tour-offers-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tour-detail-page .tour-offers-grid img{display:block;width:100%;max-height:330px;object-fit:contain}
.tour-detail-page .feature-departure{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(160px,1fr) auto;gap:18px;align-items:center;padding:18px;background:#fff;border:1px solid #e3e8f0;border-radius:14px}
.tour-detail-page .share-actions{border-top:1px solid #e8eaf0;padding-top:18px;margin-top:20px}
.add-tour-feature-fields{padding:15px 16px;border-radius:12px;background:#f3f7ff;border:1px solid #dce7fb}
.add-tour-feature-fields h3{margin:0 0 5px;color:#17265f;font-size:16px}
.add-tour-feature-fields p{margin:0;color:#68718c;font-size:12px;line-height:1.5}
.admin-form>div>small{display:block;margin-top:6px;color:#737d98;font-size:11px;line-height:1.5}
@media(max-width:760px){.tour-detail-page{padding:24px 14px 48px}.tour-detail-page .tour-detail-hero-grid{grid-template-columns:1fr;gap:20px}.tour-detail-page .tour-detail-cover{height:240px;grid-row:1}.tour-detail-page .feature-section{padding:18px;margin:24px 0}.tour-detail-page .feature-section-heading{align-items:flex-start;flex-direction:column;gap:8px}.tour-detail-page .tour-media-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.tour-detail-page .tour-media-gallery a{height:145px}.tour-detail-page .tour-offers-grid{grid-template-columns:1fr}.tour-detail-page .feature-departure{grid-template-columns:1fr;gap:12px}.tour-detail-page .feature-departure .button{justify-self:start}}
@media(max-width:420px){.tour-detail-page .tour-detail-cover{height:205px}.tour-detail-page .feature-panel{padding:18px}.tour-detail-page .share-actions a,.tour-detail-page .share-actions button{padding:9px 10px}}

/* INDIGA TRAVELS tour-detail responsive refinement v3 */
html, body { max-width:100%; overflow-x:clip; }
img, video, iframe { max-width:100%; }
.tour-detail-page { width:min(100%,1184px); padding:26px 22px 54px; }
.tour-detail-page .feature-panel { padding:clamp(20px,2.3vw,30px); margin-bottom:22px; }
.tour-detail-page .tour-detail-hero-grid { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:clamp(18px,2.2vw,30px); margin-top:12px; }
.tour-detail-page h1 { font-size:clamp(30px,3.1vw,44px); line-height:1.12; overflow-wrap:anywhere; }
.tour-detail-page .feature-description { font-size:14px; line-height:1.62; margin:10px 0; }
.tour-detail-page .feature-destinations { gap:6px; margin:12px 0; }
.tour-detail-page .feature-destinations span { padding:6px 9px; }
.tour-detail-page .feature-price { font-size:27px; margin:12px 0; }
.tour-detail-page .share-actions { margin-top:14px; padding-top:14px; }
.tour-detail-page .tour-detail-cover { height:clamp(230px,25vw,310px); min-width:0; display:flex; align-items:center; justify-content:center; }
.tour-detail-page .tour-detail-cover img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; }
.tour-detail-page .feature-section { margin:26px 0; }
.tour-detail-page .tour-media-gallery { grid-template-columns:repeat(4,minmax(0,1fr)); }
.tour-detail-page .tour-media-gallery a { min-width:0; }
.tour-detail-page .tour-offers-grid img { width:100%; max-height:260px; }
.tour-detail-page .feature-departure { grid-template-columns:minmax(150px,.8fr) minmax(150px,1fr) auto; gap:14px; }

@media (min-width:1200px) {
  .tour-detail-page .tour-detail-hero { padding:26px 30px; }
  .tour-detail-page .tour-detail-hero-grid { margin-top:10px; }
  .tour-detail-page .tour-detail-cover { height:270px; }
}
@media (max-width:900px) {
  .tour-detail-page { padding:22px 16px 42px; }
  .tour-detail-page .tour-detail-hero-grid { grid-template-columns:minmax(0,1fr) minmax(0,.82fr); gap:18px; }
  .tour-detail-page .tour-detail-cover { height:245px; }
  .tour-detail-page h1 { font-size:clamp(28px,4.3vw,38px); }
  .tour-detail-page .feature-departure { grid-template-columns:1fr 1fr; }
  .tour-detail-page .feature-departure > :last-child { grid-column:1/-1; justify-self:start; }
}
@media (max-width:640px) {
  .tour-detail-page { width:100%; padding:14px 12px 32px; }
  .tour-detail-page .feature-panel { padding:17px 15px; border-radius:16px; margin-bottom:18px; }
  .tour-detail-page .tour-detail-hero-grid { display:flex; flex-direction:column; gap:16px; margin-top:12px; }
  .tour-detail-page .tour-detail-cover { order:-1; width:100%; height:auto; aspect-ratio:16/10; min-height:0; border-radius:12px; }
  .tour-detail-page .tour-detail-cover img { object-fit:contain; }
  .tour-detail-page h1 { font-size:clamp(27px,7.3vw,36px); line-height:1.15; margin:12px 0; }
  .tour-detail-page .feature-eyebrow { font-size:9px; letter-spacing:.12em; }
  .tour-detail-page .feature-pill { font-size:10px; padding:6px 9px; }
  .tour-detail-page .feature-description { font-size:14px; line-height:1.7; }
  .tour-detail-page .feature-destinations { gap:6px; margin:12px 0; }
  .tour-detail-page .feature-destinations span { font-size:11px; padding:6px 8px; }
  .tour-detail-page .feature-price { font-size:26px; margin:12px 0; }
  .tour-detail-page .share-actions { margin-top:12px; padding-top:13px; }
  .tour-detail-page .share-actions>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  .tour-detail-page .share-actions a,.tour-detail-page .share-actions button { display:flex; justify-content:center; align-items:center; min-height:40px; text-align:center; padding:9px 8px; font-size:12px; white-space:normal; }
  .tour-detail-page .feature-section { margin:22px 0; }
  .tour-detail-page .feature-section-heading { margin-bottom:12px; }
  .tour-detail-page .feature-section-heading h2 { font-size:24px; line-height:1.2; }
  .tour-detail-page .feature-section-heading p { font-size:12px; }
  .tour-detail-page .tour-media-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .tour-detail-page .tour-media-gallery a { height:auto; aspect-ratio:4/3; }
  .tour-detail-page .tour-offers-grid { grid-template-columns:1fr; gap:10px; }
  .tour-detail-page .tour-offers-grid img { max-height:none; max-width:100%; object-fit:contain; }
  .tour-detail-page .feature-departure { grid-template-columns:minmax(0,1fr); gap:10px; padding:14px; }
  .tour-detail-page .feature-departure > :last-child { grid-column:auto; justify-self:start; }
  .tour-detail-page .feature-empty { padding:15px; line-height:1.6; }
}
@media (max-width:360px) {
  .tour-detail-page { padding-left:8px; padding-right:8px; }
  .tour-detail-page .feature-panel { padding:14px 12px; }
  .tour-detail-page .share-actions>div { grid-template-columns:1fr 1fr; }
  .tour-detail-page .share-actions a,.tour-detail-page .share-actions button { font-size:11px; }
}

/* Per-package editor: keeps the dashboard compact while preserving an explicit update action. */
.tour-edit-details { margin: 10px 0 16px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.tour-edit-details > summary { padding: 11px 13px; color: var(--ink); font-size: 12px; font-weight: 750; cursor: pointer; list-style-position: inside; }
.tour-edit-details[open] > summary { border-bottom: 1px solid var(--line); margin-bottom: 12px; }
.tour-edit-details .admin-form { padding: 0 12px 12px; }
.tour-edit-details .admin-form button { justify-self: start; }
@media (max-width: 640px) {
  .admin-tour { padding: 12px; }
  .tour-edit-details .admin-form { grid-template-columns: minmax(0, 1fr); }
  .tour-edit-details .admin-form .full { grid-column: auto; }
}
