.theme-aqiqa-tahara-nuage-bleu {
  --fpi-bg:#f9fbfd;
  --fpi-bg-soft:#edf6fc;
  --fpi-ink:#244d70;
  --fpi-muted:#607b91;
  --fpi-accent:#6eaed9;
  --fpi-accent-soft:#e9f5fc;
  --fpi-line:rgba(83,145,188,.3);
  background:#f9fbfd url('/faire-part/themes/theme-aqiqa-tahara-nuage-bleu/assets/fond-page.webp?v=2') center center/100% auto repeat-y;
  color:var(--fpi-ink);
}

html[data-design="theme-aqiqa-tahara-nuage-bleu"] {
  overflow-x:hidden;
}

.theme-aqiqa-tahara-nuage-bleu .fpi-floating-bar {
  border-color:rgba(71,130,170,.22);
  background:rgba(250,253,255,.86);
}

.theme-aqiqa-tahara-nuage-bleu .fpi-invitation {
  max-width:none;
  background:transparent;
}

.fpi-nuage-details {
  overflow-x:hidden;
  overflow-x:clip;
}

.fpi-gate-video[data-fpi-scene="theme-aqiqa-tahara-nuage-bleu"] {
  overflow:hidden;
  background:#fff;
}

.fpi-gate-video[data-fpi-scene="theme-aqiqa-tahara-nuage-bleu"] .fpi-video-handoff {
  object-fit:contain;
  object-position:50% 50%;
  filter:none;
}

.fpi-gate-video[data-fpi-scene="theme-aqiqa-tahara-nuage-bleu"] video {
  object-fit:contain;
  object-position:50% 50%;
  max-width:none;
  margin:0;
  background:#fff;
  transform:none;
  transform-origin:50% 50%;
  transition:transform 1000ms cubic-bezier(.42,0,.2,1);
}

.fpi-gate-video[data-fpi-scene="theme-aqiqa-tahara-nuage-bleu"].is-ending video {
  transform:none;
}

.fpi-nuage-section {
  position:relative;
  isolation:isolate;
  display:grid;
  min-height:min(940px,100svh);
  place-items:center;
  padding:clamp(5.5rem,12vw,9rem) clamp(1.25rem,6vw,5rem);
  overflow:hidden;
  background:#f9fbfd url('/faire-part/themes/theme-aqiqa-tahara-nuage-bleu/assets/fond-page.webp?v=2') center center/cover no-repeat;
  text-align:center;
}

.fpi-nuage-section.fpi-nuage-with-separator {
  overflow:visible;
}

.fpi-nuage-section::before {
  position:absolute;
  z-index:-1;
  inset:6% 8%;
  border:1px solid rgba(83,145,188,.18);
  border-radius:48% 52% 44% 56% / 55% 43% 57% 45%;
  content:"";
  pointer-events:none;
}

.fpi-nuage-hero { padding-top:clamp(6rem,13vw,10rem); }

.fpi-nuage-bismillah {
  display:block;
  width:min(340px,64vw);
  height:auto;
  margin:0 auto clamp(1.5rem,4vw,3rem);
  image-rendering:auto;
}

.fpi-nuage-balloon {
  display:block;
  width:min(470px,76vw);
  max-height:48vh;
  margin:0 auto -1rem;
  object-fit:contain;
  filter:drop-shadow(0 24px 25px rgba(58,102,132,.16));
  animation:fpi-nuage-float 5.6s ease-in-out infinite;
}

.theme-aqiqa-tahara-nuage-bleu .fpi-nuage-floating-balloon {
  position:fixed;
  z-index:8;
  top:max(clamp(58px,12svh,128px),env(safe-area-inset-top));
  right:max(12px,6vw,env(safe-area-inset-right));
  display:block;
  width:clamp(104px,26vw,374px);
  max-height:34svh;
  margin:0;
  object-fit:contain;
  filter:drop-shadow(0 14px 20px rgba(58,102,132,.16));
  opacity:.94;
  pointer-events:none;
  user-select:none;
  transform-origin:50% 82%;
  animation:fpi-nuage-sway 5.8s ease-in-out infinite;
  will-change:transform;
}

