/* Oloropa destination atlas: exact lookbook primary/secondary button contract. */
:root {
  --primary-gold-token: #D58654;
  --secondary-dark-token: #231915;
  --btn-primary-text: #231915;
  --btn-secondary-text: #FDFBF7;
  --btn-lookbook-radius: 9999px;
  --btn-lookbook-min-height: 52px;
  --btn-lookbook-inline-pad: clamp(1.45rem, 2.2vw, 2rem);
  --btn-lookbook-font-size: clamp(0.9rem, 0.82rem + 0.22vw, 1.02rem);
  --btn-lookbook-shadow: 0 12px 28px rgba(35, 25, 21, 0.13);
  --btn-lookbook-focus: 0 0 0 3px rgba(253, 251, 247, 0.92), 0 0 0 6px rgba(213, 134, 84, 0.52);
  --btn-lookbook-transition: transform 0.2s cubic-bezier(0.25, 1, 0.5, 1), background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

body.ol-lookbook-button-system {
  --primary-gold-token: #D58654;
  --secondary-dark-token: #231915;
  --btn-primary-text: #231915;
  --btn-secondary-text: #FDFBF7;
}

body.ol-lookbook-button-system :where(.btn-lookbook-primary, .btn-lookbook-secondary) {
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  min-width: 44px;
  min-height: var(--btn-lookbook-min-height) !important;
  width: max-content !important;
  max-width: 100% !important;
  padding: 0 var(--btn-lookbook-inline-pad) !important;
  border: 0 !important;
  border-radius: var(--btn-lookbook-radius) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.55rem;
  overflow: hidden;
  color: inherit;
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: var(--btn-lookbook-font-size) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.025em !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
  white-space: nowrap !important;
  cursor: pointer;
  box-shadow: var(--btn-lookbook-shadow) !important;
  transform: translateZ(0) scale(1);
  transform-origin: center;
  transition: var(--btn-lookbook-transition);
  will-change: transform;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

body.ol-lookbook-button-system .btn-lookbook-primary {
  background: var(--primary-gold-token) !important;
  background-image: none !important;
  color: var(--btn-primary-text) !important;
  border-color: transparent !important;
}

body.ol-lookbook-button-system .btn-lookbook-secondary {
  background: var(--secondary-dark-token) !important;
  background-image: none !important;
  color: var(--btn-secondary-text) !important;
  border-color: transparent !important;
}

body.ol-lookbook-button-system[data-oloropa-page="destinations.html"] form.ol14-filter-bar > button.btn-lookbook-primary.is-active {
  background: var(--primary-gold-token) !important;
  color: var(--btn-primary-text) !important;
}

body.ol-lookbook-button-system :where(.btn-lookbook-primary, .btn-lookbook-secondary) :where(span, strong, small, i, svg) {
  color: inherit;
}

body.ol-lookbook-button-system :where(.btn-lookbook-primary, .btn-lookbook-secondary)::before,
body.ol-lookbook-button-system :where(.btn-lookbook-primary, .btn-lookbook-secondary)::after {
  content: none !important;
  display: none !important;
}

body.ol-lookbook-button-system :where(.btn-lookbook-primary, .btn-lookbook-secondary) svg {
  flex: 0 0 auto;
  fill: currentColor;
  stroke: currentColor;
}

@media (hover: hover) and (pointer: fine) {
  body.ol-lookbook-button-system .btn-lookbook-primary:hover {
    background: #DF9465 !important;
    color: var(--btn-primary-text) !important;
    box-shadow: 0 15px 34px rgba(35, 25, 21, 0.18);
    transform: translate3d(0, -2px, 0) scale(1.01);
  }

  body.ol-lookbook-button-system .btn-lookbook-secondary:hover {
    background: #30231E !important;
    color: var(--btn-secondary-text) !important;
    box-shadow: 0 15px 34px rgba(35, 25, 21, 0.22);
    transform: translate3d(0, -2px, 0) scale(1.01);
  }
}

body.ol-lookbook-button-system :where(.btn-lookbook-primary, .btn-lookbook-secondary):active {
  transform: translateZ(0) scale(0.97);
  box-shadow: 0 5px 12px rgba(35, 25, 21, 0.14) !important;
  transition-duration: 0.12s;
}

body.ol-lookbook-button-system :where(.btn-lookbook-primary, .btn-lookbook-secondary):focus-visible {
  outline: none;
  box-shadow: var(--btn-lookbook-focus) !important;
}

body.ol-lookbook-button-system :where(.btn-lookbook-primary, .btn-lookbook-secondary):disabled,
body.ol-lookbook-button-system :where(.btn-lookbook-primary, .btn-lookbook-secondary)[aria-disabled="true"] {
  opacity: 0.56;
  pointer-events: none;
  box-shadow: none;
}

/* Existing destination action regions now inherit one exact capsule geometry. */
body.ol-lookbook-button-system :where(.ol14-hero-actions, .ol14-card-actions, .ol14-handoff-actions) {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
}

body.ol-lookbook-button-system .ol14-primary-cta.btn-lookbook-primary,
body.ol-lookbook-button-system .ol14-primary-cta--glass.btn-lookbook-primary,
body.ol-lookbook-button-system .ol14-card-actions .btn-lookbook-primary,
body.ol-lookbook-button-system .ol14-hero-actions .btn-lookbook-primary,
body.ol-lookbook-button-system .ol14-hero-actions .btn-lookbook-secondary,
body.ol-lookbook-button-system .ol14-handoff-actions .btn-lookbook-primary,
body.ol-lookbook-button-system .ol14-handoff-actions .btn-lookbook-secondary,
body.ol-lookbook-button-system .ol14-route-card > .btn-lookbook-primary,
body.ol-lookbook-button-system .ol14-filter-bar > .btn-lookbook-primary,
body.ol-lookbook-button-system .ol14-filter-bar > .btn-lookbook-secondary,
body.ol-lookbook-button-system .ol-cc-footer-brief > .btn-lookbook-primary {
  min-height: var(--btn-lookbook-min-height) !important;
  width: max-content !important;
  padding: 0 var(--btn-lookbook-inline-pad) !important;
  border: 0 !important;
  border-radius: var(--btn-lookbook-radius) !important;
  background-image: none !important;
  text-decoration: none !important;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-weight: 800;
  line-height: 1.1;
}

/* Keep the global destination header CTAs visually aligned with the same system. */
body.ol-lookbook-button-system .ol-global-brief-cta,
body.ol-lookbook-button-system .ol-global-drawer-brief {
  border: 0 !important;
  border-radius: var(--btn-lookbook-radius) !important;
  background: var(--primary-gold-token) !important;
  background-image: none !important;
  color: var(--btn-primary-text) !important;
  font-weight: 800;
  transition: var(--btn-lookbook-transition);
  will-change: transform;
}

body.ol-lookbook-button-system :where(.ol-global-brief-cta, .ol-global-drawer-brief):active {
  transform: translateZ(0) scale(0.97);
}

/* Filter chips remain a separate compact control family; only Apply/Reset use CTA capsules. */
body.ol-lookbook-button-system form.ol14-filter-bar {
  align-items: center;
  gap: 0.7rem;
}

/* Route-card CTAs become explicit capsules instead of text-only arrows. */
body.ol-lookbook-button-system .ol14-route-card > .btn-lookbook-primary {
  position: static !important;
  inset: auto !important;
  margin-top: auto !important;
  align-self: flex-start !important;
  width: max-content !important;
}

body.ol-lookbook-button-system .ol14-card-actions .btn-lookbook-primary {
  width: max-content !important;
  align-self: flex-start !important;
}

@media (max-width: 720px) {
  :root {
    --btn-lookbook-min-height: 50px;
    --btn-lookbook-inline-pad: 1.25rem;
  }

  body.ol-lookbook-button-system :where(.ol14-hero-actions, .ol14-handoff-actions) {
    align-items: stretch;
  }

  body.ol-lookbook-button-system :where(.ol14-hero-actions, .ol14-handoff-actions) > :where(.btn-lookbook-primary, .btn-lookbook-secondary) {
    width: 100% !important;
  }

  body.ol-lookbook-button-system form.ol14-filter-bar > :where(.btn-lookbook-primary, .btn-lookbook-secondary) {
    flex: 1 1 9rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.ol-lookbook-button-system :where(.btn-lookbook-primary, .btn-lookbook-secondary, .ol-global-brief-cta, .ol-global-drawer-brief) {
    transition-duration: 0.01ms;
  }

  body.ol-lookbook-button-system :where(.btn-lookbook-primary, .btn-lookbook-secondary, .ol-global-brief-cta, .ol-global-drawer-brief):hover,
  body.ol-lookbook-button-system :where(.btn-lookbook-primary, .btn-lookbook-secondary, .ol-global-brief-cta, .ol-global-drawer-brief):active {
    transform: none;
  }
}
