/* BBY Approved Global Styles
   Purpose: unify site styling using the homepage as the source of truth.
   Safety: this file targets BBY-specific classes to avoid changing the homepage unintentionally.
*/

:root{
  /* Brand tokens (map to existing ms-* tokens compiled in bundle.css) */
  --bby-red: var(--ms-primary);
  --bby-teal: var(--ms-secondary);
  --bby-gold: var(--ms-gold);
  --bby-ink: var(--ms-text);
  --bby-muted: var(--ms-muted);
  --bby-border: var(--ms-border);

  /* Motion + surfaces */
  --bby-fast: 180ms;
  --bby-ease: cubic-bezier(.2,.8,.2,1);
  --bby-radius: 20px;
  --bby-shadow-sm: 0 10px 26px rgba(31,27,23,.06);
}

/* ==========================
   BBY — TOX Tuesday Page
   ========================== */

/* Center the pricing cards within the container (two-up on desktop). */
.bby-tt-page .bby-price-grid{
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
}

@media (min-width: 992px){
  .bby-tt-page .bby-price-grid{
    grid-template-columns: repeat(2, minmax(0, 420px));
    column-gap: 24px;
    max-width: calc(2 * 420px + 24px);
  }
}

/* Fast Walk-In Setup (make it cleaner than a repeat "card") */
.bby-tt-page .bby-tt-steps{
  margin-top: 2.5rem;
  padding: 2.75rem 0;
  background: linear-gradient(180deg, rgba(12, 143, 144, .06) 0%, rgba(255,255,255,1) 100%);
  border-radius: calc(var(--bby-radius) + 8px);
}

.bby-tt-page .bby-tt-steps__head{
  margin: 0 auto 1.25rem;
  max-width: 70ch;
  padding: 0 1rem;
}

.bby-tt-page .bby-tt-steps__grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  align-items: start;
  padding: 0 1rem;
  max-width: 1100px;
  margin: 0 auto;
}

@media (min-width: 992px){
  .bby-tt-page .bby-tt-steps__grid{
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    gap: 1.5rem;
  }
}

.bby-tt-page .bby-tt-steps__main{
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(145,30,31,.10);
  border-radius: var(--bby-radius);
  box-shadow: 0 12px 28px rgba(31,27,23,.05);
  padding: 1.25rem 1.25rem;
}

.bby-tt-page .bby-tt-steps__ol{
  margin: 0;
  padding-left: 1.15rem;
  display: grid;
  gap: .75rem;
  color: var(--bby-ink);
  line-height: 1.65;
}

.bby-tt-page .bby-tt-steps__ol a{
  color: var(--bby-red);
  font-weight: 800;
  text-decoration-thickness: 2px;
  text-underline-offset: 2px;
}

.bby-tt-page .bby-tt-steps__aside{
  display: grid;
  gap: 1rem;
  align-content: start;
}

.bby-tt-page .bby-callout{
  border-radius: var(--bby-radius);
  border: 1px solid rgba(12, 143, 144, .18);
  background: rgba(12, 143, 144, .07);
  padding: 1.15rem 1.15rem;
  box-shadow: 0 10px 26px rgba(31,27,23,.04);
}

.bby-tt-page .bby-callout--light{
  border-color: rgba(145,30,31,.16);
  background: rgba(255,255,255,.78);
}

.bby-tt-page .bby-steps-cta{
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  justify-content: flex-start;
}

/* LiveCanvas discipline wrappers should not affect layout (Weekly Deals page). */
.bby-tt-page .bby-tt-badges > .lc-block,
.bby-tt-page .bby-tt-cta > .lc-block,
.bby-tt-page .bby-gift-card__cta > .lc-block,
.bby-modal .modal-header > .lc-block{
  display: contents;
}

/* Weekly Deals — Gift section now reuses homepage "Ready when you are" hero-light styles. */
.bby-tt-page .bby-tt-gifts{
  margin-top: 2.5rem;
}

/* ==========================
   LiveCanvas Header — Mobile Offcanvas
   Give the mobile popout some brand flavor + better alignment.
   Scope to #lc-header to avoid touching other offcanvas components.
   ========================== */

#lc-header .offcanvas{
  background: linear-gradient(180deg, rgba(12,143,144,.06) 0%, rgba(255,255,255,1) 55%, rgba(255,255,255,1) 100%);
  border-left: 1px solid rgba(145,30,31,.10);
}

#lc-header .offcanvas-header{
  align-items: center;
  padding: 1rem 1rem .85rem;
  border-bottom: 1px solid rgba(145,30,31,.10);
}

#lc-header .offcanvas-title{
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-weight: 900;
  letter-spacing: .2px;
  color: var(--bby-red);
}

#lc-header .offcanvas-header::after{
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  border-radius: 999px;
  background: var(--bby-gold);
  margin-left: auto;
  margin-right: 0;
  opacity: .9;
}

#lc-header .offcanvas-body{
  padding: 1rem 1rem 1.25rem;
}

#lc-header .offcanvas-body .live-shortcode{
  margin: 0;
}

#lc-header .offcanvas-body .navbar-nav{
  gap: .35rem;
}

#lc-header .offcanvas-body .nav-link{
  border-radius: 14px;
  padding: .75rem .85rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 800;
  color: var(--bby-ink);
  border: 1px solid rgba(145,30,31,.08);
  background: rgba(255,255,255,.78);
}

#lc-header .offcanvas-body .nav-link:hover{
  background: rgba(145,30,31,.06);
  border-color: rgba(145,30,31,.14);
}

#lc-header .offcanvas-body .nav-link.active,
#lc-header .offcanvas-body .nav-link[aria-current="page"]{
  background: rgba(12,143,144,.08);
  border-color: rgba(12,143,144,.18);
}

/* Make dropdowns read cleanly in the offcanvas (stacked, full width). */
#lc-header .offcanvas-body .dropdown-menu{
  position: static;
  float: none;
  width: 100%;
  border: 0;
  padding: .35rem 0 .55rem;
  margin: 0;
  background: transparent;
}

