/* =============================================================
   CANAM SINGLE TOUR — canam-single.css
   Design: premium adventure | accent: gold #978667
   ============================================================= */

/* ═══════════════════════════════════════════════════════════
   WOODMART THEME OVERRIDES — force full-width layout
   Woodmart wraps content in .wd-page-content > #main-content
   with a container max-width and optional sidebar grid.
   We must reset all of that for the canam single page.
   ═══════════════════════════════════════════════════════════ */
body.single-hotel_canam .wd-page-content.main-page-wrapper,
body.single-hotel_canam #main-content.wd-content-layout,
body.single-hotel_canam .content-layout-wrapper,
body.single-hotel_canam .wd-content-area,
body.single-hotel_canam .site-content,
body.single-hotel_canam #content,
body.single-hotel_canam #primary,
body.single-hotel_canam .entry-content,
body.single-hotel_canam .post-content {
  width:      100% !important;
  max-width:  100% !important;
  padding:    0    !important;
  margin:     0    !important;
  float:      none !important;
  display:    block !important;
  flex:       none !important;
  grid-template-columns: unset !important;
}

/* Remove any Woodmart page title / breadcrumb bar on canam pages */
body.single-hotel_canam .wd-page-title,
body.single-hotel_canam .wd-breadcrumbs-wrapper,
body.single-hotel_canam .wd-scroll-top {
  display: none !important;
}

/* The admin bar shifts body top — compensate in hero height calc */
body.single-hotel_canam.admin-bar .canam-hero {
  height: calc(100vh - 32px) !important;
  min-height: calc(560px - 32px) !important;
}

:root {
  --cs-gold:       #978667;
  --cs-gold-light: #b8a88a;
  --cs-gold-dark:  #7a6c54;
  --cs-dark:       #0f1117;
  --cs-dark-2:     #181d26;
  --cs-text:       #1a1a2e;
  --cs-text-light: #3d3d5c;
  --cs-muted:      #64748b;
  --cs-border:     #e8e3dc;
  --cs-bg:         #faf9f7;
  --cs-white:      #ffffff;
  --cs-success:    #16a34a;
  --cs-success-bg: #f0fdf4;
  --cs-danger:     #dc2626;
  --cs-danger-bg:  #fef2f2;
  --cs-radius:     10px;
  --cs-radius-lg:  16px;
  --cs-radius-xl:  24px;
  --cs-container:  1200px;
  --cs-shadow-sm:  0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);
  --cs-shadow:     0 4px 16px rgba(0,0,0,.10);
  --cs-shadow-lg:  0 12px 40px rgba(0,0,0,.15);
  --cs-transition: 0.25s ease;
}

/* ─── RESET / BASE ─────────────────────────────────────────── */
.canam-hero,
.canam-stats-bar,
.canam-section,
.canam-gallery-section,
.canam-other-section {
  box-sizing:  border-box;
  width:       100% !important;
  max-width:   100% !important;
  margin-left: 0    !important;
  margin-right: 0   !important;
  float:       none !important;
  clear:       both !important;
}

.canam-hero *,
.canam-stats-bar *,
.canam-section *,
.canam-gallery-section *,
.canam-other-section * {
  box-sizing: border-box;
}

/* ─── CONTAINER ────────────────────────────────────────────── */
.canam-container {
  max-width: var(--cs-container);
  margin-left:  auto;
  margin-right: auto;
  padding-left:  24px;
  padding-right: 24px;
}

/* ─── SECTION BASE ─────────────────────────────────────────── */
.canam-section {
  padding-top:    80px;
  padding-bottom: 80px;
  background-color: var(--cs-bg);
}

.canam-section:nth-child(even) {
  background-color: var(--cs-white);
}

/* ─── SECTION HEADINGS ─────────────────────────────────────── */
.canam-section-heading {
  font-size:     2rem;
  font-weight:   700;
  color:         var(--cs-text);
  margin:        0 0 40px;
  line-height:   1.2;
  letter-spacing: -0.02em;
}

.canam-section-heading--center {
  text-align: center;
}

.canam-section-heading--light {
  color: var(--cs-white);
}

.canam-heading-accent {
  color: var(--cs-gold);
}


/* ═══════════════════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════════════════ */
.canam-hero {
  position:            relative    !important;
  height:              100vh       !important;
  min-height:          560px       !important;
  width:               100%        !important;
  max-width:           100%        !important;
  background-size:     cover       !important;
  background-position: center      !important;
  background-repeat:   no-repeat   !important;
  background-color:    var(--cs-dark) !important;
  display:             flex        !important;
  align-items:         center      !important;
  justify-content:     center      !important;
  overflow:            hidden      !important;
  margin:              0           !important;
  padding:             0           !important;
  float:               none        !important;
}

.canam-hero-overlay {
  position:   absolute;
  inset:      0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.65) 0%,
    rgba(0, 0, 0, 0.35) 50%,
    rgba(0, 0, 0, 0.55) 100%
  );
  z-index: 1;
}

.canam-hero-content {
  position:   relative;
  z-index:    2;
  display:    flex;
  flex-direction: column;
  align-items:    center;
  text-align:     center;
  color:          var(--cs-white);
  padding:        24px;
  max-width:      800px;
  width:          100%;
}

.canam-hero-eyebrow {
  display:        inline-block;
  font-size:      0.75rem;
  font-weight:    700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color:          var(--cs-gold);
  margin-bottom:  16px;
  padding:        6px 16px;
  border:         1px solid rgba(151, 134, 103, 0.4);
  border-radius:  50px;
  backdrop-filter: blur(4px);
  background:     rgba(151, 134, 103, 0.12);
}

.canam-hero-title {
  font-size:      clamp(2.5rem, 6vw, 5rem);
  font-weight:    800;
  line-height:    1.05;
  letter-spacing: -0.03em;
  margin:         0 0 20px;
  text-shadow:    0 2px 20px rgba(0, 0, 0, 0.4);
  color: #fff!important;
}

.canam-hero-subtitle {
  font-size:   1.15rem;
  line-height: 1.6;
  color:       rgba(255, 255, 255, 0.85);
  margin:      0 0 28px;
  max-width:   560px;
}

/* Badges */
.canam-hero-badges {
  display:    flex;
  flex-wrap:  wrap;
  gap:        10px;
  justify-content: center;
  margin-bottom: 36px;
}

