/* =========================================================
   RBP — FUTURS MARIAGES — TEMPLATE
   ========================================================= */

.rbp-fm-page{
  --gold:#d4a62a;
  --gold-light:#f5dc82;
  --black:#000;
  --soft:#bdbdbd;
  background:#000;
  color:#fff;
  overflow:hidden;
}

.rbp-fm-page *{box-sizing:border-box}

.rbp-fm-page h1,
.rbp-fm-page h2,
.rbp-fm-page h3{
  font-family:Georgia,"Times New Roman",serif;
  margin:0;
}

.rbp-fm-kicker{
  color:#d4a62a;
  font-size:13px;
  font-weight:800;
  letter-spacing:4px;
  text-transform:uppercase;
}

/* HERO */

.rbp-fm-hero{
  position:relative;
  min-height:620px;
  display:grid;
  grid-template-columns:1fr minmax(420px,680px) 1fr;
  align-items:center;
  background:
    radial-gradient(circle at 50% 55%,rgba(212,166,42,.08),transparent 34%),
    #000;
}

.rbp-fm-hero-photo{
  height:620px;
  position:relative;
}

.rbp-fm-hero-left{
  background:
    linear-gradient(90deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.15) 45%,#000 100%);
}

.rbp-fm-hero-right{
  background:
    linear-gradient(270deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.15) 45%,#000 100%);
}

.rbp-fm-hero-center{
  position:relative;
  z-index:2;
  text-align:center;
  padding:80px 30px;
}

.rbp-fm-hero h1{
  margin-top:18px;
  font-size:clamp(48px,5.3vw,82px);
  line-height:.98;
  letter-spacing:1px;
}

.rbp-fm-hero h1 span{
  display:block;
  margin-top:10px;
  background:linear-gradient(105deg,#8b5d00,#f7dc79,#b77b08,#fff0a6,#9b6700);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.rbp-fm-hero p{
  max-width:620px;
  margin:25px auto 0;
  color:#ccc;
  font-size:17px;
  line-height:1.8;
}

.rbp-fm-gold-line{
  width:90px;
  height:1px;
  margin:32px auto 0;
  background:linear-gradient(90deg,transparent,#f4d56c,transparent);
  box-shadow:0 0 16px rgba(230,183,54,.65);
}

/* INTRO */

.rbp-fm-intro{
  max-width:950px;
  margin:auto;
  padding:90px 30px 55px;
  text-align:center;
}

.rbp-fm-intro h2{
  margin-top:13px;
  font-size:clamp(34px,4vw,54px);
  color:#fff;
}

.rbp-fm-intro p{
  max-width:760px;
  margin:22px auto 0;
  color:#aaa;
  line-height:1.8;
  font-size:16px;
}

/* LISTE */

.rbp-fm-list{
  width:min(1380px,94%);
  margin:25px auto 100px;
}

.rbp-fm-card{
  position:relative;
  display:grid;
  grid-template-columns:1.12fr .88fr;
  min-height:610px;
  margin-bottom:70px;
  border:1px solid rgba(214,166,42,.55);
  background:
    linear-gradient(135deg,rgba(255,255,255,.025),transparent 35%),
    #030303;
  box-shadow:
    0 0 0 1px rgba(255,215,92,.04),
    0 25px 80px rgba(0,0,0,.8),
    0 0 32px rgba(200,145,20,.08);
}

.rbp-fm-card:before{
  content:"";
  position:absolute;
  left:15%;
  right:15%;
  top:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,#ffe58a,transparent);
  box-shadow:0 0 15px rgba(255,209,73,.5);
}

/* PARENTS */

.rbp-fm-card-parents{
  min-height:610px;
  display:grid;
  grid-template-columns:1fr 70px 1fr;
  align-items:center;
  position:relative;
  overflow:hidden;
  background:#000;
}

.rbp-fm-parent{
  align-self:stretch;
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  text-align:center;
  padding-bottom:45px;
}

.rbp-fm-parent-photo{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#555;
  font-size:11px;
  letter-spacing:2px;
  border:1px dashed rgba(212,166,42,.18);
  background:
    radial-gradient(circle at center,rgba(255,255,255,.055),transparent 45%),
    #050505;
}

.rbp-fm-parent-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,transparent 42%,rgba(0,0,0,.28) 65%,#000 100%);
}

.rbp-fm-parent-photo span{
  position:relative;
  z-index:2;
}

.rbp-fm-parent-role,
.rbp-fm-parent h3{
  position:relative;
  z-index:3;
}

.rbp-fm-parent-role{
  color:#d5a62b;
  font-size:11px;
  font-weight:800;
  letter-spacing:3px;
}

.rbp-fm-parent h3{
  margin-top:8px;
  font-size:28px;
}

.rbp-fm-cross{
  position:relative;
  z-index:5;
  text-align:center;
}

.rbp-fm-cross span{
  display:inline-flex;
  width:58px;
  height:58px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(224,178,53,.7);
  border-radius:50%;
  color:#f5d66d;
  font-family:Georgia,serif;
  font-size:34px;
  background:#050505;
  box-shadow:0 0 28px rgba(210,156,27,.22);
}

/* CONTENU CARTE */

.rbp-fm-card-content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:60px 55px;
  border-left:1px solid rgba(212,166,42,.25);
  background:
    radial-gradient(circle at 50% 40%,rgba(194,138,15,.055),transparent 40%),
    #020202;
}

.rbp-fm-status{
  width:max-content;
  padding:8px 15px;
  margin-bottom:23px;
  border:1px solid rgba(218,171,47,.65);
  color:#e3b73e;
  font-size:10px;
  font-weight:900;
  letter-spacing:2px;
}

.rbp-fm-card-content h2{
  font-size:clamp(32px,3vw,46px);
  line-height:1.1;
}

.rbp-fm-card-content h2 b{
  color:#d7a82e;
  font-weight:400;
  padding:0 8px;
}

.rbp-fm-description{
  color:#aaa;
  line-height:1.75;
  margin:22px 0 30px;
}

.rbp-fm-dates{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(212,166,42,.25);
  border-bottom:1px solid rgba(212,166,42,.25);
}

.rbp-fm-dates div{
  padding:22px 13px;
  text-align:center;
}

.rbp-fm-dates div+div{
  border-left:1px solid rgba(212,166,42,.2);
}

.rbp-fm-dates small{
  display:block;
  color:#8d8d8d;
  font-size:9px;
  letter-spacing:1.5px;
}

.rbp-fm-dates strong{
  display:block;
  margin-top:8px;
  color:#e4bd52;
  font-family:Georgia,serif;
  font-size:15px;
}

.rbp-fm-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:30px;
}

.rbp-fm-actions button,
.rbp-fm-actions a,
.rbp-fm-bottom a{
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 20px;
  text-decoration:none;
  font-size:11px;
  font-weight:900;
  letter-spacing:1.3px;
  cursor:pointer;
}

.rbp-fm-details{
  color:#e4b943;
  border:1px solid #9d7415;
  background:#050505;
}

