@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700&family=Poppins:wght@300;400;500;600;700&display=swap');

.pfb-announcement{
  padding:10px 20px;
  text-align:center;
  font-family:'Poppins',sans-serif;
  font-size:12px;
  font-weight:500;
  letter-spacing:.3px;
  line-height:1.4;
}
.pfb-announcement__inner{display:inline}

/* ── BANNER WRAPPER ── */
.pfb-banner{
  position:relative;
  width:100%;
  overflow:hidden;
  display:flex;
  flex-direction:row;
  align-items:stretch;
  background:#FAF7F2;
  /* PAS de min-height fixe — la hauteur suit l'image du modèle */
}

.pfb-banner__bg{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:center;
  z-index:0;
}
.pfb-banner__overlay{
  position:absolute;inset:0;
  z-index:1;
}

/* ── MODEL : gauche, dicte la hauteur du banner ── */
.pfb-banner__model{
  position:relative;
  z-index:2;
  width:42%;
  flex-shrink:0;
  overflow:hidden;
  order:0;
  /* L'image définit la hauteur naturelle du banner */
}
.pfb-banner__model img{
  width:100%;
  height:100%;
  max-height:520px;             /* plafond pour éviter trop grand sur desktop */
  object-fit:cover;
  object-position:top center;
  display:block;
}
@media(min-width:1200px){
  .pfb-banner__model img{max-height:580px}
}

/* ── CONTENT : droite, centré verticalement, NE dépasse pas le modèle ── */
.pfb-banner__content{
  position:relative;
  z-index:2;
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:32px 48px;
  order:1;
  overflow:hidden;              /* sécurité : rien ne dépasse */
}
@media(min-width:768px){
  .pfb-banner__content{padding:40px 56px}
}

.pfb-content--center{
  text-align:center;
  align-items:center;
}
.pfb-content--right{
  text-align:right;
  align-items:flex-end;
}
.pfb-content--left{
  text-align:left;
  align-items:center;
  margin-left:200px;
}

.pfb-eyebrow{
  font-family:'Poppins',sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:2.5px;
  text-transform:uppercase;
  margin:0 0 10px;
}

.pfb-title{
  font-family:'Playfair Display',serif;
  line-height:1.12;
  margin:0 0 12px;
  font-size:clamp(22px,3.5vw,46px); /* légèrement réduit pour tenir dans le banner */
}
.pfb-title span{display:block}

.pfb-subtitle{
  font-family:'Poppins',sans-serif;
  font-size:clamp(11px,1.2vw,14px);
  line-height:1.65;
  margin:0 0 20px;
  max-width:380px;
  font-weight:300;
}
.pfb-content--center .pfb-subtitle,
.pfb-content--right .pfb-subtitle{margin-left:auto;margin-right:auto}

/* ── CTA BUTTON ── */
.pfb-cta{
  display:inline-flex;
  align-items:center;
  align-self:auto;
  width:auto;
  gap:8px;
  padding:11px 24px;
  font-family:'Poppins',sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:1.8px;
  text-transform:uppercase;
  text-decoration:none;
  border-radius:2px;
  transition:opacity .2s, transform .2s;
  white-space:nowrap;
  flex-shrink:0;
}
.pfb-cta:hover{opacity:.85;transform:translateX(2px)}
.pfb-cta svg{transition:transform .2s}
.pfb-cta:hover svg{transform:translateX(3px)}

/* ── MOBILE ── */
@media(max-width:600px){
  .pfb-content--left{
    margin-left:0!important;
  }
  /* Banner : hauteur fixe 420px, conteneur de stacking */
  .pfb-banner{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:420px !important;
    min-height:420px !important;
    overflow:hidden !important;
  }

  /* Image modèle : absolute full cover comme background */
  .pfb-banner__model{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100% !important;
    height:100% !important;
    z-index:1 !important;
  }
  .pfb-banner__model img{
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:top center !important;
    display:block !important;
  }

  /* Background image aussi full cover */
  .pfb-banner__bg{
    position:absolute !important;
    top:0 !important; left:0 !important;
    width:100% !important; height:100% !important;
    object-fit:cover !important;
    z-index:0 !important;
  }

  /* Overlay dégradé bas → haut */
  .pfb-banner__overlay{
    position:absolute !important;
    top:0 !important; left:0 !important;
    width:100% !important; height:100% !important;
    z-index:2 !important;
    background: linear-gradient(
      to top,
      rgba(5,0,0,0.80) 0%,
      rgba(5,0,0,0.40) 45%,
      rgba(5,0,0,0.05) 100%
    ) !important;
  }

  /* Contenu : centré au milieu verticalement */
  .pfb-banner__content{
    position:absolute !important;
    top:0 !important; left:0 !important;
    width:100% !important; height:100% !important;
    z-index:3 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
    padding:32px 28px !important;
    background:transparent !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  /* Textes blancs pour lisibilité */
  .pfb-banner__content .pfb-eyebrow{
    color:rgba(255,255,255,0.80) !important;
    font-size:9px !important;
    letter-spacing:2.5px !important;
    margin:0 0 10px !important;
  }

  .pfb-banner__content .pfb-title{
    font-size:clamp(24px,7vw,34px) !important;
    line-height:1.1 !important;
    margin:0 0 12px !important;
  }
  .pfb-banner__content .pfb-title span{
    color:#FFFFFF !important;
  }
  .pfb-banner__content .pfb-title .pfb-title__accent{
    color:#FFBFC3 !important;
  }

  .pfb-banner__content .pfb-subtitle{
    color:rgba(255,255,255,0.85) !important;
    font-size:11px !important;
    line-height:1.65 !important;
    margin:0 0 20px !important;
    max-width:280px !important;
  }

  .pfb-banner__content .pfb-cta{
    padding:12px 26px !important;
    font-size:10px !important;
    letter-spacing:1.8px !important;
    background:#D91F2B !important;
    color:#FFFFFF !important;
    border-radius:2px !important;
  }

  /* Logo masqué sur mobile */
  .pfb-logo{ display:none !important; }
}



/* ── LOGO PARFUMILYA dans le banner ── */
.pfb-logo {
  display: block;
  width: 180px;
  max-width: 180px;
  height: auto;
  margin: 0 0 16px;
  object-fit: contain;
}

.pfb-content--center .pfb-logo {
  margin-left: auto;
  margin-right: auto;
}

.pfb-content--right .pfb-logo {
  margin-left: auto;
  margin-right: 0;
}

.pfb-content--left .pfb-logo {
  margin-left: 0;
}

@media (max-width: 1024px) {
  .pfb-logo {
    width: 150px;
    max-width: 150px;
  }
}

@media (max-width: 600px) {
  .pfb-logo {
    width: 120px;
    max-width: 120px;
    margin: 0 0 12px;
  }
}