#lc-header .offcanvas-body .dropdown-item{
  border-radius: 12px;
  padding: .6rem .75rem;
  font-weight: 750;
  color: var(--bby-ink);
}

#lc-header .offcanvas-body .dropdown-item:hover{
  background: rgba(145,30,31,.06);
}

#lc-header .offcanvas-body .dropdown-item.active{
  background: rgba(12,143,144,.08);
}

/* ==========================
   Memberships (page 171)
   Tighten spacing + align to BBY tokens.
   ========================== */

.page-id-171 .bby-memberships-hero .bby-hero__title{
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-weight: 900;
  letter-spacing: .2px;
}

.page-id-171 .bby-membership-page{
  padding-top: 2.75rem;
  padding-bottom: 3.25rem;
}

.page-id-171 .bby-section-head{
  margin-top: 2.5rem;
  margin-bottom: 1.25rem;
}

.page-id-171 .bby-section-head--tight{
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.page-id-171 .bby-plan-grid{
  gap: 1.25rem;
}

.page-id-171 .bby-plan-card{
  border-radius: calc(var(--bby-radius) + 6px);
  border-color: rgba(145,30,31,.12);
}

.page-id-171 .bby-plan-card__eyebrow{
  color: var(--bby-teal);
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.page-id-171 .bby-plan-card__name{
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  color: var(--bby-red);
  letter-spacing: .2px;
}

.page-id-171 .bby-plan-card__priceValue{
  color: var(--bby-red);
}

.page-id-171 .bby-plan-card__badge{
  background: rgba(200,162,74,.16);
  border: 1px solid rgba(200,162,74,.38);
  color: var(--bby-ink);
}

.page-id-171 .bby-link-btn{
  color: var(--bby-teal);
  font-weight: 850;
}

.page-id-171 .bby-link-btn:hover{
  color: var(--bby-red);
}

/* Core layout */
.bby-section{
  padding: 4rem 0;
  background: #fff;
  color: var(--bby-ink);
}

.bby-section--soft{
  background: linear-gradient(180deg, var(--ms-cream) 0%, #ffffff 100%);
}

/* Headings and helpers */
.bby-eyebrow{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .4rem .85rem;
  border-radius: 999px;
  background: rgba(12, 143, 144, .08);
  border: 1px solid rgba(12, 143, 144, .18);
  color: var(--bby-teal);
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: .78rem;
}

.bby-eyebrow-dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--bby-gold);
  display: inline-block;
  box-shadow: 0 0 0 6px rgba(200,162,74,.15);
}

.bby-title{
  margin: 0;
  color: var(--bby-red);
  font-weight: 900;
  letter-spacing: .4px;
  line-height: 1.12;
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
}

.bby-subtitle{
  margin: 0;
  color: var(--bby-muted);
  font-weight: 650;
}

/* Do not force alignment on subtitles.
   This allows centering via parent `.text-center` or by adding `.text-center` to the element.
*/
.bby-subtitle:not(.text-center):not(.text-start):not(.text-end){
  text-align: unset !important;
}

/* Back-compat (some pages use underscore naming).
   Default these legacy subtitles to centered, but still allow Bootstrap alignment utilities. */
.bby_subtitle{
  text-align: center;
}

/* ==========================
   Monthly Specials (page 364)
   Goal: readable + cohesive on mobile, not "three busy cards"
   ========================== */

.page-id-364 .bby-offers{
  display: grid;
  gap: 1rem;
  margin-top: .25rem;
}

/* Keep these stacked on desktop too (user preference). */

.page-id-364 .bby-offer{
  position: relative;
  border-radius: calc(var(--bby-radius) + 6px);
  border: 1px solid rgba(145,30,31,.12);
  background: rgba(255,255,255,.82);
  box-shadow: 0 14px 36px rgba(31,27,23,.06);
  overflow: hidden;
}

.page-id-364 .bby-offer::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(700px 260px at 20% 0%, rgba(12,143,144,.10), rgba(0,0,0,0) 60%),
    radial-gradient(700px 260px at 80% 0%, rgba(145,30,31,.10), rgba(0,0,0,0) 60%);
  pointer-events: none;
}

.page-id-364 .bby-offer > *{
  position: relative;
}

.page-id-364 .bby-offer__flag{
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  padding: .35rem .65rem;
  border-radius: 999px;
  background: rgba(200,162,74,.16);
  border: 1px solid rgba(200,162,74,.40);
  color: var(--bby-ink);
  font-weight: 850;
  font-size: .82rem;
}

.page-id-364 .bby-offer__head{
  padding: 1.05rem 1.05rem .85rem;
}

.page-id-364 .bby-offer__title{
  margin: 0;
  font-weight: 900;
  letter-spacing: .2px;
  line-height: 1.15;
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  color: var(--bby-red);
}

.page-id-364 .bby-offer__note{
  margin: .25rem 0 0;
  color: var(--bby-muted);
  font-weight: 650;
}

.page-id-364 .bby-offer__price{
  margin: .65rem 0 0;
  font-size: 1.2rem;
  line-height: 1.1;
  color: var(--bby-ink);
}

.page-id-364 .bby-offer__price strong{
  font-size: 1.55rem;
  color: var(--bby-red);
}

.page-id-364 .bby-offer__body{
  padding: 0 1.05rem 1.05rem;
  display: grid;
  gap: .9rem;
}

@media (min-width: 992px){
  .page-id-364 .bby-offer__body{
    grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr);
    align-items: start;
    gap: 1rem;
  }
}

.page-id-364 .bby-offer__section{
  padding: .85rem .85rem;
  border-radius: var(--bby-radius);
  border: 1px solid rgba(145,30,31,.10);
  background: rgba(255,255,255,.78);
}

.page-id-364 .bby-offer__aside{
  padding: .85rem .85rem;
  border-radius: var(--bby-radius);
  border: 1px solid rgba(12,143,144,.18);
  background: rgba(12,143,144,.07);
  display: grid;
  gap: .45rem;
  align-content: start;
}

