/* Page catalogues SAO 08 – uniquement des classes préfixées catalogue-.
   Compatible avec le front Bootstrap 4.1 et la palette existante. */
.catalogue-page .catalogue-section{margin-top:10px}
.catalogue-page .catalogue-container{padding-top:36px;padding-bottom:86px;text-align:left}
.catalogue-fil{display:flex;align-items:center;gap:12px;color:#a8adb9;font-size:13px;letter-spacing:.025em;margin-bottom:36px}
.catalogue-fil a{color:#c4d253}
.catalogue-fil a:hover{color:#fff}
.catalogue-entete{position:relative;display:flex;justify-content:space-between;gap:40px;align-items:center;padding:0 0 49px;border-bottom:1px solid rgba(255,255,255,.15)}
.catalogue-surtitre{font-size:12px;font-weight:800;letter-spacing:.18em;color:#c4d253;display:inline-flex;align-items:center;gap:12px;margin-bottom:10px}
.catalogue-surtitre__point{height:8px;width:8px;background:#c4d253;display:inline-block;transform:rotate(45deg)}
.catalogue-entete h1{font-size:clamp(36px,4.6vw,65px);line-height:1.04;font-weight:900;letter-spacing:-.045em;margin:0 0 19px;color:#fff}
.catalogue-entete h1 span{color:#c4d253}
.catalogue-entete p{font-size:17px;line-height:1.65;color:#bfc4ce;font-weight:400;margin:0}
.catalogue-entete p strong{color:#fff;font-weight:800}
.catalogue-entete__repere{display:flex;gap:16px;align-items:center;color:#bec3cd;font-size:14px;line-height:1.5;white-space:nowrap}
.catalogue-entete__repere strong{color:#fff}
.catalogue-entete__picto{background:#3c478d;border:1px solid rgba(255,255,255,.22);color:#fff;display:grid;place-items:center;width:62px;height:76px;font-size:20px;font-weight:900;letter-spacing:-.04em;clip-path:polygon(0 0,75% 0,100% 24%,100% 100%,0 100%)}
.catalogue-intitule{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:50px 0 22px}
.catalogue-intitule__index{font-size:11px;letter-spacing:.16em;font-weight:800;color:#c4d253}
.catalogue-intitule h2{font-size:29px;font-weight:800;margin:4px 0 0;color:#fff;line-height:1.2}
.catalogue-intitule__nombre{font-size:13px;color:#aeb4c2}
.catalogue-liste{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.catalogue-carte{background:#242529;border:1px solid #414247;display:flex;flex-direction:column;min-width:0;position:relative;scroll-margin-top:90px;transition:border-color .2s,transform .2s}
.catalogue-carte__visuel{background:radial-gradient(circle at 50% 40%,#4a528c 0,#30375c 54%,#202437 100%);height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;position:relative;isolation:isolate;flex:none}
.catalogue-carte__visuel:before{content:'';position:absolute;inset:12px;border:1px solid rgba(255,255,255,.13);pointer-events:none;z-index:-1}
.catalogue-carte__photo{height:175px;max-width:90%;aspect-ratio:774/1095;background:#fff;box-shadow:11px 12px 23px rgba(0,0,0,.42);transform:rotate(-2deg);transition:transform .35s}
.catalogue-carte:hover .catalogue-carte__photo{transform:rotate(0) translateY(-4px)}
.catalogue-carte__photo img{width:100%;height:100%;object-fit:cover;display:block}
.catalogue-carte__legende{margin-top:32px;color:rgba(255,255,255,.75);font-size:10px;font-weight:800;letter-spacing:.24em}
.catalogue-carte__contenu{padding:24px 22px 22px;display:flex;flex:1;flex-direction:column;align-items:flex-start;min-width:0}
.catalogue-carte__marque{display:flex;align-items:center;gap:12px;width:100%;margin-bottom:15px}
.catalogue-carte__marque img{object-fit:contain;object-position:center;background:#fff;width:135px;height:43px;padding:7px 11px}
.catalogue-carte__marque span{color:#aab0bc;font-size:13px}
.catalogue-carte__rubrique{background:rgba(196,210,83,.13);border:1px solid rgba(196,210,83,.24);color:#dce89c;font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:800;padding:7px 10px;margin-bottom:17px}
.catalogue-carte h3{font-size:21px;line-height:1.28;font-weight:800;letter-spacing:-.015em;color:#fff;margin:0 0 24px;max-width:100%;text-align:left;overflow-wrap:anywhere}
.catalogue-carte__contenu>p{color:#c4c6cd;line-height:1.7;font-size:16px;margin:0 0 22px;max-width:590px}
.catalogue-carte__infos{display:flex;flex-wrap:wrap;gap:9px 24px;padding:17px 0;border-top:1px solid #43454a;border-bottom:1px solid #43454a;color:#eee;font-size:13px;width:100%;margin:auto 0 23px}
.catalogue-carte__infos strong{font-weight:500;color:#aeb3c0;margin-right:6px}
.catalogue-carte__actions{display:flex;flex-wrap:wrap;gap:9px;width:100%;margin-top:auto}
.catalogue-bouton{display:inline-flex;gap:8px;align-items:center;justify-content:space-between;text-decoration:none!important;font-size:12px;line-height:1.35;font-weight:800;padding:12px 13px;transition:background .2s,color .2s,transform .2s,border-color .2s}
.catalogue-bouton:hover{transform:translateY(-2px)}
.catalogue-bouton--principal{background:#c4d253;color:#17191b;flex:1 1 146px}
.catalogue-bouton--principal:hover{color:#151515;background:#d8e585}
.catalogue-bouton--secondaire{background:transparent;color:#fff;border:1px solid #777a84;flex:1 1 112px}
.catalogue-bouton--secondaire:hover{color:#fff;border-color:#fff}
.catalogue-apercu-bouton{display:flex;align-items:center;gap:8px;border:0;border-bottom:1px solid transparent;background:transparent;color:#d3d6df;padding:0 0 2px;margin:17px 0 0;cursor:pointer;font-size:12px;line-height:1.4;transition:color .2s;text-align:left}
.catalogue-apercu-bouton:hover,.catalogue-apercu-bouton:focus{color:#c4d253}
.catalogue-apercu-bouton__fleche{font-size:20px;font-weight:300;margin-left:5px}
.catalogue-apercu{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(8,11,20,.88);backdrop-filter:blur(4px)}
.catalogue-apercu[hidden]{display:none}
.catalogue-apercu__dialog{width:min(1100px,100%);max-height:calc(100vh - 40px);background:#181b23;border:1px solid #4d5264;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 28px 90px rgba(0,0,0,.55)}
.catalogue-apercu__entete{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#fff;font-size:15px;text-align:left}
.catalogue-apercu__fermer{cursor:pointer;border:1px solid #777c8c;color:#fff;background:#2e3444;width:38px;height:38px;display:grid;place-items:center;font-size:29px;line-height:1;flex-shrink:0}
.catalogue-apercu__fermer:hover,.catalogue-apercu__fermer:focus{background:#c4d253;color:#181818}
.catalogue-apercu-ouverte{overflow:hidden}
.catalogue-apercu__frame{flex:1;min-height:0}
.catalogue-apercu__frame iframe{width:100%;height:min(78vh,840px);border:0;background:#fff;display:block}
.catalogue-aide{margin-top:42px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:29px 34px;border-left:4px solid #c4d253;background:#27282b}
.catalogue-aide>div>span{color:#c4d253;font-weight:800;letter-spacing:.14em;font-size:11px}
.catalogue-aide h2{color:#fff;font-weight:800;font-size:25px;margin:3px 0 8px}
.catalogue-aide p{color:#bfc3cc;font-size:15px;margin:0;line-height:1.5}
.catalogue-bouton--aide{background:#3c478d;color:#fff;white-space:nowrap}
.catalogue-bouton--aide:hover{background:#5261b0;color:#fff}
.catalogue-lien-offres{margin:28px 0 35px;border:1px solid rgba(196,210,83,.24);padding:19px 23px;background:rgba(196,210,83,.07);display:flex;align-items:center;gap:18px;justify-content:space-between;text-align:left}
.catalogue-lien-offres p{color:#eee;margin:0;font-size:15px;line-height:1.45}
.catalogue-lien-offres p strong{color:#c4d253}
.catalogue-lien-offres a{background:#c4d253;color:#181818;font-size:13px;padding:11px 15px;font-weight:800;white-space:nowrap}
.catalogue-lien-offres a:hover{color:#181818;background:#d9e48c}
.catalogue-lien-usinage{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin:20px 0 0;padding:15px 18px;background:#27282b;border-left:3px solid #c4d253;color:#eee;font-size:15px;text-align:center}
.catalogue-lien-usinage a{color:#c4d253;font-weight:800;text-decoration:underline!important}
.catalogue-lien-usinage a:hover{color:#fff}
@media (max-width:1199px){.catalogue-liste{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:991px){.catalogue-entete__repere{display:none}.catalogue-aide{padding:26px}}
@media (max-width:767px){.catalogue-page .catalogue-container{padding:28px 16px 65px}.catalogue-fil{margin-bottom:25px}.catalogue-entete{padding-bottom:30px}.catalogue-entete p{font-size:15px}.catalogue-intitule{padding-top:30px;align-items:start;flex-direction:column;gap:7px}.catalogue-intitule h2{font-size:23px}.catalogue-liste{grid-template-columns:1fr;gap:18px}.catalogue-carte__visuel{height:205px}.catalogue-carte__photo{height:165px}.catalogue-carte__contenu{padding:22px}.catalogue-carte h3{font-size:21px}.catalogue-aide{align-items:flex-start;flex-direction:column;padding:23px}.catalogue-lien-offres{flex-direction:column;align-items:flex-start}.catalogue-aide h2{font-size:22px}.catalogue-apercu{padding:10px}.catalogue-apercu__dialog{max-height:calc(100vh - 20px)}.catalogue-apercu__frame iframe{height:74vh}}
@media (prefers-reduced-motion:reduce){.catalogue-carte__photo,.catalogue-bouton{transition:none}}
/* Les visuels des blocs communs n'ont pas tous de taille mobile contrainte. */
.catalogue-page > div > img.d-block.mw-100,
.catalogue-page > div > a > img.d-block.mw-100{
    max-width:calc(100vw - 30px)!important;height:auto;
}

/* Réglages complémentaires : page de catalogues en cartes verticales. */
.catalogue-carte:hover{border-color:#8e9a64}
.catalogue-carte__photo img{object-fit:cover}
@media (min-width:768px) and (max-width:850px){.catalogue-carte__actions{flex-direction:column}.catalogue-carte__actions a{flex:initial;width:100%}}