.fpi-nuage-kicker {
  margin:0 0 .8rem;
  color:#6e97b4;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.24em;
  text-transform:uppercase;
}

.fpi-nuage-title {
  margin:0;
  color:#3979a7;
  font-family:"FP Great Vibes","Brush Script MT",cursive;
  font-size:clamp(3rem,7vw,5.25rem);
  font-weight:400;
  font-synthesis:none;
  line-height:1.08;
  letter-spacing:0;
  text-transform:none;
  font-kerning:normal;
  font-variant-ligatures:common-ligatures contextual;
  text-shadow:0 10px 28px rgba(67,126,166,.12);
}

.fpi-nuage-title-label,
.fpi-nuage-title-name {
  display:block;
  font-size:.76em;
  line-height:1;
}
.fpi-nuage-title-name {
  max-width:calc(100vw - 2.3rem);
  margin:.04em auto 0;
  white-space:nowrap;
}

body[data-fpd-demo] .theme-aqiqa-tahara-nuage-bleu .fpi-nuage-title {
  text-transform:none;
}

body[data-fpd-demo] .fpd-stage[data-design="theme-aqiqa-tahara-nuage-bleu"] .fpi-nuage-hero {
  padding-inline:0;
}

body[data-fpd-demo] .fpd-stage[data-design="theme-aqiqa-tahara-nuage-bleu"] .fpi-nuage-hero > div {
  width:min(520px,86%);
}

body[data-fpd-demo] .theme-aqiqa-tahara-nuage-bleu .fpi-nuage-title-label,
body[data-fpd-demo] .theme-aqiqa-tahara-nuage-bleu .fpi-nuage-title-name {
  margin-top:0;
  font-size:.76em;
  line-height:1;
  letter-spacing:0;
}

body[data-fpd-demo] .theme-aqiqa-tahara-nuage-bleu .fpi-nuage-title-name {
  margin:.04em auto 0;
}

.theme-aqiqa-tahara-nuage-bleu .fpi-nuage-child {
  margin:clamp(1rem,3vw,1.8rem) 0 0;
  color:#3979a7;
  font-family:"FP Great Vibes","Brush Script MT",cursive;
  font-size:clamp(3.4rem,8.4vw,5rem);
  font-weight:400;
  font-synthesis:none;
  line-height:1.05;
  letter-spacing:0;
  text-transform:none;
  font-kerning:normal;
  font-variant-ligatures:common-ligatures contextual;
  -webkit-text-stroke:0;
  text-shadow:0 9px 28px rgba(67,126,166,.12);
}

.fpi-nuage-copy {
  width:min(680px,100%);
  margin:0 auto;
}

.fpi-nuage-copy h2,
.fpi-nuage-moments h2,
.fpi-nuage-venue h2 {
  margin:0 0 1.4rem;
  color:#3979a7;
  font-family:"FP Cormorant Garamond","Times New Roman",serif;
  font-size:clamp(2.7rem,9vw,5.8rem);
  line-height:.94;
}

.fpi-nuage-copy p,
.fpi-nuage-venue p {
  margin:.65rem auto;
  color:#526f84;
  font-size:clamp(1rem,2.4vw,1.25rem);
  line-height:1.8;
}

.fpi-nuage-invitation .fpi-nuage-copy { width:min(760px,100%); }
.fpi-nuage-invitation [data-fpi-ceremony-paragraph] { margin:0 auto 1.35rem; font-size:clamp(.8rem,1.92vw,1rem); font-weight:600; white-space:pre-line; text-transform:uppercase; }
.fpi-nuage-invitation [data-fpi-ceremony-paragraph="0"] { color:#3979a7; font-weight:700; }
.fpi-nuage-dropcap {
  color:#3979a7;
  font-family:"FP Cormorant Garamond","Times New Roman",serif;
  font-size:1.22em;
  font-weight:600;
  line-height:0;
}

.fpi-nuage-parents { font-weight:700; }

.fpi-nuage-separator {
  position:relative;
  z-index:4;
  width:100%;
  height:0;
  margin:0;
  overflow:visible;
  pointer-events:none;
  transform:none;
}

.fpi-nuage-separator img {
  position:absolute;
  left:50%;
  top:0;
  display:block;
  width:calc(100% + 4rem);
  height:clamp(92px,15vw,190px);
  object-fit:cover;
  transform:translate(-50%,-50%) rotate(-1.15deg) scale(1.04);
  filter:drop-shadow(0 12px 16px rgba(45,89,122,.16));
}

.fpi-nuage-moments-grid {
  display:grid;
  width:min(860px,100%);
  grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));
  gap:1.25rem;
}