.page-id-364 .bby-offer__label{
  margin: 0 0 .45rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: .78rem;
  color: var(--bby-teal);
}

.page-id-364 .bby-offer__text{
  margin: 0;
  color: var(--bby-ink);
  line-height: 1.55;
}

.page-id-364 .bby-offer__list{
  margin: 0;
  padding-left: 1.05rem;
  display: grid;
  gap: .35rem;
  line-height: 1.45;
}

@media (min-width: 576px){
  .page-id-364 .bby-offer__list{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1.1rem;
  }
}

.page-id-364 .bby-offer__lines{
  display: grid;
  gap: .55rem;
}

.page-id-364 .bby-offer__line{
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  padding: .5rem .6rem;
  border-radius: 14px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(145,30,31,.10);
}

.page-id-364 .bby-offer__line strong{
  color: var(--bby-red);
  white-space: nowrap;
}

.bby-lead{
  margin: 0 auto;
  max-width: 70ch;
  color: var(--bby-ink);
  font-size: 1.05rem;
  line-height: 1.7;
}

.bby-accent-rule{
  width: 72px;
  height: 3px;
  background: var(--bby-gold);
  border-radius: 999px;
}

.bby-accent-rule--center{
  margin-left: auto;
  margin-right: auto;
}

.bby-mini-rule{
  width: 44px;
  height: 3px;
  background: var(--bby-gold);
  border-radius: 999px;
  margin: .9rem auto 0;
  opacity: .95;
}

/* Buttons */
.bby-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  text-decoration: none;
  font-weight: 850;
  border-radius: 999px;
  padding: .85rem 1.2rem;
  transition: transform var(--bby-fast) var(--bby-ease),
              box-shadow var(--bby-fast) var(--bby-ease),
              background-color var(--bby-fast) var(--bby-ease),
              border-color var(--bby-fast) var(--bby-ease),
              color var(--bby-fast) var(--bby-ease);
}

.bby-btn:hover{
  transform: translateY(-1px);
}

.bby-btn--sm{
  padding: .7rem 1.05rem;
  font-size: .95rem;
}

.bby-btn--primary{
  background: var(--bby-red);
  color: #ffffff;
  border: 1px solid rgba(200,162,74,.30);
  box-shadow: 0 12px 28px rgba(145,30,31,.18);
}

.bby-btn--primary:hover{
  background: #7C1819;
  border-color: #7C1819;
  color: #ffffff;
}

.bby-btn--outline{
  background: transparent;
  color: var(--bby-ink);
  border: 1px solid var(--bby-red);
}

.bby-btn--outline:hover{
  background: rgba(145,30,31,.08);
  border-color: #7C1819;
  color: var(--bby-ink);
}

/* ------------------------------------------------------------
   Migrated per-page/customizer CSS (Med Spa Services and related)
   Source: rendered page cache style block (to be deduped further)
   ------------------------------------------------------------ */

/* Customizer CSS moved to sass/partials/_customizer.scss and compiled into the child theme bundle. */

.bby-pricing-section .bby-price-grid {
display: grid;
grid-template-columns: 1fr;
gap: 1.1rem;
max-width: 1100px !important;
margin-inline: auto;
}

@media (min-width: 992px) {
.bby-pricing-section .bby-price-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}

/* ===== BBY ROTATOR (no clipping, centered, snap-safe) ===== */
.bby-rotator {
--count: 8;
--hold: 2200ms;
--row: 1.15em;
display: flex;
justify-content: center;
margin: 1.25rem auto 0;
text-align: center;
}

.bby-rotator__pill {
display: inline-flex;
align-items: center;
gap: .65rem;
padding: .6rem 1rem;
border-radius: 999px;
background: rgba(255, 255, 255, .10);
border: 1px solid rgba(255, 255, 255, .18);
color: rgba(255, 255, 255, .92);
box-shadow: 0 14px 34px rgba(0, 0, 0, .12);
font-weight: 700;
letter-spacing: .14em;
text-transform: uppercase;
font-size: 16px;
line-height: 1;
-webkit-font-smoothing: antialiased;
}

.bby-rotator__accent {
width: 9px;
height: 9px;
border-radius: 999px;
background: #0C8F90;
box-shadow: 0 0 0 6px rgba(12, 143, 144, .18);
}

.bby-rotator__track {
position: relative;
height: var(--row);
overflow: hidden;
display: inline-block;
vertical-align: bottom;
min-width: 12ch;
}

.bby-rotator__list {
list-style: none;
padding: 0;
margin: 0;
transform: translate3d(0, 0, 0);
will-change: transform;
animation: bby-step calc(var(--count) * var(--hold)) steps(var(--count), end) infinite;
}

.bby-rotator__item {
height: var(--row);
line-height: var(--row);
padding: 0;
margin: 0;
white-space: nowrap;
}

@keyframes bby-step {
to {
transform: translate3d(0, calc(-1 * var(--row) * var(--count)), 0);
}
}

.bby-rotator__track::before,
.bby-rotator__track::after {
content: "";
position: absolute;
left: 0;
right: 0;
height: .35em;
pointer-events: none;
}

@media (max-width:767px) {
.bby-rotator__pill {
font-size: 15px;
}
.bby-rotator__track {
min-width: 14ch;
}
}

@media (prefers-reduced-motion: reduce) {
.bby-rotator__list {
animation: none;
}
}

/* ==========================
   Treatments Hero (Dark Glass)
   ========================== */
.bby-hero__glass--dark {
background: rgba(20, 20, 20, .30);
border: 1px solid rgba(255, 255, 255, .20);
box-shadow: 0 18px 55px rgba(0, 0, 0, .22);
border-radius: 22px;
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
}

.bby-hero__glass--dark .bby-hero__eyebrow {
background: rgba(255, 255, 255, .16);
border: 1px solid rgba(255, 255, 255, .18);
color: rgba(255, 255, 255, .92);
}

.bby-hero__glass--dark .bby-eyebrow-dot {
background: var(--bby-gold);
box-shadow: 0 0 0 6px rgba(200, 162, 74, .12);
}

