/* assets/css/style.css */
:root{
  --accent:#822D89;
  --accent-2:#C6A5D7;
  --bg:#FFFFFF;
  --muted:#F5F5F7;
  --text:#333333;
  --pink:#E8B6D3;
  --radius:16px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);}
img{max-width:100%;display:block;height:auto}
a{color:var(--accent);text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:0 16px}

.header .topbar{
  position:sticky; top:0; z-index:10; background:#fff;
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:10px 16px;border-bottom:1px solid #eee;
}
.logo img{height:36px}
.nav{display:flex;gap:16px;align-items:center}
.nav a{padding:8px 10px;border-radius:10px;color:#444}
.nav a:hover{background:var(--muted)}
.lang-switch a{font-size:12px;opacity:.7}
.lang-switch a.active{font-weight:600;opacity:1}
.burger{display:none;background:none;border:none;padding:6px;gap:4px;flex-direction:column}
.burger span{display:block;width:26px;height:2px;background:#333}

.btn{display:inline-block;padding:12px 18px;border-radius:999px;border:1px solid transparent;font-weight:600}
.btn.primary{background:var(--accent);color:#fff}
.btn.ghost{border-color:#ddd;color:#333;background:#fff}
.btn.primary:hover{filter:brightness(.95)}
.btn.ghost:hover{background:var(--muted)}

.main{padding-bottom:60px}
.hero{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:28px;padding:32px 16px}
.hero h1{font-size:44px;line-height:1.1;margin:0 0 10px}
.lead{font-size:18px;color:#555}
.actions{display:flex;gap:12px;margin-top:16px}
.hero-media{border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.08)}

.features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
.feature{background:var(--muted);padding:18px;border-radius:var(--radius)}

.price-list{margin-top:12px;border:1px solid #eee;border-radius:14px;overflow:hidden}
.price-item{display:flex;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #eee}
.price-item:last-child{border-bottom:0}
.muted{opacity:.7}

.about .team{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}
.card{background:#fff;border:1px solid #eee;border-radius:14px;overflow:hidden}
.card h4{margin:8px 12px}
.card p{margin:0 12px 12px 12px;color:#666}

.contacts .map-wrap{border-radius:14px;overflow:hidden;border:1px solid #eee}
.contacts iframe{width:100%;height:320px;border:0}
.socials{display:flex;gap:12px}

.footer{background:var(--muted);padding:28px 0;margin-top:40px}
.footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}
.footer-logo{height:28px;margin-bottom:8px}

/* Slider */
.slider{position:relative;overflow:hidden}
.slider .slides{display:flex;transition:transform .4s ease}
.slider img{width:100%;object-fit:cover;aspect-ratio:3/2}
.slider button{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.8);border:none;padding:8px 12px;border-radius:999px}
.slider .slide-prev{left:8px}
.slider .slide-next{right:8px}

/* Modal */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.4);display:none;align-items:center;justify-content:center;padding:16px}
.modal[aria-hidden="false"]{display:flex}
.modal-content{background:#fff;border-radius:16px;padding:20px;max-width:520px;width:100%;position:relative}
.modal-close{position:absolute;right:10px;top:10px;border:none;background:#eee;width:32px;height:32px;border-radius:999px;font-size:18px}
.booking-form{display:grid;gap:10px}
.booking-form.wide{max-width:520px}
.booking-form label{display:grid;gap:6px;font-size:14px}
.booking-form input, .booking-form select{border:1px solid #ddd;border-radius:10px;padding:10px}
.small{font-size:12px;color:#666}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}

@media (max-width: 900px){
  .hero{grid-template-columns:1fr; padding-top:10px}
  .features{grid-template-columns:1fr}
  .about .team{grid-template-columns:1fr 1fr}
  .footer .cols{grid-template-columns:1fr 1fr}
}
@media (max-width: 680px){
  .nav{display:none;position:absolute;right:10px;top:62px;background:#fff;border:1px solid #eee;border-radius:12px;padding:10px;flex-direction:column;min-width:220px;box-shadow:0 8px 30px rgba(0,0,0,.1)}
  .nav.show{display:flex}
  .burger{display:flex}
  .grid-2{grid-template-columns:1fr}
  .about .team{grid-template-columns:1fr}
  .footer .cols{grid-template-columns:1fr}
}
