/* ПодоЛюкс — центр подологии, Санкт-Петербург */

:root{
  --primary:#1F6F66;
  --primary-light:#4FC6BB;
  --primary-dark:#0F332F;
  --accent:#45C0B4;
  --accent-light:#8FDDD3;
  --accent-text:#1B7A70;
  --bg:#F8F6F1;
  --bg-raised:#ffffff;
  --ink:#17262A;
  --ink-soft:#526461;
  --line:#E5E7EB;
  --good:#2C9F63;
  --warn:#D9714F;
  --shadow: 0 12px 32px rgba(15,51,47,0.14);
  --radius:14px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  line-height:1.6;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%;display:block;}
a{color:inherit;}
.container{max-width:1160px;margin:0 auto;padding:0 20px;}
h1,h2,h3,h4{
  font-family:'Playfair Display',Georgia,serif;
  line-height:1.15;
  margin:0 0 16px;
  text-wrap:balance;
  color:var(--ink);
}
h1{font-size:clamp(34px,5.6vw,58px);font-weight:700;letter-spacing:-0.015em;}
h2{font-size:clamp(27px,3.8vw,40px);font-weight:700;letter-spacing:-0.01em;}
h3{font-size:20px;font-weight:600;}
p{margin:0 0 14px;color:var(--ink-soft);max-width:64ch;}
.section{padding:60px 0;}
.section-tight{padding:40px 0;}
.eyebrow{
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent-text);font-weight:800;margin-bottom:10px;display:block;
}
.section-head{max-width:640px;margin:0 auto 32px;text-align:center;}
.section-head p{margin:0 auto;}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 28px;border-radius:999px;font-weight:600;font-size:15px;
  text-decoration:none;cursor:pointer;border:2px solid transparent;
  transition:transform .15s ease, box-shadow .15s ease;font-family:inherit;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--accent);color:#ffffff;box-shadow:0 8px 20px rgba(69,192,180,0.35);}
