
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:76px;}
html.no-smooth,html.no-smooth *{scroll-behavior:auto !important;}
body{font-family:'DM Sans',sans-serif;background:#F7FBFC;color:#1A2B2C;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;}
button{font-family:inherit;cursor:pointer;}
a{text-decoration:none;color:inherit;}
img{display:block;max-width:100%;}
:focus-visible{outline:2.5px solid #4BC8D4;outline-offset:3px;border-radius:8px;}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}
}
:root{
  --teal:#4BC8D4;--teal-dk:#2BA8B4;--teal-lt:#E6F9FA;--dark:#1A2B2C;--mid:#4A6366;--soft:#6B8E90;--pale:#8AACAE;
  --ghost:#B0D0D3;--border:#D4EEF0;--bg:#F7FBFC;--white:#fff;--serif:'Cormorant Garamond',Georgia,serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --sh-sm:0 1px 2px rgba(20,60,64,.04),0 2px 6px rgba(20,60,64,.05);
  --sh-md:0 2px 4px rgba(20,60,64,.04),0 8px 24px rgba(20,60,64,.07);
  --sh-lg:0 4px 8px rgba(20,60,64,.05),0 18px 48px rgba(20,60,64,.10);
  --sh-teal:0 8px 28px rgba(75,200,212,.30);
}
::selection{background:rgba(75,200,212,.28);color:var(--dark);}
@media(min-width:769px){
  *{scrollbar-width:thin;scrollbar-color:var(--ghost) transparent;}
  *::-webkit-scrollbar{width:10px;height:10px;}
  *::-webkit-scrollbar-thumb{background:var(--ghost);border-radius:10px;border:2px solid var(--bg);}
}

/* ── ANIMATIONS ── */
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes floatSlow{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-14px) rotate(2deg)}}
@keyframes pulseDot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.in-view{opacity:1;transform:translateY(0);}
.reveal-stagger:not(.in-view) .stagger-item{opacity:0;}
.reveal-stagger.in-view .stagger-item{animation:fadeInUp .6s var(--ease) both;}
.reveal-stagger.in-view .stagger-item:nth-child(1){animation-delay:.04s;}
.reveal-stagger.in-view .stagger-item:nth-child(2){animation-delay:.09s;}
.reveal-stagger.in-view .stagger-item:nth-child(3){animation-delay:.14s;}
.reveal-stagger.in-view .stagger-item:nth-child(4){animation-delay:.19s;}
.reveal-stagger.in-view .stagger-item:nth-child(5){animation-delay:.24s;}
.reveal-stagger.in-view .stagger-item:nth-child(6){animation-delay:.29s;}

/* ── NAVBAR (identique au site principal) ── */
#galerie,#videos,#disponibilites,#devis{scroll-margin-top:130px;}
.nav-logo-name .teal{color:var(--teal);}

/* ── HERO PAGE 2 ── */
#dg-hero{position:relative;padding:128px 24px 64px;text-align:center;overflow:hidden;background:linear-gradient(180deg,#0F2027 0%,#163A3F 55%,#0F2A2F 100%);}
.dg-hero-orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(10px);}
.dg-orb-1{width:380px;height:380px;background:radial-gradient(circle at 30% 30%,rgba(75,200,212,.30),transparent 70%);top:-140px;right:-100px;animation:floatSlow 9s ease-in-out infinite;}
.dg-orb-2{width:200px;height:200px;background:radial-gradient(circle at 35% 35%,rgba(126,230,240,.28),transparent 70%);bottom:-60px;left:-60px;animation:floatSlow 11s ease-in-out infinite reverse;}
.dg-orb-3{width:90px;height:90px;border:2px solid rgba(75,200,212,.3);top:60%;right:12%;animation:floatSlow 7s ease-in-out infinite;}

