/* Love Teeth Black Friday deals page - additions on top of lt.css */
.bf-sub{margin:0;font-weight:700;font-size:var(--text-21);line-height:1.35;color:var(--lt-magenta-600)}
.bf-intro{margin:0;font-size:var(--text-17);line-height:1.7;color:var(--color-fg-muted);text-wrap:pretty}
.hero .fcard__t{margin:0 0 var(--lt-space-2)}

/* Form: deal choice radios */
.bf-opts{border:0;margin:var(--lt-space-1) 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.bf-opts legend{margin-bottom:8px;font-size:var(--text-15);font-weight:700;color:var(--lt-ink-900)}
.bf-opt{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer;font-size:var(--text-16);color:var(--lt-ink-900)}
.bf-opt input{appearance:none;-webkit-appearance:none;width:22px;height:22px;margin:0;border:2px solid var(--lt-grey-300);border-radius:50%;display:grid;place-items:center;flex:none;cursor:pointer;background:var(--lt-paper)}
.bf-opt input::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--lt-magenta-600);transform:scale(0);transition:transform 160ms ease-out}
.bf-opt input:checked{border-color:var(--lt-magenta-600)}
.bf-opt input:checked::before{transform:scale(1)}
.bf-opt input:focus-visible{outline:3px solid var(--lt-magenta-500);outline-offset:2px}

/* Composite bonding split */
.bf-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--lt-space-8);align-items:center}
.bf-split__img{aspect-ratio:4/4.4;box-shadow:var(--lt-shadow-pop);background:var(--lt-pink-100)}
.bf-split__copy{display:flex;flex-direction:column;gap:var(--lt-space-4)}
.bf-split__copy .h2{text-align:left}
.bf-split__copy>p:not(.bf-sub){margin:0;font-size:var(--text-17);line-height:1.8;color:var(--lt-ink-700)}
.bf-split__copy .btn{align-self:flex-start;margin-top:var(--lt-space-2)}
.bf-tag{align-self:flex-start;padding:6px 14px;background:var(--lt-magenta-600);color:var(--lt-paper);font-size:var(--text-13);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.bf-chips{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--lt-space-3)}
.bf-chips li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:var(--lt-space-4) var(--lt-space-3);background:var(--lt-pink-100);font-weight:700;font-size:var(--text-15);line-height:1.35;color:var(--lt-ink-900)}
.bf-chips .ic{width:48px;height:48px;background:var(--lt-paper)}

/* Invisalign open day - black section */
.bf-dark{background:var(--lt-ink-900);color:var(--lt-paper);overflow:hidden}
.bf-dark__spark{position:absolute;color:var(--lt-magenta-600);opacity:.9;pointer-events:none}
.bf-dark .h2,.bf-dark .h3{color:var(--lt-paper)}
.bf-dark .ul{background-image:linear-gradient(transparent 70%,var(--lt-magenta-600) 70%,var(--lt-magenta-600) 92%,transparent 92%)}
.bf-dark .bf-sub{color:var(--lt-pink-300)}
.bf-od{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--lt-space-8);align-items:center}
.bf-od__copy{display:flex;flex-direction:column;gap:var(--lt-space-4)}
.bf-od__copy .h2{text-align:left}
.bf-od__copy>p{margin:0;font-size:var(--text-17);line-height:1.75;color:var(--lt-paper)}
.bf-od__copy>p.bf-sub{color:var(--lt-pink-300)}
.bf-od__date{margin:0}
.bf-od__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px var(--lt-space-5)}
.bf-od__list li{font-weight:600;font-size:var(--text-16);color:var(--lt-paper)}
.bf-od__q{font-weight:700;font-size:var(--text-19)!important}
.bf-od__copy .btn{align-self:flex-start;margin-top:var(--lt-space-2)}
.bf-od__side{display:flex;flex-direction:column;gap:var(--lt-space-4)}
.bf-od__img{position:relative;aspect-ratio:4/3.4;overflow:hidden}
.bf-od__img>img:first-child{width:100%;height:100%;object-fit:cover}
.bf-od__badge{position:absolute;left:16px;bottom:16px;width:130px;height:auto}
.bf-count{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.28);padding:var(--lt-space-4)}
.bf-count__l{margin:0 0 8px;font-size:var(--text-13);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--lt-pink-300)}
.bf-count__g{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.bf-count__g b{display:block;font-weight:800;font-size:var(--text-32);line-height:1.1;font-variant-numeric:tabular-nums;color:var(--lt-paper)}
.bf-count__g span{font-size:var(--text-12);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--lt-paper)}

