/* ============================================================
   Табакова — theme styles
   Brand palette taken from the business card:
   red heart/pulse, navy wordmark, teal tech accents.
   ============================================================ */

:root{
  --red:#d8000c;
  --red-dark:#b0000a;
  --navy:#305490;
  --navy-2:#264271;
  --teal:#60c0d8;
  --ink:#1b2431;
  --muted:#5b6675;
  --bg:#ffffff;
  --soft:#f4f7fb;
  --soft-2:#eef3f9;
  --line:#e3e9f2;
  --white:#fff;
  --radius:16px;
  --radius-sm:10px;
  --shadow:0 10px 30px rgba(28,43,74,.08);
  --shadow-lg:0 24px 60px rgba(28,43,74,.14);
  --container:1400px;
  --font:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--red);text-decoration:none;transition:.2s}
a:hover{color:var(--red-dark)}
h1,h2,h3,h4{color:var(--navy);line-height:1.2;margin:0 0 .5em;font-weight:800}
p{margin:0 0 1rem}

.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 20px}
.container--narrow{max-width:820px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip-link{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:10px 16px;z-index:1000}
.skip-link:focus{left:10px;top:10px;color:#fff}

/* ---------- Buttons ---------- */
.btn{
  --btn-bg:var(--navy);--btn-fg:#fff;
  display:inline-flex;align-items:center;gap:.5rem;justify-content:center;
  background:var(--btn-bg);color:var(--btn-fg);border:2px solid var(--btn-bg);
  padding:.7rem 1.25rem;border-radius:999px;font-weight:700;font-size:.98rem;
  cursor:pointer;transition:.2s;white-space:nowrap;
}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05);color:var(--btn-fg)}
.btn--primary{--btn-bg:var(--red);}
.btn--primary:hover{--btn-bg:var(--red-dark);border-color:var(--red-dark)}
.btn--ghost{--btn-bg:transparent;--btn-fg:var(--navy);border-color:var(--line)}
.btn--ghost:hover{--btn-fg:var(--navy);background:var(--soft)}
.btn--lg{padding:.95rem 1.6rem;font-size:1.05rem}
/* "Оставете отзив в Google" button — white with a gold star. */
.btn--review{--btn-bg:#fff;--btn-fg:var(--navy);border-color:var(--line)}
.btn--review:hover{--btn-bg:#fff;border-color:#fbbc04;box-shadow:0 0 0 3px rgba(251,188,4,.20)}
.contact__actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin-top:.4rem}
.btn--sm{padding:.5rem .9rem;font-size:.88rem}
.btn--block{display:flex;width:100%}
.icon{flex:none;vertical-align:middle}

/* ---------- Topbar ---------- */
.topbar{background:var(--navy);color:#cdd7ea;font-size:.86rem}
.topbar__inner{display:flex;gap:1.5rem;align-items:center;justify-content:center;min-height:40px;flex-wrap:wrap}
.topbar__item{display:inline-flex;align-items:center;gap:.4rem;color:#cdd7ea}
.topbar__phone{color:#fff;font-weight:700}
.topbar__phone:hover{color:#fff}
.topbar__map{color:#fff;font-weight:700;text-decoration:none}
.topbar__map:hover{color:#fff;text-decoration:underline}
.topbar__hours{color:#fff;font-weight:700}
.topbar__map-short{display:none}
.topbar .icon{color:var(--teal)}

/* ---------- Social links ---------- */
.social{display:flex;gap:.5rem;align-items:center}
.social__link{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;border:1px solid var(--line);color:var(--navy);transition:.18s}
.social__link svg{width:18px;height:18px}
.social__link:hover{color:#fff;transform:translateY(-2px)}
.social__link--facebook:hover{background:#1877f2;border-color:#1877f2}
.social__link--instagram:hover{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);border-color:transparent}
.social__link--tiktok:hover{background:#010101;border-color:#010101}
.social__link--youtube:hover{background:#ff0000;border-color:#ff0000}
.social__link--viber:hover{background:#7360f2;border-color:#7360f2}
.social--top{margin-left:.85rem}
.social--top .social__link{width:26px;height:26px;border-radius:6px;border-color:rgba(255,255,255,.22);color:#cdd7ea}
.social--top .social__link svg{width:14px;height:14px}
.social--footer{margin-top:1.1rem}
.social--footer .social__link{border-color:rgba(255,255,255,.22);color:#dbe4f4}

/* ---------- Language switcher ---------- */
.langsw{display:flex;gap:.25rem;align-items:center}
.langsw__btn{padding:.2rem .55rem;border-radius:6px;font-weight:800;font-size:.76rem;letter-spacing:.04em;border:1px solid transparent;transition:.15s;line-height:1.6}
.langsw--top{margin-left:0}
.langsw--top .langsw__btn{color:#cdd7ea;border-color:rgba(255,255,255,.22)}
.langsw--top .langsw__btn:hover{color:#fff;border-color:rgba(255,255,255,.55)}
.langsw--top .langsw__btn.is-active{background:var(--red);border-color:var(--red);color:#fff}
.langsw--footer{margin-top:.9rem}
.langsw--footer .langsw__btn{color:#dbe4f4;border-color:rgba(255,255,255,.22);padding:.3rem .75rem;font-size:.82rem}
.langsw--footer .langsw__btn:hover{color:#fff;border-color:rgba(255,255,255,.55)}
.langsw--footer .langsw__btn.is-active{background:var(--red);border-color:var(--red);color:#fff}
@media (max-width:600px){.langsw--top{margin-left:.4rem}.langsw--top .langsw__btn{padding:.15rem .4rem;font-size:.72rem}}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-header.is-stuck{box-shadow:var(--shadow)}
.site-header__inner{display:flex;align-items:center;gap:1.1rem;min-height:76px;flex-wrap:wrap;row-gap:.4rem}
.custom-logo-link img,.custom-logo{max-height:60px;width:auto}
.brand-logo{display:inline-flex;align-items:center}
.brand-logo img{height:60px;width:auto;display:block}
.brand-logo--footer img{height:78px}
@media (max-width:600px){.brand-logo img{height:50px}}
.brand-fallback{display:flex;align-items:center;gap:.7rem}
.brand-fallback__mark{width:48px;height:48px;display:grid;place-items:center;background:linear-gradient(135deg,var(--red),#ef4b52);color:#fff;border-radius:14px;box-shadow:0 6px 16px rgba(216,31,38,.3)}
.brand-fallback__text{display:flex;flex-direction:column;line-height:1.1}
.brand-fallback__text strong{color:var(--navy);font-size:1.12rem;font-weight:800}
.brand-fallback__text em{color:var(--muted);font-style:normal;font-size:.78rem;letter-spacing:.02em}

.site-nav{margin-left:auto}
.nav-menu{display:flex;gap:.6rem;list-style:none;margin:0;padding:0}
.nav-menu a{position:relative;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;border-radius:0;color:var(--ink);font-weight:700;padding:.42rem .65rem;font-size:1rem;transition:color .2s;white-space:nowrap}
/* Active-page indicator: a persistent red underline. */
.nav-menu a::before{content:"";position:absolute;left:50%;right:50%;bottom:-2px;height:3px;border-radius:3px;background:var(--red);transition:left .22s ease,right .22s ease;pointer-events:none}
/* Hover: a red outline that draws sideways from the centre out to the sides — border only, no fill. */
.nav-menu a::after{content:"";position:absolute;top:0;bottom:0;left:50%;width:0;transform:translateX(-50%);border:2px solid var(--red);border-radius:8px;box-sizing:border-box;pointer-events:none;opacity:0;transition:width .24s ease,opacity .12s ease}
.nav-menu a:hover{color:var(--red)}
.nav-menu a:hover::after{width:100%;opacity:1}
.nav-menu .current-menu-item>a,.nav-menu .current_page_item>a,.nav-menu .current-menu-ancestor>a,.nav-menu a[aria-current="page"]{color:var(--red)}
.nav-menu .current-menu-item>a::before,.nav-menu .current_page_item>a::before,.nav-menu .current-menu-ancestor>a::before,.nav-menu a[aria-current="page"]::before{left:12%;right:12%}
.site-footer .nav-menu a::before,.site-footer .nav-menu a::after{display:none}
.site-header__cta .btn{margin-left:.25rem}

/* Neon glowing border on the header "Запази час" CTA (desktop + mobile). */
.site-header__cta .btn--primary,
.mobile-nav .btn--primary{
  border-color:#ff2e43;
  box-shadow:0 0 4px rgba(255,46,67,.85),0 0 11px rgba(255,46,67,.55),0 0 20px rgba(255,46,67,.32);
  animation:tbkNeonBtn 1.9s ease-in-out infinite;
}
.site-header__cta .btn--primary:hover,
.mobile-nav .btn--primary:hover{
  box-shadow:0 0 7px rgba(255,46,67,1),0 0 20px rgba(255,46,67,.85),0 0 38px rgba(255,46,67,.55);
  animation:none;
}
@keyframes tbkNeonBtn{
  0%,100%{border-color:#ff2e43;box-shadow:0 0 4px rgba(255,46,67,.8),0 0 10px rgba(255,46,67,.5),0 0 18px rgba(255,46,67,.28)}
  50%{border-color:#ff5468;box-shadow:0 0 6px rgba(255,46,67,1),0 0 16px rgba(255,46,67,.8),0 0 30px rgba(255,46,67,.5)}
}
@media (prefers-reduced-motion:reduce){
  .site-header__cta .btn--primary,.mobile-nav .btn--primary{animation:none}
}

.nav-toggle{display:none;flex-direction:column;gap:5px;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;padding:0;align-items:center;justify-content:center}
.nav-toggle span{width:22px;height:2px;background:var(--navy);border-radius:2px;transition:.25s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.mobile-nav{border-top:1px solid var(--line);background:#fff;padding:1rem 20px 1.5rem}
.mobile-nav__menu{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.25rem}
.mobile-nav__menu a{display:block;padding:.8rem .6rem;color:var(--navy);font-weight:600;border-bottom:1px solid var(--soft-2);text-align:center}
/* Working hours — a compact, labelled block inside the top header row. */
.site-header__hours{display:flex;align-items:center;gap:0}
.site-header__hours .shh__col{display:flex;align-items:center;gap:.5rem;padding:.15rem 1rem}
.site-header__hours .shh__col + .shh__col{border-left:1px solid var(--line)}
.site-header__hours .shh__ic{width:34px;height:34px;border-radius:50%;background:#fdecec;color:var(--red);display:grid;place-items:center;flex:0 0 auto}
.site-header__hours .shh__ic svg{width:16px;height:16px}
.site-header__hours .shh__txt{display:flex;flex-direction:column;line-height:1.25;white-space:nowrap}
.site-header__hours .shh__title{color:var(--red);font-weight:800;font-size:.82rem}
.site-header__hours .shh__day{color:var(--muted);font-size:.72rem}
.site-header__hours .shh__time{color:var(--navy);font-weight:800;font-size:.8rem}
.site-header__hours .shh__col--weekend .shh__time{color:var(--muted);font-weight:600}
:root[data-theme="dark"] .site-header__hours .shh__ic{background:rgba(216,0,12,.18)}
:root[data-theme="dark"] .site-header__hours .shh__time{color:#e7edf5}

/* Floating "book" shortcut — pinned bottom-right, phones/tablets only. */
.tbk-fab{position:fixed;right:18px;bottom:18px;z-index:1200;display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .8rem;border-radius:999px;background:var(--red);color:#fff;font-weight:700;font-size:.82rem;line-height:1;text-decoration:none;box-shadow:0 8px 22px rgba(216,0,12,.34);transition:transform .15s ease,box-shadow .15s ease}
.tbk-fab svg{width:17px;height:17px}
.tbk-fab:hover,.tbk-fab:focus{color:#fff;transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.34)}
.tbk-fab svg{flex:0 0 auto}

/* ---------- Hero ---------- */
.hero{background:
  radial-gradient(1000px 500px at 85% -10%,rgba(47,159,196,.10),transparent 60%),
  linear-gradient(180deg,var(--soft),#fff);
  padding:clamp(2.5rem,5vw,4.5rem) 0;overflow:hidden}
.hero__inner{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.hero__content{align-self:start;padding-top:.35rem}
.hero__aside{align-self:start}
.hero__aside .hero__notice{max-width:none;margin-bottom:0}
.hero__eyebrow{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--line);color:var(--navy);padding:.35rem .8rem;border-radius:999px;font-weight:700;font-size:.85rem;margin-bottom:1rem}
.hero__eyebrow .icon{color:var(--teal)}
.hero__title{font-size:clamp(2.1rem,4.5vw,3.3rem);letter-spacing:-.02em;margin-bottom:.6rem}
.hero__lead{font-size:1.12rem;color:var(--muted);max-width:36ch;margin-bottom:1.6rem}
.hero__actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.5rem}
.hero__badges{display:flex;flex-wrap:wrap;gap:1.1rem;list-style:none;margin:0;padding:0}
.hero__badges li{display:inline-flex;align-items:center;gap:.4rem;color:var(--navy);font-weight:600;font-size:.92rem}
.hero__badges .icon{color:var(--red)}

/* ---------- Sections ---------- */
.section{padding:clamp(1.1rem,2.2vw,1.8rem) 0}
.section--soft{background:var(--soft)}
.section__head{text-align:center;max-width:720px;margin:0 auto 1.2rem}
.section__head--left{text-align:left;margin-left:0}
.section__eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:.78rem;color:var(--red);margin-bottom:.5rem}
.section__title{font-size:clamp(1.7rem,3.4vw,2.4rem)}
.section__sub{color:var(--muted);font-size:1.06rem}

/* ---------- Cards (services) ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;transition:.25s;position:relative}
.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);border-color:transparent}
/* Clickable service card (homepage accordion) — whole card is a link, greys on hover. */
a.card,.card--clickable{display:flex;flex-direction:column;color:inherit;text-decoration:none;cursor:pointer}
.services .services-grid a.card:hover{background:#fdecec;transform:none;box-shadow:var(--shadow);border-color:var(--red)}
:root[data-theme="dark"] .services .services-grid a.card:hover{background:rgba(216,0,12,.16)}
.card__icon{width:56px;height:56px;display:grid;place-items:center;border-radius:14px;background:var(--soft-2);color:var(--red);margin-bottom:1rem}
.card__title{font-size:1.16rem;margin-bottom:.4rem}
.card__desc{color:var(--muted);font-size:.98rem;margin-bottom:1rem}
.card__price{font-weight:800;color:var(--navy);margin-bottom:.75rem}
.card__link{font-weight:700;color:var(--red)}

/* ---------- Services grid (5 per row) ---------- */
.services .services-grid{grid-template-columns:repeat(5,1fr);gap:1rem}
.services .services-grid .card{padding:1.1rem}
.services .services-grid .card__icon{width:46px;height:46px;margin-bottom:.75rem;border-radius:12px}
.services .services-grid .card__title{font-size:1rem;line-height:1.3}
.services .services-grid .card__desc{font-size:.86rem;margin-bottom:.8rem}
.services .services-grid .card__price{font-size:.98rem}
@media (max-width:1200px){.services .services-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:960px){.services .services-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:680px){
  .services .services-grid{grid-template-columns:repeat(2,1fr);gap:.7rem}
  .services .services-grid .card{padding:.8rem}
  .services .services-grid .card__icon{width:38px;height:38px;margin-bottom:.5rem}
  .services .services-grid .card__title{font-size:.9rem}
  .services .services-grid .card__desc{display:none}
}
@media (max-width:330px){.services .services-grid{grid-template-columns:1fr}}

/* ---------- Hero price notice ---------- */
.hero__notice{background:#fff;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:12px;
  padding:.9rem 1.1rem;margin-bottom:1.4rem;max-width:46ch;box-shadow:var(--shadow)}
.hero__notice-title{display:flex;align-items:center;gap:.4rem;font-size:.95rem;margin:0 0 .6rem;color:var(--navy)}
.hero__notice-title .icon{color:var(--red);flex:none}
.hero__notice-group{margin:.2rem 0 .25rem;font-size:.72rem;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:var(--navy);opacity:.75}
.hero__notice-group:not(:first-of-type){margin-top:.9rem}
.hero__notice-sub{margin:.35rem 0 0;font-size:.78rem;color:var(--muted);font-style:italic}
.hero__notice-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.hero__notice-list li{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;
  padding:.35rem 0;border-bottom:1px dashed var(--line);font-size:.88rem;color:var(--muted)}
.hero__notice-list li:last-child{border-bottom:0}
.hero__notice-list strong{color:var(--red);font-weight:800;white-space:nowrap}
.hero__notice-note{display:flex;align-items:flex-start;gap:.45rem;margin:.7rem 0 0;padding-top:.7rem;
  border-top:1px solid var(--line);font-size:.82rem;line-height:1.45;color:var(--muted)}
.hero__notice-note .icon{color:var(--teal);flex:none;margin-top:.15rem}
@media (max-width:600px){
  .hero__notice{max-width:none;margin-left:auto;margin-right:auto;text-align:left}
  .hero__notice-list li{font-size:.85rem;gap:.5rem}
}

/* ---------- Products ---------- */
.products-filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1.8rem}
.products-filters__label{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;color:var(--navy);margin-right:.4rem}
.products-filters__label .icon{color:var(--red)}
.chip{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:.45rem .95rem;font-weight:600;font-size:.9rem;color:var(--navy);background:#fff;cursor:pointer;transition:.15s}
.chip:hover{border-color:var(--red);color:var(--red)}
.chip.is-active{background:var(--navy);border-color:var(--navy);color:#fff}
.product-card{display:flex;flex-direction:column}
.product-card__img{display:block;border-radius:10px;overflow:hidden;margin-bottom:1rem;aspect-ratio:4/3;background:var(--soft-2)}
.product-card__img img{width:100%;height:100%;object-fit:cover}
.product-card__img--ph{display:grid;place-items:center;color:var(--teal)}
.product-card .card__title{font-size:1.1rem}
.product-card .card__title a{color:var(--navy)}
.product-card .card__title a:hover{color:var(--red)}
.product-card .card__price{margin-top:auto;padding-top:.5rem}
.product-card{padding:1.1rem}
/* 5 products per row (graded down on smaller screens; high specificity beats .cards) */
.products-archive .products-grid{grid-template-columns:repeat(5,1fr);gap:1rem}
@media (max-width:1200px){.products-archive .products-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:960px){.products-archive .products-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:680px){
  .products-archive .products-grid{grid-template-columns:repeat(2,1fr);gap:.7rem}
  .product-card{padding:.7rem;border-radius:12px}
  .product-card__img{margin-bottom:.55rem;border-radius:8px}
  .product-card__img--ph .icon{width:30px;height:30px}
  .product-card .card__title{font-size:.9rem;line-height:1.25;margin-bottom:.25rem}
  .product-card .card__desc{display:none}
  .product-card .card__price{font-size:.95rem;padding-top:.25rem;margin-bottom:.5rem}
  .product-card .card__link{font-size:.8rem}
  .product-card .card__link .icon{width:14px;height:14px}
  .products-toolbar{gap:.6rem;margin-bottom:1.1rem}
  .products-filters__label{font-size:.9rem}
  .chip{padding:.4rem .8rem;font-size:.85rem}
}
@media (max-width:330px){.products-archive .products-grid{grid-template-columns:1fr}}

/* Keep the top bar on a single line on small phones */
@media (max-width:420px){
  .topbar__inner{gap:.5rem}
  .topbar__phone{font-size:.8rem}
  .social--top{margin-left:.3rem;gap:.3rem}
  .social--top .social__link{width:24px;height:24px}
  .social--top .social__link svg{width:13px;height:13px}
  .langsw--top{margin-left:.3rem;gap:.15rem}
  .langsw--top .langsw__btn{padding:.12rem .38rem;font-size:.7rem}
}

/* Products toolbar (search + filters) */
.products-toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:1.6rem}
.products-search{position:relative;display:flex;align-items:center;gap:.5rem;flex:1 1 280px;max-width:420px}
.products-search__ic{position:absolute;left:.8rem;color:var(--muted);pointer-events:none;display:inline-flex}
.products-search input[type=search]{flex:1;width:100%;padding:.7rem .9rem .7rem 2.6rem;border:1.5px solid var(--line);border-radius:999px;font:inherit;color:var(--navy)}
.products-search input[type=search]:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(216,0,12,.12)}
.products-search .btn{flex:none}
.products-result-info{margin:-.6rem 0 1.4rem;color:var(--muted);font-size:.92rem}
@media (max-width:600px){.products-toolbar{flex-direction:column;align-items:stretch}.products-search{max-width:none}.products-filters{justify-content:center}}

/* ---------- Features (why us) ---------- */
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.feature{background:#fff;border-radius:var(--radius);padding:1.6rem;text-align:center;box-shadow:var(--shadow)}
.feature__icon{width:60px;height:60px;margin:0 auto 1rem;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff}
.feature__title{font-size:1.1rem;margin-bottom:.35rem}
.feature__desc{color:var(--muted);font-size:.95rem;margin:0}

/* ---------- Team ---------- */
.team__inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
.team__photo-frame{aspect-ratio:4/5;border-radius:var(--radius);background:linear-gradient(160deg,var(--soft-2),#dfe8f4);display:grid;place-items:center;color:var(--navy);position:relative;overflow:hidden;box-shadow:var(--shadow)}
.team__photo-frame .icon{opacity:.5}
.team__img{width:100%;height:100%;object-fit:cover;display:block}
.team__photo-hint{position:absolute;bottom:14px;left:14px;right:14px;font-size:.78rem;color:var(--muted);text-align:center}
.team__role{color:var(--red);font-weight:700;margin:-.3rem 0 1rem}
.team__bio{color:var(--muted)}
.team__points{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-direction:column;gap:.6rem}
.team__points li{display:flex;align-items:center;gap:.6rem;font-weight:600;color:var(--navy)}
.team__points .icon{color:var(--red)}

/* ---------- Team + booking (front page) ---------- */
.team-booking__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.25rem,3vw,2.25rem);align-items:start;max-width:1400px}
.team-booking__team{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:16px;padding:clamp(1.2rem,2.4vw,1.9rem);box-shadow:var(--shadow)}
.team-booking__team .section__title{margin-bottom:.15rem}
/* Large photo on top, text stacked underneath */
.team-booking__photo{margin:.9rem 0 .9rem;aspect-ratio:auto;min-height:0;width:100%;
  max-width:440px;border-radius:14px;overflow:hidden}
.team-booking__photo .team__img{width:100%;height:auto;display:block}
.team-booking__photo:not(:has(img)){aspect-ratio:4/3;max-width:440px}
.team-booking__photo .icon{opacity:.45}
.team-booking__team .team__bio{margin-bottom:0}

/* Plain check-mark list — no boxes, one line under another */
.team-points{display:flex;flex-direction:column;gap:.45rem;margin:.9rem 0 0;padding:0;list-style:none}
.team-points li{display:flex;align-items:flex-start;gap:.55rem;background:none;border:0;border-radius:0;padding:0;
  font-size:clamp(.88rem,1.05vw,.96rem);line-height:1.45;color:var(--navy);font-weight:600}
.team-points .icon{color:var(--red);flex:none;margin-top:.2rem}
.team-points--facts{margin-top:.55rem}
.team-points--facts li{font-weight:500;color:var(--muted)}
.team-points--facts strong{color:var(--navy);font-weight:700}
.team-booking__form .tbk{max-width:none;margin:0}
/* When the booking form is not present, centre the specialist on its own. */
.team-booking__grid--single{grid-template-columns:1fr;max-width:760px;margin-left:auto;margin-right:auto}
@media (max-width:1000px){
  .team-booking__grid{grid-template-columns:1fr}
  .team-booking__form{margin-top:.5rem}
  .team-booking__form .tbk{max-width:620px;margin:0 auto}
}

/* ---------- Services accordion (3 collapsible categories) ---------- */
.svc-accordion{display:flex;flex-direction:column;gap:.85rem;margin-top:1.4rem}
.svc-group{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);overflow:hidden;scroll-margin-top:100px}
/* Scroll-reveal: armed (hidden instantly) by JS, then transitions in on view. */
.svc-group.svc-armed{opacity:0;transform:translateY(26px)}
.svc-group.svc-armed.is-inview{opacity:1;transform:none;transition:opacity .55s ease,transform .55s ease}
.svc-group__toggle{width:100%;display:flex;align-items:center;gap:.9rem;padding:1.05rem 1.15rem;background:none;border:0;cursor:pointer;text-align:left;color:var(--navy);font-family:inherit}
.svc-group__toggle:hover{background:var(--soft)}
.svc-group__ic{flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:var(--soft-2);color:var(--red)}
.svc-group__label{display:flex;flex-direction:column;gap:.1rem;flex:1 1 auto;min-width:0}
.svc-group__title{font-size:clamp(1rem,1.6vw,1.15rem);font-weight:800;line-height:1.2}
.svc-group__count{font-size:.82rem;color:var(--muted);font-weight:600}
.svc-group__chev{flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;transition:transform .3s ease,background .3s ease;animation:svcHint 1.4s ease-in-out infinite}
.svc-group__chev svg{width:22px;height:22px;stroke-width:2.4}
.svc-group__toggle:hover .svc-group__chev{transform:scale(1.08)}
.svc-group.is-open .svc-group__chev{transform:rotate(180deg);background:var(--navy);animation:none;box-shadow:none}
@keyframes svcHint{0%,100%{transform:translateY(0);box-shadow:0 0 0 0 rgba(216,0,12,.5)}50%{transform:translateY(5px);box-shadow:0 0 0 10px rgba(216,0,12,0)}}
@media (prefers-reduced-motion:reduce){.svc-group__chev{animation:none}}
/* Unfold: the panel opens instantly (reliable), the content slides+fades in. */
.svc-group__panel{max-height:0;overflow:hidden}
.svc-group.is-open .svc-group__panel{max-height:none}
.svc-group__panel-inner{min-height:0}
.svc-group.is-open .svc-group__panel-inner{animation:svcReveal .42s ease both}
@keyframes svcReveal{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.svc-group.is-open .svc-group__panel-inner{animation:none}}
.svc-group__panel .services-grid{padding:.25rem 1.15rem 1.3rem}
:root[data-theme="dark"] .svc-group{background:var(--white)}
:root[data-theme="dark"] .svc-group__ic{background:var(--soft-2)}
@media (max-width:560px){
  .team-booking__photo{max-width:100%;margin-left:auto;margin-right:auto}
}

/* ---------- Contact ---------- */
.contact__inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:stretch}
.contact__list{list-style:none;padding:0;margin:0 0 1.8rem;display:flex;flex-direction:column;gap:1.1rem}
.contact__list li{display:flex;gap:.9rem;align-items:flex-start}
.contact__ic{flex:none;width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:var(--soft-2);color:var(--red)}
.contact__map{position:relative;display:block;min-height:380px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:var(--soft-2);transition:.18s}
.contact__map:hover{box-shadow:var(--shadow-lg)}
.contact__map iframe{display:block;min-height:380px;height:100%;width:100%}
.contact__map-open{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:.4rem;background:var(--red);color:#fff;font-weight:700;font-size:.85rem;padding:.5rem .8rem;border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.contact__map-open .icon{color:#fff}
.contact__map-placeholder{height:100%;min-height:380px;display:grid;place-content:center;gap:.8rem;text-align:center;color:var(--muted);padding:2rem}
.contact__map-placeholder .icon{margin:0 auto;color:var(--teal)}
.hours-list{list-style:none;padding:0;margin:.4rem 0 0}
.hours-list li{display:flex;justify-content:space-between;gap:1rem;padding:.25rem 0;font-size:.95rem;border-bottom:1px dashed var(--line)}
.hours-list li span{color:var(--muted)}
.hours-list li strong{color:var(--navy)}

/* ---------- Service table (services page) ---------- */
.service-table{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:.7rem;align-items:stretch}
.service-row{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:1fr auto;grid-template-areas:"icon body body" "dur price cta";column-gap:.8rem;row-gap:.7rem;align-items:start;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:1rem 1.1rem}
/* Scroll-reveal for the services list — instant hide, quick fade+slide in. */
.service-row.svc-armed{opacity:0;transform:translateY(18px);transition:none}
.service-row.svc-armed.is-inview{opacity:1;transform:none;transition:opacity .25s ease,transform .25s ease}
.service-row__icon{grid-area:icon;width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--soft-2);color:var(--red)}
.service-row__body{grid-area:body}
.service-row__name{font-size:1rem;margin:0;line-height:1.35}
.service-row__desc{color:var(--muted);font-size:.85rem;margin:.25rem 0 0;line-height:1.45}
.service-row__dur{grid-area:dur;align-self:center;color:var(--muted);font-size:.85rem;display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}
.service-row__price{grid-area:price;align-self:center;font-weight:800;color:var(--navy);white-space:nowrap;font-size:.95rem}
a.service-row{text-decoration:none;color:inherit;cursor:pointer;transition:.18s}
a.service-row:hover{border-color:var(--red);background:#fdecec;box-shadow:var(--shadow);transform:translateY(-2px)}
:root[data-theme="dark"] a.service-row:hover{background:rgba(216,0,12,.16)}
a.service-row:focus-visible{outline:2px solid var(--red);outline-offset:3px}
a.service-row:hover .service-row__cta{filter:brightness(1.06)}
.service-row__cta{grid-area:cta;justify-self:end;align-self:center;pointer-events:none}

/* ---------- Services page: categories → wide panel (desktop) / inline accordion (phone) ---------- */
.svc-cats{display:flex;flex-direction:column;gap:.7rem}
.svc-cat{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;text-align:left;
  padding:1.4rem 1.3rem 1.15rem;min-height:184px;border:1.5px solid var(--line);border-radius:16px;background:#fff;cursor:pointer;
  font-family:inherit;color:var(--navy);transition:border-color .2s,box-shadow .2s,transform .2s}
.svc-cat:hover{border-color:var(--red)}
.svc-cat.is-active{border-color:var(--red);background:#fff;color:var(--navy);box-shadow:0 12px 30px rgba(216,0,12,.16)}
.svc-cat__ic{flex:0 0 auto;width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:var(--soft-2);color:var(--red)}
.svc-cat__title{font-weight:800;font-size:1.08rem;line-height:1.25;width:100%}
.svc-cat__count{font-size:.84rem;color:var(--muted);font-weight:600}
.svc-cat__chev{display:none}
/* Divider + "Избери / Избрано" radio row, pinned to the card bottom. */
.svc-cat__pick{width:100%;display:flex;align-items:center;gap:.6rem;margin-top:auto;padding-top:.95rem;border-top:1px solid var(--line);font-weight:700;color:var(--muted)}
.svc-cat__radio{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid #c3cbd8;transition:.2s}
.svc-cat__pick-on{display:none}
.svc-cat.is-active .svc-cat__pick{color:var(--red)}
.svc-cat.is-active .svc-cat__radio{border-color:var(--red);background:var(--red);box-shadow:inset 0 0 0 3.5px #fff}
.svc-cat.is-active .svc-cat__pick-off{display:none}
.svc-cat.is-active .svc-cat__pick-on{display:inline}
/* "ИЗБРАНО" badge, top-right, only on the active card. */
.svc-cat__badge{position:absolute;top:1rem;right:1rem;z-index:3;display:none;align-items:center;gap:.4rem;
  background:#fde7e8;color:var(--red);font-size:.72rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;padding:.28rem .35rem .28rem .62rem;border-radius:999px}
.svc-cat__badge svg{flex:none;width:18px;height:18px;background:var(--red);color:#fff;border-radius:50%;padding:3px}
.svc-cat.is-active .svc-cat__badge{display:inline-flex}
/* Slowly rotating gradient border — only on the active card. */
@property --svc-ang{syntax:"<angle>";inherits:false;initial-value:0deg}
.svc-cat.is-active::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;z-index:4;pointer-events:none;
  background:conic-gradient(from var(--svc-ang),rgba(255,46,67,0) 0deg,rgba(255,46,67,0) 200deg,#ff8a94 275deg,#ff2e43 330deg,#ff2e43 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  animation:svcBorderRot 8s linear infinite}
@keyframes svcBorderRot{to{--svc-ang:360deg}}
@media (prefers-reduced-motion:reduce){.svc-cat.is-active::before{animation:none}}
.svc-cats__panel{animation:svcReveal .3s ease}
.svc-cats__panel-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-weight:800;color:var(--navy);font-size:1.02rem;margin:.1rem 0 .9rem}
.svc-cats__panel-head svg{color:var(--red);flex:0 0 auto}
.svc-cats__panel-badge{display:inline-flex;align-items:center;background:var(--red);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;padding:.2rem .55rem;border-radius:999px}
/* Roman numeral on each main category + per-service numbers (restart per category). */
.svc-cat__roman{color:var(--red);font-weight:900;margin-right:.15rem}
.svc-cats__panel-roman{color:var(--red);font-weight:900}
.service-row__num{color:var(--red);font-weight:800;margin-right:.15rem;font-variant-numeric:tabular-nums}
.service-table--wide{display:grid;grid-template-columns:1fr;gap:.7rem}
:root[data-theme="dark"] .svc-cat{background:var(--white)}
:root[data-theme="dark"] .svc-cat:not(.is-active) .svc-cat__ic{background:var(--soft-2)}
/* Desktop: 3 categories side by side, one wide panel spanning below them. */
@media (min-width:821px){
  .svc-cats{display:grid;grid-template-columns:repeat(3,1fr);column-gap:.9rem;row-gap:1.15rem;align-items:start}
  .svc-cat{grid-row:1}
  .svc-cat:nth-of-type(1){grid-column:1}
  .svc-cat:nth-of-type(2){grid-column:2}
  .svc-cat:nth-of-type(3){grid-column:3}
  .svc-cat.is-active{transform:translateY(-3px);box-shadow:0 12px 26px rgba(216,0,12,.30)}
  .svc-cat.is-active::after{content:"";position:absolute;left:50%;bottom:-13px;transform:translateX(-50%);width:0;height:0;border:10px solid transparent;border-top-color:var(--red)}
  .svc-cats__panel{grid-column:1 / -1;grid-row:2}
  .service-table--wide{grid-template-columns:repeat(2,1fr)}
}

/* ---------- Landing pages (service / service+town) ---------- */
.breadcrumb{font-size:.85rem;color:var(--muted);margin-bottom:1.5rem}
.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:var(--red)}
.landing__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.landing__title{font-size:clamp(1.8rem,3.6vw,2.6rem);margin-bottom:.6rem}
.landing__lead{font-size:1.1rem;color:var(--muted);margin-bottom:1.2rem}
.landing__note{background:var(--soft);border-left:3px solid var(--red);padding:.7rem 1rem;border-radius:8px;color:var(--navy);font-size:.95rem;display:flex;gap:.5rem;align-items:flex-start}
.landing__note .icon{color:var(--red);flex:none}
.landing__facts{display:flex;flex-wrap:wrap;gap:1rem;margin:1.5rem 0}
.landing__fact{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.8rem 1.1rem;min-width:130px}
.landing__fact span{display:block;font-size:.8rem;color:var(--muted)}
.landing__fact strong{color:var(--navy);font-size:1.05rem}
.landing__faq{margin:2rem 0}
.landing__faq h2,.landing__towns h2{font-size:1.3rem;margin-bottom:1rem}
.landing__faq details{border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem;margin-bottom:.6rem;background:#fff}
.landing__faq summary{font-weight:700;color:var(--navy);cursor:pointer}
.landing__faq p{margin:.6rem 0 0;color:var(--muted)}
.landing__towns{margin:2rem 0}
.landing__town-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}
.landing__town{display:flex;align-items:center;gap:.6rem;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.9rem 1.1rem;color:var(--navy);font-weight:600;transition:.15s}
.landing__town:hover{border-color:var(--red);color:var(--navy);box-shadow:var(--shadow);transform:translateY(-2px)}
.landing__town .icon{color:var(--red);flex:none}
.landing__booking{position:sticky;top:96px}
@media(max-width:900px){.landing__grid{grid-template-columns:1fr}.landing__booking{position:static;order:-1;margin-bottom:1.5rem}}
@media(max-width:520px){.landing__town-grid{grid-template-columns:1fr}}

/* ---------- About page ---------- */
.about__head{max-width:760px;margin-left:auto;margin-right:auto;text-align:center}
.about__content{text-align:center;margin-bottom:2.5rem}
.about__bottom{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(1.5rem,4vw,3rem);align-items:start;margin-top:2.5rem}
.about__photo{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:var(--soft-2)}
.about__photo img{width:100%;height:auto;display:block}
.about__photo-ph{aspect-ratio:4/5;display:grid;place-content:center;gap:.8rem;text-align:center;color:var(--muted);padding:1.5rem}
.about__photo-ph .icon{margin:0 auto;color:var(--teal);opacity:.55}
.about__photo-ph span{font-size:.82rem;line-height:1.4}
.about__desc h2{font-size:1.6rem;margin-bottom:.2rem}
.about__role{color:var(--red);font-weight:700;margin-bottom:1rem}
.about__desc p{color:var(--muted)}
.about__points{list-style:none;padding:0;margin:1.2rem 0;display:flex;flex-direction:column;gap:.6rem}
.about__points li{display:flex;align-items:flex-start;gap:.6rem;color:var(--navy);font-weight:600}
.about__points .icon{color:var(--red);flex:none;margin-top:.15rem}
.about__cta{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.4rem}
@media (max-width:860px){
  .about__bottom{grid-template-columns:1fr}
  .about__photo{max-width:360px;margin:0 auto}
  .about__desc{text-align:center}
  .about__points li{text-align:left}
  .about__cta{justify-content:center}
}

/* ---------- Prose ---------- */
.prose{color:var(--ink)}
.prose h2{margin-top:1.6em}
.prose ul,.prose ol{padding-left:1.3em}
.prose img{border-radius:var(--radius-sm);margin:1rem 0}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy);color:#c6d0e4;margin-top:0}
.site-footer a{color:#dbe4f4}
.site-footer a:hover{color:#fff}
.site-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;padding:3.5rem 20px 2.5rem}
.site-footer .brand-fallback__text strong{color:#fff}
.site-footer .brand-fallback__text em{color:#9fb0cf}
.site-footer__about{color:#9fb0cf;font-size:.95rem;margin-top:1rem}
.footer-widget__title{color:#fff;font-size:1.02rem;margin-bottom:1rem}
.footer-contacts{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.7rem}
.footer-contacts li{display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem}
.footer-contacts .icon{color:var(--teal);flex:none}
.footer-contacts a{color:inherit;text-decoration:none}
.footer-contacts a:hover{color:#fff;text-decoration:underline}
/* Footer mini-map (click opens Google Maps; iframe is non-interactive). */
.footer-map{position:relative;display:block;margin-top:1.1rem;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.14);line-height:0}
.footer-map__frame{width:100%;height:150px;border:0;display:block;pointer-events:none}
.footer-map__cta{position:absolute;left:8px;bottom:8px;display:inline-flex;align-items:center;gap:.35rem;background:var(--red);color:#fff;font-size:.8rem;font-weight:700;padding:.35rem .65rem;border-radius:999px;line-height:1}
.footer-map__cta .icon{color:#fff}
.site-footer__legal{color:#c6d0e4;text-decoration:underline;text-underline-offset:2px}
.site-footer__legal:hover{color:#fff}
.footer-menu{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:.5rem}
/* Footer nav must stack vertically even when it falls back to the .nav-menu markup */
.site-footer .nav-menu{flex-direction:column;gap:.4rem;margin:0 0 1rem}
.site-footer .nav-menu a{padding:.1rem 0;background:none;border:none;border-radius:0;color:inherit;font-weight:600;display:inline}
.site-footer .nav-menu a:hover{background:none;border:none;color:var(--red)}
.site-footer .hours-list li{border-color:rgba(255,255,255,.12)}
.site-footer .hours-list li span{color:#9fb0cf}
.site-footer .hours-list li strong{color:#fff}
/* ---- Footer polish (mockup): header icons, hour badges, quick-links, CTA card ---- */
.footer-widget__title{display:flex;align-items:center;gap:.55rem}
.footer-widget__ic{display:inline-grid;place-items:center;width:30px;height:30px;flex:none;border-radius:9px;background:rgba(255,255,255,.10);color:var(--teal)}
.footer-widget__ic .icon,.footer-widget__ic svg{width:16px;height:16px}
.footer-hours{list-style:none;padding:0;margin:.2rem 0 0;display:flex;flex-direction:column;gap:.6rem}
.footer-hours li{display:flex;flex-direction:column;gap:.32rem}
.footer-hours__lbl{color:#9fb0cf;font-size:.86rem}
.footer-hours__val{align-self:flex-start;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15);color:#fff;font-weight:700;font-size:.9rem;padding:.36rem .72rem;border-radius:9px}
.site-footer .footer-menu,.site-footer .nav-menu{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}
.site-footer .footer-menu li a,.site-footer .nav-menu li a{position:relative;display:flex;align-items:center;gap:.55rem;padding:.55rem .8rem;border-radius:10px;background:rgba(255,255,255,.05);color:#dbe4f4;font-weight:600;transition:.15s}
.site-footer .footer-menu li a::after,.site-footer .nav-menu li a::after{content:"";margin-left:auto;width:7px;height:7px;border-right:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg);opacity:.55}
.site-footer .footer-menu li a:hover,.site-footer .nav-menu li a:hover{background:rgba(255,255,255,.13);color:#fff}
.footer-cta{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding:.8rem .9rem;border-radius:14px;background:var(--red);color:#fff!important;box-shadow:0 10px 24px rgba(216,0,12,.28);transition:.15s}
.footer-cta:hover{filter:brightness(1.07);color:#fff!important}
.footer-cta__ic{display:inline-grid;place-items:center;width:40px;height:40px;flex:none;border-radius:11px;background:rgba(255,255,255,.18)}
.footer-cta__txt{display:flex;flex-direction:column;line-height:1.2}
.footer-cta__txt strong{font-size:1rem;font-weight:800}
.footer-cta__txt small{font-size:.78rem;opacity:.92}
.site-footer__bottom{border-top:1px solid rgba(255,255,255,.12)}
.site-footer__bottom-inner{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.2rem 20px;font-size:.86rem;color:#9fb0cf}

/* ---------- Blog list ---------- */
.post-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.post-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.post-item__thumb img{width:100%;aspect-ratio:3/2;object-fit:cover}
.post-item__title{font-size:1.2rem;padding:1rem 1.2rem 0}
.post-item__excerpt{padding:0 1.2rem;color:var(--muted)}
.post-item .card__link{display:inline-block;padding:0 1.2rem 1.2rem}

/* ============================================================
   Responsive
   ============================================================ */
/* Grid children must be allowed to shrink below their content width,
   otherwise wide inner content (e.g. the scrollable day grid) overflows. */
.hero__inner > *,
.team-booking__grid > *,
.team-booking__person > *,
.landing__grid > *,
.about__bottom > *,
.contact__inner > *,
.team__inner > *,
.site-footer__grid > *,
.cards > *,
.features > *{min-width:0}
@media (max-width:960px){
  .hero__inner{grid-template-columns:1fr;gap:1.75rem}
  .hero__content{padding-top:0}
  .hero__aside{margin-top:.5rem}
  .cards,.post-list{grid-template-columns:repeat(2,1fr)}
  .features{grid-template-columns:repeat(2,1fr)}
  .team__inner,.contact__inner{grid-template-columns:1fr}
  .site-nav,.site-header__cta{display:none}
  .nav-toggle{display:flex;margin-left:auto}
  .tbk-fab{display:inline-flex}
  .site-footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  body{font-size:16px}
  .topbar__item:not(.topbar__phone):not(.topbar__map){display:none}
  .topbar__map .topbar__map-text{display:none}
  .topbar__map .topbar__map-short{display:inline}
  /* Taller sticky header on phones → larger offset when scrolling to a category. */
  .svc-group{scroll-margin-top:120px}
  /* Working hours → full-width row under the top header items on phones. */
  .site-header__hours{order:5;flex:0 0 100%;width:100%;display:grid;grid-template-columns:repeat(3,1fr);align-items:stretch;gap:0;border:none;border-top:1px solid var(--line);border-radius:0;padding-top:.35rem;margin-top:.1rem}
  .site-header__hours .shh__col{min-width:0;flex-direction:column;align-items:center;text-align:center;gap:.14rem;padding:.2rem .2rem}
  .site-header__hours .shh__col + .shh__col{border-left:1px solid var(--line)}
  .site-header__hours .shh__txt{align-items:center;min-width:0}
  .site-header__hours .shh__ic{width:27px;height:27px}
  .site-header__hours .shh__ic svg{width:14px;height:14px}
  .site-header__hours .shh__title{font-size:.7rem}
  .site-header__hours .shh__day{font-size:.62rem}
  .site-header__hours .shh__time{font-size:.66rem;white-space:nowrap}
  .hero{padding:2rem 0}
  .hero__inner{gap:1.4rem}
  .hero__content{text-align:center}
  .hero__eyebrow{margin-inline:auto}
  .hero__lead{max-width:100%;margin-left:auto;margin-right:auto}
  .hero__actions,.hero__badges{justify-content:center}
  .site-brand .brand-fallback__text em{display:none}
  .cards,.post-list,.features,.site-footer__grid{grid-template-columns:1fr}
  .section__head{margin-bottom:1rem}
  .service-table{grid-template-columns:1fr}
  /* Footer: a tidy, centred single-column stack on phones. */
  .site-footer__grid{text-align:center;gap:1.9rem;padding:2.4rem 20px 1.8rem}
  .site-footer__col{display:flex;flex-direction:column;align-items:center}
  .site-footer__about{max-width:340px}
  .footer-contacts{align-items:center}
  .footer-contacts li{justify-content:center;text-align:left}
  .footer-map{width:100%;max-width:340px}
  .hours-list{width:100%;max-width:300px}
  .footer-menu{align-items:center}
  .footer-widget__title{justify-content:center}
  .footer-hours{width:100%;max-width:300px}
  .footer-hours li{align-items:center}
  .footer-hours__val{align-self:center}
  .site-footer .footer-menu,.site-footer .nav-menu{width:100%;max-width:320px}
  .footer-cta{width:100%;max-width:320px;justify-content:center}
  .social--footer,.langsw--footer{justify-content:center;width:100%}
  .site-footer__bottom-inner{flex-direction:column;justify-content:center;text-align:center;gap:.55rem}
}
@media (max-width:400px){
  .hero__actions{flex-direction:column;align-items:stretch}
  .hero__actions .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ---- Social icons: in the topbar on desktop, beside the logo on mobile ---- */
.social--header{display:flex;gap:.4rem;align-items:center}
.social--header .social__link{width:34px;height:34px}
/* Desktop (>960px): socials live in the topbar → hide the header-row copy. */
@media (min-width:961px){.social--header{display:none}}
/* Mobile (<=960px): keep socials beside the logo (unchanged) → hide the topbar copy. */
@media (max-width:960px){.social--top{display:none}}
@media (max-width:900px){.social--header .social__link{width:30px;height:30px}}
@media (max-width:420px){.social--header{gap:.3rem}.social--header .social__link{width:27px;height:27px}}

/* ---- Dark / light toggle button (topbar) ---- */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:24px;padding:0;margin-left:0;border:1px solid rgba(255,255,255,.22);border-radius:6px;background:transparent;color:#cdd7ea;cursor:pointer;transition:.15s}
.theme-toggle:hover{color:#fff;border-color:rgba(255,255,255,.55)}
.theme-toggle__ic{display:inline-flex}
.theme-toggle__ic--sun{display:none}
:root[data-theme="dark"] .theme-toggle__ic--moon{display:none}
:root[data-theme="dark"] .theme-toggle__ic--sun{display:inline-flex}

/* ============================ Dark mode ============================ */
:root[data-theme="dark"]{
  --ink:#e7edf5;
  --muted:#9fb0c4;
  --bg:#0f1620;
  --soft:#182230;
  --soft-2:#1e2a3a;
  --line:#2b3a4d;
  --white:#182230;
  --navy:#a9c6f0;            /* --navy is used as heading/text colour -> light in dark */
  --shadow:0 10px 30px rgba(0,0,0,.45);
  --shadow-lg:0 24px 60px rgba(0,0,0,.55);
}
:root[data-theme="dark"] .site-header{background:rgba(15,22,32,.96)}
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .feature,
:root[data-theme="dark"] .team-booking__team,
:root[data-theme="dark"] .service-row,
:root[data-theme="dark"] .landing__fact,
:root[data-theme="dark"] .landing__faq details,
:root[data-theme="dark"] .landing__town,
:root[data-theme="dark"] .post-item,
:root[data-theme="dark"] .hero__notice,
:root[data-theme="dark"] .mobile-nav{background:var(--white);border-color:var(--line)}
:root[data-theme="dark"] .hero__eyebrow,
:root[data-theme="dark"] .chip{background:var(--soft-2);border-color:var(--line)}
:root[data-theme="dark"] .hero{background:radial-gradient(1000px 500px at 85% -10%,rgba(47,159,196,.10),transparent 60%),linear-gradient(180deg,#141d29,var(--bg))}
/* Navy-as-background elements stay dark (the navy var is now light) */
:root[data-theme="dark"] .topbar,
:root[data-theme="dark"] .site-footer,
:root[data-theme="dark"] .skip-link{background:#0b1420}
:root[data-theme="dark"] .chip.is-active{background:var(--red);border-color:var(--red);color:#fff}
:root[data-theme="dark"] .feature__icon{background:linear-gradient(135deg,#22406e,#16233d)}
:root[data-theme="dark"] .nav-toggle{background:var(--white);border-color:var(--line)}
:root[data-theme="dark"] .nav-toggle span{background:var(--navy)}
/* Booking widget surfaces */
:root[data-theme="dark"] .tbk{background:var(--white)}
:root[data-theme="dark"] .tbk select,
:root[data-theme="dark"] .tbk input[type=text],
:root[data-theme="dark"] .tbk input[type=tel],
:root[data-theme="dark"] .tbk input[type=email],
:root[data-theme="dark"] .tbk input[type=date],
:root[data-theme="dark"] .tbk textarea,
:root[data-theme="dark"] .tbk__seg,
:root[data-theme="dark"] .tbk__nav,
:root[data-theme="dark"] .tbk__pickdate,
:root[data-theme="dark"] .tbk__slot,
:root[data-theme="dark"] .tbk__fee{background:var(--soft-2);color:var(--ink)}
:root[data-theme="dark"] .tbk__seg.is-active{background:var(--red);border-color:var(--red);color:#fff}
:root[data-theme="dark"] .tbk__homebox{background:#2a1a1d;border-color:#5a3438}
:root[data-theme="dark"] .tbk__day-empty{background:repeating-linear-gradient(45deg,#1b2534,#1b2534 6px,#141d29 6px,#141d29 12px)}
:root[data-theme="dark"] .tbk__day-empty--closed{background:repeating-linear-gradient(45deg,#1b2534,#1b2534 6px,#141d29 6px,#141d29 12px);border-color:var(--line);color:var(--ink)}
:root[data-theme="dark"] .tbk__day-empty--holiday{background:repeating-linear-gradient(45deg,#2a2312,#2a2312 6px,#211c10 6px,#211c10 12px);border-color:#5a4a1f;color:#e5c15a}
:root[data-theme="dark"] .tbk__day-empty--holiday svg{color:#e5b13a}
:root[data-theme="dark"] .tbk__selected{background:var(--soft-2)}

/* ---- Patient reviews (rotating grid: 4 on desktop, 2 on phones) ---- */
.reviews{background:var(--soft)}
.reviews .section__sub{display:flex;align-items:center;justify-content:center;gap:.4rem;flex-wrap:wrap}
.reviews__stars{display:inline-flex;gap:2px;color:#efab27}
.reviews__stars svg{width:15px;height:15px}
.reviews__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:1000px;margin:1.4rem auto 0;transition:opacity .4s ease}
@media (min-width:900px){.reviews__grid{grid-template-columns:repeat(4,1fr)}}
.reviews__card{display:flex;flex-direction:column;gap:.6rem;background:var(--white,#fff);border:1px solid var(--line);border-radius:14px;padding:1.05rem 1.1rem;box-shadow:0 6px 18px rgba(20,40,80,.06);min-height:188px}
.reviews__rating{display:inline-flex;gap:2px;color:#efab27}
.reviews__rating svg{width:15px;height:15px}
.reviews__text{margin:0;font-size:.92rem;line-height:1.5;color:var(--ink);font-weight:500;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.reviews__who{display:flex;align-items:center;gap:.55rem;margin-top:auto}
.reviews__avatar{width:34px;height:34px;flex:none;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}
.reviews__avatar--img{object-fit:cover;background:var(--soft-2)}
.reviews__meta{display:flex;flex-direction:column;text-align:left;line-height:1.25;min-width:0}
.reviews__meta strong{color:var(--navy);font-size:.86rem}
.reviews__town{font-size:.74rem;color:var(--muted)}
.reviews__dots{display:flex;justify-content:center;gap:.5rem;margin-top:1.3rem}
.reviews__dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:var(--line);cursor:pointer;transition:.2s}
.reviews__dot.is-on{background:var(--red);transform:scale(1.25)}
:root[data-theme="dark"] .reviews__meta strong{color:#cfe0ff}

/* ---- Blog article modal (opens post content in a larger window) ---- */
.post-list .post-item{position:relative;overflow:hidden;cursor:pointer;isolation:isolate;transition:color .35s ease,border-color .35s ease}
.post-list .post-item::before{content:"";position:absolute;left:var(--mx,50%);top:var(--my,50%);width:12px;height:12px;transform:translate(-50%,-50%) scale(0);border-radius:50%;background:var(--red);opacity:0;transition:transform .55s ease,opacity .3s ease;z-index:0;pointer-events:none}
.post-list .post-item:hover{border-color:var(--red)}
.post-list .post-item:hover::before{transform:translate(-50%,-50%) scale(90);opacity:1}
.post-list .post-item > *{position:relative;z-index:1}
.post-list .post-item:hover .post-item__title a,.post-list .post-item:hover .post-item__excerpt,.post-list .post-item:hover .post-item__excerpt *,.post-list .post-item:hover .card__link{color:#fff}
@media (prefers-reduced-motion:reduce){.post-list .post-item::before{transition:opacity .2s ease}}
.blog-modal{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:20px}
.blog-modal[hidden]{display:none}
.blog-modal__backdrop{position:absolute;inset:0;background:rgba(15,25,45,.55)}
.blog-modal__dialog{position:relative;background:var(--white,#fff);border-radius:16px;max-width:760px;width:100%;max-height:86vh;overflow:auto;box-shadow:0 30px 80px rgba(0,0,0,.35);padding:2rem 2.1rem;animation:bmIn .25s ease}
@keyframes bmIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.blog-modal__close{position:absolute;top:1rem;right:1rem;width:40px;height:40px;border:0;border-radius:10px;background:var(--soft);color:var(--navy);font-size:1.6rem;line-height:1;cursor:pointer;z-index:2}
.blog-modal__close:hover{background:var(--soft-2)}
.blog-modal__title{color:var(--navy);font-size:1.5rem;margin:.2rem 0 1rem;padding-right:2.6rem}
.blog-modal__content{color:var(--ink);line-height:1.7}
.blog-modal__content h3{color:var(--navy);font-size:1.12rem;margin:1.3rem 0 .4rem}
.blog-modal__content p{margin:0 0 .8rem}
.blog-modal__content ul,.blog-modal__content ol{margin:0 0 .9rem 1.2rem}
.blog-modal__content li{margin:.2rem 0}
.blog-modal__full{display:inline-block;margin-top:1rem;color:var(--red);font-weight:700;text-decoration:none}
.blog-modal__full:hover{text-decoration:underline}
.blog-modal__loading{color:var(--muted)}
body.blog-modal-open{overflow:hidden}
@media (max-width:600px){.blog-modal__dialog{padding:1.5rem 1.2rem;max-height:92vh}.blog-modal__title{font-size:1.3rem}}

/* ============================================================
   Services page — glowing "Нашите услуги" hero header.
   The red glow pulses smoothly twice on load, then rests.
   ============================================================ */
.svc-hero{position:relative;display:flex;align-items:center;gap:1.6rem;
  max-width:820px;margin:0 auto 2.4rem;padding:1.5rem 2rem;
  border:2px dashed rgba(216,31,38,.45);border-radius:22px;
  background:linear-gradient(180deg,#fff5f5,#fff);
  box-shadow:0 10px 34px rgba(216,31,38,.07)}
:root[data-theme="dark"] .svc-hero{background:linear-gradient(180deg,#241417,#171b22);
  border-color:rgba(255,90,96,.4);box-shadow:0 10px 34px rgba(216,31,38,.16)}
/* The glow pulses twice when the section scrolls into view (class added by JS). */
.svc-hero.is-pulse{animation:svcGlow 1.6s ease-in-out 2 both}
@keyframes svcGlow{
  0%,100%{box-shadow:0 0 0 0 rgba(216,31,38,0),0 10px 34px rgba(216,31,38,.07)}
  50%{box-shadow:0 0 46px 7px rgba(216,31,38,.42),0 10px 34px rgba(216,31,38,.12)}
}
@media (prefers-reduced-motion:reduce){.svc-hero.is-pulse{animation:none}}

.svc-hero__ic{position:relative;flex:none;width:88px;height:88px;border-radius:50%;
  display:grid;place-items:center;color:#fff;isolation:isolate;
  background:radial-gradient(circle at 32% 28%,#ff5a60,var(--red));
  box-shadow:0 8px 22px rgba(216,31,38,.35)}
.svc-hero__rays{position:absolute;inset:-13px;border-radius:50%;z-index:-1;
  background:repeating-conic-gradient(rgba(216,31,38,.18) 0deg 5deg,transparent 5deg 13deg);
  -webkit-mask:radial-gradient(circle,transparent 55%,#000 57%);
  mask:radial-gradient(circle,transparent 55%,#000 57%)}

.svc-hero__main{flex:1;min-width:0;text-align:center}
.svc-hero__title{margin:0;font-size:clamp(1.6rem,4.6vw,2.4rem);font-weight:800;line-height:1.05;
  letter-spacing:.01em;text-transform:uppercase;color:var(--navy);text-wrap:balance}
.svc-hero__hl{color:var(--red)}
.svc-hero__ecg{display:block;margin:.5rem auto .55rem;max-width:220px;color:var(--red)}
.svc-hero__ecg svg{display:block;width:100%;height:22px}
.svc-hero__sub{margin:0;color:var(--muted);font-size:.95rem}

@media (max-width:640px){
  .svc-hero{flex-direction:column;gap:1rem;padding:1.4rem 1.2rem}
  .svc-hero__ic{width:74px;height:74px}
}

/* ============================================================
   Home-page service category cards — bolder red icon, a red
   left accent + a red dot on the count, and a red band that
   slides across on hover (the card itself stays white).
   ============================================================ */
.svc-group{box-shadow:inset 4px 0 0 0 var(--red), var(--shadow)}
.svc-group__ic{background:radial-gradient(circle at 32% 28%,#ff5a60,var(--red));color:#fff}
:root[data-theme="dark"] .svc-group__ic{background:radial-gradient(circle at 32% 28%,#ff5a60,var(--red));color:#fff}
.svc-group__count{display:inline-flex;align-items:center;gap:.42rem}
.svc-group__count::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--red)}
/* Red band that slides once, left → right, across each card. The three
   categories slide one after another when the section scrolls into view
   (the `is-slide` class is added by JS; the staggered delays make the sequence).
   The card itself stays white. */
.svc-group__toggle{position:relative;overflow:hidden}
.svc-group__toggle::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(100deg,transparent 0%,rgba(216,31,38,.14) 42%,rgba(216,31,38,.32) 50%,rgba(216,31,38,.14) 58%,transparent 100%);
  transform:translateX(-120%)}
.svc-group__toggle > *{position:relative;z-index:1}
.svc-group__toggle:hover{background:transparent}
@keyframes svcSlide{from{transform:translateX(-120%)}to{transform:translateX(120%)}}
.svc-group.is-slide .svc-group__toggle::before{animation:svcSlide 1.8s ease-in-out forwards}
.svc-group.is-slide:nth-child(1) .svc-group__toggle::before{animation-delay:.2s}
.svc-group.is-slide:nth-child(2) .svc-group__toggle::before{animation-delay:2s}
.svc-group.is-slide:nth-child(3) .svc-group__toggle::before{animation-delay:3.8s}
@media (prefers-reduced-motion:reduce){.svc-group__toggle::before{display:none}}

/* ---- Специалист: профил (template-about) ---- */
.spec{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(1.5rem,4vw,3rem);align-items:start;margin-top:.5rem}
.spec__photo{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:var(--soft-2)}
.spec__photo img{width:100%;height:auto;display:block}
.spec__name{font-size:clamp(1.7rem,3vw,2.2rem);margin-bottom:.15rem}
.spec__cred{color:var(--red);font-weight:700;margin:0 0 1.1rem;font-size:1.02rem}
.spec__stats{list-style:none;padding:0;margin:0 0 1.3rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.spec__stats li{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.8rem .9rem;display:flex;flex-direction:column;gap:.15rem;min-width:0}
.spec__stats strong{font-size:1.25rem;color:var(--navy);line-height:1.15}
.spec__stats span{font-size:.82rem;color:var(--muted);line-height:1.3}
.spec__intro{color:var(--muted);margin:0 0 1rem}
.spec__credo{margin:0 0 1.3rem;padding:.75rem 1rem;border-left:4px solid var(--red);background:var(--soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--navy);font-weight:600;font-style:normal}
.spec__cols{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,4vw,3rem);margin-top:2.8rem;align-items:start}
.spec__h{font-size:1.15rem;display:flex;align-items:center;gap:.5rem;margin:0 0 .9rem;padding-bottom:.5rem;border-bottom:2px solid var(--line)}
.spec__h .icon{color:var(--red)}
.spec__tl{list-style:none;margin:0;padding:0 0 0 1.4rem;position:relative;display:flex;flex-direction:column;gap:.9rem}
.spec__tl::before{content:"";position:absolute;left:.42rem;top:.6rem;bottom:.6rem;width:2px;background:var(--line)}
.spec__tl>li{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.9rem 1rem}
.spec__tl>li::before{content:"";position:absolute;left:-1.4rem;top:1.15rem;width:12px;height:12px;border-radius:50%;background:var(--red);box-shadow:0 0 0 3px var(--bg);margin-left:.06rem}
.spec__tl>li.is-now::before{background:var(--navy)}
.spec__when{display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--red);margin-bottom:.25rem}
.spec__where{font-weight:800;color:var(--navy);margin:0}
.spec__role{color:var(--muted);font-size:.92rem;margin:.1rem 0 .5rem}
.spec__tl ul{margin:0;padding-left:1.1rem;color:var(--ink);font-size:.93rem;line-height:1.45}
.spec__tl ul li{padding:0 0 .15rem}
.spec__edu{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.9rem}
.spec__edu>div{display:flex;gap:.7rem;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.75rem .9rem}
.spec__edu .icon{color:var(--red);flex:none;margin-top:.1rem}
.spec__edu b{display:block;color:var(--navy);line-height:1.3}
.spec__edu span{display:block;color:var(--muted);font-size:.92rem;margin-top:.15rem}
.spec__how{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}
.spec__how li{display:flex;gap:.7rem;align-items:flex-start;padding:.55rem 0}
.spec__how .icon{color:var(--red);flex:none;margin-top:.15rem}
.spec__how b{color:var(--navy)}
.spec__how span{color:var(--muted);font-size:.93rem}
.spec__office{margin-top:2.6rem;padding:1.4rem 1.5rem;background:var(--soft);border-radius:var(--radius);display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}
.spec__office h3{grid-column:1/-1;margin:0 0 -.4rem;font-size:1.15rem}
.spec__office p{color:var(--muted);margin:0}
.spec__end{margin-top:2rem;text-align:center}
.spec__end p{color:var(--muted);margin-bottom:.9rem}
.spec__end .about__cta{justify-content:center;margin-top:0}
@media (max-width:860px){
  .spec{grid-template-columns:1fr}
  .spec__photo{max-width:260px;margin:0 auto}
  .spec__name,.spec__cred{text-align:center}
  .spec__stats{grid-template-columns:1fr 1fr}
  .spec__stats li:last-child{grid-column:1/-1}
  .spec__cols,.spec__office{grid-template-columns:1fr}
  .spec .about__cta,.spec__end .about__cta{justify-content:center}
  .spec .about__cta .btn,.spec__end .about__cta .btn{flex:1 1 100%;justify-content:center}
}

/* ---- Начало: екип — снимка горе, име отдолу, факти в 2 колони ---- */
.team-booking__team .team-booking__photo{margin:0 0 1.1rem}
.team-booking__team .team__name{font-size:clamp(1.6rem,2.6vw,2.05rem);margin-bottom:.2rem}
.team-booking__team .team__role{margin:0 0 .5rem;font-size:1.02rem}
.team-booking__team .team__bio{margin:0 0 .9rem}
.team-points--grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem 1.1rem;margin-top:.4rem}
.team-points--grid li{font-size:1.02rem;line-height:1.35}
.team-points--grid .icon{width:20px;height:20px;margin-top:.15rem}
@media (max-width:640px){
  .team-points--grid{grid-template-columns:1fr}
}

/* ---- Начало: екип v2 — два абзаца + факти в две озаглавени колони ---- */
.team-booking__team .team__bio{margin:0 0 .75rem;line-height:1.55}
.team-cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.4rem;margin-top:.6rem}
.team-cols__h{font-size:.9rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--navy);margin:0 0 .55rem;padding-bottom:.4rem;border-bottom:2px solid var(--line)}
.team-cols .team-points{margin:0;gap:.5rem}
.team-cols .team-points li{color:var(--ink);font-weight:500;line-height:1.4}
.team-cols .team-points strong{color:var(--navy)}
.team__more{margin:1.1rem 0 0}
.team__more a{display:inline-flex;align-items:center;gap:.3rem;font-weight:700;color:var(--red)}
.team__more .icon{transform:rotate(-90deg)}
@media (max-width:640px){
  .team-cols{grid-template-columns:1fr}
}

/* ---- Начало: втори ред с квалификации под титлата ---- */
.team-booking__team .team__role{margin-bottom:.15rem}
.team__cred2{color:var(--navy);font-weight:600;font-size:.95rem;line-height:1.4;margin:0 0 .9rem}