.fpi-nuage-when .fpi-nuage-moments-grid,
.fpi-nuage-place .fpi-nuage-moments-grid {
  width:min(620px,100%);
  grid-template-columns:minmax(0,1fr);
}

.fpi-nuage-when {
  min-height:min(940px,100svh);
  padding-block:clamp(2.25rem,6vw,4.5rem);
}

.fpi-nuage-when-content {
  display:grid;
  width:min(820px,100%);
  gap:clamp(1.25rem,3vw,2.25rem);
}

.fpi-nuage-when .fpi-nuage-moments-grid { margin:0 auto; }
.fpi-nuage-when .fpi-nuage-moment { padding:clamp(1.2rem,3vw,2rem); }

.fpi-nuage-when .fpi-nuage-moment time {
  color:#3979a7;
  font-family:"FP Cormorant Garamond","Times New Roman",serif;
  font-size:clamp(.82rem,4.25vw,3.15rem);
  font-weight:600;
  line-height:1.05;
  text-transform:uppercase;
  white-space:nowrap;
}

.fpi-nuage-when .fpi-nuage-moment p {
  margin-top:.85rem;
  color:#3979a7;
  font-size:clamp(1.2rem,3vw,1.65rem);
  font-weight:700;
  letter-spacing:.08em;
}

.fpi-nuage-countdown { width:100%; margin:0 auto; }
.fpi-nuage-countdown > .fpi-nuage-kicker { margin-bottom:clamp(.85rem,2vw,1.5rem); }
.fpi-nuage-countdown h2,
.fpi-nuage-contact h2 {
  margin:0 0 2rem;
  color:#3979a7;
  font-family:"FP Cormorant Garamond","Times New Roman",serif;
  font-size:clamp(2.7rem,9vw,5.4rem);
  font-weight:500;
  line-height:.94;
}

.fpi-nuage-countdown-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(.45rem,2vw,1rem);
}

.fpi-nuage-countdown-grid span {
  display:flex;
  min-width:0;
  padding:clamp(1rem,3vw,1.8rem) .35rem;
  border:1px solid rgba(88,150,191,.28);
  border-radius:22px;
  flex-direction:column;
  background:rgba(255,255,255,.76);
  box-shadow:0 18px 45px rgba(65,119,156,.1);
}

