:root {
  --black:#101010;
  --gold:#d9b45f;
  --darkgold:#a68131;
  --cream:#f7f4ed;
  --muted:#77736c;
  --line:#e7dfd0;
  --ink:#171717
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:75px
}
body {
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'DM Sans',Arial,sans-serif;
  padding-bottom:calc(82px + env(safe-area-inset-bottom))
}
button,input,textarea {
  font:inherit
}
button {
  cursor:pointer
}
a {
  color:inherit;
  text-decoration:none
}
.header {
  background:var(--black);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px max(20px,calc((100vw - 1120px)/2));
  min-height:72px;
  position:relative;
  z-index:5
}
.brand {
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--gold);
  font-size:12px;
  letter-spacing:.12em;
  font-weight:800
}
.brand small {
  display:block;
  color:#fff;
  font-size:10px;
  letter-spacing:.2em;
  margin-top:2px
}
.brand-mark {
  height:45px;
  width:45px;
  border:1px solid var(--gold);
  border-radius:50%;
  display:grid;
  place-items:center;
  font-family:Georgia,serif;
  font-size:18px;
  letter-spacing:0
}
.nav {
  display:flex;
  gap:23px;
  font-size:13px
}
.nav a:hover {
  color:var(--gold)
}
.menu-toggle {
  display:none;
  border:0;
  background:none;
  color:var(--gold);
  font-size:25px
}
.hero {
  background:var(--black);
  color:white
}
.hero-photo {
  height:clamp(270px,48vw,560px);
  background:linear-gradient(180deg,transparent 65%,rgba(0,0,0,.32)),url('https://images.unsplash.com/photo-1500534314209-a25ddb2bd429?auto=format&fit=crop&w=1800&q=85') center 55%/cover
}
.hero-copy {
  max-width:1120px;
  margin:auto;
  padding:33px 22px 43px
}
.eyebrow,.overline {
  display:inline-block;
  font-size:11px;
  letter-spacing:.14em;
  color:var(--darkgold);
  font-weight:800
}
.eyebrow {
  color:var(--gold);
  border:1px solid #8a703e;
  padding:7px 10px;
  border-radius:40px
}
.hero h1 {
  font:700 clamp(34px,6vw,58px)/1.14 'Playfair Display',Georgia,serif;
  margin:15px 0
}
.hero-copy>p {
  max-width:680px;
  color:#eae3d6;
  line-height:1.7
}
.hero-copy .location {
  color:var(--gold);
  font-size:14px
}
.hero-tags {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:20px
}
.hero-tags span {
  border:1px solid #504735;
  border-radius:30px;
  padding:8px 11px;
  font-size:12px;
  color:#eee5d2
}
.hero-tags span:last-child {
  background:#203a26;
  border-color:#426848;
  color:#d2efcc
}
.content {
  max-width:1120px;
  margin:auto;
  padding:0 20px
}
.section {
  padding:42px 0;
  border-bottom:1px solid #e2d8c8
}
.section-heading {
  margin-bottom:22px
}
.section h2 {
  font:700 clamp(25px,3.3vw,36px)/1.25 'Playfair Display',Georgia,serif;
  margin:7px 0 10px
}
.section-heading>p,.section>p {
  color:#625d54;
  line-height:1.8
}
.tile-grid,.feature-grid,.addon-grid,.package-grid,.related-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px
}
.tile-grid {
  grid-template-columns:repeat(4,minmax(0,1fr))
}
.mini-tile {
  display:flex;
  align-items:center;
  gap:12px;
  background:white;
  border:1px solid var(--line);
  border-radius:12px;
  padding:16px 13px;
  min-height:70px
}
.mini-tile span {
  color:var(--darkgold);
  font-size:22px;
  flex:none
}
.mini-tile b {
  font-size:13px;
  line-height:1.4
}
.package-grid {
  max-width:700px
}
.package {
  text-align:left;
  border:1px solid var(--line);
  background:#fff;
  border-radius:15px;
  padding:22px;
  display:flex;
  flex-direction:column;
  gap:7px;
  min-height:198px;
  color:var(--ink)
}
.package.active,.addon.active {
  background:#fff1d4;
  border:2px solid var(--gold);
  padding:21px
}
.package-top,.addon-top {
  display:flex;
  align-items:center;
  justify-content:space-between
}
.package-icon,.addon-icon {
  color:var(--darkgold);
  font-size:25px
}
.selected-check {
  display:none;
  background:var(--darkgold);
  color:white;
  border-radius:50%;
  height:22px;
  width:22px;
  text-align:center
}
.active .selected-check {
  display:block
}
.package strong {
  font-size:16px
}
.package small {
  font-size:12px;
  color:var(--muted)
}
.package-price {
  font-size:clamp(20px,3vw,28px);
  font-weight:800;
  color:var(--darkgold)
}
.price-panel,.info-card,.booking-card {
  background:white;
  border:1px solid var(--line);
  border-radius:15px;
  padding:23px;
  margin-top:15px
}
.price-panel {
  max-width:700px
}
.counter-row,.price-line {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px
}
.counter-row {
  padding-bottom:18px;
  border-bottom:1px solid var(--line)
}
.counter-row strong,.counter-row small {
  display:block
}
.counter-row small {
  font-size:12px;
  color:var(--muted);
  margin-top:4px
}
.counter {
  display:flex;
  align-items:center;
  gap:15px
}
.counter button {
  width:35px;
  height:35px;
  border:1px solid #cbbf9e;
  border-radius:9px;
  background:white;
  font-size:21px
}
.counter output {
  min-width:18px;
  text-align:center;
  font-weight:800;
  font-size:19px
}
.price-line {
  padding:13px 0;
  font-size:14px
}
.price-line span {
  color:var(--muted)
}
.price-line>strong:last-child {
  color:var(--darkgold)
}
.total-line {
  border-top:1px solid var(--line);
  font-size:17px
}
.total-line strong:last-child {
  font-size:25px
}
.pay-note {
  background:#f4f9f0;
  color:#42683a;
  font-weight:700;
  padding:12px;
  border-radius:9px;
  font-size:13px
}
.feature {
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:20px
}
.feature-icon {
  font-size:27px;
  color:var(--darkgold)
}
.feature h3 {
  font-size:15px;
  margin:12px 0 7px
}
.feature p {
  font-size:13px;
  color:var(--muted);
  line-height:1.6;
  margin:0
}
.addon {
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:11px;
  padding:19px;
  min-height:145px
}
.addon strong {
  font-size:15px
}
.addon-price {
  font-weight:800;
  color:var(--darkgold);
  font-size:13px
}
.addon-check {
  font-size:22px;
  color:var(--darkgold)
}
.timeline {
  list-style:none;
  counter-reset:steps;
  padding:0 0 0 19px;
  margin:26px 0 0;
  border-left:2px solid #d6bc83
}
.timeline li {
  counter-increment:steps;
  position:relative;
  padding:0 0 28px 29px
}
.timeline li:before {
  content:counter(steps);
  position:absolute;
  left:-34px;
  top:0;
  border:2px solid var(--gold);
  border-radius:50%;
  width:27px;
  height:27px;
  background:var(--cream);
  display:grid;
  place-items:center;
  font-size:12px;
  color:var(--darkgold);
  font-weight:800
}
.timeline h3 {
  font-size:16px;
  margin:0 0 7px
}
.timeline p {
  margin:0;
  color:#625d54;
  line-height:1.7;
  font-size:14px
}
.about-photo {
  height:clamp(210px,42vw,380px);
  border-radius:15px;
  background:url('../images/detail/motocross-hero.webp') center/cover;
  margin-bottom:20px
}
.tip {
  background:#fff3d9;
  border:1px solid #e8d2a2;
  border-radius:12px;
  padding:18px;
  color:#795c22;
  margin-top:14px;
  font-size:14px;
  line-height:1.6
}
.info-card {
  margin-top:0
}
.info-row {
  display:flex;
  gap:17px;
  padding:18px 0
}
.info-row:not(:last-child) {
  border-bottom:1px solid var(--line)
}
.info-row>span {
  color:var(--darkgold);
  font-size:25px;
  min-width:28px
}
.info-row h3 {
  margin:0 0 7px;
  font-size:15px
}
.info-row p {
  margin:0;
  color:#625d54;
  line-height:1.7;
  font-size:14px
}
.excluded p {
  margin:10px 0;
  color:#625d54
}
.payment-panel {
  background:var(--black);
  color:#fff;
  border-radius:16px;
  padding:26px
}
.payment-panel>h3 {
  font:700 26px 'Playfair Display',Georgia,serif;
  color:var(--gold);
  margin:0 0 12px
}
.payment-panel>p,.payment-step p {
  color:#eae3d6;
  line-height:1.7
}
.payment-step {
  display:flex;
  gap:16px;
  padding:18px 0;
  border-top:1px solid #534935
}
.payment-step>span {
  color:var(--gold);
  font-size:20px;
  font-weight:800
}
.payment-step h4 {
  margin:0 0 6px
}
.payment-step p {
  font-size:14px;
  margin:0
}
.faq-list {
  display:grid;
  gap:10px
}
.faq-list details {
  background:white;
  border:1px solid var(--line);
  border-radius:12px;
  padding:18px
}
.faq-list summary {
  cursor:pointer;
  list-style:none;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px
}
.faq-list summary:after {
  content:'+';
  font-size:24px;
  color:var(--darkgold)
}
.faq-list details[open] summary:after {
  content:'−'
}
.faq-list details p {
  font-size:14px;
  color:#625d54;
  line-height:1.7
}
.booking-card {
  margin-top:0;
  border-color:var(--gold);
  padding:25px
}
.booking-card form {
  display:grid;
  gap:11px
}
.booking-card label,.booking-card legend {
  font-size:13px;
  font-weight:700
}
.booking-card label span {
  color:#a68131
}
.booking-card input:not([type=radio]),.booking-card textarea {
  width:100%;
  border:1px solid #d9d1c2;
  border-radius:10px;
  padding:13px;
  background:#fff;
  outline-color:var(--gold);
  margin-bottom:8px
}
.booking-card fieldset {
  border:0;
  padding:0;
  margin:9px 0;
  display:grid;
  gap:10px
}
.booking-card legend {
  margin-bottom:12px
}
.radio-option {
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid var(--line);
  padding:13px;
  border-radius:10px;
  cursor:pointer
}
.radio-option input {
  accent-color:var(--darkgold);
  width:17px;
  height:17px
}
.radio-option strong,.radio-option small {
  display:block
}
.radio-option small {
  color:var(--muted);
  margin-top:4px;
  font-weight:400
}
.summary {
  border-top:1px solid var(--line);
  padding-top:15px
}
.summary h3 {
  margin:0 0 12px
}
.primary-btn {
  border:0;
  background:var(--gold);
  color:#1c160c;
  font-weight:800;
  border-radius:10px;
  padding:16px;
  cursor:pointer
}
.primary-btn:hover,.sticky-btn:hover {
  background:#e6c879
}
.fineprint {
  font-size:12px;
  color:var(--muted);
  line-height:1.6;
  text-align:center
}
.related {
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden
}
.related-photo {
  height:150px;
  background-size:cover;
  background-position:center
}
.jeep-photo {
  background-image:url('https://images.unsplash.com/photo-1500534623283-312aade485b7?auto=format&fit=crop&w=800&q=80')
}
.atv-photo {
  background-image:url('https://images.unsplash.com/photo-1519681393784-d120267933ba?auto=format&fit=crop&w=800&q=80')
}
.related>div:last-child {
  padding:16px
}
.related h3 {
  font-size:15px;
  margin:0 0 8px
}
.related p {
  font-size:13px;
  color:var(--muted)
}
.related strong,.related span {
  color:var(--darkgold)
}
.related span {
  font-size:12px;
  font-weight:800
}
.footer {
  background:var(--black);
  color:#eae3d6;
  padding:35px 20px
}
.footer-inner {
  max-width:1120px;
  margin:auto
}
.footer h2 {
  color:var(--gold);
  font:700 25px 'Playfair Display',Georgia,serif
}
.footer p {
  font-size:13px;
  line-height:1.7
}
.copyright {
  border-top:1px solid #514733;
  padding-top:17px;
  color:#bbaa87
}
.sticky-book {
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  z-index:10;
  background:#101010;
  color:white;
  border-top:2px solid var(--gold);
  padding:11px max(18px,calc((100vw - 1120px)/2));
  padding-bottom:calc(11px + env(safe-area-inset-bottom));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  box-shadow:0 -5px 25px #0002
}
.sticky-book small {
  display:block;
  color:#eae3d6;
  font-size:11px
}
.sticky-book strong {
  display:block;
  color:var(--gold);
  font-size:23px;
  margin-top:3px
}
.sticky-btn {
  background:var(--gold);
  border-radius:9px;
  color:#211909;
  padding:14px 21px;
  font-size:14px;
  font-weight:800;
  white-space:nowrap
}
@media(max-width:720px) {
  .menu-toggle {
    display:block
  }
  .nav {
    display:none;
    position:absolute;
    top:72px;
    left:0;
    right:0;
    background:#191919;
    padding:22px;
    flex-direction:column;
    border-top:1px solid #5c4a29
  }
  .nav.open {
    display:flex
  }
  .tile-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .content {
    padding:0 16px
  }
  .section {
    padding:32px 0
  }
  .mini-tile {
    padding:11px 9px;
    min-height:64px;
    gap:8px
  }
  .mini-tile b {
    font-size:11px
  }
  .feature {
    padding:15px
  }
  .feature h3 {
    font-size:13px
  }
  .feature p {
    font-size:12px
  }
  .package {
    padding:14px;
    min-height:175px
  }
  .package.active {
    padding:13px
  }
  .package strong {
    font-size:13px
  }
  .package-price {
    font-size:20px
  }
  .addon {
    padding:14px
  }
  .addon.active {
    padding:13px
  }
  .addon strong {
    font-size:13px
  }
  .addon-price {
    font-size:12px
  }
  .price-panel {
    padding:17px
  }
  .booking-card {
    padding:17px
  }
  .hero-copy {
    padding:27px 18px 33px
  }
  .sticky-book strong {
    font-size:21px
  }
}
@media(max-width:355px) {
  .package-price {
    font-size:17px
  }
  .package {
    padding:11px
  }
  .package.active {
    padding:10px
  }
  .counter {
    gap:7px
  }
  .sticky-btn {
    padding:12px
  }
}
/* Compact What's Included and Add-ons: all other sections unchanged */ #included .tile-grid {
  gap: 9px;
}
#included .mini-tile {
  padding: 10px 11px;
  min-height: 53px;
  gap: 9px;
  border-radius: 10px;
}
#included .mini-tile span {
  font-size: 18px;
}
#included .mini-tile b {
  font-size: 12px;
  line-height: 1.3;
}
#addons .addon-grid {
  gap: 9px;
}
#addons .addon {
  padding: 12px;
  min-height: 105px;
  gap: 6px;
  border-radius: 10px;
}
#addons .addon.active {
  padding: 11px;
}
#addons .addon-icon {
  font-size: 21px;
}
#addons .addon-check {
  font-size: 19px;
}
#addons .addon strong {
  font-size: 13px;
}
#addons .addon-price {
  font-size: 12px;
}
@media (max-width:720px) {
  #included .tile-grid, #addons .addon-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
  }
  #included .mini-tile {
    padding: 9px 8px;
    min-height: 49px;
    gap: 7px;
  }
  #included .mini-tile span {
    font-size: 17px;
  }
  #included .mini-tile b {
    font-size: 11px;
  }
  #addons .addon {
    padding: 10px;
    min-height: 96px;
    gap: 5px;
  }
  #addons .addon.active {
    padding: 9px;
  }
  #addons .addon strong {
    font-size: 12px;
  }
  #addons .addon-price {
    font-size: 11px;
  }
}
/* Final compact mobile-first design — matching approved simple reference */ .section {
  padding:30px 0
}
.section-heading {
  margin-bottom:17px
}
.section h2 {
  font-family:'DM Sans',Arial,sans-serif;
  font-size:clamp(23px,3vw,30px);
  font-weight:800;
  letter-spacing:-.035em;
  line-height:1.2
}
.section-heading>p {
  font-size:13px;
  line-height:1.55;
  margin:7px 0 0
}
.overline {
  font-size:10px;
  letter-spacing:.11em
}
.line-icon {
  width:21px;
  height:21px;
  display:block;
  flex:none
}
.mini-tile span,.addon-icon,.feature-icon,.package-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--darkgold)
}
#included .mini-tile {
  padding:10px 11px;
  min-height:54px;
  gap:9px
}
#included .mini-tile b {
  font-size:12px;
  line-height:1.3
}
#addons .addon {
  min-height:94px;
  padding:11px;
  gap:5px
}
#addons .addon.active {
  padding:10px
}
#addons .addon strong {
  font-size:12px
}
#addons .addon-price {
  font-size:11px
}
.package {
  min-height:166px;
  padding:15px
}
.package.active {
  padding:14px
}
.package .package-icon .line-icon {
  width:24px;
  height:24px
}
.price-panel {
  padding:16px
}
.feature .line-icon {
  width:25px;
  height:25px
}
@media(max-width:720px) {
  .content {
    padding:0 16px
  }
  .section {
    padding:29px 0
  }
  .section-heading {
    margin-bottom:15px
  }
  .section h2 {
    font-size:clamp(22px,5.5vw,27px)
  }
  .section-heading>p {
    font-size:12px
  }
  .tile-grid,.addon-grid {
    gap:9px
  }
  #included .mini-tile {
    min-height:49px;
    padding:9px;
    gap:8px
  }
  #included .mini-tile b {
    font-size:11px
  }
  #included .line-icon {
    width:19px;
    height:19px
  }
  #addons .addon {
    min-height:91px;
    padding:10px
  }
  #addons .addon.active {
    padding:9px
  }
  .package {
    min-height:159px;
    padding:13px
  }
  .package.active {
    padding:12px
  }
  .package-price {
    font-size:19px
  }
  .feature {
    padding:13px
  }
}
/* Unified gold outline icons across all lower sections */ #bring .feature-icon,#highlights .feature-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--darkgold)
}
#bring .feature-icon .line-icon,#highlights .feature-icon .line-icon {
  width:23px;
  height:23px
}
#before .info-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:26px;
  color:var(--darkgold)
}
#before .info-icon .line-icon {
  width:22px;
  height:22px
}
#excluded .excluded p {
  display:flex;
  align-items:center;
  gap:9px
}
#excluded .excluded .line-icon {
  width:18px;
  height:18px;
  color:var(--darkgold)
}
.tip {
  display:flex;
  align-items:center;
  gap:9px
}
.tip>.line-icon {
  width:21px;
  height:21px;
  flex:none
}
.payment-panel>h3 {
  display:flex;
  align-items:center;
  gap:9px
}
.payment-panel>h3 .line-icon {
  width:23px;
  height:23px
}
.footer p .line-icon {
  width:15px;
  height:15px;
  display:inline-block;
  vertical-align:middle;
  margin-right:5px;
  color:var(--gold)
}
/* Related tours: same compact card design as homepage, scoped to this section */ #more .home-tour-grid {
  display:flex;
  gap:13px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding:4px 1px 14px;
  -webkit-overflow-scrolling:touch
}
#more .tour-card {
  flex:0 0 220px;
  scroll-snap-align:start;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid #e6dece;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 5px 15px #4b35100f
}
#more .tour-photo {
  height:135px;
  background-color:#9d8659;
  background-size:cover;
  background-position:center;
  position:relative
}
#more .category {
  position:absolute;
  top:10px;
  left:10px;
  background:#d9b45f;
  color:#211a0a;
  font-size:10px;
  font-weight:800;
  padding:6px 12px;
  border-radius:30px
}
#more .tour-body {
  padding:12px;
  display:flex;
  flex-direction:column;
  flex:1
}
#more .tour-body>.location {
  color:#77736a;
  font-size:10px;
  margin:0 0 5px
}
#more .tour-card h3 {
  font-family:'DM Sans',Arial,sans-serif;
  font-size:15px;
  line-height:1.25;
  margin:0;
  min-height:38px;
  color:#171717
}
#more .rating {
  margin:7px 0;
  font-size:12px;
  color:#d0a13b
}
#more .rating-note {
  font-size:9px;
  color:#86817a
}
#more .features,#more .addons {
  display:flex;
  flex-wrap:wrap;
  gap:4px
}
#more .features span,#more .addons span {
  padding:4px 6px;
  border-radius:5px;
  font-size:9px;
  line-height:1.3
}
#more .features span {
  background:#eaf2e9;
  color:#31563c
}
#more .add-on {
  border-top:1px solid #eee7da;
  margin-top:10px;
  padding-top:8px
}
#more .add-on strong {
  font-size:10px;
  color:#171717
}
#more .addons {
  margin-top:6px
}
#more .addons span {
  background:#fff1d9;
  color:#775620
}
#more .card-bottom {
  margin-top:auto;
  padding-top:11px
}
#more .price {
  border-top:1px solid #eee7da;
  padding-top:8px;
  display:flex;
  flex-direction:column
}
#more .price small {
  font-size:10px;
  color:#77736a
}
#more .price strong {
  font-size:18px;
  line-height:1.2;
  color:#a67b25
}
#more .card-buttons {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin-top:9px
}
#more .card-buttons a {
  text-align:center;
  padding:9px 2px;
  border-radius:8px;
  font-size:11px;
  font-weight:800;
  text-decoration:none
}
#more .details {
  border:1px solid #d4ad57;
  color:#9a7123
}
#more .booking {
  background:linear-gradient(110deg,#d3a13e,#e7c86f);
  color:#17120b
}
#more .related-note {
  font-size:11px;
  color:#77736b;
  margin-top:8px
}
#booking fieldset input[name="payment"] {
  accent-color:#a68131
}
@media(min-width:600px) {
  #more .home-tour-grid {
    overflow:visible;
    flex-wrap:wrap
  }
}
/* Original homepage logo and accessible Back to Home control */ .header .brand {
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0
}
.header .brand img {
  width:49px;
  height:49px;
  object-fit:contain;
  display:block
}
.header .back-home {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d9b45f;
  border-radius:999px;
  padding:9px 12px;
  color:#d9b45f;
  text-decoration:none;
  font-size:12px;
  font-weight:700;
  white-space:nowrap
}
.header .back-home:hover {
  background:#d9b45f;
  color:#101010
}
@media(max-width:480px) {
  .header .brand img {
    width:43px;
    height:43px
  }
  .header .back-home {
    padding:8px 10px;
    font-size:11px
  }
}
/* Compact Jeep page: match the approved Trekking design. */ .section-intro {
  color:#625d54;
  line-height:1.6;
  margin:-7px 0 17px;
  font-size:13px
}
.tile-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px
}
.mini-tile {
  min-height:54px;
  padding:10px 12px;
  gap:9px
}
.mini-tile .line-icon {
  width:21px;
  height:21px
}
.mini-tile b {
  font-size:12px
}
.addon-grid {
  gap:9px
}
.addon {
  padding:12px;
  min-height:112px;
  gap:7px
}
.addon.active {
  padding:11px
}
.addon-icon .line-icon,.feature-icon .line-icon,.info-icon .line-icon {
  width:24px;
  height:24px
}
.bring-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px
}
.bring-tile {
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px
}
.bring-tile>span {
  color:var(--darkgold);
  flex-shrink:0
}
.bring-tile .line-icon {
  width:23px;
  height:23px
}
.bring-tile strong,.bring-tile small {
  display:block
}
.bring-tile strong {
  font-size:12px
}
.bring-tile small {
  font-size:11px;
  color:var(--muted);
  margin-top:4px
}
.brand img {
  max-width:135px;
  max-height:54px;
  object-fit:contain
}
.back-home {
  color:var(--gold);
  font-size:12px;
  font-weight:700;
  white-space:nowrap
}
.line-icon {
  width:23px;
  height:23px;
  vertical-align:middle
}
.hero-tags span {
  font-size:11px
}
@media(max-width:720px) {
  .header {
    gap:10px;
    padding:9px 13px
  }
  .brand img {
    max-width:105px;
    max-height:46px
  }
  .mini-tile {
    padding:9px;
    min-height:49px
  }
  .mini-tile b {
    font-size:11px
  }
  .addon {
    padding:11px;
    min-height:105px
  }
  .addon.active {
    padding:10px
  }
  .section {
    padding:29px 0
  }
  .section h2 {
    font-size:25px
  }
  .feature {
    padding:13px
  }
  .bring-tile {
    padding:10px 8px;
    gap:7px
  }
  .bring-tile strong {
    font-size:11px
  }
  .bring-tile small {
    font-size:10px
  }
}
/* Rafting page — retain the approved Trekking compact tile and gold icon language. */ #included .mini-tile,#addons .addon {
  box-shadow:0 2px 9px rgba(16,16,16,.025)
}
@media(max-width:720px) {
  #included .mini-tile {
    min-height:55px;
    padding:9px 8px
  }
  #addons .addon {
    min-height:112px;
    padding:11px;
    gap:7px
  }
  #addons .addon.active {
    padding:10px
  }
}
/* Combo-specific note for custom group quotes */ .quote-note {
  background:#fff3d9;
  border:1px solid #d9b45f;
  border-radius:10px;
  padding:10px 12px;
  color:#795c22;
  font-size:12px;
  margin-top:12px
}
.quote-note[hidden] {
  display:none
}
.price-line strong.quote {
  font-size:14px
}
.sticky-book strong.quote {
  font-size:15px
}
/* Motocross: five compact independent bike quantity rows */ .bike-list {
  background:#fff;
  border:1px solid #e5dac5;
  border-radius:14px;
  overflow:hidden
}
.bike-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:12px 13px;
  border-bottom:1px solid #eee7da;
  transition:background .2s
}
.bike-row:last-child {
  border-bottom:0
}
.bike-row.selected {
  background:#fff2d9
}
.bike-info {
  min-width:0;
  display:grid;
  gap:4px
}
.bike-info strong {
  font-size:13px;
  color:#1c1b19
}
.bike-info small {
  font-size:12px;
  color:#a68131;
  font-weight:800
}
.bike-counter {
  display:flex;
  align-items:center;
  gap:8px;
  flex-shrink:0
}
.bike-counter button {
  width:29px;
  height:29px;
  border:1px solid #d9b45f;
  background:#fff;
  border-radius:8px;
  font-size:19px;
  color:#9b7227;
  cursor:pointer
}
.bike-counter output {
  min-width:18px;
  text-align:center;
  font-size:14px;
  font-weight:800;
  color:#171717
}
.bike-counter button:disabled {
  opacity:.35
}
.price-panel {
  margin-top:13px
}
.transfer-choice {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px
}
.transfer-choice button {
  border:1px solid #e5dac5;
  border-radius:12px;
  padding:13px 9px;
  background:#fff;
  display:grid;
  gap:5px;
  text-align:left;
  cursor:pointer
}
.transfer-choice button.active {
  border:2px solid #d9b45f;
  padding:12px 8px;
  background:#fff2d9
}
.transfer-choice strong {
  font-size:13px
}
.transfer-choice small {
  font-size:11px;
  color:#a68131
}
.booking-total {
  font-weight:800;
  color:#a68131
}
.muted-note {
  font-size:12px;
  color:#77736a;
  line-height:1.5
}
.sticky-book {
  z-index:10
}
.footer {
  margin-bottom:0
}
.section-intro {
  margin:0 0 15px
}
.hero-photo {
  background-position:center 58%
}
#booking .field {
  margin-bottom:12px
}
#booking .field label {
  display:block;
  font-weight:700;
  font-size:12px;
  margin-bottom:6px
}
#booking .field input,#booking .field textarea {
  width:100%;
  padding:12px;
  border:1px solid #e0d8ca;
  border-radius:9px;
  font:inherit
}
#booking .payment-choices {
  display:grid;
  gap:8px;
  margin:12px 0
}
#booking .payment-choices label {
  padding:11px;
  border:1px solid #e8ddc7;
  border-radius:9px;
  font-size:13px
}
.summary-lines {
  display:grid;
  gap:9px
}
.summary-line {
  display:flex;
  justify-content:space-between;
  gap:8px;
  font-size:12px
}
.summary-line strong {
  text-align:right
}
.summary-line.total {
  padding-top:12px;
  border-top:1px solid #e7dece;
  font-size:17px
}
.submit-cross {
  display:block;
  width:100%;
  margin-top:15px;
  padding:14px;
  border:0;
  border-radius:10px;
  background:#d9b45f;
  color:#16120b;
  font-weight:800;
  cursor:pointer
}
.submit-cross:disabled {
  opacity:.5
}
.feature-grid,.bring-grid {
  grid-template-columns:repeat(2,minmax(0,1fr))
}
.tip {
  margin-top:12px
}
.related-links {
  display:flex;
  gap:9px;
  flex-wrap:wrap
}
.related-links a {
  border:1px solid #d9b45f;
  border-radius:8px;
  padding:10px;
  color:#9b7227;
  font-size:12px;
  font-weight:700;
  text-decoration:none
}
.faq-item {
  border:1px solid #e5dac5;
  border-radius:10px;
  margin-bottom:9px;
  background:#fff;
  padding:13px
}
.faq-item summary {
  font-weight:700;
  font-size:13px;
  cursor:pointer
}
.faq-item p {
  font-size:12px;
  line-height:1.6;
  color:#625d54
}
.step {
  padding:13px 0;
  border-bottom:1px solid #e8dfd1;
  display:flex;
  gap:12px
}
.step>span {
  width:28px;
  height:28px;
  border-radius:50%;
  background:#f5e8c8;
  color:#97722e;
  display:grid;
  place-items:center;
  flex-shrink:0;
  font-weight:800
}
.step strong {
  font-size:13px
}
.step p {
  font-size:12px;
  color:#625d54;
  margin:5px 0
}
.photo-about {
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:12px;
  margin:12px 0
}
.payment-panel {
  background:#101010;
  color:#eee;
  padding:20px;
  border-radius:14px
}
.payment-panel h3 {
  color:#d9b45f
}
.payment-panel p {
  font-size:13px;
  line-height:1.6
}
.info-list {
  display:grid;
  gap:10px
}
.info-list>div {
  display:flex;
  gap:11px;
  padding:12px;
  background:#fff;
  border:1px solid #e5dac5;
  border-radius:10px
}
.info-list strong {
  display:block;
  font-size:13px
}
.info-list p {
  font-size:12px;
  margin:4px 0;
  color:#625d54
}
.info-list svg {
  color:#a68131;
  flex-shrink:0
}
.small-icon {
  width:21px;
  height:21px
}
.mini-tile svg {
  color:#a68131
}
.mini-tile {
  display:flex;
  align-items:center
}
.mini-tile b {
  font-size:12px
}
.feature p {
  font-size:12px
}
.feature h3 {
  font-size:13px
}
.hero-copy h1 {
  font-size:clamp(31px,6vw,52px)
}
@media(max-width:450px) {
  .bike-row {
    padding:11px 10px
  }
  .bike-info strong {
    font-size:12px
  }
  .bike-info small {
    font-size:11px
  }
  .bike-counter {
    gap:6px
  }
  .bike-counter button {
    width:27px;
    height:27px
  }
  .hero-copy h1 {
    font-size:32px
  }
}

/* Curated full-bleed activity image. */
.hero-photo { background-size:cover !important; background-position:center center !important; }

/* Full-bleed detail photos without blurred side padding. */
.hero-photo{background-size:cover !important;background-position:center center !important;}

/* Homepage-matched related tour cards */
#more .tour-card .per-person-note{display:block;font-size:12px;color:#777;margin-top:2px}
#more .tour-card .tour-photo{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
#more .home-tour-grid{align-items:stretch}

/* Match homepage five-star card decoration */
#more .rating .rating-stars { color: #d9b45f; font-size: 24px; line-height: 1; letter-spacing: 2px; white-space: nowrap; display: inline-block; }
@media (max-width: 480px) { #more .rating .rating-stars { font-size: 22px; letter-spacing: 1px; } }