.bby-icon-mark {
display: inline-flex;
align-items: center;
justify-content: center;
width: 54px;
height: 54px;
border-radius: 16px;
background: rgba(255, 255, 255, .12);
border: 1px solid rgba(255, 255, 255, .16);
box-shadow: 0 12px 30px rgba(0, 0, 0, .10);
color: rgba(255, 255, 255, .92);
}

/* ==========================
   BBY — Benefits Grid
   ========================== */
.bby-benefit-card {
background: #fff;
border: 1px solid var(--bby-border);
border-radius: var(--bby-radius);
box-shadow: var(--bby-shadow-sm);
padding: 1.35rem 1.15rem 1.15rem;
text-align: center;
transition: transform var(--bby-fast) var(--bby-ease), box-shadow var(--bby-fast) var(--bby-ease), border-color var(--bby-fast) var(--bby-ease);
}

.bby-benefit-card:hover {
transform: translateY(-2px);
box-shadow: 0 16px 44px rgba(0, 0, 0, .08);
border-color: rgba(12, 143, 144, .20);
}

.bby-benefit-icon {
width: 84px;
height: 84px;
margin: 0 auto;
border-radius: 999px;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid rgba(0, 0, 0, .10);
box-shadow: 0 10px 28px rgba(0, 0, 0, .06);
}

.bby-benefit-icon svg {
width: 1.8em;
height: 1.8em;
}

.bby-benefit-icon--red {
background: rgba(145, 30, 31, .06);
border-color: rgba(145, 30, 31, .12);
color: var(--bby-red);
}

.bby-benefit-icon--teal {
background: rgba(12, 143, 144, .06);
border-color: rgba(12, 143, 144, .14);
color: var(--bby-teal);
}

.bby-benefit-icon--gold {
background: rgba(200, 162, 74, .08);
border-color: rgba(200, 162, 74, .18);
color: #9A7B2F;
}

.bby-benefit-title {
margin: .15rem 0 0;
font-weight: 900;
letter-spacing: .15px;
color: var(--bby-ink);
}

.bby-benefit-text {
  margin: 0;
  color: var(--bby-muted);
  line-height: 1.7;
  font-size: .98rem;
}

/* ==========================
   BBY — Treatments Grid
   ========================== */
.bby-treat-card {
background: #fff;
border: 1px solid var(--bby-border);
border-radius: var(--bby-radius);
box-shadow: var(--bby-shadow-sm);
padding: 1.35rem 1.2rem 1.15rem;
transition: transform var(--bby-fast) var(--bby-ease), box-shadow var(--bby-fast) var(--bby-ease), border-color var(--bby-fast) var(--bby-ease);
}

.bby-treat-card:hover {
transform: translateY(-2px);
box-shadow: 0 18px 52px rgba(0, 0, 0, .08);
border-color: rgba(12, 143, 144, .20);
}

.bby-treat-icon {
width: 84px;
height: 84px;
border-radius: 999px;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid rgba(0, 0, 0, .10);
box-shadow: 0 10px 28px rgba(0, 0, 0, .06);
}

.bby-treat-icon svg {
width: 1.9em;
height: 1.9em;
}

.bby-treat-icon--red {
background: rgba(145, 30, 31, .06);
border-color: rgba(145, 30, 31, .12);
color: var(--bby-red);
}

.bby-treat-icon--teal {
background: rgba(12, 143, 144, .06);
border-color: rgba(12, 143, 144, .14);
color: var(--bby-teal);
}

.bby-treat-icon--gold {
background: rgba(200, 162, 74, .08);
border-color: rgba(200, 162, 74, .18);
color: #9A7B2F;
}

.bby-treat-title {
margin: 0;
font-weight: 900;
letter-spacing: .15px;
color: var(--bby-ink);
font-size: 1.08rem;
line-height: 1.25;
}

.bby-treat-text {
margin: 0;
color: var(--bby-muted);
line-height: 1.7;
font-size: .98rem;
}

/* ==========================
   BBY — Promo Card
   ========================== */
.bby-promo-card {
background:
radial-gradient(900px 420px at 20% 10%, rgba(145, 30, 31, .12), rgba(255, 255, 255, 0) 60%),
radial-gradient(800px 420px at 90% 25%, rgba(12, 143, 144, .12), rgba(255, 255, 255, 0) 55%),
linear-gradient(180deg, #ffffff 0%, #fbf7f0 100%);
border: 1px solid rgba(145, 30, 31, .14);
border-radius: calc(var(--bby-radius) + 2px);
box-shadow: 0 18px 54px rgba(0, 0, 0, .10);
padding: 1.4rem 1.25rem;
}

.bby-promo-badge {
display: inline-flex;
align-items: center;
gap: .55rem;
padding: .45rem .85rem;
border-radius: 999px;
background: rgba(145, 30, 31, .06);
border: 1px solid rgba(145, 30, 31, .12);
color: rgba(145, 30, 31, .86);
font-weight: 700;
letter-spacing: .16em;
text-transform: uppercase;
font-size: .78rem;
}

.bby-promo-title {
margin: 0;
color: var(--bby-red);
font-weight: 900;
letter-spacing: .2px;
line-height: 1.12;
font-size: 1.5rem;
}

.bby-promo-text {
margin: .6rem 0 0;
color: #911E1F;
}

/* ==========================
   BBY — Pricing Table
   ========================== */
.bby-table-frame {
background: rgba(255, 255, 255, .78);
border: 1px solid rgba(145, 30, 31, .10);
box-shadow: 0 18px 50px rgba(17, 12, 13, .10);
border-radius: 18px;
overflow: hidden;
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
}

.bby-table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.bby-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 560px;
  background: transparent;
}

.bby-table thead th {
  text-align: left;
  padding: 14px 16px;
  color: #ffffff;
  background: linear-gradient(135deg, rgba(145, 30, 31, .96), rgba(12, 143, 144, .22));
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  font-weight: 800;
  letter-spacing: .2px;
}

