/* FASE NUEVE — SAPPHIRE NITRO+ RX 9070 XT product pattern V02 */
.f9-product-pattern {
  --f9p-orange: var(--f9-orange, #ff5a1f);
  --f9p-orange-rgb: 255, 90, 31;
  --f9p-ink: #07090d;
  --f9p-panel: #10131a;
  --f9p-panel-2: #151922;
  --f9p-line: rgba(255,255,255,.13);
  --f9p-muted: #a6acb8;
  --f9p-green: #6cf5ad;
  --f9p-yellow: #ffd36c;
  --f9p-red: #ff7481;
  --f9p-max: 1500px;
  --f9p-ease: cubic-bezier(.16,1,.3,1);
}

.f9p { position: relative; isolation: isolate; color: #f8f9fb; background: #080a0e; }
.f9p *, .f9p-lightbox *, .f9p-video-dialog *, .f9p-sticky * { box-sizing: border-box; }
.f9p img { max-width: 100%; }
.f9p-container { width: min(calc(100% - 40px), var(--f9p-max)); margin-inline: auto; }
.f9p-section { position: relative; padding: clamp(78px, 9vw, 150px) 0; overflow: clip; }
.f9p-kicker { margin: 0 0 18px; color: var(--f9p-orange); font-size: 11px; font-weight: 900; letter-spacing: .2em; text-transform: uppercase; }
.f9p-kicker::before { content: ""; display: inline-block; width: 40px; height: 1px; margin-right: 12px; vertical-align: middle; background: currentColor; }
.f9p h2 { margin: 0; max-width: 980px; font-size: clamp(42px, 7vw, 112px); line-height: .86; letter-spacing: -.068em; text-transform: uppercase; }
.f9p h2 span { display: block; color: var(--f9p-orange); }
.f9p-lead { max-width: 760px; margin: 28px 0 0; color: var(--f9p-muted); font-size: clamp(16px, 1.6vw, 21px); line-height: 1.72; }
.f9p-two-col { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(360px, .98fr); align-items: center; gap: clamp(42px, 8vw, 120px); }
.f9p-framed-image { display: block; overflow: hidden; border: 1px solid var(--f9p-line); border-radius: 30px; background: radial-gradient(circle at 50% 35%, rgba(255,90,31,.12), transparent 50%), #0b0e14; box-shadow: 0 36px 100px rgba(0,0,0,.38); }
.f9p-framed-image img { width: 100%; height: auto; }

/* Commerce first */
.f9p-commerce { position: relative; padding: clamp(28px, 4vw, 58px) 0 clamp(70px, 8vw, 120px); background: radial-gradient(circle at 8% 15%, rgba(255,90,31,.08), transparent 30rem), linear-gradient(180deg, #0b0d12 0%, #080a0e 100%); }
.f9p-breadcrumbs { margin-bottom: 24px; color: #8f96a4; font-size: 12px; }
.f9p-breadcrumbs ol { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.f9p-breadcrumbs li:not(:last-child)::after { content: "›"; margin-left: 8px; color: #545a66; }
.f9p-breadcrumbs a:hover { color: #fff; }
.f9p-purchase-grid { display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(400px, .78fr); gap: clamp(34px, 5vw, 76px); align-items: start; }
.f9p-mobile-title { display: none; }

.f9p-gallery { min-width: 0; }
.f9p-gallery__main { position: relative; width: 100%; aspect-ratio: 1.25; display: grid; place-items: center; padding: clamp(18px, 3vw, 45px); overflow: hidden; border: 1px solid var(--f9p-line); border-radius: 30px; background: radial-gradient(circle at 52% 48%, rgba(255,90,31,.09), transparent 38%), linear-gradient(145deg, #11141b, #090b10); box-shadow: 0 36px 100px rgba(0,0,0,.33); cursor: pointer; }
.f9p-gallery__main::before { content: ""; position: absolute; inset: 0; opacity: .15; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 42px 42px; mask-image: radial-gradient(circle at center, #000, transparent 75%); pointer-events: none; }
.f9p-gallery__main picture { position: relative; z-index: 1; width: 100%; height: 100%; display: grid; place-items: center; }
.f9p-gallery__main img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 34px 38px rgba(0,0,0,.55)); transform: none !important; transform-origin: center !important; transition: opacity .25s ease; }
.f9p-gallery__main:hover img, .f9p-gallery__main:focus img, .f9p-gallery__main:active img { transform: none !important; }
.f9p-gallery__main:focus-visible { outline: 2px solid var(--f9p-orange); outline-offset: 4px; }
.f9p-gallery__main.is-switching img { opacity: .15; transform: none !important; }
.f9p-thumbs { margin-top: 14px; padding-bottom: 6px; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(104px, 1fr); gap: 10px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; scrollbar-color: #424955 transparent; }
.f9p-thumb { position: relative; min-height: 82px; padding: 8px; overflow: hidden; border: 1px solid var(--f9p-line); border-radius: 14px; background: #0d1016; cursor: pointer; transition: border-color .2s ease, transform .2s var(--f9p-ease), background .2s ease; }
.f9p-thumb:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.32); }
.f9p-thumb.is-active { border-color: var(--f9p-orange); background: rgba(255,90,31,.08); box-shadow: 0 0 0 1px rgba(255,90,31,.35) inset; }
.f9p-thumb img { width: 100%; height: 66px; object-fit: contain; }
.f9p-thumb--video img { object-fit: cover; opacity: .58; }
.f9p-thumb--video > span { position: absolute; inset: 50% auto auto 50%; width: 35px; height: 35px; display: grid; place-items: center; border-radius: 50%; color: #08090d; background: var(--f9p-orange); transform: translate(-50%,-50%); }
.f9p-thumb--video small { position: absolute; left: 8px; bottom: 5px; z-index: 2; font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }

.f9p-buybox { position: sticky; top: 96px; min-width: 0; padding: clamp(26px, 3.2vw, 42px); isolation: isolate; border: 1px solid var(--f9p-line); border-radius: 30px; background: linear-gradient(145deg, rgba(20,23,31,.98), rgba(10,12,17,.98)); box-shadow: 0 40px 120px rgba(0,0,0,.42); }
.f9p-buybox__topline { min-height: 34px; margin-bottom: 14px; display: block; }
.f9p-buybox__brand { margin: 0; padding-top: 9px; padding-right: 104px; color: var(--f9p-orange); font-size: 11px; font-weight: 900; letter-spacing: .18em; }
.f9p-buybox__actions { position: absolute; top: 18px; right: 18px; z-index: 8; display: flex; align-items: center; gap: 8px; }
.f9-product-pattern .f9p-buybox button.f9p-icon-action { -webkit-appearance: none !important; appearance: none !important; width: 40px !important; min-width: 40px !important; max-width: 40px !important; height: 40px !important; min-height: 40px !important; max-height: 40px !important; flex: 0 0 40px !important; margin: 0 !important; padding: 0 !important; display: grid !important; place-items: center !important; overflow: hidden; border: 1px solid #303641 !important; border-radius: 50% !important; color: #9099a7 !important; background: #0c0f15 !important; box-shadow: 0 8px 24px rgba(0,0,0,.22) !important; font: inherit !important; line-height: 1 !important; cursor: pointer; transform: none; transition: color .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s var(--f9p-ease); }
.f9-product-pattern .f9p-buybox button.f9p-icon-action:hover { color: #fff !important; border-color: rgba(255,255,255,.42) !important; background: #151922 !important; box-shadow: 0 10px 28px rgba(0,0,0,.3) !important; transform: translateY(-1px); }
.f9-product-pattern .f9p-buybox button.f9p-icon-action:active { transform: scale(.96); }
.f9-product-pattern .f9p-buybox button.f9p-icon-action:focus-visible { outline: 2px solid var(--f9p-orange) !important; outline-offset: 3px; }
.f9-product-pattern .f9p-buybox button.f9p-icon-action svg { width: 18px !important; min-width: 18px !important; max-width: 18px !important; height: 18px !important; min-height: 18px !important; max-height: 18px !important; display: block !important; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.f9-product-pattern .f9p-buybox button.f9p-wishlist.is-active { color: var(--f9p-orange) !important; border-color: rgba(255,90,31,.62) !important; background: rgba(255,90,31,.1) !important; }
.f9-product-pattern .f9p-buybox button.f9p-wishlist.is-active svg { fill: currentColor; }
.f9-product-pattern .f9p-buybox button.f9p-share.is-success { color: var(--f9p-green) !important; border-color: rgba(108,245,173,.54) !important; background: rgba(108,245,173,.08) !important; }
.f9-product-pattern .f9p-buybox button.f9p-share.is-error { color: var(--f9p-red) !important; border-color: rgba(255,116,129,.5) !important; background: rgba(255,116,129,.08) !important; }
.f9p-buybox__actions .f9p-action-label { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; border: 0 !important; white-space: nowrap !important; }
.f9p-buybox h1 { margin: 0; font-size: clamp(38px, 4.6vw, 72px); line-height: .88; letter-spacing: -.062em; text-transform: uppercase; }
.f9p-buybox h1 span { display: block; margin-top: 9px; color: #c9ced8; font-size: .54em; line-height: 1.02; letter-spacing: -.04em; }
.f9p-tagline { margin: 22px 0 0; color: #d8dde5; font-size: 15px; line-height: 1.55; }
.f9p-meta { margin-top: 18px; padding-top: 16px; display: flex; flex-wrap: wrap; gap: 9px 16px; border-top: 1px solid var(--f9p-line); color: #8f96a4; font-size: 11px; }
.f9p-meta span { display: inline-flex; align-items: center; gap: 7px; }
.f9p-meta span::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #5d6370; }
.f9p-price-wrap { margin-top: 28px; min-height: 88px; display: grid; align-content: start; }
.f9p-price-wrap > small { color: #7f8794; font-size: 10px; font-weight: 900; letter-spacing: .18em; }
.f9p-price-wrap > strong { margin-top: 3px; min-height: 52px; color: #fff; font-size: clamp(35px, 4.2vw, 60px); line-height: 1; letter-spacing: -.055em; }
.f9p-price-wrap > strong.is-loading { max-width: 270px; color: transparent; border-radius: 10px; background: linear-gradient(90deg,#171b24 0%,#252b37 45%,#171b24 100%); background-size: 200% 100%; animation: f9p-skeleton 1.3s linear infinite; }
.f9p-price-wrap time { margin-top: 8px; color: #7f8794; font-size: 10px; }
.f9p-price-wrap time b { color: #b6bdc9; font-weight: 650; }
.f9p-availability { min-height: 42px; padding: 11px 13px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--f9p-line); border-radius: 11px; color: #d9dee7; background: rgba(255,255,255,.025); font-size: 12px; }
.f9p-availability span { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #7e8591; box-shadow: 0 0 0 4px rgba(126,133,145,.1); }
.f9p-availability[data-state="available"] span { background: var(--f9p-green); box-shadow: 0 0 0 4px rgba(108,245,173,.12), 0 0 18px rgba(108,245,173,.4); }
.f9p-availability[data-state="under_order"] span, .f9p-availability[data-state="consult"] span { background: var(--f9p-yellow); box-shadow: 0 0 0 4px rgba(255,211,108,.12); }
.f9p-availability[data-state="unavailable"] span { background: var(--f9p-red); box-shadow: 0 0 0 4px rgba(255,116,129,.12); }
.f9p-delivery { margin: 10px 0 0; color: #8e95a2; font-size: 11px; line-height: 1.55; }
.f9p-compat-link { margin: 23px 0; min-height: 60px; padding: 14px 15px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border: 1px solid rgba(255,90,31,.3); border-radius: 12px; background: rgba(255,90,31,.055); }
.f9p-compat-link span { color: #aab1bd; font-size: 12px; }
.f9p-compat-link strong { color: var(--f9p-orange); font-size: 10px; letter-spacing: .1em; }
.f9p-quantity { margin-bottom: 14px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.f9p-quantity > span { color: #aeb4bf; font-size: 12px; font-weight: 750; }
.f9p-quantity > div { height: 44px; display: grid; grid-template-columns: 42px 54px 42px; border: 1px solid var(--f9p-line); border-radius: 10px; overflow: hidden; background: #0b0e13; }
.f9p-quantity button, .f9p-quantity input { min-width: 0; border: 0; color: #fff; background: transparent; text-align: center; }
.f9p-quantity button { cursor: pointer; font-size: 18px; }
.f9p-quantity button:hover { background: rgba(255,255,255,.06); }
.f9p-quantity input { width: 100%; appearance: textfield; font-weight: 850; }
.f9p-quantity input::-webkit-inner-spin-button { display: none; }
.f9p-primary, .f9p-secondary { width: 100%; min-height: 56px; padding: 0 22px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; border: 1px solid transparent; border-radius: 3px; font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; transition: transform .22s var(--f9p-ease), background .22s ease, border-color .22s ease, opacity .22s ease; }
.f9p-primary { color: #08090c; background: var(--f9p-orange); }
.f9p-primary:hover:not(:disabled) { transform: translateY(-2px); background: #ff7a45; }
.f9p-secondary { margin-top: 10px; color: #fff; border-color: rgba(255,255,255,.22); background: transparent; }
.f9p-secondary:hover:not(:disabled) { transform: translateY(-2px); border-color: var(--f9p-orange); background: rgba(255,90,31,.06); }
.f9p-primary:disabled, .f9p-secondary:disabled { opacity: .42; cursor: not-allowed; }
.f9p-buy-status { min-height: 20px; margin: 10px 0 0; color: #dce2eb; font-size: 11px; line-height: 1.45; }
.f9p-trust { margin: 20px 0 0; padding: 18px 0 0; display: grid; gap: 10px; border-top: 1px solid var(--f9p-line); list-style: none; color: #979eaa; font-size: 11px; line-height: 1.45; }
.f9p-trust li { display: grid; grid-template-columns: 18px 1fr; gap: 8px; }
.f9p-trust li > span { color: var(--f9p-green); font-weight: 900; }
.f9p-trust a { text-decoration: underline; text-decoration-color: rgba(255,255,255,.22); text-underline-offset: 3px; }

/* Cinematic impact */
.f9p-cinematic { min-height: min(960px, 100vh); position: relative; display: grid; align-items: end; padding: clamp(70px, 10vw, 150px) 0; overflow: hidden; background: #030407; }
.f9p-impact__media { position: absolute; inset: 0; display: grid; place-items: center; opacity: .72; }
.f9p-impact__media::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 65% 44%, transparent 0, rgba(3,4,7,.08) 35%, #030407 80%), linear-gradient(90deg, rgba(3,4,7,.96), rgba(3,4,7,.3) 48%, rgba(3,4,7,.78)); }
.f9p-impact__media picture { width: min(78vw, 1250px); transform: translate(18%, -3%) rotate(-3deg); filter: drop-shadow(0 80px 90px rgba(0,0,0,.55)); }
.f9p-impact__media img { width: 100%; }
.f9p-impact__copy { position: relative; z-index: 2; width: min(calc(100% - 40px), var(--f9p-max)); margin-inline: auto; }
.f9p-impact__copy > p { color: var(--f9p-orange); font-size: 11px; font-weight: 900; letter-spacing: .22em; }
.f9p-impact__copy h2 { max-width: 1050px; font-size: clamp(54px, 9.3vw, 150px); }
.f9p-impact__copy dl { margin: clamp(40px, 6vw, 80px) 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 190px)); gap: 16px; }
.f9p-impact__copy dl div { padding: 15px 0; border-top: 1px solid rgba(255,255,255,.25); }
.f9p-impact__copy dt { font-size: clamp(24px, 3.2vw, 44px); font-weight: 850; letter-spacing: -.04em; }
.f9p-impact__copy dd { margin: 6px 0 0; color: #8f96a4; font-size: 11px; text-transform: uppercase; letter-spacing: .12em; }

/* Architecture and memory */
.f9p-architecture { background: linear-gradient(180deg, #080a0e, #0c0f15); }
.f9p-stat-grid { margin-top: 38px; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; }
.f9p-stat-grid div { min-height: 120px; padding: 18px; display: grid; align-content: space-between; border: 1px solid var(--f9p-line); border-radius: 16px; background: rgba(255,255,255,.025); }
.f9p-stat-grid strong { font-size: clamp(30px, 4vw, 50px); letter-spacing: -.05em; }
.f9p-stat-grid span { color: #8f96a4; font-size: 10px; line-height: 1.35; text-transform: uppercase; }
.f9p-tech-pills { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 8px; }
.f9p-tech-pills span, .f9p-build-list li { padding: 8px 10px; border: 1px solid var(--f9p-line); border-radius: 999px; color: #aeb5c1; background: rgba(255,255,255,.025); font-size: 10px; letter-spacing: .06em; }
.f9p-memory { background: radial-gradient(circle at 74% 50%, rgba(255,90,31,.13), transparent 26rem), #0c0f15; }
.f9p-memory__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(400px, .8fr); gap: clamp(50px, 8vw, 130px); align-items: center; }
.f9p-memory-orbit { position: relative; min-height: 500px; display: grid; place-items: center; border: 1px solid var(--f9p-line); border-radius: 50%; background: radial-gradient(circle, rgba(255,90,31,.18), transparent 42%); }
.f9p-memory-orbit::before, .f9p-memory-orbit::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; }
.f9p-memory-orbit::before { inset: 12%; }
.f9p-memory-orbit::after { inset: 28%; }
.f9p-memory-orbit > span { position: absolute; display: grid; place-items: center; color: #fff; font-size: clamp(27px, 4vw, 52px); font-weight: 900; letter-spacing: -.05em; text-align: center; }
.f9p-memory-orbit > span:nth-child(1) { inset: 50% auto auto 50%; transform: translate(-50%,-50%); }
.f9p-memory-orbit > span:nth-child(2) { left: 4%; top: 18%; }
.f9p-memory-orbit > span:nth-child(3) { right: 2%; bottom: 18%; }
.f9p-memory-orbit small { display: block; margin-top: 4px; color: #8d94a1; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }

/* Cooling */
.f9p-cooling { background: #07090d; }
.f9p-cooling-stage { position: relative; margin-top: clamp(48px, 7vw, 90px); min-height: 680px; display: grid; grid-template-columns: 1fr 320px; gap: 30px; align-items: center; overflow: hidden; border: 1px solid var(--f9p-line); border-radius: 32px; background: radial-gradient(circle at 45% 50%, rgba(50,145,255,.11), transparent 35%), #0d1016; }
.f9p-cooling-stage picture { padding: 30px; }
.f9p-cooling-stage img { width: 100%; filter: drop-shadow(0 45px 60px rgba(0,0,0,.42)); }
.f9p-airflow { height: 100%; margin: 0; padding: 28px; display: grid; align-content: center; gap: 9px; border-left: 1px solid var(--f9p-line); list-style: none; background: rgba(4,6,9,.5); }
.f9p-airflow li { position: relative; min-height: 70px; padding: 14px 14px 14px 55px; display: flex; align-items: center; border: 1px solid rgba(255,255,255,.09); border-radius: 13px; color: #bbc1cb; font-size: 12px; }
.f9p-airflow li:not(:last-child)::after { content: "↓"; position: absolute; left: 26px; bottom: -18px; z-index: 2; color: #4fa8ff; }
.f9p-airflow span { position: absolute; left: 14px; color: #4fa8ff; font-size: 10px; font-weight: 900; }
.f9p-cooling-feature-grid { margin-top: 16px; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.f9p-cooling-feature-grid article { overflow: hidden; border: 1px solid var(--f9p-line); border-radius: 16px; background: #0d1016; }
.f9p-cooling-feature-grid picture, .f9p-cooling-feature-grid img { width: 100%; }
.f9p-cooling-feature-grid img { aspect-ratio: 1.2; object-fit: cover; }
.f9p-cooling-feature-grid h3 { margin: 0; padding: 14px; font-size: 13px; }

/* Build / backplate / ARGB */
.f9p-build { background: linear-gradient(180deg,#0b0e14,#10131a); }
.f9p-build-list { margin: 28px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; list-style: none; }
.f9p-backplate { min-height: 800px; display: grid; align-items: center; background: #050609; }
.f9p-backplate .f9p-container { position: relative; }
.f9p-backplate__media { width: 100%; opacity: .83; }
.f9p-backplate__media img { width: 100%; filter: drop-shadow(0 60px 80px rgba(0,0,0,.6)); }
.f9p-backplate__copy { position: absolute; left: 4%; top: 50%; width: min(540px, 46vw); padding: clamp(24px,4vw,50px); border: 1px solid var(--f9p-line); border-radius: 24px; background: rgba(7,9,13,.82); backdrop-filter: blur(18px); transform: translateY(-50%); }
.f9p-backplate__copy h2 { font-size: clamp(44px,6vw,90px); }
.f9p-argb { background: radial-gradient(circle at 75% 45%, rgba(255,90,31,.1), transparent 28rem), #0b0e14; }
.f9p-color-picker { margin-top: 32px; display: grid; gap: 9px; }
.f9p-color-picker button { min-height: 48px; padding: 10px 12px; display: flex; align-items: center; gap: 12px; border: 1px solid var(--f9p-line); border-radius: 10px; color: #b8bec8; background: rgba(255,255,255,.025); cursor: pointer; text-align: left; }
.f9p-color-picker button[aria-pressed="true"] { color: #fff; border-color: rgba(255,255,255,.38); background: rgba(255,255,255,.06); }
.f9p-color-picker button span { width: 22px; height: 22px; border-radius: 50%; background: #ff5a1f; box-shadow: 0 0 16px currentColor; }
.f9p-color-picker button[data-argb="violet"] span { background: #a855f7; }
.f9p-color-picker button[data-argb="blue"] span { background: #32a7ff; }
.f9p-color-picker button[data-argb="white"] span { background: #fff; }
.f9p-color-picker button[data-argb="flow"] span { background: conic-gradient(#ff5a1f,#ffe66d,#64ffda,#32a7ff,#a855f7,#ff5a1f); }
.f9p-argb-stage { position: relative; min-height: 570px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--f9p-line); border-radius: 30px; background: #05060a; }
.f9p-argb-stage picture { position: relative; z-index: 2; width: 105%; }
.f9p-argb-stage img { width: 100%; filter: drop-shadow(0 35px 65px rgba(0,0,0,.65)); }
.f9p-ambient-glow { position: absolute; z-index: 1; width: 65%; aspect-ratio: 1; border-radius: 50%; background: #ff5a1f; filter: blur(80px); opacity: .28; transition: background .5s ease, opacity .5s ease; }
.f9p-argb[data-argb-preview="violet"] .f9p-ambient-glow { background: #a855f7; }
.f9p-argb[data-argb-preview="blue"] .f9p-ambient-glow { background: #32a7ff; }
.f9p-argb[data-argb-preview="white"] .f9p-ambient-glow { background: #fff; opacity: .2; }
.f9p-argb[data-argb-preview="flow"] .f9p-ambient-glow { background: conic-gradient(#ff5a1f,#ffe66d,#64ffda,#32a7ff,#a855f7,#ff5a1f); animation: f9p-spin 5s linear infinite; }

/* Engineering cards */
.f9p-engineering { background: #080a0e; }
.f9p-engineering-grid { margin-top: 52px; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.f9p-engineering-card { overflow: hidden; border: 1px solid var(--f9p-line); border-radius: 18px; background: linear-gradient(145deg,#12151d,#0b0e13); }
.f9p-engineering-card__media { display: block; overflow: hidden; background: #090b10; }
.f9p-engineering-card__media img { width: 100%; aspect-ratio: 1.29; object-fit: cover; transition: transform .5s var(--f9p-ease); }
.f9p-engineering-card:hover img { transform: scale(1.035); }
.f9p-engineering-card > div { padding: 20px; }
.f9p-engineering-card h3 { margin: 0; font-size: 19px; letter-spacing: -.02em; }
.f9p-engineering-card p { margin: 10px 0 0; color: #969da9; font-size: 13px; line-height: 1.6; }

/* Compatibility */
.f9p-compatibility { background: radial-gradient(circle at 10% 20%, rgba(255,90,31,.11), transparent 30rem), #10131a; }
.f9p-dimension-grid { margin-top: 48px; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; }
.f9p-dimension-grid div { min-height: 130px; padding: 17px; display: grid; align-content: space-between; border: 1px solid var(--f9p-line); border-radius: 15px; background: rgba(255,255,255,.025); }
.f9p-dimension-grid strong { font-size: clamp(21px,2.5vw,34px); line-height: 1; letter-spacing: -.04em; }
.f9p-dimension-grid span { color: #878e9b; font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }
.f9p-compat-form { margin-top: 22px; padding: clamp(22px,4vw,38px); display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; border: 1px solid var(--f9p-line); border-radius: 24px; background: rgba(8,10,14,.65); }
.f9p-compat-form label { display: grid; gap: 8px; color: #b5bbc6; font-size: 11px; font-weight: 750; }
.f9p-compat-form input, .f9p-compat-form select { width: 100%; min-height: 48px; padding: 11px 12px; border: 1px solid var(--f9p-line); border-radius: 10px; outline: none; color: #fff; background: #0b0e13; }
.f9p-compat-form input:focus, .f9p-compat-form select:focus { border-color: var(--f9p-orange); box-shadow: 0 0 0 3px rgba(255,90,31,.1); }
.f9p-compat-form .f9p-primary { grid-column: span 4; margin-top: 4px; }
.f9p-compat-result { margin-top: 14px; padding: 18px 20px; border: 1px solid var(--f9p-line); border-radius: 14px; background: #0c0f15; }
.f9p-compat-result strong { font-size: 18px; }
.f9p-compat-result p { margin: 7px 0 0; color: #949ba7; line-height: 1.55; }
.f9p-compat-result[data-state="ok"] { border-color: rgba(108,245,173,.4); }
.f9p-compat-result[data-state="ok"] strong { color: var(--f9p-green); }
.f9p-compat-result[data-state="review"] { border-color: rgba(255,211,108,.4); }
.f9p-compat-result[data-state="review"] strong { color: var(--f9p-yellow); }
.f9p-compat-result[data-state="no"] { border-color: rgba(255,116,129,.42); }
.f9p-compat-result[data-state="no"] strong { color: var(--f9p-red); }
.f9p-orientative { margin: 14px 0 0; color: #8a919d; font-size: 11px; line-height: 1.55; }

/* Power / video */
.f9p-power { background: #080a0e; }
.f9p-power ul { margin: 28px 0 0; padding: 0; display: grid; gap: 10px; list-style: none; }
.f9p-power li { padding: 13px 15px; border-left: 2px solid var(--f9p-orange); color: #b3bac5; background: rgba(255,255,255,.025); }
.f9p-video { background: #030406; }
.f9p-video-card { position: relative; min-height: min(780px,80vh); overflow: hidden; border: 1px solid var(--f9p-line); border-radius: 30px; background: #05060a; }
.f9p-video-card picture, .f9p-video-card picture img { width: 100%; height: 100%; }
.f9p-video-card picture { position: absolute; inset: 0; }
.f9p-video-card img { object-fit: cover; opacity: .62; }
.f9p-video-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(3,4,6,.93),rgba(3,4,6,.2) 62%,rgba(3,4,6,.65)); }
.f9p-video-card__overlay { position: absolute; left: clamp(24px,7vw,100px); top: 50%; z-index: 2; width: min(650px,calc(100% - 48px)); transform: translateY(-50%); }
.f9p-video-card__overlay h2 { font-size: clamp(55px,8vw,130px); }
.f9p-video-card__overlay > p:not(.f9p-kicker) { max-width: 620px; color: #b3bac5; font-size: 15px; line-height: 1.6; }
.f9p-video-card__overlay .f9p-primary { width: auto; margin-top: 22px; }

/* Details / editorial / reviews */
.f9p-details { background: #0c0f15; }
.f9p-accordions { margin-top: 45px; border-top: 1px solid var(--f9p-line); }
.f9p-accordions details { border-bottom: 1px solid var(--f9p-line); }
.f9p-accordions summary { min-height: 74px; padding: 20px 4px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; font-size: clamp(18px,2vw,27px); font-weight: 800; letter-spacing: -.02em; list-style: none; }
.f9p-accordions summary::-webkit-details-marker { display: none; }
.f9p-accordions summary::after { content: "+"; color: var(--f9p-orange); font-size: 27px; }
.f9p-accordions details[open] summary::after { content: "−"; }
.f9p-accordions details > div { padding: 0 4px 34px; color: #a5acb8; line-height: 1.7; }
.f9p-accordions ul { margin: 0; padding-left: 20px; }
.f9p-table-wrap { overflow-x: auto; }
.f9p-table-wrap table { width: 100%; border-collapse: collapse; min-width: 680px; }
.f9p-table-wrap th, .f9p-table-wrap td { padding: 14px 12px; border-bottom: 1px solid rgba(255,255,255,.08); text-align: left; }
.f9p-table-wrap th { width: 34%; color: #777f8c; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.f9p-table-wrap td { color: #e0e4eb; font-size: 13px; }
.f9p-table-wrap p { margin: 20px 0 0; font-size: 11px; }
.f9p-table-wrap a, .f9p-text-link { color: var(--f9p-orange); text-decoration: underline; text-underline-offset: 4px; }
.f9p-editorial { background: #080a0e; }
.f9p-editorial a { min-height: 520px; padding: clamp(32px,7vw,100px); display: flex; flex-direction: column; justify-content: flex-end; border: 1px solid rgba(255,90,31,.34); border-radius: 30px; background: radial-gradient(circle at 80% 20%, rgba(255,90,31,.2), transparent 35%), linear-gradient(145deg,#161a23,#090b10); transition: transform .35s var(--f9p-ease), border-color .35s ease; }
.f9p-editorial a:hover { transform: translateY(-5px); border-color: var(--f9p-orange); }
.f9p-editorial a > span { color: var(--f9p-orange); font-size: 11px; font-weight: 900; letter-spacing: .18em; }
.f9p-editorial h2 { max-width: 1050px; margin-top: 16px; font-size: clamp(48px,7.5vw,120px); }
.f9p-editorial p { max-width: 720px; margin: 24px 0; color: #9ea5b1; font-size: 16px; line-height: 1.6; }
.f9p-editorial strong { color: #fff; font-size: 11px; letter-spacing: .14em; }
.f9p-setup { background: #0d1016; }
.f9p-empty-compatible { margin-top: 38px; padding: clamp(25px,5vw,55px); border: 1px dashed rgba(255,255,255,.2); border-radius: 24px; background: rgba(255,255,255,.02); }
.f9p-empty-compatible p { max-width: 730px; margin: 0 0 22px; color: #9ca3af; line-height: 1.7; }
.f9p-inline-button { width: auto; margin: 0; }
.f9p-reviews { min-height: 540px; display: grid; align-items: center; background: #07090d; }
.f9p-reviews h2 { max-width: 1100px; font-size: clamp(40px,6.6vw,100px); }

/* Lightbox and video dialog */
.f9p-lightbox, .f9p-video-dialog { width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 0; border: 0; color: #fff; background: rgba(2,3,5,.96); }
.f9p-lightbox::backdrop, .f9p-video-dialog::backdrop { background: rgba(0,0,0,.86); backdrop-filter: blur(16px); }
.f9p-lightbox[open] { display: grid; grid-template-rows: 64px minmax(0,1fr) 45px; }
.f9p-lightbox__toolbar { z-index: 4; padding: 10px 18px; display: flex; align-items: center; justify-content: space-between; color: #a7aeba; font-size: 12px; }
.f9p-lightbox__toolbar button, .f9p-video-dialog > button { width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; color: #fff; background: rgba(255,255,255,.05); cursor: pointer; font-size: 27px; }
.f9p-lightbox__tools { display: flex; align-items: center; gap: 9px; }
.f9p-lightbox__toolbar button:hover:not(:disabled) { border-color: rgba(255,90,31,.55); background: rgba(255,90,31,.12); }
.f9p-lightbox__toolbar button:disabled { opacity: .3; cursor: default; }
.f9p-lightbox__zoom { font-size: 21px !important; }
.f9p-lightbox__stage { position: relative; min-height: 0; display: grid; place-items: center; overflow: hidden; touch-action: none; cursor: zoom-in; }
.f9p-lightbox[data-zoomed="true"] .f9p-lightbox__stage { cursor: grab; }
.f9p-lightbox__stage img { max-width: min(92vw,1600px); max-height: calc(100dvh - 145px); object-fit: contain; transform-origin: center; user-select: none; -webkit-user-drag: none; will-change: transform; }
.f9p-lightbox__stage p { position: absolute; left: 50%; bottom: 8px; width: min(92%,800px); margin: 0; color: #9ea5b1; font-size: 11px; text-align: center; transform: translateX(-50%); pointer-events: none; }
.f9p-lightbox__nav { position: fixed; top: 50%; z-index: 5; width: 52px; height: 72px; border: 1px solid rgba(255,255,255,.18); color: #fff; background: rgba(8,10,14,.7); cursor: pointer; font-size: 44px; transform: translateY(-50%); }
.f9p-lightbox__nav--prev { left: 14px; }
.f9p-lightbox__nav--next { right: 14px; }
.f9p-lightbox__hint { margin: 0; align-self: center; color: #737b88; font-size: 10px; text-align: center; }
.f9p-video-dialog[open] { display: grid; place-items: center; padding: clamp(12px,4vw,50px); }
.f9p-video-dialog > button { position: fixed; right: 18px; top: 18px; z-index: 4; }
.f9p-video-frame { width: min(94vw,1400px); aspect-ratio: 16/9; border: 1px solid rgba(255,255,255,.2); border-radius: 18px; overflow: hidden; background: #000; }
.f9p-video-frame iframe { width: 100%; height: 100%; border: 0; }

/* Sticky buy */
.f9p-sticky { position: fixed; left: 50%; bottom: max(18px,env(safe-area-inset-bottom)); z-index: 145; width: min(calc(100% - 36px),980px); min-height: 72px; padding: 10px 12px 10px 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid rgba(255,255,255,.2); border-radius: 16px; background: rgba(9,11,16,.92); box-shadow: 0 26px 70px rgba(0,0,0,.5); backdrop-filter: blur(20px); transform: translateX(-50%); }
.f9p-sticky[hidden] { display: none; }
.f9p-sticky > div { display: grid; gap: 4px; min-width: 0; }
.f9p-sticky strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 13px; }
.f9p-sticky span { color: var(--f9p-orange); font-size: 17px; font-weight: 850; }
.f9p-sticky button { min-height: 48px; padding: 0 20px; flex: 0 0 auto; border: 0; border-radius: 3px; color: #08090c; background: var(--f9p-orange); font-size: 10px; font-weight: 900; letter-spacing: .1em; cursor: pointer; }
.f9p-sticky button:disabled { opacity: .45; cursor: not-allowed; }

/* Reveal and motion */
[data-reveal] { opacity: 0; transform: translateY(36px); transition: opacity .9s var(--f9p-ease), transform .9s var(--f9p-ease); }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }
@keyframes f9p-skeleton { to { background-position: -200% 0; } }
@keyframes f9p-spin { to { transform: rotate(360deg); } }

@media (max-width: 1180px) {
  .f9p-purchase-grid { grid-template-columns: minmax(0,1fr) minmax(370px,.82fr); gap: 30px; }
  .f9p-buybox { padding: 28px; }
  .f9p-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .f9p-dimension-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .f9p-compat-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .f9p-compat-form .f9p-primary { grid-column: span 2; }
  .f9p-engineering-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .f9p-container { width: min(calc(100% - 28px),var(--f9p-max)); }
  .f9p-commerce { padding-top: 20px; }
  .f9p-breadcrumbs { margin-bottom: 18px; }
  .f9p-purchase-grid { display: flex; flex-direction: column; gap: 20px; }
  .f9p-mobile-title { order: 1; display: block; }
  .f9p-mobile-title > p:first-child { margin: 0 0 9px; color: var(--f9p-orange); font-size: 10px; font-weight: 900; letter-spacing: .18em; }
  .f9p-mobile-title h1 { margin: 0; font-size: clamp(38px,11vw,68px); line-height: .88; letter-spacing: -.06em; text-transform: uppercase; }
  .f9p-mobile-title h1 span { display: block; margin-top: 8px; color: #c5cbd5; font-size: .53em; }
  .f9p-mobile-title > p:last-child { margin: 15px 0 0; color: #aab1bd; font-size: 13px; line-height: 1.5; }
  .f9p-gallery { order: 2; width: 100%; }
  .f9p-gallery__main { aspect-ratio: 1.08; border-radius: 22px; }
  .f9p-buybox { order: 3; position: relative; top: auto; width: 100%; border-radius: 22px; }
  .f9p-buybox h1, .f9p-buybox__brand, .f9p-buybox .f9p-tagline { display: none; }
  .f9p-meta { margin-top: 0; padding-top: 0; border-top: 0; }
  .f9p-price-wrap > strong { font-size: clamp(38px,10vw,56px); }
  .f9p-two-col, .f9p-memory__grid { grid-template-columns: 1fr; }
  .f9p-two-col > div:first-child:has(.f9p-framed-image) { order: 2; }
  .f9p-cinematic { min-height: 850px; }
  .f9p-impact__media picture { width: 115vw; transform: translate(18%,-15%) rotate(-3deg); }
  .f9p-impact__media::after { background: linear-gradient(180deg,rgba(3,4,7,.18),rgba(3,4,7,.95) 70%); }
  .f9p-impact__copy dl { grid-template-columns: repeat(3,1fr); }
  .f9p-memory-orbit { min-height: 420px; }
  .f9p-cooling-stage { min-height: auto; grid-template-columns: 1fr; }
  .f9p-airflow { border-left: 0; border-top: 1px solid var(--f9p-line); grid-template-columns: repeat(5,minmax(0,1fr)); padding: 15px; }
  .f9p-airflow li { min-height: 95px; padding: 35px 8px 8px; align-items: flex-start; font-size: 10px; }
  .f9p-airflow li:not(:last-child)::after { content: "→"; left: auto; right: -11px; bottom: auto; top: 43px; }
  .f9p-airflow span { top: 12px; left: 8px; }
  .f9p-cooling-feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .f9p-backplate { min-height: auto; }
  .f9p-backplate__copy { position: relative; left: auto; top: auto; width: 100%; margin-top: 18px; transform: none; }
  .f9p-argb-stage { min-height: 430px; }
  .f9p-engineering-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .f9p-lightbox__nav { width: 44px; height: 58px; }
}

@media (max-width: 640px) {
  .f9p-container { width: min(calc(100% - 22px),var(--f9p-max)); }
  .f9p-section { padding: 76px 0; }
  .f9p h2 { font-size: clamp(38px,14vw,68px); }
  .f9p-breadcrumbs { font-size: 10px; }
  .f9p-breadcrumbs li:nth-child(2), .f9p-breadcrumbs li:nth-child(2)::after { display: none; }
  .f9p-gallery__main { padding: 14px; }
  .f9p-thumbs { grid-auto-columns: 88px; }
  .f9p-thumb { min-height: 72px; padding: 5px; }
  .f9p-thumb img { height: 58px; }
  .f9p-buybox { padding: 20px; }
  .f9p-buybox__topline { margin-bottom: 10px; }
  .f9p-buybox__actions { top: 14px; right: 14px; }
  .f9p-compat-link { align-items: flex-start; flex-direction: column; gap: 7px; }
  .f9p-impact__copy dl { grid-template-columns: 1fr; max-width: 230px; }
  .f9p-impact__copy dl div { min-height: 78px; }
  .f9p-impact__media picture { width: 145vw; transform: translate(20%,-23%) rotate(-3deg); }
  .f9p-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .f9p-stat-grid div { min-height: 105px; padding: 14px; }
  .f9p-memory-orbit { min-height: 340px; }
  .f9p-memory-orbit > span:nth-child(2) { left: 2%; top: 12%; }
  .f9p-memory-orbit > span:nth-child(3) { right: 0; bottom: 12%; }
  .f9p-cooling-stage { border-radius: 20px; }
  .f9p-cooling-stage picture { padding: 12px; }
  .f9p-airflow { grid-template-columns: 1fr; }
  .f9p-airflow li { min-height: 58px; padding: 12px 12px 12px 48px; align-items: center; }
  .f9p-airflow li:not(:last-child)::after { content: "↓"; left: 23px; right: auto; top: auto; bottom: -17px; }
  .f9p-airflow span { top: auto; left: 13px; }
  .f9p-cooling-feature-grid { grid-template-columns: 1fr 1fr; }
  .f9p-cooling-feature-grid h3 { padding: 10px; font-size: 11px; }
  .f9p-argb-stage { min-height: 330px; }
  .f9p-engineering-grid { grid-template-columns: 1fr; }
  .f9p-dimension-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .f9p-dimension-grid div { min-height: 110px; }
  .f9p-compat-form { grid-template-columns: 1fr; padding: 18px; }
  .f9p-compat-form .f9p-primary { grid-column: 1; }
  .f9p-video-card { min-height: 600px; border-radius: 20px; }
  .f9p-video-card__overlay { left: 22px; width: calc(100% - 44px); }
  .f9p-video-card__overlay h2 { font-size: clamp(52px,18vw,90px); }
  .f9p-video-card__overlay .f9p-primary { width: 100%; }
  .f9p-editorial a { min-height: 500px; padding: 26px; border-radius: 20px; }
  .f9p-sticky { left: 0; bottom: 0; width: 100%; min-height: 76px; padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); border-width: 1px 0 0; border-radius: 0; transform: none; }
  .f9p-sticky > div { max-width: 43%; }
  .f9p-sticky strong { font-size: 10px; }
  .f9p-sticky span { font-size: 14px; }
  .f9p-sticky button { min-height: 48px; padding: 0 12px; font-size: 9px; }
  .f9p-lightbox__nav { top: auto; bottom: 58px; }
  .f9p-lightbox__nav--prev { left: calc(50% - 54px); }
  .f9p-lightbox__nav--next { right: calc(50% - 54px); }
  .f9p-lightbox__hint { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .f9p *, .f9p *::before, .f9p *::after, .f9p-lightbox *, .f9p-sticky * { animation: none !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  [data-reveal] { opacity: 1 !important; transform: none !important; }
  .f9p-impact__media picture { transform: none !important; }
  .f9p-engineering-card:hover img { transform: none !important; }
}

/* Product-page floating controls: compact, recognizable and isolated from the rest of the store. */
.f9-product-pattern .f9-floating-gear {
  width: 60px;
  height: 60px;
  padding: 0 14px;
  color: #fff !important;
  border-color: rgba(var(--f9-accent-rgb),.42) !important;
  background: linear-gradient(145deg,#151a22,#080b10) !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.42), 0 0 0 1px rgba(var(--f9-accent-rgb),.12) inset !important;
  animation: none !important;
}
.f9-product-pattern .f9-floating-gear:hover {
  width: 164px !important;
  background: linear-gradient(145deg,rgba(var(--f9-accent-rgb),.2),#0b0e14) !important;
}
.f9-product-pattern .f9-settings-mark {
  width: 30px !important;
  height: 30px !important;
  flex: none;
  overflow: visible;
  fill: none !important;
  stroke: var(--f9p-orange) !important;
  stroke-width: 1.55 !important;
  stroke-linecap: round;
  stroke-linejoin: round;
  transform-box: fill-box;
  transform-origin: center;
  animation: f9p-settings-spin 6.8s linear infinite !important;
}
.f9-product-pattern .f9-floating-gear:hover .f9-settings-mark { animation-duration: 3.2s !important; }
@keyframes f9p-settings-spin { to { transform: rotate(360deg); } }
.f9-product-pattern .f9-floating-whatsapp {
  width: 60px;
  height: 60px;
  padding: 0 13px;
  border-color: rgba(37,211,102,.42) !important;
  background: linear-gradient(145deg,#10341e,#07160d) !important;
}
.f9-product-pattern .f9-floating-whatsapp:hover { width: 154px !important; background: #128c4b !important; }
.f9-product-pattern .f9-floating-whatsapp img {
  width: 34px !important;
  height: 34px !important;
  border-radius: 0 !important;
  object-fit: contain;
}
.f9-product-pattern .footer-contact img { border-radius: 0; object-fit: contain; }

@media (max-width: 900px) {
  .f9-product-pattern .f9-floating-tools {
    right: 12px;
    top: auto;
    bottom: max(8px, env(safe-area-inset-bottom));
    transform: none;
  }
  .f9-product-pattern.f9-sticky-buy-visible .f9-floating-tools {
    bottom: calc(88px + env(safe-area-inset-bottom));
  }
  .f9-product-pattern .f9-floating-gear { display: none !important; }
  .f9-product-pattern .f9-floating-whatsapp {
    width: 58px !important;
    height: 58px !important;
  }
  .f9-product-pattern .f9-floating-whatsapp:hover { width: 58px !important; transform: none; }
  .f9-product-pattern .f9-floating-whatsapp img { width: 36px !important; height: 36px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .f9-product-pattern .f9-settings-mark { animation: none !important; }
}
