/* Palette TRANSACO : aéronautique premium, bleu nuit et violet */
:root{
  --ink:#1D2935;
  --navy:#10243A;
  --deep:#10243A;
  --muted:#657586;
  --line:#DFE4EA;
  --pale:#F6F7F9;
  --white:#FFFFFF;
  --cyan:#4B2BB5;
  --orange:#C76C40;
  --forest-medium:#1B3551;
  --forest-light:#2B496A;
  --lime-hover:#6042C6;
  --radius-sm:6px;
  --radius-md:10px;
  --radius-lg:14px;
  --radius-xl:18px;
  --radius-xxl:24px;
  --shadow-sm:0 2px 8px rgba(16,36,58,.04);
  --shadow-md:0 10px 30px rgba(16,36,58,.08);
  --shadow-lg:0 20px 50px rgba(16,36,58,.13);
}

body{background:var(--pale);color:var(--ink)}
:focus-visible{outline-color:#7258D0}
.site-header,.mobile-menu,.site-footer{background:var(--navy)}
.brand__symbol i,.brand--footer .brand__symbol i{background:var(--cyan)}
.brand__name small{color:#B7C2CE}
.desktop-nav a:hover,.desktop-nav a[aria-current],.lang-switch:hover{color:#D5C9FF}
.header-contact,.button--cyan{background:var(--cyan);color:#FFFFFF;border-color:var(--cyan);border-radius:8px}
.header-contact:hover,.button--cyan:hover{background:var(--lime-hover);color:#FFFFFF;border-color:var(--lime-hover)}
.button,.button--dark,.button--light,.button--ghost,.button--outline{border-radius:8px}
.button--dark{background:var(--forest-medium);color:#FFFFFF}
.button--dark:hover{background:var(--forest-light);color:#FFFFFF}
.button--light{background:#FFFFFF;color:var(--navy)}
.button--outline{border-color:#FFFFFF80;color:#FFFFFF}
.text-link{border-color:#B8A9ED}
.text-link:hover{color:var(--cyan);border-color:var(--cyan)}
.eyebrow{color:var(--forest-medium)}
.eyebrow.light{color:#D5C9FF}
.hero{background:var(--deep)}
.hero__image,.company-teaser__visual{filter:none}
.hero__shade{background:linear-gradient(90deg,#10243Aee 0%,#10243Ac9 31%,#10243A65 61%,#10243A10 100%),linear-gradient(0deg,#10243Ab0 0%,transparent 26%)}
.hero h1 em,.signal-dot,.hero__bottom a span{color:var(--cyan)}
.signal-dot{background:var(--cyan);box-shadow:0 0 0 5px #4B2BB529}
.trust-bar{background:#FFFFFF}
.trust-bar span,.mini-stats span{color:var(--muted)}
.section--light,.certification-section{background:var(--pale)}
.solution-grid,.expertise-grid{gap:16px;background:transparent;border:0}
.solution-card,.expertise-grid article{background:#FFFFFF;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.solution-card:hover{background:#FFFFFF;box-shadow:var(--shadow-md)}
.solution-card__icon,.solution-card__arrow,.location-card>span,.support-grid>a>span:first-child,.support-grid>a>span:last-child,.expertise-grid article>span{color:var(--forest-medium)}
.solution-card__num,.product-card__index{color:var(--muted)}
.product-card{background:#FFFFFF;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}
.product-card:hover{box-shadow:var(--shadow-md)}
.product-card__visual{background:linear-gradient(135deg,#E5EAF0,#F8F9FB 65%,#D7E0EA);color:#61778E}
.product-card:nth-child(3n+2) .product-card__visual{background:linear-gradient(135deg,#E8ECF2,#F8F9FB 70%,#DCE3EB)}
.product-card:nth-child(3n+3) .product-card__visual{background:linear-gradient(135deg,#DFE7EF,#F8F9FB 70%,#CEDAE7)}
.product-card__visual:after,.product-detail__visual:after,.solution-detail__art:after{background:repeating-linear-gradient(90deg,transparent 0 49px,#FFFFFF35 50px),repeating-linear-gradient(0deg,transparent 0 49px,#FFFFFF35 50px)}
.product-card__visual .visual-note{color:#5D6F82}
.card-kicker,.catalog-count,.back-link,.product-facts dt{color:var(--forest-medium)}
.process-section{background:var(--navy)}
.process-list li span:first-child,.process-list li span:last-child{color:#C7B8FF}
.cert-card{background:#FFFFFF;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.cert-card__line{background:var(--cyan)}
.cert-card__mark{border-color:#DED7F3;color:var(--cyan);border-radius:var(--radius-md)}
.cert-card small{color:var(--forest-medium)}
.company-teaser__content{background:#E9EDF3}
.cta-band{background:var(--forest-medium)}
.cta-band p{color:#D3DCE6}
.page-hero{background:var(--navy)}
.page-hero__grid{background:linear-gradient(90deg,#10243A 15%,#10243A90 100%),repeating-linear-gradient(90deg,transparent 0 119px,#FFFFFF0A 120px),repeating-linear-gradient(0deg,transparent 0 119px,#FFFFFF08 120px)}
.page-hero:after{border-color:#B7A3FF40;box-shadow:0 0 0 100px #B7A3FF0D,0 0 0 200px #B7A3FF08}
.solution-detail:nth-of-type(even){background:var(--pale)}
.solution-detail__art,.product-detail__visual{background:linear-gradient(140deg,#E2E8F0,#F8F9FB 65%,#D1DDE9);color:#61778E;border-radius:var(--radius-xl)}
.solution-detail__art>span{color:var(--forest-medium)}
.solution-tags a{border-color:var(--line);border-radius:var(--radius-sm)}
.solution-tags a:hover{border-color:var(--cyan);color:var(--cyan)}
.catalog-filters,.form-panel{background:#FFFFFF;border-color:var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.catalog-filters input,.catalog-filters select,.form-panel input:not([type=checkbox]):not([type=file]),.form-panel select,.form-panel textarea,.search-page-form input{border-color:#D5DDE5;border-radius:var(--radius-sm)}
.product-gallery a{border-radius:var(--radius-md)}
.spec-grid{border-color:var(--line);border-radius:var(--radius-lg);overflow:hidden}
.spec-grid>div{background:#FFFFFF;border-color:var(--line)}
.location-card,.support-grid>a,.news-card,.empty-state{background:#FFFFFF;border-color:var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.form-panel input[type=file]{border-color:#D5DDE5;border-radius:var(--radius-sm)}
.consent-label input{accent-color:var(--cyan)}
.document-list>a{border-color:var(--line)}
.document-list>a>span:first-child,.news-card span{color:var(--forest-medium)}
.header-search{background:var(--forest-medium)}
.header-search button{background:var(--cyan);color:#FFFFFF;border-radius:var(--radius-sm)}
.footer-top h2{color:#C7B8FF}
.cookie-banner{background:#FFFFFF;border-color:var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}
.cookie-banner button{border-color:var(--line);border-radius:var(--radius-sm)}
.cookie-banner button:last-child{background:var(--cyan);border-color:var(--cyan);color:#FFFFFF}
.cookie-banner button:last-child:hover{background:var(--lime-hover)}
.header-contact{background:#4B2BB5;color:#FFFFFF;border:1px solid #7259CA}
.header-contact:hover{background:#3D229B;color:#FFFFFF}

/* Même palette dans l’administration */
.admin-header,.admin-nav,.login-page{background:var(--navy)}
.admin-header>a span,.admin-brand span{color:#C7B8FF}
.admin-nav a:hover,.admin-nav a[aria-current]{background:var(--forest-light);color:#FFFFFF;border-radius:8px}
.admin-button,.login-card button{background:var(--cyan);color:#FFFFFF;border-radius:8px}
.admin-button:hover,.login-card button:hover{background:var(--lime-hover);color:#FFFFFF}
.admin-card,.dashboard-grid a,.admin-list{background:#FFFFFF;border-color:var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.admin-top small,.admin-list__actions a,.inquiries dd a{color:var(--cyan)}
.admin-form input:not([type=checkbox]),.admin-form textarea,.admin-form select,.login-card input{border-color:#D5DDE5;border-radius:8px}
.admin-form fieldset{border-color:var(--line);border-radius:8px}
.login-card{border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}
@media(max-width:650px){.solution-grid,.expertise-grid{gap:12px}.solution-card,.expertise-grid article{border-radius:var(--radius-md)}.hero__shade{background:linear-gradient(90deg,#10243Aee,#10243Aad 58%,#10243A35),linear-gradient(0deg,#10243Add,transparent 28%)}}
.cert-card,.cert-card--large{min-height:0;padding:20px 22px}.cert-card h3,.cert-card h2{margin:14px 0 6px}.cert-card p{min-height:0;margin-bottom:10px}.cert-card__mark{width:34px;height:34px;font-size:1.25rem}.cert-card small+small{margin-top:6px}.cert-note{margin-top:20px}.cert-card--large h2{font-size:1.5rem}
.cert-card,.cert-card--large{color:#FFFFFF;background-color:#10243A;background-image:linear-gradient(105deg,rgba(16,36,58,.91),rgba(16,36,58,.70)),url("/assets/images/certification-inspection.webp");background-size:cover;background-position:center}.cert-card:nth-child(2){background-position:58% center}.cert-card:nth-child(3){background-position:78% center}.cert-card h2,.cert-card h3{color:#FFFFFF}.cert-card p{color:#E1E7EF}.cert-card small{color:#D5C9FF}.cert-card__mark{background:#4B2BB5;border-color:#B7A3FF;color:#FFFFFF}.cert-card__line{background:#B7A3FF}

.language-picker{position:relative;color:#fff;font-size:.72rem;font-weight:750}.language-picker summary{list-style:none;cursor:pointer;padding:9px 10px;border:1px solid #ffffff35}.language-picker summary::-webkit-details-marker{display:none}.language-picker summary span{margin-left:4px;color:#D5C9FF}.language-picker>div{position:absolute;z-index:60;top:calc(100% + 10px);right:0;min-width:155px;padding:6px;background:#2B2923;box-shadow:0 12px 30px #0004}.language-picker>div a{display:flex;justify-content:space-between;gap:14px;padding:10px;color:#fff}.language-picker>div a:hover,.language-picker>div a[aria-current]{background:#ffffff12;color:#D5C9FF}.language-picker>div a span{font-weight:500;color:#b8c8d0}

/* Espacements compacts communs à toutes les pages publiques. */
.section{padding-block:64px}
.section-head{margin-bottom:28px}
.section-intro h2{margin:16px 0 12px}
.hero{min-height:min(560px,calc(100svh - var(--header)))}
.hero__content{padding-block:56px 88px}
.hero h1{margin:20px 0 18px}
.hero__actions{margin-top:24px}
.trust-bar__grid>div{min-height:80px}
.page-hero{padding:56px 0 60px}
.page-hero h1{margin:16px 0 14px}
.solution-card{min-height:280px;padding:24px}
.solution-card__icon{width:64px;height:64px;margin:18px 0 14px}
.solution-card p{margin-bottom:28px}
.product-card__visual{height:190px}
.product-card__body{padding:18px 20px}
.product-card h3{min-height:0;margin-bottom:10px}
.product-card p{min-height:0;margin-bottom:14px}
.product-card .text-link{margin-top:6px}
.process-section .button{margin-top:22px}
.process-list li{padding-block:14px}
.company-teaser{min-height:0}
.company-teaser__content{padding-block:52px}
.company-teaser__content h2{margin:18px 0}
.mini-stats{margin-block:24px}
.cta-band{padding-block:44px}
.cta-band h2{margin-top:12px}
.solution-detail__art{min-height:320px}
.solution-detail__art svg{width:220px;height:220px}
.solution-detail h2{margin-block:18px}
.solution-tags{margin:20px 0 24px}
.catalog-filters{margin-bottom:24px;padding:18px}
.empty-state{padding:42px 24px}
.empty-state>span{margin-bottom:16px}
.product-detail__visual,.product-detail__visual img{min-height:380px}
.back-link{margin-bottom:26px}
.product-detail__info h2{margin:12px 0 16px}
.product-facts{margin-block:24px}
.product-facts>div{padding-block:12px}
.spec-grid>div{min-height:110px;gap:12px;padding:18px}
.location-card{min-height:230px;padding:24px}
.location-card h3{margin:20px 0 12px}
.expertise-grid article{min-height:230px;padding:24px}
.expertise-grid h2{margin:28px 0 12px}
.support-grid>a{min-height:190px;padding:24px}
.support-grid h2{margin:18px 0 8px}
.contact-aside__address{margin-top:30px}
.form-panel{padding:28px}
.document-list>a{padding-block:16px}
.news-card{padding:22px}
.news-card h2{margin-top:22px}
.legal-copy h2{margin:26px 0 12px}
.site-footer{padding:44px 0 20px}
.brand--footer{margin-bottom:18px}
.footer-top h2{margin-bottom:16px}
.footer-bottom{margin-top:36px;padding-top:18px}
@media(max-width:900px){
  .section{padding-block:52px}
  .hero{min-height:0}
  .hero__content{padding-block:48px 88px}
  .company-teaser__content{padding-block:44px}
}
@media(max-width:650px){
  .section{padding-block:40px}
  .section-head{margin-bottom:22px}
  .section-intro h2{margin:14px 0 10px}
  .hero{min-height:0}
  .hero__content{padding-block:40px 90px}
  .hero h1{margin:18px 0 16px}
  .hero__actions{margin-top:22px}
  .trust-bar__grid>div{min-height:68px;padding-block:14px}
  .page-hero{padding-block:38px 42px}
  .solution-card{min-height:0;padding:22px}
  .solution-card__icon{margin:12px 0 10px}
  .product-card__visual{height:200px}
  .company-teaser__visual{min-height:240px}
  .company-teaser__content{padding:36px 25px}
  .cta-band{padding-block:36px}
  .solution-detail__art{min-height:250px}
  .solution-detail__art svg{width:180px;height:180px}
  .catalog-filters{padding:16px}
  .product-detail__visual,.product-detail__visual img{min-height:280px}
  .expertise-grid article,.location-card,.support-grid>a{min-height:0}
  .form-panel{padding:21px}
  .empty-state{padding:32px 20px}
  .site-footer{padding-top:36px}
  .footer-bottom{margin-top:28px}
}

/* Ajustements ciblés après revue : accueil, entreprise, solutions et dalles. */
:root{--pale:#E9EDF2}
/* Retirer la hauteur minimale évite que le centrage recrée du vide au-dessus. */
.hero{min-height:0}
.hero__content{padding-top:28px}
main:has(> .hero) .section:has(.solution-grid,.product-grid,.cert-grid){padding-block:32px}
main:has(.company-intro,.solution-detail) > .section{padding-block:32px}
main:has(.company-intro,.solution-detail) > .page-hero{padding-block:28px 30px}
main:has(.company-intro,.solution-detail) > .cta-band{padding-block:22px}
.expertise-grid article{min-height:0;padding:18px 22px}
.expertise-grid h2{margin:16px 0 10px}
.expertise-grid p{margin-bottom:0}
.support-grid>a{min-height:0;padding:18px 22px}
.support-grid h2{margin:12px 0 8px}
.support-grid p{margin-bottom:8px}
@media(max-width:900px){
  .hero__content{padding-top:24px}
  main:has(> .hero) .section:has(.solution-grid,.product-grid,.cert-grid){padding-block:26px}
  main:has(.company-intro,.solution-detail) > .section{padding-block:26px}
}
@media(max-width:650px){
  .hero__content{padding-top:20px}
  main:has(> .hero) .section:has(.solution-grid,.product-grid,.cert-grid){padding-block:20px}
  main:has(.company-intro,.solution-detail) > .section{padding-block:20px}
  main:has(.company-intro,.solution-detail) > .page-hero{padding-block:19px 21px}
  main:has(.company-intro,.solution-detail) > .cta-band{padding-block:18px}
  .expertise-grid article,.support-grid>a{padding:16px 20px}
}