.canam-badge {
  display:        inline-flex;
  align-items:    center;
  gap:            6px;
  font-size:      0.8rem;
  font-weight:    600;
  letter-spacing: 0.03em;
  padding:        7px 16px;
  border-radius:  50px;
  border:         1.5px solid rgba(255,255,255,0.35);
  color:          rgba(255,255,255,0.9);
  background:     rgba(255,255,255,0.1);
  backdrop-filter: blur(6px);
}

.canam-badge i {
  font-size: 1rem;
}

.canam-badge-difficulty {
  font-weight: 700;
}

/* CTAs */
.canam-hero-actions {
  display:    flex;
  flex-wrap:  wrap;
  gap:        14px;
  justify-content: center;
}

.canam-hero-cta {
  display:         inline-flex;
  align-items:     center;
  gap:             10px;
  padding:         15px 36px;
  background:      var(--cs-gold);
  color:           var(--cs-white);
  font-size:       1rem;
  font-weight:     700;
  letter-spacing:  0.02em;
  border-radius:   50px;
  text-decoration: none;
  transition:      background var(--cs-transition), transform var(--cs-transition), box-shadow var(--cs-transition);
  box-shadow:      0 4px 20px rgba(151, 134, 103, 0.5);
}

.canam-hero-cta:hover,
.canam-hero-cta:focus-visible {
  background:  var(--cs-gold-light);
  transform:   translateY(-2px);
  box-shadow:  0 8px 28px rgba(151, 134, 103, 0.6);
  color:       var(--cs-white);
  text-decoration: none;
}

.canam-hero-cta i {
  font-size: 1.2rem;
}

.canam-wa-hero-btn {
  display:         inline-flex;
  align-items:     center;
  gap:             10px;
  padding:         15px 28px;
  background:      rgba(255,255,255,0.12);
  color:           var(--cs-white);
  font-size:       1rem;
  font-weight:     600;
  border-radius:   50px;
  border:          1.5px solid rgba(255,255,255,0.4);
  text-decoration: none;
  backdrop-filter: blur(6px);
  transition:      background var(--cs-transition), transform var(--cs-transition);
}

.canam-wa-hero-btn:hover,
.canam-wa-hero-btn:focus-visible {
  background:     rgba(37, 211, 102, 0.25);
  border-color:   rgba(37, 211, 102, 0.6);
  transform:      translateY(-2px);
  color:          var(--cs-white);
  text-decoration: none;
}

.canam-wa-hero-btn i {
  font-size: 1.3rem;
  color:     #25d366;
}

/* Scroll down indicator */
.canam-scroll-down {
  position:   absolute;
  bottom:     40px;
  left:       50%;
  transform:  translateX(-50%);
  z-index:    3;
  color:      rgba(255,255,255,0.7);
  animation:  cs-bounce 2s ease-in-out infinite;
  cursor:     default;
}

.canam-scroll-down svg {
  display: block;
  width:   28px;
  height:  28px;
  filter:  drop-shadow(0 2px 4px rgba(0,0,0,0.4));
}

@keyframes cs-bounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50%       { transform: translateX(-50%) translateY(8px); }
}


/* ═══════════════════════════════════════════════════════════
   STATS BAR
═══════════════════════════════════════════════════════════ */
.canam-stats-bar {
  position:         sticky    !important;
  top:              0         !important;
  z-index:          100       !important;
  width:            100%      !important;
  max-width:        100%      !important;
  background-color: var(--cs-white)  !important;
  border-bottom:    1px solid var(--cs-border) !important;
  transition:       box-shadow var(--cs-transition);
  margin:           0         !important;
}

.canam-stats-bar.is-stuck {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
}

.canam-stats-inner {
  max-width:   var(--cs-container);
  margin:      0 auto;
  padding:     0 24px;
  display:     flex;
  align-items: center;
  justify-content: center;
  gap:         0;
  flex-wrap:   wrap;
}

.canam-stat-item {
  display:        flex;
  flex-direction: column;
  align-items:    center;
  gap:            2px;
  padding:        16px 28px;
  border-right:   1px solid var(--cs-border);
  flex:           1;
  min-width:      130px;
  text-align:     center;
}

.canam-stat-item:last-child {
  border-right: none;
}

.canam-stat-icon {
  font-size:  1.3rem;
  color:      var(--cs-gold);
  margin-bottom: 2px;
}

.canam-stat-label {
  font-size:      0.68rem;
  font-weight:    600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color:          var(--cs-muted);
}

.canam-stat-value {
  font-size:   0.95rem;
  font-weight: 700;
  color:       var(--cs-text);
}

/* Difficulty colours in stats */
.canam-stat-difficulty.canam-diff-facil    { color: var(--cs-success); }
.canam-stat-difficulty.canam-diff-moderado { color: #d97706; }
.canam-stat-difficulty.canam-diff-dificil  { color: var(--cs-danger); }


/* ═══════════════════════════════════════════════════════════
   ABOUT
═══════════════════════════════════════════════════════════ */
.canam-about {
  background-color: var(--cs-bg);
}

.canam-about-grid {
  display:               grid;
  grid-template-columns: 1fr 1fr;
  gap:                   60px;
  align-items:           start;
}

.canam-about-text-col .canam-section-heading {
  margin-bottom: 24px;
}

.canam-about-body {
  font-size:   1.05rem;
  line-height: 1.8;
  color:       var(--cs-text-light);
}

.canam-about-body p {
  margin: 0 0 16px;
}

.canam-about-body--wide {
  max-width:    680px;
  margin:       0 auto;
  text-align:   center;
}

.canam-about-full {
  text-align: center;
}

/* Features grid */
.canam-features-grid {
  display:               grid;
  grid-template-columns: repeat(2, 1fr);
  gap:                   16px;
  margin-top:            8px;
}

.canam-feature-item {
  display:     flex;
  align-items: flex-start;
  gap:         14px;
  padding:     16px;
  background:  var(--cs-white);
  border:      1px solid var(--cs-border);
  border-radius: var(--cs-radius);
  transition:  box-shadow var(--cs-transition), transform var(--cs-transition);
}

.canam-feature-item:hover {
  box-shadow: var(--cs-shadow);
  transform:  translateY(-2px);
}

.canam-feature-icon {
  flex-shrink: 0;
  width:       38px;
  height:      38px;
  background:  rgba(151, 134, 103, 0.12);
  border-radius: 50%;
  display:     flex;
  align-items: center;
  justify-content: center;
  color:       var(--cs-gold);
  font-size:   1.15rem;
}

.canam-feature-text {
  font-size:   0.9rem;
  font-weight: 500;
  color:       var(--cs-text);
  line-height: 1.4;
  padding-top: 2px;
}


/* ═══════════════════════════════════════════════════════════
   GALLERY
═══════════════════════════════════════════════════════════ */
.canam-gallery-section {
  background-color: var(--cs-dark-2);
  padding-top:      80px;
  padding-bottom:   80px;
}

.canam-gallery-section .canam-section-heading {
  color: var(--cs-white);
  margin-bottom: 40px;
}

.canam-gallery-grid {
  display:               grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows:        240px;
  gap:                   8px;
}

.canam-gallery-item {
  position:  relative;
  overflow:  hidden;
  border-radius: var(--cs-radius);
}

.canam-gallery-featured {
  grid-row: span 2;
}

.canam-gallery-item a {
  display: block;
  width:   100%;
  height:  100%;
}

.canam-gallery-item img {
  display:         block;
  width:           100%;
  height:          100%;
  object-fit:      cover;
  object-position: center;
  transition:      transform 0.5s ease, filter 0.3s ease;
  cursor:          pointer;
}

.canam-gallery-item:hover img {
  transform: scale(1.06);
  filter:    brightness(1.05);
}

.canam-gallery-more-overlay {
  position:   absolute;
  inset:      0;
  background: rgba(15, 17, 23, 0.72);
  display:    flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--cs-radius);
  pointer-events: none;
}

