/* COSMOPOWER — Black Friday landing page */
.bf-page { --ink:#17131f; --ink2:#231d2e; --red:#ec3a3d; --orange:#f4511e; --pink:#e3195f; --cream:#fff3dc; --line:#ece7ee; --muted:#6d6578; background:#fbf8f6; }
.bf-page .cp-btn--dark { background:#17131f; color:#fff; }
.bf-page .cp-btn--dark:hover { background:#231d2e; }
.bf-page main { overflow-x: clip; }

/* ── Hero ── */
.bf-hero { position:relative; overflow:hidden; color:#fff; background:
  repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 38px, rgba(255,255,255,0) 38px 96px),
  radial-gradient(1200px 520px at 85% 110%, rgba(236,58,61,.28), transparent 60%),
  radial-gradient(800px 420px at 0% 0%, rgba(244,81,30,.14), transparent 60%),
  #141018; padding: 92px 0 104px; }
.bf-hero__grid { position:relative; z-index:2; display:grid; gap:48px; align-items:center; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); }
.bf-crumbs { display:flex; gap:8px; font-size:12px; color:rgba(255,255,255,.55); margin-bottom:22px; }
.bf-crumbs a { color:rgba(255,255,255,.75); text-decoration:none; }
.bf-crumbs a:hover { color:#fff; }

.bf-pill { display:inline-block; margin:0; padding:9px 22px 8px; border-radius:16px; background:var(--red); color:var(--cream); font-weight:900; font-size:clamp(16px,2vw,22px); letter-spacing:.06em; transform:rotate(-1.5deg); box-shadow:0 10px 24px -10px rgba(236,58,61,.8); }
.bf-pill--sm { font-size:13px; padding:7px 16px; }
.bf-script { margin:10px 0 0 6px; color:var(--cream); font-weight:900; font-size:clamp(34px,5.4vw,64px); line-height:1; letter-spacing:-.03em; transform:rotate(-1.5deg); }
.bf-bar { display:block; width:min(300px,60%); height:9px; margin:26px 0 30px 40px; border-radius:6px; background:var(--red); transform:rotate(-1deg); }

.bf-title { margin:0; display:flex; flex-direction:column; align-items:flex-start; line-height:.86; }
.bf-title__price { font-weight:900; font-size:clamp(88px,15vw,176px); letter-spacing:-.06em; background:linear-gradient(100deg,var(--orange),var(--red) 50%,var(--pink)); -webkit-background-clip:text; background-clip:text; color:transparent; filter:drop-shadow(0 18px 30px rgba(236,58,61,.35)); }
.bf-title__price small { font-size:.5em; margin-left:.06em; vertical-align:.55em; }
.bf-title__pill { margin:6px 0 10px; padding:10px 22px 9px; border-radius:18px; background:var(--red); color:var(--cream); font-weight:900; font-size:clamp(17px,2.6vw,30px); letter-spacing:.03em; line-height:1.05; box-shadow:0 14px 30px -12px rgba(236,58,61,.9); }
.bf-title__big { font-weight:900; font-size:clamp(58px,10.5vw,128px); letter-spacing:-.045em; color:#fff; text-shadow:0 6px 0 rgba(0,0,0,.35); }

.bf-sign { display:flex; flex-wrap:wrap; gap:14px; align-items:center; margin-top:26px; }
.bf-sign__heart { position:relative; display:inline-flex; align-items:center; gap:12px; padding:12px 26px 12px 16px; border-radius:16px; background:var(--red); color:#fff; font-weight:900; font-size:18px; }
.bf-sign__heart::before { content:""; position:absolute; inset:-26px auto auto -26px; width:120px; height:120px; z-index:-1; background:radial-gradient(circle, rgba(236,58,61,.85) 1.6px, transparent 2px) 0 0/9px 9px; border-radius:50%; opacity:.7; }
.bf-sign__heart svg { width:30px; height:30px; color:#17131f; }
.bf-sign__brand { padding:12px 20px; background:var(--red); color:#fff; font-weight:900; font-size:22px; letter-spacing:-.02em; border-radius:4px; transform:rotate(-1deg); }
.bf-lead { max-width:560px; margin:28px 0 0; color:rgba(255,255,255,.78); font-size:17px; line-height:1.6; }
.bf-lead strong { color:#fff; }

/* Ticker tapes */
.bf-tape { position:absolute; left:-4%; right:-4%; z-index:1; overflow:hidden; background:var(--red); color:#17131f; padding:10px 0; box-shadow:0 10px 30px -14px rgba(0,0,0,.6); }
.bf-tape--top { top:18px; transform:rotate(-1.2deg); }
.bf-tape--bottom { bottom:18px; transform:rotate(1deg); }
.bf-tape__track { display:flex; width:max-content; gap:22px; align-items:center; animation:bf-marquee 38s linear infinite; font-weight:900; font-size:20px; letter-spacing:-.01em; white-space:nowrap; }
.bf-tape--bottom .bf-tape__track { animation-direction:reverse; }
.bf-tape__track i { font-style:normal; font-size:16px; }
@keyframes bf-marquee { from { transform:translateX(0); } to { transform:translateX(-33.333%); } }
@media (prefers-reduced-motion: reduce) { .bf-tape__track { animation:none; } }

/* Hero card */
.bf-card { position:relative; padding:30px; border-radius:28px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); backdrop-filter:blur(10px); box-shadow:0 40px 80px -30px rgba(0,0,0,.7); }
.bf-card::before { content:""; position:absolute; inset:-1px; border-radius:inherit; padding:1px; background:linear-gradient(140deg,var(--orange),transparent 40%,transparent 60%,var(--pink)); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
.bf-card__kicker { display:flex; align-items:center; gap:8px; margin:0 0 14px; font-weight:800; font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:#ffb199; }
.bf-card__kicker hero-icon { width:18px; height:18px; }
.bf-countdown { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:22px; }
.bf-countdown[hidden] { display:none; }
.bf-countdown div { display:grid; place-items:center; padding:12px 4px; border-radius:16px; background:#0c090f; border:1px solid rgba(255,255,255,.1); }
.bf-countdown b { font-size:30px; font-weight:900; font-variant-numeric:tabular-nums; line-height:1; }
.bf-countdown span { margin-top:6px; font-size:11px; color:rgba(255,255,255,.55); }
.bf-card__list { list-style:none; margin:0 0 22px; padding:0; display:grid; gap:0; }
.bf-card__list li { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 0; border-bottom:1px dashed rgba(255,255,255,.14); font-size:14px; color:rgba(255,255,255,.8); }
.bf-card__list b { font-size:18px; color:#fff; white-space:nowrap; }
.bf-card__list small { font-size:11px; color:rgba(255,255,255,.6); font-weight:700; }
.bf-free { padding:4px 10px; border-radius:999px; font-size:11px !important; letter-spacing:.08em; background:linear-gradient(100deg,var(--orange),var(--pink)); }
.bf-card__cta { width:100%; padding:16px 20px; font-size:15px; }
.bf-card__tel { display:flex; justify-content:center; align-items:center; gap:8px; margin-top:12px; color:#fff; font-weight:800; text-decoration:none; }
.bf-card__tel hero-icon { width:18px; height:18px; color:#ffb199; }
.bf-card__note { margin:12px 0 0; text-align:center; font-size:12px; color:rgba(255,255,255,.5); }

/* ── Sections ── */
.bf-section { padding:96px 0; background:#fff; }
.bf-section--cream { background:#fbf8f6; }
.bf-section--dark { background:#17131f; color:#fff; }
.bf-head { max-width:720px; margin:0 auto 46px; text-align:center; }
.bf-head h2 { margin:14px 0 0; font-size:clamp(30px,4vw,46px); font-weight:800; line-height:1.08; letter-spacing:-.035em; color:#17131f; }
.bf-head p { margin:14px 0 0; color:var(--muted); font-size:16px; line-height:1.6; }
.bf-head--light h2 { color:#fff; }

/* Offers */
.bf-offers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:stretch; }
.bf-offer { position:relative; display:flex; flex-direction:column; padding:34px; border-radius:28px; background:#fff; border:1px solid var(--line); box-shadow:0 1px 2px rgba(23,19,31,.04),0 12px 32px -12px rgba(23,19,31,.12); }
.bf-offer--hot { background:#17131f; color:#fff; border-color:transparent; box-shadow:0 30px 70px -25px rgba(227,25,95,.45); }
.bf-offer__badge { position:absolute; top:-13px; left:34px; padding:6px 14px; border-radius:999px; font-size:11px; font-weight:900; letter-spacing:.1em; color:#fff; background:linear-gradient(100deg,var(--orange),var(--red) 50%,var(--pink)); }
.bf-offer__badge--dark { background:#17131f; }
.bf-offer__icon { width:40px; height:40px; color:var(--red); }
.bf-offer h3 { margin:16px 0 6px; font-size:26px; font-weight:800; letter-spacing:-.02em; }
.bf-offer__for { margin:0; font-size:14px; line-height:1.55; color:var(--muted); }
.bf-offer--hot .bf-offer__for { color:rgba(255,255,255,.65); }
.bf-offer__price { display:flex; align-items:flex-end; gap:12px; margin:22px 0; }
.bf-offer__price b { font-size:64px; font-weight:900; letter-spacing:-.05em; line-height:.9; background:linear-gradient(100deg,var(--orange),var(--red) 50%,var(--pink)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.bf-offer__price span { font-size:14px; font-weight:800; line-height:1.3; }
.bf-offer__price small { font-weight:600; color:var(--muted); }
.bf-offer--hot .bf-offer__price small { color:rgba(255,255,255,.6); }
.bf-offer ul { list-style:none; margin:0 0 28px; padding:0; display:grid; gap:11px; flex:1; }
.bf-offer li { display:flex; gap:10px; font-size:14.5px; line-height:1.45; }
.bf-offer li hero-icon { flex:none; width:20px; height:20px; padding:3px; border-radius:50%; color:#fff; background:var(--red); }
.bf-offer .cp-btn { align-self:flex-start; padding:15px 24px; font-size:14px; }

/* Sectors */
.bf-sectors { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.bf-sector { padding:24px; border-radius:22px; background:#fbf8f6; border:1px solid var(--line); text-decoration:none; color:inherit; transition:transform .2s, box-shadow .2s; }
.bf-sector:hover { transform:translateY(-3px); box-shadow:0 24px 60px -20px rgba(23,19,31,.22); }
.bf-sector__icon { display:grid; place-items:center; width:48px; height:48px; border-radius:14px; background:#17131f; color:#fff; }
.bf-sector__icon hero-icon { width:24px; height:24px; }
.bf-sector h3 { margin:16px 0 6px; font-size:17px; font-weight:800; color:#17131f; }
.bf-sector p { margin:0; font-size:13.5px; line-height:1.5; color:var(--muted); }
.bf-sector--cta { background:linear-gradient(140deg,var(--orange),var(--red) 50%,var(--pink)); border-color:transparent; }
.bf-sector--cta h3, .bf-sector--cta p { color:#fff; }
.bf-sector--cta .bf-sector__icon { background:rgba(255,255,255,.18); }

/* Perks */
.bf-perks { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.bf-perk { padding:28px 24px; border-radius:22px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); }
.bf-perk hero-icon { width:34px; height:34px; color:#ff8a65; }
.bf-perk h3 { margin:16px 0 8px; font-size:18px; font-weight:800; }
.bf-perk p { margin:0; font-size:14px; line-height:1.55; color:rgba(255,255,255,.66); }

/* Steps */
.bf-steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.bf-steps li { padding:30px; border-radius:24px; background:#fff; border:1px solid var(--line); }
.bf-steps b { display:inline-grid; place-items:center; width:46px; height:46px; border-radius:50%; color:#fff; font-weight:900; background:linear-gradient(140deg,var(--orange),var(--pink)); }
.bf-steps h3 { margin:16px 0 6px; font-size:19px; font-weight:800; color:#17131f; }
.bf-steps p { margin:0; font-size:14.5px; line-height:1.55; color:var(--muted); }

/* FAQ */
.bf-faq-wrap { max-width:860px; }
.bf-faq { display:grid; gap:12px; }
.bf-faq details { border:1px solid var(--line); border-radius:18px; background:#fbf8f6; padding:0 22px; }
.bf-faq summary { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 0; cursor:pointer; list-style:none; font-weight:800; font-size:16px; color:#17131f; }
.bf-faq summary::-webkit-details-marker { display:none; }
.bf-faq summary hero-icon { flex:none; width:20px; height:20px; transition:transform .2s; color:var(--red); }
.bf-faq details[open] summary hero-icon { transform:rotate(180deg); }
.bf-faq p { margin:0 0 20px; font-size:15px; line-height:1.65; color:var(--muted); }

/* Form */
.bf-hero--form { padding:120px 0 70px; }
.bf-form-grid { position:relative; z-index:2; display:grid; gap:48px; align-items:center; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
.bf-form-copy h2 { margin:22px 0 0; font-size:clamp(36px,5vw,60px); font-weight:900; line-height:1; letter-spacing:-.04em; }
.bf-form-copy h2 span { display:block; background:linear-gradient(100deg,var(--orange),var(--red) 50%,var(--pink)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.bf-form-copy > p { color:rgba(255,255,255,.72); font-size:16px; line-height:1.6; }
.bf-big-tel { display:inline-flex; align-items:center; gap:10px; margin-top:10px; font-size:30px; font-weight:900; color:#fff; text-decoration:none; }
.bf-big-tel hero-icon { width:28px; height:28px; color:#ff8a65; }
.bf-small { font-size:13px !important; color:rgba(255,255,255,.5) !important; }
.bf-form-card { padding:30px; border-radius:28px; background:#fff; color:#17131f; box-shadow:0 40px 80px -30px rgba(0,0,0,.7); }
.bf-form-card form { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.bf-form-card label { display:grid; gap:6px; font-size:12.5px; font-weight:700; color:#3a3346; }
.bf-form-card .full { grid-column:1 / -1; }
.bf-form-card input:not([type=checkbox]), .bf-form-card textarea, .bf-form-card select { width:100%; box-sizing:border-box; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:#fbf8f6; font:inherit; font-weight:500; font-size:14px; color:#17131f; }
.bf-form-card input:focus, .bf-form-card textarea:focus, .bf-form-card select:focus { outline:2px solid rgba(236,58,61,.35); border-color:var(--red); background:#fff; }
.bf-form-card .form-consent { display:flex; gap:10px; align-items:flex-start; font-weight:500; font-size:12px; color:var(--muted); }
.bf-form-card .form-consent a { color:var(--red); }
.bf-form-card button { padding:16px; font-size:15px; border:0; cursor:pointer; }
.bf-terms { position:relative; z-index:2; margin-top:40px !important; margin-bottom:40px !important; font-size:12px; line-height:1.6; color:rgba(255,255,255,.45); }

/* ── Responsive ── */
@media (max-width: 1024px) {
  .bf-sectors, .bf-perks { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .bf-hero { padding:80px 0 96px; }
  .bf-hero__grid, .bf-form-grid { grid-template-columns:1fr; }
  .bf-offers, .bf-steps { grid-template-columns:1fr; }
  .bf-section { padding:72px 0; }
}
@media (max-width: 560px) {
  .bf-tape__track { font-size:15px; }
  .bf-bar { margin-left:20px; }
  .bf-card, .bf-offer, .bf-form-card { padding:22px; border-radius:22px; }
  .bf-offer__badge { left:22px; }
  .bf-offer__price b { font-size:52px; }
  .bf-sectors, .bf-perks { grid-template-columns:1fr; }
  .bf-form-card form { grid-template-columns:1fr; }
  .bf-countdown b { font-size:24px; }
  .bf-big-tel { font-size:24px; }
}
