:root{--ink:#111114;--muted:#64646d;--line:#e7e7eb;--surface:#f5f5f7;--white:#fff;--brand:#4b33f2;--brand-dark:#2510a6;--cyan:#00a9c7;--radius:28px;--shadow:0 18px 55px rgba(23,20,53,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.012em}button,input{font:inherit}a{color:inherit;text-decoration:none}.site-header{position:sticky;z-index:20;top:0;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 clamp(20px,5vw,84px);background:rgba(255,255,255,.88);border-bottom:1px solid rgba(0,0,0,.06);backdrop-filter:blur(18px)}.brand{display:flex;gap:10px;align-items:center;font-size:13px;font-weight:800;letter-spacing:.06em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;color:white;background:linear-gradient(135deg,var(--brand),#8e5cff)}.desktop-nav{display:flex;gap:28px;font-size:13px}.desktop-nav a,.account-link{transition:.2s;color:#333}.desktop-nav a:hover,.account-link:hover{color:var(--brand)}.header-actions{display:flex;gap:12px;align-items:center}.icon-action,.menu-toggle{border:0;background:transparent;font-size:24px;cursor:pointer}.menu-toggle{display:none}.account-link{font-size:13px;font-weight:700}.view{display:none}.view.active{display:block}.hero{position:relative;display:grid;align-content:center;min-height:680px;padding:90px clamp(24px,9vw,160px);overflow:hidden;text-align:center}.hero-home{color:white;background:radial-gradient(circle at 80% 18%,rgba(68,233,255,.4),transparent 27%),radial-gradient(circle at 15% 85%,rgba(150,88,255,.48),transparent 32%),linear-gradient(145deg,#0c0920,#201064 60%,#092a54)}.eyebrow{margin:0 0 16px;color:var(--brand);font-size:12px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.hero .eyebrow,.hero-club .eyebrow{color:#aeefff}.hero h1,.page-intro h1,.selfcare-content h1{margin:0;font-size:clamp(44px,7vw,92px);line-height:.98;letter-spacing:-.06em}.lead{max-width:700px;margin:24px auto 0;font-size:clamp(18px,2vw,24px);line-height:1.5;color:rgba(255,255,255,.76)}.hero-actions{display:flex;justify-content:center;gap:12px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:1px solid transparent;border-radius:999px;font-weight:750;cursor:pointer;transition:.2s}.button:hover{transform:translateY(-2px)}.button.primary{color:white;background:var(--brand)}.button.secondary{color:var(--brand);background:white;border-color:#cfc8ff}.button.light{color:#24115e;background:white}.button.full{width:100%}.signal-art{position:absolute;right:6%;bottom:-20%;width:360px;height:360px;opacity:.35}.signal-art span{position:absolute;right:0;bottom:0;border:2px solid #7cecff;border-radius:100% 0 0 0}.signal-art span:nth-child(1){width:90px;height:90px}.signal-art span:nth-child(2){width:170px;height:170px}.signal-art span:nth-child(3){width:250px;height:250px}.signal-art span:nth-child(4){width:330px;height:330px}.section-pad{padding:clamp(64px,8vw,120px) clamp(24px,7vw,120px)}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.quick-card{min-height:420px;padding:38px;border-radius:var(--radius);overflow:hidden;color:white;transition:.25s}.quick-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.quick-card.cobalt{background:linear-gradient(145deg,#5d43ff,#2c168f)}.quick-card.warm{background:linear-gradient(145deg,#ff8c61,#c63f6f)}.quick-card.ink{background:linear-gradient(145deg,#202028,#08080c)}.quick-icon{display:grid;place-items:center;width:74px;height:74px;border-radius:22px;background:rgba(255,255,255,.13);font-size:22px;font-weight:800}.quick-card h2{margin-top:95px;font-size:32px}.quick-card p{max-width:300px;color:rgba(255,255,255,.75);line-height:1.5}.arrow{display:block;margin-top:28px;font-weight:750}.feature-split{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;background:var(--surface)}.feature-split h2,.section-heading h2,.page-intro h1{font-size:clamp(38px,5vw,68px);line-height:1.04;letter-spacing:-.05em}.feature-split>div:first-child p:not(.eyebrow){max-width:640px;color:var(--muted);font-size:19px;line-height:1.6}.text-link,.text-button{color:var(--brand);font-weight:750}.text-button{border:0;background:none;cursor:pointer}.island-card{display:grid;place-items:center;min-height:420px;border-radius:var(--radius);color:white;background:linear-gradient(160deg,#10121b,#373a58)}.island-shape{display:grid;place-items:center;width:145px;height:235px;border-radius:48% 52% 56% 44%/42% 38% 62% 58%;font-size:72px;font-weight:800;background:linear-gradient(160deg,#6f5cff,#00a9c7)}.island-card p{font-weight:700}.section-heading{display:flex;align-items:end;justify-content:space-between}.section-heading h2{margin:0}.news-grid,.device-grid,.partner-grid,.stores,.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:46px}.news-grid article,.device-grid article,.stores article,.benefits article{padding:22px;border-radius:22px;background:var(--surface)}.news-visual{display:grid;place-items:end start;aspect-ratio:16/10;padding:24px;border-radius:17px;color:white;font-size:24px;font-weight:900;letter-spacing:.08em}.news-visual.purple{background:linear-gradient(135deg,#322274,#9f72ff)}.news-visual.aqua{background:linear-gradient(135deg,#005e75,#1bd2cf)}.news-visual.coral{background:linear-gradient(135deg,#8b294c,#ff876c)}.meta{color:var(--brand);font-size:12px;font-weight:800;text-transform:uppercase}.news h3{font-size:23px}.news article>p:last-child{color:var(--muted);line-height:1.5}.page-intro{padding:110px 24px 50px;text-align:center}.page-intro>p:last-child{font-size:20px;color:var(--muted)}.filter-bar{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.chip{padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:white;cursor:pointer}.chip.active{color:white;background:var(--ink)}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-top:55px}.plan-card{padding:34px;border:1px solid var(--line);border-radius:var(--radius)}.plan-card.featured{border:2px solid var(--brand);box-shadow:var(--shadow)}.tag{color:var(--brand);font-size:12px;font-weight:800;text-transform:uppercase}.plan-card h2{font-size:38px}.price{display:flex;align-items:baseline;gap:5px}.price strong{font-size:42px}.price span{color:var(--muted)}.plan-card ul{min-height:130px;padding-left:20px;color:var(--muted);line-height:2}.hero-fibre{min-height:620px;color:white;background:radial-gradient(circle at 75% 25%,rgba(67,210,255,.35),transparent 32%),linear-gradient(145deg,#091d32,#063f59)}.eligibility-form{display:flex;gap:10px;max-width:760px;margin:38px auto 0;padding:10px;border-radius:22px;background:white;text-align:left}.eligibility-form label{flex:1}.eligibility-form span,.order-form label>span{display:block;margin:0 0 7px;color:var(--muted);font-size:12px;font-weight:700}.eligibility-form input,.order-form input,.large-search input{width:100%;padding:10px 12px;border:0;outline:none}.form-result{min-height:24px;color:#b9f7ff}.benefits{margin-top:0}.benefits article span{font-size:34px}.benefits p{color:var(--muted);line-height:1.5}.device-grid{margin-top:0}.device-grid article{display:grid;gap:12px}.phone-shape{width:135px;height:240px;margin:10px auto 24px;border:8px solid #17171b;border-radius:28px;box-shadow:inset 0 0 0 2px #555}.phone-shape.violet{background:linear-gradient(145deg,#311687,#c385ff)}.phone-shape.blue{background:linear-gradient(145deg,#0f3e89,#64d0ef)}.phone-shape.sand{background:linear-gradient(145deg,#8c6e54,#ffe0b0)}.hero-club{min-height:630px;color:white;background:radial-gradient(circle at 20% 20%,rgba(255,153,109,.45),transparent 28%),linear-gradient(145deg,#120d2b,#4d1d70 55%,#a2305e)}.partner-grid{margin-top:0}.partner-grid article{min-height:230px;padding:30px;border-radius:var(--radius);font-size:28px;font-weight:800;background:var(--surface)}.partner-grid p{font-size:16px;font-weight:400;color:var(--muted)}.large-search{display:flex;max-width:760px;margin:35px auto;border:1px solid var(--line);border-radius:999px;overflow:hidden}.large-search button{padding:0 24px;border:0;color:white;background:var(--brand)}.faq{max-width:900px;margin:auto}.faq details{padding:24px 0;border-bottom:1px solid var(--line)}.faq summary{font-size:20px;font-weight:700;cursor:pointer}.faq p{color:var(--muted)}.stores{margin-top:0}.stores article span{color:var(--brand);font-size:12px;font-weight:800;text-transform:uppercase}.stores p{min-height:50px;color:var(--muted)}.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;min-height:calc(100vh - 64px)}.checkout-main{max-width:820px;padding:70px clamp(24px,6vw,90px);margin:auto}.checkout-main h1{font-size:52px}.back-link{padding:0 0 35px;border:0;background:transparent;color:var(--muted);cursor:pointer}.steps{display:flex;justify-content:space-between;padding:0;margin:30px 0 50px;list-style:none;counter-reset:step}.steps li{display:grid;gap:7px;color:#999;font-size:12px}.steps li:before{counter-increment:step;content:counter(step);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eee}.steps li.active{color:var(--brand);font-weight:800}.steps li.active:before{color:white;background:var(--brand)}.form-section{margin:0 0 34px}.form-section h2{font-size:22px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field-grid label{display:block}.field-grid .wide{grid-column:1/-1}.order-form input{min-height:49px;border:1px solid #d9d9df;border-radius:13px}.consent{display:flex;gap:12px;margin:10px 0 25px;align-items:flex-start}.consent input{width:auto;min-height:0}.secure-note{text-align:center;color:var(--muted);font-size:12px}.order-summary{padding:80px 45px;color:white;background:linear-gradient(160deg,#151126,#34228d)}.order-summary h2{font-size:34px}.order-summary>div{margin-top:60px}.order-summary strong{font-size:38px}.order-summary span,.order-summary small{color:rgba(255,255,255,.65)}.success-panel{text-align:center;padding:60px 20px}.success-panel>span{display:grid;place-items:center;width:70px;height:70px;margin:auto;border-radius:50%;color:white;background:#1ca66e;font-size:35px}.selfcare-shell{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - 64px);background:var(--surface)}.selfcare-nav{display:flex;flex-direction:column;gap:7px;padding:28px 18px;color:white;background:#141321}.selfcare-nav .brand{margin:0 8px 34px}.selfcare-nav button,.selfcare-nav>a:not(.brand){padding:13px 14px;border:0;border-radius:12px;color:rgba(255,255,255,.74);background:transparent;text-align:left;cursor:pointer}.selfcare-nav button.active{color:white;background:rgba(255,255,255,.12)}.selfcare-nav>a:last-child{margin-top:auto}.selfcare-content{padding:45px clamp(24px,5vw,70px)}.selfcare-content>header{display:flex;align-items:center;justify-content:space-between}.selfcare-content h1{font-size:48px}.avatar{width:48px;height:48px;border:0;border-radius:50%;color:white;background:var(--brand);font-weight:800}.selfcare-pane{display:none;margin-top:35px}.selfcare-pane.active{display:block}.status-banner{display:grid;grid-template-columns:1fr 2fr auto;gap:20px;align-items:center;padding:22px;border-radius:18px;color:white;background:linear-gradient(120deg,#4937e9,#7661ff)}.status-banner a{font-weight:800}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}.dashboard-grid article,.line-card,.timeline,.profile-list,.request-list{padding:25px;border-radius:20px;background:white;box-shadow:0 5px 22px rgba(0,0,0,.04)}.dashboard-grid article>p{color:var(--muted)}.dashboard-grid article>strong{display:block;min-height:43px;font-size:13px}.dashboard-grid article button,.profile-list button{padding:10px 0;border:0;color:var(--brand);background:transparent;font-weight:750;cursor:pointer}.usage{height:8px;margin:24px 0 12px;border-radius:10px;background:#e7e7ec;overflow:hidden}.usage span{display:block;width:var(--usage);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--cyan))}.timeline p,.profile-list p,.request-list p{display:flex;justify-content:space-between;padding:16px;border-bottom:1px solid var(--line)}.timeline span,.profile-list span{color:var(--muted)}.timeline .current strong,.request-list strong{color:var(--brand)}.empty-state{padding:50px;border-radius:20px;background:white;color:var(--muted);text-align:center}footer{display:grid;grid-template-columns:1fr auto;gap:30px;padding:55px clamp(24px,7vw,120px);color:white;background:#0d0d12}footer nav{display:flex;gap:22px;font-size:13px}footer>p{grid-column:1/-1;color:#777;font-size:12px}dialog{width:min(700px,calc(100% - 32px));padding:35px;border:0;border-radius:24px;box-shadow:0 24px 100px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(0,0,0,.45);backdrop-filter:blur(8px)}dialog form{position:relative}.close-dialog{position:absolute;right:0;top:-12px;border:0;background:transparent;font-size:26px}.search-suggestions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.search-suggestions a{padding:10px 14px;border-radius:999px;background:var(--surface)}dialog label span{display:block;font-size:28px;font-weight:800}dialog input{width:100%;padding:18px 0;border:0;border-bottom:1px solid var(--line);font-size:18px;outline:none}
@media(max-width:900px){.desktop-nav{display:none}.menu-toggle{display:block}.quick-grid,.plans,.news-grid,.device-grid,.partner-grid,.stores,.benefits,.dashboard-grid{grid-template-columns:1fr}.feature-split{grid-template-columns:1fr}.checkout-layout{grid-template-columns:1fr}.order-summary{order:-1;padding:28px}.selfcare-shell{grid-template-columns:1fr}.selfcare-nav{display:grid;grid-template-columns:repeat(3,1fr)}.selfcare-nav .brand{grid-column:1/-1}.selfcare-nav>a:last-child{margin:0}.status-banner{grid-template-columns:1fr}.hero{min-height:600px}.hero-actions{flex-direction:column;align-items:center}.quick-card{min-height:330px}.quick-card h2{margin-top:55px}}
@media(max-width:560px){.site-header{padding:0 16px}.brand>span:last-child{display:none}.account-link{font-size:12px}.hero{padding:70px 20px}.hero h1{font-size:48px}.field-grid{grid-template-columns:1fr}.field-grid .wide{grid-column:auto}.selfcare-nav{grid-template-columns:1fr 1fr}.selfcare-content h1{font-size:38px}.section-heading{align-items:start;gap:20px}.plans,.section-pad{padding-left:18px;padding-right:18px}footer{grid-template-columns:1fr}footer nav{flex-direction:column}}

/* Catalogues et parcours de configuration */
.catalog-toolbar{display:grid;grid-template-columns:190px 220px minmax(260px,1fr) auto;gap:14px;align-items:end;max-width:1200px;margin:0 auto 34px;padding:0 clamp(24px,5vw,80px)}
.catalog-toolbar label,.phone-variant{display:grid;gap:7px}.catalog-toolbar label>span,.phone-variant>span{color:var(--muted);font-size:12px;font-weight:750}.catalog-toolbar input,.catalog-toolbar select,.phone-variant select{width:100%;min-height:48px;padding:0 15px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:var(--white);outline:none}.catalog-toolbar input:focus,.catalog-toolbar select:focus,.phone-variant select:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 14%,transparent)}.catalog-toolbar p{margin:0 0 14px;color:var(--muted);font-size:13px;font-weight:700}.phone-no-result{max-width:900px;margin:0 auto 70px}.device-grid{margin-top:0;align-items:start}.device-card{display:grid!important;grid-template-rows:auto auto auto 1fr auto auto auto;gap:14px!important;padding:28px!important;border:1px solid var(--line);background:var(--white)!important;box-shadow:0 14px 45px rgba(23,20,53,.07)}.device-card h2{margin:0;font-size:30px;line-height:1.08}.device-card .tag{margin:0}.phone-shape{position:relative}.phone-shape:before{position:absolute;top:8px;left:50%;width:42px;height:10px;border-radius:10px;background:#17171b;content:"";transform:translateX(-50%)}.phone-details{min-width:0;color:var(--muted);font-size:14px;line-height:1.55}.phone-description{display:-webkit-box;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.phone-specifications{margin-top:4px;border-top:1px solid var(--line)}.phone-specifications summary{padding:12px 0 4px;color:var(--brand);font-weight:750;cursor:pointer}.phone-specifications dl{display:grid;grid-template-columns:minmax(110px,.85fr) 1fr;gap:0;margin:10px 0 0}.phone-specifications dt,.phone-specifications dd{margin:0;padding:8px 0;border-bottom:1px solid var(--line)}.phone-specifications dt{padding-right:12px;color:var(--muted);font-weight:650}.phone-specifications dd{color:var(--ink)}.phone-price{font-size:24px}.device-card>.button{width:100%}
@media(max-width:900px){.catalog-toolbar{grid-template-columns:1fr 1fr}.catalog-toolbar p{grid-column:1/-1}.phone-specifications dl{grid-template-columns:1fr}}
@media(max-width:560px){.catalog-toolbar{grid-template-columns:1fr;padding:0 18px}.catalog-toolbar p{grid-column:auto}.device-card{padding:22px!important}}
.journey-shell{display:grid;grid-template-columns:minmax(0,1fr) 390px;min-height:calc(100vh - 64px);background:var(--surface)}.journey-shell>main{width:100%;max-width:980px;padding:65px clamp(24px,5vw,80px);margin:0 auto}.journey-shell>main>h1{margin:0 0 40px;font-size:clamp(38px,5vw,64px);line-height:1}.journey-stage{margin:0 0 24px;padding:26px;border:1px solid var(--line);border-radius:22px;background:var(--white)}.journey-stage h2{margin:0 0 18px;font-size:21px}.journey-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.journey-choice{display:grid;gap:5px;min-height:76px;padding:15px;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:var(--white);text-align:left;cursor:pointer}.journey-choice:hover{border-color:color-mix(in srgb,var(--brand) 55%,var(--line))}.journey-choice.is-selected{border:2px solid var(--brand);background:color-mix(in srgb,var(--brand) 7%,var(--white));box-shadow:0 8px 25px color-mix(in srgb,var(--brand) 12%,transparent)}.journey-choice strong{font-size:15px}.journey-choice small{color:var(--muted);line-height:1.35}.journey-info-list{display:grid;gap:0}.journey-info-list p,.journey-summary-list p{display:flex;justify-content:space-between;gap:20px;margin:0;padding:13px 0;border-bottom:1px solid var(--line)}.journey-info-list span,.journey-summary-list span{color:var(--muted)}.journey-summary{position:sticky;top:64px;align-self:start;display:grid;gap:22px;min-height:calc(100vh - 64px);padding:70px 38px;color:white;background:linear-gradient(160deg,#151126,#34228d)}.journey-summary .eyebrow{color:#bdb1ff}.journey-summary h2{margin:0;font-size:34px}.journey-summary-list{display:grid}.journey-summary-list p{border-color:rgba(255,255,255,.14)}.journey-summary-list span{color:rgba(255,255,255,.68)}.journey-summary .button{align-self:end}.journey-summary .button:disabled{cursor:not-allowed;opacity:.45}.view[data-view="telephone"]+.view,.view[data-view="abonnement"]+.view{scroll-margin-top:64px}
@media(max-width:900px){.journey-shell{grid-template-columns:1fr}.journey-summary{position:static;order:-1;min-height:0;padding:30px}.journey-choices{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.journey-shell>main{padding:35px 18px}.journey-stage{padding:19px}.journey-choices{grid-template-columns:1fr}}

/* Même langage visuel que le parcours de souscription du back-office. */
.journey-shell{grid-template-columns:minmax(0,1fr) 310px;background:var(--white)}.journey-shell>main{max-width:none;padding:38px clamp(22px,4vw,58px)}.journey-shell>main>h1{margin-bottom:28px;font-size:clamp(34px,4vw,52px)}.journey-stage{display:grid;gap:11px;margin-bottom:14px;padding:16px;border-radius:12px;background:var(--surface)}.journey-stage h2{margin:0;font-size:18px}.journey-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.journey-choice{min-height:82px;padding:12px;border-radius:10px;background:var(--white)}.journey-choice.is-selected{border:1px solid var(--brand);background:color-mix(in srgb,var(--brand) 9%,var(--white));box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 14%,transparent)}.journey-choice small{color:var(--muted)}.journey-summary{top:64px;gap:16px;min-height:calc(100vh - 64px);padding:38px 22px;color:var(--ink);border-left:1px solid var(--line);background:var(--white)}.journey-summary .eyebrow{color:var(--brand)}.journey-summary h2{font-size:28px}.journey-summary-list p{padding-bottom:10px;border-color:var(--line)}.journey-summary-list span{color:var(--muted)}.journey-total{display:grid!important;gap:6px!important;margin-top:8px!important;padding:14px!important;border:0!important;border-radius:10px;background:color-mix(in srgb,var(--brand) 9%,var(--white))}.journey-total strong{color:var(--brand);font-size:22px}.phone-fap-price{min-height:18px;color:var(--brand);font-weight:750}
@media(max-width:900px){.journey-shell{grid-template-columns:1fr}.journey-summary{position:static;order:-1;min-height:0;border-left:0;border-bottom:1px solid var(--line)}.journey-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.journey-choices{grid-template-columns:1fr}}

/* Configuration téléphone : même parcours que le back-office, sans quitter le catalogue. */
.phone-photo{display:block;width:100%;height:260px;object-fit:contain;margin:0 auto 8px;border-radius:18px;background:linear-gradient(145deg,#f7f7fa,#ececf3)}
.phone-config-dialog{width:min(1180px,calc(100vw - 32px));max-width:none;height:min(840px,calc(100vh - 32px));max-height:none;margin:auto;padding:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--white);box-shadow:0 30px 120px rgba(9,7,24,.35)}
.phone-config-dialog::backdrop{background:rgba(9,7,24,.52);backdrop-filter:blur(5px)}
.phone-dialog-window{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%}
.phone-dialog-handle{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;border-bottom:1px solid var(--line);background:var(--white);cursor:move;touch-action:none;user-select:none}
.phone-dialog-handle .eyebrow{margin:0 0 4px}.phone-dialog-handle h1{margin:0;font-size:25px;letter-spacing:-.025em}
.phone-dialog-close{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:var(--surface);font-size:26px;line-height:1;cursor:pointer}
.phone-dialog-journey{min-height:0;height:100%;grid-template-columns:minmax(0,1fr) 310px;overflow:hidden}
.phone-dialog-journey>main{max-width:none;height:100%;padding:18px 22px;overflow:auto}
.phone-dialog-journey .journey-summary{position:static;height:100%;min-height:0;padding:24px 20px;overflow:auto}
.phone-journey-product{display:grid;grid-template-columns:92px 1fr;gap:16px;align-items:center;margin:0 0 14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.phone-journey-product img{width:92px;height:108px;object-fit:contain}.phone-journey-product .phone-shape{width:58px;height:104px;margin:0 auto;border-width:4px;border-radius:14px}.phone-journey-product .phone-shape:before{top:4px;width:18px;height:5px}
.phone-journey-product>div:last-child{display:grid;gap:5px}.phone-journey-product strong{font-size:18px}.phone-journey-product span{color:var(--muted);font-size:13px}
.color-choice{grid-template-columns:30px 1fr;align-items:center}.color-choice strong{grid-column:2}.color-choice small{display:none}.color-choice-dot{grid-row:1;display:block;width:24px;height:24px;border:3px solid var(--white);border-radius:50%;background:var(--choice-color);box-shadow:0 0 0 1px var(--line)}
.color-choice.is-selected .color-choice-dot{box-shadow:0 0 0 2px var(--brand)}
.phone-fap-price{display:block;min-height:18px;color:var(--muted);font-weight:650}.device-card .phone-price{color:var(--ink)}
@media(max-width:900px){.phone-config-dialog{width:calc(100vw - 18px);height:calc(100vh - 18px)}.phone-dialog-journey{grid-template-columns:1fr}.phone-dialog-journey .journey-summary{height:auto;border-top:1px solid var(--line)}.phone-dialog-journey>main{height:auto}.phone-dialog-journey{overflow:auto}}
@media(max-width:560px){.phone-dialog-handle{padding:13px 15px}.phone-dialog-handle h1{font-size:20px}.phone-dialog-journey>main{padding:12px}.phone-journey-product{grid-template-columns:70px 1fr}.phone-journey-product img{width:70px;height:88px}}

/* Catalogue éditorial : neuf appareils par page, couleur puis capacité. */
.phone-selection-heading{display:flex;justify-content:space-between;max-width:1200px;margin:0 auto;padding:10px clamp(24px,5vw,80px) 0}.phone-selection-heading .eyebrow{margin-bottom:7px}.phone-selection-heading h2{margin:0;font-size:clamp(27px,3vw,42px);letter-spacing:-.04em}.device-grid{max-width:1380px;margin:0 auto}.phone-card-visual{display:grid;place-items:center;min-height:260px}.phone-card-visual .phone-shape{margin:0}.phone-card-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.phone-card-heading>div:first-child{min-width:0}.phone-card-heading h2{margin-top:5px}.phone-card-colors{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.phone-card-colors button{width:24px;height:24px;padding:0;border:3px solid var(--white);border-radius:50%;background:var(--choice-color);box-shadow:0 0 0 1px #c8c8ce;cursor:pointer}.phone-card-colors button.is-selected{box-shadow:0 0 0 3px var(--brand)}.phone-capacity-label{color:var(--muted);font-size:12px}.phone-card-capacities{display:flex;gap:8px;flex-wrap:wrap}.phone-card-capacities button{min-height:38px;padding:0 13px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--white);font-weight:750;cursor:pointer}.phone-card-capacities button.is-selected{color:var(--brand);border-color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,var(--white));box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 10%,transparent)}.phone-pagination{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:-65px 0 75px}.phone-pagination button{min-width:42px;height:42px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--white);cursor:pointer}.phone-pagination button.is-current{color:white;border-color:var(--brand);background:var(--brand)}
@media(max-width:1100px){.catalog-toolbar{grid-template-columns:1fr 1fr}.catalog-toolbar p{grid-column:1/-1}}
@media(max-width:900px){.phone-selection-heading{padding-left:24px;padding-right:24px}.device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.catalog-toolbar,.device-grid{grid-template-columns:1fr}.phone-card-visual{min-height:220px}.phone-pagination{margin-top:-45px}}

.contact-grid{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);gap:24px;max-width:1200px;margin:0 auto}.contact-card{padding:clamp(24px,4vw,42px);border:1px solid var(--line);border-radius:24px;background:var(--white);box-shadow:0 18px 50px rgb(25 22 48 / 8%)}.contact-card h2{margin:14px 0 8px;font-size:clamp(24px,3vw,36px)}.appointment-form{display:grid;gap:22px}.appointment-form fieldset{min-width:0;margin:0;padding:0;border:0}.appointment-form legend{margin-bottom:10px;font-weight:750}.appointment-slots>div{display:flex;flex-wrap:wrap;gap:9px}.appointment-slots button{min-height:42px;padding:0 14px;border:1px solid var(--line);border-radius:999px;color:var(--ink);background:var(--surface);font-weight:750;cursor:pointer}.appointment-slots button.is-selected{color:white;border-color:var(--brand);background:var(--brand)}.appointment-form small{color:var(--muted);line-height:1.5}.appointment-form textarea{resize:vertical}
@media(max-width:820px){.contact-grid{grid-template-columns:1fr}}

/* Mise en page Wave. Couleurs, polices, logo et formes restent pilotés par le CMS. */
:root{--surface:#92b0bf;--white:#cfc8fe;--ink:#080411;--muted:#514a63;--brand:#11005c;--brand-dark:#08002f;--cyan:#21b8c7;--line:color-mix(in srgb,var(--brand) 18%,transparent);--shadow:0 24px 70px rgba(17,0,92,.16)}
body{min-height:100vh;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 84%,white),var(--surface));background-attachment:fixed}
.site-header{height:76px;margin:12px clamp(12px,2vw,28px) 0;padding:0 clamp(18px,3vw,42px);color:white;border:1px solid color-mix(in srgb,var(--white) 18%,transparent);border-radius:var(--radius);background:color-mix(in srgb,var(--brand-dark) 92%,transparent);box-shadow:0 14px 40px color-mix(in srgb,var(--brand) 22%,transparent);backdrop-filter:blur(22px)}
.brand-mark{width:42px;height:42px;border-radius:calc(var(--radius) * .58);background:linear-gradient(145deg,var(--brand),color-mix(in srgb,var(--brand) 58%,var(--cyan)));box-shadow:0 9px 24px color-mix(in srgb,var(--brand) 32%,transparent);font-size:21px;font-weight:900}.brand-mark.has-logo{background-color:var(--white);background-position:center;background-repeat:no-repeat;background-size:contain}.desktop-nav a,.account-link{color:rgba(255,255,255,.78)}.desktop-nav a:hover,.account-link:hover{color:var(--cyan)}.icon-action,.menu-toggle{color:white}
.view{padding:18px clamp(12px,2vw,28px) 40px}.hero,.page-intro,.selfcare-shell,.journey-shell,.checkout-layout{max-width:1500px;margin:0 auto;border:1px solid rgba(255,255,255,.18);border-radius:36px;overflow:hidden;box-shadow:var(--shadow)}
.hero{min-height:min(690px,calc(100vh - 124px))}.hero-home{background:radial-gradient(circle at 78% 14%,color-mix(in srgb,var(--cyan) 45%,transparent),transparent 25%),radial-gradient(circle at 12% 88%,color-mix(in srgb,var(--white) 30%,transparent),transparent 30%),linear-gradient(145deg,var(--brand-dark),var(--brand) 58%,color-mix(in srgb,var(--brand-dark) 68%,var(--cyan)))}
.hero h1{max-width:850px;margin-inline:auto}.hero-actions .secondary{color:var(--cyan);border-color:var(--cyan);background:rgba(8,0,47,.55)}
.section-pad{padding-top:clamp(42px,6vw,86px);padding-bottom:clamp(42px,6vw,86px)}
.quick-card,.news-grid article,.device-card,.plan-card,.stores article,.benefits article,.partner-grid article,.contact-card,.journey-stage,.form-section,.empty-state{border:1px solid rgba(255,255,255,.28);background:color-mix(in srgb,var(--white) 88%,white);box-shadow:0 18px 45px rgba(17,0,92,.1)}
.quick-card{min-height:360px}.quick-card.cobalt{background:linear-gradient(145deg,color-mix(in srgb,var(--brand) 70%,var(--white)),var(--brand))}.quick-card.warm{background:linear-gradient(145deg,var(--cyan),color-mix(in srgb,var(--cyan) 48%,var(--brand-dark)))}.quick-card.ink{background:linear-gradient(145deg,var(--brand),var(--brand-dark))}
.feature-split{max-width:calc(1500px - 56px);margin:0 auto;border-radius:32px;background:color-mix(in srgb,var(--white) 72%,transparent);box-shadow:var(--shadow)}.island-card{background:linear-gradient(155deg,var(--brand-dark),var(--brand))}.island-shape{background:linear-gradient(160deg,#6847ff,var(--cyan))}
.news{max-width:1500px;margin:0 auto}.news-visual{border-radius:calc(var(--radius) - 9px)}
.page-intro{padding:90px 24px 60px;color:white;background:radial-gradient(circle at 80% 10%,rgba(33,184,199,.35),transparent 24%),linear-gradient(145deg,var(--brand-dark),var(--brand))}.page-intro .eyebrow{color:var(--cyan)}.page-intro>p:last-child{color:rgba(255,255,255,.72)}
.filter-bar,.catalog-toolbar,.phone-selection-heading{margin-top:34px}.chip,.catalog-toolbar input,.catalog-toolbar select,.large-search,.order-form input{border-color:var(--line);background:color-mix(in srgb,var(--white) 88%,white)}.chip.active{background:var(--brand)}
.button{border-radius:calc(var(--radius) * .58)}.button.primary{background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 62%,var(--cyan)));box-shadow:0 10px 25px color-mix(in srgb,var(--brand) 22%,transparent)}.button.secondary{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 35%,transparent);background:var(--white)}
.device-grid article,.news-grid article,.plan-card,.contact-card{border-radius:var(--radius)}.phone-photo{background:color-mix(in srgb,var(--surface) 35%,white)}
.hero-fibre,.hero-club{margin-top:0}.hero-fibre{background:radial-gradient(circle at 75% 25%,color-mix(in srgb,var(--brand) 35%,transparent),transparent 30%),linear-gradient(145deg,color-mix(in srgb,var(--brand-dark) 65%,var(--cyan)),color-mix(in srgb,var(--cyan) 62%,var(--brand)))}.hero-club{background:radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--cyan) 42%,transparent),transparent 28%),linear-gradient(145deg,var(--brand-dark),var(--brand) 58%,color-mix(in srgb,var(--brand) 62%,var(--cyan)))}
.contact-grid{margin-top:32px}.public-chat-card{color:white;background:linear-gradient(155deg,var(--brand-dark),var(--brand))}.public-chat-card p{color:rgba(255,255,255,.72)}.public-chat-card .quick-icon{background:rgba(255,255,255,.12)}
.appointment-slots button{background:color-mix(in srgb,var(--surface) 28%,white)}
.selfcare-shell{min-height:calc(100vh - 124px);background:color-mix(in srgb,var(--surface) 70%,white)}.selfcare-nav{background:linear-gradient(180deg,var(--brand-dark),var(--brand))}.selfcare-nav button.active{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 68%,var(--cyan)),var(--brand))}.status-banner{background:linear-gradient(120deg,var(--brand),color-mix(in srgb,var(--brand) 62%,var(--cyan)))}.dashboard-grid article,.line-card,.timeline,.profile-list,.request-list{background:var(--white);border:1px solid color-mix(in srgb,var(--white) 30%,transparent)}
.journey-shell,.checkout-layout{background:color-mix(in srgb,var(--surface) 52%,white)}.journey-summary,.order-summary{color:white;border:0;background:linear-gradient(160deg,var(--brand-dark),var(--brand))}.journey-summary .eyebrow{color:var(--cyan)}.journey-summary-list span{color:rgba(255,255,255,.65)}.journey-summary-list p{border-color:rgba(255,255,255,.15)}
footer{margin:0 clamp(12px,2vw,28px) 18px;border-radius:32px;background:linear-gradient(145deg,#080019,var(--brand-dark))}
@media(max-width:900px){.site-header{height:66px;border-radius:19px}.view{padding-top:12px}.hero,.page-intro,.selfcare-shell,.journey-shell,.checkout-layout{border-radius:28px}.selfcare-nav{border-radius:0}.journey-summary{color:white;background:linear-gradient(145deg,var(--brand-dark),var(--brand))}.journey-summary-list span{color:rgba(255,255,255,.65)}}
@media(max-width:560px){.site-header{margin:7px 7px 0}.view{padding:8px 7px 28px}.hero,.page-intro,.selfcare-shell,.journey-shell,.checkout-layout{border-radius:24px}.hero{min-height:600px}.quick-card{min-height:280px}.feature-split{margin:0 7px;border-radius:24px}footer{margin:0 7px 7px;border-radius:24px}}

/* Grille publique pilotée par le CMS SCCom. Les contenus métier conservent leurs composants. */
.view.cms-runtime-page.active{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(90px,auto);gap:clamp(12px,2vw,24px)}
.view.cms-runtime-page.active>*,.cms-runtime-page>.cms-runtime-module{grid-column:1/-1}
.cms-runtime-page>.cms-runtime-module{grid-column:var(--cms-module-column,1/-1);grid-row:var(--cms-module-row,auto)}
.cms-runtime-module{min-width:0;min-height:calc(var(--cms-module-height,1)*90px)}
.cms-runtime-html{min-width:0;padding:clamp(18px,3vw,42px);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);overflow:hidden}
.cms-runtime-html>.public-module{display:grid;gap:14px;height:100%}
.public-module__eyebrow{margin:0;color:var(--brand);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.public-module__title{margin:0;font-size:clamp(26px,4vw,52px);line-height:1.05;letter-spacing:-.04em}
.public-module__body{max-width:760px;margin:0;color:var(--muted);font-size:17px;line-height:1.6}
.public-module__content:empty{display:none}
.public-module__content>.hero,.public-module__content>.page-intro,.public-module__content>.section-pad{margin:0;padding-left:0;padding-right:0;border:0;box-shadow:none}
@media(max-width:900px){.view.cms-runtime-page.active{grid-template-columns:1fr}.cms-runtime-page>.cms-runtime-module{grid-column:1!important;grid-row:auto!important}.cms-runtime-module{min-height:0}}

/* Conversation client publique : identité minimale, fil borné et zone de saisie toujours visible. */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.public-chat-card{align-self:start}.public-chat-contact{margin-top:24px}.public-chat-contact input,.public-chat-contact textarea,.public-chat-composer textarea{width:100%;padding:12px 14px;border:1px solid rgba(255,255,255,.28);border-radius:calc(var(--radius) * .38);color:white;background:rgba(255,255,255,.1);outline:none;resize:vertical}.public-chat-contact input:focus,.public-chat-contact textarea:focus,.public-chat-composer textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px color-mix(in srgb,var(--cyan) 20%,transparent)}.public-chat-contact label>span{display:block;margin:0 0 7px;color:rgba(255,255,255,.72);font-size:12px;font-weight:700}.public-chat-thread{display:grid;grid-template-rows:minmax(180px,420px) auto;gap:12px;margin-top:22px}.public-chat-messages{display:flex;flex-direction:column;gap:9px;min-height:180px;max-height:420px;padding:12px;overflow:auto;border:1px solid rgba(255,255,255,.18);border-radius:calc(var(--radius) * .5);background:rgba(0,0,0,.12)}.public-chat-message{align-self:flex-start;max-width:88%;padding:10px 13px;border-radius:16px;color:var(--ink);background:var(--white)}.public-chat-message.is-customer{align-self:flex-end;color:white;background:color-mix(in srgb,var(--cyan) 38%,var(--brand))}.public-chat-message strong{display:block;margin-bottom:3px;font-size:11px}.public-chat-message p{margin:0!important;color:inherit!important;white-space:pre-wrap;overflow-wrap:anywhere}.public-chat-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end}.public-chat-composer .button{min-height:48px}.public-chat-card>.form-result{margin-bottom:0;color:#b9f7ff}@media(max-width:560px){.public-chat-composer{grid-template-columns:1fr}.public-chat-message{max-width:94%}}
.selfcare-auth{display:grid;grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr);gap:clamp(28px,6vw,90px);align-items:start;max-width:1180px;margin:0 auto}.account-register-form{padding:clamp(22px,4vw,38px);border:1px solid color-mix(in srgb,var(--brand) 14%,transparent);border-radius:var(--radius);background:var(--white);box-shadow:0 22px 55px rgba(20,9,62,.1)}.account-register-form label>span{display:block;margin:0 0 7px;color:var(--muted);font-size:12px;font-weight:800}.account-register-form input:not([type=checkbox]){width:100%;padding:13px 14px;border:1px solid rgba(28,18,60,.18);border-radius:calc(var(--radius) * .35);background:white}.account-register-form .marketing-consent{align-items:flex-start;margin:22px 0;font-size:13px;line-height:1.55}.account-register-form .marketing-consent input{margin-top:4px}.account-register-form .marketing-consent a{color:var(--brand);font-weight:800}@media(max-width:760px){.selfcare-auth{grid-template-columns:1fr}.account-register-form{padding:20px}}
.selfcare-auth{min-height:calc(100vh - 64px);align-content:center;padding-top:clamp(48px,8vw,110px);padding-bottom:clamp(48px,8vw,110px)}.account-login-form{display:grid;gap:18px}.account-help-links{display:flex;justify-content:center;gap:9px 18px;flex-wrap:wrap}.account-help-links button{padding:4px;border:0;color:var(--brand);background:transparent;font-size:13px;font-weight:750;cursor:pointer}.account-registration-dialog{width:min(760px,calc(100vw - 28px));max-height:calc(100vh - 28px);padding:0;overflow:auto;border-radius:var(--radius);background:var(--white)}.account-registration-dialog .account-register-form{box-shadow:none}.account-registration-dialog h2{margin:0 0 10px;font-size:clamp(30px,4vw,46px)}
.contact-grid.is-appointment-only{display:block;max-width:960px}.appointment-form{padding:clamp(24px,5vw,52px)}.appointment-form .field-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:18px 20px}.appointment-form .field-grid>label{grid-column:span 6}.appointment-form .field-grid>.wide,.appointment-form .field-grid>fieldset{grid-column:1/-1}.appointment-form label>span{display:block;margin:0 0 8px;color:var(--muted);font-size:12px;font-weight:800}.appointment-form input,.appointment-form select,.appointment-form textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--brand) 16%,var(--line));border-radius:calc(var(--radius) * .38);color:var(--ink);background:color-mix(in srgb,var(--surface) 45%,var(--white));outline:none}.appointment-form input:focus,.appointment-form select:focus,.appointment-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 13%,transparent)}
.public-chat-dialog{inset:auto 22px 22px auto;width:min(430px,calc(100vw - 28px));height:min(680px,calc(100vh - 110px));max-height:none;margin:0;padding:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--brand) 20%,transparent);border-radius:var(--radius);background:var(--white);box-shadow:0 28px 90px rgba(8,3,34,.28)}.public-chat-dialog::backdrop{background:transparent;backdrop-filter:none;pointer-events:none}.public-chat-dialog[open]{display:grid}.public-chat-dialog .public-chat-card{display:flex;min-height:0;height:100%;padding:24px;flex-direction:column;border:0;border-radius:0;box-shadow:none;background:linear-gradient(155deg,var(--brand-dark),var(--brand));color:white}.public-chat-dialog .public-chat-card>p{color:rgba(255,255,255,.75)}.public-chat-dialog .public-chat-thread{min-height:0;flex:1;grid-template-rows:minmax(0,1fr) auto}.public-chat-dialog .public-chat-messages{min-height:0;max-height:none}.public-chat-dialog-close{position:absolute;z-index:2;right:14px;top:12px;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:white;background:rgba(0,0,0,.18);font-size:25px;cursor:pointer}.public-chat-launcher{position:fixed;z-index:45;right:24px;bottom:24px;display:grid;place-items:center;width:62px;height:62px;border:0;border-radius:50%;color:white;background:linear-gradient(135deg,var(--brand),var(--cyan));box-shadow:0 14px 35px color-mix(in srgb,var(--brand) 35%,transparent);font-size:24px;cursor:pointer}.public-chat-composer label{min-width:0}.public-chat-composer textarea{color:white}.public-chat-dialog .form-result{color:#d9fbff}
.appointment-form.has-known-customer label:has(input[name="firstName"]),.appointment-form.has-known-customer label:has(input[name="lastName"]),.appointment-form.has-known-customer label:has(input[name="email"]),.appointment-form.has-known-customer label:has(input[name="phone"]){display:none}
@media(max-width:620px){.appointment-form .field-grid>label{grid-column:1/-1}.public-chat-dialog{inset:auto 7px 7px 7px;width:auto;height:calc(100vh - 88px)}.public-chat-launcher{right:16px;bottom:16px}.account-help-links{align-items:center;flex-direction:column}}
.order-tracking{max-width:1000px;margin:0 auto}.tracking-list{display:grid;gap:14px}.tracking-list article{padding:22px;border:1px solid color-mix(in srgb,var(--brand) 16%,var(--line));border-radius:calc(var(--radius) * .7);background:var(--white);box-shadow:0 14px 35px rgba(17,0,92,.08)}.tracking-list article>div{display:flex;align-items:center;justify-content:space-between;gap:16px}.tracking-list article>div span{padding:7px 11px;border-radius:999px;color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,white);font-size:12px;font-weight:800}.tracking-list article p{margin:12px 0 7px;font-size:18px;font-weight:750}.tracking-list article small{color:var(--muted)}
.filter-bar select,.filter-bar input{min-height:44px;padding:10px 15px;border:1px solid var(--line);border-radius:999px;color:var(--ink);background:var(--white)}.filter-bar input{width:min(360px,90vw)}.plans.plans-row{grid-template-columns:repeat(var(--plan-columns,3),minmax(0,1fr))}.plans.plans-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.plans.plans-carousel .plan-card{min-width:min(360px,82vw);scroll-snap-align:start}.plans.cards-small .plan-card{padding:22px}.plans.cards-small .plan-card h2{font-size:29px}.plans.cards-large .plan-card{padding:44px}.plans.hover-highlight .plan-card:hover,.plans.click-highlight .plan-card:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}.plans.hover-grow .plan-card:hover,.plans.click-grow .plan-card:focus-within{transform:scale(1.025)}.plans.hover-expand .plan-card:hover,.plans.click-expand .plan-card:focus-within{transform:translateY(-7px);box-shadow:var(--shadow)}.plan-card{transition:transform .22s,border-color .22s,box-shadow .22s}.plan-pagination{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:-70px 0 80px}.plan-pagination button{min-width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--white);cursor:pointer}.plan-pagination button.is-current{color:white;border-color:var(--brand);background:var(--brand)}
@media(max-width:900px){.plans.plans-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.plans.plans-row{grid-template-columns:1fr}.filter-bar{padding-inline:18px}.filter-bar select,.filter-bar input{width:100%}}
/* CMS blocks share the distributor theme with native catalogue components. */
.cms-block-grid { display:grid; gap:18px; margin-block:16px; }
.cms-block-grid.cms-block-carousel { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; }
.cms-block-carousel > * { flex:0 0 280px; scroll-snap-align:start; }
.cms-block-card,.cms-block-grid details { padding:20px; border-radius:var(--radius); background:var(--white); color:var(--ink); border:1px solid color-mix(in srgb,var(--ink) 15%,transparent); }
.cms-block-grid.cards-small > * { padding:10px; font-size:.85rem; }
.cms-block-grid.cards-large > * { padding:28px; font-size:1.08rem; }
.cms-block-content > img { width:100%; max-height:350px; object-fit:cover; border-radius:var(--radius); }
.cms-block-content > input { width:100%; padding:12px; border:1px solid var(--muted); border-radius:var(--radius); background:var(--white); color:var(--ink); }
.cms-block-grid.hover-highlight > :hover { outline:2px solid var(--brand); }
.cms-block-grid.hover-grow > :hover { transform:scale(1.03); }
.cms-block-grid.hover-expand > :hover { box-shadow:0 8px 24px color-mix(in srgb,var(--brand) 25%,transparent); }
.module-caption,.module-subtitle { color:var(--muted); }
#cms-preview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:minmax(70px,auto); gap:18px; max-width:1440px; padding:24px; margin:auto; }
#preview-status { padding:12px 24px; background:var(--white); color:var(--ink); }
.cms-block-card > img { width:100%; height:220px; object-fit:contain; }
.cms-block-grid.click-highlight > .is-selected { outline:2px solid var(--brand); }
.cms-block-grid.click-grow > .is-selected { transform:scale(1.03); }
.cms-block-grid.click-expand > .is-selected { padding-block:28px; box-shadow:0 8px 24px color-mix(in srgb,var(--brand) 25%,transparent); }
.public-store-network { display:grid; gap:14px; min-width:0; text-align:left; }
.store-network-tools,.store-network-tools form { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.store-network-tools input { padding:12px; color:var(--ink); background:var(--white); border:1px solid var(--line); border-radius:var(--radius); }
.store-network-map { min-height:240px; width:100%; border-radius:var(--radius); border:1px solid var(--line); z-index:0; background:var(--surface); }
.store-map-pin { display:grid; place-items:center; background:transparent; }
.store-map-pin span { display:block; width:20px; height:20px; border-radius:50%; background:var(--brand,#4a2ba6); border:3px solid var(--white,#fff); box-shadow:0 1px 6px #0008; }
.store-map-pin:focus-visible { outline:3px solid var(--brand,#4a2ba6); outline-offset:3px; }
.public-module--news .cms-block-card img { display:block; width:100%; max-height:260px; object-fit:cover; border-radius:var(--radius); }
.public-module--news .cms-block-card p { white-space:pre-wrap; }
.store-network-list { max-height:calc(var(--store-visible-rows,3)*76px); overflow:auto; border:1px solid var(--line); border-radius:var(--radius); }
.store-network-list[hidden] { display:none; }
.store-network-row { border-bottom:1px solid var(--line); padding:12px 16px; min-height:76px; }
.store-network-row summary { cursor:pointer; min-height:50px; }
.store-network-row summary small { display:block; color:var(--muted); margin-top:6px; }
.store-network-coordinates { display:grid; gap:8px; padding-block:8px; overflow-wrap:anywhere; }
.store-network-coordinates .button { padding:10px 14px; min-height:36px; }
.public-store-network .leaflet-popup-content-wrapper { color:var(--ink); background:var(--white); border-radius:var(--radius); }
.public-store-network .leaflet-control-attribution { color:var(--ink); background:var(--white); }
.cms-block-grid:is(.hover-expand,.click-expand) :is(.plan-card,.cms-block-card) .module-card-expanded,.plans:is(.hover-expand,.click-expand) .plan-card .module-card-expanded { display:none; }
.cms-block-grid.hover-expand > :hover .module-card-expanded,.cms-block-grid.click-expand > .is-selected .module-card-expanded,
.plans.hover-expand .plan-card:hover .module-card-expanded,.plans.click-expand .plan-card.is-selected .module-card-expanded { display:block; }
.cms-block-grid,.plans { align-items:start; }
.cms-block-grid.click-expand > .is-selected,.plans.click-expand > .is-selected { grid-column:auto; }
/* Expansion changes only the height; the grid column never changes. */
@media(max-width:640px) { #cms-preview { display:block; padding:12px; } #cms-preview > * { margin-bottom:16px; } }
@media(max-width:640px) { .cms-block-grid { grid-template-columns:1fr!important; } }
.search-choice{position:relative;display:grid;gap:8px;min-width:0}.search-choice-options{position:absolute;top:100%;left:0;right:0;max-height:230px;overflow:auto;z-index:20;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px #0002}.search-choice-options button{display:block;width:100%;padding:10px;text-align:left;background:var(--white);color:var(--ink);border:0}.search-choice-options button:hover,.search-choice-options [aria-selected=true]{background:var(--surface);outline:2px solid var(--brand)}
.journey-phone-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.journey-phone-grid img{width:100%;height:160px;object-fit:contain}.journey-choice small{font-size:.8rem;line-height:1.5}.radio-choices{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.radio-choices label{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}.radio-choices input{appearance:auto;width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:0;padding:0;accent-color:var(--brand)}.radio-choices label:has(:checked){border-color:var(--brand);background:var(--surface)}
.checkout-layout{width:100%;max-width:none;grid-template-columns:minmax(0,1fr) minmax(260px,340px)}.checkout-main,.order-tracking,.tracking-list,.tracking-list>article{width:100%;min-width:0}.order-reference-filter{display:grid;gap:8px;margin-bottom:20px}.phone-dialog-journey:has(>.journey-summary[hidden]){grid-template-columns:1fr}.phone-dialog-journey [hidden],#portability-fields[hidden],.search-choice-options[hidden]{display:none!important}
@media(max-width:700px){.journey-phone-grid{grid-template-columns:1fr}.checkout-layout{grid-template-columns:1fr}}
.order-summary #checkout-selection-details{margin-top:24px}.order-summary .journey-summary-list strong{font-size:15px}.order-summary .journey-summary-list p{display:flex;gap:16px;justify-content:space-between;align-items:baseline}.order-summary .journey-summary-list strong{text-align:right}.order-summary .journey-summary-list span{font-size:14px}
.view .order-tracking{max-width:none}
.plan-card .price{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25em}
.plan-card .price .plan-price-prefix{flex-basis:100%;font-size:1rem;font-weight:500}
.plan-price-conditions{display:block;font-size:.875rem;line-height:1.6;overflow-wrap:anywhere;color:var(--muted);margin-block:.75rem 1rem}
/* Live Google reviews: same fluid module frame, never a fixed page width. */
.google-reviews {display:grid;gap:1rem;min-width:0;}
.google-reviews label {display:flex;gap:1rem;align-items:center;flex-wrap:wrap;}
.google-reviews label[hidden] {display:none;}
.google-reviews select {max-width:100%;min-width:0;min-height:2.75rem;padding:.6rem 1rem;border:1px solid var(--brand);border-radius:var(--radius);color:var(--ink);background:var(--white);font:inherit;}
.google-reviews select:focus-visible {outline:2px solid var(--brand);outline-offset:2px;}
.google-review-card a,.google-review-attribution a {text-decoration:underline;text-underline-offset:.2em;}
.google-reviews-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1.25rem;width:100%;}
.google-review-card {min-width:0;padding:clamp(1rem,5%,2rem);border:1px solid var(--line,#ddd);border-top:3px solid var(--brand,#6236f5);border-radius:var(--radius,1.5rem);background:var(--white,#fff);color:var(--ink,#141414);display:flex;flex-direction:column;gap:1rem;overflow-wrap:anywhere;}
.google-review-card blockquote {margin:0;white-space:pre-wrap;font-size:1rem;line-height:1.65;}
.google-review-card p {margin:0;}
.google-review-author {display:flex;align-items:center;gap:.75rem;}
.google-review-author img {width:2.5rem;height:2.5rem;object-fit:cover;border-radius:50%;}
.google-review-rating {color:var(--brand,#6236f5);}
.google-review-attribution {display:flex;align-items:center;flex-wrap:wrap;gap:1rem;}
.google-review-attribution>img {height:18px;width:auto;padding:10px 10px 5px;box-sizing:content-box;background:white;border-radius:.25rem;}
.gp-audience-choice { position: fixed; inset: auto auto 1rem 1rem; z-index: 90; max-width: min(92vw, 36rem); font-size: .875rem; }
.gp-audience-panel { padding: 1rem; margin-top: .5rem; border: 1px solid var(--line, #ddd); border-radius: 1rem; background: var(--white, #fff); color: var(--ink, #141414); box-shadow: 0 .5rem 2rem #0002; max-height: 60vh; overflow: auto; }
.gp-audience-panel[hidden] { display: none; }
.gp-audience-panel p { margin: 0 0 1rem; }
.gp-audience-actions { display: flex; gap: .75rem; flex-wrap: wrap; }
