
/* =========================================================
   ATTITUDE FOR ADVENTURE — PACKAGE DETAIL READABILITY SYSTEM
   Reference intent: Gujarat Adventure Club package-detail SS
   ========================================================= */

:root{
  --pkg-body:15px;
  --pkg-small:13px;
  --pkg-label:12px;
  --pkg-card:14px;
  --pkg-section:28px;
  --pkg-subsection:20px;
  --pkg-title:38px;
  --pkg-line:1.72;
}

/* Base readability on package detail pages */
body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.pkg-readable,
body.package-detail-page{
  font-size:var(--pkg-body);
}

/* Main package titles */
.titlebar h1,
.title-row h1,
#packageTitle,
#customPackageTitle,
main h1{
  font-size:clamp(30px,3vw,var(--pkg-title)) !important;
  line-height:1.12 !important;
  letter-spacing:-0.035em !important;
  font-weight:800 !important;
}

/* Eyebrows / package category labels */
.kicker,
.eyebrow,
.orange-label,
.label,
.pkg-tag,
.hero-badge,
.badge,
.menu-kicker{
  font-size:var(--pkg-label) !important;
  line-height:1.3 !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
}

/* Quick meta: duration, departure, difficulty, age */
.quick,
.quick-meta,
.meta,
.titlebar .meta,
.title-row .quick-meta{
  font-size:13px !important;
  line-height:1.65 !important;
}
.quick span,
.quick-meta span{
  font-size:13px !important;
}

/* Sticky navigation tabs */
.tabs a,
.anchor-tabs a{
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  padding:11px 14px !important;
}

/* Main section headings */
.block h2,
.section-block h2,
.section-heading h2,
.main-content h2,
.main h2,
section[id] > h2{
  font-size:clamp(22px,2vw,var(--pkg-section)) !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:-.025em !important;
  margin-bottom:16px !important;
}

/* Subheadings */
.block h3,
.info h3,
.info-card h3,
.day h3,
.day-card h3,
.sight-card h3,
.stay-copy h3,
.lead h3,
.side-cta h3,
.fare h3,
.calc h3,
.overview-grid h2{
  font-size:var(--pkg-subsection) !important;
  line-height:1.35 !important;
  font-weight:750 !important;
}

/* Main description / overview text */
.summary,
.notice,
.route,
.route-strip,
.info-card p,
.block p,
.main p,
.main-content p,
.day p,
.day-body p,
.sight-card p,
.stay-copy p,
.side-cta p,
.lead p,
.calc-note,
.source{
  font-size:var(--pkg-body) !important;
  line-height:var(--pkg-line) !important;
  color:#58686c;
}

/* Lists — itinerary/inclusions/exclusions/tour information */
.info li,
.info-card li,
.overview-grid li,
.tick-list li,
.cross-list li,
.main ul li,
.main-content ul li{
  font-size:14px !important;
  line-height:1.7 !important;
  margin-bottom:5px !important;
}

/* Overview stats cards */
.stat small,
.overview .stat small{
  font-size:11px !important;
  line-height:1.3 !important;
  font-weight:650 !important;
}
.stat b,
.overview .stat b{
  font-size:15px !important;
  line-height:1.45 !important;
}

/* Highlights / small chips */
.chips span,
.day-tags span,
.tags span,
.amenities span{
  font-size:12px !important;
  line-height:1.35 !important;
  padding:8px 10px !important;
}

/* Day-wise itinerary */
.day,
.day-card{
  padding:15px !important;
}
.day b,
.day-no,
.day-number{
  font-size:12px !important;
  line-height:1.35 !important;
}
.day-title,
.day-head{
  font-size:14px !important;
  line-height:1.45 !important;
}
.day-body{
  padding-top:10px !important;
}

/* Sightseeing cards */
.sight-card h3{
  font-size:17px !important;
}
.sight-card p{
  font-size:14px !important;
  line-height:1.65 !important;
}
.sight-card a{
  font-size:12px !important;
  font-weight:750 !important;
}