.btn-primary:hover{background:var(--primary-light);}
.btn-outline{background:transparent;border-color:var(--bg-raised);color:var(--bg-raised);}
.btn-outline.dark{border-color:var(--primary);color:var(--primary);}
.btn-outline.dark:hover{background:var(--primary);color:#fff;}
.btn-block{width:100%;}

/* Nav */
.nav{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--line);}
.nav-inner{position:relative;max-width:1160px;margin:0 auto;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.logo{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:700;font-size:22.5px;text-decoration:none;color:#56C8BD;display:flex;align-items:center;gap:8px;white-space:nowrap;}
.logo-icon{width:30px;height:30px;object-fit:contain;flex-shrink:0;}
.logo-icon-precise{width:auto;height:45px;object-fit:contain;flex-shrink:0;}
@media (max-width:460px){.logo-icon-precise{height:36px;}}
.nav-links{display:none;list-style:none;margin:0;padding:0;gap:24px;align-items:center;}
.nav-links a{text-decoration:none;font-size:14.5px;font-weight:600;color:var(--ink-soft);padding:6px 0;border-bottom:2px solid transparent;}
.nav-links a:hover, .nav-links a.active{color:var(--primary);border-color:var(--accent);}
.nav-right{display:flex;align-items:center;gap:16px;}
.nav-phone{font-weight:700;font-size:14.5px;color:var(--primary);text-decoration:none;white-space:nowrap;display:none;}
.nav-toggle{background:none;border:1px solid var(--line);border-radius:8px;width:42px;height:42px;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{content:"";display:block;width:18px;height:2px;background:var(--ink);position:relative;transition:.2s;}
.nav-toggle span::before{position:absolute;top:-6px;}
.nav-toggle span::after{position:absolute;top:6px;}
.nav-links.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--bg-raised);padding:20px;border-bottom:1px solid var(--line);gap:16px;box-shadow:var(--shadow);}
@media (min-width:1000px){
  .nav-toggle{display:none;}
  .nav-links{display:flex;position:static;background:none;padding:0;box-shadow:none;flex-direction:row;}
  .nav-phone{display:block;}
}
@media (max-width:460px){
  .nav-inner{padding:12px 14px;gap:10px;}
  .nav-right{gap:8px;}
  .nav-right .btn{padding:9px 14px !important;font-size:13px;}
  .nav-search-toggle,.nav-toggle{width:36px;height:36px;}
  .logo{font-size:19px;}
  .logo-icon{width:26px;height:26px;}
}

/* Topbar */
.topbar{background:linear-gradient(90deg, var(--primary), var(--primary-light));color:#eafffb;font-size:13px;font-weight:600;}
.topbar-inner{max-width:1160px;margin:0 auto;padding:8px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.topbar-hours{display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.04em;}
.topbar-hours strong{font-weight:800;}
.topbar-phone{font-size:15px;font-weight:800;text-decoration:none;color:#ffffff;letter-spacing:.01em;}
.topbar-right{display:flex;align-items:center;gap:10px;}
.topbar-icons{display:flex;gap:6px;}
.topbar-icons a{width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;transition:transform .15s ease;}
.topbar-icons a:hover{transform:translateY(-1px);}
.topbar-icons svg{width:26px;height:26px;stroke:none;display:block;}
.topbar .btn-call{background:var(--accent);color:#ffffff;font-size:12.5px;padding:8px 18px;border-radius:999px;text-decoration:none;font-weight:800;letter-spacing:.02em;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,0.12);}
@media (max-width:760px){.topbar-hours{display:none;}}
@media (max-width:560px){
  .topbar .btn-call{display:none;}
  .topbar-inner{flex-wrap:nowrap;padding:8px 14px;}
  .topbar-phone{font-size:13px;}
  .topbar-icons a{width:24px;height:24px;}
  .topbar-icons svg{width:24px;height:24px;}
}

/* Hero (annotated, photo/slider right) */
.hero-annotated{background:var(--bg-raised);border-bottom:1px solid var(--line);padding:40px 0 48px;}
.hero-annotated .container{display:grid;grid-template-columns:1.05fr 0.95fr;gap:48px;align-items:center;}
@media (max-width:900px){.hero-annotated .container{grid-template-columns:1fr;}}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px;}
.hero-stats{display:flex;gap:28px;margin-top:22px;flex-wrap:wrap;}
.hero-stats div{min-width:110px;}
.hero-stats .n{font-family:'Playfair Display',serif;font-size:28px;font-weight:700;color:var(--accent-text);display:block;margin-bottom:4px;}
.hero-stats .l{font-size:13px;color:var(--ink-soft);}
.badge-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.platform-badge{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:var(--ink-soft);border:1px solid var(--line);border-radius:999px;padding:4px 10px;}

/* Art tiles / photos */
.art-tile{border-radius:var(--radius);overflow:hidden;background:linear-gradient(150deg, color-mix(in srgb, var(--primary) 12%, var(--bg-raised)), var(--bg-raised));border:1px solid var(--line);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;position:relative;}
.art-tile img{width:100%;height:100%;object-fit:cover;display:block;}

/* Grid / cards */
.grid{display:grid;gap:24px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
@media (max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.grid-3,.grid-4,.grid-2{grid-template-columns:1fr;}}
.card{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);padding:24px;}
.service-card .price-tag{display:inline-block;margin:10px 0 12px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:700;color:var(--primary);font-variant-numeric:tabular-nums;}
.service-card a.more{font-weight:600;font-size:14px;color:var(--accent-text);text-decoration:none;}
.card-clickable{cursor:pointer;transition:transform .15s ease, box-shadow .15s ease;}
.card-clickable:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.card-clickable .art-tile img{cursor:pointer;}
.icon-badge{width:52px;height:52px;border-radius:12px;background:color-mix(in srgb, var(--primary) 12%, transparent);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.icon-badge svg{width:26px;height:26px;stroke:var(--primary);}
.text-center{text-align:center;}
.mt-0{margin-top:0;}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:step;}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.steps{grid-template-columns:1fr;}}
.step{position:relative;padding-top:6px;}
.step::before{counter-increment:step;content:counter(step);font-family:'Playfair Display',serif;font-size:34px;font-weight:700;color:var(--accent-text);display:block;margin-bottom:8px;}

/* Table */
.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);}
table{border-collapse:collapse;width:100%;min-width:420px;background:var(--bg-raised);}
th,td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);font-size:14.5px;}
thead th{text-transform:uppercase;font-size:12px;letter-spacing:.06em;color:var(--ink-soft);background:color-mix(in srgb, var(--primary) 6%, var(--bg-raised));}
tr:last-child td{border-bottom:none;}
tr.svc-row{cursor:pointer;transition:background .12s ease;}
tr.svc-row:hover{background:color-mix(in srgb, var(--primary) 5%, var(--bg-raised));}
tr.svc-row.selected{background:color-mix(in srgb, var(--accent) 12%, var(--bg-raised));}
.svc-radio{display:flex;align-items:center;gap:10px;cursor:pointer;margin:0;padding:0;font-size:inherit;font-weight:inherit;}
.svc-radio input[type="radio"]{width:17px;height:17px;flex-shrink:0;accent-color:var(--accent);cursor:pointer;}
.btn.svc-book-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none;background:var(--ink-soft);}
.btn.svc-book-btn:disabled:hover{transform:none;background:var(--ink-soft);}
td.price{font-family:ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums;font-weight:700;color:var(--primary);white-space:nowrap;}

