:root{--bb-pink:#ef3f93;--bb-pink2:#d94b92;--bb-pink-soft:#fff3f8;--bb-pink-line:#f2bfd7;--bb-blue:#5d8fe6;--bb-blue-soft:#f1f6ff;--bb-blue-line:#c6daf7;--bb-lilac:#9a78d8;--bb-lilac-soft:#f6f0ff;--bb-purple:#59478f;--bb-ink:#25335d;--bb-muted:#78819b;--bb-white:#fff;--bb-shadow:0 18px 45px rgba(76,62,123,.10)}
*{box-sizing:border-box}.aipg-app{position:relative;width:100%;max-width:1450px;margin:0 auto;padding:28px 40px 54px;color:var(--bb-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#fffdfc 0%,#fffafb 100%);border-radius:30px;overflow:hidden;isolation:isolate}.aipg-app:before,.aipg-app:after{content:"";position:absolute;border-radius:50%;z-index:-1;pointer-events:none}.aipg-app:before{width:430px;height:430px;left:-245px;top:-210px;background:radial-gradient(circle at 55% 55%,rgba(255,174,196,.34),rgba(255,174,196,.10) 45%,transparent 70%)}.aipg-app:after{width:520px;height:520px;right:-300px;top:65px;background:radial-gradient(circle at 35% 50%,rgba(185,165,235,.25),rgba(185,165,235,.09) 45%,transparent 70%)}
.aipg-bg-shape{position:absolute;z-index:-1;border:1px solid rgba(242,92,151,.15);border-radius:50%;pointer-events:none}.aipg-bg-shape.s1{width:520px;height:520px;left:-380px;bottom:-350px}.aipg-bg-shape.s2{width:360px;height:360px;right:-260px;bottom:-190px;border-color:rgba(117,101,204,.15)}
.aipg-front-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:12px}.aipg-brand-line{display:flex;align-items:center;gap:28px;min-width:0}.aipg-brand-mark{font-weight:1000;font-size:42px;letter-spacing:-2.8px;line-height:1;background:linear-gradient(180deg,#ff4d9c 0%,#ee2d83 55%,#a96bd4 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 2px 0 rgba(255,255,255,.9),0 5px 10px rgba(191,75,154,.16)}.aipg-ai-label{font-size:12px;letter-spacing:4px;font-weight:700;color:#4e5d84}.aipg-token-pill{display:flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;background:linear-gradient(135deg,#fbf0fb,#f0e7fa);border:1px solid #e9d8ef;color:#4f3d88;white-space:nowrap;box-shadow:0 8px 20px rgba(91,60,140,.06)}.aipg-token-pill strong{font-size:15px}.aipg-token-icon{font-size:18px}
.aipg-hero-copy{text-align:center;margin:8px auto 34px}.aipg-hero-copy h2{margin:0 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:54px;line-height:1.05;letter-spacing:-1.8px;color:#26345e;font-weight:700}.aipg-hero-copy p{margin:0;color:#75809c;font-size:18px;line-height:1.55}
.aipg-three-columns{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}.aipg-three-columns:after{content:"♡";position:absolute;top:-34px;left:calc(66.666% - 12px);font-size:28px;line-height:1;color:#6d5c98;background:#fff;border-radius:50%;width:48px;height:48px;display:grid;place-items:center;box-shadow:0 6px 18px rgba(83,67,128,.08);z-index:4}
.aipg-person-card,.aipg-child-card{position:relative;border-radius:22px;padding:22px;background:rgba(255,255,255,.88);box-shadow:var(--bb-shadow);min-width:0;overflow:hidden}.aipg-person-card:before,.aipg-child-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;border-radius:22px 22px 0 0}.aipg-woman-card{border:1.5px solid var(--bb-pink-line);background:linear-gradient(180deg,rgba(255,251,252,.96),rgba(255,246,250,.94))}.aipg-woman-card:before{background:linear-gradient(90deg,#ef4a97,#c95bb5)}.aipg-man-card{border:1.5px solid var(--bb-blue-line);background:linear-gradient(180deg,rgba(251,253,255,.96),rgba(244,248,255,.94))}.aipg-man-card:before{background:linear-gradient(90deg,#5d91e6,#7089e2)}.aipg-child-card{border:1.5px solid #dac9ef;background:linear-gradient(180deg,rgba(252,249,255,.96),rgba(246,239,255,.94))}.aipg-child-card:before{background:linear-gradient(90deg,#9b77d9,#7b62c7)}
.aipg-person-title{display:flex;align-items:center;gap:13px;margin-bottom:18px}.aipg-person-title>div>span{display:block;font-size:13px;letter-spacing:2px;font-weight:700;color:#6e7190}.aipg-person-title h3{margin:2px 0 0;font-size:24px;line-height:1.05;font-family:Georgia,"Times New Roman",serif}.aipg-woman-card .aipg-person-title h3,.aipg-woman-card .aipg-person-title>div>span{color:#b93372}.aipg-man-card .aipg-person-title h3,.aipg-man-card .aipg-person-title>div>span{color:#3970bb}.child-title h3,.child-title>div>span{color:#65479d}.aipg-gender-badge{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:24px;font-weight:500;box-shadow:0 8px 18px rgba(100,60,150,.15)}.aipg-woman-card .aipg-gender-badge{background:linear-gradient(135deg,#d9438c,#a653c7)}.aipg-man-card .aipg-gender-badge{background:linear-gradient(135deg,#6b9de9,#5e7edc)}.aipg-child-card .aipg-gender-badge{background:linear-gradient(135deg,#9b74d9,#7958c5)}
.aipg-face-upload{height:210px;border-radius:18px;border:1.5px dashed #e4a7c7;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden;cursor:pointer;background:rgba(255,255,255,.5)}.aipg-man-card .aipg-face-upload{border-color:#aecbf0;background:rgba(255,255,255,.58)}.aipg-face-upload input,.aipg-side-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;z-index:3}.aipg-upload-preview{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:.2s}.aipg-face-upload.has-preview .aipg-upload-preview{opacity:1}.aipg-face-upload.has-preview:after,.aipg-side-upload.has-preview:after{content:"✓";position:absolute;right:10px;top:10px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(69,50,109,.78);z-index:4;font-weight:800}.aipg-face-upload.has-preview .aipg-face-placeholder{opacity:0}.aipg-face-placeholder{display:flex;flex-direction:column;align-items:center;gap:5px;color:#9b4f79;position:relative;z-index:1}.aipg-man-card .aipg-face-placeholder{color:#5c7fb4}.aipg-face-placeholder b{font-size:44px;font-weight:400;line-height:1}.aipg-face-placeholder strong{font-size:16px}.aipg-face-placeholder small{font-size:12px;color:#8b8da0}
.aipg-side-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.aipg-side-upload{min-height:116px;border-radius:15px;border:1.5px dashed #e7bfd3;background:rgba(255,255,255,.68);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;cursor:pointer;padding:10px;overflow:hidden}.aipg-man-card .aipg-side-upload{border-color:#bed4ef}.aipg-side-upload .side-icon{font-size:27px;color:#c783a7;line-height:1}.aipg-man-card .aipg-side-upload .side-icon{color:#7296ca}.aipg-side-upload b{font-size:12px;margin-top:7px}.aipg-side-upload small{font-size:11px;color:#8990a5;margin-top:2px}.aipg-side-upload .aipg-upload-preview{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0}.aipg-side-upload.has-preview .aipg-upload-preview{opacity:1}.aipg-side-upload.has-preview>*:not(input):not(.aipg-upload-preview){opacity:0}.aipg-add-photos{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:14px;padding:12px 18px;border-radius:999px;color:#fff;font-size:14px;font-weight:700;cursor:pointer}.aipg-woman-card .aipg-add-photos{background:linear-gradient(90deg,#d9428b,#c44fa6)}.aipg-man-card .aipg-add-photos{background:linear-gradient(90deg,#5c91e2,#6e84dd)}
.aipg-child-preview{height:338px;border-radius:18px;background:linear-gradient(145deg,#f1e8fb,#dfd0f5);border:2px solid rgba(255,255,255,.9);box-shadow:inset 0 0 0 1px rgba(139,103,196,.12);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.aipg-child-preview:before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.55),transparent 70%);top:-90px;right:-55px}.aipg-child-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;cursor:zoom-in}.aipg-child-placeholder{display:flex;flex-direction:column;align-items:center;color:#fff;z-index:1;text-shadow:0 2px 12px rgba(73,47,110,.2)}.aipg-child-silhouette{font-size:110px;line-height:1;color:rgba(120,88,165,.32);margin-bottom:8px}.aipg-child-placeholder span{font-size:15px;font-weight:700}.aipg-child-placeholder small{font-size:14px;margin-top:2px}.aipg-child-glow{position:absolute;z-index:1;right:24px;top:28px;color:#fff;font-size:28px}.aipg-result-badge{position:absolute;z-index:3;top:12px;left:12px;padding:7px 10px;border-radius:999px;background:rgba(91,65,139,.82);color:#fff;font-size:9px;font-weight:800;letter-spacing:1px;opacity:0;transition:.2s}.aipg-child-preview.has-result .aipg-result-badge{opacity:1}.aipg-expand-photo{position:absolute;z-index:4;right:12px;top:12px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:#604a94;font-size:20px;cursor:pointer;opacity:0;transition:.2s}.aipg-child-preview.has-result .aipg-expand-photo{opacity:1}.aipg-child-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.aipg-result-action{border:0;background:transparent;color:#5a4a91;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px}.aipg-result-action span{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;border:1px solid #dac9ee;background:#fff;font-size:20px}.aipg-result-action small{font-size:10px}.aipg-result-action:hover span,.aipg-result-action.is-liked span{background:#f5e8fb}.aipg-hidden-download{display:none}.aipg-child-caption{text-align:center;color:#65558b;font-size:12px;margin-top:9px;min-height:18px}
.aipg-generation-settings{margin-top:18px;padding:24px 34px 20px;background:rgba(255,255,255,.90);border:1px solid #eee4f4;border-radius:22px;box-shadow:var(--bb-shadow)}.aipg-settings-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0}.aipg-setting-block{padding:0 30px;border-right:1px solid #ded7e8}.aipg-setting-block:first-child{padding-left:0}.aipg-setting-block:last-child{border-right:0;padding-right:0}.aipg-setting-block label{display:flex;align-items:center;gap:9px;font-weight:700;color:#463b72;font-size:14px;margin-bottom:10px}.aipg-setting-icon{width:32px;height:32px;border:1px solid #dcd1ed;border-radius:50%;display:grid;place-items:center;color:#7256b0;background:#fff}.aipg-setting-block select,.aipg-age-select-value{width:100%;height:42px;border:1px solid #d9d0e8;border-radius:999px;padding:0 16px;background:#fff;color:#433a72;font-size:14px;outline:none}.aipg-age-select-value{display:flex;align-items:center}.aipg-age-range-wrap{margin-top:20px}.aipg-age-range-wrap input[type=range]{width:100%;appearance:none;height:6px;border-radius:99px;background:#e8e4ef;outline:none}.aipg-age-range-wrap input[type=range]::-webkit-slider-thumb{appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid #9b7be0;box-shadow:0 3px 10px rgba(84,63,130,.18)}.aipg-age-range-wrap input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid #9b7be0}.aipg-range-labels{display:grid;grid-template-columns:repeat(8,1fr);font-size:10px;color:#7e7990;margin-top:8px;text-align:center}.aipg-range-labels span:first-child{text-align:left}.aipg-range-labels span:last-child{text-align:right}.aipg-age-range-wrap small{display:block;text-align:center;color:#8c8a98;font-size:11px;margin-top:8px}
.aipg-generate-btn{display:flex;align-items:center;justify-content:center;gap:10px;margin:20px auto 0;border:0;border-radius:999px;padding:15px 34px;min-width:360px;background:linear-gradient(100deg,#ef3d92,#a95bd7);color:#fff;box-shadow:0 10px 22px rgba(212,64,145,.22);font-size:15px;cursor:pointer}.aipg-generate-btn strong{font-size:15px}.aipg-generate-btn:disabled{opacity:.7;cursor:wait}.aipg-note{text-align:center;color:#8b8796;font-size:11px;margin:12px 0 0}.aipg-progress{display:none;max-width:720px;margin:18px auto 0;padding:14px 18px;border-radius:16px;background:#fff;border:1px solid #eadff3}.aipg-progress.is-active{display:block}.aipg-progress-head{display:flex;justify-content:space-between;font-size:12px;color:#5c4e83;margin-bottom:8px}.aipg-progress-track{height:7px;background:#eee8f5;border-radius:99px;overflow:hidden}.aipg-progress-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,#e73e91,#8f62d2);border-radius:99px;transition:width .25s}.aipg-progress small{display:block;color:#888397;margin-top:8px;font-size:11px}
.aipg-results{margin-top:20px}.aipg-result-success{max-width:760px;margin:0 auto 14px;padding:12px 16px;border-radius:14px;background:#f4fbf7;border:1px solid #ccead8;color:#28704b;text-align:center;font-size:13px}.aipg-login-card{max-width:760px;margin:30px auto;padding:55px 30px;text-align:center;border-radius:28px;background:linear-gradient(145deg,#fff5fa,#f6efff);border:1px solid #ecd8ed;box-shadow:var(--bb-shadow)}.aipg-login-kicker{display:block;font-size:11px;letter-spacing:3px;font-weight:800;color:#7555ad;margin-bottom:14px}.aipg-login-card h2{font-family:Georgia,serif;font-size:40px;color:#2c3864;margin:0 0 10px}.aipg-login-card p{color:#7b8096;line-height:1.6}.aipg-login-button{display:inline-block;margin:16px 0 12px;padding:13px 28px;border-radius:999px;color:#fff;text-decoration:none;background:linear-gradient(100deg,#e93d91,#9c61d6);font-weight:700}.aipg-login-card small{display:block;color:#9690a3}.aipg-lightbox{position:fixed;z-index:999999;inset:0;background:rgba(24,18,38,.88);display:flex;align-items:center;justify-content:center;padding:30px;opacity:0;transition:.18s}.aipg-lightbox.is-open{opacity:1}.aipg-lightbox img{max-width:92vw;max-height:90vh;border-radius:18px;box-shadow:0 25px 80px rgba(0,0,0,.35)}.aipg-lightbox-close{position:absolute;right:22px;top:18px;border:0;background:#fff;color:#3d315c;width:44px;height:44px;border-radius:50%;font-size:28px;cursor:pointer}
@media(max-width:1050px){.aipg-three-columns{grid-template-columns:1fr 1fr}.aipg-child-card{grid-column:1/-1}.aipg-child-preview{height:300px}.aipg-settings-grid{grid-template-columns:1fr}.aipg-setting-block{padding:0 0 18px;border-right:0;border-bottom:1px solid #e7dfef;margin-bottom:18px}.aipg-setting-block:last-child{border-bottom:0;margin-bottom:0}.aipg-setting-block:first-child{padding-left:0}.aipg-three-columns:after{display:none}}
@media(max-width:700px){.aipg-app{padding:18px 12px 40px;border-radius:18px}.aipg-front-header{align-items:flex-start}.aipg-brand-line{gap:8px;flex-direction:column;align-items:flex-start}.aipg-brand-mark{font-size:31px}.aipg-ai-label{font-size:9px;letter-spacing:2px}.aipg-token-pill{padding:8px 12px;font-size:12px}.aipg-hero-copy h2{font-size:38px}.aipg-hero-copy p{font-size:15px}.aipg-desktop-break{display:none}.aipg-three-columns{grid-template-columns:1fr}.aipg-child-card{grid-column:auto}.aipg-generation-settings{padding:18px}.aipg-generate-btn{min-width:0;width:100%}.aipg-range-labels{font-size:8px}.aipg-child-preview{height:330px}.aipg-three-columns:after{display:none}}
@media print{body *{visibility:hidden!important}.aipg-child-card,.aipg-child-card *{visibility:visible!important}.aipg-child-card{position:absolute;left:0;top:0;width:100%;box-shadow:none!important}.aipg-child-actions,.aipg-expand-photo,.aipg-result-badge{display:none!important}}


/* BB TWIN — Bannière IA + ajustement des textes d'upload */
.aipg-hero-copy{margin-bottom:28px}
.aipg-hero-copy h2{position:relative}
.aipg-hero-heart{display:inline-block;margin-left:7px;color:#e96ab0;font-family:Georgia,serif;font-size:.72em;vertical-align:top;transform:rotate(-12deg)}
.aipg-ai-banner{
  position:relative;
  width:min(100%,1080px);
  min-height:122px;
  margin:20px auto 0;
  padding:24px 250px 24px 30px;
  display:flex;
  align-items:center;
  gap:22px;
  text-align:left;
  border:1.5px solid transparent;
  border-radius:999px;
  background:
    linear-gradient(#fffaff,#f8f5ff) padding-box,
    linear-gradient(90deg,#f26ab4 0%,#d9a8f5 48%,#8fc5ff 100%) border-box;
  box-shadow:0 12px 30px rgba(117,76,150,.08);
  overflow:hidden;
}
.aipg-ai-bubble{
  flex:0 0 66px;
  width:66px;height:66px;
  border-radius:50%;
  display:grid;place-items:center;
  position:relative;
  color:#fff;
  font-size:22px;font-weight:950;
  background:linear-gradient(145deg,#ff63b3 0%,#e33591 42%,#8b55dd 100%);
  box-shadow:0 8px 18px rgba(190,54,143,.24);
}
.aipg-ai-bubble sup{font-size:12px;position:absolute;right:10px;top:8px}
.aipg-ai-divider{width:1px;height:52px;background:linear-gradient(#e5b9da,#bba4e8);flex:0 0 1px}
.aipg-ai-banner-text{
  color:#202b78;
  font-size:17px;
  line-height:1.55;
  font-weight:500;
}
.aipg-ai-banner-text strong{font-weight:800}
.aipg-ai-banner-heart{
  margin-left:auto;
  color:#d878c5;
  font:42px/1 Georgia,serif;
  transform:rotate(-10deg);
}
.aipg-ai-banner-child{
  position:absolute;
  right:-5px;
  bottom:-1px;
  width:235px;
  height:140px;
  object-fit:cover;
  object-position:center;
  border-radius:50% 0 0 50%;
  opacity:.96;
  mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.7) 24%,#000 46%);
  -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.7) 24%,#000 46%);
}
.aipg-hero-subtitle{
  margin:13px auto 0!important;
  color:#7d7f9b!important;
  font-size:14px!important;
  line-height:1.45!important;
}
.aipg-face-placeholder strong{display:block}
.aipg-face-placeholder small,.aipg-side-upload small{
  display:block;
  margin-top:5px;
  font-size:12px;
  color:#888da8;
  text-transform:none;
  letter-spacing:0;
}
@media(max-width:900px){
  .aipg-ai-banner{padding:20px 155px 20px 22px;min-height:115px}
  .aipg-ai-banner-child{width:170px;height:125px}
  .aipg-ai-banner-text{font-size:15px}
  .aipg-ai-bubble{width:58px;height:58px;flex-basis:58px}
}
@media(max-width:620px){
  .aipg-ai-banner{
    border-radius:28px;
    padding:18px;
    padding-right:18px;
    min-height:0;
    align-items:flex-start;
  }
  .aipg-ai-banner-child{display:none}
  .aipg-ai-banner-heart{font-size:32px}
  .aipg-ai-banner-text{font-size:14px}
  .aipg-ai-divider{height:50px}
  .aipg-hero-subtitle{font-size:13px!important}
}


/* ===== Corrections BB Twin (oct. 2026) ===== */
/* Entête : plus de logo, seul le compteur de tokens reste, à droite */
.aipg-front-header{justify-content:flex-end}

/* Couleurs des caricatures */
.aipg-woman-card{--bb-skin:#ffd9bd;--bb-hair:#7a3b2e;--bb-cloth:#e34b98}
.aipg-man-card{--bb-skin:#f6cfae;--bb-hair:#3c2f55;--bb-cloth:#4f82e0}

/* Cadres photo : contenu parfaitement centré */
.aipg-face-upload,.aipg-side-upload{display:flex!important;flex-direction:column;align-items:center!important;justify-content:center!important;text-align:center}
.aipg-face-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:0;margin:0;padding:10px;line-height:1.25}
.aipg-face-placeholder strong,.aipg-face-placeholder small,.aipg-side-upload b,.aipg-side-upload small{display:block;margin-left:0;margin-right:0}
.aipg-face-placeholder .aipg-face-icon{display:block;width:96px;height:96px;margin:0 0 8px;line-height:0}
.aipg-face-icon svg{display:block;width:100%;height:100%;overflow:visible}
.aipg-side-upload .side-icon{display:block;width:46px;height:46px;margin:0 0 4px;line-height:0;font-size:0}
.aipg-side-upload .side-icon svg{display:block;width:100%;height:100%;overflow:visible}
.aipg-side-upload .side-icon.is-flipped{transform:scaleX(-1)}
.aipg-side-upload b{margin-top:0}

/* Listes déroulantes : texte centré verticalement */
.aipg-setting-block select{
  -webkit-appearance:none!important;appearance:none!important;display:block;
  height:42px!important;min-height:42px;padding:0 40px 0 16px!important;margin:0;line-height:normal!important;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1.5l6 6 6-6' fill='none' stroke='%236d7291' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center!important;
}

/* Photo de la petite fille : la partie blanche de droite est repoussée hors du cadre */
.aipg-ai-banner-child{
  width:330px!important;height:100%!important;right:-70px!important;top:0!important;bottom:auto!important;
  object-fit:cover!important;object-position:0% 22%!important;border-radius:0!important;
}
@media(max-width:900px){.aipg-ai-banner-child{width:230px!important;height:100%!important;right:-45px!important}}
@media(max-width:620px){.aipg-ai-banner-child{display:none!important}}
