/* Pacébo R14 — measured editorial scale and interactions.
   Loaded after front.css; excludes CMS, maps, forms data, and the footer layout. */
:root { --pacebo-footer-blue: #202238; --pacebo-body-ink: rgba(28,28,30,.95); }

/* Desktop editorial width: visible side gutters instead of edge-to-edge cards. */
@media (min-width: 1024px) {
  body.page-home main > section:not(#hero):not(.pull-quote-section):not(.brand-story-section):not(.running-logos) > div[class*="max-w-"],
  body.page-home main > section:not(#hero) > .site-gutter,
  .listing-page-body > div[class*="max-w-"],
  .listing-page-body > .site-gutter,
  #shore-excursions-home > div,
  #stay-collection > .stay-container {
    width: 100%; max-width: 1220px !important; margin-left:auto; margin-right:auto;
    padding-left: clamp(2rem, 3.5vw, 3.5rem) !important;
    padding-right: clamp(2rem, 3.5vw, 3.5rem) !important;
  }
  .listing-hero-copy-title { font-size:clamp(2.1rem,2.9vw,2.85rem) !important; }
  body.page-home .home-section-title { font-size: clamp(2rem, 2.5vw, 2.65rem) !important; line-height:1.19 !important; }
  body.page-home .trip-card-title, body.page-home .ways-card-title,
  body.page-home .shore-card-title, body.page-home .brand-story-card-title {
    font-size:clamp(1.18rem, 1.55vw, 1.52rem) !important; line-height:1.27 !important;
  }
  .listing-page-body .package-card-journey-title, .listing-page-body .article-card-body > h2 {
    font-size:clamp(1.18rem, 1.55vw, 1.45rem) !important; line-height:1.3 !important;
  }
  body.page-home .trip-card { height: min(27rem, 36vw) !important; }
  body.page-home .shore-card { min-height: 340px !important; max-height: 470px; }
}
@media (min-width: 1440px) {
  body.page-home main > section:not(#hero):not(.pull-quote-section):not(.brand-story-section):not(.running-logos) > div[class*="max-w-"],
  #shore-excursions-home > div, #stay-collection > .stay-container { max-width: 1280px !important; }
}

/* Restrained text black on light surfaces only; don't recolor image overlays/dark panels. */
:is(.package-card-journey-desc, .article-card-excerpt, .regional-card-desc,
    .listing-page-body .listing-intro, .listing-page-body .section-description) {
  color: var(--pacebo-body-ink) !important;
}

/* Consistent breathing room around actual call-to-action copy.
   Small icon-only controls and radio/checkbox controls are intentionally excluded. */
:is(a, button):is(.package-card-cta,.pace-btn-outline,.pace-btn-ruby,.stay-card-btn,
    .brand-story-cta,.nav-cta,.footer-subscribe-btn,.expert-consultation,
    #btn-next,#btn-prev,#btn-submit) {
  box-sizing:border-box; padding-inline:clamp(1.15rem,1.65vw,1.65rem) !important;
  min-height:2.6rem; line-height:1.45; white-space:normal; text-align:center;
  overflow-wrap:break-word;
}
@media (max-width:480px) {
  .package-card-bottom .package-card-cta { padding-inline:.7rem !important; min-height:2.5rem; }
}

/* Only existing black-filled CTA buttons change to footer navy.
   Do not touch black scrims, navigation icons, text, or dark imagery. */
:is(a,button).bg-charcoal.text-white,
:is(a,button).bg-black.text-white {
  background-color:var(--pacebo-footer-blue) !important;
  border-color:var(--pacebo-footer-blue) !important;
}
:is(a,button).bg-charcoal.text-white:hover,
:is(a,button).bg-black.text-white:hover { background-color:#303451 !important; }

/* Footer: exactly the existing native columns/layout, with calmer vertical padding. */
.site-footer { padding-top:4rem !important; padding-bottom:4rem !important; }
@media(min-width:768px) { .site-footer { padding-top:5.25rem !important; padding-bottom:5.25rem !important; } }
.site-footer .footer-col-title {
  font-size:.75rem !important; line-height:1.65 !important;
  font-weight:700 !important; text-transform:uppercase; letter-spacing:.045em;
}
.site-footer .footer-col-list { font-size:.75rem !important; line-height:1.65; }

/* Shore Excursions headings wrap on real word boundaries, never auto-hyphenate. */
.shore-excursions-section .shore-card-title,
.shore-excursions-section .card-title-lock {
  hyphens:none !important; -webkit-hyphens:none !important;
  word-break:normal !important; overflow-wrap:break-word !important;
  white-space:normal !important; text-wrap:pretty;
}

/* Trusted By remains in motion even when a pointer hovers the logo strip. */
.running-logos-viewport:hover .running-logos-track,
.running-logos-viewport:focus-within .running-logos-track {
  animation-play-state:running !important;
}

/* Restrained 3-second smooth shimmer for existing animated booking/consultation CTAs. */
.expert-consultation-visible::after,
[data-expert-consultation].expert-consultation-visible::after {
  animation-name:expert-shimmer-cycle !important;
  animation-duration:3s !important;
  animation-timing-function:ease-in-out !important;
  animation-iteration-count:infinite !important;
}
.expert-consultation-visible:hover::after,
.expert-consultation-visible:focus-visible::after,
[data-expert-consultation].expert-consultation-visible:hover::after,
[data-expert-consultation].expert-consultation-visible:focus-visible::after {
  animation-name:expert-shimmer-cycle !important;
  animation-duration:3s !important;
  animation-iteration-count:infinite !important;
}

/* Keep the same gentle 3-second rhythm on existing booking-button shimmer overlays. */
:is(.booking-cta,.book-now-cta,.package-card-cta,[data-booking-cta])::after {
  animation-duration:3s !important;
  animation-timing-function:ease-in-out !important;
}

/* Why Travel — scroll-triggered reveal only for an existing check-circle icon.
   No icon is added; this rule activates only when such icons are present. */
.pacebo-r14-motion-ready #why-pacebo :is(.why-check,.check-circle,.checkmark-circle,
    .feature-check,.why-card-check,.pacebo-scroll-check,[data-why-check]) {
  opacity:.5; transform:scale(.83);
  transition:opacity .18s ease-out, transform .18s cubic-bezier(.2,.8,.2,1);
}
.pacebo-r14-motion-ready #why-pacebo :is(.why-check,.check-circle,.checkmark-circle,
    .feature-check,.why-card-check,.pacebo-scroll-check,[data-why-check]).is-scroll-visible {
  opacity:1; transform:scale(1);
}

@media(prefers-reduced-motion:reduce) {
  .running-logos-track { animation:none !important; transform:none !important; }
  .running-logos-viewport { overflow-x:auto; mask-image:none; -webkit-mask-image:none; }
  .expert-consultation::after,[data-expert-consultation]::after { animation:none !important; display:none !important; }
  .pacebo-r14-motion-ready #why-pacebo :is(.why-check,.check-circle,.checkmark-circle,
      .feature-check,.why-card-check,.pacebo-scroll-check,[data-why-check]) { opacity:1 !important; transform:none !important; transition:none !important; }
}