/* FAQ (native details/summary) */
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{cursor:pointer;padding:20px 0;font-weight:700;font-size:16px;list-style:none;display:flex;align-items:center;justify-content:space-between;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";font-size:22px;color:var(--accent-text);font-weight:400;flex-shrink:0;margin-left:16px;}
.faq-item[open] summary::after{content:"–";}
.faq-item p{padding-bottom:20px;margin:0;}

.booking-form{max-width:640px;margin:0 auto;}
.booking-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.booking-form label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:600;color:var(--ink-soft);}
.booking-form input,.booking-form select{font-family:'Manrope',sans-serif;font-size:15px;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);}
.booking-form input:focus,.booking-form select:focus{outline:2px solid var(--accent);outline-offset:1px;}
.booking-form-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px;}
.booking-form-status{margin:14px 0 0;font-size:14px;}
.booking-form-status.ok{color:var(--primary-dark);}
.booking-form-status.err{color:#c0392b;}
@media (max-width:560px){.booking-form-grid{grid-template-columns:1fr;}}

.specialist-wide{display:flex;align-items:center;gap:28px;max-width:640px;margin:0 auto;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.specialist-wide .art-tile{width:180px;height:180px;flex-shrink:0;border-radius:0;border:none;}
.specialist-wide-info{padding:24px 28px;}
.specialist-wide-info h3{margin:0 0 6px;font-size:20px;}
.specialist-wide-info p{margin:0;color:var(--ink-soft);}
@media (max-width:560px){
  .specialist-wide{flex-direction:column;text-align:center;}
  .specialist-wide .art-tile{width:100%;height:220px;}
}

/* Guarantees */
.guarantee{display:flex;gap:16px;align-items:flex-start;}
.guarantee .icon-badge{flex-shrink:0;margin-bottom:0;}

/* Reviews */
.review-card{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);padding:24px;}
.review-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:12px;}
.review-name{font-weight:700;}
.stars{color:var(--accent-text);letter-spacing:2px;font-size:14px;white-space:nowrap;}
.review-date{font-size:12.5px;color:var(--ink-soft);}

