/* Libertinous refonte visuelle v1 - additive, does not alter account logic */
body:has(.lib-home){background:#110c15;color:#f6edf5}
body:has(.lib-home) .site-header{background:#110b16!important;border-bottom:1px solid #43233c!important}
body:has(.lib-home) .site-header .menu a{color:#f7edf6!important}
body:has(.lib-home) .site-header .btn.ghost{background:transparent!important;color:#fff!important;border:1px solid #76506c!important}
.lib-home section{padding:0}
.lib-home .lib-hero{position:relative;isolation:isolate;min-height:520px;display:flex;align-items:center;background:radial-gradient(circle at 78% 48%,#773045 0%,#290e23 42%,#130b16 80%);overflow:hidden}
.lib-hero-image{position:absolute;inset:0 0 0 42%;background-image:linear-gradient(90deg,#170c1a 0%,rgba(23,12,26,.35) 46%,rgba(23,12,26,.02) 100%),url('/assets/images/hero-femme.webp');background-position:center,right 38%;background-size:cover,cover;z-index:-1}
.lib-home .lib-hero-content{padding:70px 0 85px;position:relative}
.lib-hero-content>*{max-width:650px}
.lib-kicker{display:inline-flex;letter-spacing:.13em;font:800 .77rem Arial,sans-serif;color:#ff86bf}
.lib-hero h1{margin:20px 0 2px;font:700 clamp(4.2rem,8vw,7.4rem)/1 Georgia,serif;letter-spacing:-.065em;color:#fff}
.lib-hero h1 span{color:#ff5eac}
.lib-hero h2{font:700 clamp(1.6rem,3.2vw,2.6rem)/1.16 Georgia,serif;margin:18px 0;color:#fff}
.lib-hero p{font-size:1.12rem;line-height:1.65;color:#f0dce9;max-width:550px;margin:0 0 24px}
.lib-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}
.lib-actions .btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 25px;border-radius:12px;background:#d42b83;color:#fff;font-weight:800;text-decoration:none}
.lib-actions .lib-outline{background:#1e1223dd;border:1px solid #b08aab}
.lib-reassure{display:flex;flex-wrap:wrap;gap:18px;color:#e8cdda;font-size:.85rem;margin-top:25px}
.lib-offers{background:#110b15;padding:20px 0 14px!important}
.lib-offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.lib-offer{display:flex;align-items:center;justify-content:space-between;gap:15px;background:linear-gradient(120deg,#351328,#190f21);border:1px solid #83305f;border-radius:17px;padding:23px}
.lib-offer:nth-child(2){background:#19121f;border-color:#524158}
.lib-offer-category{font:800 .72rem Arial,sans-serif;color:#ff8dc4;letter-spacing:.11em}
.lib-offer h2{font-size:1.18rem;color:#fff;margin:8px 0}
.lib-offer p{font-size:.85rem;line-height:1.45;color:#ddc2d1;margin:0;max-width:300px}
.lib-offer-right{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex-shrink:0}
.lib-offer-right strong{font:800 1.9rem Arial;color:#ff69ab;white-space:nowrap}
.lib-offer-right small{font-size:.75rem}
.lib-offer-right a{color:#fff;background:#c9267a;border-radius:9px;padding:10px 12px;font-weight:700;text-decoration:none;font-size:.8rem}
.lib-price-note{color:#ba9faf;font-size:.77rem;margin:10px 0 0}
.lib-discover{background:#160f1b;padding:55px 0 85px!important}
.lib-section-head{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:24px}
.lib-section-head h2{font:700 2.2rem Georgia,serif;color:#fff;margin:9px 0 0}
.lib-section-head>a{color:#ff84be}
.lib-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.lib-feature-grid>a{background:#211626;border:1px solid #503149;color:#fff;border-radius:16px;padding:22px;text-decoration:none}
.lib-feature-grid>a>span{font-size:2rem;color:#f466a9}
.lib-feature-grid h3{color:#fff;margin:12px 0 6px}
.lib-feature-grid p{color:#d0b9ca;font-size:.88rem;line-height:1.5;margin:0}
@media(max-width:850px){.lib-hero-image{left:15%;opacity:.65}.lib-offer-grid{grid-template-columns:1fr}.lib-feature-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.lib-home .lib-hero{min-height:0}.lib-home .lib-hero-content{padding:65px 0 60px}.lib-hero-image{inset:0;opacity:.3;background-position:center,65% center}.lib-hero h1{font-size:4.05rem}.lib-hero h2{font-size:1.9rem}.lib-hero p{font-size:1rem}.lib-actions{flex-direction:column}.lib-actions .btn{width:100%}.lib-reassure{gap:10px;font-size:.75rem}.lib-offer{padding:17px}.lib-offer h2{font-size:1.02rem}.lib-offer-right strong{font-size:1.45rem}.lib-feature-grid{grid-template-columns:1fr 1fr;gap:9px}.lib-feature-grid>a{padding:14px}.lib-section-head h2{font-size:1.65rem}}

/* V2 — cadrage hero : texte à gauche, modèle visible à droite */
@media (min-width: 851px) {
 .lib-home .lib-hero {min-height: 540px;}
 .lib-home .lib-hero-content {width:min(1320px,calc(100% - 64px));max-width:1320px;margin-inline:auto;padding:66px 0 72px;}
 .lib-home .lib-hero-content > * {max-width: min(560px, 47%);}
 .lib-home .lib-hero h1 {font-size:clamp(4rem,6.4vw,6.5rem);letter-spacing:-.06em;white-space:nowrap;}
 .lib-home .lib-hero h2 {font-size:clamp(1.65rem,2.6vw,2.35rem);}
 .lib-home .lib-hero-image {inset:0 0 0 48%;background-position:center,left center;background-size:cover,cover;background-image:linear-gradient(90deg,#170c1a 0%,rgba(23,12,26,.65) 14%,rgba(23,12,26,.06) 42%,rgba(23,12,26,0) 100%),url('/assets/images/hero-femme.webp');}
}
@media (min-width: 851px) and (max-width: 1120px) {
 .lib-home .lib-hero h1 {font-size:clamp(3.7rem,6.2vw,5rem);}
 .lib-home .lib-hero-content > * {max-width: 50%;}
}

/* V3 — image continue : fondu horizontal sans séparation franche */
@media (min-width: 851px) {
  .lib-home .lib-hero {background:#170c1a;}
  .lib-home .lib-hero-image {
    inset:0; opacity:1; background-color:#170c1a;
    background-image:linear-gradient(90deg,#170c1a 0%,#170c1a 24%,rgba(23,12,26,.96) 34%,rgba(23,12,26,.78) 43%,rgba(23,12,26,.32) 57%,rgba(23,12,26,.02) 73%,transparent 100%),url('/assets/images/hero-femme.webp');
    background-position:center center,right center;
    background-size:100% 100%,auto 100%;
    background-repeat:no-repeat,no-repeat;
  }
}
@media (max-width:850px) {
  .lib-home .lib-hero-image {
    inset:0; background-color:#170c1a;
    background-image:linear-gradient(90deg,rgba(23,12,26,.97),rgba(23,12,26,.70) 55%,rgba(23,12,26,.28)),url('/assets/images/hero-femme.webp');
    background-position:center,right center;
    background-size:100% 100%,auto 100%;
    background-repeat:no-repeat;
  }
}


/* V4 — portrait plus éloigné, cadrage type maquette originale.
   L'image reste entière dans la hauteur de la bannière et ses contours se fondent dans le décor. */
.lib-home .lib-hero { background:radial-gradient(ellipse at 82% 56%, #51203a 0%, #271020 50%, #170c1a 90%); }
.lib-home .lib-hero-image {inset:0; background-image:none!important; background:none!important; opacity:1!important; overflow:hidden;}
.lib-home .lib-hero-image::before {
  content:"";position:absolute;inset:0;
  background-image:url('/assets/images/hero-femme.webp');
  background-repeat:no-repeat;
  background-position:right center;
  background-size:auto 79%;
  -webkit-mask-image:linear-gradient(to right,transparent 22%,#000 65%),linear-gradient(to bottom,transparent 0%,#000 12%,#000 88%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 22%,#000 65%),linear-gradient(to bottom,transparent 0%,#000 12%,#000 88%,transparent 100%);
  mask-composite:intersect;
}
@media(max-width:850px){
 .lib-home .lib-hero-image::before {background-size:auto 82%;background-position:80% center;opacity:.65;}
 .lib-home .lib-hero-image {background:none!important;}
}
@media(max-width:580px){
 .lib-home .lib-hero-image::before {background-size:auto 80%;background-position:72% center;opacity:.45;}
}
