:root{
  --bg: #fff7fb;
  --bg-alt: #fff0f6;
  --card: #ffffff;
  --txt: #2a1b22;
  --muted: #6a5060;
  --primary: #e75480;     
  --primary-600:#d24672;
  --primary-700:#b83b63;
  --accent: #f7b6c9;      
  --ring: #ffd1e1;
  --shadow: 0 10px 30px rgba(184, 59, 99, 0.15);
  --radius: 18px;
}



*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--txt); background:var(--bg); line-height:1.6;
}



.container{width:min(1100px, 92%); margin:0 auto}
.section{padding:64px 0}
.section.alt{background:var(--bg-alt)}
.section-head{margin-bottom:28px}
.section-head h2{
  font-family:"Playfair Display", serif; font-size:2.2rem; margin:0 0 8px
}
.section-head p{color:var(--muted); margin:0}



.header{
  position:sticky; top:0; z-index:50; background:rgba(231,84,128,.12);
  backdrop-filter:saturate(180%) blur(10px); border-bottom:1px solid #d6769c;
}
.nav{display:flex; align-items:center; justify-content:space-between; padding:14px 0}
.logo{
  font-weight:700; letter-spacing:.5px; text-decoration:none; color:var(--primary-700);
  font-family:"Playfair Display", serif; font-size:1.25rem;
}
.menu{display:flex; gap:20px; align-items:center}
.menu a{
  text-decoration:none; color:var(--txt); font-weight:500; padding:8px 10px; border-radius:12px
}
.menu a:hover{background:var(--ring)}
.menu-btn{display:none; background:none; border:0; padding:8px; cursor:pointer}
.menu-btn span{display:block; width:22px; height:2px; background:var(--txt); margin:4px 0; border-radius:2px}