.canam-gallery-more-overlay span {
  font-size:   1.8rem;
  font-weight: 700;
  color:       var(--cs-white);
  letter-spacing: -0.02em;
}

.canam-gallery-hidden-link {
  display: none;
}


/* ═══════════════════════════════════════════════════════════
   INCLUDES / EXCLUDES
═══════════════════════════════════════════════════════════ */
.canam-includes-section {
  background-color: var(--cs-white);
}

.canam-includes-grid {
  display:               grid;
  grid-template-columns: repeat(2, 1fr);
  gap:                   40px;
}

.canam-includes-heading {
  display:     flex;
  align-items: center;
  gap:         10px;
  font-size:   1.1rem;
  font-weight: 700;
  margin:      0 0 20px;
}

.canam-includes-heading--yes {
  color: var(--cs-success);
}

.canam-includes-heading--yes i {
  font-size: 1.4rem;
}

.canam-includes-heading--no {
  color: var(--cs-danger);
}

.canam-includes-heading--no i {
  font-size: 1.4rem;
}

.canam-includes-list,
.canam-excludes-list {
  list-style: none;
  margin:     0;
  padding:    0;
  display:    flex;
  flex-direction: column;
  gap: 10px;
}

.canam-include-item,
.canam-exclude-item {
  display:     flex;
  align-items: flex-start;
  gap:         12px;
  font-size:   0.95rem;
  color:       var(--cs-text);
  line-height: 1.5;
  padding:     10px 0;
  border-bottom: 1px solid var(--cs-border);
}

.canam-include-item:last-child,
.canam-exclude-item:last-child {
  border-bottom: none;
}

.canam-item-icon {
  flex-shrink: 0;
  font-size:   1.2rem;
  margin-top:  1px;
}

.canam-item-icon--include {
  color: var(--cs-success);
}

.canam-item-icon--exclude {
  color: var(--cs-danger);
}


/* ═══════════════════════════════════════════════════════════
   SCHEDULE
═══════════════════════════════════════════════════════════ */
.canam-schedule-section {
  background-color: var(--cs-bg);
}

.canam-schedule-slots {
  display:    flex;
  flex-wrap:  wrap;
  gap:        12px;
  justify-content: center;
  margin-bottom: 32px;
}

.canam-schedule-slot {
  display:     inline-flex;
  align-items: center;
  gap:         8px;
  padding:     12px 24px;
  background:  var(--cs-white);
  border:      1.5px solid var(--cs-border);
  border-radius: 50px;
  font-size:   0.95rem;
  font-weight: 600;
  color:       var(--cs-text);
  box-shadow:  var(--cs-shadow-sm);
}

.canam-schedule-slot i {
  color:     var(--cs-gold);
  font-size: 1.1rem;
}

.canam-meeting-point {
  display:     flex;
  align-items: flex-start;
  gap:         10px;
  max-width:   500px;
  margin:      0 auto;
  padding:     18px 24px;
  background:  var(--cs-white);
  border:      1px solid var(--cs-border);
  border-left: 3px solid var(--cs-gold);
  border-radius: var(--cs-radius);
  font-size:   0.95rem;
  color:       var(--cs-text);
  line-height: 1.5;
}

.canam-meeting-point i {
  flex-shrink: 0;
  font-size:   1.3rem;
  color:       var(--cs-gold);
  margin-top:  2px;
}


/* ═══════════════════════════════════════════════════════════
   VIDEO
═══════════════════════════════════════════════════════════ */
.canam-video-section {
  background-color: var(--cs-dark);
}

.canam-video-section .canam-section-heading {
  color: var(--cs-white);
}

.canam-video-wrapper {
  position:      relative;
  padding-bottom: 56.25%; /* 16:9 */
  height:         0;
  overflow:       hidden;
  border-radius:  var(--cs-radius-lg);
  box-shadow:     var(--cs-shadow-lg);
  background:     #000;
  max-width:      900px;
  margin:         0 auto;
}

.canam-video-wrapper iframe {
  position:   absolute;
  top:        0;
  left:       0;
  width:      100%;
  height:     100%;
  border:     0;
  border-radius: var(--cs-radius-lg);
}


/* ═══════════════════════════════════════════════════════════
   BOOKING SECTION
═══════════════════════════════════════════════════════════ */
.canam-booking-section {
  background:     linear-gradient(160deg, var(--cs-dark) 0%, var(--cs-dark-2) 100%);
  padding-bottom: 100px;
}

.canam-booking-header {
  text-align:    center;
  margin-bottom: 48px;
}

.canam-booking-header .canam-section-heading {
  margin-bottom: 12px;
}

.canam-booking-price-hint {
  font-size:  1.05rem;
  color:      rgba(255,255,255,0.65);
  margin:     0;
}

