/* PulseTrips CTA system: consistent, accessible controls across all destination pages. */
:root {
  --pulse-cta-primary: #F28A52;
  --pulse-cta-primary-hover: #F5A06F;
  --pulse-cta-ink: #17324D;
  --pulse-cta-border: #AFC2D0;
  --pulse-cta-radius: 12px;
  --pulse-cta-height: 40px;
}

a.affiliate-button,
a.nav-cta,
a.button,
a.card-link,
a.partner-link,
a.offer-card-content a,
button.button {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-height:var(--pulse-cta-height) !important;
  padding:9px 14px !important;
  border:1px solid var(--pulse-cta-primary) !important;
  border-radius:var(--pulse-cta-radius) !important;
  background:var(--pulse-cta-primary) !important;
  color:var(--pulse-cta-ink) !important;
  -webkit-text-fill-color:var(--pulse-cta-ink) !important;
  font-size:13px !important;
  font-weight:750 !important;
  line-height:1.25 !important;
  text-align:center !important;
  text-decoration:none !important;
  box-shadow:0 7px 18px rgba(242,138,82,.18) !important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease !important;
  cursor:pointer;
}
a.affiliate-button:hover,
a.nav-cta:hover,
a.button:hover,
a.card-link:hover,
a.partner-link:hover,
a.offer-card-content a:hover,
button.button:hover,
a.affiliate-button:focus-visible,
a.nav-cta:focus-visible,
a.button:focus-visible,
a.card-link:focus-visible,
a.partner-link:focus-visible,
a.offer-card-content a:focus-visible,
button.button:focus-visible {
  background:var(--pulse-cta-primary-hover) !important;
  border-color:var(--pulse-cta-primary-hover) !important;
  color:var(--pulse-cta-ink) !important;
  -webkit-text-fill-color:var(--pulse-cta-ink) !important;
  transform:translateY(-2px);
  box-shadow:0 11px 24px rgba(233,120,66,.25) !important;
}
a.button-secondary {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:var(--pulse-cta-height) !important;
  padding:9px 14px !important;
  border:1px solid var(--pulse-cta-border) !important;
  border-radius:var(--pulse-cta-radius) !important;
  background:#FFFFFF !important;
  color:var(--pulse-cta-ink) !important;
  -webkit-text-fill-color:var(--pulse-cta-ink) !important;
  font-weight:750 !important;
  text-align:center !important;
  text-decoration:none !important;
  box-shadow:0 4px 12px rgba(36,59,83,.05) !important;
  transition:transform .18s ease,background .18s ease,border-color .18s ease !important;
}
a.button-secondary:hover,
a.button-secondary:focus-visible {
  background:#E7F2EF !important;
  border-color:#2D8983 !important;
  color:#205F5B !important;
  -webkit-text-fill-color:#205F5B !important;
  transform:translateY(-1px);
}
a:focus-visible,button:focus-visible {
  outline:3px solid rgba(45,137,131,.35) !important;
  outline-offset:3px !important;
}
@media(max-width:560px) {
  a.nav-cta,a.button,a.button-secondary,a.card-link,a.partner-link,
  a.offer-card-content a,button.button,a.affiliate-button {
    width:100%;
    min-height:var(--pulse-cta-height) !important;
  }
}
/* Keep any legacy yellow/gold CTA text legible. */
a[class*="bg-yellow"],a[class*="bg-amber"],a[class*="bg-warning"],
button[class*="bg-yellow"],button[class*="bg-amber"],button[class*="bg-warning"] {
  color:#243B53 !important;-webkit-text-fill-color:#243B53 !important;text-shadow:none !important;
}

