:root { --magenta:#e20074; --ink:#1d1d1f; --muted:#666; --soft:#f5f5f5; --line:#dedede; --lav:#f7eff6; --green:#16823a; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background:#fff; }
button { font:inherit; cursor:pointer; }
.topbar { height:72px; display:flex; align-items:center; border-bottom:1px solid #eee; padding:0 24px; position:sticky; top:0; z-index:5; background:#fff; }
.logo { width:32px; height:32px; display:grid; place-items:center; background:var(--magenta); color:#fff; font-weight:800; font-size:19px; letter-spacing:-3px; }
.nav { display:flex; gap:8px; margin:auto; }
.nav button { border:0; background:transparent; padding:9px 15px; border-radius:24px; color:#3f3f3f; }
.nav button.active { background:var(--magenta); color:#fff; font-weight:700; }
.nav-icons { display:flex; gap:25px; font-size:20px; }
.shell { min-height:calc(100vh - 152px); display:grid; grid-template-columns:minmax(360px, 1fr) minmax(520px, 1fr); }
.left { background:var(--soft); padding:48px 60px 140px; min-height:850px; }
.right { padding:48px 60px 140px; }
h1 { font-size:38px; letter-spacing:-1.5px; margin:0 0 22px; }
h2 { font-size:25px; letter-spacing:-.7px; margin:0 0 9px; }
h3 { font-size:18px; margin:0 0 8px; }
.steps { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:48px; }
.step { border:0; padding:11px 15px; background:transparent; color:#666; border-radius:24px; }
.step.active { background:#493d42; color:#fff; font-weight:700; }
.step.done::before { content:"✓"; margin-right:7px; color:var(--magenta); font-weight:800; }
.device-stage { min-height:290px; display:grid; place-items:center; text-align:center; border-radius:4px; background:linear-gradient(135deg,#fff 0%,#ece9e8 100%); margin-bottom:25px; }
.device-stage .phone { height:215px; width:112px; border:6px solid #303030; border-radius:23px; padding:5px; background:#111; box-shadow:0 17px 23px #b6b3b3; transform:rotate(-4deg); }
.device-stage .phone::before { content:""; display:block; height:100%; border-radius:13px; background:linear-gradient(155deg,#b80061,#ee92b7 47%,#55122f 48%,#1b0010); }
.device-name { font-weight:700; font-size:19px; }.link { color:#6a2851; text-decoration:underline; background:none; border:0; padding:4px; }
.recap { margin-top:46px; display:grid; grid-template-columns:1fr 1fr; gap:24px; }.recap dl { margin:0; border:1px solid var(--line); background:#fff; border-radius:8px; padding:0 16px; }.recap div { padding:13px 0; border-bottom:1px solid #eee; }.recap div:last-child { border:0; }.recap dt { font-size:14px; font-weight:700; }.recap dd { margin:3px 0 0; color:#666; font-size:14px; }
.eyebrow { color:#6d3161; font-weight:700; margin-bottom:10px; font-size:14px; }.subcopy { margin:0 0 25px; color:#555; max-width:560px; }
.segmented { display:flex; gap:12px; margin:20px 0 30px; }.segmented button { background:#fff; border:1px solid #777; border-radius:24px; padding:12px 19px; }.segmented button.selected { border:2px solid var(--magenta); color:var(--magenta); font-weight:700; }
.card { border:1px solid #cfcfcf; border-radius:10px; padding:22px; margin:13px 0; background:#fff; transition:.15s; }.card:hover { border-color:var(--magenta); }.card.selected { border:2px solid var(--magenta); box-shadow:0 0 0 3px #fce3f1; }.card-head { display:flex; gap:14px; justify-content:space-between; }.price { font-weight:800; font-size:22px; white-space:nowrap; }.price small { font-size:13px; font-weight:500; }.chip { display:inline-block; padding:4px 8px; background:#f6d6e9; border-radius:3px; font-size:12px; font-weight:700; margin-bottom:8px; }.features { margin:16px 0 0; padding:0; list-style:none; font-size:14px; }.features li { padding:5px 0; }.features li::before { content:"✓"; color:var(--green); font-weight:bold; margin-right:9px; }
.plan-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:26px 0 22px; border-bottom:1px solid #ddd; padding-bottom:12px; }.plan-tabs button { border:0; background:transparent; color:#555; padding:9px 12px; border-radius:20px; }.plan-tabs button.active { background:#222; color:#fff; font-weight:700; }.plan-tabs button.done::before { content:"✓"; color:var(--magenta); font-weight:800; margin-right:5px; }.plan-tabs button small { display:block; font-size:11px; opacity:.75; margin-top:2px; }.plan-heading { display:flex; align-items:center; justify-content:space-between; margin:10px 0 18px; }.plan-line-stepper { display:flex; align-items:center; border:1px solid #aaa; border-radius:999px; overflow:hidden; height:40px; }.plan-line-stepper button { width:42px; height:38px; border:0; background:#fff; font-size:22px; color:#555; }.plan-line-stepper strong { min-width:92px; text-align:center; font-size:14px; }.plan-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.plan-options .card { margin:0; }.plan-card { width:100%; text-align:left; min-height:310px; position:relative; padding-bottom:58px; }.plan-card .line-price { color:#666; font-size:13px; margin:10px 0 0; }.select-copy { position:absolute; left:22px; right:22px; bottom:18px; text-align:center; color:#fff; background:var(--magenta); padding:11px; border-radius:4px; font-weight:750; }.plan-card.selected .select-copy { background:#493d42; }.plan-continue { margin-top:26px; display:flex; justify-content:flex-end; }
.plan-left { padding-top:48px; }.plan-left .plan-tabs { border:0; padding:0; margin:28px 0 72px; gap:10px; }.plan-left .plan-tabs button { font-size:17px; padding:10px 18px; }.plan-left .plan-tabs button.done::before { display:none; }.line-hero { min-height:330px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }.line-hero > img { width:210px; height:220px; object-fit:contain; filter:drop-shadow(0 17px 16px #0003); }.phone-art { width:245px; height:285px; position:relative; margin-top:-8px; }.phone-art img { position:absolute; width:142px; height:264px; object-fit:contain; filter:drop-shadow(0 17px 16px #0002); }.phone-art .phone-back { right:16px; top:4px; opacity:.62; }.phone-art .phone-front { left:25px; top:5px; z-index:1; }.line-hero.watch > img { width:190px; }.line-hero.home > img { width:250px; }.line-hero-label { font-size:21px; font-weight:750; margin-top:14px; }.line-recap { margin-top:30px; }.line-recap dl { min-height:142px; }.line-recap dl:last-child { min-height:92px; }
.plan-continue { display:none; }
.device-line-art.tablet img { width:194px; height:260px; margin:34px 0; transform:none; }
.device-line-art.tablet.selected-device img { width:300px; height:250px; margin:0; transform:none; }
.btn { background:var(--magenta); color:#fff; border:0; border-radius:25px; padding:13px 22px; font-weight:750; }.btn.secondary { color:var(--magenta); background:#fff; border:1px solid var(--magenta); }.btn:disabled { background:#bbb; }
.device-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }.device-card { min-height:220px; text-align:left; }.mini-phone { margin:4px auto 15px; width:58px; height:112px; border:4px solid #222; border-radius:13px; background:linear-gradient(145deg,#efe8dd,#b38562); }.device-card .price { font-size:17px; }
.device-left { padding-top:48px; }.device-title { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; }.device-title .link { margin-top:8px; font-weight:700; color:#222; }.device-tabs { display:flex; flex-wrap:wrap; gap:10px; margin:28px 0 64px; }.device-tabs button { border:0; background:transparent; color:#555; padding:10px 17px; border-radius:24px; font-size:17px; }.device-tabs button.active { background:#151515; color:#fff; font-weight:700; }.device-tabs button.done::before { content:none; }.device-line-art { min-height:330px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }.device-line-art img { height:230px; width:190px; object-fit:contain; filter:drop-shadow(0 17px 16px #0003); }.device-line-art.tablet img { width:220px; }.device-line-art.watch img { width:170px; }.device-line-art.home img { width:240px; }.answer-row { display:flex; gap:20px; margin:28px 0 62px; }.answer { flex:1; min-height:64px; border:1px solid #777; border-radius:36px; background:#fff; font-size:17px; font-weight:700; }.answer.selected { color:#fff; background:#151515; border-color:#151515; }.question { margin-top:0; }.subcopy.compact { margin-bottom:16px; }.device-next { margin-top:-30px; }.right .device-grid + .device-next { margin-top:24px; }
.tablet-flow { max-width:790px; }.tablet-flow > h2 { margin-bottom:0; }.compact-row { max-width:464px; margin:28px 0 30px; }.tablet-imei,.tablet-compatible { border:1px solid #ddd; border-radius:12px; padding:30px; background:#fff; }.tablet-imei h2,.tablet-compatible h2 { font-size:23px; margin:0 0 24px; }.tablet-imei label { display:flex; flex-direction:column; gap:8px; font-weight:700; }.tablet-imei input { height:64px; padding:0 18px; border:1px solid #555; border-radius:2px; font:inherit; font-size:18px; }.tablet-imei p,.tablet-compatible p { margin:12px 0 0; font-size:15px; }.tablet-imei > div,.tablet-actions { display:flex; align-items:center; gap:20px; margin-top:28px; }.tablet-compatible h2 span { display:inline-grid; place-items:center; width:24px; height:24px; margin-right:10px; border-radius:50%; background:#138a36; color:#fff; font-size:16px; }.tablet-details { margin:28px 0; padding:0 20px; border:1px solid #e1e1e1; border-radius:12px; }.tablet-details div { display:flex; flex-direction:column; gap:6px; padding:18px 0; border-bottom:1px solid #e5e5e5; }.tablet-details small { font-size:16px; }.tablet-details .link { display:block; padding:20px 0; color:#222; font-weight:700; text-align:left; }.tablet-protection { margin-top:48px; }.tablet-protection h2 { font-size:26px; }.protection-choice { display:flex; gap:18px; }.protection-choice .answer { min-height:104px; border-radius:12px; text-align:left; padding:20px; line-height:1.45; }.tablet-continue { float:right; margin-top:24px; }
.device-line-art.watch.selected-device img { width:290px; height:260px; }
.device-line-art.selected-device img { width:250px; height:235px; }.back-link { color:#222; font-size:17px; font-weight:700; margin-bottom:54px; }.brand { color:#777; margin:0 0 8px; font-size:18px; }.right h1 { margin-bottom:5px; }.gradient-copy { color:#9e4de2; font-size:17px; font-weight:700; margin:0 0 12px; }.pdp-section { margin-top:54px; }.pdp-section h2 { font-size:24px; }.pdp-section h2 span { font-weight:400; }.color-row { display:flex; gap:16px; margin-top:18px; }.color-swatch { height:36px; width:36px; border-radius:50%; border:1px solid #aaa; background:#ff8a43; }.color-swatch.deep-blue { background:#454b60; }.color-swatch.silver { background:#d5d5d5; }.color-swatch.selected { outline:3px solid #161616; outline-offset:3px; }.storage-option { width:100%; display:flex; justify-content:space-between; align-items:center; padding:22px 20px; margin:12px 0; border:1px solid #ddd; border-radius:10px; background:#fff; text-align:left; }.storage-option.selected { border:2px solid #222; }.protection-choice { display:flex; gap:14px; }.protection-choice .answer { min-height:84px; text-align:left; padding:14px 18px; border-radius:12px; }.pdp-add { float:right; margin:40px 0 30px; }
.product-filters { display:flex; flex-wrap:wrap; gap:10px; margin:30px 0; }.product-filters button { border:1px solid #222; background:#fff; border-radius:24px; padding:10px 16px; font-weight:700; }.phone-results { display:grid; gap:20px; }.phone-result { display:grid; grid-template-columns:165px 1fr; gap:24px; align-items:center; width:100%; padding:28px; border:1px solid #ddd; border-radius:12px; background:#fff; text-align:left; }.phone-result:hover,.phone-result.selected { border:2px solid var(--magenta); }.phone-result img { width:150px; height:150px; object-fit:contain; }.phone-result h3 { font-size:24px; margin:5px 0; }.phone-result small { color:#777; font-size:15px; }.phone-result p:last-child { border-top:1px solid #ddd; padding-top:14px; margin:14px 0 0; font-size:14px; }.result-colors { display:flex; gap:9px; }.result-colors i { display:block; width:18px; height:18px; border-radius:50%; background:#ff8a43; }.result-colors i:nth-child(2) { background:#485064; }.result-colors i:nth-child(3) { background:#d4d4d4; }
.device-confirmation { min-height:610px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }.confirm-check { display:grid; place-items:center; width:66px; height:66px; border-radius:50%; background:#078821; color:#fff; font-size:44px; font-weight:800; }.device-confirmation h2 { margin:38px 0 32px; font-size:30px; max-width:620px; }.promo-card { position:relative; width:100%; max-width:760px; padding:22px 62px 22px 26px; border:1px solid #ddd; border-radius:12px; text-align:left; display:flex; flex-direction:column; gap:6px; }.promo-card b { color:#6d3161; }.promo-card span { color:#666; font-size:14px; }.promo-card i { position:absolute; right:26px; top:50%; transform:translateY(-50%); font-style:normal; font-size:32px; }.device-confirmation > p { max-width:520px; color:#666; font-size:18px; line-height:1.4; margin:35px 0 30px; }
.protection { display:flex; gap:14px; }.protection .card { flex:1; }.notice { border-left:4px solid var(--magenta); background:#fff5fa; padding:16px; margin:20px 0; }.empty { padding:45px 0; text-align:center; color:#666; }
.coverage-hero { justify-content:center; display:flex; flex-direction:column; }.coverage-hero h1 { font-size:48px; line-height:1.04; max-width:580px; }.overline { color:#6a6a6a; font-size:28px; font-weight:700; margin:0 0 16px; }.coverage-panel { min-height:620px; display:flex; flex-direction:column; justify-content:center; max-width:600px; }.coverage-entry label { display:block; background:#fff; color:#333; font-size:12px; font-weight:700; margin:0 0 -8px 12px; position:relative; width:max-content; padding:0 4px; }.coverage-entry input { height:48px; width:100%; border:1px solid #141414; border-radius:2px; padding:0 15px; font-weight:600; font-size:16px; }.input-help { color:#555; font-size:13px; margin:10px 0 24px; }.skip { display:block; margin-top:18px; color:#222; }.coverage-left { padding-top:60px; }.coverage-left h2 { font-size:32px; }.map { height:330px; border-radius:4px; overflow:hidden; position:relative; background:linear-gradient(140deg,#e7ece4,#cbd7c9 48%,#e4dfd1 49%,#c6d1c4); margin:25px 0; }.map::before,.map::after { content:""; position:absolute; background:#f7f5ed; opacity:.9; transform:rotate(-24deg); }.map::before { width:800px; height:28px; top:122px; left:-90px; }.map::after { width:28px; height:650px; top:-120px; left:310px; }.pin { width:48px; height:48px; display:grid; place-items:center; background:var(--magenta); color:#fff; border-radius:50% 50% 50% 0; transform:rotate(-45deg); font-size:25px; position:absolute; left:47%; top:41%; z-index:2; box-shadow:0 2px 8px #0005; }.map span { position:absolute; bottom:8px; right:10px; font-size:11px; z-index:2; background:#fffd; padding:4px; }.status-row { display:grid; grid-template-columns:1fr 1fr; gap:15px; }.status-row div { padding:16px; border:1px solid #ddd; border-radius:8px; display:flex; flex-direction:column; gap:6px; }.status-row strong { color:var(--green); }.address-result { margin-top:30px; padding-top:18px; border-top:1px solid #ccc; }.address-result small { font-weight:700; color:#666; }.address-result .link { float:right; }.line-selector { display:flex; gap:20px; align-items:center; padding:23px; margin:14px 0; border:1px solid #d3d3d3; border-radius:8px; }.line-selector h3,.line-selector p { margin:0; }.line-selector p { font-size:14px; color:#666; margin-top:4px; }.line-icon { font-size:42px; color:#555; }.stepper { margin-left:auto; display:flex; align-items:center; border:1px solid #888; border-radius:4px; overflow:hidden; }.stepper button { border:0; background:#fff; font-size:23px; height:38px; width:38px; }.stepper strong { padding:0 15px; }.count { margin-left:auto; font-size:22px; color:#666; }.muted { opacity:.72; }
.right:has(.coverage-entry) { display:flex; align-items:center; }.right:has(.coverage-entry) .coverage-entry { width:100%; min-height:0; }
.figma-map { background:#8a1954; border-radius:24px; }.figma-map::before,.figma-map::after { display:none; }.figma-map img { width:100%; height:100%; object-fit:cover; display:block; }.map-pin { position:absolute; left:50%; top:50%; z-index:2; width:43px; height:43px; display:grid; place-items:center; color:#171717; background:#fff; border-radius:8px; transform:translate(-50%,-50%) rotate(-20deg); font-size:25px; box-shadow:0 2px 7px #0005; }.coverage-left > p { margin:0 0 28px; line-height:1.35; }.coverage-selector { justify-content:flex-start; padding-top:12px; min-height:0; }.coverage-selector h2 { font-size:32px; margin-top:0; }.credit-link { align-self:flex-start; border:0; background:transparent; border-bottom:1px solid #141414; padding:0 0 4px; font-weight:700; margin:0 0 25px; }.coverage-selector .line-selector { min-height:128px; padding:24px; margin:0 0 24px; gap:24px; border-color:#e2e2e2; }.coverage-selector .line-selector img { width:64px; height:80px; object-fit:contain; flex:0 0 auto; }.coverage-selector .line-selector:nth-of-type(4) img { height:70px; }.coverage-selector .line-selector > div:nth-child(2) { min-width:0; }.coverage-selector .line-selector h3 { font-size:20px; }.coverage-selector .stepper { border-radius:999px; border-color:#c7c7c7; }.coverage-selector .stepper button { width:42px; color:#555; }.full-continue { align-self:flex-end; min-width:150px; border-radius:4px; }.hsi-selector .home-internet-line { margin-bottom:18px; }.hsi-additional-heading { display:flex; flex-direction:column; gap:6px; margin:0 0 16px; }.hsi-additional-heading b { font-size:18px; }.hsi-additional-heading span { color:#555; font-size:14px; }
.osm-map { border-radius:12px; background:#e7ece4; }.osm-map::before,.osm-map::after { display:none; }.osm-map iframe { border:0; width:100%; height:100%; display:block; }.osm-map .coverage-map-pin { position:absolute; z-index:3; left:50%; top:50%; right:auto; bottom:auto; width:38px; height:38px; padding:0; border-radius:50%; background:#E20074; box-shadow:0 3px 8px #0005; pointer-events:none; transform:translate(-50%,-50%); }.osm-map .coverage-map-pin::before { content:""; position:absolute; z-index:-1; width:16px; height:16px; left:11px; bottom:-3px; background:#E20074; transform:rotate(45deg); }.osm-map .coverage-map-pin::after { content:""; position:absolute; width:12px; height:12px; border-radius:50%; top:50%; left:50%; background:#fff; transform:translate(-50%,-50%); }.map-attribution { margin:-19px 0 12px !important; padding:3px 6px; position:relative; z-index:1; width:max-content; background:#fffd; font-size:11px; }.map-attribution a { color:#222; }.map-radius { color:#5a5a5a; font-size:13px; font-weight:700; margin:0 0 22px !important; }
.external-map-link { align-self:flex-start; color:#333; font-size:14px; margin:-10px 0 24px; text-underline-offset:3px; }
.tray { height:80px; position:fixed; bottom:0; left:0; right:0; z-index:8; background:#fff; border-top:1px solid #d7d7d7; display:flex; align-items:center; padding:0 60px; gap:30px; }.summary { display:flex; gap:26px; align-items:baseline; margin-right:auto; font-size:14px; }.summary strong { font-size:22px; }.toast { position:fixed; right:24px; top:94px; z-index:20; background:#222; color:#fff; padding:14px 18px; border-radius:8px; box-shadow:0 5px 20px #0003; }
.cart-left { padding-top:54px; }.cart-left h1 { font-size:36px; }.cart-total { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:21px 24px; border-radius:12px; background:#fff; text-align:center; }.cart-total div { display:flex; flex-direction:column; gap:4px; }.cart-total span,.cart-total small { font-size:13px; color:#505050; }.cart-total strong { font-size:33px; letter-spacing:-1.3px; }.cart-breakdown-link { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:24px 0 32px; font-size:12px; color:#666; }.outline-btn { border:2px solid #222; color:#222; background:#fff; border-radius:4px; padding:9px 15px; font-weight:750; }.cart-summary-card { border:1px solid #dedede; border-radius:12px; overflow:hidden; background:#f9f9f9; }.cart-summary-card section { padding:18px 16px; border-bottom:1px solid #dedede; }.cart-summary-card section:last-child { border-bottom:0; }.cart-summary-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin-bottom:13px; }.cart-summary-heading > div { display:flex; flex-direction:column; gap:3px; }.cart-summary-heading small,.cart-line small { color:#666; font-size:12px; }.cart-summary-heading strong { font-size:14px; white-space:nowrap; }.cart-line { display:grid; grid-template-columns:34px 1fr auto; gap:10px; align-items:center; padding:9px 0; }.cart-line-icon { width:30px; height:30px; display:grid; place-items:center; border:1px solid #ddd; border-radius:5px; background:#fff; color:#333; }.cart-line div { min-width:0; display:flex; flex-direction:column; gap:2px; }.cart-line b { font-size:13px; }.cart-line .link { color:#222; text-decoration:none; }.device-cart-line img { width:32px; height:42px; object-fit:contain; border:1px solid #eee; border-radius:5px; background:#fff; }.cart-add-device { color:#222; padding:0; }.cart-totals { margin-top:28px; font-size:13px; }.cart-totals div { display:flex; justify-content:space-between; padding:7px 0; }.cart-totals hr { border:0; border-top:1px solid #d9d9d9; margin:15px 0 8px; }.cart-panel { max-width:660px; padding-top:0; }.cart-financing { position:relative; border-bottom:1px solid #e4e4e4; padding:2px 0 28px; }.cart-financing h3 { font-size:19px; margin:0 0 6px; }.cart-financing p { color:#666; margin:0; font-size:14px; }.cart-chevron { position:absolute; top:0; right:0; border:0; background:transparent; font-size:22px; }.cart-financing-actions { display:flex; gap:14px; margin-top:18px; }.cart-financing-actions button { min-width:170px; border:1px solid #555; border-radius:28px; padding:12px 18px; background:#fff; font-weight:700; }.cart-delivery { padding:27px 0; }.cart-delivery h2,.cart-section-title h2 { font-size:20px; }.delivery-card { border:1px solid #dedede; border-radius:12px; padding:4px 18px; }.delivery-row { display:grid; grid-template-columns:28px 1fr auto; gap:12px; align-items:start; padding:17px 0; }.delivery-row + .delivery-row { border-top:1px solid #e5e5e5; }.delivery-row div { display:flex; flex-direction:column; gap:3px; }.delivery-row b { font-size:14px; }.delivery-row small { color:#666; font-size:12px; }.delivery-icon { font-size:23px; line-height:1; }.delivery-row .link { color:#222; text-decoration:none; }.shipping-note { margin:12px 0 0; padding:14px 16px; background:#f5f5f5; font-size:12px; color:#555; }.cart-section-title { display:flex; align-items:center; justify-content:space-between; }.cart-section-title span { font-size:28px; color:#777; }.addon-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.addon-card { min-height:238px; display:flex; flex-direction:column; align-items:flex-start; border:1px solid #dedede; border-radius:12px; padding:16px; }.addon-art { display:grid; place-items:center; width:58px; height:70px; margin:0 auto 15px; align-self:center; font-size:32px; color:#555; }.addon-art.charger { color:#ddd; text-shadow:0 2px 3px #999; }.addon-art.case { color:#ff7644; }.addon-card h3 { font-size:15px; margin:0 0 7px; }.addon-card p { font-size:12px; color:#666; line-height:1.35; margin:0 0 14px; }.addon-card .outline-btn { margin-top:auto; align-self:stretch; padding:7px 10px; font-size:12px; }.cart-options { margin-top:30px; border:1px solid #dedede; border-radius:12px; overflow:hidden; }.cart-options button { display:flex; justify-content:space-between; width:100%; padding:17px; border:0; background:#fff; font-weight:700; text-align:left; }.cart-options button + button { border-top:1px solid #dedede; }.cart-device-prompt { margin:22px 0; color:#555; }.cart-tray { justify-content:flex-end; }.cart-tray .summary { display:none; }
.cart-financing h3 { display:flex; align-items:center; gap:10px; }.cart-financing h3 img { width:22px; height:22px; object-fit:contain; }
.addon-art.charger,.addon-art.case { width:100%; height:86px; margin:0 0 15px; color:transparent; text-shadow:none; background-position:center; background-repeat:no-repeat; }.addon-art.charger { background-image:url('assets/cart/charger.png'); background-size:104px auto; }.addon-art.case { background-image:url('assets/cart/protect.png'); background-size:cover; border-radius:4px; }
.delivery-row .delivery-icon { width:24px; height:24px; font-size:0; background-position:center; background-repeat:no-repeat; background-size:22px; }.delivery-row:first-child .delivery-icon { background-image:url('assets/cart/icon-shipping.svg'); }.delivery-row.address-row .delivery-icon { background-image:url('assets/cart/icon-location.svg'); }
.cart-summary-card section:first-child .cart-line-icon { font-size:0; background-color:#fff; background-position:center; background-repeat:no-repeat; background-size:20px; }.cart-summary-card section:first-child .cart-line:nth-child(2) .cart-line-icon { background-image:url('assets/cart/icon-mobile-outlined.svg'); }.cart-summary-card section:first-child .cart-line:nth-child(3) .cart-line-icon { background-image:url('assets/cart/icon-tablet-outlined.svg'); }.cart-summary-card section:first-child .cart-line:nth-child(4) .cart-line-icon { background-image:url('assets/cart/icon-watch-outlined.svg'); }.cart-summary-card section:first-child .cart-line:nth-child(5) .cart-line-icon { background-image:url('assets/cart/icon-wifi-outlined.svg'); }.cart-summary-card section:first-child .cart-line:has([aria-label="Edit home internet plan"]) .cart-line-icon { background-image:url('assets/cart/icon-wifi-outlined.svg'); }
@media(max-width:850px) { .shell { grid-template-columns:1fr; }.left,.right { padding:32px 24px 120px; min-height:unset; }.nav { margin-left:auto; }.nav button:not(.active) { display:none; }.tray { padding:0 18px; }.summary { gap:10px; }.summary span:first-child, .summary .today, .nav-icons { display:none; }.recap { grid-template-columns:1fr; }.device-grid,.plan-options,.addon-grid { grid-template-columns:1fr; }.plan-heading { align-items:flex-start; gap:14px; flex-direction:column; }.plan-continue { justify-content:stretch; }.plan-continue .btn { width:100%; }.cart-breakdown-link { align-items:flex-start; flex-direction:column; }.cart-financing-actions { flex-direction:column; }.cart-financing-actions button { width:100%; }.cart-tray .outline-btn { display:none; } }
.status-row b { display:flex; align-items:center; gap:8px; }.status-row b img { width:20px; height:20px; object-fit:contain; }
.status-row strong { color:#222; }
.address-result .link, button.link[aria-label^="Edit"] { color:#222 !important; }.cart-left button[aria-label^="Edit"],.cart-panel button[aria-label^="Edit"] { width:22px; height:22px; padding:0; color:transparent !important; font-size:0; background:url('assets/cart/icon-edit-outlined.svg') center/20px no-repeat; }
.status-row > div { flex-direction:row; align-items:center; gap:16px; padding:16px; }.status-row > div > img { width:20px; height:20px; object-fit:contain; flex:0 0 auto; }.status-row > div > div { display:flex; flex-direction:column; gap:6px; padding:0; border:0; }.status-row > div > div span,.status-row > div > div strong { font-size:16px; line-height:normal; }
@media(max-width:850px) { .left.coverage-hero { justify-content:flex-start; padding-bottom:32px; }.coverage-hero h1 { margin-bottom:0; } }
@media(max-width:850px) { .left.coverage-left { min-height:0; padding-bottom:32px; }.right:has(.coverage-selector) { padding-top:32px; } }
@media(max-width:850px) { .coverage-selector .credit-link { align-self:stretch; text-align:left; } }
.address-autocomplete { position:relative; }.address-suggestions { position:absolute; z-index:15; top:calc(100% + 4px); right:0; left:0; max-height:224px; overflow:auto; border:1px solid #555; border-radius:2px; background:#fff; box-shadow:0 8px 18px #0002; }.address-suggestions button { display:block; width:100%; border:0; border-bottom:1px solid #e3e3e3; padding:13px 15px; background:#fff; color:#222; font:inherit; font-size:14px; line-height:1.35; text-align:left; }.address-suggestions button:last-child { border-bottom:0; }.address-suggestions button:hover,.address-suggestions button:active { background:#f7eff6; }.address-suggestion-hint { margin:8px 0 -2px; color:#666; font-size:13px; }
.shipping-modal-backdrop { position:fixed; inset:0; z-index:30; display:flex; justify-content:flex-end; background:#0006; }.shipping-modal { position:relative; display:flex; flex-direction:column; width:min(50vw,760px); min-height:100%; padding:70px 64px 36px; background:#fff; box-shadow:-8px 0 22px #0002; }.shipping-close { position:absolute; top:28px; right:42px; border:0; background:transparent; color:#222; font-size:38px; font-weight:300; line-height:1; }.shipping-modal h2 { max-width:600px; margin:22px 0 34px; font-size:35px; line-height:1.14; letter-spacing:-1.4px; }.shipping-options { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.shipping-option { display:flex; min-height:128px; flex-direction:column; align-items:flex-start; gap:5px; padding:20px; border:1px solid #dedede; border-radius:12px; background:#fff; text-align:left; }.shipping-option.selected { border:2px solid #222; }.shipping-icon { display:block; width:28px; height:28px; object-fit:contain; }.shipping-option b { margin-top:3px; font-size:17px; }.shipping-option small { color:#555; font-size:14px; }.shipping-detail { display:flex; flex-direction:column; gap:6px; margin-top:26px; color:#555; }.shipping-detail b { color:#222; font-size:17px; }.shipping-detail span { font-size:15px; }.shipping-actions { display:flex; align-items:center; justify-content:flex-end; gap:20px; margin-top:auto; }.shipping-actions .link { color:#222; font-weight:700; text-decoration:none; }.shipping-actions .btn { border-radius:4px; min-width:132px; min-height:48px; }
@media(max-width:850px) { .shipping-modal-backdrop { align-items:flex-end; }.shipping-modal { width:100%; min-height:0; max-height:90vh; padding:52px 24px 26px; border-radius:18px 18px 0 0; }.shipping-close { top:16px; right:22px; }.shipping-modal h2 { margin:12px 32px 26px 0; font-size:27px; }.shipping-options { grid-template-columns:1fr; gap:10px; }.shipping-option { min-height:0; display:grid; grid-template-columns:32px 1fr; column-gap:10px; padding:14px; }.shipping-option b,.shipping-option small { grid-column:2; }.shipping-icon { grid-row:1 / span 2; }.shipping-detail { margin-top:18px; }.shipping-actions { margin-top:24px; } }