.canam-price-highlight {
  color:       var(--cs-gold);
  font-weight: 700;
  font-size:   1.15rem;
}

/* Booking Form Card */
.canam-booking-form {
  background:    var(--cs-white);
  border-radius: var(--cs-radius-xl);  
  margin:        0 auto;

}

/* Form Groups */
.canam-form-group {
  margin-bottom: 24px;
}

.canam-form-label {
  display:     flex;
  align-items: center;
  gap:         7px;
  font-size:   0.85rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color:       var(--cs-text);
  margin-bottom: 10px!important;
}

.canam-form-label i {
  color:     var(--cs-gold);
  font-size: 1.1rem;
}

.canam-form-optional {
  font-weight:    400;
  text-transform: none;
  letter-spacing: 0;
  color:          var(--cs-muted);
  font-size:      0.8rem;
  margin-left:    4px;
}

.canam-form-input {
  display:       block;
  width:         100%;
  padding:       13px 16px;
  font-size:     0.95rem;
  color:         var(--cs-text);
  background:    var(--cs-bg);
  border:        1.5px solid var(--cs-border);
  border-radius: var(--cs-radius);
  outline:       none;
  transition:    border-color var(--cs-transition), box-shadow var(--cs-transition);
  font-family:   inherit;
  line-height:   1.5;
}

.canam-form-input:focus {
  border-color: var(--cs-gold);
  box-shadow:   0 0 0 3px rgba(151, 134, 103, 0.15);
  background:   var(--cs-white);
}

.canam-form-input::placeholder {
  color: #aaa;
}

.canam-form-textarea {
  resize:   vertical;
  min-height: 90px;
}

/* Side by side row */
.canam-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

/* Schedule radios */
.canam-schedule-radios {
  display:   flex;
  flex-wrap: wrap;
  gap:       10px;
}

.canam-schedule-radio {
  cursor: pointer;
}

.canam-schedule-radio input[type="radio"] {
  position: absolute;
  opacity:  0;
  width:    0;
  height:   0;
}

.canam-schedule-radio span {
  display:       inline-flex;
  align-items:   center;
  padding:       10px 20px;
  border:        1.5px solid var(--cs-border);
  border-radius: 50px;
  font-size:     0.88rem;
  font-weight:   600;
  color:         var(--cs-text);
  transition:    all var(--cs-transition);
  user-select:   none;
  background:    var(--cs-bg);
}

.canam-schedule-radio:hover span,
.canam-schedule-radio.is-selected span {
  border-color: var(--cs-gold);
  color:        var(--cs-gold);
  background:   rgba(151, 134, 103, 0.08);
}

.canam-schedule-radio.is-selected span {
  background:  rgba(151, 134, 103, 0.15);
  box-shadow:  0 0 0 2px rgba(151, 134, 103, 0.2);
}

/* Quantity control */
.canam-qty-control {
  display:     flex;
  align-items: center;
  gap:         0;
  border:      1.5px solid var(--cs-border);
  border-radius: var(--cs-radius);
  overflow:    hidden;
  width:       fit-content;
  background:  var(--cs-bg);
}

.canam-qty-btn {
  width:      44px;
  height:     44px;
  border:     none;
  background: transparent;
  cursor:     pointer;
  color:      var(--cs-text);
  font-size:  1.1rem;
  display:    flex;
  align-items: center;
  justify-content: center;
  transition: background var(--cs-transition), color var(--cs-transition);
  flex-shrink: 0;
}

.canam-qty-btn:hover {
  background: var(--cs-gold);
  color:      var(--cs-white);
}

.canam-qty-value {
  min-width:   48px;
  text-align:  center;
  font-size:   1.1rem;
  font-weight: 700;
  color:       var(--cs-text);
  padding:     0 4px;
  user-select: none;
  border-left:  1px solid var(--cs-border);
  border-right: 1px solid var(--cs-border);
  line-height: 44px;
}

/* Total price display */
.canam-total-display {
  margin:    12px 0 0;
  font-size: 0.9rem;
  color:     var(--cs-muted);
}

.canam-total-display strong {
  color:       var(--cs-text);
  font-size:   1.1rem;
  font-weight: 700;
}

#canam-total-display {
  color:       var(--cs-gold-dark);
  font-size:   1.15rem;
  font-weight: 800;
}

/* Passengers-per-vehicle note */
.canam-passengers-note {
  display:     flex;
  align-items: baseline;
  gap:         6px;
  margin:      8px 0 0;
  font-size:   0.85rem;
  color:       var(--cs-muted);
  line-height: 1.5;
}

.canam-passengers-note i {
  flex-shrink: 0;
  font-size:   0.95rem;
  color:       var(--cs-gold);
  position:    relative;
  top:         1px;
}

.canam-passengers-note > span {
  flex:      1;
  min-width: 0;
}

.canam-passengers-note strong {
  color: var(--cs-text);
}

#canam-total-passengers {
  font-weight: 600;
  color:       var(--cs-gold-dark);
}

/* Date input */
.canam-date-input {
  cursor: pointer;
}

/* Flatpickr overrides */
.flatpickr-calendar {
  font-family: inherit;
  border-radius: var(--cs-radius) !important;
  box-shadow: var(--cs-shadow-lg) !important;
}

.flatpickr-day.selected,
.flatpickr-day.selected:hover {
  background: var(--cs-gold) !important;
  border-color: var(--cs-gold) !important;
}

.flatpickr-day:hover {
  background: rgba(151, 134, 103, 0.15) !important;
}

/* Form actions */
.canam-form-actions {
  display:        flex;
  flex-direction: column;
  gap:            14px;
  margin-top:     8px;
}

.canam-submit-btn {
  display:         flex;
  align-items:     center;
  justify-content: center;
  gap:             10px;
  width:           100%;
  padding:         16px 24px;
  background:      var(--cs-gold);
  color:           var(--cs-white);
  font-size:       1rem;
  font-weight:     700;
  letter-spacing:  0.03em;
  border:          none;
  border-radius:   var(--cs-radius);
  cursor:          pointer;
  transition:      background var(--cs-transition), transform var(--cs-transition), box-shadow var(--cs-transition);
  box-shadow:      0 4px 16px rgba(151, 134, 103, 0.4);
  font-family:     inherit;
}

.canam-submit-btn:hover:not(:disabled) {
  background:  var(--cs-gold-dark);
  transform:   translateY(-1px);
  box-shadow:  0 8px 24px rgba(151, 134, 103, 0.5);
}