/* CTA band */
.cta-band{background:linear-gradient(120deg, var(--primary-dark), var(--primary));color:#eafffb;border-radius:24px;padding:44px;text-align:center;}
.cta-band h2{color:#ffffff;}
.cta-band p{color:#cdeae5;margin:0 auto 24px;}

/* Form */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media (max-width:640px){.form-grid{grid-template-columns:1fr;}}
.form-grid .full{grid-column:1/-1;}
.calc-field{margin-bottom:18px;}
.calc-field label{display:block;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin-bottom:8px;}
.calc-field select, .calc-field input[type="text"], .calc-field input[type="tel"], .calc-field input[type="email"], .calc-field textarea{
  width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-size:15px;font-family:inherit;
}
.calc-field textarea{resize:vertical;min-height:90px;}
.form-success{display:none;background:color-mix(in srgb, var(--good) 12%, var(--bg-raised));border:1px solid var(--good);color:var(--good);padding:16px 20px;border-radius:12px;font-weight:600;margin-top:16px;}
.form-success.show{display:block;}

/* Footer */
footer{background:var(--primary-dark);color:#cdeae5;padding:44px 0 24px;margin-top:0;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:28px;margin-bottom:28px;}
@media (max-width:800px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr;}}
footer h4{color:#eafffb;font-size:14px;text-transform:uppercase;letter-spacing:.06em;font-family:'Manrope',sans-serif;font-weight:700;}
footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
footer a{color:#a9cdc8;text-decoration:none;font-size:14.5px;}
footer a:hover{color:var(--accent-light);}
.footer-logo{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:#ffffff;margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.footer-logo-icon{width:26px;height:26px;object-fit:contain;flex-shrink:0;}
.social-row{display:flex;gap:12px;margin-top:16px;}
.social-row a{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:transform .15s ease;}
.social-row a:hover{transform:translateY(-2px);}
.social-row svg{width:36px;height:36px;stroke:none;display:block;}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.14);padding-top:20px;font-size:12.5px;color:#7fa39d;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

/* Two-column split layout (kontakty, o-nas) — collapses to 1 column on mobile */
.split-2col{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.split-2col--wide{grid-template-columns:1fr 1.2fr;}
.split-2col--center{align-items:center;}
@media (max-width:760px){.split-2col{grid-template-columns:1fr;gap:28px;}}

/* Page hero (inner pages) */
.page-hero{background:linear-gradient(160deg, var(--primary-dark), var(--primary));color:#eafffb;padding:40px 0;text-align:center;}
.page-hero h1{color:#ffffff;margin-bottom:8px;}
.page-hero p{color:#cdeae5;margin:0 auto;}
.breadcrumbs{font-size:13px;color:#a9cdc8;margin-bottom:12px;}
.breadcrumbs a{color:#a9cdc8;text-decoration:underline;}

/* Service page (landing pages) */
.service-hero{background:linear-gradient(160deg, var(--primary-dark), var(--primary));color:#eafffb;padding:44px 0;}
.service-hero .container{display:grid;grid-template-columns:1.2fr 0.8fr;gap:40px;align-items:center;}
@media (max-width:860px){.service-hero .container{grid-template-columns:1fr;}}
.service-hero h1{color:#ffffff;}
.service-hero p{color:#cdeae5;font-size:17px;max-width:52ch;}
.price-chip{display:inline-block;background:var(--accent);color:#ffffff;font-weight:800;padding:8px 16px;border-radius:999px;margin-bottom:16px;font-family:ui-monospace,Consolas,monospace;}

.promo-band{background:linear-gradient(120deg, var(--primary-dark), var(--primary));border-radius:28px;overflow:hidden;display:grid;grid-template-columns:1.15fr 0.85fr;align-items:stretch;box-shadow:var(--shadow);}
.promo-band-text{padding:48px;color:#eafffb;display:flex;flex-direction:column;justify-content:center;}
.promo-band-text .offer-badge{background:rgba(255,255,255,0.18);}
.promo-band-text h2{color:#ffffff;font-size:2.1rem;margin:14px 0 12px;}
.promo-band-text p{color:#cdeae5;font-size:16.5px;max-width:48ch;margin:0 0 22px;}
.promo-band-img{min-height:280px;}
.promo-band-img img{width:100%;height:100%;object-fit:cover;display:block;}
@media (max-width:860px){.promo-band{grid-template-columns:1fr;}.promo-band-img{min-height:220px;order:-1;}.promo-band-text{padding:32px;}}

.promo-band--square{grid-template-columns:1fr;max-width:560px;margin:0 auto;}
.promo-band--square .promo-band-img{height:300px;min-height:0;order:-1;}
.promo-band--square .promo-band-text{padding:36px;}
.consequence-box{background:color-mix(in srgb, var(--warn) 10%, var(--bg-raised));border:1px solid color-mix(in srgb, var(--warn) 35%, var(--line));border-left:4px solid var(--warn);border-radius:12px;padding:20px 24px;margin:24px 0;}
.consequence-box h3{color:var(--warn);margin-bottom:8px;font-family:'Manrope',sans-serif;font-size:15px;text-transform:uppercase;letter-spacing:.03em;}
.consequence-box p{margin:0;}
.service-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px;}
.service-nav a{font-size:13px;font-weight:700;padding:8px 14px;border-radius:999px;border:1px solid var(--line);text-decoration:none;color:var(--ink-soft);background:var(--bg-raised);}
.service-nav a:hover, .service-nav a.active{border-color:var(--accent);color:var(--primary);}

/* Symptom cards (what we treat) */
.symptom-card{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;gap:16px;}
.symptom-card .icon-badge{flex-shrink:0;margin-bottom:0;}
.symptom-card h3{margin-bottom:6px;}
.symptom-card .method{font-size:13px;color:var(--accent-text);font-weight:700;margin-top:8px;display:block;}

/* Material / equipment chip */
.material-chip{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);padding:20px;text-align:center;}
.material-chip .icon-badge{margin:0 auto 12px;}
.material-chip h3{font-size:16px;margin-bottom:6px;}
.material-chip p{font-size:13px;margin:0;}

/* Before / after — static grid (do-posle.html) */
.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
@media (max-width:900px){.work-grid{grid-template-columns:1fr;}}
.work-pair{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.work-images{display:grid;grid-template-columns:1fr 1fr;}
.work-item{position:relative;aspect-ratio:4/3;overflow:hidden;}
.work-item img{width:100%;height:100%;object-fit:cover;display:block;}
.work-tag{position:absolute;top:10px;left:10px;padding:4px 12px;border-radius:20px;font-size:11.5px;font-weight:700;color:#fff;letter-spacing:.02em;background:rgba(20,22,24,0.55);backdrop-filter:blur(2px);}
.work-caption{padding:16px 18px;}
.work-caption h3{font-size:16px;margin-bottom:4px;}
.work-caption p{font-size:13.5px;color:var(--ink-soft);margin:0;}

/* Before / after — interactive drag slider (hero) */
.ba-slider{position:relative;aspect-ratio:2/1;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none;border:1px solid var(--line);}
.ba-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;}
.ba-base{z-index:1;}
.ba-overlay{position:absolute;inset:0;z-index:2;clip-path:inset(0 50% 0 0);}
.ba-tag{position:absolute;top:16px;padding:7px 16px;border-radius:999px;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#fff;}
.ba-tag.before{background:var(--warn);left:auto;right:16px;}
.ba-tag.after{background:var(--good);left:16px;right:auto;}
.ba-slider .ba-tag{z-index:3;}
.ba-handle{position:absolute;top:0;bottom:0;left:50%;width:0;z-index:4;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;}
.ba-handle::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:3px;background:#fff;transform:translateX(-50%);box-shadow:0 0 0 1px rgba(0,0,0,0.15);}
.ba-handle-grip{position:relative;width:46px;height:46px;border-radius:50%;background:var(--accent);border:3px solid #fff;box-shadow:0 4px 14px rgba(0,0,0,0.35);display:flex;align-items:center;justify-content:center;cursor:ew-resize;}
.ba-handle-grip svg{width:20px;height:20px;stroke:#fff;}
.ba-slider.dragging .ba-handle-grip{transform:scale(1.08);}
.ba-slider-caption{text-align:center;font-size:13px;color:var(--ink-soft);margin-top:12px;}

/* Mobile floating call button */
.mobile-call-btn{display:none;}
@media (max-width:999px){
  .mobile-call-btn{
    display:flex;align-items:center;justify-content:center;position:fixed;right:16px;bottom:16px;
    width:56px;height:56px;border-radius:50%;background:var(--accent);color:#ffffff;
    box-shadow:0 8px 20px rgba(0,0,0,0.28);z-index:200;text-decoration:none;
  }
  .mobile-call-btn svg{width:24px;height:24px;stroke:currentColor;fill:none;}
}

/* Booking modal (YCLIENTS embed, keeps visitor on-site) */
.booking-modal{position:fixed;inset:0;z-index:300;display:none;}
.booking-modal.open{display:block;}
.booking-modal-backdrop{position:absolute;inset:0;background:rgba(15,30,28,0.72);backdrop-filter:blur(4px);}
.booking-modal-panel{position:relative;margin:0 auto;height:100%;width:min(520px,100vw);background:#fff;display:flex;flex-direction:column;animation:bmSlide .25s ease;}
@keyframes bmSlide{from{transform:translateY(16px);opacity:0;}to{transform:translateY(0);opacity:1;}}
.booking-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:var(--primary-dark);color:#eafffb;flex-shrink:0;}
.booking-modal-head span{font-weight:700;font-size:0.95rem;}
.booking-modal-close{width:32px;height:32px;border-radius:9px;border:1px solid rgba(255,255,255,0.3);background:transparent;color:#eafffb;font-size:1rem;cursor:pointer;flex-shrink:0;}
.booking-iframe{flex:1;width:100%;border:0;background:#f4f4f4;}
.booking-modal-fallback{display:block;text-align:center;padding:10px;font-size:0.78rem;color:var(--ink-soft);background:var(--bg);border-top:1px solid var(--line);flex-shrink:0;}
.booking-modal-fallback:hover{color:var(--ink);}
@media (min-width:640px){.booking-modal-panel{margin:4vh auto;height:92vh;border-radius:20px;overflow:hidden;box-shadow:0 30px 80px -20px rgba(0,0,0,0.5);}}

/* Service card — booking button */
.service-card .card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;align-items:center;}
.btn-sm{display:inline-flex;align-items:center;justify-content:center;padding:9px 16px;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;font-size:13px;text-decoration:none;white-space:nowrap;transition:transform .15s ease;}
.btn-sm:hover{transform:translateY(-1px);}

/* Offers / акции */
.offer-card{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);padding:26px;position:relative;overflow:hidden;}
.offer-badge{display:inline-block;background:var(--accent);color:#fff;font-weight:800;font-size:12.5px;padding:5px 12px;border-radius:999px;margin-bottom:14px;letter-spacing:.02em;}
.offer-card ul{margin:10px 0 0;padding-left:18px;color:var(--ink-soft);font-size:13.5px;}
.offer-card li{margin-bottom:4px;}

/* Lightbox — click photos to view larger */
.lightbox{position:fixed;inset:0;z-index:400;display:none;align-items:center;justify-content:center;background:rgba(10,20,18,0.92);padding:32px;cursor:zoom-out;}
.lightbox.open{display:flex;}
.lightbox img{max-width:100%;max-height:100%;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,0.5);}
.lightbox-close{position:absolute;top:20px;right:20px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.14);border:1px solid rgba(255,255,255,0.3);color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.zoomable{cursor:zoom-in;}
.ba-zoom-btn{position:absolute;bottom:16px;right:16px;z-index:5;width:38px;height:38px;border-radius:50%;background:rgba(15,30,28,0.55);border:1px solid rgba(255,255,255,0.4);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.ba-zoom-btn svg{width:18px;height:18px;stroke:#fff;}

/* Nav search */
.nav-search{position:static;}
.nav-search-toggle{background:none;border:1px solid var(--line);border-radius:8px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-soft);flex-shrink:0;}
.nav-search-toggle svg{width:17px;height:17px;stroke:currentColor;fill:none;}
.nav-search-box{
  display:none;position:absolute;top:calc(100% + 10px);right:20px;left:20px;width:auto;max-width:360px;margin-left:auto;
  background:var(--bg-raised);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);
  padding:12px;z-index:120;
}
.nav-search-box.open{display:block;}
.nav-search-box input{
  width:100%;padding:11px 14px;border-radius:10px;border:1px solid var(--line);background:var(--bg);
  color:var(--ink);font-size:14.5px;font-family:inherit;
}
.nav-search-results{margin-top:8px;max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;}
.nav-search-results a{display:block;padding:10px 12px;border-radius:8px;font-size:14px;color:var(--ink);text-decoration:none;}
.nav-search-results a:hover{background:var(--bg);}
.nav-search-results a span{display:block;font-size:12px;color:var(--ink-soft);margin-top:2px;}
.nav-search-empty{padding:10px 12px;font-size:13px;color:var(--ink-soft);}
