.fa-partner-popup-open{overflow:hidden}
.fa-partner-overlay{position:fixed;inset:0;z-index:2147482000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(5,17,45,.66);backdrop-filter:blur(5px);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
.fa-partner-overlay.is-open{opacity:1;visibility:visible}
.fa-partner-modal{position:relative;display:grid;grid-template-columns:minmax(240px,42%) minmax(330px,58%);width:min(820px,calc(100vw - 48px));max-height:min(680px,calc(100vh - 48px));overflow:hidden;background:#fff;border-radius:22px;box-shadow:0 28px 90px rgba(4,15,45,.38);transform:translateY(12px) scale(.985);transition:transform .2s ease;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#071d52}
.fa-partner-overlay.is-open .fa-partner-modal{transform:translateY(0) scale(1)}
.fa-partner-media{min-height:380px;background:#eaf2ff;overflow:hidden}.fa-partner-media img{display:block;width:100%;height:100%;min-height:380px}
.fa-partner-copy{display:flex;flex-direction:column;justify-content:center;padding:38px 40px 34px;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)}
.fa-partner-logos{display:flex;align-items:center;gap:14px;min-height:58px;margin-bottom:22px}.fa-partner-logo{display:block;object-fit:contain;max-height:52px;max-width:150px}.fa-partner-logo-flyalert{width:142px;max-height:48px}.fa-partner-logo-client{max-width:130px}.fa-partner-x{font-size:25px;font-weight:500;color:#6f7f9d}.fa-partner-name,.fa-partner-wordmark{font-size:21px;color:#17367d}
.fa-partner-copy h2{margin:0 0 12px;font-size:clamp(28px,3vw,40px);line-height:1.02;letter-spacing:-1.2px;color:#071d52}.fa-partner-copy p{margin:0 0 22px;font-size:16px;line-height:1.52;color:#33466f}
.fa-partner-cta{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;box-sizing:border-box;padding:14px 18px;border-radius:12px;background:#173cff;color:#fff!important;text-decoration:none!important;font-weight:800;font-size:16px;box-shadow:0 10px 25px rgba(23,60,255,.22);transition:transform .15s ease,box-shadow .15s ease}.fa-partner-cta:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(23,60,255,.3)}
.fa-partner-footnote{margin-top:14px;text-align:center;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#94a0b8}
.fa-partner-close{position:absolute;z-index:8;top:12px;right:12px;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.96);color:#071d52;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.14);display:flex;align-items:center;justify-content:center;font-family:Arial,sans-serif}.fa-partner-close span{display:block;font-size:26px;line-height:1;height:29px;font-weight:400}
.fa-partner-test-badge{position:absolute;z-index:7;left:14px;top:14px;padding:7px 10px;border-radius:999px;background:#6f2cff;color:#fff;font-weight:800;font-size:11px;letter-spacing:.03em;box-shadow:0 6px 18px rgba(111,44,255,.25)}
.fa-partner-type-image_top{display:block;width:min(620px,calc(100vw - 48px))}.fa-partner-type-image_top .fa-partner-media{min-height:220px;max-height:300px}.fa-partner-type-image_top .fa-partner-media img{min-height:220px;max-height:300px}.fa-partner-type-image_top .fa-partner-copy{padding:28px 34px 30px}
.fa-partner-type-compact{display:block;width:min(500px,calc(100vw - 48px))}.fa-partner-type-compact .fa-partner-copy{padding:34px}.fa-partner-type-compact .fa-partner-copy h2{font-size:30px}
.fa-partner-type-bottom_sheet{display:block;width:min(620px,calc(100vw - 48px));align-self:flex-end;border-radius:22px 22px 0 0;margin-bottom:-24px}.fa-partner-type-bottom_sheet .fa-partner-media{min-height:180px;max-height:230px}.fa-partner-type-bottom_sheet .fa-partner-media img{min-height:180px;max-height:230px}.fa-partner-type-bottom_sheet .fa-partner-copy{padding:24px 28px 30px}
/* Banner first: nessun crop forzato, il rapporto dell'immagine governa l'altezza. */
.fa-partner-type-banner_cta,.fa-partner-type-banner_click{display:block;width:min(920px,calc(100vw - 48px));background:#fff}
.fa-partner-type-banner_cta .fa-partner-banner-media,.fa-partner-type-banner_click .fa-partner-banner-media{min-height:0;height:auto;background:#eef4ff;overflow:hidden}
.fa-partner-type-banner_cta .fa-partner-banner-media img,.fa-partner-type-banner_click .fa-partner-banner-media img{display:block;width:100%;height:auto;min-height:0;object-fit:contain;background:#eef4ff}
.fa-partner-banner-link{display:block;text-decoration:none;line-height:0}
.fa-partner-banner-actions{padding:14px 16px 16px;background:#fff}
.fa-partner-type-banner_click .fa-partner-banner-actions{display:none}
@media(min-width:768px){
  .fa-partner-type-banner_cta,.fa-partner-type-banner_click{max-height:calc(100vh - 48px);border-radius:20px;background:transparent}
  .fa-partner-type-banner_cta .fa-partner-banner-media,.fa-partner-type-banner_click .fa-partner-banner-media{background:transparent}
  .fa-partner-type-banner_cta .fa-partner-banner-media img,.fa-partner-type-banner_click .fa-partner-banner-media img{width:100%;max-height:none;background:transparent}
  .fa-partner-banner-actions{padding:0;background:#173cff;border-top:1px solid rgba(255,255,255,.16)}
  .fa-partner-banner-actions .fa-partner-cta{min-height:56px;padding:0 24px;border-radius:0;background:linear-gradient(90deg,#173cff 0%,#274aff 100%);box-shadow:none;font-size:16px;letter-spacing:-.1px}
  .fa-partner-banner-actions .fa-partner-cta:hover{transform:none;box-shadow:none;background:linear-gradient(90deg,#1235ec 0%,#2245f5 100%)}
}
@media(max-width:767px){
  .fa-partner-overlay{padding:12px;align-items:center;justify-content:center}
  .fa-partner-modal,.fa-partner-type-image_top,.fa-partner-type-compact,.fa-partner-type-bottom_sheet,.fa-partner-type-banner_cta,.fa-partner-type-banner_click{display:block;width:100%;max-width:520px;max-height:calc(100vh - 24px);overflow:auto;border-radius:20px;margin:0}
  .fa-partner-media{min-height:0;height:210px}.fa-partner-media img,.fa-partner-type-image_top .fa-partner-media img,.fa-partner-type-bottom_sheet .fa-partner-media img{min-height:0;height:100%;max-height:none}
  .fa-partner-type-banner_cta .fa-partner-banner-media,.fa-partner-type-banner_click .fa-partner-banner-media{height:auto;min-height:0}.fa-partner-type-banner_cta .fa-partner-banner-media img,.fa-partner-type-banner_click .fa-partner-banner-media img{display:block;width:100%;height:auto;min-height:0;max-height:calc(100vh - 105px);object-fit:contain}
  .fa-partner-banner-actions{padding:12px}.fa-partner-banner-actions .fa-partner-cta{border-radius:11px}
  .fa-partner-copy{padding:24px 22px}.fa-partner-logos{margin-bottom:16px;min-height:42px;gap:10px}.fa-partner-logo-flyalert{width:112px;max-height:38px}.fa-partner-logo-client{max-width:105px;max-height:42px}.fa-partner-copy h2{font-size:30px;letter-spacing:-.8px}.fa-partner-copy p{font-size:14px;margin-bottom:18px}.fa-partner-cta{font-size:15px;padding:13px 16px}
  .fa-partner-test-badge{left:10px;top:10px;font-size:9px;padding:6px 8px}.fa-partner-close{top:10px;right:10px;width:38px;height:38px}.fa-partner-close span{font-size:25px;height:28px}
}