.canam-submit-btn:disabled {
  opacity: 0.6;
  cursor:  not-allowed;
}

.canam-submit-btn i {
  font-size: 1.2rem;
}

.canam-wa-booking-btn {
  display:         flex;
  align-items:     center;
  justify-content: center;
  gap:             10px;
  width:           100%;
  padding:         14px 24px;
  background:      transparent;
  color:           var(--cs-text);
  font-size:       0.95rem;
  font-weight:     600;
  border:          1.5px solid var(--cs-border);
  border-radius:   var(--cs-radius);
  text-decoration: none;
  transition:      background var(--cs-transition), border-color var(--cs-transition), transform var(--cs-transition);
}

.canam-wa-booking-btn:hover,
.canam-wa-booking-btn:focus-visible {
  background:      #f0fdf4;
  border-color:    #25d366;
  color:           var(--cs-text);
  transform:       translateY(-1px);
  text-decoration: none;
}

.canam-wa-booking-btn i {
  font-size: 1.3rem;
  color:     #25d366;
}

/* Form messages */
.canam-form-msg {
  padding:       14px 18px;
  border-radius: var(--cs-radius);
  font-size:     0.9rem;
  font-weight:   500;
  line-height:   1.5;
  margin-bottom: 16px;
}

.canam-msg-success {
  background: var(--cs-success-bg);
  color:      var(--cs-success);
  border:     1px solid rgba(22, 163, 74, 0.25);
}

.canam-msg-error {
  background: var(--cs-danger-bg);
  color:      var(--cs-danger);
  border:     1px solid rgba(220, 38, 38, 0.25);
}


/* ═══════════════════════════════════════════════════════════
   OTHER TOURS
═══════════════════════════════════════════════════════════ */
.canam-other-section {
  background-color: var(--cs-bg);
  padding-top:      80px;
  padding-bottom:   80px;
}

.canam-other-grid {
  display:               grid;
  grid-template-columns: repeat(3, 1fr);
  gap:                   24px;
}

.canam-other-card {
  background:    var(--cs-white);
  border-radius: var(--cs-radius-lg);
  overflow:      hidden;
  border:        1px solid var(--cs-border);
  transition:    transform var(--cs-transition), box-shadow var(--cs-transition);
  display:       flex;
  flex-direction: column;
}

.canam-other-card:hover {
  transform:  translateY(-4px);
  box-shadow: var(--cs-shadow-lg);
}

.canam-other-card-img-link {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 10;
}

