/* =============================================================
   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-warning:    #d97706;
  --cs-warning-bg: #fffbeb;
  --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: var(--cs-warning); }
.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: var(--cs-success-bg);  color: var(--cs-success); }
.canam-other-card-badge.canam-diff-moderado { background: var(--cs-warning-bg);  color: var(--cs-warning); }
.canam-other-card-badge.canam-diff-dificil  { background: var(--cs-danger-bg);  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: var(--cs-warning) !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;
  }

}


/* ═══════════════════════════════════════════════════════════
   REAL DE LA SIERRA — SINGLE CAN-AM · REDISEÑO EDITORIAL V2
   Lora + Karla · crema, terracota y cacao · paisaje SVG
═══════════════════════════════════════════════════════════ */
body.single-hotel_canam {
  --cs-gold: #a86a38;
  --cs-gold-light: #c07d44;
  --cs-gold-dark: #6e4626;
  --cs-dark: #241a11;
  --cs-dark-2: #1c130b;
  --cs-text: #2a2018;
  --cs-text-light: rgba(42,32,24,.76);
  --cs-muted: rgba(42,32,24,.62);
  --cs-border: rgba(92,70,53,.18);
  --cs-bg: #f4eee3;
  --cs-white: #fffdf9;
  --cs-container: 1480px;
  --cs-radius: 7px;
  --cs-radius-lg: 9px;
  --cs-radius-xl: 12px;
  --cs-shadow: 0 18px 46px rgba(42,29,18,.1);
  --cs-shadow-lg: 0 30px 80px rgba(42,29,18,.18);
  color: var(--cs-text);
  background: var(--cs-bg);
}

/* El popup promocional heredado de Woodmart interrumpe el flujo de reserva del tour. */
body.single-hotel_canam .wd-promo-popup,
body.single-hotel_canam .mfp-wrap,
body.single-hotel_canam .mfp-bg { display: none !important; }
body.single-hotel_canam.mfp-zoom-out-cur { overflow: auto !important; }

body.single-hotel_canam .canam-container {
  width: 100%;
  max-width: var(--cs-container);
  padding-inline: clamp(20px,5vw,76px);
}

body.single-hotel_canam .canam-section,
body.single-hotel_canam .canam-gallery-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(88px,9vw,145px);
  font-family: 'Karla',system-ui,sans-serif;
}

body.single-hotel_canam .canam-section-heading {
  margin: 0 0 28px;
  color: var(--cs-text);
  font-family: 'Lora',Georgia,serif;
  font-size: clamp(2.5rem,4.7vw,5rem);
  font-weight: 500;
  line-height: 1.04;
  letter-spacing: -.04em;
  text-wrap: balance;
}

