/* PALETTE SALON */
:root{ --rose-dark:#A34B56; --rose-light:#F6CFC8; --black:#121212; --gray:#5B5958; --gray2:#8B8988; }

/* DEFAULTS */
html{position:relative;min-height:100%;font-size:18px;}
body{background:#FFF;color:var(--black);margin:0;padding:0;font-family:'Montserrat',sans-serif;} html,body{height:100%;display:flex;flex-direction:column;overflow-x:hidden;max-width:100%;}
p{font-size:14px;font-family:'Montserrat';text-align:left;margin:0 0 10px 0;}
a{color:var(--rose-dark);transition:.5s;cursor:pointer;text-decoration:none;}
a:hover,a:active,a:focus{opacity:.85;outline:none;text-decoration:none;}
a.disabled{pointer-events:none;cursor:default;}
h1,h2,h3,h4,h5,h6{font-family:'Montserrat';font-weight:500;margin:0 0 16px 0;padding:0;}
h1{font-size:1.9rem;}
h4{color:var(--black);}
.main-content{flex:1;}
.txt-muted{color:var(--gray2);}

/* ANIMATIONS */
.hidden{opacity:0;transform:translateX(-30px);transition:opacity .6s ease-in-out,transform .6s ease-in-out;}
.fade-in-right.hidden{transform:translateX(30px);}
.fade-in-left.hidden{transform:translateX(-30px);}
.fade-in-left,.fade-in-right{opacity:1;transform:translateX(0);}
.fade-in-pop.hidden-pop{opacity:0;transform:scale(.8);transition:opacity .6s ease-in-out,transform .6s ease-in-out;}
.fade-in-pop{opacity:1;transform:scale(1);}
.animated-separator{display:flex;align-items:center;justify-content:center;margin:10px 0;}
.diamond{width:20px;height:20px;background-color:#FFF;border:3px var(--rose-dark) solid;transform:rotate(45deg);animation:diamond-grow 1s ease-in-out infinite alternate;} .line{width:50px;height:6px;background-color:var(--rose-dark);border-radius:10px;animation:line-expand 1s ease-in-out infinite alternate;}
.left{margin-right:15px;} .right{margin-left:15px;}

@keyframes diamond-grow{from{transform:rotate(45deg) scale(1);}to{transform:rotate(45deg) scale(1.2);}}
@keyframes line-expand{from{width:170px;}to{width:190px;}}

/* TOP NAV */
.back-to-top{position:fixed;display:none;background:var(--rose-dark);color:#E6E6E6;width:44px;height:44px;text-align:center;line-height:1;font-size:16px;border-radius:50%;right:15px;bottom:15px;transition:background .5s;z-index:1111;}
.back-to-top i{padding-top:12px;color:#E6E6E6;}

/* ENTÊTE */
.top-banner{position:fixed;width:100%;height:40px;top:0;left:0;overflow:hidden;z-index:999;pointer-events:none;}
.top-banner svg{display:block;width:100%;height:100%;}
.logo-container{display:flex;justify-content:center;align-items:center;width:100%;margin-top:35px; background-color: #fef9f7;}
.logo{width:480px;height:auto;max-width:100%;}

@media (max-width:768px){
	.logo{width:360px;}
}

/* LOADING */
#preloader{background:#F4F4F4;bottom:0;height:100%;left:0;position:fixed;right:0;top:0;width:100%;z-index:999;}
@keyframes shadowSpin{
  0%{box-shadow:10px -10px var(--rose-dark),-10px 10px var(--rose-light);}
  25%{box-shadow:10px 10px var(--rose-dark),-10px -10px var(--rose-light);}
  50%{box-shadow:-10px 10px var(--rose-dark),10px -10px var(--rose-light);}
  75%{box-shadow:-10px -10px var(--rose-dark),10px 10px var(--rose-light);}
  100%{box-shadow:10px -10px var(--rose-dark),-10px 10px var(--rose-light);}
}
#load{z-index:9999;background-color:#f0e6ec;opacity:.95;width:10px;height:10px;position:absolute;top:45%;margin:-5px auto 0 auto;left:0;right:0;border:5px solid #f0e6ec;animation:shadowSpin 1s ease-in-out infinite;}
#load_text{z-index:10000;width:100%;height:100%;position:absolute;top:50%;margin:0 auto;left:0;right:0;}

.tagline{color:var(--gray);font-size:1rem;}
.brand-dark{color:var(--rose-dark);}
.accueil-section{background-color:#FFF;}
.accueil-section .container{max-width:960px;overflow:hidden;}
.about-wrapper{position:relative;display:flex;align-items:center;justify-content:center;width:100%;padding:0px 0;background:url('../images/splash_salon.jpg') no-repeat center center;background-size:cover;}
.about-content{position:relative;z-index:2;max-width:960px;border-radius:8px;padding:0;}
.hero-photo{max-width:100%;border:2px solid var(--rose-light);}

.about-wrapper{position:relative;z-index:0;padding-top:8px;padding-bottom:24px;}
.about-wrapper::before{content:'';position:absolute;inset:0;z-index:0;background:radial-gradient(circle at center,rgba(255,255,255,.3) 0%,rgba(255,255,255,.55) 20%,rgba(255,255,255,.70) 30%,rgba(255,255,255,.85) 90%,rgba(255,255,255,.95) 100%);pointer-events:none;}
.about-content,.company-info,.card-profile{position:relative;z-index:1;}
.company-info{background:rgba(255,255,255,.92);border-radius:18px;      box-shadow:
    0 12px 40px rgba(0,0,0,0.35),     /* ombre principale forte et large */
    0 0 30px rgba(184,92,102,0.35),   /* halo rosé large */
	0 4px 8px rgba(0,0,0,0.25); }   /* ombre de proximité */

@media (max-width:767.98px){.card-profile{max-width:320px;max-height:320px;margin:0 auto;} .card-profile img{max-width:100%;height:auto;border-radius:12px;object-fit:cover;}}
@media (min-width:1px) and (max-width:768px){.company-info{background:rgba(255,255,255,.92);border:none;border-radius:0;} .about-wrapper{padding:0;} .about-content{margin:0 !important;}}

/* Services — pills */
.services-list{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;margin:14px 0 6px;}
.services-list span{display:flex;align-items:center;justify-content:center;padding:6px 14px;border-radius:999px;font-weight:700;font-size:clamp(.9rem,1.6vw,1.05rem);letter-spacing:.2px;color:var(--rose-dark);background:color-mix(in srgb,var(--rose-dark) 8%,transparent);border:1px solid color-mix(in srgb,var(--rose-dark) 25%,transparent);line-height:1.2;white-space:nowrap;text-align:center;min-width:140px;max-width:200px;}
@media (max-width:767.98px){.services-list{gap:8px 14px} .services-list span{padding:6px 10px;min-width:120px;}}

.bullets li{position:relative;padding-left:18px;margin-bottom:6px;}
.bullets li:before{content:'';position:absolute;left:0;top:.45em;width:8px;height:8px;background:var(--rose-dark);border-radius:50%;}

/* FX */
.blink_me{animation:blinker 3s linear infinite;}
@keyframes blinker{50%{opacity:.6;}}

/* Pills/badges */
.pill{display:inline-block;padding:6px 10px;border-radius:999px;font-size:.8rem;font-weight:700;margin:4px 6px;border:1px solid rgba(0,0,0,.08);}
.pill-rose{background:var(--rose-light);border-color:var(--rose-dark);color:var(--rose-dark);}
.pill-dark{background:#fff;border-color:#222;color:#222;}

.alert-compact{position:relative;overflow:hidden;display:block;width:auto;margin-left:-15px;margin-right:-15px;padding:12px 20px;background:color-mix(in srgb,var(--rose-light) 85%,#fff 15%);border:1px solid var(--rose-dark);color:color-mix(in srgb,var(--rose-dark) 60%,#000 40%);border-radius:8px;font-size:.9rem;box-sizing:border-box;}
.alert-compact::before{content:'';position:absolute;top:0;left:-75%;width:50%;height:100%;background:linear-gradient(120deg,color-mix(in srgb,var(--rose-dark) 0%,transparent) 0%,color-mix(in srgb,var(--rose-dark) 25%,transparent) 40%,color-mix(in srgb,var(--rose-dark) 45%,transparent) 50%,color-mix(in srgb,var(--rose-dark) 25%,transparent) 60%,color-mix(in srgb,var(--rose-dark) 0%,transparent) 100%);transform:skewX(-20deg);animation:alert-sheen 5s ease-in-out infinite;pointer-events:none;opacity:.5;}
@keyframes alert-sheen{0%{left:-75%;}40%{left:125%;}100%{left:125%;}}

.p-drift{display:inline-block;animation:textDrift 7s ease-in-out infinite alternate;}
.p-drift:hover{animation-play-state:paused;}
@keyframes textDrift{0%{transform:translateX(-7%);}50%{transform:translateX(7%);}100%{transform:translateX(-7%);}}

/* Profile card */
.card-profile{display:inline-block;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:10px;overflow:hidden;}
.profile-caption{padding:8px 10px;font-size:.9rem;background:#fafafa;border-top:1px solid rgba(0,0,0,.06);}

/* FOOTER */
.footer-section{background-color:#FFF;text-align:center;padding-bottom:60px;box-shadow:0 -1px 5px rgba(0,0,0,.08);}
.footer-logo-container{position:relative;display:flex;justify-content:center;margin-bottom:10px;}
.footer-logo{height:74px;z-index:30;position:absolute;top:-10px;left:15px;}
.copyright{text-align:center;padding-top:10px;padding-bottom:10px;color:var(--gray);font-size:.85rem;font-weight:700;}

/* BOT BANNER */
.bot-banner{position:fixed;left:0;right:0;bottom:0;height:60px;z-index:1099;pointer-events:none;line-height:0;}
.bot-banner svg{display:block;width:100%;height:100%;}

body, p, li{ color:var(--black); text-shadow:0 0 1px rgba(0,0,0,0.05); }
h1,h2,h3,h4,h5,h6{ color:var(--black); letter-spacing:-0.2px; }
a{ color:var(--rose-dark); font-weight:600; }
.brand-dark{ color:var(--rose-dark); font-weight:600; }
.about-wrapper, .company-info { color: #1a1a1a; }

/* Sécurité iOS */
@supports (bottom: env(safe-area-inset-bottom)){.bot-banner{bottom:0;padding-bottom:env(safe-area-inset-bottom);}}

/* MOBILE */
@media (max-width:480px){.bot-banner{height:48px;} .footer-section{padding-bottom:48px;}}

/* MEDIA QUERIES */
@media (max-width:814px){.custom-padding-left{padding-left:20px;} .accueil-section .center-image-sm{display:flex;justify-content:end;padding-right:40px;} .btn-consultation{font-size:12px;}}
@media (max-width:767px){.navbar-expand-md>.container{padding-left:10px;} .navbar{padding:0 15px;} .navbar-light .navbar-toggler{border:none;} .navbar-collapse .btn-consultation{margin-bottom:10px;} .accueil-section .custom-margin-top{margin-top:0;} .accueil-section .row{margin:0;} .accueil-section img{margin-top:15px;} .accueil-section .custom-padding-left{padding-left:15px;padding-right:15px;} .center-image-sm{display:flex;justify-content:end;} .footer-logo-container{position:static;} .footer-logo{position:relative;top:0;left:0;margin:0 auto;display:block;} .copyright{margin-top:20px;text-align:center;}}
@media (min-width:576px) and (max-width:767px){.accueil-section h2{font-size:1.4rem;} .accueil-section .img{width:80%;}}
@media (max-width:576px){.tarifs-section .row{flex-direction:column;} .tarifs-section .col-md-6{max-width:100%;flex-basis:100%;position:relative;} .tarifs-section .card-superposed{position:relative;right:auto;margin-bottom:20px;width:auto;} .tarifs-section .img-overflow{position:relative;top:auto;right:auto;transform:none;width:100%;margin:0 auto;}}