.bby-table td {
  padding: 14px 16px;
  border-bottom: 1px solid rgba(0, 0, 0, .08);
  color: var(--bby-ink);
  vertical-align: top;
}

.bby-table tbody tr:hover td {
  background: rgba(12, 143, 144, .05);
}

.bby-table__price {
  text-align: right;
  white-space: nowrap;
  color: rgba(40, 40, 40, .86);
  font-weight: 700;
}

.bby-table__group td {
  padding: 12px 16px;
  background: rgba(251, 247, 240, .90);
  color: rgba(145, 30, 31, .92);
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: .78rem;
  border-bottom: 1px solid rgba(0, 0, 0, .06);
}

.bby-table__group td::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--bby-teal);
  margin-right: .55rem;
  transform: translateY(1px);
  opacity: .9;
}

.bby-table-cta {
  display: flex;
  gap: .6rem;
  justify-content: flex-end;
  padding: 14px 16px;
  background: rgba(255, 255, 255, .65);
  border-top: 1px solid rgba(0, 0, 0, .06);
}

@media (max-width: 575.98px) {
  .bby-table-cta {
    flex-direction: column;
    align-items: stretch;
  }

  .bby-table-cta .bby-btn {
    width: 100%;
    justify-content: center;
  }
}

.bby-note {
  color: var(--bby-muted);
  font-size: .95rem;
  line-height: 1.6;
}

/* ==========================
   BBY — Hero Light Variant
   Source of truth: homepage "Ready when you are" card.
   Moved from homepage inline <style> to global so memberships
   and weekly-deals pages can reuse the same card design.
   ========================== */

.bby-hero__glass--light{
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(145,30,31,.10);
  box-shadow: 0 18px 50px rgba(17, 12, 13, .10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 22px;
  padding: 2rem 1.5rem;
}

@media (max-width: 767px){
  .bby-hero__glass--light{
    padding: 1.6rem 1.1rem;
  }
}

.bby-hero__title--light{
  color: #911E1F;
  text-shadow: none;
}

.bby-hero__subtitle--light{
  color: rgba(40, 40, 40, .82);
}

.bby-hero__eyebrow--light{
  background: rgba(145,30,31,.06);
  border: 1px solid rgba(145,30,31,.12);
  color: rgba(145,30,31,.86);
}

.bby-hero__cta-sub--light{
  color: #911E1F;
  border-color: rgba(145,30,31,.28);
}

.bby-hero__cta-sub--light:hover{
  background: rgba(145,30,31,.06);
  border-color: rgba(145,30,31,.40);
  color: #911E1F;
}

.bby-social--light a{
  color: #911E1F;
  background: rgba(145,30,31,.06);
  border-color: rgba(145,30,31,.12);
}

.bby-social--light a:hover{
  background: rgba(145,30,31,.10);
  border-color: rgba(145,30,31,.18);
}

/* ==========================
   BBY — Store Page (page 20)
   ========================== */

.page-id-20 .bby-store-hero-bg{
  background:
    linear-gradient(158deg,
      rgba(129, 0, 0, .72),
      rgba(74, 32, 64, .68),
      rgba(248, 244, 227, .45)),
    url('https://images.unsplash.com/photo-1556760544-74068565f05c?crop=entropy&cs=tinysrgb&fit=crop&fm=avif&ixid=M3wzNzg0fDB8MXxzZWFyY2h8MTZ8fHNwYSUyMHNraW58ZW58MHwwfHx8MTc0MjA4MDkyNXww&ixlib=rb-4.0.3&q=80&w=1080&h=768')
    center / cover no-repeat;
}

.bby-product-card{
  background: #fff;
  border: 1px solid rgba(145,30,31,.10);
  border-radius: calc(var(--bby-radius) + 6px);
  box-shadow: 0 14px 36px rgba(31,27,23,.06);
  overflow: hidden;
  transition: transform var(--bby-fast) var(--bby-ease),
              box-shadow var(--bby-fast) var(--bby-ease);
}

.bby-product-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 52px rgba(0,0,0,.08);
}

.bby-product-card__body{
  padding: 1.35rem 1.25rem;
}

.bby-product-card__title{
  margin: 0;
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-weight: 900;
  letter-spacing: .2px;
  color: var(--bby-red);
  line-height: 1.15;
}

.bby-product-card__price{
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .35rem .75rem;
  border-radius: 999px;
  background: rgba(200,162,74,.12);
  border: 1px solid rgba(200,162,74,.32);
  color: var(--bby-ink);
  font-weight: 850;
  font-size: .95rem;
}

.bby-product-card__text{
  margin: 0;
  color: var(--bby-muted);
  line-height: 1.65;
  font-size: .98rem;
}

.bby-store-partner{
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(12,143,144,.14);
  border-radius: calc(var(--bby-radius) + 6px);
  box-shadow: 0 14px 36px rgba(31,27,23,.06);
  padding: 1.5rem;
}

.bby-store-partner__logo{
  max-height: 74px;
  width: auto;
}

/* ==========================
   BBY — FAQ Page (page 501)
   ========================== */

.page-id-501 .bby-faq-section{
  padding: 3.5rem 0 4rem;
  background: var(--ms-cream);
}

/* Accordion brand overrides */
.bby-faq .accordion-item{
  border: 1px solid rgba(145,30,31,.10);
  border-radius: var(--bby-radius) !important;
  overflow: hidden;
  margin-bottom: .75rem;
  background: #fff;
  box-shadow: 0 6px 18px rgba(31,27,23,.04);
  transition: box-shadow var(--bby-fast) var(--bby-ease);
}

.bby-faq .accordion-item:hover{
  box-shadow: 0 10px 28px rgba(31,27,23,.08);
}

.bby-faq .accordion-button{
  font-weight: 800;
  color: var(--bby-ink);
  letter-spacing: .15px;
  padding: 1.05rem 1.25rem;
  background: #fff;
  border-radius: var(--bby-radius) !important;
}