/* Price / fare cards */
.fare,
.calculator,
.calc{
  font-size:13px !important;
}
.fare-head span,
.fare-head b,
.calc-head span,
.calc h3{
  font-size:16px !important;
  line-height:1.35 !important;
}
.fare-head small,
.calc-head small{
  font-size:11px !important;
}
.fare label,
.calc label,
.calculator label,
.group-label,
.hotel-select-wrap span{
  font-size:12px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
}
.fare select,
.fare input,
.calc select,
.calc input,
.calculator select,
.calculator input,
.hotel-select-wrap select{
  font-size:13px !important;
  min-height:42px !important;
}
.fare-price small,
.price-box small,
.quote small{
  font-size:11px !important;
}
.fare-price strong,
.price,
.price-right strong,
.quote strong{
  font-size:28px !important;
  line-height:1.15 !important;
}
.price span,
.price-right span{
  font-size:11px !important;
}

/* Fare / enquiry actions */
.fare-actions button,
.calc-actions button,
.actions button,
.fare button,
.calc button,
.lead button,
.side-cta button{
  font-size:12px !important;
  line-height:1.2 !important;
  min-height:44px !important;
  font-weight:800 !important;
}

/* Enquiry forms */
.lead input,
.lead select,
.side-cta input,
.side-cta select,
.calc input,
.calc select,
.calculator input,
.calculator select{
  font-size:13px !important;
  line-height:1.35 !important;
}
.lead p,
.side-cta p{
  font-size:13px !important;
}

/* FAQ */
.faq button{
  font-size:14px !important;
  line-height:1.45 !important;
  min-height:48px !important;
}
.faq article > div{
  font-size:13px !important;
  line-height:1.7 !important;
}

/* Notes / source / disclaimers */
.source-note,
.calc-note,
.form-note,
.side-cta small{
  font-size:11px !important;
  line-height:1.55 !important;
}

/* Hotel cards & optional cards */
.hotel-cards h3,
.optional-grid h3{
  font-size:16px !important;
}
.hotel-cards p,
.optional-grid p{
  font-size:13px !important;
  line-height:1.6 !important;
}

/* Booking/policy accordion text */
.policy p,
.policy li,
.two-col-info p,
.two-col-info li{
  font-size:14px !important;
  line-height:1.7 !important;
}

/* Better content width and vertical rhythm */
.main,
.main-content{
  min-width:0;
}
.block,
.section-block{
  margin-top:36px !important;
}
.info,
.info-card,
.day,
.day-card,
.sight-card,
.stay-card{
  border-radius:12px !important;
}

/* Desktop readability: avoid overly compressed columns */
@media (min-width:1100px){
  .layout,
  .content-layout{
    gap:32px !important;
  }
  .main,
  .main-content{
    padding-right:4px;
  }
}

/* Tablet */
@media (max-width:1000px){
  :root{
    --pkg-body:15px;
    --pkg-small:13px;
    --pkg-label:11px;
    --pkg-section:25px;
    --pkg-subsection:18px;
  }
}

/* Mobile */
@media (max-width:640px){
  :root{
    --pkg-body:14px;
    --pkg-small:12px;
    --pkg-label:10px;
    --pkg-section:23px;
    --pkg-subsection:17px;
  }

  .titlebar h1,
  .title-row h1,
  #packageTitle,
  #customPackageTitle,
  main h1{
    font-size:28px !important;
  }

  .quick,
  .quick-meta,
  .meta{
    font-size:12px !important;
  }

  .tabs a,
  .anchor-tabs a{
    font-size:11px !important;
    padding:10px 12px !important;
  }

  .fare-price strong,
  .price,
  .price-right strong,
  .quote strong{
    font-size:25px !important;
  }

  .fare-actions button,
  .calc-actions button,
  .actions button,
  .lead button{
    font-size:11px !important;
  }
}


/* Package listing readability */
.pkg-card h3,.card h3{font-size:16px!important;line-height:1.35!important}
.pkg-meta,.meta{font-size:11px!important;line-height:1.6!important}
.pkg-next,.next{font-size:10px!important;line-height:1.5!important}
.pkg-tag,.tag{font-size:9px!important}
.pkg-btn,.btn{font-size:10px!important;min-height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important}