/* Shared 10-category navigation used by every Pinterest destination landing page. */
.pulse-category-nav {
  margin: 26px 0;
  padding: clamp(18px, 3.5vw, 28px);
  border: 1px solid #dce8e5;
  border-radius: 20px;
  background: linear-gradient(145deg, #ffffff 0%, #f7fbfa 100%);
  box-shadow: 0 12px 32px rgba(36,59,83,.07);
}
.pulse-category-eyebrow {
  margin: 0 0 7px;
  color: #287b75;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.25px;
  text-transform: uppercase;
}
.pulse-category-heading {
  margin: 0;
  color: #243B53;
  font-size: clamp(20px, 3vw, 27px);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -.45px;
}
.pulse-category-intro {
  max-width: 760px;
  margin: 9px 0 19px;
  color: #5e7180;
  font-size: 14px;
  line-height: 1.65;
}
.pulse-category-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.pulse-category-card {
  min-width: 0;
  display: flex;
  align-items: center;
  padding: 4px;
  border: 1px solid #e1e9e7;
  border-radius: 11px;
  background: #fff;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}
.pulse-category-card:hover {
  border-color: #8dc4bc;
  background: #f4faf8;
  box-shadow: 0 5px 13px rgba(36,59,83,.08);
  transform: translateY(-2px);
}
.pulse-category-card.is-current {
  border-color: #2D8983;
  background: #edf7f4;
  box-shadow: inset 0 0 0 1px rgba(45,137,131,.12);
}
.pulse-category-card.is-coming { background: #fafaf8; }
.pulse-category-action {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
  width: 100%;
  min-width: 0;
  min-height: 38px;
  padding: 5px 9px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #243B53 !important;
  -webkit-text-fill-color: #243B53 !important;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.2;
  text-align: left;
  text-decoration: none !important;
  white-space: nowrap;
  box-shadow: none;
  transition: color .18s ease, transform .18s ease, background .18s ease;
}
.pulse-category-action:hover,
.pulse-category-action:focus-visible {
  background: #e8f4f0;
  color: #205F5B !important;
  -webkit-text-fill-color: #205F5B !important;
  box-shadow: none;
  transform: translateY(-1px);
}
.pulse-category-label {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pulse-category-icon {
  flex: 0 0 auto;
  font-size: 17px;
  line-height: 1;
}
.pulse-category-unavailable {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 38px;
  padding: 5px 9px;
  color: #243B53;
  font-size: 13px;
  font-weight: 750;
}
.pulse-category-note {
  display: block;
  padding: 0 9px 6px;
  color: #77827d;
  font-size: 11px;
  line-height: 1.4;
}
.pulse-category-disclaimer {
  margin: 12px 0 0;
  color: #687986;
  font-size: 11px;
  line-height: 1.6;
}
/* Keep the 10 category cards in the requested 3 + 3 + 3 + 1 layout. */
@media (min-width: 760px) {
  .pulse-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pulse-category-grid > .pulse-category-card:nth-child(10) { grid-column: 2; }
}
@media (max-width: 759px) {
  .pulse-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pulse-category-grid > .pulse-category-card:nth-child(10) {
    grid-column: 1 / -1;
    width: min(100%, calc((100% - 11px) / 2));
    justify-self: center;
  }
}
@media (max-width: 420px) {
  .pulse-category-grid { grid-template-columns: 1fr; }
  .pulse-category-grid > .pulse-category-card:nth-child(10) { grid-column: 1; width: 100%; }
  .pulse-category-card { padding: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .pulse-category-card, .pulse-category-action { transition: none; }
  .pulse-category-card:hover, .pulse-category-action:hover { transform: none; }
}

/* Consistent interaction feedback and accessible keyboard focus for category actions. */
.pulse-category-action:focus-visible {
  outline: 3px solid rgba(45,137,131,.42);
  outline-offset: 3px;
}
a.affiliate-button:active,
a.nav-cta:active,
a.button:active,
a.card-link:active,
a.partner-link:active,
a.offer-card-content a:active,
button.button:active,
.pulse-category-action:active {
  transform: translateY(0);
  box-shadow: 0 3px 9px rgba(36,59,83,.14);
}
@media (prefers-reduced-motion: reduce) {
  a.affiliate-button,a.nav-cta,a.button,a.button-secondary,a.card-link,
  a.partner-link,a.offer-card-content a,button.button,.pulse-category-action {
    transition: none !important;
  }
  a.affiliate-button:hover,a.nav-cta:hover,a.button:hover,a.card-link:hover,
  a.partner-link:hover,a.offer-card-content a:hover,button.button:hover,
  .pulse-category-action:hover {
    transform: none !important;
  }
}


/* Destination pages use the 10-card category grid as their only affiliate CTA set.
   Hide the old standalone Explore CTA even if an older cached script is still served. */
[data-smart-affiliate-cta] {
  display: none !important;
}