.bby-faq .accordion-button:not(.collapsed){
  color: var(--bby-red);
  background: rgba(145,30,31,.03);
  box-shadow: none;
}

.bby-faq .accordion-button::after{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23911E1F'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
}

.bby-faq .accordion-button:focus{
  box-shadow: 0 0 0 3px rgba(145,30,31,.12);
  border-color: transparent;
}

.bby-faq .accordion-body{
  padding: .25rem 1.25rem 1.15rem;
  color: var(--bby-muted);
  line-height: 1.7;
  font-size: .98rem;
}

.bby-faq .accordion-body p{
  margin: 0;
}

/* Booking sidebar card */
.bby-booking-card{
  background: #fff;
  border: 1px solid rgba(12,143,144,.14);
  border-radius: calc(var(--bby-radius) + 6px);
  box-shadow: 0 14px 36px rgba(31,27,23,.06);
  overflow: hidden;
  position: sticky;
  top: 100px;
}

.bby-booking-card__header{
  background: linear-gradient(135deg, rgba(145,30,31,.96), rgba(12,143,144,.22));
  padding: 1.1rem 1.25rem;
  text-align: center;
}

.bby-booking-card__title{
  margin: 0;
  color: #fff;
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-weight: 900;
  font-size: 1.15rem;
  letter-spacing: .2px;
}

.bby-booking-card__body{
  padding: .75rem;
}

/* ==========================
   BBY — Catalogue Page (page 187)
   ========================== */

.bby-cat-section{
  padding: 3rem 0;
}

.bby-cat-header{
  text-align: center;
  margin-bottom: 1.75rem;
}

/* Teal callout reuse for catalogue notes */
.bby-cat-section .bby-callout{
  border-radius: var(--bby-radius);
  border: 1px solid rgba(12, 143, 144, .18);
  background: rgba(12, 143, 144, .07);
  padding: 1.15rem;
  box-shadow: 0 10px 26px rgba(31,27,23,.04);
  color: var(--bby-ink);
  line-height: 1.65;
  font-size: .95rem;
}

/* ==========================
   BBY — Contact Page (page 35)
   Contact Form 7 brand overrides
   ========================== */

.bby-contact-form .wpcf7-form label{
  display: block;
  font-weight: 700;
  color: var(--bby-ink);
  font-size: .95rem;
  margin-bottom: .75rem;
}

.bby-contact-form .wpcf7-form-control:not([type="submit"]):not([type="hidden"]){
  width: 100%;
  padding: .85rem 1rem;
  border: 1px solid rgba(145,30,31,.14);
  border-radius: 14px;
  background: #fff;
  color: var(--bby-ink);
  font-size: .98rem;
  transition: border-color var(--bby-fast) var(--bby-ease),
              box-shadow var(--bby-fast) var(--bby-ease);
}

.bby-contact-form .wpcf7-form-control:not([type="submit"]):not([type="hidden"]):focus{
  outline: none;
  border-color: var(--bby-teal);
  box-shadow: 0 0 0 3px rgba(12,143,144,.12);
}

.bby-contact-form .wpcf7-form-control.wpcf7-textarea{
  min-height: 140px;
  resize: vertical;
}

.bby-contact-form .wpcf7-submit{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  text-decoration: none;
  font-weight: 850;
  border-radius: 999px;
  padding: .85rem 2rem;
  background: var(--bby-red);
  color: #fff;
  border: 1px solid rgba(200,162,74,.30);
  box-shadow: 0 12px 28px rgba(145,30,31,.18);
  cursor: pointer;
  font-size: 1rem;
  transition: transform var(--bby-fast) var(--bby-ease),
              background-color var(--bby-fast) var(--bby-ease);
}

.bby-contact-form .wpcf7-submit:hover{
  transform: translateY(-1px);
  background: #7C1819;
}

.bby-contact-form .wpcf7-response-output{
  border-radius: 14px !important;
  padding: .85rem 1rem !important;
  font-size: .95rem;
  margin-top: 1rem !important;
}

/* Contact info cards */
.bby-contact-info{
  display: grid;
  gap: 1rem;
}

.bby-contact-info__item{
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.1rem 1.15rem;
  border-radius: var(--bby-radius);
  border: 1px solid rgba(145,30,31,.10);
  background: #fff;
  box-shadow: 0 6px 18px rgba(31,27,23,.04);
  transition: box-shadow var(--bby-fast) var(--bby-ease),
              transform var(--bby-fast) var(--bby-ease);
}

.bby-contact-info__item:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 28px rgba(31,27,23,.08);
}

.bby-contact-info__icon{
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
}

.bby-contact-info__icon--red{
  background: rgba(145,30,31,.06);
  border: 1px solid rgba(145,30,31,.12);
  color: var(--bby-red);
}

.bby-contact-info__icon--teal{
  background: rgba(12,143,144,.06);
  border: 1px solid rgba(12,143,144,.14);
  color: var(--bby-teal);
}

.bby-contact-info__icon--gold{
  background: rgba(200,162,74,.08);
  border: 1px solid rgba(200,162,74,.18);
  color: #9A7B2F;
}

.bby-contact-info__label{
  margin: 0;
  font-weight: 850;
  font-size: .82rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--bby-teal);
}

.bby-contact-info__value{
  margin: .15rem 0 0;
  color: var(--bby-ink);
  font-weight: 650;
  line-height: 1.5;
}

.bby-contact-info__value a{
  color: var(--bby-red);
  text-decoration: none;
  font-weight: 800;
}

.bby-contact-info__value a:hover{
  text-decoration: underline;
}

/* Map frame */
.bby-map-frame{
  border-radius: calc(var(--bby-radius) + 6px);
  overflow: hidden;
  border: 1px solid rgba(145,30,31,.10);
  box-shadow: 0 14px 36px rgba(31,27,23,.06);
}

.bby-map-frame iframe{
  border: 0;
  width: 100%;
  min-height: 380px;
}

/* ==========================
   BBY — Service Pages Template
   ========================== */

