/*
Theme Name: GIORDANO IIES V10.47 SAFE IT LEGAL IDENTITY
Theme URI: https://giordano-solar.it/
Author: GIORDANO Solar Concept IT
Description: Thème premium maquette-first V10.1 pour GIORDANO Solar Concept IT — édition complète des images et textes principaux via le personnalisateur WordPress.
Version: 10.47 SAFE IT LEGAL IDENTITY
Text Domain: giordano-iies-v96
*/
@import url('assets/css/style.css');

/* V9.6 production refinements */
:root{--navy:#061f3d;--navy2:#0a2d55;--red:#e52822;--soft:#f5f7fb;--ink:#10223d;--shadow:0 18px 55px rgba(6,31,61,.13)}
.topbar .nav{height:82px}.topbar .menu{gap:20px}.topbar .btn-red{padding:16px 24px;border-radius:14px}.small-dropdown{min-width:190px}
.v96-hero{min-height:570px}.v96-hero h1{max-width:820px}.v96-hero .container{padding-top:90px;padding-bottom:92px}.v96-hero:before{background-image:linear-gradient(90deg,rgba(6,31,61,.97),rgba(6,31,61,.84) 42%,rgba(6,31,61,.36) 74%,rgba(6,31,61,.08)),var(--hero)}
.v96-triad{margin-top:-56px;position:relative;z-index:5}.v96-triad .card{min-height:250px}
.v96-system-block{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:34px;align-items:stretch;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:32px;overflow:hidden;box-shadow:0 26px 72px rgba(0,0,0,.22)}
.v96-system-copy{display:flex;flex-direction:column}.v96-system-copy .section-head{display:block;margin-bottom:24px}.v96-system-copy h2,.v96-system-copy h3{color:#fff}.v96-system-copy .lead{color:rgba(255,255,255,.74)}
.v96-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;flex:1}.v96-feature{background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.15);border-radius:18px;padding:22px;color:#fff;min-height:190px}.v96-feature span{display:inline-flex;width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;background:rgba(229,40,34,.18);border:1px solid rgba(229,40,34,.32);color:#ff514b;font-weight:950;margin-bottom:12px}.v96-feature h3{font-size:18px;color:#fff}.v96-feature p{font-size:14px;color:rgba(255,255,255,.76);margin:0}
.v96-system-visual{min-height:100%;display:flex}.v96-image-panel,.v96-system-visual .v96-image-panel{width:100%;border-radius:24px;overflow:hidden;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);box-shadow:0 20px 65px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center}.v96-image-panel img{width:100%;height:100%;object-fit:cover}.v96-system-visual .v96-image-panel img{object-fit:contain;background:rgba(255,255,255,.06);padding:14px}
.v96-home-apps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.v96-home-app{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(255,255,255,.14);border-radius:22px;overflow:hidden;box-shadow:0 18px 48px rgba(0,0,0,.22);transition:.22s ease}.v96-home-app:hover{transform:translateY(-4px)}.v96-home-app-img{height:210px;background:#0a2546}.v96-home-app-img img{width:100%;height:100%;object-fit:cover}.v96-home-app-text{padding:20px 20px 22px;background:linear-gradient(180deg,#fff,#f8fbff);color:var(--ink);min-height:195px}.v96-home-app-text h3{font-size:21px;color:var(--navy);margin-bottom:9px}.v96-home-app-text p{font-size:14px;color:#5a6b82;margin-bottom:12px}.v96-home-app-text span{font-weight:950;color:var(--red)}
.v96-app-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.v96-app-overview-card{position:relative;display:block;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 16px 42px rgba(6,31,61,.16);border:1px solid rgba(6,31,61,.08);transition:.22s ease}.v96-app-overview-card:hover{transform:translateY(-4px)}.v96-app-overview-photo{height:210px}.v96-app-overview-photo img{width:100%;height:100%;object-fit:cover}.v96-card-num{position:absolute;right:15px;top:15px;background:rgba(6,31,61,.62);color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:7px 11px;font-weight:950;font-size:12px}.v96-app-overview-body{padding:20px}.v96-app-overview-body h3{font-size:21px;color:var(--navy)}.v96-app-overview-body p{font-size:14px;color:#5b6c83}.v96-app-overview-body strong{color:var(--red);font-size:14px}
.v96-enjeux .v96-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.v96-response-block{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,.72fr);gap:24px;align-items:stretch}.v96-response-block.inverse{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.v96-response-visual{background:#fff;border-radius:24px;box-shadow:var(--shadow);border:1px solid rgba(6,31,61,.08);overflow:hidden;min-height:480px}.v96-response-visual img{width:100%;height:100%;object-fit:contain;background:#fff;padding:10px}.v96-response-copy{background:linear-gradient(135deg,#061f3d,#0a2d55);border-radius:24px;color:#fff;padding:32px;box-shadow:var(--shadow)}.v96-response-copy h3{color:#fff;font-size:30px}.v96-response-copy p,.v96-response-copy li{color:rgba(255,255,255,.8)}.v96-response-copy ul{margin:16px 0 0;padding-left:20px}.v96-response-copy li{margin:10px 0}
.v96-usage-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.v96-usage{background:#fff;border:1px solid rgba(6,31,61,.08);border-radius:18px;overflow:hidden;box-shadow:0 12px 34px rgba(6,31,61,.08)}.v96-usage-img{height:155px}.v96-usage-img img{width:100%;height:100%;object-fit:cover}.v96-usage div:last-child{padding:18px}.v96-usage h3{font-size:17px}.v96-usage p{font-size:13px;color:#5b6c83}
.v96-roi .metrics{margin-bottom:30px}.v96-subhead{margin:38px 0 16px}.v96-subhead h3{font-size:28px}.v96-subhead p{color:#5a6b82}.v96-table th:last-child{background:#2f742e}.v96-table .highlight-col{background:#f0f8ef}.v96-table .highlight-col strong{color:#1b641d}.comparison-note{font-size:13px;color:#60728a;margin-top:12px}
.v96-case{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:24px;align-items:stretch}.v96-case-photo{border-radius:24px;overflow:hidden;box-shadow:var(--shadow);min-height:390px}.v96-case-photo img{width:100%;height:100%;object-fit:cover}.v96-case-content{display:grid;gap:18px}.v96-panel{background:#fff;border:1px solid rgba(6,31,61,.08);border-radius:22px;padding:28px;box-shadow:0 12px 36px rgba(6,31,61,.08)}.v96-panel ul{margin:12px 0 0;padding-left:20px}.v96-panel li{margin:8px 0}.v96-case-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.v96-hotel-case{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:24px;align-items:stretch}.v96-hotel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.v96-before-after{display:grid;grid-template-columns:1fr 1fr;gap:22px}.v96-before-after article{background:#fff;border:1px solid rgba(6,31,61,.08);border-radius:22px;padding:30px;box-shadow:var(--shadow)}.v96-before-after h3{color:var(--red)}
.v96-process-line{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:center}.process-steps{display:flex;gap:14px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.process-steps span{font-weight:900;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:12px 14px;color:#fff}.v96-map{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:26px;padding:34px;color:#fff;box-shadow:0 20px 60px rgba(0,0,0,.18)}.v96-map h3{color:#fff}.v96-map p{color:rgba(255,255,255,.74)}.map-card{margin-top:22px;min-height:300px;border-radius:22px;background:radial-gradient(circle at 34% 42%,rgba(255,255,255,.22) 0 12%,transparent 13%),radial-gradient(circle at 62% 52%,rgba(229,40,34,.28) 0 11%,transparent 12%),linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.18);display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:20px}.map-card span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:999px;padding:8px 12px;font-weight:850}.footer-grid-v96{grid-template-columns:1.3fr repeat(5,1fr)!important}
@media(max-width:1180px){.topbar .menu{gap:12px;font-size:12px}.v96-home-apps,.v96-app-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v96-system-block,.v96-response-block,.v96-hotel-case,.v96-case,.v96-process-line{grid-template-columns:1fr}.v96-response-visual{min-height:360px}.v96-usage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid-v96{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:760px){.v96-hero{min-height:510px}.v96-hero .container{padding-top:62px;padding-bottom:62px}.v96-triad{margin-top:0}.v96-feature-grid,.v96-home-apps,.v96-app-overview-grid,.v96-usage-grid,.v96-hotel-grid,.v96-case-kpis,.v96-before-after{grid-template-columns:1fr}.v96-system-block{padding:22px}.v96-home-app-img,.v96-app-overview-photo{height:230px}.footer-grid-v96{grid-template-columns:1fr!important}}


/* V9.7 corrections */
/* Homepage application cards: keep images visible and titles readable on the white body */
.section.navy .v96-home-app .v96-home-app-text,
.v96-home-app .v96-home-app-text{
  background:linear-gradient(180deg,#ffffff 0%,#f6f9fd 100%) !important;
  color:#061f3d !important;
}
.section.navy .v96-home-app .v96-home-app-text h3,
.v96-home-app .v96-home-app-text h3{
  color:#061f3d !important;
  font-weight:950 !important;
  opacity:1 !important;
  visibility:visible !important;
  text-shadow:none !important;
}
.v96-home-app .v96-home-app-text h3:after{content:'';display:block;width:38px;height:3px;background:var(--red);border-radius:3px;margin-top:10px}
.v96-home-app .v96-home-app-text p{color:#50647d !important;text-shadow:none !important}.v96-home-app .v96-home-app-text span{color:var(--red)!important}

/* Homepage metrics: readable horizontal blocks */
.v97-home-metrics{margin:26px 0 28px;grid-template-columns:repeat(4,minmax(0,1fr))!important}.v97-home-metrics .metric{min-height:150px}.v97-home-metrics .metric strong{font-size:36px}.v97-home-metrics .metric p{font-size:14px;line-height:1.45}

/* Application component cards with visual areas */
.v97-component-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.v97-component-card{background:#fff;border:1px solid rgba(6,31,61,.08);border-radius:22px;overflow:hidden;box-shadow:0 14px 40px rgba(6,31,61,.09);display:flex;flex-direction:column;min-height:310px}.v97-component-img{height:150px;background:#eef3f8;overflow:hidden}.v97-component-img img{width:100%;height:100%;object-fit:cover;display:block}.v97-component-body{padding:20px}.v97-component-body .icon{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eef5ff;margin-bottom:12px}.v97-component-body h3{font-size:19px;color:var(--navy);margin-bottom:8px}.v97-component-body p{font-size:14px;color:#536982;margin:0}.v97-component-card:hover{transform:translateY(-3px);box-shadow:0 20px 55px rgba(6,31,61,.14);transition:.22s ease}

/* Why IIES as 4 clear blocks */
.v97-why-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.v97-why-card{background:#fff;border:1px solid rgba(6,31,61,.08);border-radius:22px;padding:26px;box-shadow:0 14px 40px rgba(6,31,61,.08);min-height:210px}.v97-why-card .why-icon{width:54px;height:54px;border-radius:18px;background:#eef5ff;color:#164b8e;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:18px}.v97-why-card h3{font-size:20px;color:var(--navy);margin-bottom:10px}.v97-why-card p{font-size:14px;color:#5b6c83;margin:0}.v97-why-card:nth-child(2) .why-icon{background:#fff3f2;color:var(--red)}.v97-why-card:nth-child(3) .why-icon{background:#eef8ef;color:#277238}.v97-why-card:nth-child(4) .why-icon{background:#f4f0ff;color:#6a4bcc}

/* References: 16 visuals */
.v97-gallery-16{grid-template-columns:repeat(4,minmax(0,1fr))}.v97-gallery-16 figure{min-height:245px}.v97-gallery-16 figure img{height:190px;object-fit:cover}

/* Company split image alignment */
.v97-company-split{align-items:stretch}.v97-company-split>div:first-child{display:flex;flex-direction:column}.v97-company-split .v96-cards{flex:1}.v97-company-split .v96-image-panel{min-height:100%;height:auto}.v97-company-split .v96-image-panel img{object-fit:cover}

.form small.field-note{display:block;color:#718199;margin-top:4px;font-size:12px}
@media(max-width:1180px){.v97-component-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v97-why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v97-gallery-16{grid-template-columns:repeat(2,minmax(0,1fr))}.v97-home-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.v97-component-grid,.v97-why-grid,.v97-gallery-16,.v97-home-metrics{grid-template-columns:1fr!important}.v97-component-img{height:180px}}


/* V9.8 corrections */
/* Hero/tag pills displayed below hero must remain readable on white backgrounds */
.tagbar{background:#fff;border-bottom:1px solid rgba(6,31,61,.06)}
.tagbar .pills{margin:0;padding:22px 0;justify-content:flex-start}
.tagbar .pill{background:#f7f9fc!important;border:1px solid #dbe5ef!important;color:#061f3d!important;box-shadow:0 8px 22px rgba(6,31,61,.07);text-shadow:none!important}
.tagbar .pill span{color:#061f3d!important}
.dropdown,.small-dropdown{background:#fff!important}.dropdown a,.small-dropdown a{color:#132b4d!important}.dropdown a:hover{color:var(--red)!important}

/* On application pages, enjeux cards appear below the section title, not to the side */
.v98-app-enjeux .section-head{margin-bottom:28px}.v98-app-enjeux .v96-cards{align-items:stretch}.v98-app-enjeux .card{min-height:220px}

/* Navy sections containing standard white cards: force readable dark text */
.section.navy .card:not(.dark){background:#fff;color:#10223d}.section.navy .card:not(.dark) h3{color:#061f3d!important}.section.navy .card:not(.dark) p,.section.navy .card:not(.dark) li{color:#51657f!important}.section.navy .card:not(.dark) .icon{color:#164b8e}

/* Company Europe section: image and content blocks should share a balanced height */
#europe .split{align-items:stretch}#europe .v96-image-panel{height:100%;min-height:560px}#europe .v96-image-panel img{height:100%;object-fit:cover}#europe .v96-cards{height:100%}#europe .v96-cards .card{min-height:220px}

/* Partner benefits: align map block with the 4 cards */
.v98-partner-split{align-items:stretch}.v98-partner-split>div:first-child{display:flex;flex-direction:column}.v98-partner-split .v96-cards{flex:1}.v98-partner-split .v96-map{height:100%;min-height:560px}.v98-partner-split .map-card{min-height:330px}

/* Form layouts: keep left copy aligned with top of the form */
.v98-form-split{align-items:start!important}.v98-form-split .section-head{margin-bottom:26px}.v98-form-split form{align-self:start}
.form label{color:#17365d!important}.form input,.form select,.form textarea{color:#10223d!important}.form .field-note{font-weight:700;color:#718199!important}
.v98-check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.v98-check-grid label{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;text-align:left!important;min-height:66px;padding:14px 16px!important;color:#17365d!important;font-weight:850!important;line-height:1.25}.v98-check-grid label input{width:auto!important;min-width:16px;margin:0!important}.v98-check-grid label span{display:inline-block;text-align:left!important;color:#17365d!important}

/* Careers */
.v98-job-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.v98-job-card{background:#fff;border:1px solid rgba(6,31,61,.08);border-radius:22px;padding:28px;box-shadow:0 14px 40px rgba(6,31,61,.08)}.v98-job-card span{display:inline-flex;color:var(--red);font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.v98-job-card h3{font-size:24px}.v98-job-card p{color:#546982}.v98-job-card .btn{margin-top:10px}

/* News */
.v98-news-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.v98-article{max-width:920px;margin:0 auto}.v98-article h2{font-size:clamp(36px,5vw,60px)}.v98-article-img{border-radius:24px;overflow:hidden;margin:28px 0;box-shadow:var(--shadow)}.v98-article-img img{width:100%;height:430px;object-fit:cover}

@media(max-width:1180px){.v98-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v98-job-grid{grid-template-columns:1fr}.v98-partner-split .v96-map,#europe .v96-image-panel{min-height:420px}.v98-check-grid{grid-template-columns:1fr}}
@media(max-width:760px){.v98-news-grid{grid-template-columns:1fr}.tagbar .pills{padding:16px 0}.v98-article-img img{height:260px}}


/* V9.9 final structural refinements */
/* Application response panels: red numbered circles for the 01/02/03/04 explanation list */
.v96-response-copy .response-list{display:flex;flex-direction:column;gap:26px;margin-top:24px}
.v96-response-copy .response-item{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;align-items:flex-start;padding:0 0 24px;border-bottom:1px solid rgba(255,255,255,.12)}
.v96-response-copy .response-item:last-child{border-bottom:0;padding-bottom:0}
.v96-response-copy .stepnum{width:54px;height:54px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e52822 0%,#ff513f 100%);color:#fff;font-weight:950;font-size:17px;box-shadow:0 12px 28px rgba(229,40,34,.36);letter-spacing:.02em}
.v96-response-copy .response-item h3{margin:2px 0 10px;color:#fff!important}
.v96-response-copy .response-item p{margin:0;color:rgba(255,255,255,.82)!important}

/* Notre Société — présence Europe: keep image and right 2x2 cards perfectly aligned */
#europe .split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:stretch}
#europe .v99-europe-copy{display:flex;flex-direction:column;min-height:100%}
#europe .v99-europe-copy .section-head{margin-bottom:24px}
#europe .v99-europe-copy .v96-cards{height:auto!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:18px;flex:1;align-items:stretch}
#europe .v99-europe-copy .v96-cards .card{min-height:0!important;height:auto;display:flex;flex-direction:column;justify-content:flex-start;padding:26px}
#europe .v99-europe-copy .v96-cards .card h3{color:#061f3d!important}
#europe .v99-europe-copy .v96-cards .card p{color:#50647d!important}
#europe .v96-image-panel{height:auto!important;min-height:560px;align-self:stretch}
#europe .v96-image-panel img{height:100%;object-fit:cover}

/* Partenaires — right blue module fills the full partner block height */
.v98-partner-split{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:36px;align-items:stretch}
.v98-partner-split>div:first-child{display:flex;flex-direction:column;min-height:100%}
.v98-partner-split>div:first-child .v96-cards{flex:1;align-items:stretch}
.v98-partner-split .v96-map{height:100%;min-height:0!important;display:flex;flex-direction:column}
.v98-partner-split .v96-map .map-card{flex:1;min-height:0!important;align-content:space-between;align-items:flex-end}

/* Forms — clearer mail link in careers intro */
.career-mail-link{font-weight:950;color:#061f3d;text-decoration:none;border-bottom:2px solid rgba(229,40,34,.35)}
.career-mail-link:hover{color:#e52822;border-bottom-color:#e52822}
.v99-career-intro p{max-width:720px}

@media(max-width:1180px){
  #europe .split,.v98-partner-split{grid-template-columns:1fr}
  #europe .v99-europe-copy .v96-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v98-partner-split .v96-map{min-height:460px!important}
  .v98-partner-split .v96-map .map-card{min-height:330px!important}
}
@media(max-width:760px){
  #europe .v99-europe-copy .v96-cards{grid-template-columns:1fr}
  .v96-response-copy .response-item{grid-template-columns:52px 1fr;gap:14px}
  .v96-response-copy .stepnum{width:46px;height:46px;font-size:14px}
}


/* V9.10 targeted corrections */
/* Partenaires: keep the four white value cards in the blue section, no overlap into the form section */
.section.navy .v98-partner-split{align-items:stretch!important;overflow:visible!important}
.section.navy .v98-partner-split>div:first-child{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;min-height:auto!important}
.section.navy .v98-partner-split>div:first-child .section-head{flex:0 0 auto!important;margin-bottom:30px!important}
.section.navy .v98-partner-split>div:first-child .v96-cards{flex:0 0 auto!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important;align-items:stretch!important;height:auto!important}
.section.navy .v98-partner-split>div:first-child .v96-cards .card{min-height:235px!important;height:auto!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;padding:28px!important}
.section.navy .v98-partner-split .v96-map{align-self:stretch!important;height:auto!important;min-height:0!important;display:flex!important;flex-direction:column!important}
.section.navy .v98-partner-split .v96-map .map-card{flex:1 1 auto!important;min-height:360px!important;align-content:space-between!important;align-items:flex-end!important}
.section.navy:has(.v98-partner-split){padding-bottom:92px!important}
/* Email links in cards */
.mail-link{font-weight:950;color:#061f3d;text-decoration:none;border-bottom:2px solid rgba(229,40,34,.28)}
.mail-link:hover{color:#e52822;border-bottom-color:#e52822}
.footer .mail-link{color:rgba(255,255,255,.86);border-bottom-color:rgba(255,255,255,.25)}
.footer .mail-link:hover{color:#fff;border-bottom-color:#e52822}
.legal-links{display:inline-flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.legal-links a{color:rgba(255,255,255,.62);font-size:13px}.legal-links a:hover{color:#fff}
.legal-links .sep{color:rgba(255,255,255,.35)}
.legal-page .card p,.legal-page .card li{color:#50647d}.legal-page .card ul{margin:10px 0 0;padding-left:20px}
@media(max-width:1180px){.section.navy .v98-partner-split>div:first-child .v96-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}.section.navy .v98-partner-split .v96-map .map-card{min-height:300px!important}}
@media(max-width:760px){.section.navy .v98-partner-split>div:first-child .v96-cards{grid-template-columns:1fr!important}.section.navy:has(.v98-partner-split){padding-bottom:64px!important}.legal-links{justify-content:flex-start}}


/* V9.10 explicit partner benefit cards grid */
.v910-benefit-left{display:flex;flex-direction:column;min-height:0}
.v910-benefit-left .section-head{margin-bottom:28px!important}
.v910-benefit-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch;flex:0 0 auto}
.v910-benefit-cards .card{min-height:250px!important;display:flex;flex-direction:column;justify-content:flex-start;background:#fff!important;color:#10223d!important}
.v910-benefit-cards .card h3{color:#061f3d!important}.v910-benefit-cards .card p{color:#50647d!important}
.v98-partner-split .v96-map{align-self:stretch!important;display:flex!important;flex-direction:column!important}
.v98-partner-split .v96-map .map-card{flex:1 1 auto!important;min-height:0!important}
@media(max-width:760px){.v910-benefit-cards{grid-template-columns:1fr}.v910-benefit-cards .card{min-height:auto!important}}

/* V9.10 final e-mail and legal-page styles */
.contact-mail-link,.footer-mail-link{font-weight:950;color:#061f3d;text-decoration:none;border-bottom:2px solid rgba(229,40,34,.35)}
.contact-mail-link:hover,.footer-mail-link:hover{color:#e52822;border-bottom-color:#e52822}
.footer .footer-mail-link{color:rgba(255,255,255,.9);border-bottom-color:rgba(255,255,255,.25)}
.footer .footer-mail-link:hover{color:#fff;border-bottom-color:#e52822}
.legal-content{max-width:980px;margin:0 auto;background:#fff;border:1px solid rgba(6,31,61,.08);border-radius:24px;padding:34px;box-shadow:0 14px 42px rgba(6,31,61,.08)}
.legal-content h2{font-size:32px;margin-top:12px}.legal-content h3{margin-top:24px}.legal-content p,.legal-content li{color:#50647d}.legal-content ul{padding-left:22px}
.footer-legal-links{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.footer-legal-links a{color:rgba(255,255,255,.62);font-size:13px}.footer-legal-links a:hover{color:#fff}
@media(max-width:760px){.footer-legal-links{justify-content:flex-start;margin-top:10px}}

/* V9.10 final patch — partner benefit block containment */
.v910-partner-benefits{padding-bottom:150px!important;overflow:visible!important}
.v910-partner-benefits .v98-partner-split{align-items:stretch!important;margin-bottom:0!important}
.v910-partner-benefits .v910-benefit-cards{position:relative;z-index:2;margin-bottom:0!important;transform:none!important}
.v910-partner-benefits .v910-benefit-cards .card{min-height:220px!important}
.v910-partner-benefits .v96-map{height:auto!important;min-height:100%!important;align-self:stretch!important}
.v910-partner-benefits .v96-map .map-card{min-height:360px!important;flex:1!important}
@media(max-width:1180px){.v910-partner-benefits{padding-bottom:90px!important}}
@media(max-width:760px){.v910-partner-benefits{padding-bottom:64px!important}}

/* V9.11 targeted navigation addition — Accueil icon desktop / text mobile */
.home-menu-item{display:flex;align-items:center}
.home-nav-link{width:40px;height:40px;border-radius:999px;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0!important;color:#061f3d!important;background:#fff;border:1px solid rgba(6,31,61,.12);box-shadow:0 8px 22px rgba(6,31,61,.08);transition:.2s ease}
.home-nav-link:hover{color:#e52822!important;border-color:rgba(229,40,34,.28);background:#fff7f6;transform:translateY(-1px)}
.home-nav-icon{display:inline-flex;align-items:center;justify-content:center}.home-nav-icon svg{width:18px;height:18px;display:block}.home-nav-text{display:none}
@media(max-width:980px){.home-menu-item{width:100%;display:block;order:-10}.home-nav-link{width:auto;height:auto;border:0;box-shadow:none;border-radius:0;background:transparent!important;padding:12px 0!important;justify-content:flex-start!important;transform:none!important}.home-nav-link:hover{transform:none!important;background:transparent!important}.home-nav-icon{display:none}.home-nav-text{display:inline;font-weight:800;color:#132b4d}}

/* V9.12 — header CTA single-line fix only */
.topbar .nav > .btn-red{white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:0;padding-left:22px;padding-right:22px;line-height:1.1;text-align:center}


/* V10 — corrections ciblées : footer lisible + images éditables */
.footer .footer-grid{align-items:start;gap:34px 44px;}
.footer .footer-grid > div{min-width:0;}
.footer .footer-grid a{display:block;line-height:1.45;margin:0 0 9px;white-space:normal;word-break:normal;}
.footer .footer-grid p{line-height:1.55;margin:0 0 11px;}
.footer .footer-grid h4{margin-bottom:14px;}
.footer .footer-mail-link{display:inline-block;text-decoration:underline;text-underline-offset:3px;}
@media(max-width:1180px){.footer .footer-grid{gap:28px 34px;}}
@media(max-width:760px){.footer .footer-grid a{margin-bottom:10px;}.footer-bottom .footer-legal-links{display:block;margin-top:12px;}}

/* Le grand schéma d'accueil V10 est une image éditable ; on conserve le rendu premium sans modifier la structure. */
.v96-system-visual .v96-image-panel img{max-height:100%;}

/* V10.3 SAFE — correctif global des blocs image/texte
   Objectif : conserver les contenus déjà personnalisés et stabiliser uniquement
   la hauteur des blocs en deux colonnes. Les images gardent leurs proportions :
   - schémas / infographies : object-fit: contain ; aucun texte coupé ;
   - photos : object-fit: cover ; remplissage premium sans déformation.
*/
@media (min-width:981px){
  .v96-system-block,
  .v96-response-block,
  .v96-response-block.inverse,
  .v96-case,
  .v96-hotel-case,
  .v96-process-line,
  .v97-company-split,
  #europe .split,
  .split:not(.v98-form-split),
  .v98-partner-split{
    align-items:stretch!important;
  }

  .v96-system-block > *,
  .v96-response-block > *,
  .v96-case > *,
  .v96-hotel-case > *,
  .v96-process-line > *,
  .v97-company-split > *,
  #europe .split > *,
  .split:not(.v98-form-split) > *,
  .v98-partner-split > *{
    min-height:0!important;
  }

  .v96-system-copy,
  .v96-system-visual,
  .v96-response-copy,
  .v96-case-content,
  .v910-benefit-left,
  .v98-partner-split .v96-map{
    height:100%!important;
    align-self:stretch!important;
  }

  .v96-system-visual{
    display:flex!important;
  }

  .v96-system-visual .v96-image-panel,
  .v96-response-visual,
  .v96-case-photo,
  .v96-hotel-case .schema-wrap,
  .v96-case .schema-wrap,
  .split:not(.v98-form-split) .schema-wrap,
  .v97-company-split .v96-image-panel,
  #europe .v96-image-panel{
    height:100%!important;
    align-self:stretch!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    min-height:clamp(360px,38vw,640px)!important;
  }

  /* Le grand schéma de la page d’accueil ne doit plus rester petit dans son cadre. */
  .v96-system-visual .v96-image-panel{
    min-height:100%!important;
  }

  .v96-system-visual .v96-image-panel img,
  .v96-response-visual img,
  .schema-wrap img,
  .v96-image-panel img,
  .v96-case-photo img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-position:center center!important;
  }

  /* Schémas et infographies : tout doit rester lisible et non coupé. */
  .v96-system-visual .v96-image-panel img,
  .v96-response-visual img,
  .schema-wrap img[src*="/schemas/"],
  .schema-wrap img[src*="schema"],
  .schema-wrap img[alt*="Schéma"],
  .schema-wrap img[alt*="schéma"],
  .schema-wrap img[alt*="IIES"]{
    object-fit:contain!important;
    background:transparent!important;
  }

  /* Photos : remplissage premium du cadre sans déformation. */
  .v96-case-photo img,
  .schema-wrap img[src*="/photos/"],
  .v96-image-panel img[src*="/photos/"]{
    object-fit:cover!important;
  }

  /* Préserver le comportement des formulaires et de leurs colonnes de texte. */
  .v98-form-split,
  .v98-form-split > *,
  .v98-form-split .schema-wrap,
  .v98-form-split .v96-image-panel{
    height:auto!important;
    min-height:0!important;
    align-items:start!important;
  }
}

@media (max-width:980px){
  .v96-system-block,
  .v96-response-block,
  .v96-response-block.inverse,
  .v96-case,
  .v96-hotel-case,
  .v96-process-line,
  .v97-company-split,
  #europe .split,
  .split,
  .v98-partner-split{
    align-items:start!important;
  }

  .v96-system-visual .v96-image-panel,
  .v96-response-visual,
  .v96-case-photo,
  .v96-hotel-case .schema-wrap,
  .v96-case .schema-wrap,
  .split .schema-wrap,
  .v97-company-split .v96-image-panel,
  #europe .v96-image-panel{
    height:auto!important;
    min-height:0!important;
  }

  .v96-system-visual .v96-image-panel img,
  .v96-response-visual img,
  .schema-wrap img,
  .v96-image-panel img,
  .v96-case-photo img{
    height:auto!important;
    max-height:none!important;
  }

  .v96-response-visual img,
  .schema-wrap img[src*="/schemas/"],
  .schema-wrap img[src*="schema"],
  .schema-wrap img[alt*="Schéma"],
  .schema-wrap img[alt*="schéma"],
  .schema-wrap img[alt*="IIES"]{
    object-fit:contain!important;
  }
}

/* V10.5 SAFE — correctif global renforcé blocs texte/image
   Cette mise à jour ne modifie aucun contenu. Elle stabilise seulement le rendu
   des blocs en deux colonnes : texte + image/schéma, ou image/schéma + texte.
   Objectif : les cadres image suivent la hauteur de la colonne texte, sans
   déformation de l'image. Les schémas restent en contain, les photos en cover.
*/
@media (min-width:981px){
  /* Tous les grands composants éditoriaux en deux colonnes doivent étirer leurs colonnes. */
  .v96-system-block,
  .v96-response-block,
  .v96-response-block.inverse,
  .v96-case,
  .v96-hotel-case,
  .v96-process-line,
  .v97-company-split,
  #europe .split,
  .v98-partner-split,
  .split:not(.v98-form-split){
    align-items:stretch!important;
  }

  /* Les colonnes texte restent pleines hauteur pour piloter la hauteur du bloc. */
  .v96-system-copy,
  .v96-response-copy,
  .v96-case-content,
  .v910-benefit-left,
  .v98-partner-split .v96-map,
  .split:not(.v98-form-split)>div{
    align-self:stretch!important;
    min-height:0!important;
  }

  /* Les conteneurs image/schéma utilisent toute la hauteur disponible de la colonne. */
  .v96-system-visual,
  .v96-system-visual .v96-image-panel,
  .v96-response-visual,
  .v96-case-photo,
  .v96-hotel-case .schema-wrap,
  .v96-case .schema-wrap,
  .v96-process-line .schema-wrap,
  .split:not(.v98-form-split) .schema-wrap,
  .split:not(.v98-form-split) .v96-image-panel,
  .v97-company-split .v96-image-panel,
  #europe .v96-image-panel{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    align-self:stretch!important;
    height:100%!important;
    min-height:clamp(430px,44vw,760px)!important;
    overflow:hidden!important;
  }

  /* Cas spécifique accueil : le grand schéma IIES doit utiliser le cadre au maximum.
     Le padding historique réduisait trop l'image ; on le supprime ici uniquement. */
  .v96-system-visual .v96-image-panel{
    padding:0!important;
  }
  .v96-system-visual .v96-image-panel img{
    padding:0!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    background:transparent!important;
  }

  /* Schémas / infographies : aucun rognage, aucune déformation. */
  .v96-response-visual img,
  .schema-wrap img,
  .schema-wrap img[src*="schema"],
  .schema-wrap img[src*="/schemas/"],
  .schema-wrap img[alt*="Schéma"],
  .schema-wrap img[alt*="schéma"],
  .schema-wrap img[alt*="IIES"]{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    display:block!important;
  }

  /* Photos : remplissage premium sans déformation, avec recadrage doux si nécessaire. */
  .v96-case-photo img,
  .v97-company-split .v96-image-panel img,
  #europe .v96-image-panel img,
  .split:not(.v98-form-split) .v96-image-panel img[src*="/photos/"]{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }

  /* Les formulaires restent exclus du correctif de hauteur. */
  .v98-form-split,
  .v98-form-split>*,
  .v98-form-split .schema-wrap,
  .v98-form-split .v96-image-panel{
    height:auto!important;
    min-height:0!important;
    align-self:start!important;
    align-items:start!important;
  }
}

@media (max-width:980px){
  /* Mobile/tablette : on empile naturellement, sans forcer la hauteur. */
  .v96-system-visual,
  .v96-system-visual .v96-image-panel,
  .v96-response-visual,
  .v96-case-photo,
  .v96-hotel-case .schema-wrap,
  .v96-case .schema-wrap,
  .v96-process-line .schema-wrap,
  .split .schema-wrap,
  .split .v96-image-panel,
  .v97-company-split .v96-image-panel,
  #europe .v96-image-panel{
    height:auto!important;
    min-height:0!important;
  }
  .v96-system-visual .v96-image-panel img,
  .v96-response-visual img,
  .schema-wrap img,
  .v96-image-panel img,
  .v96-case-photo img{
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
  }
}


/* -------------------------------------------------------------------------
   V10.7 SAFE — images cartes applications + frises : cadrage homogène
   ------------------------------------------------------------------------- */
.v96-home-app-img,
.v96-app-overview-photo{
  width:100%;
  overflow:hidden;
  background:#0a2546;
}
.v96-home-app-img img,
.v96-app-overview-photo img{
  display:block;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center;
}
.v96-timeline .timeline-card img{
  display:block;
  width:100%!important;
  height:210px!important;
  object-fit:cover!important;
  object-position:center center;
  background:#eef3f8;
}
@media(max-width:760px){
  .v96-home-app,
  .v96-app-overview-card{
    width:100%;
  }
  .v96-home-app-img,
  .v96-app-overview-photo{
    height:240px!important;
  }
  .v96-home-app-img img,
  .v96-app-overview-photo img{
    width:100%!important;
    min-width:100%!important;
  }
  .v96-timeline .timeline-card img{
    height:220px!important;
  }
}

/* -------------------------------------------------------------------------
   V10.10 SAFE — Page La solution IIES® enrichie
   ------------------------------------------------------------------------- */
.v1010-solution-intro .split{align-items:center;gap:56px}
.v1010-intro-cards .card{min-height:205px}
.v1010-platform .v96-system-block{grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr)}
.v1010-components .section-head,.v1010-difference .section-head{margin-bottom:30px}
.v1010-component-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.v1010-component-card{background:#fff;border:1px solid rgba(6,31,61,.08);border-radius:22px;overflow:hidden;box-shadow:0 16px 42px rgba(6,31,61,.10);display:grid;grid-template-columns:150px minmax(0,1fr);min-height:170px;transition:.22s ease}
.v1010-component-card:hover{transform:translateY(-3px);box-shadow:0 22px 52px rgba(6,31,61,.15)}
.v1010-component-media{background:linear-gradient(135deg,#f7fbff,#eef4fa);display:flex;align-items:center;justify-content:center;padding:20px;border-right:1px solid rgba(6,31,61,.06)}
.v1010-component-media img{max-width:120px;width:100%;height:auto;display:block}
.v1010-component-body{padding:24px 24px 22px}.v1010-component-body h3{font-size:20px;color:#061f3d;margin-bottom:8px}.v1010-component-body p{font-size:14px;color:#5d6d82;margin:0;line-height:1.55}
.v1010-difference-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.v1010-difference-card{background:#fff;border:1px solid rgba(6,31,61,.08);border-radius:22px;padding:28px;box-shadow:0 16px 42px rgba(6,31,61,.10);min-height:260px;transition:.22s ease}.v1010-difference-card:hover{transform:translateY(-3px);box-shadow:0 22px 52px rgba(6,31,61,.15)}
.v1010-difference-icon{width:86px;height:64px;border-radius:18px;background:#f2f7ff;display:flex;align-items:center;justify-content:center;margin-bottom:18px;overflow:hidden}.v1010-difference-icon img{width:100%;height:100%;object-fit:contain;display:block}.v1010-difference-card h3{font-size:21px;color:#061f3d;margin-bottom:10px}.v1010-difference-card p{font-size:14px;color:#5d6d82;line-height:1.55;margin:0}
@media(max-width:1180px){.v1010-component-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v1010-difference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v1010-component-card{grid-template-columns:130px minmax(0,1fr)}}
@media(max-width:760px){.v1010-solution-intro .split{gap:24px}.v1010-component-grid,.v1010-difference-grid{grid-template-columns:1fr}.v1010-component-card{grid-template-columns:1fr}.v1010-component-media{border-right:0;border-bottom:1px solid rgba(6,31,61,.06);min-height:140px}.v1010-difference-card{min-height:0}.v1010-platform .v96-system-block{grid-template-columns:1fr}}

/* -------------------------------------------------------------------------
 * V10.12 SAFE — composants clés en cartes photo pleine zone
 * -------------------------------------------------------------------------
 * Les cartes composants passent d'une logique "picto miniature" à une logique
 * "photo produit" : image plein cadre à gauche sur desktop, image pleine
 * largeur en haut sur mobile. Les SVG par défaut restent affichés proprement
 * en mode contain tant que les photos définitives ne sont pas chargées.
 */
.v1010-component-card{grid-template-columns:170px minmax(0,1fr);min-height:190px;}
.v1010-component-media{padding:0;overflow:hidden;align-items:stretch;justify-content:stretch;background:#eaf0f6;}
.v1010-component-media img{width:100%;height:100%;min-height:190px;max-width:none;object-fit:cover;display:block;}
.v1010-component-media.is-icon{padding:24px;align-items:center;justify-content:center;}
.v1010-component-media.is-icon img{width:100%;height:auto;max-width:120px;min-height:0;object-fit:contain;}
.v1011-page-components .section-head{margin-bottom:30px;}
@media(max-width:1180px){.v1010-component-card{grid-template-columns:150px minmax(0,1fr);}}
@media(max-width:760px){.v1010-component-card{grid-template-columns:1fr;}.v1010-component-media{border-right:0;border-bottom:1px solid rgba(6,31,61,.06);min-height:210px;}.v1010-component-media img{height:210px;min-height:210px;}.v1010-component-media.is-icon img{height:auto;min-height:0;}}


/* -------------------------------------------------------------------------
 * V10.13 SAFE — Page Applications : remplacement du bandeau à pastilles
 * par un bloc texte + champ image éditable pour schéma premium.
 * Cette mise à jour n'affecte que le dernier bandeau bleu de la page Applications.
 * ------------------------------------------------------------------------- */
.v1013-app-platform .container{max-width:1280px}
.v1013-app-platform-split{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:48px;align-items:center}
.v1013-app-platform-copy h2{font-size:clamp(40px,4.8vw,76px);line-height:1.02;margin:0 0 26px;color:#fff;font-weight:900;letter-spacing:-.03em;max-width:8.2ch}
.v1013-app-platform-copy .process-intro{font-size:clamp(22px,1.65vw,34px);line-height:1.5;color:rgba(255,255,255,.96);max-width:20ch;margin:0}
.v1013-app-platform-visual{display:flex;align-items:stretch;justify-content:center}
.v1013-app-platform-frame{width:100%;background:#fff;border-radius:0;padding:18px;box-shadow:0 18px 48px rgba(0,0,0,.22);display:flex;align-items:center;justify-content:center;min-height:520px}
.v1013-app-platform-frame img{display:block;width:100%;height:auto;max-height:100%;object-fit:contain}
@media(max-width:1180px){
  .v1013-app-platform-split{grid-template-columns:1fr;gap:34px}
  .v1013-app-platform-copy h2{max-width:none}
  .v1013-app-platform-copy .process-intro{max-width:none}
  .v1013-app-platform-frame{min-height:0}
}
@media(max-width:760px){
  .v1013-app-platform-copy h2{font-size:clamp(34px,12vw,54px)}
  .v1013-app-platform-copy .process-intro{font-size:21px;line-height:1.45}
  .v1013-app-platform-frame{padding:12px}
}

/* -------------------------------------------------------------------------
 * V10.14 SAFE — Page Applications : correction proportion bandeau visuel final
 * Objectif : conserver la structure V10.13, mais réduire fortement la taille
 * du titre et du visuel afin d'obtenir un bandeau premium, équilibré et lisible.
 * ------------------------------------------------------------------------- */
.v1013-app-platform{
  padding-top:72px!important;
  padding-bottom:72px!important;
}
.v1013-app-platform .container{
  max-width:1280px!important;
}
.v1013-app-platform-split{
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
  gap:46px!important;
  align-items:center!important;
}
.v1013-app-platform-copy h2{
  font-size:clamp(34px,3.2vw,52px)!important;
  line-height:1.12!important;
  letter-spacing:-.025em!important;
  margin:0 0 22px!important;
  max-width:680px!important;
}
.v1013-app-platform-copy .process-intro{
  font-size:clamp(17px,1.15vw,21px)!important;
  line-height:1.62!important;
  max-width:690px!important;
  color:rgba(255,255,255,.90)!important;
}
.v1013-app-platform-visual{
  align-items:center!important;
}
.v1013-app-platform-frame{
  width:100%!important;
  min-height:0!important;
  padding:14px!important;
  border-radius:18px!important;
  box-shadow:0 18px 48px rgba(0,0,0,.20)!important;
}
.v1013-app-platform-frame img{
  width:100%!important;
  height:auto!important;
  max-height:430px!important;
  object-fit:contain!important;
}
@media(max-width:1180px){
  .v1013-app-platform{
    padding-top:56px!important;
    padding-bottom:56px!important;
  }
  .v1013-app-platform-split{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  .v1013-app-platform-copy h2{
    max-width:760px!important;
  }
  .v1013-app-platform-copy .process-intro{
    max-width:760px!important;
  }
  .v1013-app-platform-frame img{
    max-height:none!important;
  }
}
@media(max-width:760px){
  .v1013-app-platform-copy h2{
    font-size:clamp(30px,9vw,42px)!important;
  }
  .v1013-app-platform-copy .process-intro{
    font-size:17px!important;
  }
  .v1013-app-platform-frame{
    padding:10px!important;
    border-radius:14px!important;
  }
}


/* -------------------------------------------------------------------------
 * V10.17 SAFE — header : logo légèrement agrandi desktop et mobile
 * ------------------------------------------------------------------------- */
.topbar .nav{height:86px!important}
.topbar .logo img,.logo img{height:64px!important;width:auto!important;max-width:230px!important;object-fit:contain!important}
@media(max-width:1180px){
  .topbar .nav{height:82px!important}
  .topbar .logo img,.logo img{height:58px!important;max-width:210px!important}
}
@media(max-width:760px){
  .topbar .nav,.nav{height:76px!important}
  .topbar .logo img,.logo img{height:52px!important;max-width:190px!important}
  .menu{top:76px!important}
}


/* -------------------------------------------------------------------------
 * V10.18 SAFE — Header mobile : logo lisible sans débordement du bouton CTA
 * -------------------------------------------------------------------------
 * La V10.17 avait agrandi le logo, mais sur mobile le CTA rouge pouvait
 * déborder à droite. Cette correction ne touche qu'au header mobile : logo
 * légèrement contenu, bouton compact et espacements resserrés.
 */
@media(max-width:760px){
  .topbar .container.nav,
  .topbar .nav{
    height:76px!important;
    max-width:100%!important;
    width:100%!important;
    box-sizing:border-box!important;
    padding-left:14px!important;
    padding-right:14px!important;
    gap:10px!important;
    justify-content:space-between!important;
    overflow:visible!important;
  }
  .topbar .logo,
  .nav .logo{
    flex:0 1 auto!important;
    min-width:0!important;
    max-width:158px!important;
    display:flex!important;
    align-items:center!important;
  }
  .topbar .logo img,
  .logo img{
    height:46px!important;
    max-width:158px!important;
    width:auto!important;
    object-fit:contain!important;
  }
  .topbar .mobile-toggle{
    display:block!important;
    flex:0 0 30px!important;
    width:30px!important;
    min-width:30px!important;
    padding:0!important;
    font-size:26px!important;
    line-height:1!important;
    text-align:center!important;
  }
  .topbar .nav > .btn-red{
    flex:0 0 auto!important;
    width:auto!important;
    max-width:168px!important;
    box-sizing:border-box!important;
    padding:14px 16px!important;
    font-size:15px!important;
    line-height:1.1!important;
    border-radius:14px!important;
    white-space:nowrap!important;
    text-align:center!important;
  }
  .menu{top:76px!important;}
}
@media(max-width:390px){
  .topbar .container.nav,
  .topbar .nav{
    padding-left:10px!important;
    padding-right:10px!important;
    gap:7px!important;
  }
  .topbar .logo,
  .nav .logo{max-width:146px!important;}
  .topbar .logo img,
  .logo img{height:43px!important;max-width:146px!important;}
  .topbar .mobile-toggle{flex-basis:28px!important;width:28px!important;min-width:28px!important;font-size:24px!important;}
  .topbar .nav > .btn-red{max-width:154px!important;padding:13px 13px!important;font-size:14px!important;border-radius:13px!important;}
}
@media(max-width:350px){
  .topbar .logo,
  .nav .logo{max-width:132px!important;}
  .topbar .logo img,
  .logo img{height:40px!important;max-width:132px!important;}
  .topbar .nav > .btn-red{max-width:146px!important;padding:12px 11px!important;font-size:13.5px!important;}
}


/* -------------------------------------------------------------------------
 * V10.29 SAFE — Focus agroalimentaire : lisibilité du schéma métier
 * ------------------------------------------------------------------------- */
.v1029-focus-section .section-head{margin-bottom:30px;}
.v1029-focus-block{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:28px;align-items:stretch;}
.v1029-focus-visual{background:#fff;border:1px solid rgba(255,255,255,.22);border-radius:26px;box-shadow:0 22px 62px rgba(0,0,0,.22);padding:14px;min-height:520px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.v1029-focus-visual img{width:100%;height:100%;object-fit:contain;display:block;background:#fff;border-radius:18px;}
.v1029-focus-copy{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:26px;padding:34px;box-shadow:0 18px 54px rgba(0,0,0,.18);color:#fff;display:flex;flex-direction:column;justify-content:center;}
.v1029-focus-copy h3{color:#fff!important;font-size:clamp(24px,2.1vw,34px);margin-bottom:18px;}
.v1029-focus-list{margin:0;padding-left:22px;}
.v1029-focus-list li{color:rgba(255,255,255,.86);font-size:16px;line-height:1.55;margin:12px 0;}
@media(max-width:1180px){
  .v1029-focus-block{grid-template-columns:1fr;}
  .v1029-focus-visual{min-height:0;}
  .v1029-focus-visual img{height:auto;}
}
@media(max-width:760px){
  .v1029-focus-copy{padding:24px;}
  .v1029-focus-list li{font-size:15px;}
}

/* V10.30.2 SAFE — page Références : navigation desktop optimisée */
.v1030-ref-intro .section-head{max-width:1040px}
.v1030-ref-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:30px}
.v1030-ref-nav-card{display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:6px 14px;background:#fff;border:1px solid rgba(6,31,61,.10);border-radius:20px;padding:18px 19px;box-shadow:0 14px 38px rgba(6,31,61,.08);color:#061f3d;font-weight:900;transition:.2s ease;min-height:108px;position:relative;overflow:hidden}
.v1030-ref-nav-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#164b8e,#2f742e);opacity:.0;transition:.2s ease}
.v1030-ref-nav-card:hover{transform:translateY(-2px);box-shadow:0 20px 48px rgba(6,31,61,.13);color:#061f3d;border-color:rgba(22,75,142,.34)}
.v1030-ref-nav-card:hover:before{opacity:1}
.v1030-ref-nav-card strong{display:block;font-size:16px;line-height:1.22;color:#061f3d;letter-spacing:-.01em}
.v1030-ref-nav-card em{grid-column:2;display:inline-flex;align-items:center;justify-content:center;justify-self:start;font-style:normal;font-size:12px;font-weight:950;line-height:1;color:#fff;background:linear-gradient(135deg,#164b8e,#0a2d55);border:1px solid rgba(22,75,142,.25);border-radius:999px;padding:8px 12px;margin-top:5px;white-space:nowrap;opacity:1;box-shadow:0 8px 20px rgba(22,75,142,.18)}
.v1030-ref-icon,.v1030-ref-num{display:inline-flex;align-items:center;justify-content:center;min-width:44px;width:44px;height:44px;border-radius:15px;background:#eef5ff;color:#164b8e;font-weight:950;font-size:20px;line-height:1;box-shadow:inset 0 0 0 1px rgba(22,75,142,.06)}
.v1030-ref-sections{padding-top:58px}
.v1030-ref-app{background:#fff;border:1px solid rgba(6,31,61,.08);border-radius:28px;padding:28px;margin-bottom:28px;box-shadow:0 16px 48px rgba(6,31,61,.09)}
.v1030-ref-app-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}
.v1030-ref-app-head h2{font-size:clamp(30px,3vw,46px);margin:10px 0 8px;color:#061f3d}
.v1030-ref-app-head p{max-width:780px;color:#586b83;margin:0;font-size:16px}
.v1030-ref-app-head .btn{white-space:nowrap;margin-top:6px}
.v1030-ref-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.v1030-ref-figure{margin:0;background:#f5f7fb;border:1px solid rgba(6,31,61,.08);border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(6,31,61,.08)}
.v1030-ref-figure a{display:block;height:0;padding-top:62.5%;position:relative;overflow:hidden;background:#dbe6f2}
.v1030-ref-figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .26s ease}
.v1030-ref-figure:hover img{transform:scale(1.035)}
.v1030-ref-figure figcaption{padding:12px 14px;color:#061f3d;font-size:13px;font-weight:850;min-height:46px}
.v1030-ref-app-footer{margin-top:22px;display:flex;justify-content:flex-end}
.v1030-ref-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(6,31,61,.92);display:none;align-items:center;justify-content:center;padding:34px}
.v1030-ref-lightbox.open{display:flex}
.v1030-ref-lightbox-inner{width:min(1180px,96vw);max-height:94vh;position:relative}
.v1030-ref-lightbox-img{width:100%;max-height:82vh;object-fit:contain;border-radius:18px;box-shadow:0 28px 90px rgba(0,0,0,.45);background:#fff}
.v1030-ref-lightbox-caption{color:#fff;margin-top:14px;font-weight:800;text-align:center}
.v1030-ref-lightbox-close{position:absolute;right:-16px;top:-16px;width:46px;height:46px;border-radius:50%;border:0;background:#e52822;color:#fff;font-size:28px;font-weight:900;cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,.25)}
body.v1030-lightbox-open{overflow:hidden}
@media(max-width:1180px){.v1030-ref-nav,.v1030-ref-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.v1030-ref-app-head{flex-direction:column}.v1030-ref-app-head .btn,.v1030-ref-app-footer .btn{align-self:flex-start}.v1030-ref-app-footer{justify-content:flex-start}}
@media(max-width:760px){.v1030-ref-nav,.v1030-ref-gallery{grid-template-columns:1fr}.v1030-ref-app{padding:20px;border-radius:22px}.v1030-ref-figure a{padding-top:62.5%}.v1030-ref-lightbox{padding:18px}.v1030-ref-lightbox-close{right:0;top:-54px}.v1030-ref-nav-card{min-height:86px;padding:16px 16px}.v1030-ref-nav-card strong{font-size:15px}.v1030-ref-app-head .btn{white-space:normal}}


/* -------------------------------------------------------------------------
 * V10.32 SAFE FOOTER — footer simplifié et orienté navigation utile
 * ------------------------------------------------------------------------- */
.footer .footer-grid.footer-grid-v1032{display:grid;grid-template-columns:minmax(260px,1.15fr) minmax(160px,.75fr) minmax(360px,1.45fr) minmax(190px,.85fr)!important;gap:34px 44px!important;align-items:start;}
.v1032-footer-brand img{max-width:190px;height:auto;margin-bottom:18px;}
.v1032-footer-brand p{max-width:340px;color:rgba(255,255,255,.72);font-size:15px;}
.v1032-footer-cta{display:inline-flex!important;align-items:center;justify-content:center;margin-top:8px!important;padding:12px 16px;border-radius:13px;background:#e52822;color:#fff!important;font-weight:950;text-decoration:none!important;box-shadow:0 12px 28px rgba(229,40,34,.22);border:1px solid rgba(255,255,255,.12);}
.v1032-footer-cta:hover{background:#ff3a33;color:#fff!important;transform:translateY(-1px);}
.footer .v1032-footer-col h4{color:#fff;margin-bottom:16px;font-size:16px;letter-spacing:.02em;}
.footer .v1032-footer-col a,.footer .v1032-footer-app-grid a{color:rgba(255,255,255,.72);font-size:14px;line-height:1.35;text-decoration:none;}
.footer .v1032-footer-col a:hover,.footer .v1032-footer-app-grid a:hover{color:#fff;}
.v1032-footer-applications{min-width:0;}
.v1032-footer-app-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;align-items:start;}
.v1032-footer-app-grid a:first-child{grid-column:1 / -1;color:#fff;font-weight:900;}
.footer-bottom{margin-top:34px;}
@media(max-width:1180px){
  .footer .footer-grid.footer-grid-v1032{grid-template-columns:1fr 1fr!important;gap:30px!important;}
  .v1032-footer-applications{grid-column:1 / -1;}
  .v1032-footer-app-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  .footer .footer-grid.footer-grid-v1032{grid-template-columns:1fr!important;gap:28px!important;}
  .v1032-footer-applications{grid-column:auto;}
  .v1032-footer-app-grid{grid-template-columns:1fr;gap:9px;}
  .v1032-footer-brand img{max-width:170px;}
  .v1032-footer-cta{width:auto;max-width:260px;}
}


/* -------------------------------------------------------------------------
 * V10.32.1 SAFE FOOTER — alignement desktop du footer
 * ------------------------------------------------------------------------- */
.footer .footer-grid.footer-grid-v1032{
  grid-template-columns:minmax(250px,1.05fr) minmax(180px,.75fr) minmax(430px,1.55fr) minmax(210px,.85fr)!important;
  gap:38px 54px!important;
  align-items:flex-start!important;
}
.footer .v1032-footer-col h4{margin-top:0!important;}
.footer .v1032-footer-col a{margin-bottom:10px!important;}
.v1032-footer-all-apps{
  display:inline-flex!important;
  width:auto;
  margin:0 0 12px!important;
  color:#fff!important;
  font-weight:950!important;
  line-height:1.25!important;
  text-decoration:none!important;
}
.v1032-footer-all-apps:hover{color:#fff!important;text-decoration:underline!important;text-underline-offset:4px;}
.v1032-footer-app-grid{display:none!important;}
.v1032-footer-app-columns{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:10px 36px;
  align-items:start;
}
.footer .v1032-footer-app-columns a{
  display:block;
  color:rgba(255,255,255,.72);
  font-size:14px;
  line-height:1.35;
  text-decoration:none;
  margin:0 0 10px!important;
}
.footer .v1032-footer-app-columns a:hover{color:#fff;}
.v1032-footer-brand p{max-width:300px;}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid rgba(255,255,255,.12);padding-top:22px;}
@media(max-width:1180px){
  .footer .footer-grid.footer-grid-v1032{grid-template-columns:1fr 1fr!important;gap:32px 42px!important;}
  .v1032-footer-applications{grid-column:1 / -1;}
  .v1032-footer-app-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 30px;max-width:680px;}
}
@media(max-width:760px){
  .footer .footer-grid.footer-grid-v1032{grid-template-columns:1fr!important;gap:28px!important;}
  .v1032-footer-applications{grid-column:auto;}
  .v1032-footer-app-columns{grid-template-columns:1fr;gap:0;}
  .footer-bottom{display:block;}
}

/* -------------------------------------------------------------------------
 * V10.32.2 SAFE FOOTER — suppression de “Toutes les applications”
 * ------------------------------------------------------------------------- */
.footer .v1032-footer-col h4 a.v1032-footer-title-link{
  color:#fff!important;
  text-decoration:none!important;
  font:inherit;
  letter-spacing:inherit;
  display:inline-block!important;
  margin:0!important;
}
.footer .v1032-footer-col h4 a.v1032-footer-title-link:hover{
  color:#fff!important;
  text-decoration:underline!important;
  text-underline-offset:4px;
}
.v1032-footer-all-apps{display:none!important;}
.v1032-footer-app-columns{
  margin-top:0!important;
  padding-top:0!important;
}
.footer .v1032-footer-app-columns a{
  color:rgba(255,255,255,.76)!important;
  margin-bottom:10px!important;
}


/* V10.36 SAFE — Demande d'étude : messages de confirmation et formulaire plus lisible */
.v1036-form-notice{border-radius:16px;padding:16px 18px;margin:0 0 20px;font-weight:800;line-height:1.45;border:1px solid rgba(6,31,61,.10);box-shadow:0 10px 28px rgba(6,31,61,.08)}
.v1036-form-notice.success{background:#edf8f1;color:#145c2b;border-color:#c9ead4}
.v1036-form-notice.error{background:#fff2f1;color:#9a1c16;border-color:#ffd0cc}
.v1036-form-help{font-size:13px;color:#5a6b82;margin:2px 0 0;line-height:1.45}
.v1036-study-split{grid-template-columns:minmax(260px,.82fr) minmax(420px,1.18fr)}
.v1036-study-split .form{width:100%}
@media(max-width:1180px){.v1036-study-split{grid-template-columns:1fr}}


/* -------------------------------------------------------------------------
 * V10.37 SAFE — Menu mobile scrollable
 * -------------------------------------------------------------------------
 * Correction ciblée : lorsque le menu mobile dépasse la hauteur de l’écran
 * (iPhone / petits écrans), il devient scrollable afin que tous les liens
 * restent accessibles, notamment Actualités.
 * Ne touche pas au menu desktop ni aux contenus du site.
 */
@media(max-width:980px){
  .topbar .menu,
  .menu{
    z-index:120!important;
  }
  .topbar .menu.open,
  .menu.open{
    max-height:calc(100vh - 76px)!important;
    max-height:calc(100dvh - 76px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    padding-bottom:calc(34px + env(safe-area-inset-bottom, 0px))!important;
  }
}
@media(max-width:350px){
  .topbar .menu.open,
  .menu.open{
    max-height:calc(100vh - 76px)!important;
    max-height:calc(100dvh - 76px)!important;
  }
}


/* -------------------------------------------------------------------------
 * V10.40 SAFE — Nous rejoindre : partenaires & carrières
 * ------------------------------------------------------------------------- */
.v1040-collab .v1040-collab-card{
  min-height:280px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  align-items:stretch!important;
  align-content:stretch!important;
  gap:12px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.035))!important;
}
.v1040-collab .v1040-collab-card span{
  display:flex!important;
  align-items:center!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  padding:12px 14px!important;
  line-height:1.25!important;
}
.v1040-collab-note{
  margin-top:18px!important;
  color:rgba(255,255,255,.82)!important;
  font-weight:700;
}
.v98-job-card span{
  color:var(--red)!important;
}

/* -------------------------------------------------------------------------
 * V10.40.1 SAFE — Images intérieures Nous rejoindre
 * ------------------------------------------------------------------------- */
.v10401-partner-visual{
  gap:18px!important;
}
.v10401-inner-image{
  width:100%;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  box-shadow:0 22px 70px rgba(0,0,0,.22);
  min-height:260px;
  flex:0 0 auto;
}
.v10401-inner-image img{
  display:block;
  width:100%;
  height:100%;
  min-height:260px;
  object-fit:cover;
}
.v10401-partner-visual .v1040-collab-card{
  min-height:230px!important;
  flex:0 0 auto!important;
}
.v10401-career-split{
  display:grid!important;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)!important;
  gap:42px!important;
  align-items:stretch!important;
}
.v10401-career-copy{
  display:flex;
  flex-direction:column;
}
.v10401-career-copy .v96-cards{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  flex:1;
  align-items:stretch;
}
.v10401-career-copy .v96-cards .card{
  min-height:220px;
}
.v10401-career-image{
  min-height:100%;
  height:auto;
  align-self:stretch;
}
.v10401-career-image img{
  height:100%;
  object-fit:cover;
}
@media(max-width:1180px){
  .v10401-career-split{
    grid-template-columns:1fr!important;
  }
  .v10401-career-image{
    min-height:420px;
  }
}
@media(max-width:760px){
  .v10401-career-copy .v96-cards{
    grid-template-columns:1fr!important;
  }
  .v10401-inner-image,
  .v10401-inner-image img,
  .v10401-career-image{
    min-height:320px;
  }
}


/* -------------------------------------------------------------------------
 * V10.41 SAFE — Industrie & agroalimentaire : Focus fromagerie additionnel
 * ------------------------------------------------------------------------- */
.v1041-fromagerie-focus{
  margin-top:34px;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(280px,.72fr);
  gap:24px;
  align-items:stretch;
}
.v1041-fromagerie-copy{
  border-radius:26px;
  padding:34px;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.045));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 18px 54px rgba(0,0,0,.18);
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.v1041-fromagerie-copy .kicker{
  color:#ff4a43;
  font-weight:950;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:12px;
  margin-bottom:12px;
}
.v1041-fromagerie-copy h3{
  color:#fff!important;
  font-size:clamp(24px,2vw,34px);
  margin:0 0 14px;
}
.v1041-fromagerie-copy p{
  color:rgba(255,255,255,.82);
  font-size:16px;
  line-height:1.65;
  max-width:780px;
  margin:0;
}
.v1041-fromagerie-photo{
  margin:0;
  background:#fff;
  border-radius:26px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.24);
  box-shadow:0 22px 62px rgba(0,0,0,.24);
  min-height:420px;
  display:flex;
  flex-direction:column;
}
.v1041-fromagerie-photo img{
  display:block;
  width:100%;
  height:100%;
  min-height:380px;
  object-fit:cover;
  flex:1 1 auto;
}
.v1041-fromagerie-photo figcaption{
  background:#fff;
  color:#5a6b82;
  padding:12px 16px;
  font-size:13px;
  font-weight:850;
  border-top:1px solid rgba(6,31,61,.08);
}
@media(max-width:1180px){
  .v1041-fromagerie-focus{grid-template-columns:1fr;}
  .v1041-fromagerie-photo{min-height:0;}
  .v1041-fromagerie-photo img{min-height:320px;max-height:560px;}
}
@media(max-width:760px){
  .v1041-fromagerie-copy{padding:24px;}
  .v1041-fromagerie-copy p{font-size:15px;}
}

/* V10.42 SAFE — Actualités dynamiques */
.v1042-news-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
}
.v1042-news-card{
  background:#fff;
  border:1px solid rgba(6,31,61,.08);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 16px 45px rgba(6,31,61,.08);
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.v1042-news-photo{
  display:block;
  height:180px;
  overflow:hidden;
  background:#eaf0f7;
}
.v1042-news-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.v1042-news-card:hover .v1042-news-photo img{transform:scale(1.04);}
.v1042-news-body{
  padding:18px 18px 20px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.v1042-news-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
  font-size:11px;
  line-height:1.2;
  color:#e7372f;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.v1042-news-meta time{
  color:#71839b;
  font-weight:800;
  letter-spacing:0;
  text-transform:none;
}
.v1042-news-body h3{
  margin:0 0 10px;
  font-size:19px;
  line-height:1.12;
  color:#061f3d;
}
.v1042-news-body h3 a{color:inherit;text-decoration:none;}
.v1042-news-body p{
  margin:0 0 16px;
  color:#50627b;
  line-height:1.55;
  font-size:14px;
}
.v1042-readmore{
  margin-top:auto;
  color:#ef3329;
  font-weight:900;
  text-decoration:none;
  font-size:14px;
}
.v1042-pagination{
  margin-top:34px;
  display:flex;
  justify-content:center;
}
.v1042-pagination ul{
  display:flex;
  gap:10px;
  list-style:none;
  padding:0;
  margin:0;
  flex-wrap:wrap;
  justify-content:center;
}
.v1042-pagination a,
.v1042-pagination span{
  display:inline-flex;
  min-width:42px;
  height:42px;
  padding:0 14px;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  border:1px solid rgba(6,31,61,.12);
  background:#fff;
  color:#061f3d;
  text-decoration:none;
  font-weight:900;
}
.v1042-pagination .current{
  background:#061f3d;
  color:#fff;
  border-color:#061f3d;
}
.v1042-news-cta{padding:0 0 70px;background:#fff;}
.v1042-news-cta .cta-box{
  margin-top:0;
}
.v1042-single-head{
  max-width:980px;
  margin:0 auto 26px;
}
.v1042-single-head h1{
  margin:0;
  font-size:clamp(42px,6vw,76px);
  line-height:.98;
  color:#061f3d;
  letter-spacing:-.05em;
}
.v1042-single-meta{
  margin-top:18px;
  display:flex;
  gap:14px;
  align-items:center;
  color:#71839b;
  font-weight:850;
}
.v1042-single-meta span{
  color:#e7372f;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
}
.v1042-single-image{
  max-width:980px;
  margin:0 auto 28px;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(6,31,61,.10);
  background:#eef3f8;
}
.v1042-single-image img{
  display:block;
  width:100%;
  max-height:520px;
  object-fit:cover;
}
.v1042-single-content{
  max-width:860px;
  margin:0 auto;
  background:#fff;
  border:1px solid rgba(6,31,61,.08);
  border-radius:24px;
  padding:clamp(28px,4vw,52px);
  box-shadow:0 18px 55px rgba(6,31,61,.06);
  color:#31455e;
  line-height:1.75;
  font-size:18px;
}
.v1042-single-content h2{
  color:#061f3d;
  font-size:clamp(26px,3vw,36px);
  line-height:1.1;
  margin:30px 0 12px;
}
.v1042-single-content p:first-child{margin-top:0;}
.v1042-single-cta{
  max-width:980px;
  margin:34px auto 0;
  border-radius:24px;
  background:#082a50;
  color:#fff;
  padding:34px;
  display:grid;
  grid-template-columns:1.15fr 1.15fr;
  gap:28px;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.v1042-single-cta:after{
  content:"";
  position:absolute;
  right:-60px;top:-40px;
  width:220px;height:220px;
  background:rgba(231,55,47,.22);
  border-radius:50%;
}
.v1042-single-cta h2{margin:0;font-size:28px;line-height:1.1;color:#fff;}
.v1042-single-cta p{margin:0;color:rgba(255,255,255,.82);line-height:1.6;}
.v1042-single-cta .hero-actions{grid-column:1 / -1;margin-top:0;z-index:1;}
@media(max-width:1050px){
  .v1042-news-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:720px){
  .v1042-news-grid{grid-template-columns:1fr;}
  .v1042-news-photo{height:210px;}
  .v1042-single-cta{grid-template-columns:1fr;padding:26px;}
  .v1042-single-content{font-size:16px;}
}


/* V10.43 SAFE LEGAL */
.v1043-legal-grid{align-items:stretch;}
.v1043-legal-card .v1043-legal-text p{margin:0 0 12px;line-height:1.65;}
.v1043-legal-card .v1043-legal-text p:last-child{margin-bottom:0;}
.v1043-legal-card a{color:#0b2a4a;text-decoration:underline;text-underline-offset:3px;}
@media (max-width: 720px){.v1043-legal-grid{grid-template-columns:1fr;}.v1043-legal-card .v1043-legal-text p{font-size:14px;}}

/* -------------------------------------------------------------------------
 * V10.44.2 SAFE PERFORMANCE FIX — correction définitive images "Où déployer"
 * -------------------------------------------------------------------------
 * La V10.44 a ajouté width/height pour la performance. Les blocs Où déployer
 * utilisent désormais un conteneur média à hauteur fixe pour empêcher tout
 * étirement vertical des images et conserver un cadrage carte homogène.
 */
.v1019-deploy-grid .v1019-deploy-card{
  overflow:visible;
}
.v1019-deploy-grid .v10442-deploy-media{
  position:relative;
  display:block;
  width:100% !important;
  height:180px !important;
  aspect-ratio:auto !important;
  overflow:hidden !important;
  border-radius:14px !important;
  margin:0 0 10px 0 !important;
  background:#eaf0f7;
}
.v1019-deploy-grid .v10442-deploy-media img,
.v1019-deploy-grid .v10442-deploy-img,
.v1019-deploy-grid .v1019-deploy-card > img,
.v1019-deploy-grid .domain-card > img{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:100% !important;
  max-height:none !important;
  min-height:0 !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:0 !important;
  margin:0 !important;
}
.v1019-deploy-grid .v1019-deploy-card .num{
  display:block;
}
@media(max-width:620px){
  .v1019-deploy-grid .v10442-deploy-media{height:190px !important;}
}


/* -------------------------------------------------------------------------
 * V10.45 SAFE FOOTER COORDONNÉES — ajout des coordonnées société au footer
 * ------------------------------------------------------------------------- */
.v1045-footer-coords{margin:14px 0 10px;}
.v1045-footer-coords p{margin:0 0 3px;max-width:340px;color:rgba(255,255,255,.78);font-size:15px;line-height:1.45;}
.v1045-footer-company{font-weight:900;color:#fff!important;}
.footer-mail-link{color:#fff;text-decoration:none;}
.footer-mail-link:hover{text-decoration:underline;text-underline-offset:4px;}


/* -------------------------------------------------------------------------
 * V10.50 SAFE IT SOLUZIONE IIES — logo mobile légèrement agrandi
 * ------------------------------------------------------------------------- */
@media(max-width:760px){
  .topbar .logo,
  .nav .logo{max-width:174px!important;}
  .topbar .logo img,
  .logo img{height:50px!important;max-width:174px!important;width:auto!important;object-fit:contain!important;}
}
@media(max-width:390px){
  .topbar .logo,
  .nav .logo{max-width:154px!important;}
  .topbar .logo img,
  .logo img{height:45px!important;max-width:154px!important;}
}
@media(max-width:350px){
  .topbar .logo,
  .nav .logo{max-width:138px!important;}
  .topbar .logo img,
  .logo img{height:42px!important;max-width:138px!important;}
}