/* Consultation steps */
.bf-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--lt-space-5)}
.bf-steps li{position:relative;background:var(--lt-paper);box-shadow:var(--lt-shadow-card);padding:var(--lt-space-7) var(--lt-space-5) var(--lt-space-6);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--lt-space-3)}
.bf-steps__n{position:absolute;top:-20px;left:50%;transform:translateX(-50%);width:40px;height:40px;border-radius:50%;background:var(--lt-magenta-600);color:var(--lt-paper);display:grid;place-items:center;font-weight:800}
.bf-steps p{margin:0;font-size:var(--text-16);line-height:1.65;color:var(--color-fg-muted)}
.bf-fine{margin:var(--lt-space-6) 0 0;text-align:center;font-size:var(--text-14);color:var(--color-fg-muted)}

@media (max-width:1100px){
  .bf-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--lt-space-7)}
  .bf-od{grid-template-columns:1fr}
  .bf-od__side{flex-direction:row}
  .bf-od__img{flex:1.2}
  .bf-count{flex:1;align-self:center}
}
@media (max-width:900px){
  .bf-sub{font-size:var(--text-18)}
  .bf-intro{font-size:var(--text-15);line-height:1.6}
  .hero .bf-intro{display:none}
  .hero .fcard__t{font-size:var(--text-22)}
  .bf-split{grid-template-columns:1fr;gap:var(--lt-space-5)}
  .bf-split__img{aspect-ratio:4/3}
  .bf-split__copy .btn,.bf-od__copy .btn{align-self:stretch}
  .bf-chips{gap:var(--lt-space-2)}
  .bf-chips li{font-size:var(--text-13);padding:var(--lt-space-3) 8px}
  .bf-chips .ic{width:40px;height:40px}
  .bf-od{gap:var(--lt-space-6)}
  .bf-od__list{grid-template-columns:1fr}
  .bf-od__side{flex-direction:column;order:-1}
  .bf-od__badge{width:90px;left:10px;bottom:10px}
  .bf-count__g b{font-size:var(--text-24)}
  .bf-steps{grid-template-columns:1fr;row-gap:var(--lt-space-7)}
  .bf-dark__spark{display:none}
}

/* Form card is black on Love Teeth pages - light radio labels */
.hero .fcard .bf-opts legend,.hero .fcard .bf-opt{color:var(--lt-paper)}
.hero .fcard .bf-opt input{border-color:rgba(255,255,255,.6);background:transparent}
.hero .fcard .bf-opt input:checked{border-color:var(--lt-pink-300)}
.hero .fcard .bf-opt input::before{background:var(--lt-pink-300)}
/* Promo bar stays on one line */
@media (max-width:1000px){.promo .promo__x{display:none}}
.bf-od__copy>p.bf-od__date{color:var(--lt-ink-900);font-size:var(--text-15)}

.bf-split__img{overflow:hidden}
.bf-split__img img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.bf-banner{aspect-ratio:21/8;overflow:hidden;margin-bottom:calc(var(--lt-space-7) + 20px);box-shadow:var(--lt-shadow-card)}
.bf-banner img{width:100%;height:100%;object-fit:cover;object-position:center 60%}
@media (max-width:900px){.bf-banner{aspect-ratio:16/9;margin-bottom:var(--lt-space-7)}.bf-split__img img{object-position:center 25%}}
@media (max-width:900px){.bf-od__side .bf-count{align-self:stretch;width:100%;padding:var(--lt-space-3)}.bf-count__l{font-size:var(--text-12);margin-bottom:4px}.bf-count__g b{font-size:var(--text-22)}.bf-count__g span{font-size:11px}}