/* Default hero background for all service pages */
.bby-memberships-hero > div{
  background:
    linear-gradient(158deg,
      rgba(129, 0, 0, .72),
      rgba(74, 32, 64, .68),
      rgba(248, 244, 227, .45)),
    url('https://images.unsplash.com/photo-1517487881594-2787fef5ebf7?crop=entropy&cs=tinysrgb&fit=crop&fm=avif&q=80&w=1200&h=500')
    center / cover no-repeat;
}

/* Service treatment cards */
.bby-svc-card{
  background: #fff;
  border: 1px solid rgba(145,30,31,.10);
  border-radius: var(--bby-radius);
  box-shadow: var(--bby-shadow-sm);
  padding: 1.75rem 1.5rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: transform var(--bby-fast) var(--bby-ease),
              box-shadow var(--bby-fast) var(--bby-ease);
}
.bby-svc-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(31,27,23,.10);
}

.bby-svc-card__title{
  font-family: var(--ms-heading-font, 'Playfair Display', serif);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--bby-ink);
  margin-bottom: .5rem;
}

.bby-svc-card__price{
  display: inline-block;
  background: rgba(200,162,74,.10);
  color: #7A6023;
  font-weight: 800;
  font-size: .75rem;
  letter-spacing: .02em;
  padding: .35rem .85rem;
  border-radius: 999px;
  border: 1px solid rgba(200,162,74,.18);
  margin-top: .5rem;
   margin-bottom: .5rem;
}

.bby-svc-card__desc{
  color: var(--bby-muted);
  font-size: .95rem;
  line-height: 1.6; 
	margin-top: .5rem;
}

.bby-svc-card__list{
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
  border-top: 1px solid rgba(145,30,31,.06);
  padding-top: 1rem;
}
.bby-svc-card__list li{
  position: relative;
  padding-left: 1.35rem;
  font-size: .9rem;
  color: var(--bby-muted);
  margin-bottom: .45rem;
}
.bby-svc-card__list li::before{
  content: '';
  position: absolute;
  left: 0;
  top: .55em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--bby-teal);
}

/* How-it-works steps */
.bby-steps{
  counter-reset: step-counter;
}
.bby-step{
  background: #fff;
  border: 1px solid rgba(145,30,31,.08);
  border-radius: var(--bby-radius);
  padding: 1.5rem;
  text-align: center;
  height: 100%;
}
.bby-step__num{
  counter-increment: step-counter;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: rgba(12,143,144,.08);
  color: var(--bby-teal);
  font-weight: 800;
  font-size: 1.15rem;
  margin: 0 auto .85rem;
}
.bby-step__num::before{
  content: counter(step-counter);
}
.bby-step__title{
  font-family: var(--ms-heading-font, 'Playfair Display', serif);
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--bby-ink);
  margin-bottom: .4rem;
}
.bby-step__desc{
  color: var(--bby-muted);
  font-size: .9rem;
  line-height: 1.55;
}

/* Service overview text block */
.bby-svc-overview{
  font-size: 1.05rem;
  line-height: 1.75;
  color: var(--bby-muted);
  max-width: 800px;
  margin: 0 auto;
}

/* Treats/conditions grid */
.bby-treats-item{
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  padding: .85rem 0;
}
.bby-treats-item__icon{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: rgba(145,30,31,.06);
  color: var(--bby-red);
  font-size: 1rem;
}
.bby-treats-item__text{
  font-size: .95rem;
  color: var(--bby-ink);
  font-weight: 600;
}

/* Service page booking CTA strip */
.bby-svc-cta-strip{
  background: rgba(12,143,144,.04);
  border: 1px solid rgba(12,143,144,.12);
  border-radius: var(--bby-radius);
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}
.bby-svc-cta-strip__text{
  font-weight: 700;
  color: var(--bby-ink);
  font-size: 1rem;
  margin: 0;
}

/* Notes/disclaimer box */
.bby-note-box{
  background: rgba(200,162,74,.06);
  border: 1px solid rgba(200,162,74,.14);
  border-radius: var(--bby-radius);
  padding: 1.25rem 1.5rem;
}
.bby-note-box p{
  color: var(--bby-muted);
  font-size: .9rem;
  line-height: 1.6;
  margin-bottom: .35rem;
}
.bby-note-box p:last-child{ margin-bottom: 0; }

/* Inline style migrations (temporary mirror until Sass compile) */
.page-id-529 .bby-post-card-media{
  aspect-ratio: 4 / 3;
}


/* ==========================
   Weekly Deals (page 291)
   Gift card polish
   ========================== */
.page-id-291 .bby-tt-gifts{
  margin-top: 2.75rem;
}

.page-id-291 .bby-tt-gifts .bby-hero__glass--light.bby-gift-card{
  background:
    radial-gradient(960px 280px at 12% 0%, rgba(200,162,74,.18), rgba(255,255,255,0) 62%),
    linear-gradient(180deg, var(--ms-cream) 0%, #ffffff 100%);
  border: 1px solid rgba(145,30,31,.14);
  box-shadow: 0 18px 50px rgba(17,12,13,.12);
}

.page-id-291 .bby-tt-gifts .bby-hero__title--light{
  color: var(--bby-red);
  letter-spacing: .2px;
}

.page-id-291 .bby-tt-gifts .bby-hero__subtitle--light{
  color: var(--bby-ink);
  max-width: 62ch;
  margin-left: auto;
  margin-right: auto;
}

.page-id-291 .bby-tt-gifts .bby-callout--light{
  background: rgba(255,255,255,.86);
  border-color: rgba(145,30,31,.14);
}

.page-id-291 .bby-tt-gifts .bby-pay-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}

.page-id-291 .bby-tt-gifts .bby-pay{
  background: #fff;
  border: 1px solid rgba(145,30,31,.12);
  border-radius: 16px;
  min-height: 70px;
  box-shadow: 0 10px 26px rgba(31,27,23,.06);
}

.page-id-291 .bby-tt-gifts .bby-pay:hover{
  border-color: rgba(12,143,144,.26);
  transform: translateY(-1px);
}