.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  border-radius:999px; padding:12px 18px; font-weight:600; text-decoration:none; border:0; cursor:pointer;
  transition:transform .08s ease, box-shadow .2s ease;
  box-shadow:var(--shadow);
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-primary{background:var(--primary); color:white}
.btn-primary:hover{background:var(--primary-600)}
.btn-outline{background:transparent; color:var(--primary-700); border:2px solid var(--primary)}
.btn-ghost{background:white; color:var(--primary-700)}
.btn-mini{padding:8px 12px; box-shadow:none; border:1px solid #ffd1e1; background:#fff}

.badges{list-style:none; padding:0; margin:14px 0 0; color:var(--muted); display:grid; gap:6px}



.hero{padding:56px 0 24px}
.hero-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:28px; align-items:center}
.hero h1{
  font-family:"Playfair Display", serif; font-size:clamp(2rem, 5vw, 3rem); line-height:1.15; margin:0 0 12px
}
.hero p{margin:0 0 16px; color:var(--muted)}
.hero-cta{display:flex; gap:12px}
.hero-card{
  background: radial-gradient(1200px 400px at -10% -20%, #ffe3ee 0, #fff 40%) , var(--card);
  border:1px solid #ffe1ec; border-radius:var(--radius); padding:22px; box-shadow:var(--shadow);
  display:grid; gap:14px
}
.highlight{background:#fff; border:1px solid #ffe1ec; border-radius:14px; padding:16px}
.highlight strong{display:block; color:var(--primary-700)}
.highlight em{font-style:normal; font-weight:700}



.tabs{display:flex; gap:8px; flex-wrap:wrap; margin:10px 0 16px}
.tab{
  background:#fff; border:1.5px solid #ffd1e1; color:var(--primary-700);
  border-radius:999px; padding:10px 16px; font-weight:600; cursor:pointer;
}
.tab.active{background:var(--primary); border-color:var(--primary); color:#fff}



.service-list{list-style:none; padding:0; margin:0; display:grid; gap:12px}
.service-item{
  display:grid; grid-template-columns:1fr auto; gap:14px; align-items:center;
  background:var(--card); border:1px solid #ffe1ec; border-radius:16px; padding:16px; box-shadow:var(--shadow)
}
.service-info h3{margin:0 0 6px; font-size:1.05rem}
.service-info p{margin:0; color:var(--muted)}
.service-right{display:flex; align-items:center; gap:12px}
.price{
  background:#fff5f8; color:var(--primary-700); border:1px solid #ffd1e1;
  padding:8px 12px; border-radius:10px; font-weight:700; min-width:120px; text-align:center
}



.tab-panel{display:none}
.tab-panel.active{display:block; animation:fade .18s ease-in}
@keyframes fade{from{opacity:.6; transform:translateY(4px)} to{opacity:1; transform:none}}



.gallery{display:grid; grid-template-columns:repeat(3, 1fr); gap:14px}
.card-img{
  background:var(--card); border:1px solid #ffe1ec; border-radius:16px; overflow:hidden; box-shadow:var(--shadow)
}
.card-img img{width:100%; height:250px; object-fit:cover; display:block; transition:transform .3s ease}
.card-img:hover img{transform:scale(1.04)}
.card-img figcaption{text-align:center; padding:10px; color:var(--muted); font-weight:600}



body.no-scroll{overflow:hidden}
.lightbox{position:fixed; inset:0; background:rgba(0,0,0,.7); display:none; align-items:center; justify-content:center; z-index:1000; padding:24px}
.lightbox.open{display:flex}
.lightbox-content{position:relative; max-width:92vw; max-height:90vh}
.lightbox img{display:block; max-width:100%; max-height:86vh; border-radius:12px; box-shadow:0 20px 60px rgba(0,0,0,.35)}
.lightbox .close{position:absolute; top:-10px; right:-10px; background:#fff; color:#333; border:0; width:36px; height:36px; border-radius:50%; cursor:pointer; box-shadow:0 8px 24px rgba(0,0,0,.35)}
.lightbox .close:hover{filter:brightness(0.98)}



.lightbox .nav{position:absolute; top:50%; transform:translateY(-50%); display:flex; align-items:center; justify-content:center}
.lightbox .prev{left:-14px}
.lightbox .next{right:-14px}
.lightbox .btn{background:#fff; color:#333; border:0; width:40px; height:40px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 24px rgba(0,0,0,.35)}
.lightbox .btn:hover{filter:brightness(0.98)}
@media (max-width:640px){
  .lightbox .prev{left:-6px}
  .lightbox .next{right:-6px}
  .lightbox .btn{width:44px; height:44px}
}



.about{display:grid; grid-template-columns:1.2fr .8fr; gap:22px}
.about-card{
  background:var(--card); border:1px solid #ffe1ec; border-radius:16px; padding:18px; box-shadow:var(--shadow)
}
.checks{list-style:none; padding:0; margin:14px 0 0; display:grid; gap:6px}
.checks li::before{content:"✓"; color:var(--primary); margin-right:6px}



.contact-links{list-style:none; padding:0; margin:12px 0 0; display:grid; gap:8px}
.contact-links a{display:inline-flex; align-items:center; gap:8px; text-decoration:none; color:var(--primary-700)}
.contact-links a:hover{color:var(--primary)}
.contact-links svg{width:18px; height:18px; display:block}



.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px}
.contact-card,.form-card{
  background:var(--card); border:1px solid #ffe1ec; border-radius:16px; padding:18px; box-shadow:var(--shadow)
}
.form-card label{display:grid; gap:6px; margin:10px 0}
input, textarea{
  font: inherit; padding:12px; border-radius:12px; border:1.5px solid #ffd1e1; background:#fff;
}
input:focus, textarea:focus{outline:3px solid var(--ring); border-color:var(--primary)}
.form-msg{margin-top:8px; font-weight:600}



.footer{background:#fff; border-top:1px solid #ffe1ec; padding-top:24px}
.footer-grid{display:grid; grid-template-columns:1fr auto auto; gap:18px; align-items:center}
.footer-links a{margin-right:12px; color:var(--txt); text-decoration:none}
.footer-links a:hover{color:var(--primary)}
.socials a{margin-left:12px; text-decoration:none; color:var(--primary-700)}
.copy{border-top:1px solid #ffe1ec; margin-top:16px; padding:12px; text-align:center; color:var(--muted)}



.wpp-float{
  position:fixed; right:16px; bottom:18px; width:56px; height:56px; border-radius:50%;
  background:linear-gradient(180deg,#29c46a,#22a95a); color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 24px rgba(34, 169, 90, .35); text-decoration:none
}
.wpp-float:hover{filter:brightness(1.03); transform:translateY(-1px)}
.wpp-float:active{transform:translateY(0)}



@media (max-width: 900px){
  .hero-grid{grid-template-columns:1fr}
  .about{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr}
}


@media (max-width: 640px){
  .menu{display:none; position:absolute; top:64px; right:4%; background:#fff; border:1px solid #ffe1ec; border-radius:16px; padding:10px; flex-direction:column; gap:8px; box-shadow:var(--shadow)}
  .menu.open{display:flex}
  .menu-btn{display:block}
  .gallery{grid-template-columns:1fr}
  .service-item{grid-template-columns:1fr}
  .price{min-width:unset}
}
