/* Black Friday uses the child theme's typography; all campaign components share these tokens. */
.abbf-layout {width:100%;max-width:none;padding:0;margin:0}
.abbf-layout .center-column {width:100%;padding:0;margin:0}
.wrapper:has(.abbf-layout) {padding:0;background:#000}
.abbf {
  --abbf-bg:#000;
  --abbf-surface:#101617;
  --abbf-surface-hover:#192324;
  --abbf-text:#f4f5ef;
  --abbf-muted:#b2c0bd;
  --abbf-line:#344342;
  --abbf-teal:#9ee7d2;
  --abbf-coral:#f39a80;
  --abbf-radius:var(--el-radius-panel,12px);
  color:var(--abbf-text);
  background:var(--abbf-bg);
  font-family:inherit;
  font-size:1rem;
  line-height:1.65;
  overflow:clip;
  color-scheme:dark;
}
.abbf *, .abbf *::before, .abbf *::after {box-sizing:border-box}
.abbf__shell {width:calc(100% - 40px);max-width:1240px;margin-inline:auto}
.abbf__shell--reading {max-width:960px}
.abbf :where(h1,h2,h3,h4,p) {margin:0;color:inherit}
.abbf h1,.abbf h2,.abbf h3,.abbf h4 {font-family:inherit;font-weight:600;letter-spacing:-.045em;text-wrap:balance}
.abbf a {color:inherit;text-decoration:none;transition:color .18s ease,background-color .18s ease,border-color .18s ease}
.abbf a:hover {color:var(--abbf-teal)}
.abbf :is(a,button,input,summary):focus-visible {outline:3px solid var(--abbf-coral);outline-offset:5px}
.abbf svg {width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.abbf__nav {min-height:88px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--abbf-line)}
.abbf__wordmark {font-size:.9375rem;letter-spacing:.08em;font-weight:600;line-height:1.5}
.abbf__wordmark span {display:block;font-size:.625rem;font-weight:400;letter-spacing:.15em;color:var(--abbf-muted)}
.abbf__nav-link {display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;font-size:.8125rem}
.abbf__hero {display:grid;position:relative;padding-top:44px}
.abbf__hero-copy {position:relative;z-index:2}
.abbf__eyebrow {font-size:.6875rem;line-height:1.6;letter-spacing:.16em;font-weight:600;color:var(--abbf-teal)}
.abbf__signal {display:inline-block;width:6px;height:6px;border-radius:50%;margin:0 9px 1px 0;background:var(--abbf-teal);box-shadow:0 0 12px #9ee7d244}
.abbf h1 {font-size:clamp(2.6rem,7vw,5.3rem);line-height:1.11;margin-top:20px;max-width:760px}
.abbf__hero h1 span,.abbf__home-title span {color:var(--abbf-teal)}
.abbf__hero-cta {margin-top:24px}
.abbf__intro {font-size:1rem;color:var(--abbf-muted);margin-top:24px;line-height:1.7}
.abbf__dates {display:flex;flex-wrap:wrap;gap:20px 32px;margin-top:32px}
.abbf__dates div {display:flex;flex-direction:column;gap:4px}
.abbf__dates span {font-size:.6875rem;letter-spacing:.025em;color:var(--abbf-muted)}
.abbf__dates strong {font-size:.875rem;font-weight:500}
.abbf__hero-art {position:relative;isolation:isolate;min-height:300px;display:flex;align-items:center;justify-content:center;margin:0 -20px}
.abbf__hero-art::before {content:"";position:absolute;z-index:-1;inset:10% 0 8%;background:radial-gradient(ellipse at 55% 42%,#1f514339,transparent 60%),radial-gradient(ellipse at 78% 62%,#a6452d14,transparent 48%);pointer-events:none}
.abbf__hero-art::after {content:"";position:absolute;left:17%;right:12%;bottom:12%;height:12%;border-radius:50%;background:radial-gradient(ellipse,#87c6b415,transparent 68%);transform:scaleY(.45);pointer-events:none}
.abbf__hero-art img {display:block;width:100%;height:auto;max-width:590px;aspect-ratio:1;object-fit:contain;position:relative;z-index:1}
.abbf__art-caption {position:absolute;bottom:20px;left:0;right:0;text-align:center;font-size:.5625rem;letter-spacing:.2em;color:var(--abbf-muted);z-index:2}
.abbf__orbit {position:absolute;border:1px solid #9ee7d214;border-radius:50%;width:78%;aspect-ratio:1;transform:rotate(-22deg) scaleY(.65);z-index:-1}
.abbf__orbit--two {width:96%;transform:rotate(-22deg) scaleY(.65);border-color:#9ee7d20a}
.abbf__access {position:relative;display:grid;gap:24px;padding:28px 24px;background:linear-gradient(120deg,#142220,#101617 58%);border:1px solid #47615a;border-radius:var(--abbf-radius);box-shadow:0 20px 60px #0005}
.abbf__access h2 {font-size:1.625rem;line-height:1.25;letter-spacing:-.04em}
.abbf__access-copy>p:last-child {font-size:.9375rem;color:var(--abbf-muted);margin-top:12px;max-width:420px}
.abbf__label {display:block;font-size:.8125rem;font-weight:500;margin-bottom:8px}
.abbf__form-row {display:grid;gap:12px}
.abbf__input {font:inherit;font-size:1rem;color:var(--abbf-text);width:100%;min-width:0;min-height:52px;background:#080e0e;border:1px solid #6a807a;border-radius:var(--el-radius,6px);padding:12px 15px;transition:border-color .18s ease}
.abbf__input::placeholder {color:#a6b3af;opacity:1}
.abbf__input:hover {border-color:var(--abbf-teal)}
.abbf__input[type="email"] {background:var(--abbf-text);color:var(--abbf-surface);border:2px solid var(--abbf-teal);color-scheme:light}
.abbf__input[type="email"]::placeholder {color:var(--abbf-line)}
.abbf__input--iban {text-transform:uppercase;letter-spacing:.05em}
.abbf .abbf__button {display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:52px;padding:12px 22px;border:1px solid var(--abbf-teal);border-radius:var(--el-radius,6px);background:var(--abbf-teal);color:#0b211b;font:inherit;font-size:.875rem;font-weight:600;line-height:1.5;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.abbf .abbf__button:hover {background:#c1f4e5;color:#0b211b;border-color:#c1f4e5}
.abbf .abbf__button:disabled {cursor:wait;opacity:.7}
.abbf .abbf__button--quiet {background:transparent;color:var(--abbf-text);border-color:#6a807a}
.abbf .abbf__button--quiet:hover {color:var(--abbf-teal);background:var(--abbf-surface-hover);border-color:var(--abbf-teal)}
.abbf--strip {border-bottom:1px solid var(--abbf-line);overflow:visible}
.abbf__strip-inner {display:grid;grid-template-columns:auto auto auto;justify-content:center;align-items:center;gap:16px;padding-block:4px;font-size:.9375rem;line-height:1.35}
.abbf__strip-dates {display:flex;gap:24px;font-size:.875rem;line-height:1.35;color:var(--abbf-muted)}
.abbf__strip-dates>span {display:grid}
.abbf__strip-dates b {color:var(--abbf-text)}
.abbf--strip .abbf__button {flex:none;min-height:44px;padding:6px 14px;gap:8px;white-space:nowrap}
@media(max-width:599px) {
  .abbf__strip-inner {grid-template-columns:1fr auto;gap:4px 12px}
  .abbf__strip-dates {grid-column:1/-1;grid-row:2;justify-content:space-between}
  .abbf--strip .abbf__button {grid-column:2;grid-row:1}
}
.abbf__consent {display:flex;align-items:flex-start;gap:12px;padding-block:16px 4px;cursor:pointer;font-size:.75rem;line-height:1.6;color:var(--abbf-muted)}
.abbf__consent input {appearance:auto;width:18px;height:18px;min-width:18px;margin:3px 0 0;accent-color:var(--abbf-teal);cursor:pointer}
.abbf__consent a,.abbf__hint a,.abbf__faq p a,.abbf__prose a {text-decoration:underline;text-underline-offset:3px}
.abbf__hint {font-size:.75rem;line-height:1.7;color:var(--abbf-muted);margin-top:10px}
.abbf__trap,.abbf__sr-only {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.abbf__feedback {font-size:.875rem;line-height:1.65;color:var(--abbf-text);background:#1b342b;border:1px solid #75aa96;border-radius:var(--el-radius,6px);padding:14px 16px;margin-bottom:18px;overflow-wrap:anywhere;scroll-margin-block:24px}
.abbf__feedback--error {background:#3a201d;border-color:var(--abbf-coral);color:#ffe5dc}
.abbf__benefits {display:grid;gap:24px;padding:36px 0;border-bottom:1px solid var(--abbf-line)}
.abbf__benefits>div {display:flex;gap:16px;align-items:center}
.abbf__benefits svg {color:var(--abbf-coral)}
.abbf__benefits span {display:flex;flex-direction:column;gap:4px}
.abbf__benefits strong {font-size:var(--readability-small,1rem);font-weight:600}
.abbf__benefits small {font-size:var(--readability-small,1rem);color:var(--abbf-muted);line-height:1.65}
.abbf__section {padding-block:56px}
.abbf__section h2 {font-size:1.875rem;line-height:1.25;margin-top:12px}
.abbf__section-heading {display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;align-items:end;margin-bottom:32px}
.abbf__section-heading>p {font-size:.8125rem;color:var(--abbf-muted);max-width:280px}
.abbf__category-nav {display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}
.abbf__category-nav a {display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:8px 16px;border:1px solid var(--abbf-line);border-radius:var(--el-radius,6px);font-size:.875rem;font-weight:500;line-height:1.4;text-align:center;background:var(--abbf-surface);overflow-wrap:anywhere}
.abbf__category-nav a:hover {background:var(--abbf-surface-hover);border-color:var(--abbf-teal)}
.abbf__offer-group {scroll-margin-block-start:32px}
.abbf__offer-group+.abbf__offer-group {margin-top:48px}
.abbf__group-title {font-size:1.5rem;line-height:1.35;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--abbf-line)}
.abbf__products {display:grid;grid-template-columns:1fr;gap:20px}
.abbf__product {display:flex;flex-direction:column;overflow:hidden;background:var(--abbf-surface);border:1px solid var(--abbf-line);border-radius:var(--abbf-radius)}
.abbf__product-image {position:relative;display:block;padding:24px;background:#f4f5ef;aspect-ratio:1;overflow:hidden}
.abbf__discount {position:absolute;inset-block-start:12px;inset-inline-start:12px;z-index:1;padding:8px 12px;border-radius:var(--el-radius,6px);background:var(--abbf-coral);color:#152d31;font-size:1.125rem;font-weight:700;line-height:1.2;box-shadow:0 2px 8px #0002}
.abbf__product-image img {display:block;width:100%;height:100%;object-fit:contain}
.abbf__product--sold-out .abbf__product-image img {
  opacity: .45;
  filter: grayscale(.9);
}
.abbf__stock-label {
  position: absolute;
  z-index: 2;
  inset-inline: -12px;
  top: 50%;
  transform: translateY(-50%) rotate(-7deg);
  padding: 18px 8px;
  border-block: 2px solid currentColor;
  background: var(--abbf-surface);
  color: var(--abbf-coral);
  font-size: clamp(1.75rem, 3vw, 2.2rem);
  font-weight: 700;
  letter-spacing: .045em;
  line-height: 1.2;
  text-align: center;
  box-shadow: 0 8px 24px #0003;
}
.abbf__product-copy {padding:24px;display:flex;flex-direction:column;flex:1;gap:12px}
.abbf__product-brand {font-size:.625rem;text-transform:uppercase;letter-spacing:.14em;color:var(--abbf-muted)}
.abbf__product :is(h3,h4) {font-size:1.125rem;letter-spacing:-.025em;line-height:1.4}
.abbf__prices {display:flex;flex-direction:column;gap:4px;margin-top:auto;padding-top:12px}
.abbf__catalog {display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:.875rem;color:var(--abbf-muted)}
.abbf__price-previous {font-size:1.375rem;font-weight:500;line-height:1.4;color:var(--abbf-text);text-decoration-thickness:2px;text-decoration-color:var(--abbf-coral)}
.abbf__prices strong {font-size:1.75rem;line-height:1.35;color:var(--abbf-teal);font-weight:600}
.abbf__product .abbf__hint {margin:0}
.abbf__product .abbf__button {margin-top:8px}
.abbf__questions {display:grid;gap:32px}
.abbf__text-link {display:inline-flex;align-items:center;gap:16px;min-height:44px;margin-top:16px;font-size:.8125rem}
.abbf__faq details,.abbf__transfer {border-bottom:1px solid var(--abbf-line)}
.abbf summary {cursor:pointer;position:relative;list-style:none;padding:20px 38px 20px 0;min-height:60px;font-size:.875rem;font-weight:500;line-height:1.5}
.abbf summary::-webkit-details-marker {display:none}
.abbf summary::after {content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-weight:400;font-size:1.5rem;color:var(--abbf-teal)}
.abbf details[open]>summary::after {content:"−"}
.abbf__faq details:first-child {border-top:1px solid var(--abbf-line)}
.abbf__faq details p {padding:0 32px 24px 0;color:var(--abbf-muted);font-size:.875rem;line-height:1.8}
.abbf__footnote {display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;border-top:1px solid var(--abbf-line);padding-block:24px 32px;color:var(--abbf-muted);font-size:.6875rem;letter-spacing:.08em}
.abbf__footnote a {display:inline-flex;align-items:center;min-height:44px;letter-spacing:0;font-size:.75rem}
.abbf__page-heading {padding-block:48px 36px}
.abbf__page-heading h1 {font-size:clamp(2.2rem,6vw,3.75rem);max-width:800px;margin-block:16px 20px}
.abbf__page-heading>p:last-child {max-width:640px;color:var(--abbf-muted)}
.abbf__panel {padding:28px 24px;border:1px solid var(--abbf-line);border-radius:var(--abbf-radius);background:var(--abbf-surface);margin-bottom:24px}
.abbf__choice {display:flex;align-items:center;justify-content:center;gap:24px;padding-block:24px;color:var(--abbf-coral);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:600;letter-spacing:.12em}
.abbf__choice::before,.abbf__choice::after {content:"";height:1px;background:var(--abbf-line);width:min(22%,160px)}
.abbf__panel h2 {font-size:1.5rem;line-height:1.35}
.abbf__panel>.abbf__eyebrow {margin:0 0 12px;color:var(--abbf-teal);font-size:.6875rem}
.abbf__protected-products {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px 24px;list-style:none;padding:0 0 20px;margin:0}
.abbf__protected-products a {display:block;padding-block:6px;font-size:.875rem;text-decoration:underline;text-underline-offset:3px}
.abbf__panel>p {margin-top:16px;color:var(--abbf-muted);font-size:.9375rem}
.abbf__panel--protection h2 {font-size:clamp(1.625rem,3vw,2.25rem);color:var(--abbf-teal)}
.abbf__panel>.abbf__protection-lead {font-size:1.125rem;color:var(--abbf-text);font-weight:500}
.abbf__panel>.abbf__button {margin-top:24px}
.abbf__claim-heading {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.abbf__claim-heading h2 {font-size:2rem;color:var(--abbf-teal);margin-top:8px}
.abbf__badge {font-size:.75rem;padding:6px 12px;border:1px solid #6a807a;border-radius:4px;color:var(--abbf-teal)}
.abbf__voucher {display:flex;gap:8px 20px;flex-wrap:wrap;align-items:center}
.abbf__voucher strong {color:var(--abbf-text);letter-spacing:.07em;overflow-wrap:anywhere}
.abbf__transfer {margin-top:24px;border-top:1px solid var(--abbf-line);border-bottom:0}
.abbf__transfer-body {max-width:600px;padding-bottom:8px}
.abbf__transfer-body>p {font-size:.875rem;color:var(--abbf-muted);margin-bottom:24px}
.abbf__field {margin-bottom:20px}
.abbf__empty svg {color:var(--abbf-coral);width:40px;height:40px;margin-bottom:20px}
.abbf__prose h2 {font-size:1.25rem;letter-spacing:-.02em;margin-top:40px}
.abbf__prose h2:first-child {margin-top:0}
.abbf__prose p {font-size:.9375rem;line-height:1.9;margin-top:16px;color:var(--abbf-muted)}
.abbf__prose strong {font-weight:500;color:var(--abbf-text)}
.abbf__prose .abbf__feedback {margin-top:20px;color:var(--abbf-text)}
.abbf--home {position:relative;margin-bottom:24px;padding:24px 20px;border:1px solid var(--abbf-line);border-radius:var(--abbf-radius);background:radial-gradient(ellipse at top left,#142220,var(--abbf-bg) 70%)}
.abbf__home-copy {position:relative;z-index:1}
.abbf__home-copy>.abbf__eyebrow,.abbf__home-title,.abbf__home-dates {max-width:calc(100% - 100px)}
.abbf__home-copy>.abbf__home-title {margin-top:6px;font-size:clamp(1.75rem,4vw,3rem);line-height:1.15;font-weight:600;letter-spacing:-.04em}
.abbf__home-dates {margin-top:12px;line-height:1.5}
.abbf__home-dates strong {display:block;color:var(--abbf-teal);font-size:1.25rem}
.abbf__home-copy>.abbf__home-early {margin-block:24px 16px;max-width:600px;color:var(--abbf-muted);font-size:1rem}
.abbf__home-cat {position:absolute;right:8px;top:12px;width:110px;height:150px;object-fit:cover;object-position:center}
.abbf--home .abbf__button {width:100%;gap:12px;text-align:center}
@media(min-width:600px) {
  .abbf--home {padding:32px}
  .abbf__home-copy {max-width:calc(100% - 190px)}
  .abbf__home-copy>.abbf__eyebrow,.abbf__home-title,.abbf__home-dates {max-width:none}
  .abbf__home-cat {width:250px;height:100%;top:0;right:0;object-fit:contain}
  .abbf--home .abbf__button {width:auto}
  .abbf__shell {width:calc(100% - 64px)}
  .abbf__wordmark span {display:inline;margin-left:12px;font-size:.6875rem}
  .abbf__hero-art {margin-inline:0}
  .abbf__form-row {grid-template-columns:minmax(0,1fr) auto;gap:10px}
  .abbf__access {padding:32px}
  .abbf__products {grid-template-columns:repeat(2,minmax(0,1fr))}
  .abbf__panel {padding:36px}
}
@media(min-width:992px) {
  .abbf--home {padding:32px 40px}
  .abbf__home-cat {width:380px;right:40px}
  .abbf__home-copy {max-width:calc(100% - 360px)}
  .abbf__shell {width:calc(100% - 96px)}
  .abbf__nav {min-height:96px}
  .abbf__hero {grid-template-columns:1.05fr 1fr;align-items:center;min-height:600px;padding-top:0;margin-bottom:8px}
  .abbf__hero-copy {padding-block:44px}
  .abbf__hero-art {margin-right:-44px;margin-left:-40px}
  .abbf__hero-art img {max-width:650px}
  .abbf__intro {font-size:1.0625rem}
  .abbf__dates {margin-top:40px}
  .abbf__access {grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center;padding:36px 40px}
  .abbf__benefits {grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;padding-block:36px}
  .abbf__section {padding-block:72px}
  .abbf__products {grid-template-columns:repeat(3,minmax(0,1fr))}
  .abbf__questions {grid-template-columns:.75fr 1.25fr;gap:80px}
  .abbf__section h2 {font-size:2.125rem}
}
@media(prefers-reduced-motion:reduce) {
  .abbf a,.abbf .abbf__button,.abbf__input {transition:none}
}