.canam-other-card-img {
  display:    block;
  width:      100%;
  height:     100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.canam-other-card:hover .canam-other-card-img {
  transform: scale(1.05);
}

.canam-other-card-img--placeholder {
  width:           100%;
  aspect-ratio:    16 / 10;
  background:      var(--cs-bg);
  display:         flex;
  align-items:     center;
  justify-content: center;
  color:           var(--cs-border);
  font-size:       2.5rem;
}

.canam-other-card-body {
  padding:        20px 24px;
  display:        flex;
  flex-direction: column;
  flex:           1;
}

.canam-other-card-badge {
  display:     inline-block;
  font-size:   0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding:     3px 10px;
  border-radius: 50px;
  background:  rgba(151, 134, 103, 0.12);
  color:       var(--cs-gold);
  margin-bottom: 10px;
}

.canam-other-card-badge.canam-diff-facil    { background: rgba(22,163,74,.1);  color: var(--cs-success); }
.canam-other-card-badge.canam-diff-moderado { background: rgba(217,119,6,.1);  color: #d97706; }
.canam-other-card-badge.canam-diff-dificil  { background: rgba(220,38,38,.1);  color: var(--cs-danger); }

.canam-other-card-title {
  font-size:     1.05rem;
  font-weight:   700;
  margin:        0 0 8px;
  line-height:   1.3;
  color:         var(--cs-text);
}

.canam-other-card-title a {
  color:           inherit;
  text-decoration: none;
  transition:      color var(--cs-transition);
}

.canam-other-card-title a:hover {
  color: var(--cs-gold);
}

.canam-other-card-excerpt {
  font-size:   0.88rem;
  color:       var(--cs-muted);
  line-height: 1.5;
  margin:      0 0 16px;
  flex:        1;
  display:     -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow:    hidden;
}

.canam-other-card-footer {
  display:     flex;
  align-items: center;
  justify-content: space-between;
  margin-top:  auto;
  padding-top: 14px;
  border-top:  1px solid var(--cs-border);
  gap:         12px;
}

.canam-other-card-price {
  font-size:   0.85rem;
  color:       var(--cs-muted);
}

.canam-other-card-price strong {
  color:       var(--cs-text);
  font-weight: 700;
}

.canam-other-card-cta {
  display:         inline-flex;
  align-items:     center;
  gap:             5px;
  font-size:       0.85rem;
  font-weight:     600;
  color:           var(--cs-gold);
  text-decoration: none;
  transition:      gap var(--cs-transition), color var(--cs-transition);
  white-space:     nowrap;
}

.canam-other-card-cta:hover {
  gap:   8px;
  color: var(--cs-gold-dark);
  text-decoration: none;
}

.canam-other-card-cta i {
  font-size:  1.1rem;
  transition: transform var(--cs-transition);
}

.canam-other-card-cta:hover i {
  transform: translateX(3px);
}

/* Diff badge in other cards */
.canam-diff-facil    { color: var(--cs-success) !important; }
.canam-diff-moderado { color: #d97706 !important; }
.canam-diff-dificil  { color: var(--cs-danger)  !important; }


/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — 1024px
═══════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .canam-about-grid {
    gap: 40px;
  }
  .canam-other-grid {
    gap: 20px;
  }
}


/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — 768px
═══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* Container */
  .canam-container {
    padding-left:  16px;
    padding-right: 16px;
  }

  /* Section */
  .canam-section {
    padding-top:    56px;
    padding-bottom: 56px;
  }

  .canam-section-heading {
    font-size:     1.6rem;
    margin-bottom: 28px;
  }

  /* Hero */
  .canam-hero {
    min-height: 100dvh;
  }

  .canam-hero-title {
    font-size: 2.4rem;
  }

  .canam-hero-subtitle {
    font-size: 1rem;
  }

  .canam-hero-cta {
    padding: 13px 28px;
    font-size: 0.95rem;
  }

  /* Stats bar */
  .canam-stats-inner {
    justify-content: flex-start;
    overflow-x:     auto;
    flex-wrap:      nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .canam-stats-inner::-webkit-scrollbar {
    display: none;
  }

  .canam-stat-item {
    flex:     0 0 auto;
    padding:  12px 20px;
    min-width: 110px;
  }

  /* About */
  .canam-about-grid {
    grid-template-columns: 1fr;
    gap:                   32px;
  }

  /* Gallery */
  .canam-gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows:        200px;
  }

  .canam-gallery-featured {
    grid-column: span 2;
    grid-row:    span 1;
  }

  /* Includes */
  .canam-includes-grid {
    grid-template-columns: 1fr;
    gap:                   32px;
  }

  /* Other tours */
  .canam-other-grid {
    grid-template-columns: 1fr;
    max-width:             420px;
    margin:                0 auto;
  }

  /* Booking form */
  .canam-booking-form {
    padding:       28px 24px;
    border-radius: var(--cs-radius-lg);
  }

  .canam-form-row {
    grid-template-columns: 1fr;
    gap:                   0;
  }

  /* Schedule pills — full width on tablet */
  .canam-schedule-radios {
    flex-direction: column;
    gap:            8px;
  }

  .canam-schedule-radio {
    width: 100%;
  }

  .canam-schedule-radio span {
    display:         block;
    width:           100%;
    text-align:      center;
    white-space:     normal;
    word-break:      break-word;
  }

  /* Qty row — stretch control full width */
  .canam-qty-control {
    width: 100%;
    justify-content: space-between;
  }

  .canam-qty-value {
    flex: 1;
  }

  /* Qty buttons — bigger tap target */
  .canam-qty-btn {
    width:  52px;
    height: 52px;
  }

  .canam-qty-value {
    line-height: 52px;
  }

}


/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — 480px
═══════════════════════════════════════════════════════════ */
@media (max-width: 480px) {

  .canam-hero-title {
    font-size: 2rem;
  }

  .canam-hero-badges {
    gap: 8px;
  }

  .canam-badge {
    font-size: 0.72rem;
    padding:   6px 12px;
  }

  .canam-hero-actions {
    flex-direction: column;
    gap:            10px;
    width:          100%;
    max-width:      320px;
  }

  .canam-hero-cta,
  .canam-wa-hero-btn {
    width:          100%;
    justify-content: center;
  }

  .canam-section-heading {
    font-size: 1.45rem;
  }

  /* Gallery single column */
  .canam-gallery-grid {
    grid-template-columns: 1fr;
    grid-auto-rows:        220px;
  }

  .canam-gallery-featured {
    grid-column: span 1;
  }

  .canam-booking-form {
    padding:       20px 14px;
    border-radius: var(--cs-radius);
    box-shadow:    0 8px 32px rgba(0,0,0,0.25);
  }

  .canam-booking-header {
    margin-bottom: 28px;
  }

  .canam-form-group {
    margin-bottom: 18px;
  }

  .canam-form-label {
    font-size: 0.78rem;
  }

  .canam-schedule-radios {
    flex-direction: column;
    gap:            8px;
  }

  .canam-schedule-radio {
    width: 100%;
  }

  .canam-schedule-radio span {
    display:    block;
    width:      100%;
    padding:    10px 16px;
    font-size:  0.88rem;
    text-align: center;
    white-space: normal;
    word-break:  break-word;
  }

  .canam-qty-control {
    width:           100%;
    justify-content: space-between;
  }

  .canam-qty-value {
    flex:        1;
    line-height: 48px;
    font-size:   1.2rem;
  }

  .canam-qty-btn {
    width:     48px;
    height:    48px;
    font-size: 1.2rem;
  }

  .canam-total-display {
    font-size: 0.88rem;
  }

  #canam-total-display {
    font-size: 1rem;
  }

  .canam-passengers-note {
    font-size: 0.82rem;
  }

  .canam-form-actions {
    flex-direction: column;
    gap:            10px;
  }

  .canam-submit-btn,
  .canam-wa-booking-btn {
    width:           100%;
    justify-content: center;
  }

  .canam-stats-bar {
    display: none; /* Hide on tiny screens, show on scroll would be confusing */
  }

}

/* ============================================================
   CANAM Wizard Overrides
   Match group booking visual language
   ============================================================ */

.canam-booking-section {
  --cb-accent: #978667;
  --cb-accent-dark: #7a6c53;
  --cb-accent-light: #f7f3ed;
  --cb-border: #e5e5e5;
  --cb-bg: #fff;
  --cb-text: #111;
  --cb-muted: #888;
  --cb-radius: 8px;
  background: #fff;
  padding-top: 80px;
  padding-bottom: 90px;
}

.canam-booking-section .canam-container {
  max-width: 1080px;
}

.canam-booking-header {
  max-width: 920px;
  margin: 0 auto 28px;
  text-align: left;
}

.canam-booking-eyebrow {
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: 11px;
  color: var(--cb-accent);
  margin: 0 0 6px;
  font-weight: 700;
}

.canam-booking-header .canam-section-heading {
  margin: 0 0 6px;
  color: var(--cb-text);
  font-size: 1.6rem;
}

.canam-booking-subtitle,
.canam-booking-price-hint {
  color: var(--cb-muted);
  margin: 0;
  font-size: .92rem;
}

.canam-booking-price-hint {
  margin-top: 6px;
}

.canam-price-highlight {
  color: var(--cb-accent);
  font-size: 1.1rem;
}

#canam-wizard.canam-wizard {
  max-width: 920px;
  margin: 0 auto;
  padding: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

#canam-wizard .canam-wiz-steps {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  padding: 20px 24px;
  background: var(--cb-bg);
  border: 1px solid var(--cb-border);
  border-radius: var(--cb-radius);
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  position: relative;
}

#canam-wizard .canam-wiz-steps::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 24px;
  right: 24px;
  height: 2px;
  background: var(--cb-border);
  transform: translateY(-50%);
  z-index: 0;
}

#canam-wizard .canam-wiz-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  position: relative;
  z-index: 1;
  flex: 1;
}

#canam-wizard .canam-wiz-step + .canam-wiz-step::before,
#canam-wizard .canam-wiz-step.is-complete .canam-wiz-step__bubble::after {
  content: none;
}

