:root{--primary-color:#e91e63;--bg:#0c0c0d;--surface:#141416;--text:#ececec;--muted:#a7a7a9;--border:#232325;--shadow:0 10px 30px rgba(0,0,0,.25)}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.container{max-width:1100px;margin:0 auto;padding:0 22px}
.site-header{position:sticky;top:0;z-index:10;background:#0b0b0caa;backdrop-filter:saturate(150%) blur(8px);border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}
nav a{color:var(--muted);text-decoration:none;margin-left:18px;font-weight:600}
nav a:hover{color:var(--text)}
.logo{height:42px;width:auto;display:block}
.hero{padding:80px 0 70px;background:radial-gradient(1200px 480px at 50% -120px,rgba(233,30,99,.15),transparent)}
.hero-inner{position:relative;text-align:center}
.hero h1{font-size:clamp(28px,4.2vw,44px);color:var(--primary-color);margin:0 0 8px}
.hero h2{font-size:clamp(18px,3vw,26px);margin:0 0 12px;color:#fff}
.lead{max-width:760px;margin:0 auto 18px;color:#d9d9da}
.btn{background:var(--primary-color);border:none;color:white;padding:12px 18px;border-radius:12px;cursor:pointer;font-weight:700;box-shadow:var(--shadow)}
.btn:hover{opacity:.92}
.cta{display:inline-block;text-decoration:none}
.section{padding:64px 0}
.section-title{font-size:clamp(22px,3.2vw,30px);margin:0 0 14px;color:#fff}
.badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:16px}
.badge{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:16px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:var(--shadow)}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:18px}
.gallery-item{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gallery-image{height:160px;border-radius:14px;border:1px solid var(--border);background:#0f0f10;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.placeholder-content{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted)}
.placeholder-content i{font-size:26px;color:var(--primary-color)}
.placeholder-content span{text-transform:uppercase;font-size:12px;letter-spacing:.12em;color:#bdbdc0}
.contact-block{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;margin:14px 0}
.contact-form .grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contact-form input,.contact-form textarea{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:#0f0f10;color:var(--text)}
.contact-form textarea{resize:vertical}
.muted{color:var(--muted)}
.small{font-size:.92rem}
.site-footer{border-top:1px solid var(--border);padding:24px 0;text-align:center;color:var(--muted)}
/* Reviews */
.reviews-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-top:18px}
.review-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:var(--shadow)}
.review-card .stars{font-size:1rem;letter-spacing:1px;margin-bottom:6px;color:var(--primary-color)}
.review-card .name{font-weight:600;margin-bottom:4px}
.review-card .date{font-size:.85rem;color:var(--muted);margin-bottom:8px}
.review-card .text{font-size:.95rem;color:var(--text)}
.review-form .grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.review-form input,.review-form select,.review-form textarea{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:#0f0f10;color:var(--text)}
.review-form .rating-label{display:inline-block;margin:10px 0 6px}
.review-form .hp{display:none}
.btn-small{padding:8px 12px;font-size:.9rem}
.owner-auth{display:flex;gap:8px;align-items:center;margin:8px 0 12px}
.owner-auth input{flex:1;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:#0f0f10;color:var(--text)}
.owner-actions{display:flex;gap:10px;margin-top:10px}
.danger{background:#b00020}
.hidden{display:none}
.divider{border:0;border-top:1px solid var(--border);margin:24px 0}
@media (max-width: 640px){
  .contact-form .grid,.review-form .grid{grid-template-columns:1fr}
}
/* === JMCS — Before/After slider === */
{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.ba-head{padding:12px 14px;font-weight:700;color:#fff;border-bottom:1px solid var(--border)}
.ba-frame{position:relative;width:100%;height:300px;background:#0f0f10}
.ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;user-select:none;pointer-events:none}
.ba-after{clip-path:inset(0 0 0 50%);transition:clip-path .06s linear}
.ba-slider{position:absolute;left:10%;right:10%;bottom:12px;-webkit-appearance:none;appearance:none;height:4px;background:#2a2a2d;border-radius:999px}
.ba-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--primary-color);border:2px solid #fff;box-shadow:0 0 0 3px rgba(233,30,99,.25)}
.ba-labels{position:absolute;top:10px;left:10px;right:10px;display:flex;justify-content:space-between;pointer-events:none}
.ba-tag{background:rgba(0,0,0,.55);color:#fff;padding:6px 10px;border-radius:999px;font-size:.82rem;border:1px solid rgba(255,255,255,.18)}
/* ===== Reviews slider ===== */
.reviews-slider {
  position: relative;
  overflow: hidden;
  background: #111;
  border-radius: 14px;
  padding: 24px 14px 48px;
}
.reviews-slider .slides {
  display: flex;
  gap: 16px;
  will-change: transform;
  transition: transform .5s ease;
}
.review.slide {
  flex: 0 0 100%;
  background: #1c1c1c;
  border-radius: 12px;
  padding: 22px;
  box-shadow: 0 0 12px rgba(20,205,170,.15);
}
@media (min-width: 720px){
  .review.slide { flex-basis: 50%; }
}
@media (min-width: 1024px){
  .review.slide { flex-basis: 33.3333%; }
}
.rv-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px; height: 40px;
  border-radius: 999px;
  border: 1px solid #333;
  background: #0b0b0b;
  color: #fff;
  font-size: 22px;
  line-height: 38px;
  text-align: center;
  cursor: pointer;
  opacity: .85;
}
.rv-nav:hover { opacity: 1; }
.rv-nav.prev { left: 8px; }
.rv-nav.next { right: 8px; }

.rv-dots {
  display: flex; gap: 8px;
  justify-content: center;
  position: absolute; left: 0; right: 0; bottom: 10px;
}
.rv-dots button {
  width: 8px; height: 8px; border-radius: 999px;
  border: none; background: #555; cursor: pointer;
}
.rv-dots button[aria-current="true"] { background: #ff2b87; }