/* =====================================================================
   Бассейны.онлайн — карточка бассейна v2.0
   Самостоятельный CSS без Bootstrap. Подключается вместо style-1.10.css
   на страницах карточек. Сохранены классы, которыми управляет
   addinfo-1.33.js (calcPrice2): btn-outline-primary / btn-primary,
   btn-outline-warning / btn-warning, no-show, invisible, px-1,
   а также классы расписания: time, time-line0, sel-time, ceel-no-avtive,
   min-sel / med-sel / max-sel / no-sel, disabled, no-check-sel,
   no-show-mobile, show-on-mobile, text-*, op-75, font-bold5.
   ===================================================================== */

:root{
  --c-navy:#0f2740;
  --c-ink:#17293a;
  --c-text:#2b3a48;
  --c-muted:#6b7a88;
  --c-line:#e3e9ef;
  --c-surface:#f4f7fa;
  --c-white:#fff;
  --c-blue:#0b6fb8;
  --c-blue-dark:#085792;
  --c-blue-soft:#e6f1fb;
  --c-yellow:#ffb703;
  --c-yellow-dark:#e39f00;
  --c-yellow-soft:#fff5d6;
  --c-red:#d6453d;
  --c-green:#1f8f4e;
  --lo-bg:#e3f6e9; --lo-fg:#176b3a; --lo-dot:#2bb673;
  --md-bg:#fff2c9; --md-fg:#8a5a00; --md-dot:#f5b301;
  --hi-bg:#ffe1dc; --hi-fg:#9b2c25; --hi-dot:#ef5a4c;
  --no-bg:#eef1f4; --no-fg:#8a94a0; --no-dot:#b7bfc8;
  --radius:16px;
  --radius-sm:10px;
  --shadow:0 10px 30px rgba(15,39,64,.08);
  --shadow-sm:0 2px 8px rgba(15,39,64,.06);
  --header-h:64px;
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{margin:0;padding:0}
body{font-family:var(--font);font-size:16px;line-height:1.55;color:var(--c-text);background:var(--c-white)}
img{max-width:100%;height:auto;display:block}
a{color:var(--c-blue);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,p,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
input,button{font:inherit}
[id]{scroll-margin-top:calc(var(--header-h) + 12px)}

.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0;white-space:nowrap}

/* ---- Утилиты, которые ждёт серверная разметка/JS -------------------- */
.no-show{display:none!important}
.invisible{visibility:hidden}
.small{font-size:.85em}
.font-bold5{font-weight:600}
.op-75{opacity:.75}
.text-danger{color:var(--c-red)}
.text-dark{color:var(--c-ink)}
.text-muted{color:var(--c-muted)}
.text-primary{color:var(--c-blue)}
.text-warning{color:var(--c-yellow)}
.text-decoration-line-through{text-decoration:line-through}
.show-on-mobile{display:none}
@media (max-width:991px){
  .no-show-mobile{display:none!important}
  .show-on-mobile{display:block}
}

/* ---- Кнопки ---------------------------------------------------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:46px;padding:.65rem 1.25rem;border-radius:999px;border:1.5px solid transparent;
  font-weight:600;font-size:.95rem;line-height:1.2;cursor:pointer;text-decoration:none!important;
  transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease,color .12s ease;
  white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn:focus-visible{outline:3px solid rgba(11,111,184,.35);outline-offset:2px}
.btn-blue{background:var(--c-blue);color:#fff;box-shadow:0 6px 16px rgba(11,111,184,.28)}
.btn-blue:hover{background:var(--c-blue-dark)}
.btn-yellow{background:var(--c-yellow);color:var(--c-navy);box-shadow:0 6px 16px rgba(255,183,3,.3)}
.btn-yellow:hover{background:var(--c-yellow-dark)}
.btn-navy{background:var(--c-navy);color:#fff}
.btn-navy:hover{background:#0a1b2d}
.btn-ghost{background:#fff;color:var(--c-ink);border-color:var(--c-line)}
.btn-ghost:hover{border-color:var(--c-blue);color:var(--c-blue)}
.btn-sm{min-height:38px;padding:.45rem .95rem;font-size:.875rem}
.btn-block{width:100%}
.btn [class^="icon-"],.btn [class*=" icon-"]{font-size:1em}

/* ---- Шапка ----------------------------------------------------------- */
.site-header{position:sticky;top:0;z-index:50;height:var(--header-h);
  background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid var(--c-line)}
.site-header .container{height:100%;display:flex;align-items:center;gap:1.25rem}
.brand{font-weight:800;font-size:1.25rem;letter-spacing:-.01em;color:var(--c-navy);text-decoration:none!important}
.brand span{color:var(--c-yellow)}
.site-nav{display:flex;gap:1.5rem;margin-left:auto}
.site-nav a{color:var(--c-ink);font-weight:500;font-size:.95rem;padding:.35rem 0;border-bottom:2px solid transparent}
.site-nav a:hover{text-decoration:none;color:var(--c-blue);border-bottom-color:var(--c-blue)}
.header-cta{margin-left:1rem}
.burger{display:none;margin-left:auto;background:none;border:0;width:44px;height:44px;border-radius:12px;cursor:pointer;color:var(--c-navy)}
.burger:hover{background:var(--c-surface)}
.burger svg{width:26px;height:26px}
@media (max-width:991px){
  .site-nav,.header-cta{display:none}
  .burger{display:inline-flex;align-items:center;justify-content:center}
}
.mobile-menu{position:fixed;inset:var(--header-h) 0 0 0;z-index:49;background:#fff;padding:1.25rem 20px;display:none;flex-direction:column;gap:.25rem}
.mobile-menu.open{display:flex}
.mobile-menu a{padding:.85rem .5rem;font-size:1.05rem;font-weight:500;color:var(--c-ink);border-bottom:1px solid var(--c-line)}
.mobile-menu .btn{margin-top:1rem}

/* ---- Hero ------------------------------------------------------------ */
.hero{background:linear-gradient(180deg,var(--c-surface) 0%,#fff 100%);padding:1.5rem 0 2rem}
.crumbs{display:flex;flex-wrap:wrap;gap:.35rem;font-size:.85rem;color:var(--c-muted);margin-bottom:.9rem}
.crumbs li+li::before{content:"›";margin-right:.35rem;color:#a7b1bb}
.crumbs a{color:var(--c-muted)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;align-items:center}
.hero h1{font-size:clamp(1.65rem,2.6vw,2.5rem);line-height:1.15;letter-spacing:-.02em;color:var(--c-navy);font-weight:800;margin-bottom:.6rem}
.hero h1 .h1-note{display:block;font-size:.5em;font-weight:500;letter-spacing:0;color:var(--c-muted,#6b7280);margin-top:.35rem;line-height:1.3}
.hero-address{display:flex;align-items:center;gap:.45rem;color:var(--c-muted);font-size:.98rem;margin-bottom:1.1rem}
.hero-address svg{width:18px;height:18px;flex:none;color:var(--c-blue)}
.hero-lead{font-size:1.02rem;color:var(--c-text);margin-bottom:1.25rem;max-width:56ch}
.facts{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.35rem}
.fact{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .85rem;border-radius:999px;background:#fff;border:1px solid var(--c-line);font-size:.9rem;font-weight:500;color:var(--c-ink);box-shadow:var(--shadow-sm)}
.fact svg{width:16px;height:16px;color:var(--c-blue);flex:none}
.fact.ok{background:#eaf8ef;border-color:#cdebd8;color:#176b3a}
.fact.ok svg{color:var(--c-green)}
.price-line{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.6rem;row-gap:.15rem;margin-bottom:1.1rem}
.price-line .from{font-size:.95rem;color:var(--c-muted);white-space:nowrap}
.price-line .amount{font-size:1.9rem;font-weight:800;color:var(--c-navy);letter-spacing:-.02em;white-space:nowrap}
.price-line .tariffs{flex:1 0 100%;font-size:.85rem;color:var(--c-muted)}
.hero-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.hero-meta{grid-column:1/-1;display:flex;align-items:center;gap:1rem;margin-top:-1rem;font-size:.85rem;color:var(--c-muted)}
.hero-meta button{background:none;border:0;padding:0;color:var(--c-muted);cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem}
.hero-meta button:hover{color:var(--c-red)}
.hero-meta svg{width:16px;height:16px}

.hero-media{position:relative}
.hero-media img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}
.hero-badge{display:flex;flex-direction:column;gap:.5rem;margin-top:.7rem;padding:.6rem .8rem;border-radius:12px;background:#fff;border:1px solid var(--c-line);box-shadow:var(--shadow-sm);font-size:.85rem;color:var(--c-ink)}
.hero-badge-title{display:flex;align-items:center;gap:.5rem}
.hero-badge-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.hero-badge .chip-now{background:var(--c-yellow);border-color:var(--c-yellow)}
.hero-badge .chip-now small{font-weight:500;opacity:.85}
.hero-badge .chip-more{margin-left:auto;color:var(--c-blue);font-weight:500;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.hero-badge strong{font-weight:600;margin-right:.25rem}
.hero-badge .pulse{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--c-green);box-shadow:0 0 0 0 rgba(31,143,78,.5);animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(31,143,78,.5)}70%{box-shadow:0 0 0 8px rgba(31,143,78,0)}100%{box-shadow:0 0 0 0 rgba(31,143,78,0)}}
.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .65rem;border-radius:999px;background:var(--lo-bg);color:var(--lo-fg);font-weight:600;font-size:.82rem;border:1px solid #cdebd8;text-decoration:none!important}
.chip:hover{background:#d2f0dc}
.chip .icon-check{font-size:.8em}

@media (max-width:991px){
  .hero-meta{margin-top:0}
  .hero{padding:1rem 0 1.25rem}
  .hero-grid{grid-template-columns:1fr;gap:1.1rem}
  .hero h1{font-size:1.5rem}
  .hero-lead{display:none}       /* на телефоне вводный текст показываем ниже, в блоке «О бассейне» */
  .hero-actions .btn{flex:1 1 100%}
  .hero-media{order:3}
  .hero-meta{order:4}
}

/* ---- Сетка контента -------------------------------------------------- */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:2.5rem;align-items:start;padding:1.5rem 0 2rem}
.main{min-width:0}
.aside{position:sticky;top:calc(var(--header-h) + 16px)}
@media (max-width:991px){
  .layout{grid-template-columns:1fr;gap:1.5rem;padding:.5rem 0 1.5rem}
  .aside{position:static}
}

.section{padding:1.75rem 0}
.section-title{font-size:1.45rem;font-weight:800;letter-spacing:-.015em;color:var(--c-navy);margin-bottom:1rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}
.section-title small{font-size:.9rem;font-weight:500;color:var(--c-muted)}
@media (max-width:767px){.section-title{font-size:1.25rem}}

/* ---- О бассейне ------------------------------------------------------ */
.spec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;margin-bottom:1.25rem}
.spec{padding:.9rem 1rem;border:1px solid var(--c-line);border-radius:var(--radius-sm);background:#fff}
.spec dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--c-muted);display:flex;align-items:center;gap:.4rem;margin-bottom:.25rem}
.spec dt svg{width:15px;height:15px;color:var(--c-blue)}
.spec dd{margin:0;font-weight:700;color:var(--c-ink);font-size:1.05rem}
.spec dd small{display:block;font-weight:500;font-size:.8rem;color:var(--c-muted);margin-top:.15rem}
.prose p{margin-bottom:.8rem}
.prose p:last-child{margin-bottom:0}


.notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem;margin-top:1.25rem}
.note{display:flex;gap:.6rem;align-items:flex-start;padding:.8rem .9rem;border-radius:var(--radius-sm);background:var(--c-surface);font-size:.9rem;color:var(--c-text)}
.note svg{width:18px;height:18px;flex:none;color:var(--c-green);margin-top:.1rem}
.note b{color:var(--c-ink)}

/* ---- Калькулятор (плашка стоимости) --------------------------------- */
.calc{position:relative;background:#fff;border:1px solid var(--c-line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}
.calc-title{display:flex;align-items:center;gap:.5rem;font-weight:700;color:var(--c-navy);font-size:1.02rem;margin-bottom:.75rem}
.calc-title svg{width:18px;height:18px;color:var(--c-blue)}
#discount{position:absolute;top:-10px;right:14px;background:var(--c-red);color:#fff;font-weight:700;font-size:.8rem;padding:.25rem .6rem;border-radius:999px;box-shadow:0 4px 10px rgba(214,69,61,.35)}
#price{font-size:2rem;font-weight:800;letter-spacing:-.02em;color:var(--c-navy);padding:.6rem .9rem;border-radius:var(--radius-sm);background:var(--c-surface);text-align:right;margin-bottom:.3rem;min-height:3.4rem;display:flex;align-items:center;justify-content:flex-end;gap:.4rem;flex-wrap:wrap}
#price .icon-rub{font-size:.65em}
#price s{font-weight:500;font-size:.6em;color:var(--c-muted)}
#price .text-danger{font-size:.55em;font-weight:500}
#terminalcost{font-size:.78rem;color:var(--c-muted);margin:0 0 .75rem;text-align:left}
.calc-group{margin-top:.9rem}
.calc-group .calc-label{font-size:.82rem;color:var(--c-muted);margin-bottom:.4rem}
.calc-group .calc-label span{color:var(--c-ink);font-weight:600}
.calc-group .calc-label .text-primary{color:var(--c-blue)}
.calc-group .calc-label .text-warning{color:var(--c-yellow-dark)}
.calc-buttons{display:flex;flex-wrap:wrap;gap:.4rem}
.calc-btn{min-width:44px;height:40px;padding:0 .8rem;border-radius:10px;border:1.5px solid var(--c-line);background:#fff;color:var(--c-ink);font-weight:600;cursor:pointer;transition:all .12s ease}
.calc-btn:hover{border-color:var(--c-blue);color:var(--c-blue)}
/* состояния, которые переключает calcPrice2 */
.calc-btn.btn-outline-primary{border-color:#bcd7ef;color:var(--c-blue)}
.calc-btn.btn-primary{background:var(--c-blue);border-color:var(--c-blue);color:#fff;box-shadow:0 4px 12px rgba(11,111,184,.3)}
.calc-btn.btn-outline-warning{border-color:#f3dc9a;color:var(--c-yellow-dark)}
.calc-btn.btn-warning{background:var(--c-yellow);border-color:var(--c-yellow);color:var(--c-navy);box-shadow:0 4px 12px rgba(255,183,3,.35)}
#paynow{margin-top:1.1rem}
.calc-foot{margin-top:.75rem;font-size:.78rem;color:var(--c-muted);text-align:center}

/* ---- Расписание ------------------------------------------------------ */
.schedule{background:var(--c-surface);border-radius:24px;padding:1.75rem 1.5rem;margin:1rem 0 .5rem}
@media (max-width:767px){.schedule{padding:1.25rem 1rem;border-radius:18px;margin-left:-8px;margin-right:-8px}}
.load-summary{margin:-.4rem 0 1.1rem;padding:.75rem 1rem;border-left:3px solid var(--c-accent,#f5b400);background:var(--c-surface-2,#f6f8fb);border-radius:0 10px 10px 0;font-size:.95rem;color:var(--c-ink)}
.reviews-summary{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.95rem}
.reviews-summary .stars{color:#f5b400;letter-spacing:.05em}
.review-item h3 small{display:block;font-weight:400;color:var(--c-muted);font-size:.8rem;margin-top:.15rem}
.legend{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.1rem;font-size:.85rem}
.legend .legend-title{font-weight:600;color:var(--c-ink);margin-right:.25rem}
.legend .time{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border-radius:999px;font-weight:600;font-size:.8rem}
.legend .time::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.8}
.legend .time.no-sel{background:var(--no-bg);color:var(--no-fg)}
.legend .time.max-sel{background:var(--hi-bg);color:var(--hi-fg)}
.legend .time.med-sel{background:var(--md-bg);color:var(--md-fg)}
.legend .time.min-sel{background:var(--lo-bg);color:var(--lo-fg)}

.sched-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}
.sched-days > div{background:#fff;border:1px solid var(--c-line);border-radius:14px;padding:.6rem;min-width:0}
.sched-days > div > .time{font-size:.9rem;font-weight:700;color:var(--c-navy);text-align:left;padding:.25rem .4rem .55rem;border-bottom:1px solid var(--c-line);margin-bottom:.5rem}
.sched-days > div > .time .text-danger{color:var(--c-red)}
.time-line0{display:flex;flex-direction:column;gap:.3rem}
.time-line0 a{text-decoration:none!important;display:block}
.time-line0 .time{display:flex;align-items:center;justify-content:space-between;gap:.35rem;padding:.42rem .55rem;border-radius:9px;font-size:.86rem;font-weight:600;line-height:1.2;text-align:left;position:relative;transition:transform .1s ease,box-shadow .1s ease,filter .1s ease}
.time-line0 .time::before{content:"";width:7px;height:7px;border-radius:50%;flex:none;margin-right:.1rem}
.time-line0 .time > span:first-of-type{flex:1 1 auto}
.time-line0 .time .icon-check{font-size:.75rem}
.time-line0 .time .icon-play{font-size:.65rem;margin-right:.1rem}
.time-line0 .min-sel{background:var(--lo-bg);color:var(--lo-fg)}
.time-line0 .min-sel::before{background:var(--lo-dot)}
.time-line0 .med-sel{background:var(--md-bg);color:var(--md-fg)}
.time-line0 .med-sel::before{background:var(--md-dot)}
.time-line0 .max-sel{background:var(--hi-bg);color:var(--hi-fg)}
.time-line0 .max-sel::before{background:var(--hi-dot)}
.time-line0 .no-sel{background:var(--no-bg);color:var(--no-fg)}
.time-line0 .no-sel::before{background:var(--no-dot)}
.time-line0 .time .text-dark{color:inherit}
.time-line0 .time .text-decoration-line-through{text-decoration:line-through;opacity:.7}
.time-line0 .sel-time a:hover .time{transform:translateY(-1px);box-shadow:0 6px 14px rgba(15,39,64,.14);filter:saturate(1.15)}
.time-line0 .sel-time a:hover .no-check-sel{opacity:1}
.no-check-sel{opacity:0;transition:opacity .1s}
.ceel-no-avtive .time,.time.disabled{opacity:.55;cursor:default}
.time-line0 .no-sel.text-muted{opacity:.8}
.sched-hint{margin-top:1rem;font-size:.85rem;color:var(--c-muted);display:flex;flex-wrap:wrap;gap:1rem}
.sched-hint span{display:inline-flex;align-items:center;gap:.35rem}
@media (max-width:767px){
  .sched-days{grid-template-columns:1fr 1fr;gap:.5rem}
  .time-line0 .time{font-size:.82rem;padding:.4rem .5rem}
}
@media (max-width:359px){.sched-days{grid-template-columns:1fr}}

/* ---- Как добраться --------------------------------------------------- */
.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}
@media (max-width:767px){.route-grid{grid-template-columns:1fr}}
.route-list li{display:flex;gap:.65rem;align-items:flex-start;padding:.7rem 0;border-bottom:1px solid var(--c-line)}
.route-list li:last-child{border-bottom:0}
.route-list svg{width:18px;height:18px;flex:none;color:var(--c-blue);margin-top:.15rem}
.route-list b{display:block;color:var(--c-ink);font-weight:600;margin-bottom:.1rem}
.stops{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.35rem}
.stops li{padding:.25rem .6rem;border-radius:999px;background:var(--c-surface);font-size:.85rem;border:0}
.map-frame{border-radius:var(--radius);overflow:hidden;border:1px solid var(--c-line);box-shadow:var(--shadow-sm);min-height:320px;background:var(--c-surface)}
.map-frame iframe{display:block;width:100%;height:100%;min-height:320px;border:0}

/* ---- FAQ ------------------------------------------------------------- */
.faq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}
.faq-item{padding:1rem 1.1rem;border:1px solid var(--c-line);border-radius:var(--radius-sm);background:#fff}
.faq-item h3{font-size:1rem;font-weight:700;color:var(--c-navy);margin-bottom:.35rem}
.faq-item p{font-size:.93rem;color:var(--c-text)}

/* ---- Внутренние ссылки ---------------------------------------------- */
.links-row{display:flex;flex-wrap:wrap;gap:.5rem}
.links-row a{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .95rem;border-radius:999px;border:1px solid var(--c-line);background:#fff;font-size:.9rem;font-weight:500;color:var(--c-ink)}
.links-row a:hover{border-color:var(--c-blue);color:var(--c-blue);text-decoration:none}

/* ---- Подвал ---------------------------------------------------------- */
.site-footer{background:var(--c-navy);color:#c9d6e2;padding:2rem 0 1.5rem;margin-top:2rem;font-size:.9rem}
.site-footer p{margin-bottom:.75rem}
.site-footer a{color:#fff}
.site-footer .brand{color:#fff}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.12);font-size:.85rem;color:#9fb0c1}

/* ---- Мобильная нижняя панель покупки ------------------------------ */
.mobile-bar{display:none}
@media (max-width:991px){
  .mobile-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;gap:.5rem;align-items:center;padding:.6rem 12px calc(.6rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--c-line);box-shadow:0 -6px 20px rgba(15,39,64,.08)}
  .mobile-bar .price{flex:1 1 auto;line-height:1.15}
  .mobile-bar .price small{display:block;font-size:.72rem;color:var(--c-muted)}
  .mobile-bar .price b{font-size:1.1rem;color:var(--c-navy)}
  .mobile-bar .btn{min-height:44px}
  body{padding-bottom:76px}
  .cookie-banner{bottom:72px!important}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
.cookie-banner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    background: rgba(15, 23, 42, 0.98); /* тёмный полупрозрачный фон */
    color: #f9fafb;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.6);

    backdrop-filter: blur(8px);
  }

  .cookie-banner__content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 16px 20px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
  }

  .cookie-banner__text {
    flex: 1 1 20px;
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: #e5e7eb;
  }

  .cookie-banner__text a {

    color: #38bdf8; /* голубой акцент */
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  .cookie-banner__text a:hover {
    color: #0ea5e9;
  }

  .cookie-banner__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }

  .cookie-banner__btn {
    cursor: pointer;
    border-radius: 999px; /* pill‑кнопки */
    padding: 9px 18px;
    font-size: 14px;
    font-weight: 500;

    border: 1px solid transparent;
    transition: background-color 0.15s ease, color 0.15s ease,
                box-shadow 0.15s ease, transform 0.1s ease,
                border-color 0.15s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 110px;
  }

  .cookie-banner__btn--accept {
    background: linear-gradient(135deg, #22c55e, #16a34a);
    border-color: #16a34a;
    color: #f9fafb;
    box-shadow: 0 6px 16px rgba(22, 163, 74, 0.45);
  }

  .cookie-banner__btn--accept:hover {

    background: linear-gradient(135deg, #16a34a, #15803d);
    box-shadow: 0 8px 20px rgba(21, 128, 61, 0.55);
    transform: translateY(-1px);
  }

  .cookie-banner__btn--accept:active {
    transform: translateY(0);
    box-shadow: 0 3px 10px rgba(21, 128, 61, 0.4);
  }

  .cookie-banner__btn--decline {
    background-color: rgba(15, 23, 42, 0.8);
    border-color: #4b5563;
    color: #e5e7eb;
  }

  .cookie-banner__btn--decline:hover {
    background-color: rgba(31, 41, 55, 0.95);
    border-color: #9ca3af;

  }

  .cookie-banner__btn--decline:active {
    transform: translateY(0);
    box-shadow: none;
  }

  @media (max-width: 600px) {
    .cookie-banner__content {
      flex-direction: column;
      align-items: flex-start;
      padding: 14px 16px 18px;
    }

    .cookie-banner__buttons {
      width: 100%;
    }

    .cookie-banner__btn {
      flex: 1 1 auto;
      justify-content: center;
    }

  }

/* ===== v2.0 PHP: праздники, примечания к сетке, соседние бассейны ===== */
.holiday-notes{display:grid;gap:.5rem;margin:1rem 0 1.25rem}
.holiday-note{display:flex;gap:.6rem;align-items:flex-start;padding:.75rem .9rem;border-radius:var(--radius-sm);background:#fff7dc;border:1px solid #f1dc9a;font-size:.92rem;color:#5a4600}
.holiday-note svg{width:18px;height:18px;flex:none;margin-top:.1rem;color:#b8860b}
.holiday-note.is-closed{background:#fdecec;border-color:#f3bcbc;color:#7a1f1f}
.holiday-note.is-closed svg{color:#c0392b}
.hero-notes{margin:0 0 1.1rem;max-width:56ch}
.hero-notes .holiday-note{font-weight:600;font-size:.95rem}
.hero-notes .holiday-note.is-closed{font-size:1rem}
.holiday-more{font-size:.86rem;color:var(--c-blue);text-decoration:none;padding-left:.2rem}
.holiday-more:hover{text-decoration:underline}
.sched-notes{font-size:.88rem;color:var(--c-muted);margin:-.25rem 0 .75rem}
.sched-notes p{margin:0 0 .35rem}
.sched-notes .border{display:inline-block;padding:.35rem .6rem;border:1px solid #f3bcbc;border-radius:var(--radius-sm);color:#c0392b;font-weight:600}
.coords{display:block;color:var(--c-muted);font-size:.8rem;margin-top:.2rem}
.nearby-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.9rem}
.nearby-head .section-title{margin-bottom:0}
.nearby-nav{display:flex;gap:.4rem;flex:0 0 auto}
.nearby-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--c-line);background:#fff;color:var(--c-navy);font-size:1.45rem;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0 0 .15rem;transition:background .15s,color .15s}
.nearby-btn:hover{background:var(--c-navy);color:#fff}
.nearby-btn:disabled{opacity:.35;cursor:default;background:#fff;color:var(--c-navy)}
.nearby-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2 * .9rem) / 3);gap:.9rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:.2rem .2rem .9rem;margin:-.2rem -.2rem 0;scrollbar-width:thin;scrollbar-color:var(--c-line) transparent}
.nearby-track::-webkit-scrollbar{height:6px}
.nearby-track::-webkit-scrollbar-thumb{background:var(--c-line);border-radius:3px}
.nearby-card{scroll-snap-align:start;display:flex;flex-direction:column;border:1px solid var(--c-line);border-radius:var(--radius-sm);overflow:hidden;background:#fff;color:var(--c-text);transition:box-shadow .15s,transform .15s}
.nearby-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.nearby-card.is-closed{opacity:.75}
.nearby-photo{position:relative;display:block;background:var(--c-surface)}
.nearby-photo img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.nearby-price{position:absolute;right:0;bottom:0;background:rgba(15,39,64,.88);color:#fff;font-weight:700;font-size:1.05rem;padding:.35rem .7rem;border-top-left-radius:var(--radius-sm)}
.nearby-price s{font-weight:500;font-size:.85rem;opacity:.75;margin-left:.3rem}
.nearby-body{display:flex;flex-direction:column;gap:.3rem;padding:.8rem .9rem .95rem;flex:1}
.nearby-body h3{font-size:1.02rem;line-height:1.3;margin:0;font-weight:700}
.nearby-body h3 a{color:var(--c-blue);text-decoration:none}
.nearby-body h3 a:hover{text-decoration:underline}
.nearby-meta{font-size:.82rem;color:var(--c-muted);display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}
.nearby-meta svg{width:14px;height:14px}
.nearby-meta i{font-style:normal;opacity:.6}
.nearby-metro{font-size:.86rem;color:var(--c-ink);line-height:1.5}
.nearby-metro span[class^=icon-]{margin:0 .15rem;color:var(--c-muted)}
.nearby-cta{margin-top:auto;padding:.55rem 1rem;font-size:.9rem;text-align:center;justify-content:center}
.nearby-cta.is-disabled{background:var(--c-surface);color:var(--c-muted);cursor:default;border:1px solid var(--c-line)}
.nearby-note{font-size:.8rem;color:var(--c-ink);display:flex;align-items:center;gap:.3rem;min-height:1.2em}
.nearby-note svg{width:14px;height:14px;color:#d33}
.nearby-note.muted{color:var(--c-muted)}
@media (max-width:900px){.nearby-track{grid-auto-columns:calc((100% - .9rem) / 2)}}
@media (max-width:600px){.nearby-track{grid-auto-columns:82%}.nearby-nav{display:none}}