#canam-wizard .canam-wiz-step__bubble {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--cb-border);
  color: var(--cb-muted);
  font-weight: 700;
  font-size: .9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid transparent;
  box-shadow: none;
  transition: all .3s ease;
}

#canam-wizard .canam-wiz-step__label {
  display: block;
  font-size: .75rem;
  font-weight: 600;
  color: var(--cb-muted);
  text-align: center;
  line-height: 1.2;
  text-transform: none;
  letter-spacing: 0;
  white-space: normal;
}

#canam-wizard .canam-wiz-step.is-active .canam-wiz-step__bubble {
  background: var(--cb-accent);
  color: #fff;
  border-color: var(--cb-accent);
  box-shadow: 0 2px 8px rgba(151, 134, 103, .3);
}

#canam-wizard .canam-wiz-step.is-active .canam-wiz-step__label {
  color: var(--cb-text);
  font-weight: 700;
}

#canam-wizard .canam-wiz-step.is-complete .canam-wiz-step__bubble {
  background: var(--cb-accent-light);
  color: var(--cb-accent);
  border-color: var(--cb-accent);
}

#canam-wizard .canam-wiz-step.is-complete .canam-wiz-step__label {
  color: var(--cb-text);
}

#canam-wizard .canam-wiz-pane {
  display: none;
  background: var(--cb-bg);
  border: 1px solid var(--cb-border);
  border-radius: var(--cb-radius);
  padding: 24px;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  animation: hrWizardFadeIn .3s ease-out;
}

#canam-wizard .canam-wiz-pane.is-active {
  display: block;
}

#canam-wizard .canam-wiz-pane-title {
  margin: 0 0 18px;
  font-size: .95rem;
  font-weight: 700;
  color: var(--cb-text);
}

#canam-wizard .canam-wiz-pane-title.canam-wiz-pane-title--secondary,
#canam-wizard .canam-pay-amount > .canam-wiz-pane-title {
  margin-top: 24px;
}

#canam-wizard .canam-form-group {
  margin-bottom: 18px;
}

#canam-wizard .canam-form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

#canam-wizard .canam-form-label {
  display: flex;
  align-items: center;
  gap: 7px;
  font-weight: 600;
  font-size: .82rem;
  color: #555;
  margin-bottom: 6px !important;
  text-transform: none;
  letter-spacing: 0;
}

#canam-wizard .canam-form-label i {
  color: var(--cb-accent);
  font-size: 1rem;
}

#canam-wizard .canam-form-optional {
  font-size: .78rem;
  color: var(--cb-muted);
}

#canam-wizard .canam-form-input {
  width: 100%;
  border: 1px solid var(--cb-border);
  border-radius: 6px;
  padding: 10px 14px;
  background: #fff;
  font-size: .88rem;
  color: var(--cb-text);
  line-height: 1.5;
}

#canam-wizard .canam-form-input:focus {
  border-color: var(--cb-accent);
  box-shadow: 0 0 0 3px rgba(151, 134, 103, .12);
  background: #fff;
}

#canam-wizard .canam-form-textarea {
  min-height: 96px;
}

#canam-wizard .canam-date-input {
  cursor: pointer;
}

#canam-wizard .canam-schedule-radios {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

#canam-wizard .canam-schedule-radio span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border: 1px solid var(--cb-border);
  border-radius: 999px;
  font-size: .85rem;
  font-weight: 600;
  color: var(--cb-text);
  background: #fff;
  box-shadow: none;
}

#canam-wizard .canam-schedule-radio:hover span,
#canam-wizard .canam-schedule-radio.is-selected span {
  border-color: var(--cb-accent);
  color: var(--cb-accent);
  background: var(--cb-accent-light);
  box-shadow: none;
}

#canam-wizard .canam-qty-control {
  display: flex;
  align-items: center;
  width: fit-content;
  border: 1px solid var(--cb-border);
  border-radius: 6px;
  background: #fff;
}

#canam-wizard .canam-qty-btn {
  width: 42px;
  height: 42px;
  color: var(--cb-text);
}

#canam-wizard .canam-qty-btn:hover {
  background: var(--cb-accent);
  color: #fff;
}

#canam-wizard .canam-qty-value {
  min-width: 52px;
  line-height: 42px;
  font-size: 1rem;
  border-left: 1px solid var(--cb-border);
  border-right: 1px solid var(--cb-border);
}

#canam-wizard .canam-total-display,
#canam-wizard .canam-passengers-note {
  margin-top: 12px;
  font-size: .85rem;
  color: var(--cb-muted);
}

#canam-wizard .canam-total-display strong,
#canam-wizard .canam-passengers-note strong {
  color: var(--cb-text);
}

#canam-wizard .canam-passengers-note i {
  color: var(--cb-accent);
}

#canam-wizard .canam-pay-options {
  display: grid;
  gap: 12px;
}

#canam-wizard .canam-pay-option {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--cb-border);
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
}

#canam-wizard .canam-pay-option:hover {
  border-color: #ccc;
  background: #fff;
}

#canam-wizard .canam-pay-option.is-selected {
  border-color: var(--cb-accent);
  background: var(--cb-accent-light);
  box-shadow: none;
}

#canam-wizard .canam-pay-option__icon {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: var(--cb-accent-light);
  color: var(--cb-accent);
  flex-shrink: 0;
}

#canam-wizard .canam-pay-option__icon--wa {
  background: #e7faf0;
  color: #16a34a;
}

#canam-wizard .canam-pay-option__body strong {
  font-size: .9rem;
  color: var(--cb-text);
}

#canam-wizard .canam-pay-option__body span {
  display: block;
  margin-top: 4px;
  font-size: .78rem;
  color: var(--cb-muted);
}

#canam-wizard .canam-pay-option__check {
  color: transparent;
}

#canam-wizard .canam-pay-option.is-selected .canam-pay-option__check {
  color: var(--cb-accent);
}

#canam-wizard .canam-wiz-summary {
  border: 1px solid var(--cb-border);
  border-radius: 8px;
  background: #fff;
  padding: 0 18px;
}

#canam-wizard .canam-wiz-summary__row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px dashed #eee;
  font-size: .88rem;
}

#canam-wizard .canam-wiz-summary__row:last-child {
  border-bottom: 0;
}

#canam-wizard .canam-wiz-summary__row span {
  color: #555;
}

