/* GS Builder — extrait en V29. */

/* V27.94 — Typographie alignée sur l'identité globale : Bebas Neue + Outfit, déjà chargées par header.php. */

.pc-builder-page{
 --pc-bg:#080808;
 --pc-surface:#101010;
 --pc-surface-2:#151515;
 --pc-line:rgba(255,255,255,.09);
 --pc-line-strong:rgba(239,68,68,.38);
 --pc-red:#ef4444;
 --pc-red-dark:#8f1818;
 --pc-text:#f4f4f4;
 --pc-muted:#a6a6a6;
 --pc-font-body:Outfit,'Segoe UI',system-ui,sans-serif;
 --pc-font-title:'Bebas Neue',Impact,'Arial Narrow',sans-serif;
 --gs-builder-art:url('../img/gs-builder-background-desktop.webp');
 position:relative;
 z-index:0;
 isolation:isolate;
 max-width:1320px;
 margin:0 auto;
 padding:34px 22px 58px;
 color:var(--pc-text);
 font-family:var(--pc-font-body);
}

.pc-builder-page,
.pc-builder-page::before,
.pc-builder-page::after,
.pc-builder-page *{
 box-sizing:border-box;
}

/* Fond pleine largeur propre au GS Builder. La première couche charge
   l'illustration dédiée, sans toucher aux autres pages du thème. */
.pc-builder-page::before,
.pc-builder-page::after{
 content:"";
 position:absolute;
 top:0;
 bottom:0;
 left:50%;
 width:100vw;
 max-width:100vw;
 transform:translateX(-50%);
 pointer-events:none;
}

.pc-builder-page::before{
 z-index:-2;
 background-color:#06070a;
 background-image:
  var(--gs-builder-art),
  radial-gradient(circle at 50% -4%,rgba(239,68,68,.24),transparent 30%),
  radial-gradient(ellipse at -8% 28%,rgba(151,24,41,.18),transparent 34%),
  radial-gradient(ellipse at 108% 66%,rgba(112,15,32,.18),transparent 36%),
  linear-gradient(180deg,#13070a 0%,#08090d 24%,#050609 72%,#090a0e 100%);
 background-position:center top,center top,left center,right center,center;
 background-size:min(100vw,1920px) auto,auto,auto,auto,auto;
 background-repeat:no-repeat;
}

.pc-builder-page::after{
 z-index:-1;
 opacity:.72;
 background-image:
  linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px),
  radial-gradient(circle,rgba(239,68,68,.24) 0 1px,transparent 1.6px),
  repeating-linear-gradient(135deg,transparent 0 88px,rgba(239,68,68,.026) 89px 90px,transparent 91px 176px);
 background-position:center top;
 background-size:54px 54px,54px 54px,27px 27px,176px 176px;
 background-repeat:repeat;
 -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.96),rgba(0,0,0,.72) 52%,rgba(0,0,0,.22));
 mask-image:linear-gradient(to bottom,rgba(0,0,0,.96),rgba(0,0,0,.72) 52%,rgba(0,0,0,.22));
}

.build-hero{
 position:relative;
 overflow:hidden;
 border:1px solid var(--pc-line);
 border-radius:28px;
 padding:38px;
 margin-bottom:22px;
 background:
 linear-gradient(90deg,rgba(3,4,6,.88) 0%,rgba(3,4,6,.66) 48%,rgba(3,4,6,.24) 100%),
 linear-gradient(135deg,rgba(239,68,68,.16),transparent 34%),
 radial-gradient(circle at 82% 10%,rgba(239,68,68,.12),transparent 28%),
 linear-gradient(180deg,rgba(18,18,20,.32),rgba(5,6,8,.70));
 box-shadow:0 28px 70px rgba(0,0,0,.35);
}

.build-hero:before{
 content:"";
 position:absolute;
 inset:-40px -120px auto auto;
 width:520px;
 height:170px;
 background:linear-gradient(100deg,transparent 0%,rgba(239,68,68,.42) 35%,rgba(239,68,68,.08) 67%,transparent 100%);
 transform:rotate(-12deg);
 opacity:.32;
 pointer-events:none;
}

.build-hero:after{
 content:"";
 position:absolute;
 inset:0;
 background:
 linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
 linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
 background-size:42px 42px;
 mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 78%);
 pointer-events:none;
}

.build-kicker{
 position:relative;
 z-index:1;
 display:inline-flex;
 align-items:center;
 min-height:30px;
 padding:0 12px;
 border:1px solid rgba(239,68,68,.34);
 border-radius:999px;
 background:rgba(239,68,68,.08);
 color:#ffb3b3;
 font-size:12px;
 font-weight:900;
 letter-spacing:.16em;
 text-transform:uppercase;
 margin:0 0 14px;
}

.build-hero h1{
 position:relative;
 z-index:1;
 max-width:850px;
 margin:0;
 font-size:clamp(34px,5vw,64px);
 line-height:1.02;
 letter-spacing:-.045em;
}

.build-hero p{
 position:relative;
 z-index:1;
 max-width:760px;
 margin:18px 0 0;
 color:#c7c7c7;
 font-size:17px;
 line-height:1.65;
}

.build-mode-switch{
 position:relative;
 z-index:1;
 display:flex;
 flex-wrap:wrap;
 gap:10px;
 margin-top:28px;
 padding:6px;
 width:fit-content;
 max-width:100%;
 border:1px solid rgba(255,255,255,.08);
 border-radius:18px;
 background:rgba(0,0,0,.28);
}

.mode-btn{
 appearance:none;
 border:1px solid transparent;
 background:transparent;
 color:#cfcfcf;
 border-radius:13px;
 padding:14px 18px;
 font-weight:900;
 cursor:pointer;
 transition:background .16s,border-color .16s,color .16s;
}

.mode-btn:hover{
 color:#fff;
 background:rgba(255,255,255,.04);
}