.fpi-nuage-countdown-grid strong { color:#3979a7; font-family:"FP Cormorant Garamond","Times New Roman",serif; font-size:clamp(2rem,7vw,4.7rem); font-weight:500; line-height:1; }
.fpi-nuage-countdown-grid small { margin-top:.55rem; color:#6d96b2; font-size:.62rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.fpi-nuage-invocations { min-height:min(580px,66svh); }
.fpi-nuage-invocations .fpi-nuage-copy p { color:#3979a7; font-family:"FP Cormorant Garamond","Times New Roman",serif; font-size:clamp(1.12rem,3.36vw,2.128rem); font-weight:600; line-height:1.16; }
.fpi-nuage-invocation-text { letter-spacing:.025em; text-transform:uppercase; }

.theme-aqiqa-tahara-nuage-bleu .fpi-response { background:rgba(237,246,252,.84); }
.fpi-nuage-rsvp-intro {
  margin:0;
  padding:clamp(4rem,9vw,7rem) 1.2rem clamp(1.5rem,4vw,3rem);
  color:#3979a7;
  background:rgba(237,246,252,.84);
  font-family:"FP Cormorant Garamond","Times New Roman",serif;
  font-size:clamp(2rem,6vw,4rem);
  line-height:1.08;
  text-align:center;
}
.fpi-nuage-contact {
  position:relative;
  z-index:1;
  display:grid;
  min-height:min(650px,76svh);
  place-items:center;
  padding:clamp(5rem,11vw,8rem) clamp(1.2rem,6vw,5rem);
  background:#f9fbfd url('/faire-part/themes/theme-aqiqa-tahara-nuage-bleu/assets/fond-page.webp?v=2') center center/cover no-repeat;
  text-align:center;
}

.fpi-nuage-contact-label {
  display:block;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  margin:0 auto 2rem;
  color:#6e97b4;
  font-size:clamp(.54rem,1.7vw,.72rem);
  font-weight:800;
  letter-spacing:clamp(.08em,.45vw,.2em);
  line-height:1.35;
  overflow:visible;
  text-align:center;
  text-transform:uppercase;
  white-space:nowrap;
}

.fpi-nuage-contact-cards { display:flex; flex-wrap:wrap; justify-content:center; gap:1rem; }
.fpi-nuage-contact-card {
  display:flex;
  min-width:min(300px,100%);
  min-height:92px;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:1.2rem 1.5rem;
  border:1px solid rgba(88,150,191,.3);
  border-radius:24px;
  color:#3979a7;
  background:rgba(255,255,255,.78);
  box-shadow:0 18px 45px rgba(65,119,156,.1);
  text-decoration:none;
}
.fpi-nuage-contact-card strong { font-family:"FP Cormorant Garamond","Times New Roman",serif; font-size:1.55rem; }
.fpi-nuage-contact-card span { color:#526f84; font-size:.92rem; font-weight:600; }
.fpi-nuage-contact-card .fpi-nuage-contact-separator { color:#6e97b4; }

.theme-aqiqa-tahara-nuage-bleu .fpi-nuage-media {
  border-top:1px solid rgba(83,145,188,.22);
  background:rgba(249,251,253,.64);
}

.theme-aqiqa-tahara-nuage-bleu .fpi-nuage-media-text {
  width:min(760px,100%);
  margin:0 auto clamp(1.5rem,4vw,2.5rem);
  color:#3979a7;
  font-family:"FP Cormorant Garamond","Times New Roman",serif;
  font-size:clamp(1.45rem,4vw,2.45rem);
  font-weight:600;
  line-height:1.3;
  text-align:center;
}

.theme-aqiqa-tahara-nuage-bleu .fpi-nuage-media-text--gallery {
  margin-top:clamp(4.5rem,10vw,7rem);
}

.theme-aqiqa-tahara-nuage-bleu .fpi-nuage-media .fpi-clip-layout {
  width:min(900px,100%);
  grid-template-columns:minmax(0,1fr);
  margin-right:auto;
  margin-left:auto;
}

.theme-aqiqa-tahara-nuage-bleu .fpi-nuage-media-text--video {
  margin-bottom:0;
  letter-spacing:.035em;
  text-transform:uppercase;
}

.fpi-nuage-moment {
  padding:clamp(1.8rem,5vw,3rem);
  border:1px solid rgba(88,150,191,.28);
  border-radius:30px;
  background:rgba(255,255,255,.72);
  box-shadow:0 22px 55px rgba(65,119,156,.12);
  backdrop-filter:blur(7px);
}

.fpi-nuage-moment small {
  color:#6d96b2;
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.19em;
  text-transform:uppercase;
}

.fpi-nuage-moment h2 {
  margin:.7rem 0;
  color:#3979a7;
  font-family:"FP Cormorant Garamond","Times New Roman",serif;
  font-size:clamp(2.3rem,7vw,4rem);
}

.fpi-nuage-place [data-fpi-ceremony-venue] {
  max-width:100%;
  font-size:clamp(1.38rem,4.2vw,2.4rem);
  white-space:nowrap;
}

.fpi-nuage-moment time,
.fpi-nuage-moment p {
  display:block;
  margin:.35rem 0;
  color:#536f84;
  font-size:1rem;
  font-weight:600;
}

.fpi-nuage-map-links {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.65rem;
  margin-top:1.5rem;
}

.fpi-nuage-map-links a {
  min-height:44px;
  padding:.78rem 1rem;
  border:1px solid rgba(57,121,167,.28);
  border-radius:999px;
  color:#3979a7;
  background:rgba(255,255,255,.78);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-decoration:none;
  text-transform:uppercase;
}

.fpi-nuage-place [data-fpi-ceremony-venue],
.fpi-nuage-place [data-fpi-ceremony-address] { text-transform:uppercase; }

@keyframes fpi-nuage-float {
  0%,100% { transform:translateY(0) rotate(-.45deg); }
  50% { transform:translateY(-10px) rotate(.55deg); }
}

@keyframes fpi-nuage-sway {
  0%,100% { transform:translateY(0) rotate(-1.1deg); }
  50% { transform:translateY(-4px) rotate(1.1deg); }
}

/* La vidéo reste entière sur ordinateur ; seul son letterboxing latéral est bleu. */
@media (min-width:761px) {
  .fpi-gate-video[data-fpi-scene="theme-aqiqa-tahara-nuage-bleu"],
  .fpi-gate-video[data-fpi-scene="theme-aqiqa-tahara-nuage-bleu"] video {
    background:#d9edf8;
  }
}

@media (max-width:760px) {
  .fpi-nuage-section { min-height:88svh; padding-inline:1.15rem; }
  .fpi-nuage-when { min-height:88svh; padding-block:clamp(1.35rem,4svh,2.4rem); }
  .fpi-nuage-when-content { gap:clamp(.85rem,2.6svh,1.35rem); }
  .fpi-nuage-when .fpi-nuage-moment { padding:clamp(.9rem,3vw,1.25rem); }
  .fpi-nuage-when .fpi-nuage-moment p { margin-top:.45rem; }
  .fpi-nuage-countdown > .fpi-nuage-kicker { margin-bottom:.8rem; }
  .fpi-nuage-balloon { width:min(390px,88vw); max-height:43vh; }
  .theme-aqiqa-tahara-nuage-bleu .fpi-nuage-floating-balloon {
    width:clamp(96px,26vw,116px);
    max-height:28svh;
  }
  .fpi-nuage-separator img { width:calc(100% + 2rem); }
  .fpi-nuage-countdown-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(.18rem,1.4vw,.45rem); }
  .fpi-nuage-countdown-grid span { padding:clamp(.75rem,3vw,1rem) .1rem; border-radius:16px; }
  .fpi-nuage-countdown-grid strong { font-size:clamp(1.35rem,6.4vw,2rem); }
  .fpi-nuage-countdown-grid small { font-size:clamp(.46rem,1.85vw,.62rem); letter-spacing:.06em; white-space:nowrap; }
  .fpi-nuage-contact .fpi-nuage-copy { width:100%; min-width:0; }
  .fpi-nuage-contact-label {
    margin-right:auto;
    margin-left:auto;
    font-size:clamp(.48rem,2.25vw,.66rem);
    letter-spacing:clamp(.025em,.35vw,.08em);
  }
  .fpi-nuage-contact-card { min-width:100%; flex-direction:column; }
  .fpi-gate-video[data-fpi-scene="theme-aqiqa-tahara-nuage-bleu"] video { object-fit:contain; }
}

@media (prefers-reduced-motion:reduce) {
  .fpi-nuage-balloon { animation:none; }
  .theme-aqiqa-tahara-nuage-bleu .fpi-nuage-floating-balloon {
    animation:none;
    transform:none;
    will-change:auto;
  }
  .fpi-gate-video[data-fpi-scene="theme-aqiqa-tahara-nuage-bleu"] video {
    transition:none;
  }
  .fpi-gate-video[data-fpi-scene="theme-aqiqa-tahara-nuage-bleu"].is-ending video {
    transform:none;
  }
}