.rbp-fm-contact{
  color:#000!important;
  border:1px solid #e4bd51;
  background:linear-gradient(110deg,#9b6806,#f2d16c,#b47a08,#f8df82);
}

/* BAS DE PAGE */

.rbp-fm-bottom{
  position:relative;
  padding:105px 25px 115px;
  text-align:center;
  border-top:1px solid rgba(212,166,42,.2);
  background:
    radial-gradient(circle at center,rgba(199,143,17,.08),transparent 34%),
    #000;
}

.rbp-fm-bottom h2{
  margin-top:13px;
  font-size:clamp(38px,4vw,58px);
}

.rbp-fm-bottom p{
  max-width:670px;
  margin:20px auto 30px;
  color:#aaa;
  line-height:1.7;
}

.rbp-fm-bottom a{
  width:max-content;
  min-width:220px;
  margin:auto;
  color:#000;
  border:1px solid #e9c65e;
  background:linear-gradient(110deg,#966203,#f4d673,#ad7305,#f8df87);
}

/* RESPONSIVE */

@media(max-width:1000px){
  .rbp-fm-hero{
    grid-template-columns:1fr;
    min-height:520px;
  }

  .rbp-fm-hero-photo{
    display:none;
  }

  .rbp-fm-card{
    grid-template-columns:1fr;
  }

  .rbp-fm-card-content{
    border-left:0;
    border-top:1px solid rgba(212,166,42,.25);
  }

  .rbp-fm-card-parents{
    min-height:540px;
  }
}

@media(max-width:650px){
  .rbp-fm-hero-center{padding:70px 20px}
  .rbp-fm-hero h1{font-size:44px}

  .rbp-fm-card-parents{
    grid-template-columns:1fr 45px 1fr;
    min-height:440px;
  }

  .rbp-fm-parent{padding-bottom:28px}
  .rbp-fm-parent h3{font-size:20px}

  .rbp-fm-cross span{
    width:42px;
    height:42px;
    font-size:26px;
  }

  .rbp-fm-card-content{padding:40px 22px}

  .rbp-fm-dates{
    grid-template-columns:1fr;
  }

  .rbp-fm-dates div+div{
    border-left:0;
    border-top:1px solid rgba(212,166,42,.2);
  }

  .rbp-fm-actions{
    grid-template-columns:1fr;
  }
}

/* ILLUSTRATIONS PROVISOIRES DU HERO */

.rbp-fm-hero-left{
  background-image:
    linear-gradient(90deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.05) 35%,rgba(0,0,0,.45) 65%,#000 100%),
    linear-gradient(0deg,#000 0%,transparent 30%),
    url("https://royaleblackpearl.fr/wp-content/uploads/2026/09/IMG_0006-scaled.jpeg");
  background-size:cover;
  background-position:42% center;
  background-repeat:no-repeat;
}

.rbp-fm-hero-right{
  background-image:
    linear-gradient(270deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.05) 35%,rgba(0,0,0,.45) 65%,#000 100%),
    linear-gradient(0deg,#000 0%,transparent 30%),
    url("https://royaleblackpearl.fr/wp-content/uploads/2026/09/IMG_0006-scaled.jpeg");
  background-size:cover;
  background-position:70% center;
  background-repeat:no-repeat;
}


/* RBP — HERO : PHOTOS STRICTEMENT IDENTIQUES */
.rbp-fm-hero-left,
.rbp-fm-hero-right{
    width:360px !important;
    height:360px !important;
    min-width:360px !important;
    min-height:360px !important;
    max-width:360px !important;
    max-height:360px !important;

    background-repeat:no-repeat !important;
    overflow:hidden !important;
    flex:none !important;
}

/* Adaptation écrans plus petits */
@media (max-width:1200px){
    .rbp-fm-hero-left,
    .rbp-fm-hero-right{
        width:280px !important;
        height:280px !important;
        min-width:280px !important;
        min-height:280px !important;
        max-width:280px !important;
        max-height:280px !important;
    }
}

@media (max-width:800px){
    .rbp-fm-hero-left,
    .rbp-fm-hero-right{
        width:220px !important;
        height:220px !important;
        min-width:220px !important;
        min-height:220px !important;
        max-width:220px !important;
        max-height:220px !important;
    }
}

/* =========================================================
   RBP — HERO FUTURS MARIAGES — PREMIUM FINAL
   ========================================================= */

.rbp-fm-hero{
    position:relative !important;
    display:grid !important;
    grid-template-columns:minmax(300px,1fr) minmax(520px,1.45fr) minmax(300px,1fr) !important;
    align-items:center !important;
    gap:0 !important;
    width:100% !important;
    max-width:1600px !important;
    min-height:650px !important;
    margin:0 auto !important;
    padding:55px 20px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
    background:
        radial-gradient(circle at 50% 47%,rgba(201,146,46,.10),transparent 34%),
        #000 !important;
}

/* LES DEUX PHOTOS : MEME FORMAT */
.rbp-fm-hero-left,
.rbp-fm-hero-right{
    position:relative !important;
    width:100% !important;
    height:500px !important;
    min-width:0 !important;
    min-height:500px !important;
    max-width:none !important;
    max-height:500px !important;
    background-repeat:no-repeat !important;
    overflow:hidden !important;
    z-index:1 !important;
}

/* Fondu vers le centre */
.rbp-fm-hero-left{
    -webkit-mask-image:linear-gradient(
        to right,
        transparent 0%,
        #000 15%,
        #000 58%,
        transparent 100%
    ) !important;
    mask-image:linear-gradient(
        to right,
        transparent 0%,
        #000 15%,
        #000 58%,
        transparent 100%
    ) !important;
}

.rbp-fm-hero-right{
    -webkit-mask-image:linear-gradient(
        to left,
        transparent 0%,
        #000 15%,
        #000 58%,
        transparent 100%
    ) !important;
    mask-image:linear-gradient(
        to left,
        transparent 0%,
        #000 15%,
        #000 58%,
        transparent 100%
    ) !important;
}

/* CENTRE */
.rbp-fm-hero-center{
    position:relative !important;
    z-index:5 !important;
    width:100% !important;
    min-width:0 !important;
    padding:0 20px !important;
    text-align:center !important;
    box-sizing:border-box !important;
}

.rbp-fm-hero-center::before{
    content:"";
    position:absolute;
    z-index:-1;
    left:50%;
    top:48%;
    width:520px;
    height:300px;
    transform:translate(-50%,-50%);
    background:radial-gradient(
        ellipse,
        rgba(200,146,46,.11) 0%,
        rgba(200,146,46,.035) 42%,
        transparent 72%
    );
    pointer-events:none;
}

/* TITRE */
.rbp-fm-hero-center h1{
    width:100% !important;
    max-width:none !important;
    margin:28px 0 35px !important;
    white-space:normal !important;
    font-size:0 !important;
    line-height:1 !important;
    text-align:center !important;
}

.rbp-fm-hero-center h1::before{
    content:"NOS PROCHAINS";
    display:block;
    white-space:nowrap;
    font-size:clamp(48px,4.2vw,76px);
    line-height:1.05;
    letter-spacing:.025em;
    color:#f7f4ed;
    text-shadow:0 2px 22px rgba(255,255,255,.04);
}

.rbp-fm-hero-center h1::after{
    content:"MARIAGES";
    display:block;
    margin-top:18px;
    white-space:nowrap;
    font-size:clamp(64px,5.4vw,98px);
    line-height:.95;
    letter-spacing:.035em;
    color:#d0a02d;
    text-shadow:
        0 0 25px rgba(200,146,46,.12),
        0 2px 2px rgba(0,0,0,.8);
}

/* TEXTE */
.rbp-fm-hero-center p{
    max-width:650px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    line-height:1.65 !important;
}

/* TABLETTE */
@media(max-width:1200px){
    .rbp-fm-hero{
        grid-template-columns:260px minmax(430px,1fr) 260px !important;
        min-height:570px !important;
    }

    .rbp-fm-hero-left,
    .rbp-fm-hero-right{
        height:420px !important;
        min-height:420px !important;
        max-height:420px !important;
    }

    .rbp-fm-hero-center h1::before{
        font-size:46px;
    }

    .rbp-fm-hero-center h1::after{
        font-size:68px;
    }
}

/* MOBILE */
@media(max-width:850px){
    .rbp-fm-hero{
        display:block !important;
        min-height:auto !important;
        padding:60px 20px 50px !important;
    }

    .rbp-fm-hero-left,
    .rbp-fm-hero-right{
        position:absolute !important;
        top:80px !important;
        width:52% !important;
        height:380px !important;
        min-height:380px !important;
        opacity:.35 !important;
    }

    .rbp-fm-hero-left{left:-10% !important;}
    .rbp-fm-hero-right{right:-10% !important;}

    .rbp-fm-hero-center{
        min-height:480px !important;
        display:flex !important;
        flex-direction:column !important;
        justify-content:center !important;
    }

    .rbp-fm-hero-center h1::before{
        font-size:clamp(35px,9vw,52px);
        white-space:normal;
    }

    .rbp-fm-hero-center h1::after{
        font-size:clamp(48px,12vw,72px);
    }
}




/* ==========================================================
   RBP — HERO CINEMA FINAL
   ========================================================== */

.rbp-fm-hero-cinema{
    position:relative !important;
    display:block !important;
    width:100% !important;
    max-width:1600px !important;
    height:760px !important;
    min-height:760px !important;
    margin:0 auto !important;
    padding:0 !important;
    overflow:hidden !important;
    isolation:isolate;
    background:#000 !important;
}

/* PHOTOS = DECOR, PLUS DES BLOCS */
.rbp-fm-hero-cinema .rbp-fm-hero-photo{
    position:absolute !important;
    top:0 !important;
    width:58% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:none !important;
    max-height:none !important;
    border:0 !important;
    margin:0 !important;
    padding:0 !important;
    z-index:1 !important;
    background-repeat:no-repeat !important;
    background-color:#000 !important;
    filter:contrast(1.12) saturate(.70) brightness(.72);
}

.rbp-fm-hero-cinema .rbp-fm-hero-left{
    left:-3% !important;
    -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 48%,rgba(0,0,0,.72) 66%,transparent 94%);
    mask-image:linear-gradient(90deg,#000 0%,#000 48%,rgba(0,0,0,.72) 66%,transparent 94%);
}

.rbp-fm-hero-cinema .rbp-fm-hero-right{
    right:-3% !important;
    -webkit-mask-image:linear-gradient(270deg,#000 0%,#000 48%,rgba(0,0,0,.72) 66%,transparent 94%);
    mask-image:linear-gradient(270deg,#000 0%,#000 48%,rgba(0,0,0,.72) 66%,transparent 94%);
}

/* COUCHE NOIRE QUI FUSIONNE REELLEMENT LES 2 PHOTOS */
.rbp-fm-hero-cinema .rbp-fm-atmosphere{
    position:absolute;
    inset:0;
    z-index:3;
    pointer-events:none;
    background:
      linear-gradient(90deg,
        rgba(0,0,0,.20) 0%,
        rgba(0,0,0,.08) 19%,
        rgba(0,0,0,.58) 34%,
        #000 45%,
        #000 55%,
        rgba(0,0,0,.58) 66%,
        rgba(0,0,0,.08) 81%,
        rgba(0,0,0,.20) 100%),
      linear-gradient(180deg,
        rgba(0,0,0,.60) 0%,
        transparent 20%,
        transparent 65%,
        rgba(0,0,0,.88) 100%);
}

/* HALO OR CENTRAL */
.rbp-fm-hero-cinema::before{
    content:"";
    position:absolute;
    z-index:4;
    left:50%;
    top:45%;
    width:720px;
    height:430px;
    transform:translate(-50%,-50%);
    background:radial-gradient(
      ellipse,
      rgba(207,151,37,.13) 0%,
      rgba(126,78,8,.055) 34%,
      transparent 70%
    );
    pointer-events:none;
}

/* REFLET OR HORIZONTAL */
.rbp-fm-hero-cinema::after{
    content:"";
    position:absolute;
    z-index:6;
    left:50%;
    top:53%;
    width:540px;
    height:2px;
    transform:translateX(-50%);
    background:linear-gradient(90deg,
      transparent,
      rgba(181,119,15,.35),
      #ffe493,
      rgba(181,119,15,.35),
      transparent);
    box-shadow:
      0 0 10px rgba(255,198,62,.75),
      0 0 35px rgba(197,128,16,.35);
}

/* TEXTE CENTRAL INDEPENDANT */
.rbp-fm-hero-cinema .rbp-fm-hero-center{
    position:absolute !important;
    z-index:10 !important;
    top:58px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    width:720px !important;
    max-width:60% !important;
    padding:0 !important;
    margin:0 !important;
    text-align:center !important;
    background:none !important;
}

.rbp-fm-hero-cinema .rbp-fm-hero-center::before{
    display:none !important;
}

.rbp-fm-brandline{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:20px;
    margin-bottom:42px;
    color:#d1b56f;
    font-size:10px;
    font-weight:700;
    letter-spacing:.48em;
    white-space:nowrap;
}

.rbp-fm-brandline span{
    width:72px;
    height:1px;
    background:linear-gradient(90deg,transparent,#a9781e);
}

.rbp-fm-brandline span:last-child{
    background:linear-gradient(90deg,#a9781e,transparent);
}

.rbp-fm-hero-cinema .rbp-fm-kicker{
    margin:0 0 24px !important;
    color:#e4b43a !important;
    font-size:13px !important;
    font-weight:700 !important;
    letter-spacing:.34em !important;
}

.rbp-fm-hero-cinema h1{
    margin:0 !important;
    padding:0 !important;
    font-size:initial !important;
    line-height:1 !important;
}

.rbp-fm-hero-cinema h1::before,
.rbp-fm-hero-cinema h1::after{
    display:none !important;
    content:none !important;
}

.rbp-fm-title-white{
    display:block;
    white-space:nowrap;
    font-family:Georgia,"Times New Roman",serif;
    font-size:58px;
    font-weight:400;
    line-height:1;
    letter-spacing:.035em;
    color:#f4f0e8;
    text-shadow:0 3px 12px #000;
}

.rbp-fm-title-gold{
    display:block;
    white-space:nowrap;
    margin-top:14px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:92px;
    font-weight:400;
    line-height:.95;
    letter-spacing:.04em;
    color:transparent;
    background:linear-gradient(
      180deg,
      #fff0aa 0%,
      #d6a52e 25%,
      #855405 48%,
      #f3c954 68%,
      #9b6509 100%);
    -webkit-background-clip:text;
    background-clip:text;
    filter:drop-shadow(0 3px 2px #000)
           drop-shadow(0 0 12px rgba(211,154,37,.16));
}

.rbp-fm-title-flare{
    width:68%;
    height:26px;
    margin:-3px auto 6px;
    background:radial-gradient(
      ellipse,
      rgba(255,239,181,.85),
      rgba(224,159,31,.26) 13%,
      transparent 66%);
}

.rbp-fm-hero-cinema .rbp-fm-hero-center p{
    max-width:620px !important;
    margin:0 auto !important;
    color:#eee9df !important;
    font-size:17px !important;
    line-height:1.6 !important;
    text-shadow:0 2px 5px #000;
}

.rbp-fm-hero-cinema .rbp-fm-gold-line{
    width:120px !important;
    height:1px !important;
    margin:25px auto 22px !important;
    background:linear-gradient(90deg,transparent,#e7b33b,transparent) !important;
    box-shadow:0 0 10px rgba(220,158,31,.35);
}

.rbp-fm-promise{
    color:#d9b960;
    font-size:10px;
    font-weight:700;
    line-height:2.1;
    letter-spacing:.40em;
}

.rbp-fm-promise span{
    color:#ddd2bd;
}

/* DETAILS LATERAUX DISCRETS */
.rbp-fm-side{
    position:absolute;
    z-index:8;
    top:330px;
    width:150px;
}

.rbp-fm-side-left{
    left:35px;
    text-align:left;
}

.rbp-fm-side-right{
    right:35px;
    text-align:right;
}

.rbp-fm-side-name{
    margin-bottom:14px;
    color:#d8a938;
    font:italic 25px Georgia,"Times New Roman",serif;
}

.rbp-fm-side-values{
    color:#cdbf9d;
    font-size:8px;
    font-weight:700;
    line-height:2.35;
    letter-spacing:.30em;
}

/* POUSSIERE OR */
.rbp-fm-gold-dust{
    position:absolute;
    z-index:5;
    bottom:65px;
    width:30%;
    height:210px;
    opacity:.52;
    pointer-events:none;
    background-image:
      radial-gradient(circle,rgba(255,204,78,.75) 0 1px,transparent 1.7px),
      radial-gradient(circle,rgba(210,146,30,.55) 0 1px,transparent 1.8px),
      radial-gradient(circle,rgba(255,224,130,.48) 0 1px,transparent 1.7px);
    background-size:67px 71px,91px 83px,113px 97px;
}

.rbp-fm-gold-dust-left{left:3%;}
.rbp-fm-gold-dust-right{right:3%;}

.rbp-fm-hero-values{
    position:absolute;
    z-index:10;
    left:50%;
    bottom:28px;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    gap:23px;
    color:#d7c9a9;
    font-size:8px;
    font-weight:700;
    letter-spacing:.34em;
    white-space:nowrap;
}

.rbp-fm-hero-values i{
    width:1px;
    height:18px;
    background:linear-gradient(transparent,#d39d28,transparent);
}

/* MOBILE */
@media(max-width:900px){
    .rbp-fm-hero-cinema{
        height:650px !important;
        min-height:650px !important;
    }

    .rbp-fm-hero-cinema .rbp-fm-hero-photo{
        width:78% !important;
        opacity:.48;
    }

    .rbp-fm-hero-cinema .rbp-fm-hero-left{left:-30% !important;}
    .rbp-fm-hero-cinema .rbp-fm-hero-right{right:-30% !important;}

    .rbp-fm-hero-cinema .rbp-fm-hero-center{
        width:94% !important;
        max-width:94% !important;
    }

    .rbp-fm-title-white{
        font-size:clamp(34px,9vw,48px);
        white-space:normal;
    }

    .rbp-fm-title-gold{
        font-size:clamp(55px,14vw,76px);
    }

    .rbp-fm-side{display:none;}

    .rbp-fm-brandline{
        font-size:7px;
        letter-spacing:.28em;
    }

    .rbp-fm-brandline span{width:28px;}

    .rbp-fm-hero-values{
        gap:10px;
        font-size:6px;
        letter-spacing:.18em;
    }
}

/* RBP — contraste titre cinéma */
.rbp-fm-title-white{
    color:#f7f3e9 !important;
    background:none !important;
    -webkit-text-fill-color:#f7f3e9 !important;
    text-shadow:
        0 2px 3px rgba(0,0,0,.95),
        0 0 18px rgba(255,255,255,.08) !important;
    filter:none !important;
}

.rbp-fm-title-gold{
    background:linear-gradient(
        180deg,
        #fff1a6 0%,
        #e8bd50 18%,
        #a66c0a 43%,
        #f5d36d 61%,
        #b8790c 80%,
        #f2cf65 100%
    ) !important;
    -webkit-background-clip:text !important;
    background-clip:text !important;
    -webkit-text-fill-color:transparent !important;
    color:transparent !important;
    text-shadow:none !important;
    filter:
        drop-shadow(0 3px 2px rgba(0,0,0,.9))
        drop-shadow(0 0 10px rgba(220,160,35,.18)) !important;
}

/* =========================================================
   RBP — HERO FINAL FIGE
   ========================================================= */

.rbp-fm-hero-final{
    display:block !important;
    position:relative !important;
    width:100% !important;
    max-width:1920px !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 auto !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#000 !important;
    line-height:0 !important;
}

.rbp-fm-hero-final img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    object-fit:contain !important;
}

/* Mobile : même hero, aucune découpe */
@media(max-width:768px){
    .rbp-fm-hero-final{
        width:100% !important;
    }

    .rbp-fm-hero-final img{
        width:100% !important;
        height:auto !important;
        object-fit:contain !important;
    }
}


/* ==========================================================
   RBP — CARTE FUTUR MARIAGE PREMIUM — FINAL
   ========================================================== */

.rbp-premium-marriage{
    --gold:#d6a52e;
    --gold-light:#ffe28a;
    --gold-dark:#79500b;
    position:relative;
    width:min(1660px,94%);
    margin:55px auto 80px;
    padding:30px 34px 24px;
    overflow:hidden;
    isolation:isolate;
    color:#f5f1e8;
    background:
        radial-gradient(circle at 50% 35%,rgba(184,119,15,.10),transparent 35%),
        linear-gradient(135deg,#080808 0%,#000 48%,#070604 100%);
    border:1px solid rgba(214,165,46,.72);
    box-shadow:
        0 0 0 1px rgba(255,222,120,.06) inset,
        0 20px 70px rgba(0,0,0,.72),
        0 0 35px rgba(180,119,18,.09);
}

.rbp-premium-marriage::before{
    content:"";
    position:absolute;
    z-index:20;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(90deg,transparent,rgba(255,218,105,.9),transparent)
        top/100% 1px no-repeat;
    opacity:.65;
}

.rbp-premium-marriage::after{
    content:"";
    position:absolute;
    z-index:-1;
    width:700px;
    height:250px;
    left:50%;
    bottom:-160px;
    transform:translateX(-50%);
    background:radial-gradient(ellipse,rgba(211,148,27,.17),transparent 70%);
    filter:blur(12px);
}

.rbp-pm-glow{
    position:absolute;
    z-index:-1;
    top:-140px;
    left:50%;
    width:700px;
    height:420px;
    transform:translateX(-50%);
    background:radial-gradient(ellipse,rgba(205,147,29,.13),transparent 67%);
    pointer-events:none;
}

/* MARQUE */

.rbp-pm-topbrand,
.rbp-pm-signature{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:20px;
    color:#d7c18b;
    font-size:9px;
    font-weight:700;
    letter-spacing:.46em;
    text-align:center;
}

.rbp-pm-topbrand{
    margin:2px 0 20px;
}

.rbp-pm-topbrand span,
.rbp-pm-signature span{
    width:70px;
    height:1px;
    background:linear-gradient(90deg,transparent,var(--gold));
}

.rbp-pm-topbrand span:last-child,
.rbp-pm-signature span:last-child{
    background:linear-gradient(90deg,var(--gold),transparent);
}

/* COMPOSITION 3 COLONNES */

.rbp-pm-layout{
    position:relative;
    display:grid;
    grid-template-columns:minmax(260px,32%) minmax(420px,36%) minmax(260px,32%);
    min-height:535px;
    align-items:stretch;
}

/* PARENTS */

.rbp-pm-parent{
    position:relative;
    min-width:0;
    overflow:hidden;
}

.rbp-pm-photo{
    position:absolute;
    inset:0;
    overflow:hidden;
    background:#020202;
}

.rbp-pm-photo img{
    display:block;
    width:100%;
    height:100%;
    max-width:none;
    object-fit:cover;
    transition:none;
}

.rbp-pm-photo-fade{
    position:absolute;
    inset:0;
    pointer-events:none;
}

.rbp-pm-female .rbp-pm-photo-fade{
    background:
        linear-gradient(90deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.04) 52%,rgba(0,0,0,.48) 76%,#000 100%),
        linear-gradient(0deg,#000 0%,rgba(0,0,0,.34) 26%,transparent 58%);
}

.rbp-pm-male .rbp-pm-photo-fade{
    background:
        linear-gradient(270deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.04) 52%,rgba(0,0,0,.48) 76%,#000 100%),
        linear-gradient(0deg,#000 0%,rgba(0,0,0,.34) 26%,transparent 58%);
}

.rbp-pm-parent-info{
    position:absolute;
    z-index:5;
    bottom:28px;
    width:150px;
}

.rbp-pm-female .rbp-pm-parent-info{
    left:20px;
    text-align:left;
}

.rbp-pm-male .rbp-pm-parent-info{
    right:20px;
    text-align:right;
}

.rbp-pm-script{
    margin-bottom:12px;
    color:#e1b33d;
    font-family:Georgia,"Times New Roman",serif;
    font-size:29px;
    font-style:italic;
    line-height:1;
    text-shadow:0 2px 10px #000;
}

.rbp-pm-sex{
    color:#eee7d6;
    font-size:10px;
    font-weight:700;
    letter-spacing:.20em;
}

.rbp-pm-breed{
    margin-top:7px;
    color:#aaa293;
    font-size:8px;
    line-height:1.7;
    letter-spacing:.17em;
}

.rbp-pm-parent-points{
    margin-top:18px;
    padding-top:13px;
    border-top:1px solid rgba(211,161,47,.25);
}

.rbp-pm-parent-points div{
    display:flex;
    align-items:center;
    gap:8px;
    margin:7px 0;
}

.rbp-pm-male .rbp-pm-parent-points div{
    justify-content:flex-end;
}

.rbp-pm-parent-points b{
    width:18px;
    color:#e0aa2d;
    font-size:14px;
}

.rbp-pm-parent-points span{
    color:#ddd4c2;
    font-size:8px;
    font-weight:700;
    letter-spacing:.22em;
}

/* CENTRE */

.rbp-pm-center{
    position:relative;
    z-index:8;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    min-width:0;
    padding:30px 22px 24px;
    text-align:center;
    background:
        linear-gradient(90deg,transparent,#000 13%,#000 87%,transparent);
}

.rbp-pm-status{
    margin-bottom:22px;
    color:#e4b33b;
    font-size:11px;
    font-weight:800;
    letter-spacing:.31em;
}

.rbp-pm-center h2{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:18px;
    width:100%;
    margin:0 0 13px !important;
    color:#f5f0e4 !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:clamp(34px,3vw,55px) !important;
    font-weight:400 !important;
    line-height:1 !important;
    letter-spacing:.025em;
    white-space:nowrap;
}

.rbp-pm-center h2 i{
    color:transparent;
    font-style:normal;
    font-size:1.1em;
    background:linear-gradient(180deg,#fff0a0,#c38310 50%,#f2ca55);
    -webkit-background-clip:text;
    background-clip:text;
    filter:drop-shadow(0 0 8px rgba(215,157,34,.25));
}

.rbp-pm-tagline{
    color:#d9cdb7;
    font-size:9px;
    font-weight:700;
    line-height:2;
    letter-spacing:.35em;
}

.rbp-pm-tagline span{
    color:#a89d89;
}

/* DESCRIPTION */

.rbp-pm-description{
    max-width:520px;
    margin:17px auto 4px !important;
    color:#cfc8bc !important;
    font-size:13px !important;
    line-height:1.55 !important;
}

/* DATES */

.rbp-pm-dates{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    width:100%;
    margin-top:20px;
}

.rbp-pm-datebox{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:13px;
    min-height:78px;
    padding:12px;
    border:1px solid rgba(211,159,43,.55);
    background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(0,0,0,.30));
    box-shadow:inset 0 0 20px rgba(211,151,27,.025);
}

.rbp-pm-datebox > b{
    color:#e2ad32;
    font-size:25px;
    font-weight:400;
}

.rbp-pm-datebox span{
    display:flex;
    flex-direction:column;
    text-align:left;
}

.rbp-pm-datebox small,
.rbp-pm-project small{
    color:#aaa291;
    font-size:8px;
    font-weight:700;
    letter-spacing:.17em;
}

.rbp-pm-datebox strong{
    margin-top:5px;
    color:#f3eee3;
    font-family:Georgia,"Times New Roman",serif;
    font-size:17px;
    font-weight:400;
}

/* PROJET */

.rbp-pm-project{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    width:100%;
    margin-top:12px;
    border-top:1px solid rgba(210,156,37,.25);
    border-bottom:1px solid rgba(210,156,37,.25);
}

.rbp-pm-project > div{
    min-width:0;
    padding:13px 8px;
}

.rbp-pm-project > div + div{
    border-left:1px solid rgba(210,156,37,.20);
}

.rbp-pm-project strong{
    display:block;
    margin-top:5px;
    color:#e8bc50;
    font-size:11px;
    line-height:1.35;
    font-weight:700;
}

/* BANDEAU 3 ENGAGEMENTS */

.rbp-pm-features{
    position:relative;
    z-index:12;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    margin-top:16px;
    border:1px solid rgba(208,155,40,.42);
    background:rgba(2,2,2,.82);
}

.rbp-pm-features > div{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:15px;
    min-height:72px;
    padding:12px 18px;
}

.rbp-pm-features > div + div{
    border-left:1px solid rgba(208,155,40,.25);
}

.rbp-pm-features b{
    color:#e6b23b;
    font-size:28px;
    font-weight:400;
}

.rbp-pm-features span{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.rbp-pm-features strong{
    color:#eee8dc;
    font-size:10px;
    letter-spacing:.15em;
}

.rbp-pm-features small{
    color:#a69e8f;
    font-size:7px;
    letter-spacing:.18em;
}

/* BOUTONS */

.rbp-pm-actions{
    position:relative;
    z-index:12;
    display:flex;
    justify-content:center;
    gap:18px;
    margin:22px 0 20px;
}

.rbp-pm-primary,
.rbp-pm-secondary{
    display:flex !important;
    justify-content:center;
    align-items:center;
    min-width:310px;
    height:54px;
    padding:0 26px !important;
    border-radius:3px !important;
    font-size:10px !important;
    font-weight:800 !important;
    letter-spacing:.10em !important;
    text-decoration:none !important;
    cursor:pointer;
}

.rbp-pm-primary{
    color:#171007 !important;
    border:1px solid #e4b74d !important;
    background:
        linear-gradient(110deg,#a66b0d 0%,#f4d06b 35%,#fff0a0 52%,#d99d28 76%,#8f5908 100%) !important;
    box-shadow:
        0 0 20px rgba(215,158,37,.18),
        inset 0 1px rgba(255,255,255,.45);
}

.rbp-pm-secondary{
    color:#f0e9dc !important;
    border:1px solid rgba(216,164,47,.65) !important;
    background:#050505 !important;
    box-shadow:inset 0 0 20px rgba(210,151,30,.04);
}

.rbp-pm-primary:hover,
.rbp-pm-secondary:hover{
    transform:translateY(-1px);
    filter:brightness(1.10);
}

/* SIGNATURE */

.rbp-pm-signature{
    margin-top:5px;
    color:#c89b35;
    font-size:8px;
}

/* MOBILE */

@media(max-width:950px){

    .rbp-premium-marriage{
        width:94%;
        padding:18px 15px;
    }

    .rbp-pm-layout{
        display:flex;
        flex-direction:column;
        min-height:0;
    }

    .rbp-pm-parent{
        height:380px;
    }

    .rbp-pm-center{
        order:-1;
        padding:28px 10px;
        background:#000;
    }

    .rbp-pm-center h2{
        flex-wrap:wrap;
        gap:10px;
        white-space:normal;
        font-size:38px !important;
    }

    .rbp-pm-dates,
    .rbp-pm-project{
        grid-template-columns:1fr;
    }

    .rbp-pm-project > div + div{
        border-left:0;
        border-top:1px solid rgba(210,156,37,.20);
    }

    .rbp-pm-features{
        grid-template-columns:1fr;
    }

    .rbp-pm-features > div + div{
        border-left:0;
        border-top:1px solid rgba(208,155,40,.25);
    }

    .rbp-pm-actions{
        flex-direction:column;
    }

    .rbp-pm-primary,
    .rbp-pm-secondary{
        width:100%;
        min-width:0;
    }

    .rbp-pm-topbrand{
        font-size:7px;
        letter-spacing:.25em;
    }

    .rbp-pm-topbrand span{
        width:25px;
    }
}


/* ==========================================================
   RBP — FINITION CADRE GOLD LUXE
   ========================================================== */

.rbp-premium-marriage{
    border:3px solid #d6a52e !important;

    box-shadow:
        0 0 0 1px #5e3b05,
        0 0 0 4px rgba(255,203,68,.18),
        inset 0 0 0 1px rgba(255,239,167,.75),
        inset 0 0 16px rgba(255,190,45,.14),
        0 0 8px rgba(255,201,63,.80),
        0 0 22px rgba(214,151,27,.48),
        0 0 48px rgba(169,104,8,.22),
        0 24px 70px rgba(0,0,0,.85) !important;

    background:
        radial-gradient(circle at 50% 15%,rgba(226,166,38,.10),transparent 30%),
        linear-gradient(135deg,#080704 0%,#000 42%,#050402 100%) !important;
}

/* reflet métallique supérieur */
.rbp-premium-marriage::before{
    content:"" !important;
    position:absolute !important;
    z-index:50 !important;
    pointer-events:none !important;
    inset:-3px !important;

    background:
        linear-gradient(
            90deg,
            #7d4c05 0%,
            #e0a928 10%,
            #fff0a0 23%,
            #b9780c 37%,
            #ffe57d 50%,
            #a66508 64%,
            #fff0a0 78%,
            #d79d20 91%,
            #734304 100%
        ) top / 100% 3px no-repeat,

        linear-gradient(
            90deg,
            #754504,
            #f4c94e,
            #fff1a5,
            #c27f0c,
            #f4c94e,
            #754504
        ) bottom / 100% 3px no-repeat,

        linear-gradient(
            180deg,
            #7d4c05,
            #ffe578 25%,
            #a56508 50%,
            #f4c94e 75%,
            #754504
        ) left / 3px 100% no-repeat,

        linear-gradient(
            180deg,
            #754504,
            #f4c94e 25%,
            #a56508 50%,
            #ffe578 75%,
            #754504
        ) right / 3px 100% no-repeat !important;

    opacity:1 !important;
}

/* halo gold autour de la carte */
.rbp-premium-marriage::after{
    content:"" !important;
    position:absolute !important;
    z-index:-1 !important;
    inset:-12px !important;
    width:auto !important;
    height:auto !important;
    left:-12px !important;
    bottom:-12px !important;
    transform:none !important;

    border:1px solid rgba(255,205,75,.22);
    background:transparent !important;

    box-shadow:
        0 0 20px rgba(255,189,35,.20),
        0 0 50px rgba(189,116,7,.12);

    filter:none !important;
    pointer-events:none;
}

/* éclats lumineux */
.rbp-pm-glow{
    z-index:40 !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    left:0 !important;
    top:0 !important;
    transform:none !important;
    background:
        radial-gradient(circle at 1px 1px,#fff6c6 0 1px,#ffc83c 1.5px 2px,transparent 3px)
            13px 9px / 100% 100% no-repeat,
        radial-gradient(circle at 1px 1px,#fff 0 1px,#ffcc46 1.5px 2px,transparent 3px)
            calc(100% - 14px) 11px / 100% 100% no-repeat,
        radial-gradient(circle at 1px 1px,#fff6c6 0 1px,#ffbc22 1.5px 2px,transparent 3px)
            12px calc(100% - 12px) / 100% 100% no-repeat,
        radial-gradient(circle at 1px 1px,#fff 0 1px,#ffd75d 1.5px 2px,transparent 3px)
            calc(100% - 14px) calc(100% - 13px) / 100% 100% no-repeat !important;

    filter:
        drop-shadow(0 0 3px #fff0a0)
        drop-shadow(0 0 8px #e3a322) !important;

    opacity:.95 !important;
    pointer-events:none !important;
}

/* petit éclat mobile sur la bordure supérieure */
@keyframes rbpGoldShine{
    0%   { background-position:-35% 0; opacity:.25; }
    45%  { opacity:1; }
    100% { background-position:135% 0; opacity:.25; }
}

.rbp-premium-marriage{
    background-clip:padding-box !important;
}

/* renforce les bordures internes sans transformer la carte */
.rbp-pm-datebox,
.rbp-pm-features{
    border-color:rgba(229,175,45,.70) !important;
    box-shadow:
        inset 0 0 12px rgba(218,157,30,.04),
        0 0 7px rgba(203,142,21,.05);
}

/* CTA principal plus métallique */
.rbp-pm-primary{
    background:
        linear-gradient(
            110deg,
            #8b5507 0%,
            #d99b20 18%,
            #ffe477 42%,
            #fff0a2 50%,
            #e2aa30 61%,
            #9d6209 100%
        ) !important;

    border:1px solid #ffe174 !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.72),
        inset 0 -1px 0 rgba(104,61,2,.65),
        0 0 11px rgba(255,195,47,.42),
        0 0 24px rgba(197,127,12,.17) !important;
}

/* mobile : on conserve le luxe sans bordure énorme */
@media(max-width:950px){
    .rbp-premium-marriage{
        border-width:2px !important;
        box-shadow:
            0 0 0 1px #5e3b05,
            inset 0 0 0 1px rgba(255,236,157,.55),
            0 0 10px rgba(255,196,46,.45),
            0 0 25px rgba(184,112,8,.18) !important;
    }
}


/* ==========================================================
   RBP — POPUP DETAIL MARIAGE — GOLD PREMIUM
   ========================================================== */

body.rbp-modal-open{
    overflow:hidden !important;
}

.rbp-marriage-modal{
    width:min(1050px,92vw) !important;
    max-width:1050px !important;
    max-height:90vh !important;
    padding:0 !important;
    overflow:auto !important;

    color:#f5f0e6 !important;
    background:
        radial-gradient(circle at 50% 10%,rgba(210,151,31,.12),transparent 30%),
        linear-gradient(145deg,#090806,#000 52%,#070502) !important;

    border:3px solid #d6a52e !important;
    border-radius:2px !important;

    box-shadow:
        0 0 0 1px #654006,
        inset 0 0 0 1px rgba(255,238,157,.55),
        0 0 12px rgba(255,198,47,.65),
        0 0 38px rgba(211,145,20,.32),
        0 35px 100px rgba(0,0,0,.95) !important;
}

.rbp-marriage-modal::backdrop{
    background:rgba(0,0,0,.88);
    backdrop-filter:blur(7px);
}

.rbp-modal-inner{
    position:relative;
    padding:48px 55px 45px;
}

.rbp-modal-close{
    position:absolute;
    z-index:30;
    top:14px;
    right:18px;

    width:42px;
    height:42px;
    padding:0;

    color:#e8bd50;
    background:#050505;
    border:1px solid rgba(225,171,45,.65);
    border-radius:50%;

    font-size:28px;
    line-height:36px;
    cursor:pointer;

    box-shadow:0 0 12px rgba(215,155,32,.12);
}

.rbp-modal-close:hover{
    color:#fff0a0;
    border-color:#ffe075;
    box-shadow:0 0 16px rgba(239,181,46,.30);
}

.rbp-modal-kicker{
    margin-bottom:14px;
    color:#dca936;
    text-align:center;
    font-size:10px;
    font-weight:800;
    letter-spacing:.35em;
}

.rbp-marriage-modal h2{
    margin:0 !important;
    color:#f5f0e5 !important;
    text-align:center;
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:clamp(38px,5vw,64px) !important;
    font-weight:400 !important;
    line-height:1 !important;
}

.rbp-modal-goldline{
    width:190px;
    height:2px;
    margin:24px auto 32px;

    background:linear-gradient(
        90deg,
        transparent,
        #9d6508,
        #ffe47d,
        #9d6508,
        transparent
    );

    box-shadow:
        0 0 7px rgba(255,210,75,.75),
        0 0 20px rgba(208,142,20,.25);
}

/* PARENTS */

.rbp-modal-parents{
    display:grid;
    grid-template-columns:1fr 70px 1fr;
    align-items:center;
    gap:15px;
    max-width:800px;
    margin:0 auto 34px;
}

.rbp-modal-parent{
    text-align:center;
}

.rbp-modal-photo{
    position:relative;
    width:100%;
    height:250px;
    margin-bottom:15px;
    overflow:hidden;

    border:1px solid rgba(222,169,44,.72);
    background:#020202;

    box-shadow:
        inset 0 0 20px rgba(0,0,0,.55),
        0 0 15px rgba(203,139,20,.10);
}

.rbp-modal-photo::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(0deg,rgba(0,0,0,.45),transparent 40%);
    pointer-events:none;
}

.rbp-modal-photo img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.rbp-modal-parent small{
    display:block;
    margin-bottom:5px;
    color:#a99d86;
    font-size:8px;
    font-weight:800;
    letter-spacing:.25em;
}

.rbp-modal-parent strong{
    color:#e5b43c;
    font-family:Georgia,"Times New Roman",serif;
    font-size:25px;
    font-weight:400;
}

.rbp-modal-cross{
    color:transparent;
    text-align:center;
    font-family:Georgia,"Times New Roman",serif;
    font-size:50px;

    background:linear-gradient(
        180deg,
        #fff0a1,
        #c78914 48%,
        #f2c956
    );

    -webkit-background-clip:text;
    background-clip:text;

    filter:drop-shadow(0 0 8px rgba(215,157,34,.22));
}

/* INFOS */

.rbp-modal-infos{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    margin:0 0 32px;

    border-top:1px solid rgba(216,160,39,.45);
    border-bottom:1px solid rgba(216,160,39,.45);
}

.rbp-modal-infos > div{
    padding:18px 12px;
    text-align:center;
}

.rbp-modal-infos > div + div{
    border-left:1px solid rgba(216,160,39,.22);
}

.rbp-modal-infos small{
    display:block;
    margin-bottom:7px;
    color:#9f9686;
    font-size:8px;
    font-weight:800;
    letter-spacing:.18em;
}

.rbp-modal-infos strong{
    color:#e9ba49;
    font-size:13px;
    font-weight:700;
}

/* TEXTES */

.rbp-modal-text{
    max-width:790px;
    margin:0 auto 25px;
    padding:21px 25px;

    border:1px solid rgba(211,158,39,.26);
    background:rgba(255,255,255,.015);
}

.rbp-modal-text h3{
    margin:0 0 11px !important;
    color:#dba836 !important;
    font-size:10px !important;
    font-weight:800 !important;
    letter-spacing:.28em !important;
}

.rbp-modal-text p{
    margin:0 !important;
    color:#d6d0c5 !important;
    font-size:14px !important;
    line-height:1.7 !important;
}

/* CTA */

.rbp-modal-contact{
    display:flex;
    justify-content:center;
    align-items:center;

    width:min(430px,100%);
    height:56px;
    margin:34px auto 0;

    color:#181006 !important;
    text-decoration:none !important;

    border:1px solid #ffe37a;
    border-radius:2px;

    background:linear-gradient(
        110deg,
        #875207 0%,
        #d99d23 18%,
        #ffe57c 43%,
        #fff1a3 51%,
        #dda32a 68%,
        #915807 100%
    );

    box-shadow:
        inset 0 1px rgba(255,255,255,.72),
        0 0 12px rgba(255,198,48,.40),
        0 0 28px rgba(196,126,12,.16);

    font-size:10px;
    font-weight:900;
    letter-spacing:.13em;
}

.rbp-modal-contact:hover{
    filter:brightness(1.10);
}

/* MOBILE */

@media(max-width:760px){

    .rbp-modal-inner{
        padding:48px 18px 30px;
    }

    .rbp-modal-parents{
        grid-template-columns:1fr 34px 1fr;
        gap:7px;
    }

    .rbp-modal-photo{
        height:190px;
    }

    .rbp-modal-cross{
        font-size:36px;
    }

    .rbp-modal-infos{
        grid-template-columns:1fr 1fr;
    }

    .rbp-modal-infos > div:nth-child(3){
        border-left:0;
        border-top:1px solid rgba(216,160,39,.22);
    }

    .rbp-modal-infos > div:nth-child(4){
        border-top:1px solid rgba(216,160,39,.22);
    }

    .rbp-modal-parent strong{
        font-size:19px;
    }
}


/* ==========================================================
   RBP — POPUP MARIAGE V2 — DETAILS PREMIUM
   ========================================================== */

.rbp-marriage-modal-v2{
    width:min(1180px,94vw) !important;
}

/* TITRES DE SECTIONS */

.rbp-modal-section{
    max-width:950px;
    margin:38px auto 0;
}

.rbp-modal-section-head{
    margin-bottom:18px;
    text-align:center;
}

.rbp-modal-section-head > span{
    display:block;
    margin-bottom:5px;
    color:#c99324;
    font-size:8px;
    font-weight:900;
    letter-spacing:.32em;
}

.rbp-modal-section-head h3{
    margin:0 !important;
    color:#f4eee2 !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:29px !important;
    font-weight:400 !important;
}

.rbp-modal-section-head::after{
    content:"";
    display:block;
    width:110px;
    height:1px;
    margin:13px auto 0;
    background:linear-gradient(
        90deg,
        transparent,
        #d6a52e,
        #ffe37b,
        #d6a52e,
        transparent
    );
    box-shadow:0 0 8px rgba(255,199,53,.4);
}


/* IDENTITE / SANTE */

.rbp-modal-health-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.rbp-modal-health-card{
    position:relative;
    padding:22px 25px 18px;
    overflow:hidden;

    border:1px solid rgba(213,161,40,.55);

    background:
        radial-gradient(circle at 50% 0,
            rgba(211,155,35,.09),
            transparent 45%),
        linear-gradient(145deg,#080705,#020202);

    box-shadow:
        inset 0 0 20px rgba(217,159,34,.025),
        0 8px 28px rgba(0,0,0,.35);
}

.rbp-modal-health-card::before{
    content:"";
    position:absolute;
    top:0;
    left:15%;
    width:70%;
    height:1px;

    background:linear-gradient(
        90deg,
        transparent,
        #ffe27a,
        transparent
    );

    box-shadow:0 0 8px rgba(255,199,50,.45);
}

.rbp-modal-health-sex{
    margin-bottom:4px;
    color:#a99b82;
    font-size:8px;
    font-weight:900;
    letter-spacing:.25em;
}

.rbp-modal-health-card h4{
    margin:0 0 15px !important;
    color:#e3b33d !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:25px !important;
    font-weight:400 !important;
}

.rbp-health-row{
    display:grid;
    grid-template-columns:125px 1fr;
    gap:15px;
    align-items:start;

    padding:9px 0;

    border-top:1px solid rgba(211,159,39,.15);
}

.rbp-health-row span{
    color:#8f887d;
    font-size:9px;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.rbp-health-row strong{
    color:#e8e1d5;
    font-size:12px;
    font-weight:600;
    line-height:1.45;
}


/* LE PROJET */

.rbp-modal-section .rbp-modal-text{
    max-width:none;
    margin:0 0 12px;
    padding:20px 23px;

    border:1px solid rgba(211,158,39,.27);
    background:rgba(255,255,255,.012);
}

.rbp-modal-section .rbp-modal-text h4{
    margin:0 0 9px !important;
    color:#dba836 !important;
    font-size:9px !important;
    font-weight:900 !important;
    letter-spacing:.2em !important;
    text-transform:uppercase;
}

.rbp-modal-section .rbp-modal-text p{
    margin:0 !important;
    color:#d8d1c6 !important;
    font-size:13px !important;
    line-height:1.75 !important;
}


/* PORTEE PRECEDENTE */

.rbp-modal-previous{
    margin-top:46px;
    padding:28px;

    border:1px solid rgba(220,168,43,.5);

    background:
        radial-gradient(circle at 50% 0,
            rgba(218,160,36,.10),
            transparent 35%),
        #030303;

    box-shadow:
        inset 0 0 30px rgba(202,140,20,.035),
        0 0 20px rgba(0,0,0,.35);
}

.rbp-previous-stats{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    margin:22px 0;

    border-top:1px solid rgba(215,160,38,.32);
    border-bottom:1px solid rgba(215,160,38,.32);
}

.rbp-previous-stat{
    min-height:78px;
    padding:16px 8px;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    text-align:center;
}

.rbp-previous-stat + .rbp-previous-stat{
    border-left:1px solid rgba(215,160,38,.18);
}

.rbp-previous-stat small{
    display:block;
    margin-bottom:7px;

    color:#8f8677;
    font-size:7px;
    font-weight:900;
    letter-spacing:.16em;
}

.rbp-previous-stat strong{
    color:#e8b63f;
    font-size:13px;
    line-height:1.35;
}

.rbp-previous-resume{
    max-width:780px;
    margin:20px auto 27px;
    text-align:center;
}

.rbp-previous-resume p{
    margin:0 !important;
    color:#d0c9bd !important;
    font-size:13px !important;
    line-height:1.7 !important;
}


/* GALERIE DES ANCIENS CHIOTS */

.rbp-previous-gallery{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
}

.rbp-previous-gallery:empty{
    display:none;
}

.rbp-previous-gallery figure{
    position:relative;
    aspect-ratio:1/1;
    margin:0 !important;
    overflow:hidden;

    border:1px solid rgba(219,165,41,.55);
    background:#080808;

    box-shadow:0 5px 18px rgba(0,0,0,.45);
}

.rbp-previous-gallery figure::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;

    box-shadow:
        inset 0 0 0 1px rgba(255,225,118,.08),
        inset 0 -35px 35px rgba(0,0,0,.2);
}

.rbp-previous-gallery img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;

    transition:
        transform .35s ease,
        filter .35s ease;
}

.rbp-previous-gallery figure:hover img{
    transform:scale(1.035);
    filter:brightness(1.06);
}


/* CADRAGE PARENTS V2 */

.rbp-marriage-modal-v2 .rbp-modal-photo{
    height:300px;
    overflow:hidden;
}

.rbp-marriage-modal-v2 .rbp-modal-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    will-change:transform;
}


/* BOUTON FINAL */

.rbp-marriage-modal-v2 .rbp-modal-contact{
    margin-top:42px;
}


/* MOBILE */

@media(max-width:760px){

    .rbp-marriage-modal-v2 .rbp-modal-photo{
        height:210px;
    }

    .rbp-modal-health-grid{
        grid-template-columns:1fr;
    }

    .rbp-health-row{
        grid-template-columns:105px 1fr;
    }

    .rbp-modal-previous{
        padding:20px 13px;
    }

    .rbp-previous-stats{
        grid-template-columns:1fr 1fr;
    }

    .rbp-previous-stat{
        border-bottom:1px solid rgba(215,160,38,.15);
    }

    .rbp-previous-stat + .rbp-previous-stat{
        border-left:0;
    }

    .rbp-previous-stat:nth-child(even){
        border-left:1px solid rgba(215,160,38,.18);
    }

    .rbp-previous-gallery{
        grid-template-columns:1fr 1fr;
        gap:7px;
    }

}


/* =========================================================
   RBP — POPUP FUTUR MARIAGE V3
   ========================================================= */

.rbp-v3-modal{
    width:min(1180px,94vw);
    max-height:92vh;
    padding:0;
    border:1px solid #9d6a18;
    border-radius:18px;
    background:#050505;
    color:#fff;
    overflow:auto;
    box-shadow:
        0 0 0 1px rgba(255,210,112,.18),
        0 0 35px rgba(200,146,46,.28),
        0 30px 90px rgba(0,0,0,.85);
}

.rbp-v3-modal::backdrop{
    background:rgba(0,0,0,.88);
    backdrop-filter:blur(7px);
}

body.rbp-v3-open{
    overflow:hidden;
}

.rbp-v3-shell{
    position:relative;
    padding:48px;
    background:
        radial-gradient(circle at 50% 0%,rgba(200,146,46,.12),transparent 30%),
        linear-gradient(180deg,#090909 0%,#030303 100%);
}

.rbp-v3-close{
    position:absolute;
    top:18px;
    right:22px;
    z-index:5;
    width:42px;
    height:42px;
    border:1px solid rgba(218,172,78,.5);
    border-radius:50%;
    background:#090909;
    color:#d8aa4d;
    font-size:28px;
    line-height:1;
    cursor:pointer;
}

.rbp-v3-header{
    text-align:center;
    margin-bottom:42px;
}

.rbp-v3-brand,
.rbp-v3-eyebrow{
    color:#c8922e;
    font-size:11px;
    font-weight:700;
    letter-spacing:.28em;
}

.rbp-v3-eyebrow{
    margin-top:18px;
    color:#8d8d8d;
}

.rbp-v3-header h2{
    margin:10px 0 18px;
    color:#fff;
    font-family:Georgia,serif;
    font-size:clamp(30px,4vw,54px);
    font-weight:400;
}

.rbp-v3-header h2 i{
    padding:0 15px;
    color:#c8922e;
    font-weight:400;
}

.rbp-v3-goldline{
    width:150px;
    height:2px;
    margin:auto;
    background:linear-gradient(90deg,transparent,#8b5b12,#f1cf7b,#8b5b12,transparent);
    box-shadow:0 0 12px rgba(230,183,79,.45);
}

.rbp-v3-parents{
    display:grid;
    grid-template-columns:1fr 55px 1fr;
    gap:24px;
    align-items:start;
}

.rbp-v3-cross{
    padding-top:145px;
    text-align:center;
    color:#d6a747;
    font-family:Georgia,serif;
    font-size:42px;
}

.rbp-v3-parent{
    min-width:0;
}

.rbp-v3-photo{
    position:relative;
    width:100%;
    height:285px;
    overflow:hidden;
    border:1px solid rgba(211,160,58,.48);
    border-radius:12px;
    background:#000;
    box-shadow:
        inset 0 0 30px rgba(0,0,0,.5),
        0 10px 30px rgba(0,0,0,.45);
}

.rbp-v3-photo:after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.65));
}

.rbp-v3-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.rbp-v3-sex{
    margin-top:18px;
    color:#c8922e;
    font-size:10px;
    font-weight:800;
    letter-spacing:.22em;
}

.rbp-v3-parent h3{
    margin:4px 0 16px;
    color:#fff;
    font-family:Georgia,serif;
    font-size:30px;
    font-weight:400;
}

.rbp-v3-data-grid{
    border-top:1px solid rgba(200,146,46,.28);
}

.rbp-v3-data-row{
    display:grid;
    grid-template-columns:125px 1fr;
    gap:15px;
    padding:10px 0;
    border-bottom:1px solid rgba(255,255,255,.07);
}

.rbp-v3-data-row span,
.rbp-v3-genetique span{
    color:#a77a2b;
    font-size:9px;
    font-weight:800;
    letter-spacing:.12em;
}

.rbp-v3-data-row strong{
    color:#eee;
    font-size:13px;
    font-weight:500;
}

.rbp-v3-genetique{
    margin-top:15px;
    padding:15px;
    border-left:2px solid #b98528;
    background:rgba(255,255,255,.025);
}

.rbp-v3-genetique p{
    margin:6px 0 0;
    color:#cfcfcf;
    font-size:12px;
    line-height:1.6;
}

.rbp-v3-scc{
    display:inline-flex;
    margin-top:16px;
    color:#d5a546;
    font-size:11px;
    font-weight:700;
    text-decoration:none;
    border-bottom:1px solid rgba(213,165,70,.45);
}

.rbp-v3-section{
    margin-top:46px;
    padding-top:35px;
    border-top:1px solid rgba(200,146,46,.25);
}

.rbp-v3-section-title{
    margin-bottom:25px;
    text-align:center;
}

.rbp-v3-section-title span{
    color:#a77a2b;
    font-size:10px;
    font-weight:800;
    letter-spacing:.22em;
}

.rbp-v3-section-title h3{
    margin:5px 0 0;
    color:#fff;
    font-family:Georgia,serif;
    font-size:30px;
    font-weight:400;
}

.rbp-v3-dates,
.rbp-v3-stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
}

.rbp-v3-dates>div,
.rbp-v3-stats>div{
    padding:16px;
    text-align:center;
    border:1px solid rgba(200,146,46,.28);
    background:rgba(255,255,255,.025);
}

.rbp-v3-dates span,
.rbp-v3-stats span{
    display:block;
    margin-bottom:5px;
    color:#9d762d;
    font-size:9px;
    font-weight:800;
    letter-spacing:.12em;
}

.rbp-v3-dates strong,
.rbp-v3-stats strong{
    color:#fff;
    font-size:13px;
}

.rbp-v3-text{
    margin-top:18px;
    padding:20px 22px;
    border-left:2px solid #b98528;
    background:rgba(255,255,255,.025);
}

.rbp-v3-text h4{
    margin:0 0 8px;
    color:#d4a345;
    font-family:Georgia,serif;
    font-size:18px;
}

.rbp-v3-text p{
    margin:0;
    color:#d0d0d0;
    line-height:1.7;
}

.rbp-v3-gallery{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
    margin-top:22px;
}

.rbp-v3-gallery img{
    width:100%;
    aspect-ratio:1;
    object-fit:cover;
    border-radius:8px;
    border:1px solid rgba(200,146,46,.3);
}

.rbp-v3-footer{
    margin-top:40px;
    text-align:center;
}

.rbp-v3-contact{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    min-height:50px;
    padding:0 30px;
    border:1px solid #c8922e;
    border-radius:4px;
    color:#080808;
    background:linear-gradient(110deg,#8c5b13,#e7bd61,#fff0a5,#bd8425,#f0ca72);
    background-size:220% 100%;
    box-shadow:0 0 20px rgba(200,146,46,.25);
    font-size:11px;
    font-weight:900;
    letter-spacing:.1em;
    text-decoration:none;
}

@media(max-width:760px){
    .rbp-v3-shell{padding:42px 18px 28px}
    .rbp-v3-parents{grid-template-columns:1fr}
    .rbp-v3-cross{padding:0;text-align:center}
    .rbp-v3-photo{height:240px}
    .rbp-v3-dates,.rbp-v3-stats{grid-template-columns:repeat(2,1fr)}
    .rbp-v3-gallery{grid-template-columns:repeat(2,1fr)}
    .rbp-v3-data-row{grid-template-columns:105px 1fr}
}

/* RBP — SIMULATION GENETIQUE V3 */
#rbp-v3-genetic-simulation{
    position:relative;
    overflow:hidden;
}

#rbp-v3-genetic-results{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-top:22px;
}

#rbp-v3-genetic-results .rbp-v3-text{
    margin:0;
    padding:18px 20px;
    background:linear-gradient(145deg,#111 0%,#080808 100%);
    border:1px solid rgba(200,146,46,.55);
    box-shadow:
        inset 0 1px 0 rgba(255,220,140,.08),
        0 8px 25px rgba(0,0,0,.28);
}

#rbp-v3-genetic-results .rbp-v3-text h4{
    margin:0 0 9px;
    color:#d9a640;
    font-size:12px;
    letter-spacing:1.5px;
    text-transform:uppercase;
}

#rbp-v3-genetic-results .rbp-v3-text p{
    margin:0;
    color:#ddd;
    font-size:14px;
    line-height:1.6;
}

#rbp-v3-genetic-results .rbp-v3-text p strong{
    display:block;
    margin-bottom:3px;
    color:#fff;
    font-family:Georgia,serif;
    font-size:18px;
    font-weight:600;
}

@media(max-width:700px){
    #rbp-v3-genetic-results{
        grid-template-columns:1fr;
    }
}
