/* S2IA V72 — finalisation ciblée : popups, partenaires, médias, hôtels, compagnies */
:root{--s2ia-navy:#071f46;--s2ia-blue:#0d4da8;--s2ia-orange:#f26522;--s2ia-green:#2d8a3f;--s2ia-bg:#f6f8fb;--s2ia-border:#dfe7f0}
html body .s2ia-showcase-inner,html body .partner-logo-cloud-inner{width:min(94%,1760px)!important;margin-inline:auto!important}
/* Chefs d'Etat */
html body .state-heads-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important}
html body .leader-card{background:#fff!important;border:1px solid var(--s2ia-border)!important;border-radius:22px!important;overflow:hidden!important;box-shadow:0 12px 28px rgba(7,31,70,.09)!important;text-align:left!important}
html body .state-heads-grid .leader-card img{width:100%!important;height:310px!important;object-fit:cover!important;object-position:center 16%!important;background:#eef2f7!important}
html body .leader-card .profile-card-body{padding:18px 18px 20px!important;display:block!important}
html body .leader-card strong{font-size:19px!important;color:var(--s2ia-navy)!important;line-height:1.2!important}
html body .leader-card em{display:block!important;margin-top:7px!important;font-style:normal!important;color:#334a6d!important;font-size:13px!important;line-height:1.35!important}
html body .leader-country{display:inline-flex!important;margin-top:10px!important;padding:6px 10px!important;border-radius:999px!important;background:#edf3fb!important;color:#35557f!important;font-size:11px!important}
html body .leader-info-card{width:min(1040px,94vw)!important;max-width:none!important;padding:0!important;display:grid!important;grid-template-columns:minmax(320px,42%) 1fr!important;overflow:hidden!important;background:#fff!important;min-height:520px!important}
html body .leader-modal-visual{background:#eef2f7!important;min-height:520px!important}
html body .leader-modal-image{display:block!important;width:100%!important;height:100%!important;min-height:520px!important;max-height:72vh!important;object-fit:cover!important;object-position:center top!important;margin:0!important;border-radius:0!important}
html body .leader-modal-content{padding:54px 52px 42px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:0!important}
html body .leader-info-card h2{margin:0 0 14px!important;color:var(--s2ia-navy)!important;font-size:clamp(32px,3.2vw,54px)!important;line-height:1.02!important;overflow-wrap:anywhere!important}
html body .leader-modal-subtitle{margin:0 0 16px!important;color:#183b69!important;font-size:18px!important;font-weight:800!important;line-height:1.45!important}
html body .leader-modal-country{display:inline-flex!important;width:max-content!important;max-width:100%!important;padding:8px 13px!important;border-radius:999px!important;background:#eef4fb!important;color:#345a86!important;font-weight:800!important;font-size:14px!important}
html body .leader-info-card .modal-close{z-index:5!important}
/* Thematiques */
html body .v51-themes-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important}
html body .v51-theme-card img{height:250px!important;object-fit:cover!important}
/* Institutions economiques + partenaires event */
html body .economic-logo-section,html body .event-finance-section{padding:76px 0 82px!important;background:#f5f8fc!important;overflow:hidden!important}
html body .economic-title-with-arrows .strip-arrow,html body .finance-title-with-arrows .strip-arrow,html body .economic-dots,html body .event-finance-dots{display:none!important}
html body .economic-image-row,html body .finance-row{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:18px!important;overflow:visible!important;scroll-snap-type:none!important;padding:0!important;margin-top:30px!important}
html body .economic-image-card,html body .finance-image-card{min-width:0!important;width:auto!important;min-height:190px!important;border-radius:20px!important;border:1px solid var(--s2ia-border)!important;background:#fff!important;padding:20px!important;box-shadow:0 10px 28px rgba(7,31,70,.08)!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important}
html body .economic-image-card img,html body .finance-image-card img{width:100%!important;max-width:185px!important;height:100px!important;max-height:none!important;object-fit:contain!important;filter:none!important}
html body .partner-logo-title{margin-top:16px!important;color:#111827!important;font-size:14px!important;line-height:1.35!important;text-align:center!important}
/* Chambres commerce */
html body .v51-chambers-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important}
html body .v51-chambers-grid .profile-card{min-height:290px!important;background:#fff!important;border:1px solid var(--s2ia-border)!important;border-radius:22px!important;box-shadow:0 10px 28px rgba(7,31,70,.07)!important;overflow:hidden!important}
html body .v51-chambers-grid .profile-card img{height:180px!important;width:100%!important;object-fit:contain!important;padding:24px!important;background:#fff!important;filter:none!important}
html body .v51-chambers-grid .profile-card-body{padding:15px 18px 20px!important;text-align:center!important}
html body .v51-chambers-grid h3{font-size:16px!important;line-height:1.3!important;color:var(--s2ia-navy)!important}
/* Medias */
html body .media-partners-section{padding:78px 0 92px!important;background:#fff!important}
html body .media-partners-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:18px!important;margin-top:30px!important}
html body .media-partner-card{min-width:0!important;min-height:180px!important;padding:20px 16px!important;border:1px solid var(--s2ia-border)!important;border-radius:20px!important;background:#fff!important;box-shadow:0 10px 26px rgba(7,31,70,.08)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;overflow:hidden!important}
html body .media-logo-frame{width:100%!important;height:96px!important;display:grid!important;place-items:center!important;margin-bottom:12px!important}
html body .media-partner-card img{width:auto!important;max-width:150px!important;height:auto!important;max-height:86px!important;object-fit:contain!important;border-radius:0!important;margin:0!important}
html body .media-partner-card strong{color:var(--s2ia-navy)!important;font-size:15px!important;line-height:1.25!important}
html body .media-partner-card small{display:block!important;margin-top:5px!important;color:#6b7d95!important;font-size:11px!important}
/* Airlines */
html body .airline-partners-section{padding:78px 0 86px!important;background:#f5f8fc!important}
html body .airline-partners-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:18px!important;margin-top:30px!important}
html body .airline-card{min-height:180px!important;background:#fff!important;border:1px solid var(--s2ia-border)!important;border-radius:20px!important;padding:22px 16px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;box-shadow:0 10px 26px rgba(7,31,70,.08)!important}
html body .airline-logo{height:92px!important;width:100%!important;display:grid!important;place-items:center!important;margin-bottom:12px!important}
html body .airline-logo img{max-width:160px!important;max-height:82px!important;object-fit:contain!important}
html body .airline-card h3{margin:0!important;color:var(--s2ia-navy)!important;font-size:16px!important;line-height:1.25!important}
html body .airline-card p{margin:6px 0 0!important;color:#66778e!important;font-size:12px!important}
/* Hotels */
html body .hotel-partners-section{padding:78px 0 94px!important;background:#f8fafc!important}
html body .hotel-partners-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:24px!important}
html body .hotel-partner-card{border:1px solid var(--s2ia-border)!important;border-radius:24px!important;background:#fff!important;box-shadow:0 14px 34px rgba(7,31,70,.10)!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
html body .hotel-photo-wrap{height:220px!important;background:#eef2f7!important;position:relative!important;overflow:hidden!important}
html body .hotel-photo{width:100%!important;height:100%!important;object-fit:cover!important}
html body .hotel-logo-badge{width:70px!important;height:70px!important;bottom:14px!important;left:14px!important;background:#fff!important;border-radius:16px!important;padding:9px!important}
html body .hotel-partner-body{display:flex!important;flex-direction:column!important;flex:1!important;padding:18px 18px 20px!important}
html body .hotel-partner-body h3{font-size:19px!important;margin:0 0 6px!important;color:var(--s2ia-navy)!important}
html body .hotel-partner-body p{font-size:13px!important;color:#6a7b91!important;margin:0 0 15px!important}
html body .hotel-card-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;margin-top:auto!important}
html body .hotel-card-actions button{border:0!important;border-radius:11px!important;padding:11px 10px!important;font-weight:850!important;cursor:pointer!important}
html body .hotel-card-actions .details{background:#edf3fb!important;color:#123c72!important}
html body .hotel-card-actions .book{background:var(--s2ia-orange)!important;color:#fff!important}
html body .hotel-detail-card{width:min(1120px,95vw)!important;padding:0!important;overflow:hidden!important}
html body .hotel-detail-hero{position:relative!important;height:320px!important;background:#eaf0f6!important}
html body .hotel-detail-hero>img{width:100%!important;height:100%!important;object-fit:cover!important}
html body .hotel-detail-logo{position:absolute!important;left:28px!important;bottom:24px!important;width:86px!important;height:86px!important;background:#fff!important;border-radius:18px!important;padding:12px!important;box-shadow:0 12px 26px rgba(0,0,0,.2)!important}
html body .hotel-detail-logo img{width:100%!important;height:100%!important;object-fit:contain!important}
html body .hotel-detail-copy{padding:28px 32px 34px!important}
html body .hotel-detail-copy h2{margin:0 0 6px!important;color:var(--s2ia-navy)!important;font-size:34px!important}
html body .hotel-room-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;margin-top:22px!important}
html body .hotel-room-card{border:1px solid var(--s2ia-border)!important;border-radius:17px!important;overflow:hidden!important;background:#fff!important}
html body .hotel-room-card img{width:100%!important;height:145px!important;object-fit:cover!important;background:#eef2f7!important}
html body .hotel-room-card div{padding:13px!important}
html body .hotel-room-card h4{margin:0 0 6px!important;color:var(--s2ia-navy)!important;font-size:15px!important}
html body .hotel-room-card p{margin:0!important;color:#60728a!important;font-size:12px!important;line-height:1.45!important}
html body .hotel-room-price{display:block!important;margin-top:8px!important;color:#d75417!important;font-weight:900!important}
/* Booking modal */
html body .hotel-booking-card{width:min(880px,94vw)!important;padding:38px!important}
html body .hotel-booking-card .form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
html body .hotel-booking-card label{display:flex!important;flex-direction:column!important;gap:7px!important;color:#173456!important;font-weight:800!important}
html body .hotel-booking-card input,html body .hotel-booking-card select,html body .hotel-booking-card textarea{width:100%!important;border:1px solid #ccd8e6!important;border-radius:11px!important;padding:12px!important;font:inherit!important;background:#fff!important}
html body .hotel-booking-card .full{grid-column:1/-1!important}
/* Admin simple modal */
.admin-modal{position:fixed;inset:0;display:none;z-index:9999}.admin-modal.is-open{display:grid;place-items:center}.admin-modal-backdrop{position:absolute;inset:0;background:rgba(5,20,44,.72)}.admin-modal-card{position:relative;z-index:1;width:min(900px,94vw);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:28px;box-shadow:0 28px 80px rgba(0,0,0,.3)}.admin-modal-close{position:absolute;right:18px;top:14px;border:0;background:#eef2f7;border-radius:50%;width:42px;height:42px;font-size:24px}.admin-row-actions{display:flex;gap:7px;flex-wrap:wrap}.admin-row-actions button,.admin-row-actions a{padding:7px 10px;border-radius:8px;border:1px solid #cad5e2;background:#fff;text-decoration:none;color:#123b6d;font-weight:700;cursor:pointer}.admin-row-actions .danger{color:#a01717;border-color:#efc7c7}
/* Responsive */
@media(max-width:1250px){html body .state-heads-grid,html body .hotel-partners-grid,html body .v51-chambers-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}html body .economic-image-row,html body .finance-row,html body .media-partners-grid,html body .airline-partners-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:900px){html body .leader-info-card{grid-template-columns:1fr!important}html body .leader-modal-visual{min-height:330px!important;max-height:42vh!important}html body .leader-modal-image{min-height:330px!important;height:42vh!important}html body .leader-modal-content{padding:28px!important}html body .state-heads-grid,html body .hotel-partners-grid,html body .v51-chambers-grid,html body .v51-themes-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}html body .economic-image-row,html body .finance-row,html body .media-partners-grid,html body .airline-partners-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}html body .hotel-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){html body .state-heads-grid,html body .hotel-partners-grid,html body .v51-chambers-grid,html body .v51-themes-grid{grid-template-columns:1fr!important}html body .economic-image-row,html body .finance-row,html body .media-partners-grid,html body .airline-partners-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}html body .hotel-room-grid{grid-template-columns:1fr!important}html body .hotel-booking-card .form-grid{grid-template-columns:1fr!important}html body .hotel-booking-card .full{grid-column:auto!important}html body .state-heads-grid .leader-card img{height:340px!important}}
/* Limiter l'agrandissement des favicons des chambres pour préserver leur netteté */
html body .v51-chambers-grid .profile-card img{height:150px!important;max-width:150px!important;margin:14px auto 0!important;padding:18px!important;object-fit:contain!important}
html body .economic-logo-section .compact-strip-title h2,html body .event-finance-section .compact-strip-title h2{white-space:normal!important;max-width:1300px!important;margin-inline:auto!important;text-align:center!important;font-size:clamp(30px,3.2vw,52px)!important;line-height:1.08!important;overflow-wrap:break-word!important}
html body .section-line-title h2{max-width:1300px!important;text-align:center!important;line-height:1.08!important;white-space:normal!important;overflow-wrap:break-word!important}
