/* v54 — Continuité Accueil Impact sur tout le configurateur */
body:has(#configGrid:not(.hidden)){background:linear-gradient(180deg,#f6f3ed 0,#f8f6f1 420px,#f6f3ed 100%)!important}
body:has(#configGrid:not(.hidden)) .wrap{padding-top:18px!important}

/* En-tête de parcours comme le bandeau d’accueil */
#portalCatalogCard,#fenceCatalogCard{position:relative;overflow:hidden!important;border:0!important;background:linear-gradient(120deg,#1d3028 0%,#314b3e 64%,#273a32 100%)!important;box-shadow:0 14px 34px rgba(31,48,41,.16)!important;padding:0!important}
#portalCatalogCard:after,#fenceCatalogCard:after{content:'→';position:absolute;right:22px;bottom:-58px;font-size:170px;line-height:1;color:rgba(255,255,255,.045);font-weight:900;pointer-events:none}
#portalCatalogCard:before,#fenceCatalogCard:before{content:'CONFIGURATION GUIDÉE';display:block!important;margin:0!important;padding:13px 26px!important;background:rgba(255,255,255,.07)!important;color:#e4ae8d!important;font-size:10px!important;letter-spacing:1.35px!important;font-weight:900!important}
#portalCatalogCard .crumb,#fenceCatalogCard .crumb{margin:0!important;padding:15px 26px!important;border-radius:0!important;background:rgba(255,255,255,.075)!important;color:#e8eee9!important;border-top:1px solid rgba(255,255,255,.08)!important}
#portalCatalogCard .crumb b,#fenceCatalogCard .crumb b,#gammeLabel b{color:#fff!important}
#portalCatalogCard .crumb .linkbtn,#fenceCatalogCard .crumb .linkbtn{color:#f0c5a9!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:9px!important;padding:7px 10px!important;background:rgba(255,255,255,.07)!important}
#portalCatalogCard .step-panel,#fenceCatalogCard .fence-models,#fenceCatalogCard>h2{position:relative;z-index:1;margin:0!important;padding:25px 26px 28px!important}
#portalCatalogCard .step-panel h2,#fenceCatalogCard>h2{color:#fff!important;font-size:25px!important;letter-spacing:-.35px!important}
#portalCatalogCard .step-intro{color:#cad7d0!important;font-size:14px!important}
#portalCatalogCard .step-intro b{color:#fff!important}
#portalCatalogCard .step{background:#c96f3c!important;box-shadow:0 5px 14px rgba(201,111,60,.28)!important}
#portalCatalogCard .linkbtn:not(.crumb .linkbtn){color:#f0c5a9!important;margin-top:20px!important}
#portalCatalogCard .searchbar input{background:rgba(255,255,255,.96)!important;border:0!important;padding:14px 16px!important;box-shadow:0 8px 20px rgba(15,28,22,.13)!important}

/* Choix de collection et type : cartes compactes dans le style de l’accueil */
#portalCatalogCard .step-pills{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
#portalCatalogCard .pill{position:relative;background:#fff!important;color:#24342d!important;border:1px solid rgba(255,255,255,.34)!important;border-radius:14px!important;box-shadow:0 7px 18px rgba(12,26,19,.12)!important;overflow:hidden!important;transition:transform .16s,box-shadow .16s,border-color .16s!important}
#portalCatalogCard .pill:hover{transform:translateY(-3px)!important;border-color:#e3a57e!important;box-shadow:0 13px 25px rgba(12,26,19,.2)!important}
#portalCatalogCard .pill.on{background:#fff8f3!important;color:#24342d!important;border:2px solid #c96f3c!important;box-shadow:0 0 0 3px rgba(201,111,60,.17),0 12px 24px rgba(12,26,19,.15)!important}
#portalCatalogCard .pill.on:after{content:'✓';position:absolute;right:9px;top:9px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#c96f3c;color:#fff;font-size:12px;font-weight:900}
#portalCatalogCard .collection-visual{min-height:150px!important;padding:0!important;display:flex!important;flex-direction:column!important}
#portalCatalogCard .collection-visual .collimg{height:105px!important;width:100%!important;object-fit:contain!important;padding:2px 7px!important;box-sizing:border-box!important;background:linear-gradient(145deg,#f1efe8,#e8ece6)!important;filter:drop-shadow(0 7px 6px rgba(28,42,35,.14))}
#portalCatalogCard .collection-visual .colltxt{padding:10px 12px!important;font-size:15px!important}
#portalCatalogCard .typepills .pill{min-height:82px!important;padding:16px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;font-size:15px!important}
#portalCatalogCard .typepills .pill small{margin-top:5px!important;color:#68756f!important}

/* Modèles et clôtures : mêmes cartes visuelles que l’accueil */
#portalCatalogCard .modellist,#fenceCatalogCard .fence-models{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;max-height:none!important;padding-top:0!important}
#portalCatalogCard .modelitem,#fenceCatalogCard .fence-model{position:relative!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;min-height:210px!important;padding:0!important;border:1px solid rgba(255,255,255,.38)!important;border-radius:14px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 7px 18px rgba(12,26,19,.13)!important;transition:transform .17s,box-shadow .17s!important}
#portalCatalogCard .modelitem:hover,#fenceCatalogCard .fence-model:hover{transform:translateY(-4px)!important;box-shadow:0 15px 29px rgba(12,26,19,.22)!important;border-color:#e2a17a!important}
#portalCatalogCard .modelitem.on,#fenceCatalogCard .fence-model.on{background:#fff!important;border:2px solid #c96f3c!important;padding:0!important;box-shadow:0 0 0 3px rgba(201,111,60,.16),0 14px 28px rgba(12,26,19,.18)!important}
#portalCatalogCard .modelthumb,#fenceCatalogCard .fence-model img{width:100%!important;height:138px!important;flex:0 0 138px!important;object-fit:contain!important;padding:4px 8px!important;box-sizing:border-box!important;border:0!important;border-radius:0!important;background:linear-gradient(145deg,#f1efe8,#e8ece6)!important;filter:drop-shadow(0 7px 7px rgba(28,42,35,.15))}
#portalCatalogCard .modelcopy{display:block!important;width:auto!important;padding:11px 13px 13px!important;color:#24342d!important;line-height:1.35!important}
#portalCatalogCard .modelcopy b,#fenceCatalogCard .fence-model b{font-size:15px!important;color:#24342d!important}
#portalCatalogCard .modelitem .code{position:absolute!important;right:8px!important;top:8px!important;margin:0!important;background:rgba(255,255,255,.9)!important;color:#416d58!important;border:0!important;border-radius:99px!important;padding:4px 7px!important;box-shadow:0 2px 7px rgba(0,0,0,.08)!important}
#portalCatalogCard .modelitem.on:after,#fenceCatalogCard .fence-model.on:after{right:9px!important;bottom:9px!important;top:auto!important;background:#c96f3c!important}
#fenceCatalogCard>h2{padding-bottom:11px!important}
#fenceCatalogCard .fence-models{padding:25px 26px 28px!important}
#fenceCatalogCard .fence-model b{padding:10px 12px 0!important}
#fenceCatalogCard .fence-model small{padding:3px 12px 13px!important;color:#68756f!important}

/* Pages mesures/options : cartes plus vivantes et cohérentes */
#gateConfigurator.measure-step>.card,#fenceConfigCard{position:relative!important;border:1px solid #e2ddd3!important;border-radius:16px!important;box-shadow:0 7px 20px rgba(35,52,45,.065)!important;padding:23px 24px 24px!important;overflow:hidden!important}
#gateConfigurator.measure-step>.card:before,#fenceConfigCard:before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(#c96f3c,#416d58)}
#gateConfigurator.measure-step>.card h2,#fenceConfigCard h2{font-size:21px!important;letter-spacing:-.2px!important;margin-bottom:17px!important}
#gateConfigurator.measure-step>.card .step,#fenceConfigCard .step{background:#c96f3c!important;border-radius:9px!important;width:31px!important;height:31px!important;box-shadow:0 4px 11px rgba(201,111,60,.2)!important}
#dimCard,#fenceConfigCard{background:linear-gradient(145deg,#fff 55%,#f2f5f1)!important}
#dimInfo,#fenceInfo{background:#24342d!important;color:#fff!important;border:0!important;border-radius:12px!important;padding:13px 15px!important;margin-bottom:16px!important}
#dimCard .row2,#motorCard .row2,#fenceConfigCard .row2{gap:13px!important}
#gateConfigurator.measure-step label.fld,#fenceConfigCard label.fld{color:#68756f!important;font-size:11px!important;letter-spacing:.45px!important;text-transform:uppercase!important;font-weight:850!important}
#gateConfigurator.measure-step input,#gateConfigurator.measure-step select,#fenceConfigCard input,#fenceConfigCard select{background:#fff!important;min-height:45px!important;border:1px solid #ded9cf!important;border-radius:11px!important;padding:11px 12px!important}
#gateConfigurator.measure-step input:focus,#gateConfigurator.measure-step select:focus,#fenceConfigCard input:focus,#fenceConfigCard select:focus{border-color:#c96f3c!important;box-shadow:0 0 0 3px rgba(201,111,60,.13)!important;outline:0!important}
#optCard .optgroup,#postCard .optgroup{background:#faf9f6!important;border:1px solid #e7e2d9!important;border-radius:13px!important;padding:13px 14px!important;margin-bottom:11px!important}
#optCard .optgroup .gh,#postCard .optgroup .gh{color:#416d58!important;font-size:11px!important;letter-spacing:.7px!important;margin-bottom:9px!important}
#optCard .opt{background:#fff!important;border:1px solid #ece7df!important;border-radius:9px!important;padding:10px!important;margin-top:6px!important}
#finishPills .pill{min-width:150px!important;padding:12px 14px!important}
#addCard{background:linear-gradient(120deg,#24342d,#31483e)!important;color:#fff!important;border:0!important}
#addCard:before{display:none!important}
#addCard label{color:#d4dfd8!important}
#addCard .add,#fenceAdd{min-height:49px!important;border-radius:12px!important;font-size:15px!important;box-shadow:0 9px 20px rgba(201,111,60,.22)!important}

/* Offre latérale : prolongement du bloc sombre de l’accueil */
.aside .pricebox{background:radial-gradient(circle at 85% 20%,rgba(201,111,60,.22),transparent 28%),linear-gradient(135deg,#1d3028,#314b3e)!important;border-radius:17px!important;padding:21px!important}
.aside .offer{border-top:4px solid #c96f3c!important}
.aside>.card:last-child{border-top:4px solid #416d58!important}
.offeritem{transition:border-color .15s,box-shadow .15s!important}.offeritem:hover{border-color:#c9b7a3!important;box-shadow:0 7px 17px rgba(35,52,45,.07)!important}

@media(max-width:1100px){
  #portalCatalogCard .step-pills,#portalCatalogCard .modellist,#fenceCatalogCard .fence-models{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:850px){
  #portalCatalogCard .step-pills,#portalCatalogCard .modellist,#fenceCatalogCard .fence-models{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #portalCatalogCard .step-panel h2,#fenceCatalogCard>h2{font-size:22px!important}
  #portalCatalogCard .modelitem,#fenceCatalogCard .fence-model{min-height:190px!important}
  #portalCatalogCard .modelthumb,#fenceCatalogCard .fence-model img{height:118px!important;flex-basis:118px!important}
}
@media(max-width:620px){
  body:has(#configGrid:not(.hidden)) .wrap{padding:10px 10px 100px!important}
  #portalCatalogCard:before,#fenceCatalogCard:before{padding:10px 15px!important}
  #portalCatalogCard .crumb,#fenceCatalogCard .crumb{padding:11px 15px!important;display:flex!important;align-items:center!important;gap:8px!important}
  #portalCatalogCard .step-panel,#fenceCatalogCard .fence-models,#fenceCatalogCard>h2{padding:18px 15px 20px!important}
  #portalCatalogCard .step-panel h2,#fenceCatalogCard>h2{font-size:19px!important;line-height:1.2!important}
  #portalCatalogCard .step-pills,#portalCatalogCard .modellist,#fenceCatalogCard .fence-models{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  #portalCatalogCard .collection-visual{min-height:122px!important}
  #portalCatalogCard .collection-visual .collimg{height:78px!important}
  #portalCatalogCard .collection-visual .colltxt{font-size:13px!important;padding:8px 9px!important}
  #portalCatalogCard .typepills .pill{min-height:72px!important;padding:11px!important;font-size:13px!important}
  #portalCatalogCard .modelitem,#fenceCatalogCard .fence-model{display:flex!important;grid-template-columns:none!important;min-height:157px!important}
  #portalCatalogCard .modelthumb,#fenceCatalogCard .fence-model img{height:92px!important;flex-basis:92px!important}
  #portalCatalogCard .modelcopy{padding:8px 9px 10px!important;font-size:11px!important}
  #portalCatalogCard .modelcopy b,#fenceCatalogCard .fence-model b{font-size:12.5px!important}
  #fenceCatalogCard .fence-model b{padding:7px 8px 0!important}
  #fenceCatalogCard .fence-model small{padding:2px 8px 9px!important;font-size:9px!important}
  #gateConfigurator.measure-step>.card,#fenceConfigCard{padding:18px 16px 19px!important;border-radius:14px!important}
  #gateConfigurator.measure-step>.card h2,#fenceConfigCard h2{font-size:18px!important}
  #optCard .optgroup,#postCard .optgroup{padding:10px!important}
}