.dg-hero-tag::before{content:'';width:18px;height:18px;border-radius:50%;background:#4BC8D4;flex-shrink:0;animation:pulseDot 2s infinite;}

.dg-hero-title em{color:#7EE6F0;font-style:italic;}



/* ── SECTION ANCHORS / TABS ── */
.dg-jumpbar{position:sticky;top:64px;z-index:40;background:rgba(247,251,252,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:14px 24px;display:flex;justify-content:center;gap:10px;}
.dg-jump-btn:hover{border-color:var(--teal);color:var(--teal-dk);}
.dg-jump-btn.active{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:0 4px 14px rgba(75,200,212,.3);}

.section-tag::before{content:'';width:18px;height:18px;border-radius:50%;background:var(--teal);flex-shrink:0;}

/* ── GALLERY ── */
.gal-filters{max-width:1200px;margin:0 auto 36px;padding:0 24px;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.filter-btn{padding:10px 22px;border-radius:24px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;background:#fff;color:var(--soft);border:1.5px solid var(--border);transition:all .3s var(--ease);cursor:pointer;font-family:inherit;}
.filter-btn:hover{border-color:var(--teal);color:var(--teal-dk);transform:translateY(-2px);}
.filter-btn.active{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:0 6px 18px rgba(75,200,212,.32);}
.filter-count{opacity:.65;font-size:11px;margin-left:5px;}

#gallery-content{max-width:1200px;margin:0 auto;padding:0 24px;}
.gal-accordion{background:#fff;border-radius:20px;border:1px solid var(--border);margin-bottom:14px;overflow:hidden;box-shadow:var(--sh-sm);transition:box-shadow .35s var(--ease),transform .35s var(--ease);}
.gal-accordion:hover{box-shadow:var(--sh-md);}
.gal-acc-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;transition:background .2s;}
.gal-acc-header:hover{background:rgba(75,200,212,.04);}
.gal-acc-header.open{background:linear-gradient(135deg,rgba(75,200,212,.07),transparent);}
.gal-acc-title{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--dark);}
.gal-acc-count{font-size:12px;color:var(--pale);background:var(--bg);padding:3px 11px;border-radius:10px;border:1px solid var(--border);}
.gal-acc-hint{font-size:12px;color:var(--teal-dk);font-weight:700;letter-spacing:.05em;}
.gal-acc-chevron{font-size:12px;color:var(--pale);transition:transform .35s var(--ease);}
.gal-acc-body{max-height:0;overflow:hidden;transition:max-height .55s cubic-bezier(.4,0,.2,1);}
.gal-acc-body.open{max-height:5000px;}
.gal-acc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;padding:6px 24px 26px;}
@media(max-width:600px){.gal-acc-grid{grid-template-columns:repeat(2,1fr);padding:6px 16px 20px;gap:10px;}}

.photo-card{position:relative;aspect-ratio:1;border-radius:18px;overflow:hidden;cursor:pointer;background:#E8F5F6;box-shadow:var(--sh-sm);transition:transform .45s var(--ease),box-shadow .45s var(--ease);}
.photo-card:hover{transform:translateY(-6px) scale(1.015);box-shadow:var(--sh-lg);}
.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.photo-card:hover img{transform:scale(1.1);}
.photo-overlay{position:absolute;inset:0;opacity:0;transition:opacity .35s var(--ease);background:linear-gradient(to top,rgba(10,30,32,.86) 0%,transparent 58%);display:flex;flex-direction:column;justify-content:flex-end;padding:14px;}
.photo-card:hover .photo-overlay{opacity:1;}
.photo-name{color:#fff;font-size:12px;font-weight:600;line-height:1.3;}
.photo-cat-badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:8px;color:#fff;width:fit-content;margin-top:6px;}
.photo-zoom{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.35);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s,transform .3s;font-size:13px;}
.photo-card:hover .photo-zoom{opacity:1;}

/* ===== GALERIE V2 — chips colorées + mosaïque ===== */
.gal2-chip{position:relative;display:inline-flex;align-items:center;gap:9px;padding:11px 20px 11px 16px;border-radius:30px;font-size:12.5px;font-weight:700;letter-spacing:.02em;cursor:pointer;font-family:inherit;border:1.5px solid var(--chip-c,var(--border));background:var(--chip-bg,#fff);color:var(--chip-c,var(--soft));transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s,color .3s;}
.gal2-chip-ic{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;background:var(--chip-c,var(--teal));flex-shrink:0;transition:background .3s;}
.gal2-chip-count{font-size:10.5px;font-weight:800;opacity:.6;margin-left:2px;}
.gal2-chip:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.08);}
.gal2-chip.active{background:var(--chip-c,var(--teal));color:#fff;border-color:transparent;box-shadow:0 10px 26px var(--chip-shadow,rgba(75,200,212,.35));}
.gal2-chip.active .gal2-chip-ic{background:rgba(255,255,255,.28);}
.gal2-chip.active .gal2-chip-count{opacity:.85;}

.gal2-count-bar strong{color:var(--dark);font-weight:700;}

.gal2-grid{max-width:1200px;margin:0 auto;padding:0 24px 10px;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:170px;gap:14px;}
.gal2-grid .gal2-card:nth-child(5n+1){grid-row:span 2;grid-column:span 2;}
.gal2-grid .gal2-card:nth-child(9n+4){grid-column:span 2;}
@media(max-width:900px){
  .gal2-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:130px;}
  .gal2-grid .gal2-card:nth-child(5n+1){grid-column:span 2;}
}
@media(max-width:600px){
  .gal2-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:140px;gap:10px;padding:0 16px 8px;}
  .gal2-grid .gal2-card:nth-child(5n+1){grid-row:span 1;grid-column:span 2;}
  .gal2-grid .gal2-card:nth-child(9n+4){grid-column:span 1;}
}
.gal2-card{position:relative;border-radius:20px;overflow:hidden;cursor:pointer;background:#E8F5F6;box-shadow:0 4px 16px rgba(20,50,55,.08);transition:transform .45s var(--ease),box-shadow .45s var(--ease);opacity:0;transform:translateY(18px) scale(.97);}
.gal2-card.in-view{opacity:1;transform:translateY(0) scale(1);transition:opacity .55s var(--ease),transform .55s var(--ease);}
.gal2-card:hover{transform:translateY(-5px) scale(1.01);box-shadow:0 16px 36px rgba(20,50,55,.18);z-index:2;}
.gal2-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.gal2-card:hover img{transform:scale(1.08);}
.gal2-card-overlay{position:absolute;inset:0;opacity:0;transition:opacity .35s var(--ease);background:linear-gradient(to top,var(--ov-c,rgba(10,30,32,.82)) 0%,transparent 62%);display:flex;flex-direction:column;justify-content:flex-end;padding:14px;}
.gal2-card:hover .gal2-card-overlay{opacity:1;}
.gal2-card-name{color:#fff;font-size:12px;font-weight:600;line-height:1.3;text-shadow:0 1px 4px rgba(0,0,0,.3);}
.gal2-card-badge{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800;letter-spacing:.03em;padding:5px 11px 5px 7px;border-radius:20px;color:#fff;backdrop-filter:blur(6px);box-shadow:0 4px 12px rgba(0,0,0,.18);}
.gal2-card-badge-ic{width:16px;height:16px;border-radius:50%;background:rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-size:9px;}
.gal2-card-zoom{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.7);transition:opacity .3s,transform .3s;font-size:13px;box-shadow:0 4px 12px rgba(0,0,0,.15);}
.gal2-card:hover .gal2-card-zoom{opacity:1;transform:scale(1);}
.gal2-card-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;font-size:20px;color:#1a3a3d;box-shadow:0 6px 20px rgba(0,0,0,.25);transition:transform .3s;pointer-events:none;}
.gal2-card:hover .gal2-card-play{transform:translate(-50%,-50%) scale(1.1);}
#video-lightbox{display:none;position:fixed;inset:0;z-index:300;background:rgba(5,18,20,.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);align-items:center;justify-content:center;padding:20px;}
#video-lightbox.active{display:flex;animation:fadeIn .3s ease;}
@media(max-width:600px){.gal2-card-name{font-size:10.5px;}.gal2-card-badge{font-size:9.5px;padding:4px 9px 4px 6px;}}

/* ── LIGHTBOX ── */
#lightbox{display:none;position:fixed;inset:0;z-index:300;background:rgba(5,18,20,.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);align-items:center;justify-content:center;padding:20px;}
#lightbox.active{display:flex;animation:fadeIn .3s ease;}

/* ── DEVIS / STEPPER ── */
.dv-progress{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:44px;}
.dv-pstep{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#fff;border:2px solid var(--border);font-size:13px;font-weight:700;color:var(--pale);transition:all .35s var(--ease);flex-shrink:0;}
.dv-pstep.active{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 4px 14px rgba(75,200,212,.35);transform:scale(1.1);}
.dv-pstep.done{background:var(--teal-lt);border-color:var(--teal);color:var(--teal-dk);}
.dv-pline{width:34px;height:2px;background:var(--border);transition:background .35s var(--ease);}
.dv-pline.done{background:var(--teal);}
.dv-step{display:none;animation:fadeInUp .5s var(--ease) both;}
.dv-step.active{display:block;}


.profile-btn.active{background:linear-gradient(135deg,var(--teal),var(--teal-dk));border-color:var(--teal);color:#fff;box-shadow:0 8px 20px rgba(75,200,212,.38);transform:translateY(-3px);}

.pack-choice-btn.active{border-color:var(--teal);background:linear-gradient(135deg,rgba(75,200,212,.12),rgba(75,200,212,.04));box-shadow:0 6px 18px rgba(75,200,212,.2);}

.service-tag-btn.active{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:0 6px 16px rgba(75,200,212,.32);}

.mode-radios label{position:relative;flex:1;min-width:170px;display:flex;align-items:center;cursor:pointer;font-size:13px;font-weight:600;color:var(--soft);background:#fff;border:1.5px solid var(--border);border-radius:15px;padding:15px 18px;transition:all .3s var(--ease);}
.mode-radios input{position:absolute;opacity:0;width:0;height:0;}
.mode-radios label:has(input:checked){border-color:var(--teal);background:rgba(75,200,212,.1);color:var(--teal-dk);box-shadow:var(--sh-md);}
.mode-radios label::before{content:'';width:18px;height:18px;border-radius:50%;border:2px solid var(--border);margin-right:11px;flex-shrink:0;transition:all .25s;}
.mode-radios label:has(input:checked)::before{border-color:var(--teal);background:var(--teal);box-shadow:inset 0 0 0 3px white;}

.dv-btn-back:disabled{opacity:0;pointer-events:none;}

.form-success{display:none;flex-direction:column;align-items:center;padding:56px 0;gap:18px;text-align:center;}
.form-success.show{display:flex;animation:fadeInUp .5s var(--ease);}
.form-success-icon{width:64px;height:64px;border-radius:50%;background:rgba(75,200,212,.15);font-size:30px;display:flex;align-items:center;justify-content:center;animation:floatSlow 3s ease-in-out infinite;}
.form-success-title{font-family:var(--serif);font-size:24px;color:var(--dark);font-weight:600;}
.form-success-text{font-size:13px;color:var(--soft);max-width:340px;line-height:1.7;}

/* ── DISPONIBILITÉS (calendrier) ── */
.cal-grid>*{min-width:0;}
.cal-day-label{text-align:center;font-size:11px;font-weight:700;color:var(--pale);text-transform:uppercase;}
.cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.cal-day{display:flex;align-items:center;justify-content:center;}
.cal-day-btn{width:32px;height:32px;border-radius:10px;border:1.5px solid transparent;background:transparent;font-size:13px;font-weight:600;color:var(--mid);position:relative;transition:all .25s var(--ease);}
.cal-day-btn:hover{background:rgba(75,200,212,.15);color:var(--teal-dk);transform:scale(1.08);}
.cal-day-btn.today{border-color:var(--teal);font-weight:800;color:var(--teal-dk);}
.cal-day-btn.full{background:#FEE2E2;color:#EF4444;cursor:not-allowed;}
.cal-day-btn.full:hover{transform:none;}
.cal-day-btn.partial{background:#FEF3C7;color:#B45309;}
.cal-dot{position:absolute;bottom:1px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:#D97706;}
.cal-empty{width:32px;height:32px;}
.cal-legend{background:var(--bg);border-radius:18px;border:1px solid var(--border);padding:24px 20px;}
.cal-legend-title{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--pale);margin-bottom:18px;}
.cal-legend-item{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;}
.cal-legend-num{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;}
.cal-msg{border-radius:16px;padding:18px;margin-top:16px;display:none;}
.cal-msg.active{display:block;animation:fadeInUp .3s var(--ease);}
.cal-msg.partial-msg{background:#FFFBEB;border:1px solid #FDE68A;}
.cal-msg.full-msg{background:#FEF2F2;border:1px solid #FECACA;}

.contact-link:hover{text-decoration:underline;}
.reassurance-item:hover{transform:translateY(-2px);box-shadow:var(--sh-sm);}

/* ── FOOTER ── */

/* ── BOTTOM BAR MOBILE ── */
@media(max-width:768px){
  #bottom-bar{padding-bottom:calc(8px + env(safe-area-inset-bottom));}
  .bbar-btn:active{transform:scale(.95);}
  .bbar-btn.primary{background:var(--teal);color:#fff;box-shadow:0 4px 14px rgba(75,200,212,.45);}
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom));}
}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .cal-grid{grid-template-columns:1fr;}
}
@media(max-width:768px){
  .dg-jumpbar{top:64px;gap:6px;padding:10px 12px;overflow-x:auto;justify-content:flex-start;-webkit-overflow-scrolling:touch;}
  .dg-jumpbar::-webkit-scrollbar{display:none;}
  .dg-hero-title{font-size:clamp(2rem,8vw,2.8rem);}
}
@media(max-width:480px){
  .gal-acc-grid{grid-template-columns:repeat(2,1fr);}
  .lb-prev-btn{left:6px;}
  .lb-next-btn{right:6px;}
}
@media(max-width:600px){
  body{font-size:15px;}
  .booking-input,.section-sub,.dv-step-sub,.form-note{font-size:14px !important;}
}
/* ═══════════ RAFFINEMENT VISUEL — couche finale épurée (cosmétique) ═══════════ */
/* Hero premium : base teal sombre + halo central doux + vignette subtile */
#dg-hero{
  background:
    radial-gradient(120% 90% at 50% -10%, rgba(75,200,212,.18) 0%, transparent 55%),
    radial-gradient(80% 60% at 85% 110%, rgba(43,168,180,.14) 0%, transparent 60%),
    linear-gradient(170deg, #0C1E22 0%, #11313A 50%, #0C2226 100%);
  padding:140px 24px 88px;
}
#dg-hero::after{content:'';position:absolute;inset:0;background:radial-gradient(130% 130% at 50% 0%,transparent 60%,rgba(7,20,22,.55) 100%);pointer-events:none;}

/* Profondeur subtile sur les boutons (reflet haut interne) */
.dg-btn-primary{box-shadow:var(--sh-teal),inset 0 1px 0 rgba(255,255,255,.25);}
.dg-btn-primary:hover{box-shadow:0 14px 36px rgba(75,200,212,.42),inset 0 1px 0 rgba(255,255,255,.3);}

/* Sections : plus d'air + fines séparations */
.section-pad-white{position:relative;}
.section-pad-white::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:64px;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,var(--teal),transparent);}

/* Cartes : bordures plus douces, rayons harmonisés */
.gal-accordion{border-radius:22px;border-color:#E4F4F5;}
.dv-card{border-radius:30px;border-color:#EAF6F7;}
.cal-card,.booking-contact-card,.cal-legend{border-color:#EAF6F7;}
.photo-card{border-radius:16px;}

/* Filtres & jump : plus nets, plus épurés */
.filter-btn,.dg-jump-btn{border-color:#E4F4F5;font-weight:600;}
.filter-btn.active{box-shadow:0 6px 20px rgba(75,200,212,.28);}
.dg-jumpbar{padding:16px 24px;border-bottom-color:#EAF6F7;}

/* Stepper : pastilles plus douces */
.dv-pstep{border-width:2px;}
.dv-progress{margin-bottom:52px;}

/* Mosaïque / images : ring discret pour la finition */
.dc-mosaic-item,.gal-accordion,.dv-card{outline:1px solid rgba(75,200,212,.04);outline-offset:0;}

@media(max-width:768px){
  #dg-hero{padding:116px 20px 64px;}
}
/* ═══════════ FIN RAFFINEMENT VISUEL ═══════════ */

/* ═══════════ FEEDBACK FORMULAIRE (gros message clair) ═══════════ */
.form-result-icon{width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:44px;font-weight:700;color:#fff;margin:0 auto;animation:popIn .5s var(--ease) both;}
.form-result-ok .form-result-icon{background:linear-gradient(135deg,#4BC8D4,#2BA8B4);box-shadow:0 12px 32px rgba(75,200,212,.45);}
.form-result-err .form-result-icon{background:linear-gradient(135deg,#F87171,#DC2626);box-shadow:0 12px 32px rgba(220,38,38,.4);}
.form-result-title{font-family:var(--serif);font-size:clamp(1.9rem,5vw,2.6rem);font-weight:700;line-height:1.1;}
.form-result-ok .form-result-title{color:#1A2B2C;}
.form-result-err .form-result-title{color:#B91C1C;}
.form-result-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 30px;border-radius:30px;font-size:13px;font-weight:700;letter-spacing:.04em;transition:all .3s var(--ease);border:none;cursor:pointer;}
.form-result-btn.ok{background:rgba(75,200,212,.12);color:var(--teal-dk);border:1.5px solid var(--teal);}
.form-result-btn.ok:hover{background:var(--teal);color:#fff;transform:translateY(-2px);box-shadow:var(--sh-teal);}
.form-result-btn.err{background:linear-gradient(135deg,#F87171,#DC2626);color:#fff;box-shadow:0 8px 22px rgba(220,38,38,.32);}
.form-result-btn.err:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(220,38,38,.42);}
.form-result-btn.call{background:#fff;color:var(--teal-dk);border:1.5px solid var(--teal);}
.form-result-btn.call:hover{background:var(--teal-lt);transform:translateY(-2px);}
@keyframes popIn{0%{opacity:0;transform:scale(.4)}60%{transform:scale(1.12)}100%{opacity:1;transform:scale(1)}}

/* ═══════════ EFFET WAOUH — animations page Devis/Galerie ═══════════ */
/* Barre de progression de défilement */
#scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:300;background:linear-gradient(90deg,#4BC8D4,#7EE6F0,#2BA8B4);box-shadow:0 0 10px rgba(75,200,212,.6);transition:width .1s linear;}

/* Aurora animée dans le hero */
@keyframes auroraShift{0%{transform:translate(-10%,-10%) rotate(0deg);opacity:.6}50%{transform:translate(10%,5%) rotate(180deg);opacity:.9}100%{transform:translate(-10%,-10%) rotate(360deg);opacity:.6}}
#dg-hero::before{content:'';position:absolute;top:-30%;left:-20%;width:140%;height:160%;background:conic-gradient(from 0deg at 50% 50%,transparent 0deg,rgba(75,200,212,.10) 70deg,transparent 140deg,rgba(126,230,240,.08) 220deg,transparent 300deg);animation:auroraShift 24s linear infinite;pointer-events:none;z-index:0;}

/* Titre hero : reflet animé sur le mot accentué */
@keyframes shimmerText{0%{background-position:0% 50%}100%{background-position:200% 50%}}
.dg-hero-title em{background:linear-gradient(90deg,#7EE6F0 0%,#fff 50%,#7EE6F0 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmerText 4s linear infinite;}

/* Séparateurs teal animés (shimmer) */
.section-pad-white::before{background:linear-gradient(90deg,transparent,var(--teal),transparent);background-size:200% 100%;animation:dividerShimmer 3s ease-in-out infinite;}
@keyframes dividerShimmer{0%,100%{background-position:0% 0;opacity:.6}50%{background-position:100% 0;opacity:1}}

/* Photos : tilt + brillance au survol */
.photo-card::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.25) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease);pointer-events:none;}
.photo-card:hover::after{transform:translateX(120%);}

/* Pastilles filtre : pop à l'activation */
.filter-btn.active{animation:popIn .35s var(--ease);}

/* Boutons hero : halo pulsé subtil */
.dg-btn-primary{position:relative;}
.dg-btn-primary::before{content:'';position:absolute;inset:-3px;border-radius:42px;background:linear-gradient(135deg,#4BC8D4,#7EE6F0);opacity:0;filter:blur(10px);transition:opacity .35s;z-index:-1;}
.dg-btn-primary:hover::before{opacity:.55;}

/* Apparition douce des cartes galerie au scroll */
.gal-accordion{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease),box-shadow .35s var(--ease);}
.gal-accordion.in-view{opacity:1;transform:translateY(0);}
/* ═══════════ FIN EFFET WAOUH ═══════════ */