.mode-btn.active{
 background:linear-gradient(135deg,#ef4444,#9f1717);
 color:#fff;
 border-color:rgba(255,255,255,.08);
 box-shadow:0 14px 30px rgba(239,68,68,.18);
}

.mode-label-mobile{
 display:none;
}

.gs-builder-mobile-status{
 display:none;
}

.gs-builder-mobile-status[hidden],
.gs-builder-restore-notice[hidden]{
 display:none!important;
}

.gs-builder-restore-notice{
 margin:0 0 14px;
 padding:12px 15px;
 border:1px solid rgba(143,237,123,.26);
 border-radius:14px;
 background:linear-gradient(135deg,rgba(143,237,123,.11),rgba(143,237,123,.025));
 color:#dff9da;
 font-size:13px;
 font-weight:800;
 line-height:1.4;
}

body.gs-modal-open .gs-builder-mobile-status{
 display:none!important;
}

.auto-builder-panel,
.manual-builder-panel{
 display:none;
}

.auto-builder-panel.active,
.manual-builder-panel.active{
 display:block;
}

.auto-builder-panel{
 border:1px solid var(--pc-line);
 border-radius:24px;
 padding:24px;
 background:linear-gradient(180deg,#101010,#0b0b0b);
 margin-bottom:24px;
}

.auto-grid{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:14px;
}

.auto-card{
 background:#141414;
 border:1px solid rgba(255,255,255,.08);
 border-radius:18px;
 padding:18px;
}

.auto-card span{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 width:30px;
 height:30px;
 border-radius:50%;
 background:#211;
 color:#ef4444;
 font-weight:900;
 margin-bottom:14px;
}

.auto-card label{
 display:block;
 color:#fff;
 font-weight:800;
 margin-bottom:10px;
}

.auto-card select,
.manual-target select{
 width:100%;
 background:#090909;
 color:#fff;
 border:1px solid rgba(255,255,255,.12);
 border-radius:13px;
 padding:13px;
}

.auto-build-btn{
 margin-top:16px;
 background:linear-gradient(135deg,#ef4444,#a91919);
 color:#fff;
 border:0;
 border-radius:16px;
 padding:16px 22px;
 font-weight:900;
 cursor:pointer;
}

.auto-result{
 margin-top:20px;
}

.auto-result-empty,
.auto-budget-guard{
 margin:12px 0 0;
 text-align:center;
 color:#bdbdbd;
 font-size:12px;
 line-height:1.45;
}

.gsb-budget-lock{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 margin:12px 0 0;
 padding:12px 14px;
 border:1px solid rgba(143,237,123,.26);
 border-radius:14px;
 background:linear-gradient(135deg,rgba(143,237,123,.10),rgba(143,237,123,.025));
 color:#e9fbe9;
 font-size:13px;
 line-height:1.35;
}

.gsb-budget-lock strong{
 color:#aef59a;
 font-weight:950;
 text-transform:uppercase;
 letter-spacing:.07em;
 font-size:11px;
}

.gsb-budget-lock span{
 flex:1;
 text-align:center;
 font-weight:800;
}

.gsb-budget-lock em{
 color:#b8f7a9;
 font-style:normal;
 font-weight:900;
 white-space:nowrap;
}

@media(max-width:640px){
 .gsb-budget-lock{align-items:flex-start;flex-direction:column;gap:6px;}
 .gsb-budget-lock span{text-align:left;}
}

.auto-build-summary{
 background:#111;
 border:1px solid rgba(255,255,255,.08);
 border-radius:20px;
 padding:22px;
 color:#bdbdbd;
}

.builder-wrapper{
 display:grid;
 grid-template-columns:minmax(0,1fr) 380px;
 gap:20px;
 align-items:start;
}

.builder-main,
.summary-panel{
 border:1px solid var(--pc-line);
 border-radius:26px;
 background:
 linear-gradient(180deg,rgba(255,255,255,.025),transparent 24%),
 linear-gradient(180deg,#101010,#090909);
 box-shadow:0 24px 60px rgba(0,0,0,.28);
}

.builder-main{
 position:relative;
 overflow:hidden;
 padding:22px;
}

.builder-main:before{
 content:"";
 position:absolute;
 left:-90px;
 top:64px;
 width:280px;
 height:72px;
 background:linear-gradient(90deg,transparent,rgba(239,68,68,.24),transparent);
 transform:rotate(-16deg);
 pointer-events:none;
}

.manual-head{
 position:relative;
 z-index:1;
 display:flex;
 justify-content:space-between;
 gap:18px;
 align-items:flex-start;
 margin-bottom:18px;
 padding-bottom:18px;
 border-bottom:1px solid rgba(255,255,255,.08);
}

.builder-title{
 font-size:clamp(24px,3vw,36px);
 font-weight:950;
 letter-spacing:-.035em;
 color:#fff;
}

.builder-subtitle{
 margin-top:8px;
 max-width:720px;
 color:#aaa;
 font-size:15px;
 line-height:1.58;
}

.manual-target{
 min-width:170px;
}

.manual-target label{
 display:block;
 margin-bottom:8px;
 color:#8d8d8d;
 font-size:11px;
 font-weight:900;
 letter-spacing:.14em;
 text-transform:uppercase;
}

.manual-trust-row{
 position:relative;
 z-index:1;
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:10px;
 margin:0 0 15px;
}

.manual-trust-row span{
 min-height:40px;
 display:flex;
 align-items:center;
 justify-content:center;
 border-radius:14px;
 border:1px solid rgba(255,255,255,.08);
 background:linear-gradient(180deg,#141414,#0f0f0f);
 color:#d6d6d6;
 font-size:12px;
 font-weight:900;
 letter-spacing:.04em;
}

.alerts-zone{
 position:relative;
 z-index:1;
}

.slot{
 position:relative;
 background:linear-gradient(180deg,#151515,#101010);
 border:1px solid rgba(255,255,255,.085);
 border-radius:18px;
 margin-bottom:12px;
 overflow:hidden;
 transition:border-color .18s, background .18s, transform .18s;
}

.slot:before{
 content:"";
 position:absolute;
 left:0;
 top:0;
 bottom:0;
 width:3px;
 background:transparent;
 transition:background .18s;
}

.slot:hover{
 border-color:rgba(255,255,255,.18);
 background:linear-gradient(180deg,#181818,#101010);
}

.slot.selected{
 border-color:rgba(239,68,68,.5);
 background:
 linear-gradient(90deg,rgba(239,68,68,.08),transparent 42%),
 linear-gradient(180deg,#171717,#101010);
}

.slot.selected:before{
 background:#ef4444;
}

.slot-header{
 width:100%;
 border:0;
 background:transparent;
 color:inherit;
 font:inherit;
 text-align:left;
 padding:17px 18px;
 display:flex;
 align-items:center;
 gap:14px;
 cursor:pointer;
 user-select:none;
}

.slot-index{
 width:42px;
 height:42px;
 border-radius:14px;
 display:flex;
 align-items:center;
 justify-content:center;
 flex-shrink:0;
 background:#090909;
 border:1px solid rgba(255,255,255,.08);
 color:#ef4444;
 font-size:13px;
 font-weight:950;
 letter-spacing:.08em;
}

.slot-info{
 flex:1;
 min-width:0;
}

.slot-topline{
 display:flex;
 align-items:center;
 gap:10px;
 min-width:0;
 margin-bottom:5px;
}

.slot-label{
 font-size:12px;
 font-weight:950;
 text-transform:uppercase;
 letter-spacing:.13em;
 color:#ececec;
}

.slot-state{
 display:inline-flex;
 align-items:center;
 min-height:22px;
 padding:0 8px;
 border-radius:999px;
 background:rgba(255,255,255,.04);
 border:1px solid rgba(255,255,255,.06);
 color:#858585;
 font-size:10px;
 font-weight:900;
 text-transform:uppercase;
 letter-spacing:.08em;
 white-space:nowrap;
}

.slot.selected .slot-state{
 background:rgba(239,68,68,.12);
 border-color:rgba(239,68,68,.24);
 color:#ffb4b4;
}

.slot-value{
 font-size:15px;
 font-weight:800;
 color:#eee;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}

.slot-value.empty{
 color:#8d8d8d;
 font-weight:600;
 font-style:normal;
}

.slot-price{
 font-size:14px;
 color:#ef4444;
 font-weight:950;
 margin-right:8px;
 white-space:nowrap;
}

.slot-arrow{
 color:#777;
 transition:transform .2s, color .2s;
 flex-shrink:0;
}

.slot:hover .slot-arrow,
.slot.open .slot-arrow{
 color:#d8d8d8;
}

.slot.open .slot-arrow{
 transform:rotate(180deg);
}

.slot-dropdown{
 display:none;
 border-top:1px solid #202020;
 background:#0d0d0d;
}
.slot-dropdown[hidden]{display:none!important;}

.slot.open .slot-dropdown{
 display:block;
}

.dropdown-search{
 padding:12px 14px;
 border-bottom:1px solid #202020;
}

.dropdown-search input{
 width:100%;
 background:#111;
 border:1px solid #2c2c2c;
 border-radius:12px;
 padding:12px 13px;
 color:#ddd;
 outline:none;
}

.dropdown-search input:focus{
 border-color:rgba(239,68,68,.45);
 box-shadow:0 0 0 3px rgba(239,68,68,.09);
}

.dropdown-list{
 max-height:330px;
 overflow-y:auto;
}

.option-item{
 width:100%;
 border:0;
 background:transparent;
 color:inherit;
 font:inherit;
 text-align:left;
 padding:14px 16px;
 display:flex;
 align-items:center;
 gap:12px;
 cursor:pointer;
 border-bottom:1px solid #1b1b1b;
 transition:background .12s;
}

.option-item:hover:not(.incompatible){
 background:#181818;
}

.option-item.active{
 background:#1c0c0c;
 border-left:3px solid #ef4444;
}

.option-item.incompatible{
 opacity:.3;
 cursor:not-allowed;
 pointer-events:none;
}

.option-info{
 flex:1;
 min-width:0;
}

.option-name{
 font-size:14px;
 font-weight:900;
 color:#eee;
}

.option-specs{
 font-size:12px;
 color:#777;
 margin-top:3px;
}

.option-price{
 font-size:14px;
 font-weight:950;
 color:#ef4444;
 white-space:nowrap;
}

.option-badge{
 display:inline-flex;
 margin-left:8px;
 padding:3px 7px;
 border-radius:999px;
 background:rgba(239,68,68,.11);
 color:#ffb4b4;
 font-size:10px;
 font-weight:900;
 vertical-align:middle;
}

.summary-panel{
 position:sticky;
 top:86px;
 padding:18px;
}

.summary-card{
 border:1px solid rgba(255,255,255,.08);
 background:#111;
 border-radius:18px;
 margin-bottom:12px;
 overflow:hidden;
}

.summary-header{
 padding:14px 15px;
 color:#fff;
 font-size:13px;
 font-weight:950;
 letter-spacing:.1em;
 text-transform:uppercase;
 border-bottom:1px solid rgba(255,255,255,.06);
}

.summary-note{
 color:#777;
 font-weight:700;
 letter-spacing:0;
 text-transform:none;
 margin-left:6px;
}

.summary-body{
 padding:15px;
}

.summary-empty,
.no-selection{
 color:#777;
 margin:0;
}

.coherence-box{
 border-radius:15px;
 padding:15px;
 background:#0b0b0b;
 border:1px solid rgba(255,255,255,.08);
}

.coherence-box strong{
 display:block;
 color:#fff;
 margin-bottom:6px;
}

.coherence-box p{
 margin:0;
 color:#aaa;
 line-height:1.45;
}

.coherence-box.ok{border-color:rgba(34,197,94,.38);}
.coherence-box.warn{border-color:rgba(245,158,11,.44);}
.coherence-box.err{border-color:rgba(239,68,68,.58);}

.chip{
 display:inline-flex;
 margin:0 6px 6px 0;
 padding:7px 10px;
 border-radius:999px;
 font-size:12px;
 font-weight:900;
 background:#191919;
 border:1px solid rgba(255,255,255,.08);
 color:#ddd;
}

.chip.ok{color:#86efac;border-color:rgba(34,197,94,.28);}
.chip.warn{color:#facc15;border-color:rgba(245,158,11,.28);}
.chip.err{color:#ff9a9a;border-color:rgba(239,68,68,.35);}

.alert{
 margin:0 0 10px;
 padding:12px 14px;
 border-radius:14px;
 border:1px solid rgba(255,255,255,.08);
 background:#111;
 color:#cfcfcf;
 font-size:13px;
 line-height:1.45;
}

.alert.ok{border-color:rgba(34,197,94,.25);}
.alert.warn{border-color:rgba(245,158,11,.25);}
.alert.err{border-color:rgba(239,68,68,.35);}

.watt-label,
.watt-numbers{
 display:flex;
 justify-content:space-between;
 gap:12px;
 color:#bbb;
 font-size:12px;
 margin-bottom:8px;
}

.watt-numbers{
 margin:8px 0 0;
 color:#777;
}

.watt-bar-bg{
 height:9px;
 border-radius:999px;
 background:#222;
 overflow:hidden;
}

.watt-bar-fill{
 height:100%;
 border-radius:999px;
 background:#22c55e;
 transition:width .2s;
}

.watt-bar-fill.warn{background:#f59e0b;}
.watt-bar-fill.danger{background:#ef4444;}

.price-row{
 display:flex;
 justify-content:space-between;
 gap:12px;
 color:#d8d8d8;
 font-size:13px;
 padding:7px 0;
 border-bottom:1px solid rgba(255,255,255,.05);
}

.price-total{
 display:flex;
 justify-content:space-between;
 gap:12px;
 color:#fff;
 font-weight:950;
 padding-top:10px;
}

.btn-cockpit,
.btn-perf,
.btn-share,
.btn-reset{
 width:100%;
 min-height:46px;
 border-radius:14px;
 border:1px solid rgba(255,255,255,.09);
 margin-top:10px;
 font-weight:950;
 cursor:pointer;
}

.btn-cockpit{
 background:linear-gradient(135deg,#ff6b6b,#ef4444 55%,#9f1717);
 color:#fff;
 box-shadow:0 13px 28px rgba(239,68,68,.22);
}

.btn-cockpit:disabled{
 background:#161616;
 color:#737373;
 box-shadow:none;
 cursor:not-allowed;
}

.manual-cockpit-hint{
 margin:9px 2px 0;
 color:#8e8e8e;
 font-size:12px;
 line-height:1.42;
}

.manual-cockpit-wrap{
 display:none;
 margin-top:20px;
 padding:20px;
 border:1px solid var(--pc-line);
 border-radius:26px;
 background:
 radial-gradient(circle at 93% 0%, rgba(239,68,68,.12), transparent 32%),
 linear-gradient(180deg,rgba(255,255,255,.025),transparent 32%),
 linear-gradient(180deg,#101010,#090909);
 box-shadow:0 24px 60px rgba(0,0,0,.28);
}

.manual-cockpit-wrap.is-visible{display:block;}

.manual-cockpit-head{
 display:flex;
 align-items:flex-start;
 justify-content:space-between;
 gap:16px;
 margin-bottom:16px;
}

.manual-cockpit-kicker{
 color:var(--pc-red);
 font-size:11px;
 font-weight:900;
 letter-spacing:.15em;
 text-transform:uppercase;
}

.manual-cockpit-head h2{
 margin:5px 0 5px;
 font-family:var(--pc-font-title);
 font-size:clamp(24px,3vw,34px);
 letter-spacing:-.04em;
}

.manual-cockpit-head p{margin:0;color:var(--pc-muted);font-size:13px;line-height:1.5;}

.manual-cockpit-close{
 flex:0 0 auto;
 border:1px solid var(--pc-line);
 border-radius:12px;
 padding:10px 13px;
 color:#d8d8d8;
 background:rgba(255,255,255,.035);
 cursor:pointer;
 font-family:var(--pc-font-body);
 font-weight:800;
}

.manual-cockpit-close:hover{border-color:var(--pc-line-strong);color:#fff;}

.btn-perf{
 background:linear-gradient(135deg,#ef4444,#9f1717);
 color:#fff;
}

.btn-share{
 background:#161616;
 color:#fff;
}

.btn-reset{
 background:transparent;
 color:#aaa;
}

.disclaimer{
 margin-top:14px;
 color:#888;
 font-size:12px;
 line-height:1.5;
}

.perf-overlay{
 position:fixed;
 inset:0;
 background:rgba(0,0,0,.74);
 display:none;
 align-items:center;
 justify-content:center;
 z-index:9999;
 padding:20px;
}
.perf-overlay[hidden]{display:none!important;}

.perf-overlay.active,
.perf-overlay.visible{
 display:flex;
}

.perf-modal{
 width:min(720px,100%);
 max-height:min(680px,90vh);
 overflow:auto;
 border-radius:24px;
 border:1px solid rgba(255,255,255,.12);
 background:#111;
 box-shadow:0 30px 90px rgba(0,0,0,.6);
}

.perf-modal-header{
 display:flex;
 justify-content:space-between;
 gap:16px;
 padding:20px;
 border-bottom:1px solid rgba(255,255,255,.08);
}

.perf-modal-title{
 margin:0;
 color:#fff;
 font-weight:950;
 font-size:22px;
}

.perf-modal-sub{
 color:#888;
 margin-top:5px;
 line-height:1.45;
}

.perf-close-btn{
 width:38px;
 height:38px;
 border-radius:12px;
 border:1px solid rgba(255,255,255,.1);
 background:#181818;
 color:#fff;
 cursor:pointer;
}

.perf-modal-body{
 padding:20px;
}

.perf-no-gpu{
 padding:18px;
 border:1px solid rgba(239,68,68,.22);
 border-radius:16px;
 background:rgba(239,68,68,.07);
 color:#f2f2f2;
 font-weight:800;
 line-height:1.45;
}

.perf-gpu-name{
 margin:0 0 14px;
 color:#fff;
 font-size:22px;
 font-weight:950;
 line-height:1.1;
}

.perf-table{
 width:100%;
 border-collapse:collapse;
 min-width:560px;
}

.perf-table th,
.perf-table td{
 padding:11px 10px;
 border-bottom:1px solid rgba(255,255,255,.08);
 text-align:left;
 color:#e8e8e8;
 font-weight:800;
 white-space:nowrap;
}

.perf-table th{
 color:#aaa;
 font-size:12px;
 letter-spacing:.10em;
 text-transform:uppercase;
}

.perf-table td:not(:first-child){
 text-align:right;
 font-variant-numeric:tabular-nums;
}

.perf-table .fps-high{color:#8fed7b;}
.perf-table .fps-mid{color:#ffd166;}
.perf-table .fps-low{color:#ff7777;}

.perf-table tfoot td{
 border-bottom:0;
 padding-top:14px;
 color:#fff;
}

.perf-disclaimer{
 margin-top:14px;
 color:#999;
 font-size:13px;
 line-height:1.45;
}

.perf-res-filter{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:8px;
 margin:0 0 16px;
}

.perf-res-btn{
 min-height:44px;
 padding:9px 10px;
 border:1px solid rgba(255,255,255,.12);
 border-radius:12px;
 background:#181818;
 color:#bdbdbd;
 font:800 13px/1.2 var(--pc-font-body);
 cursor:pointer;
}

.perf-res-btn:hover{border-color:rgba(239,68,68,.55);color:#fff;}
.perf-res-btn.active{
 border-color:rgba(255,116,116,.68);
 background:linear-gradient(180deg,#ef4444,#a51d1d);
 color:#fff;
 box-shadow:0 8px 22px rgba(239,68,68,.24);
}
.perf-res-btn:focus-visible{outline:3px solid #fff;outline-offset:2px;}
.perf-table-single{min-width:0;}
.perf-table-single th:last-child,
.perf-table-single td:last-child{text-align:right;}
.perf-table-single tfoot th{color:#aaa;font-weight:900;}

.gsb-compare{
 margin-top:18px;
 padding-top:17px;
 border-top:1px solid rgba(255,255,255,.09);
}

.gsb-compare-head{margin-bottom:12px;}
.gsb-compare-head h3{
 margin:0;
 color:#fff;
 font-family:var(--pc-font-title);
 font-size:24px;
 font-weight:400;
 letter-spacing:.025em;
 text-transform:uppercase;
}
.gsb-compare-head p{margin:3px 0 0;color:#8d8d8d;font-size:12px;line-height:1.4;}
.gsb-compare-list{display:grid;gap:9px;}
.gsb-compare-row{
 display:grid;
 grid-template-columns:minmax(190px,1.25fr) minmax(110px,1fr) 86px;
 align-items:center;
 gap:12px;
 padding:10px 11px;
 border:1px solid rgba(255,255,255,.075);
 border-radius:13px;
 background:rgba(255,255,255,.018);
}
.gsb-compare-row.current{
 border-color:rgba(239,68,68,.48);
 background:linear-gradient(90deg,rgba(239,68,68,.10),rgba(239,68,68,.025));
}
.gsb-compare-meta{min-width:0;}
.gsb-compare-meta strong{display:block;color:#e9e9e9;font-size:12.5px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gsb-compare-meta span{display:block;margin-top:3px;color:#858585;font-size:10.5px;}
.gsb-compare-bar{height:9px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.07);}
.gsb-compare-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4c7fcf,#7cb7ff);box-shadow:0 0 12px rgba(85,149,235,.35);}
.gsb-compare-row.current .gsb-compare-bar i{background:linear-gradient(90deg,#9f1717,#ef4444);box-shadow:0 0 12px rgba(239,68,68,.42);}
.gsb-compare-value{text-align:right;white-space:nowrap;}
.gsb-compare-value strong{display:block;color:#fff;font-size:13px;font-variant-numeric:tabular-nums;}
.gsb-compare-value span{display:block;margin-top:2px;color:#8f8f8f;font-size:10px;}
.gsb-compare-row.current .gsb-compare-value span{color:#ff9a9a;font-weight:800;}

@media(max-width:680px){
 .perf-overlay{align-items:flex-end;padding:12px;}
 .perf-modal{max-height:88vh;border-radius:22px 22px 16px 16px;}
 .perf-modal-body{overflow-x:hidden;}
 .perf-table:not(.perf-table-single){min-width:520px;}
 .perf-table-single{min-width:0;}
 .perf-res-filter{grid-template-columns:1fr;}
 .perf-res-btn{min-height:42px;}
 .gsb-compare-row{grid-template-columns:minmax(0,1fr) 78px;gap:7px 10px;}
 .gsb-compare-meta{grid-column:1/-1;}
 .gsb-compare-meta strong{white-space:normal;}
 .gsb-compare-bar{grid-column:1;}
 .gsb-compare-value{grid-column:2;grid-row:2;}
}


.pc-builder-page h1,
.pc-builder-page .builder-title,
.pc-builder-page .perf-modal-title{
 font-family:var(--pc-font-title);
 text-transform:none;
}

.pc-builder-page button,
.pc-builder-page select,
.pc-builder-page input,
.pc-builder-page .slot-label,
.pc-builder-page .slot-state,
.pc-builder-page .summary-header,
.pc-builder-page .build-kicker,
.pc-builder-page .manual-trust-row span{
 font-family:var(--pc-font-body);
}

.pc-builder-page .build-hero h1{
 font-weight:700;
}

.pc-builder-page .builder-title{
 font-weight:700;
}

.pc-builder-page .slot-label,
.pc-builder-page .summary-header{
 letter-spacing:.16em;
}

@media(max-width:980px){
 .auto-grid{
 grid-template-columns:repeat(2,minmax(0,1fr));
 }

 .builder-wrapper{
 grid-template-columns:1fr;
 }

 .summary-panel{
 position:static;
 }
}

@media(max-width:640px){
 .pc-builder-page{
 --gs-builder-art:url('../img/gs-builder-background-mobile.webp');
 padding:22px 14px 124px;
 }

 .pc-builder-page::before{
  background-image:
   var(--gs-builder-art),
   radial-gradient(circle at 50% 0%,rgba(239,68,68,.22),transparent 24%),
   radial-gradient(ellipse at -24% 26%,rgba(151,24,41,.15),transparent 34%),
   radial-gradient(ellipse at 124% 62%,rgba(112,15,32,.15),transparent 36%),
   linear-gradient(180deg,#12070a 0%,#07080c 23%,#050609 76%,#090a0e 100%);
  background-position:center -42vw,center top,left center,right center,center;
  background-size:100vw auto,auto,auto,auto,auto;
 }

 .pc-builder-page::after{
  opacity:.54;
  background-size:42px 42px,42px 42px,21px 21px,140px 140px;
 }

 .build-hero{
 padding:24px;
 border-radius:22px;
 background:
  linear-gradient(90deg,rgba(3,4,6,.91) 0%,rgba(3,4,6,.74) 54%,rgba(3,4,6,.22) 100%),
  linear-gradient(180deg,rgba(3,4,6,.18) 0%,rgba(3,4,6,.12) 48%,rgba(3,4,6,.76) 100%),
  linear-gradient(135deg,rgba(239,68,68,.14),transparent 34%),
  radial-gradient(circle at 82% 10%,rgba(239,68,68,.10),transparent 28%),
  linear-gradient(180deg,rgba(18,18,20,.24),rgba(5,6,8,.64));
 }

 .build-hero:before{
 opacity:.18;
 }

 .build-hero h1{
 font-size:38px;
 }

 .build-mode-switch{
 display:grid;
 grid-template-columns:minmax(0,3fr) minmax(0,2fr);
 gap:8px;
 width:100%;
 margin-top:20px;
 padding:5px;
 }

 .pc-builder-page .build-mode-switch .mode-btn{
 min-width:0;
 width:100%;
 max-width:100%;
 min-height:46px;
 padding:10px 8px;
 overflow:hidden;
 font-size:clamp(12px,3.1vw,14px);
 line-height:1.15;
 overflow-wrap:break-word;
 white-space:normal;
 }

 .mode-btn[data-mode="manual"]{
 order:1;
 }

 .mode-btn[data-mode="auto"]{
 order:2;
 }

 .mode-btn[data-mode="auto"].active{
 background:rgba(239,68,68,.13);
 border-color:rgba(239,68,68,.48);
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 10px 24px rgba(0,0,0,.22);
 }

 .mode-label-desktop{
 display:none;
 }

 .mode-label-mobile{
 display:inline;
 }

 .gs-builder-mobile-status{
 position:fixed;
 left:12px;
 right:12px;
 bottom:max(10px,env(safe-area-inset-bottom));
 z-index:1000;
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 min-height:70px;
 padding:12px 8px 9px;
 overflow:hidden;
 border:1px solid rgba(239,68,68,.38);
 border-radius:18px;
 background:linear-gradient(135deg,rgba(18,18,21,.96),rgba(5,6,9,.94));
 box-shadow:0 18px 48px rgba(0,0,0,.62),0 0 28px rgba(159,23,23,.18);
 -webkit-backdrop-filter:blur(18px);
 backdrop-filter:blur(18px);
 }

 .gs-builder-mobile-progress{
 position:absolute;
 top:0;
 left:0;
 right:0;
 height:3px;
 background:rgba(255,255,255,.055);
 }

 .gs-builder-mobile-progress i{
 display:block;
 width:0;
 height:100%;
 background:linear-gradient(90deg,#ef4444,#ffb04a);
 box-shadow:0 0 12px rgba(239,68,68,.72);
 transition:width .24s ease;
 }

 .gs-builder-mobile-metric{
 display:flex;
 min-width:0;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 gap:3px;
 padding:0 6px;
 text-align:center;
 }

 .gs-builder-mobile-metric + .gs-builder-mobile-metric{
 border-left:1px solid rgba(255,255,255,.08);
 }

 .gs-builder-mobile-metric span{
 color:#898b91;
 font-size:9px;
 font-weight:900;
 letter-spacing:.08em;
 line-height:1.1;
 text-transform:uppercase;
 }

 .gs-builder-mobile-metric strong{
 max-width:100%;
 overflow:hidden;
 color:#fff;
 font-size:15px;
 font-weight:950;
 line-height:1.15;
 text-overflow:ellipsis;
 white-space:nowrap;
 }

 .auto-grid,
 .auto-build-list{
 grid-template-columns:1fr;
 }

 .manual-head{
 flex-direction:column;
 }

 .manual-target{
 width:100%;
 }

 .manual-trust-row{
 grid-template-columns:1fr;
 gap:8px;
 }

 .manual-trust-row span{
 min-height:34px;
 justify-content:flex-start;
 padding:0 12px;
 }

 .slot-header{
 padding:15px 14px;
 gap:11px;
 }

 .slot-index{
 width:36px;
 height:36px;
 border-radius:12px;
 font-size:12px;
 }

 .slot-topline{
 align-items:flex-start;
 flex-direction:column;
 gap:5px;
 }

 .slot-value{
 white-space:normal;
 line-height:1.35;
 }

 .slot-price{
 margin-top:4px;
 }
}

@media(max-width:420px){
 .pc-builder-page .build-mode-switch{
  grid-template-columns:minmax(0,1fr);
  gap:6px;
 }

 .pc-builder-page .build-mode-switch .mode-btn[data-mode="manual"]{
  min-height:44px;
 }

 .pc-builder-page .build-mode-switch .mode-btn[data-mode="auto"]{
  min-height:36px;
  padding:7px 10px;
  font-size:12px;
 }
}


@media (max-width:760px){
 .manual-cockpit-wrap{padding:15px;margin-top:16px;border-radius:20px;}
 .manual-cockpit-head{flex-direction:column;gap:10px;}
 .manual-cockpit-close{width:100%;}
}

/* ===================== GS Builder — cockpit benchmarké auto + manuel (V27.93) ===================== */
.gsb-cockpit{ display:flex; flex-direction:column; gap:14px; }
.gsb-card{ position:relative; background:linear-gradient(180deg,var(--pc-surface-2),var(--pc-surface)); border:1px solid var(--pc-line); border-radius:18px; padding:18px; box-shadow:0 18px 50px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.05); opacity:0; transform:translateY(12px); animation:gsbFade .55s cubic-bezier(.22,1,.36,1) forwards; }
.gsb-card.d2{ animation-delay:.08s } .gsb-card.d3{ animation-delay:.16s }
@keyframes gsbFade{ to{ opacity:1; transform:none } }
.gsb-card-gold:before{ content:""; position:absolute; left:0; right:0; top:0; height:1px; border-radius:18px 18px 0 0; background:linear-gradient(90deg,transparent,rgba(210,177,91,.55) 30%,rgba(239,68,68,.5) 62%,transparent); }
.gsb-kick{ font-family:var(--pc-font-body); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--pc-red); }
.gsb-kick.gold{ color:#d2b15b }
.gsb-title{ font-family:var(--pc-font-title); font-size:23px; font-weight:700; color:var(--pc-text); margin:5px 0 1px; letter-spacing:.01em }
.gsb-sub{ font-size:12.5px; color:var(--pc-muted); margin-bottom:12px }
.gsb-score-row{ display:flex; gap:16px; align-items:center }
.gsb-ring{ position:relative; width:108px; height:108px; flex:0 0 auto }
.gsb-ring svg{ transform:rotate(-90deg) }
.gsb-ring-num{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center }
.gsb-ring-num b{ font-family:var(--pc-font-title); font-size:38px; line-height:1; color:var(--pc-text); font-weight:700 }
.gsb-ring-num span{ font-size:11px; color:var(--pc-muted) }
.gsb-badge{ display:inline-block; font-size:11px; font-weight:700; color:#ffd9d9; background:rgba(239,68,68,.16); border:1px solid var(--pc-line-strong); border-radius:99px; padding:4px 10px; margin-bottom:11px }
.gsb-stats{ display:flex; gap:10px }
.gsb-stat{ flex:1; min-width:0 }
.gsb-stat b{ font-family:var(--pc-font-title); font-size:21px; font-weight:700; letter-spacing:.02em }
.gsb-stat span{ display:block; font-size:10.5px; color:var(--pc-muted); margin-top:1px }
.gsb-fps-head{ display:flex; justify-content:space-between; align-items:flex-start }
.gsb-note{ font-size:11.5px; color:var(--pc-muted); line-height:1.45; margin:4px 0 12px }
.gsb-pillrow{ margin-bottom:11px }
.gsb-pilllabel{ font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#7a7a7a; margin-bottom:7px }
.gsb-pills{ display:flex; gap:7px; flex-wrap:wrap }
.gsb-pill{ font-family:var(--pc-font-body); font-size:13px; font-weight:600; padding:7px 13px; border-radius:10px; cursor:pointer; color:var(--pc-muted); background:rgba(255,255,255,.03); border:1px solid var(--pc-line); transition:all .18s ease }
.gsb-pill:hover{ border-color:var(--pc-line-strong) }
.gsb-pill.on{ color:#fff; background:linear-gradient(180deg,#ff6b6b,var(--pc-red)); border-color:rgba(255,120,120,.5); box-shadow:0 6px 16px rgba(239,68,68,.32) }
.gsb-pill:focus-visible{ outline:2px solid var(--pc-red); outline-offset:2px }
.gsb-avg{ display:flex; align-items:center; gap:14px; padding:12px 14px; margin:6px 0 4px; border-radius:14px; background:rgba(255,255,255,.025); border:1px solid var(--pc-line) }
.gsb-avg-num{ display:flex; align-items:baseline; gap:5px }
.gsb-avg-num b{ font-family:var(--pc-font-title); font-size:44px; line-height:.9; font-weight:700 }
.gsb-avg-num i{ font-style:normal; font-size:12px; color:var(--pc-muted) }
.gsb-avg-label{ font-size:11px; color:#7a7a7a; letter-spacing:.05em }
.gsb-track{ height:9px; border-radius:99px; background:rgba(255,255,255,.06); overflow:hidden }
.gsb-track > i{ display:block; height:100%; width:0; border-radius:99px; transition:width .8s cubic-bezier(.22,1,.36,1), background .3s ease }
.gsb-track-foot{ display:flex; justify-content:space-between; margin-top:5px; font-size:10px; color:#7a7a7a }
.gsb-row{ padding:9px 0; border-top:1px solid rgba(255,255,255,.06) }
.gsb-row-top{ display:flex; justify-content:space-between; align-items:baseline; gap:8px; margin-bottom:6px }
.gsb-row-name{ font-size:13.5px; font-weight:600; color:var(--pc-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.gsb-row-fps{ display:flex; align-items:baseline; gap:5px; flex:0 0 auto }
.gsb-row-fps b{ font-family:var(--pc-font-title); font-size:21px; line-height:1; font-weight:700 }
.gsb-row-fps i{ font-style:normal; font-size:10px; color:#7a7a7a }
.gsb-row-bar{ display:flex; align-items:center; gap:9px }
.gsb-row-bar > span:first-child{ flex:1; height:7px; border-radius:99px; background:rgba(255,255,255,.05); overflow:hidden }
.gsb-row-bar > span:first-child > i{ display:block; height:100%; width:0; border-radius:99px; transition:width .7s cubic-bezier(.22,1,.36,1), background .3s ease }
.gsb-row-tier{ display:block; font-size:10.5px; font-weight:600; width:74px; min-width:74px; height:auto; text-align:right; flex:0 0 auto; white-space:nowrap; overflow:visible; background:none }
.gsb-an{ border-left:2px solid; padding-left:13px; margin-bottom:15px }
.gsb-an-h{ display:flex; align-items:center; gap:7px; margin-bottom:8px; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase }
.gsb-an ul{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:6px }
.gsb-an li{ font-size:13px; line-height:1.4; padding-left:14px; position:relative }
.gsb-an li:before{ content:""; position:absolute; left:0; top:8px; width:5px; height:5px; border-radius:99px; background:currentColor; opacity:.85 }
.gsb-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:2px }
.gsb-btn{ font-family:var(--pc-font-body); font-weight:700; border-radius:12px; cursor:pointer; padding:13px 16px; font-size:14px; border:1px solid var(--pc-line); background:rgba(255,255,255,.04); color:var(--pc-text) }
.gsb-btn.primary{ flex:2; color:#fff; border-color:rgba(255,120,120,.5); background:linear-gradient(180deg,#ff6b6b,var(--pc-red)); box-shadow:0 10px 26px rgba(239,68,68,.4) }
.gsb-btn.ghost{ flex:1 }
.gsb-btn.profile{flex:1 1 190px;border-color:rgba(210,177,91,.42);background:linear-gradient(180deg,rgba(210,177,91,.22),rgba(210,177,91,.08));color:#fff3cc}.gsb-btn.profile:hover{border-color:rgba(255,224,143,.8);filter:brightness(1.12)}.gsb-btn.profile.is-saved{border-color:rgba(143,237,123,.55);background:rgba(143,237,123,.12);color:#d9ffcf}
.gsb-btn:hover{ filter:brightness(1.08) }
.gsb-foot{ text-align:center; font-size:10.5px; color:#7a7a7a; margin-top:2px; line-height:1.45 }
.gsb-foot strong{ color:#a7a7a7 }
.gsb-foot a{ color:#d2b15b; text-decoration:underline; text-underline-offset:2px }
/* V27.95 — La composition reste accessible sans ouvrir le mode manuel. */
.gsb-config-summary{
 border:1px solid rgba(210,177,91,.30);
 border-radius:16px;
 overflow:hidden;
 background:linear-gradient(180deg,rgba(210,177,91,.055),rgba(255,255,255,.018));
}
.gsb-config-summary > summary{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 min-height:56px;
 padding:0 16px;
 list-style:none;
 cursor:pointer;
 color:#f3f0e8;
 font-family:var(--pc-font-body);
 font-size:13px;
 font-weight:800;
}
.gsb-config-summary > summary::-webkit-details-marker{display:none}
.gsb-config-summary > summary::after{
 content:'+';
 flex:0 0 auto;
 display:grid;
 place-items:center;
 width:27px;
 height:27px;
 border:1px solid rgba(210,177,91,.32);
 border-radius:50%;
 color:#d2b15b;
 font-size:21px;
 font-weight:400;
 line-height:1;
 transition:transform .2s ease,background .2s ease;
}
.gsb-config-summary[open] > summary{border-bottom:1px solid rgba(255,255,255,.07)}
.gsb-config-summary[open] > summary::after{content:'−';background:rgba(210,177,91,.10)}
.gsb-config-summary-title{display:flex;align-items:center;gap:9px;min-width:0}
.gsb-config-summary-title strong{
 font-family:var(--pc-font-title);
 font-size:20px;
 font-weight:400;
 letter-spacing:.035em;
 text-transform:uppercase;
}
.gsb-config-summary-title small{color:#a6a6a6;font-size:11px;font-weight:700;white-space:nowrap}
.gsb-config-list{display:grid;gap:0;padding:5px 16px 13px}
.gsb-config-row{
 display:grid;
 grid-template-columns:minmax(106px,.36fr) minmax(0,1fr) auto;
 align-items:center;
 gap:12px;
 min-height:39px;
 border-bottom:1px solid rgba(255,255,255,.055);
}
.gsb-config-row:last-child{border-bottom:0}
.gsb-config-label{color:#d2b15b;font-family:var(--pc-font-title);font-size:17px;font-weight:400;letter-spacing:.035em;text-transform:uppercase}
.gsb-config-name{min-width:0;color:#e8e8e8;font-size:12.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gsb-config-price{color:#a9a9a9;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.gsb-config-summary-note{padding:0 16px 14px;color:#858585;font-size:11px;line-height:1.45}
@media(max-width:640px){
 .gsb-config-summary > summary{min-height:52px;padding:0 13px;font-size:12px}
 .gsb-config-summary-title{gap:7px}
 .gsb-config-summary-title strong{font-size:19px}
 .gsb-config-summary-title small{font-size:10px}
 .gsb-config-list{padding:4px 13px 11px}
 .gsb-config-row{grid-template-columns:86px minmax(0,1fr);gap:5px 10px;padding:8px 0;min-height:0}
 .gsb-config-label{font-size:16px}
 .gsb-config-name{font-size:12px;white-space:normal;line-height:1.35}
 .gsb-config-price{grid-column:2;font-size:11px}
}
@media (prefers-reduced-motion:reduce){ .gsb-card{ animation:none; opacity:1; transform:none } .gsb-track>i,.gsb-row-bar>span>i{ transition:none } #gsbRing{ transition:none !important } }

/* ===================== V27.94 — Typographie GS + rubriques plus lisibles ===================== */
/* Bebas Neue reprend les titres de l'identité GamingSecrets ; Outfit reste sur les valeurs et contrôles. */
.pc-builder-page{
 font-family:var(--pc-font-body);
}

.pc-builder-page .build-hero h1,
.pc-builder-page .builder-title,
.pc-builder-page .perf-modal-title,
.pc-builder-page .gsb-title,
.pc-builder-page .manual-cockpit-head h2{
 font-family:var(--pc-font-title);
 font-weight:400;
 letter-spacing:.025em;
 text-transform:uppercase;
}

.pc-builder-page .auto-card label{
 font-family:var(--pc-font-title);
 font-size:clamp(28px,2.35vw,34px);
 font-weight:400;
 letter-spacing:.025em;
 line-height:.9;
 text-transform:uppercase;
 color:#fff;
 margin-bottom:14px;
}

.pc-builder-page .auto-card select,
.pc-builder-page .manual-target select{
 font-family:var(--pc-font-body);
 font-size:17px;
 font-weight:800;
 min-height:54px;
}

.pc-builder-page .manual-target label,
.pc-builder-page .slot-label,
.pc-builder-page .summary-header{
 font-family:var(--pc-font-title);
 font-weight:400;
 letter-spacing:.03em;
 line-height:.92;
 text-transform:uppercase;
}

.pc-builder-page .manual-target label{
 color:#fff;
 font-size:23px;
 margin-bottom:10px;
}

.pc-builder-page .slot-label{
 font-size:22px;
 color:#fff;
}

.pc-builder-page .summary-header{
 font-size:23px;
 padding:15px 16px 14px;
}

.pc-builder-page .summary-header .summary-note{
 font-family:var(--pc-font-body);
 font-size:11px;
 font-weight:800;
 letter-spacing:0;
 text-transform:none;
}

.pc-builder-page .mode-btn,
.pc-builder-page .auto-build-btn,
.pc-builder-page .btn-cockpit,
.pc-builder-page .btn-perf,
.pc-builder-page .btn-share,
.pc-builder-page .btn-reset{
 font-family:var(--pc-font-body);
 font-size:16px;
}

.pc-builder-page .manual-trust-row span{
 font-size:13px;
}

.pc-builder-page .gsb-kick,
.pc-builder-page .gsb-title,
.pc-builder-page .gsb-stat b,
.pc-builder-page .gsb-ring-num b,
.pc-builder-page .gsb-an-h{
 font-family:var(--pc-font-title);
 font-weight:400;
}

@media(max-width:640px){
 .pc-builder-page .auto-card label{font-size:29px;}
 .pc-builder-page .slot-label{font-size:21px;}
 .pc-builder-page .summary-header{font-size:22px;}
 .pc-builder-page .manual-target label{font-size:22px;}
 .pc-builder-page .auto-card select,
 .pc-builder-page .manual-target select{font-size:16px;}
}

/* V31.57.48 — contexte jeu transmis depuis un guide. */
.gs-builder-game-context{
 position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:16px;align-items:stretch;
 max-width:860px;margin-top:22px;padding:10px;border:1px solid rgba(239,68,68,.28);border-radius:18px;
 background:linear-gradient(135deg,rgba(105,18,31,.22),rgba(10,12,16,.82) 48%,rgba(32,35,43,.74));
 box-shadow:0 14px 34px rgba(0,0,0,.22)
}
.gs-builder-game-context>img{display:block;width:100%;height:100%;min-height:118px;object-fit:cover;border-radius:12px;margin:0}
.gs-builder-game-context-copy{min-width:0;padding:7px 8px 8px 0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.gs-builder-game-context-copy>span{display:block;color:#ff9aa6;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.gs-builder-game-context-copy>strong{display:block;margin-top:4px;color:#fff;font-size:18px;line-height:1.25}
.build-hero .gs-builder-game-context-copy p{margin:7px 0 0;max-width:620px;color:#cfd2d8;font-size:13px;line-height:1.45}
.gs-builder-game-context-copy>a{display:inline-flex;align-items:center;gap:8px;margin-top:11px;padding:8px 11px;border:1px solid rgba(255,255,255,.13);border-radius:10px;background:rgba(255,255,255,.045);color:#fff;text-decoration:none;font-size:12px;font-weight:800}
.gs-builder-game-context-copy>a:hover{border-color:rgba(239,68,68,.5);background:rgba(239,68,68,.1)}
@media(max-width:680px){
 .gs-builder-game-context{grid-template-columns:96px minmax(0,1fr);gap:11px;padding:8px;margin-top:18px}
 .gs-builder-game-context>img{min-height:104px;border-radius:10px}
 .gs-builder-game-context-copy{padding:4px 4px 4px 0}
 .gs-builder-game-context-copy>strong{font-size:15px}
 .build-hero .gs-builder-game-context-copy p{font-size:12px;line-height:1.4}
 .gs-builder-game-context-copy>a{margin-top:8px;padding:7px 9px}
}