#canam-wizard .canam-wiz-summary__row strong {
  color: var(--cb-text);
  font-weight: 600;
  text-align: right;
}

#canam-wizard .canam-wiz-summary__row--pay {
  background: transparent;
}

#canam-wizard .canam-wiz-summary__row--total {
  padding-top: 16px;
}

#canam-wizard .canam-wiz-summary__row--total span {
  color: var(--cb-text);
  font-size: 1rem;
  font-weight: 700;
}

#canam-wizard .canam-wiz-summary__row--total strong,
#canam-wizard .canam-wiz-summary__row--due strong {
  font-size: 1.15rem;
  color: var(--cb-accent);
}

#canam-wizard .canam-wiz-summary__row--due span {
  color: var(--cb-text);
  font-weight: 700;
}

#canam-wizard .canam-wiz-summary__row--balance {
  background: #faf9f7;
}

#canam-wizard .canam-wiz-summary__row--balance span {
  color: var(--cb-muted);
  font-weight: 600;
}

#canam-wizard .canam-wiz-summary__row--balance strong {
  color: var(--cb-text);
  font-size: 1rem;
}

#canam-wizard .canam-wiz-error {
  display: none;
  border-radius: 8px;
  padding: 14px 18px;
  background: #fef2f2;
  color: #991b1b;
  border: 1px solid #fecaca;
  font-size: .85rem;
  text-align: center;
  margin-top: 18px;
}

#canam-wizard .canam-wiz-error.is-visible {
  display: block;
}

#canam-wizard #canam-form-msg {
  margin-top: 18px;
  margin-bottom: 0;
}

#canam-wizard .canam-wiz-footer {
  display: flex;
  gap: 12px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--cb-border);
}

#canam-wizard .canam-submit-btn,
#canam-wizard .canam-wiz-back-btn,
#canam-wizard .canam-wa-booking-btn {
  min-height: 0;
  padding: 10px 20px;
  border-radius: 6px;
  font-size: .88rem;
  font-weight: 600;
  letter-spacing: 0;
  box-shadow: none;
  transform: none;
}

#canam-wizard .canam-submit-btn {
  width: auto;
  margin-left: auto;
  background: var(--cb-accent);
  border: 1px solid var(--cb-accent);
  color: #fff;
}

#canam-wizard .canam-submit-btn:hover:not(:disabled) {
  background: var(--cb-accent-dark);
  border-color: var(--cb-accent-dark);
  box-shadow: none;
  transform: translateX(2px);
}

#canam-wizard .canam-wiz-back-btn {
  background: transparent;
  border: 1px solid var(--cb-border);
  color: var(--cb-muted);
}

#canam-wizard .canam-wiz-back-btn:hover {
  background: transparent;
  color: var(--cb-text);
  border-color: var(--cb-accent);
  transform: translateX(-2px);
}

#canam-wizard .canam-wiz-success {
  background: #fff;
  border: 1px solid var(--cb-border);
  border-radius: var(--cb-radius);
  padding: 32px 24px;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
}

#canam-wizard .canam-wiz-success__icon {
  color: var(--cb-accent);
}

#canam-wizard .canam-wiz-success h3 {
  color: var(--cb-text);
}

#canam-wizard .canam-wiz-success p {
  color: var(--cb-muted);
}

#canam-wizard .canam-wiz-success__total {
  color: var(--cb-text) !important;
}

#canam-wizard .canam-wiz-bank {
  max-width: 560px;
  margin: 18px auto 0;
  text-align: left;
  background: var(--cb-accent-light);
  border: 1px solid #f0ebe3;
  border-radius: 8px;
  padding: 16px;
}

#canam-wizard .canam-wiz-bank__title {
  color: var(--cb-text);
}

#canam-wizard .canam-wa-booking-btn {
  width: auto;
  margin: 18px auto 0;
  justify-content: center;
  border: 1px solid var(--cb-border);
}

.canam-booking-section .flatpickr-day.selected,
.canam-booking-section .flatpickr-day.startRange,
.canam-booking-section .flatpickr-day.endRange,
.canam-booking-section .flatpickr-day.selected:hover,
.canam-booking-section .flatpickr-day.startRange:hover,
.canam-booking-section .flatpickr-day.endRange:hover {
  background: var(--cb-accent) !important;
  border-color: var(--cb-accent) !important;
  color: #fff !important;
}

.canam-booking-section .flatpickr-day.today {
  border-color: var(--cb-accent) !important;
}

.canam-booking-section .flatpickr-day.today:hover {
  background: var(--cb-accent-light) !important;
  color: var(--cb-accent) !important;
}

@media (max-width: 768px) {
  .canam-booking-section {
    padding-top: 64px;
    padding-bottom: 72px;
  }

  .canam-booking-header {
    margin-bottom: 24px;
  }

  #canam-wizard .canam-wiz-steps {
    padding: 16px 12px;
    gap: 4px;
  }

  #canam-wizard .canam-wiz-step__bubble {
    width: 32px;
    height: 32px;
    font-size: .8rem;
  }

  #canam-wizard .canam-wiz-step__label {
    display: block !important;
    font-size: .65rem;
  }

  #canam-wizard .canam-wiz-pane {
    padding: 20px 16px;
  }

  #canam-wizard .canam-form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }

  #canam-wizard .canam-schedule-radios {
    flex-direction: column;
    gap: 8px;
  }

  #canam-wizard .canam-schedule-radio,
  #canam-wizard .canam-schedule-radio span {
    width: 100%;
  }

  #canam-wizard .canam-qty-control {
    width: 100%;
    justify-content: space-between;
  }

  #canam-wizard .canam-qty-value {
    flex: 1;
  }

  #canam-wizard .canam-wiz-footer {
    flex-direction: column-reverse;
  }

  #canam-wizard .canam-submit-btn,
  #canam-wizard .canam-wiz-back-btn,
  #canam-wizard .canam-wa-booking-btn {
    width: 100%;
    margin-left: 0;
    justify-content: center;
  }
}


/* ═══════════════════════════════════════════════════════════
   ACCESSIBILITY — reduced motion
═══════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {

  .canam-scroll-down {
    animation: none;
  }

  .canam-hero-cta,
  .canam-wa-hero-btn,
  .canam-other-card,
  .canam-feature-item,
  .canam-gallery-item img,
  .canam-submit-btn,
  .canam-qty-btn {
    transition: none;
  }

}
