/* Center the child (spinner or card) */
.bds-center-parent { display:grid; place-items:center; min-height: 320px; }

/* Loading block */
.bds-loading { display:flex; flex-direction:column; align-items:center; gap:.75rem; color:#4b5563; }
.bds-loading-text { font: 600 .95rem/1.2 system-ui, -apple-system, Segoe UI, Roboto, sans-serif; }

/* Spinner */
.bds-spinner{
  width: 36px; height: 36px; border-radius: 50%;
  border: 3px solid rgba(37,99,235,.18);
  border-top-color: #2563eb;
  animation: bds-spin 0.9s linear infinite;
}
@keyframes bds-spin { to { transform: rotate(360deg);} }

/* Scope everything under .card.book-direct-save to avoid theme conflicts */

.card.book-direct-save {
  /* --bds-border: rgba(17,24,39,0.9);*/
  --bds-border: rgba(196,196,196,0.9);
  --bds-text: #111827;
  --bds-muted: #6b7280;

  max-width: 420px;
  width: 100%;
  margin: 20px 0;
  margin-inline: auto;                 /* horizontal center */
  /* border-radius: 16px;*/
  background: #fff;
  border: 1px solid var(--bds-border);
  padding: 1.5rem 1.75rem;
  text-align: center;
  /*box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;*/
  box-shadow: rgba(0, 0, 0, 0.25) 0px 14px 28px, rgba(0, 0, 0, 0.22) 0px 10px 10px;
  /*box-shadow:
    0 1px 2px rgba(0,0,0,.06),
    0 10px 28px rgba(0,0,0,.08);*/
  transition: transform .2s ease, box-shadow .2s ease;
}
.card.book-direct-save:hover { transform: translateY(-2px); }

/* Title & subtitle */
.card.book-direct-save .pc-title{
  margin:0;
  font: 800 1.05rem/1.15;/* system-ui,-apple-system,Segoe UI,Roboto,sans-serif;*/
  font-family: "Avenir Next", "Avenir Next LT Pro", "Nunito Sans", sans-serif;
  letter-spacing:.08em; text-transform:uppercase; color:var(--bds-text);
}
.card.book-direct-save .pc-subtitle{
  margin:10px 0; font:700 .8rem/1.1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  letter-spacing:.06em; text-transform:uppercase; color:var(--bds-muted);
}

/* List layout */
.card.book-direct-save .pc-list{ list-style:none; margin:.5rem 0 0; padding:0; display:grid; gap:.5rem; }
.card.book-direct-save .pc-row{
  display:grid;
  grid-auto-flow: column;          /* place items left→right */
  grid-auto-columns: max-content;  /* shrink to content */
  align-items:baseline;
  column-gap:.5rem;
  justify-content:center;          /* center the pair as a whole */
}
.card.card.book-direct-save .pc-value span { font-size: 12px; font-weight: 400; }
/*
.card.book-direct-save .pc-label{
  justify-self:end; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:var(--bds-text);
}*/
.card.book-direct-save .pc-value{
  font-family: "Avenir Next", "Avenir Next LT Pro", "Nunito Sans", sans-serif;
}

/* FVH badge (change color via inline --badge) */
.card.book-direct-save .pc-badge{
  background: var(--badge, #2563eb);
  color:#fff; padding:.25rem .5rem; border-radius:999px; line-height:1; display:inline-block;
  box-shadow:0 2px 8px rgba(37,99,235,.25);
}


/* Optional dark-mode tune-up, still scoped */
/*
@media (prefers-color-scheme: dark){
  .card.book-direct-save{
    background:#0b1320; border-color:rgba(148,163,184,.12); color:#e5e7eb;
  }
  .card.book-direct-save .pc-title,
  .card.book-direct-save .pc-value{ color:#e5e7eb; }
  .card.book-direct-save .pc-subtitle,
  .card.book-direct-save .pc-label{ color:#9ca3af; }
}
*/

.cta-link{
  --cta-bg: #2563eb;          /* brand color */
  --cta-fg: #fff;
  --cta-fg-hover: #e7e7e7;
  --cta-shadow: 0 8px 24px rgba(37,99,235,.25);
  --cta-radius: 999px;

  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-top: 20px;
  padding: .9rem 1.25rem;
  border-radius: var(--cta-radius);
  text-decoration: none;
  font: 700 1rem/1 system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  color: var(--cta-fg);
  background: var(--cta-bg);
  box-shadow: var(--cta-shadow);
  transition: transform .15s ease, filter .15s ease, box-shadow .15s ease;
}
.cta-link:hover{ color: var(--cta-fg-hover); filter: brightness(1.06); transform: translateY(-1px); }
.cta-link:active{ transform: translateY(0); filter: brightness(.98); }
.cta-link .cta-icon{ width: 1.25rem; height: 1.25rem; }



/* Full-width option */
.cta-link.is-block{ display:flex; justify-content:center; width:100%; text-align: center; }

/* Dark mode tune */
@media (prefers-color-scheme: dark){
  .cta-link{ box-shadow: 0 10px 28px rgba(0,0,0,.45); }
}

/* for mobile buttons */
/* Hidden by default (desktop/tablet) */
.mobile-sticky-actions {
  display: none;
}

/* Show on mobile */
@media (max-width: 575.98px) {
  .mobile-sticky-actions {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0; /* no gap so buttons meet flush */
    padding-bottom: env(safe-area-inset-bottom, 0); /* iOS safe area */
    box-shadow: 0 -10px 24px rgba(0,0,0,.12);
  }
  .mobile-sticky-actions .msa-btn {
    /* rectangular buttons (no radius) */
    border-radius: 0;
    min-height: 56px;                 /* touch target */
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #fff;
    text-decoration: none;
    font: 800 0.95rem/1 system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
    letter-spacing: .02em;
    transition: filter .15s ease;
  }
  .mobile-sticky-actions .msa-btn svg {
    width: 20px; height: 20px;
    flex: 0 0 auto;
  }

  /* Colors */
  .mobile-sticky-actions .msa-book   { background: #ff6278; } /* pink */
  .mobile-sticky-actions .msa-explore{ background: #2563eb; } /* blue  */

  .mobile-sticky-actions .msa-btn:active { filter: brightness(.95); }

  /* Optional divider line between the two buttons */
  .mobile-sticky-actions .msa-book { box-shadow: inset -1px 0 0 rgba(255,255,255,.25); }
}

/* If your theme has a bottom bar/footer that would be covered,
   add bottom spacing to main content on small screens: */
@media (max-width: 575.98px) {
  main, .site-content, body {
    scroll-padding-bottom: 72px; /* improves anchor scroll */
  }
  body { padding-bottom: calc(56px + env(safe-area-inset-bottom, 0)); }
}





