:root{--green:#16795a;--green-dark:#105c45;--green-soft:#eaf7f1;--ink:#1f2d2a;--muted:#6c7a77;--line:#e7ecea;--bg:#f7f9f8;--shadow:0 8px 30px rgba(26,55,46,.07)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.page-container{min-height:55vh;padding-top:1.5rem}.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px);z-index:1030}.brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--ink);font-weight:800;font-size:1.2rem;white-space:nowrap}.brand-mark{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--green);color:#fff;font-size:1.15rem}.brand-accent{color:var(--green)}.header-search{height:46px;border:1px solid #dfe7e4;border-radius:14px;background:#f8faf9;align-items:center;padding-left:14px;overflow:hidden}.header-search i{color:#71807c}.header-search input{border:0;outline:0;background:transparent;flex:1;padding:0 12px;font-size:.95rem}.header-search button{border:0;background:var(--green);color:#fff;height:100%;padding:0 20px;font-weight:600}.catalog-btn{height:46px;border-radius:13px}.btn-primary{--bs-btn-bg:var(--green);--bs-btn-border-color:var(--green);--bs-btn-hover-bg:var(--green-dark);--bs-btn-hover-border-color:var(--green-dark);--bs-btn-active-bg:var(--green-dark);--bs-btn-active-border-color:var(--green-dark)}.header-icon-link,.header-cart{height:44px;display:inline-flex;align-items:center;gap:.45rem;padding:0 10px;border-radius:12px;color:var(--ink);text-decoration:none;font-weight:600}.header-icon-link:hover,.header-cart:hover{background:var(--green-soft);color:var(--green)}.header-icon-link i,.header-cart i{font-size:1.25rem}.header-cart{background:#f4f8f6}.header-cart b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:var(--green);color:#fff;font-size:.72rem}.desktop-links{border-top:1px solid #f0f3f2;padding-top:.7rem}.desktop-links a{color:#52615d;text-decoration:none;font-size:.92rem}.desktop-links a:hover{color:var(--green)}.mobile-search{height:44px;display:flex;align-items:center;border:1px solid var(--line);border-radius:13px;background:#f8faf9;padding-left:13px}.mobile-search i{color:#75827f}.mobile-search input{border:0;outline:0;background:transparent;min-width:0;flex:1;padding:0 9px}.mobile-search button{border:0;background:var(--green);color:#fff;height:100%;width:46px;border-radius:0 12px 12px 0}.hero{padding:3.5rem;border-radius:26px;background:linear-gradient(135deg,#eaf8f2,#f8fbfa);border:1px solid #dcefe8;box-shadow:var(--shadow)}.hero h1{letter-spacing:-.03em}.hero-visual{min-height:220px;border-radius:24px;background:radial-gradient(circle at 50% 40%,#fff 0 20%,transparent 21%),linear-gradient(135deg,#d9f1e7,#f7fbf9);display:grid;place-items:center;font-size:4rem}.card{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 4px 18px rgba(25,50,43,.035);overflow:hidden}.card:hover{box-shadow:var(--shadow)}.product-card{height:100%}.product-img{height:220px;width:100%;object-fit:contain;background:#fff;padding:18px}.product-card .card-body{padding:1rem}.product-card-title{color:var(--ink);font-weight:700;line-height:1.35}.product-card-title:hover{color:var(--green)}.price{font-size:1.55rem;font-weight:500;letter-spacing:-.035em;line-height:1.15;color:var(--green-dark);margin-top:.15rem;margin-bottom:.65rem!important}.product-card-price{display:block}.product-quantity{border:2px solid var(--green);border-radius:13px;padding:3px;background:#fff;overflow:hidden;gap:0}.product-quantity .btn,.product-quantity .form-control{height:38px;border:0!important;box-shadow:none!important}.product-quantity .btn-outline-secondary{color:var(--green-dark);background:var(--green-soft);font-weight:800;min-width:36px}.product-quantity .btn-outline-secondary:hover{background:#d9f0e7;color:var(--green-dark)}.product-quantity .form-control{font-weight:800;color:var(--ink);background:#fff;min-width:38px}.product-quantity .btn-primary{border-radius:9px!important;margin-left:3px;font-weight:800;padding-left:.8rem;padding-right:.8rem;white-space:nowrap}.product-variant{border-radius:10px}.product-quantity .btn,.product-quantity .form-control{height:40px}.badge-pharmacy{background:var(--green-soft);color:var(--green)}.category-chip{display:inline-flex;padding:.55rem .8rem;border-radius:12px;background:#fff;border:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:600}.category-chip:hover{border-color:#b9dfd0;color:var(--green);background:var(--green-soft)}.section-title{font-weight:800;letter-spacing:-.02em}.filter-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1rem;box-shadow:0 4px 18px rgba(25,50,43,.03)}.site-footer{background:#fff;border-top:1px solid var(--line)}.site-footer a{display:block;color:#65736f;text-decoration:none;margin-top:.55rem;font-size:.9rem}.site-footer a:hover{color:var(--green)}.footer-bottom{border-top:1px solid var(--line);color:#88928f;font-size:.82rem}.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;height:66px;padding-bottom:env(safe-area-inset-bottom);background:rgba(255,255,255,.98);border-top:1px solid var(--line);display:flex;justify-content:space-around;z-index:1040;box-shadow:0 -5px 20px rgba(26,55,46,.08)}.mobile-bottom-nav a{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#71807c;text-decoration:none;font-size:.68rem;font-weight:600}.mobile-bottom-nav a i{font-size:1.18rem;line-height:1}.mobile-bottom-nav a:hover,.mobile-bottom-nav a:focus{color:var(--green)}.mobile-bottom-nav b{position:absolute;top:5px;margin-left:25px;min-width:17px;height:17px;padding:0 4px;border-radius:10px;background:var(--green);color:#fff;font-size:.6rem;display:grid;place-items:center}.cart-modal-item{border-color:var(--line)!important}.table{--bs-table-bg:#fff}.form-control,.form-select{border-color:#dfe7e4;border-radius:10px}.form-control:focus,.form-select:focus{border-color:#8ccbb6;box-shadow:0 0 0 .2rem rgba(22,121,90,.1)}
@media(max-width:767.98px){body{padding-bottom:74px}.page-container{padding-top:1rem}.header-main{gap:.55rem}.brand{font-size:1.03rem}.brand-mark{width:34px;height:34px;border-radius:10px}.header-actions{gap:.15rem}.header-cart{padding:0 6px}.hero{padding:1.5rem;border-radius:20px}.hero h1{font-size:2rem}.hero-visual{min-height:120px;font-size:3rem;margin-top:1rem}.product-img{height:150px;padding:12px}.product-card .card-body{padding:.72rem}.product-card-title{font-size:.88rem}.price{font-size:1.28rem;font-weight:500}.product-quantity{border-radius:12px;padding:2px}.product-quantity .btn-outline-secondary{min-width:32px}.product-quantity .btn-primary{padding-left:.55rem;padding-right:.55rem}.product-card .btn,.product-card .form-control,.product-card .form-select{font-size:.78rem}.product-card .product-quantity .btn{padding:.35rem .5rem}.product-card .product-quantity{display:flex;flex-wrap:wrap}.product-card .product-quantity .product-add-btn{flex-basis:100%;width:100%;margin-left:0!important;margin-top:4px;border-radius:10px!important;height:44px;font-size:.88rem}.site-footer{margin-bottom:0}.site-footer .container{padding-bottom:1.5rem}}

/* v4: наличие товара и упрощённый блок количества в каталоге */
.stock-badge{display:inline-flex;align-items:center;align-self:flex-start;padding:.35rem .7rem;border-radius:999px;background:#e8f7ee;color:#238653;font-size:.82rem;font-weight:700;line-height:1.2;}
.catalog-quantity{border:0!important;padding:0!important;background:transparent!important;border-radius:0!important;overflow:visible!important;}
.catalog-quantity .btn-outline-secondary{border:1px solid #dfe7e4!important;border-radius:9px!important;background:#fff!important;}
.catalog-quantity .form-control{border:1px solid #dfe7e4!important;border-radius:9px!important;margin:0 3px;}
.catalog-quantity .product-add-btn{border-radius:9px!important;}
@media(max-width:767.98px){.stock-badge{font-size:.76rem;padding:.32rem .58rem}.catalog-quantity .product-add-btn{margin-top:4px!important}}

/* v6: кнопка добавления на странице товара в стиле каталога */
.product-page-add-btn{display:inline-flex;align-items:center;justify-content:center;height:44px;border-radius:10px!important;font-weight:700;padding:.65rem 1.1rem;white-space:nowrap;}
@media(max-width:767.98px){.product-page-add-btn{width:100%;height:46px;font-size:.92rem;margin-top:.15rem;}}

/* v8: карта аптек в карточке товара */
.product-pharmacy-map-section{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1rem;box-shadow:0 4px 18px rgba(25,50,43,.035);}
.product-pharmacy-map-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
.product-pharmacy-map-wrap{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.9fr);gap:1rem;}
.product-pharmacy-map{min-height:430px;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#eef3f1;}
.product-pharmacy-map iframe{display:block;width:100%;height:430px;border:0;}
.product-pharmacy-list{display:flex;flex-direction:column;gap:.65rem;max-height:430px;overflow:auto;padding-right:.15rem;}
.product-pharmacy-item{border:1px solid var(--line);border-radius:14px;padding:.8rem;background:#fff;}
.product-pharmacy-item.is-selected{border-color:#9ad6bf;background:#f4fbf7;}
.product-pharmacy-item-top{display:flex;gap:.5rem;align-items:center;justify-content:space-between;}
.product-pharmacy-current{font-size:.72rem;font-weight:700;color:var(--green);background:var(--green-soft);padding:.2rem .5rem;border-radius:999px;}
.product-pharmacy-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:.55rem 0;}
.product-pharmacy-price{font-size:1.05rem;font-weight:500;color:var(--green-dark);white-space:nowrap;}
.product-pharmacy-select{width:100%;}
@media(max-width:767.98px){
  .product-pharmacy-map-section{padding:.75rem;border-radius:16px;}
  .product-pharmacy-map-wrap{grid-template-columns:1fr;gap:.75rem;}
  .product-pharmacy-map,.product-pharmacy-map iframe{height:300px;min-height:300px;}
  .product-pharmacy-list{max-height:none;overflow:visible;}
  .product-pharmacy-meta{align-items:flex-start;flex-direction:column;}
}