.page-id-291 .bby-tt-gifts .bby-gift-card__cta{
  display: grid;
  gap: .6rem;
}

.page-id-291 .bby-tt-gifts .bby-gift-card__cta .bby-btn{
  width: 100%;
  justify-content: space-between;
}

@media (max-width: 767px){
  .page-id-291 .bby-tt-gifts .bby-pay-grid{
    grid-template-columns: 1fr;
  }
}

@media (min-width: 576px){
  .page-id-291 .bby-tt-gifts .bby-gift-card__cta{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ==========================
   Weekly Deals (page 291)
   Gift card contrast + layout fix
   ========================== */
.page-id-291 .bby-tt-gifts .bby-gift-card,
.page-id-291 .bby-tt-gifts .bby-gift-card *{
  color: var(--bby-ink);
}

.page-id-291 .bby-tt-gifts .bby-gift-card a:not(.bby-btn){
  color: var(--bby-red);
  font-weight: 800;
}

.page-id-291 .bby-tt-gifts .bby-pay-grid{
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.page-id-291 .bby-tt-gifts .bby-pay,
.page-id-291 .bby-tt-gifts button.bby-pay{
  background: linear-gradient(145deg, #221d19, #3b342f);
  border: 1px solid rgba(200,162,74,.38);
  min-height: 82px;
}

.page-id-291 .bby-tt-gifts .bby-pay img{
  display: block;
  margin-inline: auto;
  width: min(130px, 86%);
  height: 48px;
  object-fit: contain;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.45));
}

.page-id-291 .bby-tt-gifts .bby-pay img.w-25{
  width: min(120px, 74%) !important;
  height: 46px;
}

.page-id-291 .bby-tt-gifts .bby-pay:hover{
  border-color: rgba(12,143,144,.36);
  box-shadow: 0 12px 30px rgba(0,0,0,.18);
}

/* ==========================
   Weekly Deals (page 291)
   Button size tune (medium)
   ========================== */
.page-id-291 .bby-tt-page .bby-btn,
.page-id-291 .bby-tt-gifts .bby-btn{
  padding: .62rem 1.14rem;
  font-size: .95rem;
  line-height: 1.2;
  border-radius: 999px;
}

.page-id-291 .bby-tt-page .bby-btn--sm{
  padding: .5rem .92rem;
  font-size: .87rem;
}

.page-id-291 .bby-tt-cta,
.page-id-291 .bby-steps-cta,
.page-id-291 .bby-gift-card__cta{
  gap: .5rem;
}

.page-id-291 .bby-tt-gifts .bby-gift-card__cta .bby-btn{
  width: auto;
  min-width: 176px;
  justify-content: center;
}

@media (max-width: 767px){
  .page-id-291 .bby-tt-gifts .bby-gift-card__cta .bby-btn{
    width: 100%;
    min-width: 0;
    justify-content: space-between;
  }
}

/* ==========================
   Weekly Deals (page 291)
   Hero note gradient tune
   ========================== */
.page-id-291 .bby-tt-note{
  background: linear-gradient(145deg, rgba(114, 27, 35, .94) 0%, rgba(70, 50, 68, .92) 52%, rgba(14, 116, 117, .92) 100%);
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 12px 30px rgba(31,27,23,.14);
  color: rgba(255,255,255,.96);
}

.page-id-291 .bby-tt-note,
.page-id-291 .bby-tt-note p,
.page-id-291 .bby-tt-note strong{
  color: rgba(255,255,255,.97);
}

.page-id-291 .bby-tt-note a{
  color: #ffffff;
  text-decoration-color: rgba(255,255,255,.72);
}

/* ==========================
   Weekly Deals (page 291)
   Move gradient from note -> pay tiles
   ========================== */
.page-id-291 .bby-tt-gifts .bby-pay,
.page-id-291 .bby-tt-gifts button.bby-pay{
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #f6efe6 0%, #efe3d4 100%);
  border: 1px solid rgba(145,30,31,.16);
}

.page-id-291 .bby-tt-note{
  background: var(--ms-cream);
  border: 1px solid var(--ms-border);
  color: var(--ms-text);
  box-shadow: none;
}

.page-id-291 .bby-tt-note,
.page-id-291 .bby-tt-note p,
.page-id-291 .bby-tt-note strong{
  color: var(--ms-text);
}

.page-id-291 .bby-tt-note a{
  color: var(--ms-primary);
  text-decoration-color: rgba(145,30,31,.45);
}


/* ==========================
   BBY legal pages
   Minimal branded shell
   ========================== */
.bby-legal-page{
  padding-top: clamp(2rem, 4vw, 3.25rem);
}

.bby-legal-card{
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(145,30,31,.10);
  box-shadow: 0 16px 40px rgba(28,22,18,.06);
  padding: clamp(1.25rem, 2vw, 2rem);
}

.bby-legal-card h1,
.bby-legal-card h2,
.bby-legal-card h3,
.bby-legal-card .wp-block-heading{
  font-family: inherit;
  color: var(--bby-red);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.15;
  margin: 0 0 1rem;
}

.bby-legal-card h1{
  font-size: clamp(2rem, 3.5vw, 2.75rem);
}

.bby-legal-card h2,
.bby-legal-card .wp-block-heading{
  font-size: clamp(1.4rem, 2vw, 1.85rem);
  margin-top: 2rem;
}

.bby-legal-card p,
.bby-legal-card li,
.bby-legal-card div{
  color: var(--bby-ink);
  line-height: 1.75;
}

.bby-legal-card p{
  margin: 0 0 1rem;
}

.bby-legal-card strong{
  color: var(--bby-red);
}

.bby-legal-card a{
  color: var(--bby-teal);
  text-decoration: underline;
  text-decoration-color: rgba(12,143,144,.35);
}

.bby-legal-card a:hover{
  color: #086f70;
  text-decoration-color: rgba(8,111,112,.55);
}

.page-id-408 .bby-legal-card,
.page-id-3 .bby-legal-card{
  overflow-wrap: anywhere;
}