body.single-hotel_canam .canam-heading-accent {
  color: var(--cs-brown,#936037);
  font-style: italic;
}

.canam-section-kicker,
.canam-booking-eyebrow {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 18px;
  color: var(--cs-gold);
  font: 700 .69rem/1.4 'Karla',system-ui,sans-serif;
  letter-spacing: .24em;
  text-transform: uppercase;
}

.canam-section-kicker svg,
.canam-booking-eyebrow svg { width: 16px; height: 16px; stroke-width: 1.5; }
.canam-section-kicker--center { justify-content: center; text-align: center; }

.canam-landscape-art,
.canam-gallery-art,
.canam-schedule-art,
.canam-booking-art {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
}

.canam-landscape-art svg,
.canam-gallery-art svg,
.canam-schedule-art svg,
.canam-booking-art svg { width: 100%; height: 100%; }

.canam-landscape-art path,
.canam-landscape-art circle,
.canam-schedule-art path,
.canam-booking-art path,
.canam-booking-art circle {
  fill: none;
  stroke: #5c4635;
  stroke-width: 1.2;
  vector-effect: non-scaling-stroke;
  opacity: .11;
}

/* Hero cinematográfico */
body.single-hotel_canam .canam-hero {
  min-height: 760px !important;
  height: min(900px,100svh) !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  background-position: center 54% !important;
  font-family: 'Karla',system-ui,sans-serif;
}

body.single-hotel_canam .canam-hero-overlay {
  background:
    linear-gradient(90deg,rgba(20,12,7,.94) 0%,rgba(25,15,9,.74) 38%,rgba(25,15,9,.16) 72%,rgba(20,12,7,.36) 100%),
    linear-gradient(0deg,rgba(22,14,8,.78),transparent 42%);
}

.canam-hero-topography {
  position: absolute;
  z-index: 2;
  top: -9%;
  right: -3%;
  width: min(64vw,980px);
  height: 116%;
  opacity: .2;
  pointer-events: none;
}

.canam-hero-topography svg { width: 100%; height: 100%; }
.canam-hero-topography path { fill: none; stroke: #e0b98a; stroke-width: 1.1; vector-effect: non-scaling-stroke; }

body.single-hotel_canam .canam-hero-content {
  align-items: flex-start;
  justify-content: center;
  width: min(var(--cs-container),100%);
  max-width: var(--cs-container);
  margin: 0 auto;
  padding: 120px clamp(20px,5vw,76px) 180px;
  text-align: left;
}

body.single-hotel_canam .canam-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 22px;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #e0b98a;
  background: transparent;
  backdrop-filter: none;
  font-size: .7rem;
  letter-spacing: .25em;
}

.canam-hero-eyebrow svg { width: 17px; height: 17px; stroke-width: 1.35; }

body.single-hotel_canam .canam-hero-title {
  max-width: 8.7ch;
  margin-bottom: 24px;
  color: #f6efe2 !important;
  font-family: 'Lora',Georgia,serif;
  font-size: clamp(4rem,7.2vw,7.6rem);
  font-weight: 500;
  line-height: .92;
  letter-spacing: -.06em;
  text-shadow: 0 16px 46px rgba(0,0,0,.42);
}

body.single-hotel_canam .canam-hero-subtitle {
  max-width: 54ch;
  margin-bottom: 28px;
  color: rgba(246,239,226,.76);
  font-size: 1rem;
  line-height: 1.8;
}

body.single-hotel_canam .canam-hero-badges {
  justify-content: flex-start;
  max-width: 760px;
  margin-bottom: 30px;
}

body.single-hotel_canam .canam-badge {
  gap: 8px;
  padding: 9px 13px;
  border: 1px solid rgba(224,185,138,.3) !important;
  border-radius: 3px;
  color: rgba(246,239,226,.85) !important;
  background: rgba(28,19,11,.4);
  font-size: .68rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.canam-badge svg { width: 15px; height: 15px; color: #e0b98a; stroke-width: 1.45; }
body.single-hotel_canam .canam-hero-actions { justify-content: flex-start; gap: 11px; }

body.single-hotel_canam .canam-hero-cta,
body.single-hotel_canam .canam-wa-hero-btn {
  min-height: 56px;
  padding: 17px 26px;
  border-radius: 2px;
  box-shadow: none;
  font-size: .7rem;
  letter-spacing: .16em;
  text-transform: uppercase;
}

body.single-hotel_canam .canam-hero-cta { background: #a86a38; }
body.single-hotel_canam .canam-hero-cta:hover { background: #5c4635; }
body.single-hotel_canam .canam-wa-hero-btn { border-color: rgba(246,239,226,.42); background: rgba(28,19,11,.35); }
.canam-hero-cta svg,.canam-wa-hero-btn svg { width: 17px; height: 17px; }

.canam-hero-coordinate {
  position: absolute;
  z-index: 4;
  right: clamp(28px,5vw,78px);
  bottom: 54px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(246,239,226,.58);
  font: 700 .58rem/1 'Karla',sans-serif;
  letter-spacing: .18em;
}
.canam-hero-coordinate i { width: 46px; height: 1px; background: rgba(224,185,138,.46); }

.canam-hero-ridge { position: absolute; z-index: 3; right: 0; bottom: -1px; left: 0; height: 155px; }
.canam-hero-ridge svg { width: 100%; height: 100%; }
.canam-hero-ridge path:first-child { fill: rgba(36,26,17,.72); stroke: rgba(224,185,138,.26); stroke-width: 1; }
.canam-hero-ridge path:last-child { fill: #241a11; }
body.single-hotel_canam .canam-scroll-down { bottom: 30px; z-index: 5; }

/* Barra de datos */
body.single-hotel_canam .canam-stats-bar {
  top: var(--rds-header-h,96px) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(224,185,138,.14) !important;
  color: #f6efe2;
  background: #241a11 !important;
}

body.single-hotel_canam .canam-stats-inner { max-width: var(--cs-container); padding-inline: clamp(20px,5vw,76px); }
body.single-hotel_canam .canam-stat-item { min-height: 116px; padding: 20px clamp(14px,2.2vw,34px); border-color: rgba(224,185,138,.13); }
body.single-hotel_canam .canam-stat-icon { width: 21px; height: 21px; margin-bottom: 6px; color: #e0b98a; stroke-width: 1.35; }
body.single-hotel_canam .canam-stat-label { color: rgba(246,239,226,.48); font-size: .59rem; letter-spacing: .17em; }
body.single-hotel_canam .canam-stat-value { color: #f6efe2; font-family: 'Lora',Georgia,serif; font-size: .95rem; font-weight: 500; }

/* Acerca del tour */
body.single-hotel_canam .canam-about { background: repeating-linear-gradient(118deg,transparent 0 17px,rgba(92,70,53,.025) 17px 18px),#f4eee3; }
.canam-about-layout { display: grid; grid-template-columns: minmax(0,1.02fr) minmax(0,.98fr); align-items: center; gap: clamp(48px,7vw,112px); }
.canam-about-media { position: relative; height: clamp(520px,57vw,720px); margin: 0; }
.canam-about-media::before { content: ''; position: absolute; top: -18px; right: 18px; bottom: 18px; left: -18px; border: 1px solid rgba(92,70,53,.2); }
.canam-about-media img { position: relative; width: 100%; height: 100%; border-radius: 7px; object-fit: cover; box-shadow: var(--cs-shadow-lg); }
.canam-about-media figcaption { position: absolute; right: -24px; bottom: 34px; display: flex; align-items: center; gap: 13px; min-width: 240px; padding: 20px 24px; color: #f6efe2; background: #5c4635; box-shadow: var(--cs-shadow); }
.canam-about-media figcaption svg { width: 24px; height: 24px; color: #e0b98a; stroke-width: 1.3; }
.canam-about-media figcaption span { font: 500 1rem/1.35 'Lora',serif; }
.canam-about-media figcaption small { color: rgba(246,239,226,.64); font: 700 .56rem/1.5 'Karla',sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.canam-about-copy { max-width: 640px; }
body.single-hotel_canam .canam-about-body { max-width: 58ch; color: var(--cs-text-light); font-size: clamp(.95rem,1.2vw,1.08rem); line-height: 1.9; }
.canam-about-facts,.canam-features-grid { display: grid; gap: 0; margin-top: 34px; }
.canam-about-facts span,.canam-feature-item { display: flex; align-items: center; gap: 13px; padding: 15px 0; border-top: 1px solid rgba(92,70,53,.15); color: var(--cs-text); font-weight: 650; }
.canam-about-facts svg,.canam-feature-icon { display: grid; flex: 0 0 38px; place-items: center; width: 38px; height: 38px; border: 1px solid rgba(92,70,53,.22); border-radius: 50%; color: #936037; }
.canam-feature-icon svg { width: 17px; height: 17px; stroke-width: 1.4; }
.canam-about-facts svg { padding: 9px; stroke-width: 1.4; }

/* Galería */
body.single-hotel_canam .canam-gallery-section { color: #f6efe2; background: #241a11; }
.canam-gallery-art path { fill: none; stroke: #e0b98a; stroke-width: 1.1; vector-effect: non-scaling-stroke; opacity: .09; }
body.single-hotel_canam .canam-gallery-section .canam-section-kicker { color: #e0b98a; }
body.single-hotel_canam .canam-gallery-section .canam-section-heading { color: #f6efe2; }
body.single-hotel_canam .canam-gallery-section .canam-heading-accent { color: #e0b98a; }
body.single-hotel_canam .canam-gallery-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); grid-auto-flow: dense; grid-auto-rows: 240px; gap: 18px; }
body.single-hotel_canam .canam-gallery-item { position: relative; grid-column: span 5; height: auto; min-height: 0; border-radius: 7px; }
body.single-hotel_canam .canam-gallery-featured { grid-column: span 7; grid-row: span 2; }
body.single-hotel_canam .canam-gallery-item:nth-child(n+4) { grid-column: span 4; }
body.single-hotel_canam .canam-gallery-item a,body.single-hotel_canam .canam-gallery-item img { width: 100%; height: 100%; }
body.single-hotel_canam .canam-gallery-item img { object-fit: cover; transition: transform .65s cubic-bezier(.2,.7,.2,1),filter .4s; }
body.single-hotel_canam .canam-gallery-item:hover img { transform: scale(1.04); filter: brightness(.74); }
.canam-gallery-number { position: absolute; top: 16px; left: 16px; padding: 7px 9px; color: #f6efe2; background: rgba(28,19,11,.72); font: 700 .59rem/1 'Karla',sans-serif; letter-spacing: .14em; }
.canam-gallery-expand { position: absolute; right: 18px; bottom: 18px; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(246,239,226,.5); border-radius: 50%; color: #fff; opacity: 0; transform: scale(.8); transition: opacity .3s,transform .3s; }
.canam-gallery-expand svg { width: 18px; height: 18px; }
.canam-gallery-item:hover .canam-gallery-expand { opacity: 1; transform: scale(1); }

/* Incluye y horarios */
body.single-hotel_canam .canam-includes-section { background: repeating-linear-gradient(118deg,transparent 0 17px,rgba(92,70,53,.025) 17px 18px),#f4eee3; }
body.single-hotel_canam .canam-includes-grid { gap: clamp(22px,4vw,58px); }
body.single-hotel_canam .canam-includes-col,
body.single-hotel_canam .canam-excludes-col { padding: clamp(28px,4vw,48px); border: 1px solid rgba(92,70,53,.15); border-radius: 8px; background: rgba(255,253,249,.78); box-shadow: 0 18px 48px rgba(42,29,18,.07); }
body.single-hotel_canam .canam-includes-heading { padding-bottom: 20px; border-bottom: 1px solid rgba(92,70,53,.14); color: var(--cs-text); font-family: 'Lora',serif; font-size: 1.45rem; }
body.single-hotel_canam .canam-includes-heading svg { width: 21px; height: 21px; color: #a86a38; stroke-width: 1.5; }
body.single-hotel_canam .canam-include-item,
body.single-hotel_canam .canam-exclude-item { min-height: 58px; padding: 15px 0; color: var(--cs-text-light); border-color: rgba(92,70,53,.12); }
body.single-hotel_canam .canam-item-icon { width: 17px; height: 17px; color: #a86a38 !important; stroke-width: 1.7; }

body.single-hotel_canam .canam-schedule-section { background: #fffaf2; }
body.single-hotel_canam .canam-schedule-slots { gap: 14px; }
body.single-hotel_canam .canam-schedule-slot { min-height: 62px; padding: 17px 22px; border: 1px solid rgba(92,70,53,.18); border-radius: 4px; color: var(--cs-text); background: rgba(255,253,249,.84); box-shadow: none; }
body.single-hotel_canam .canam-schedule-slot svg { width: 18px; height: 18px; color: #a86a38; stroke-width: 1.5; }
body.single-hotel_canam .canam-meeting-point { margin-top: 32px; padding: 21px 25px; border: 0; border-left: 2px solid #a86a38; border-radius: 0; color: var(--cs-text-light); background: rgba(168,106,56,.06); box-shadow: none; }
body.single-hotel_canam .canam-meeting-point svg { width: 22px; height: 22px; color: #a86a38; stroke-width: 1.4; }

/* Video y recorridos relacionados */
body.single-hotel_canam .canam-video-section { color: #f6efe2; background: #241a11; }
body.single-hotel_canam .canam-video-section::before { content: ''; position: absolute; inset: auto -5% -2px; height: 42%; opacity: .18; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 320' preserveAspectRatio='none'%3E%3Cpath d='M-20 300 180 154l148 92 190-212 180 176 170-96 184 142 204-234 166 158 150-90 210 150' fill='none' stroke='%23e0b98a' stroke-width='1.2'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat; pointer-events: none; }
body.single-hotel_canam .canam-video-section .canam-section-heading { color: #f6efe2; }
body.single-hotel_canam .canam-video-section .canam-heading-accent { color: #e0b98a; }
body.single-hotel_canam .canam-video-wrapper { overflow: hidden; max-width: 1180px; border: 1px solid rgba(224,185,138,.22); border-radius: 8px; box-shadow: 0 30px 80px rgba(0,0,0,.34); }

body.single-hotel_canam .canam-other-section { background: #fffaf2; }
body.single-hotel_canam .canam-other-grid { gap: 22px; }
body.single-hotel_canam .canam-other-card { overflow: hidden; border: 1px solid rgba(92,70,53,.15); border-radius: 8px; background: #fffdf9; box-shadow: 0 18px 46px rgba(42,29,18,.08); }
body.single-hotel_canam .canam-other-card-img-link { overflow: hidden; }
body.single-hotel_canam .canam-other-card-img { transition: transform .65s cubic-bezier(.2,.7,.2,1); }
body.single-hotel_canam .canam-other-card:hover .canam-other-card-img { transform: scale(1.035); }
body.single-hotel_canam .canam-other-card-title,body.single-hotel_canam .canam-other-card-price strong { font-family: 'Lora',serif; }
body.single-hotel_canam .canam-other-card-cta { color: #936037; letter-spacing: .12em; text-transform: uppercase; }

/* Reserva: editorial a la izquierda, motor intacto a la derecha */
body.single-hotel_canam .canam-booking-section { scroll-margin-top: calc(var(--rds-header-h,96px) + 18px); background: repeating-linear-gradient(118deg,transparent 0 17px,rgba(92,70,53,.025) 17px 18px),#f4eee3; }
body.single-hotel_canam .canam-booking-section > .canam-container { display: grid; grid-template-columns: minmax(280px,.62fr) minmax(620px,1.38fr); align-items: start; gap: clamp(42px,6vw,96px); }
body.single-hotel_canam .canam-booking-header { position: sticky; top: calc(var(--rds-header-h,96px) + 46px); margin: 0; text-align: left; }
body.single-hotel_canam .canam-booking-header .canam-section-heading { max-width: 8ch; }
body.single-hotel_canam .canam-booking-subtitle { max-width: 38ch; color: var(--cs-text-light); font-size: .98rem; line-height: 1.8; }
body.single-hotel_canam .canam-booking-price-hint { display: inline-flex; flex-direction: column; gap: 4px; margin-top: 27px; padding: 18px 22px; border-left: 2px solid #a86a38; color: var(--cs-muted); background: rgba(255,253,249,.58); }
body.single-hotel_canam .canam-price-highlight { color: #5c4635; font-family: 'Lora',serif; font-size: 1.55rem; font-weight: 500; }
body.single-hotel_canam #canam-wizard { width: 100%; max-width: none; margin: 0; }
body.single-hotel_canam #canam-wizard .canam-wiz-steps,
body.single-hotel_canam #canam-wizard .canam-booking-form { border-color: rgba(92,70,53,.15); border-radius: 8px; background: rgba(255,253,249,.94); box-shadow: 0 22px 58px rgba(42,29,18,.1); }
body.single-hotel_canam #canam-wizard .canam-wiz-step__bubble { color: #5c4635; background: rgba(92,70,53,.1); }
body.single-hotel_canam #canam-wizard .canam-wiz-step.is-active .canam-wiz-step__bubble,
body.single-hotel_canam #canam-wizard .canam-submit-btn { color: #fff; background: #a86a38; }
body.single-hotel_canam #canam-wizard .canam-submit-btn:hover { background: #5c4635; }
body.single-hotel_canam #canam-wizard svg { width: 17px; height: 17px; stroke-width: 1.55; }
body.single-hotel_canam a:focus-visible,body.single-hotel_canam button:focus-visible,body.single-hotel_canam input:focus-visible,body.single-hotel_canam textarea:focus-visible { outline: 2px solid #a86a38; outline-offset: 3px; }

@media (max-width: 1050px) {
  body.single-hotel_canam .canam-booking-section > .canam-container { grid-template-columns: 1fr; }
  body.single-hotel_canam .canam-booking-header { position: relative; top: auto; max-width: 720px; }
  body.single-hotel_canam .canam-booking-header .canam-section-heading { max-width: none; }
  .canam-about-layout { grid-template-columns: 1fr; }
  .canam-about-media { height: 600px; }
}

@media (max-width: 767px) {
  body.single-hotel_canam .canam-section,body.single-hotel_canam .canam-gallery-section { padding-block: 76px; }
  body.single-hotel_canam .canam-hero { min-height: 720px !important; height: 780px !important; background-position: 60% center !important; }
  body.single-hotel_canam .canam-hero-content { padding: 106px 20px 145px; }
  body.single-hotel_canam .canam-hero-title { max-width: 9ch; font-size: clamp(3.5rem,17vw,5rem); }
  body.single-hotel_canam .canam-hero-subtitle { font-size: .9rem; }
  body.single-hotel_canam .canam-hero-actions { display: grid; width: 100%; }
  body.single-hotel_canam .canam-hero-cta,body.single-hotel_canam .canam-wa-hero-btn { justify-content: center; width: 100%; }
  .canam-hero-coordinate,.canam-hero-topography { display: none; }
  .canam-hero-ridge { height: 105px; }
  body.single-hotel_canam .canam-stats-bar { position: relative !important; top: auto !important; }
  body.single-hotel_canam .canam-stats-inner { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 0; }
  body.single-hotel_canam .canam-stat-item { min-width: 0; min-height: 104px; padding: 17px 8px; border-right: 1px solid rgba(224,185,138,.13); border-bottom: 1px solid rgba(224,185,138,.13); }
  body.single-hotel_canam .canam-stat-item:last-child { grid-column: 1 / -1; }
  body.single-hotel_canam .canam-section-heading { font-size: 2.65rem; }
  .canam-about-media { height: 430px; }
  .canam-about-media figcaption { right: -6px; bottom: 20px; min-width: 210px; }
  body.single-hotel_canam .canam-gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 270px; }
  body.single-hotel_canam .canam-gallery-item,body.single-hotel_canam .canam-gallery-featured,body.single-hotel_canam .canam-gallery-item:nth-child(n+4) { grid-column: auto; grid-row: auto; }
  .canam-gallery-expand { opacity: 1; transform: scale(1); }
  body.single-hotel_canam .canam-includes-col,body.single-hotel_canam .canam-excludes-col { padding: 25px 20px; }
  body.single-hotel_canam .canam-schedule-slot { width: 100%; }
  body.single-hotel_canam .canam-booking-section > .canam-container { display: block; }
  body.single-hotel_canam .canam-booking-header { margin-bottom: 30px; }
}

@media (prefers-reduced-motion: reduce) {
  body.single-hotel_canam .canam-hero-topography,body.single-hotel_canam .canam-landscape-art,body.single-hotel_canam .canam-gallery-art,body.single-hotel_canam .canam-schedule-art,body.single-hotel_canam .canam-booking-art { transform: none !important; }
}
