@charset "UTF-8";
/* ========================================================= 1) BASE / HEADER / PRODUCTS LAYOUT запазва текущата визия ========================================================= */ 
/* ===== Base ===== */
:root {
  --bg:#f5f7fb;
  --card:#ffffff;
  --text:#0f172a;
  --muted:#64748b;
  --border:#e2e8f0;
  --red:#e11d2e;
  --shadow:0 12px 30px rgba(2,6,23,.08);
  --radius:16px;
}

* {
  box-sizing:border-box
}

body {
  margin:0;
  font-family:system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
}

html, body {
  max-width:100%;
  overflow-x:hidden;
}

.container {
  max-width:1200px;
  margin:0 auto;
  padding:18px;
}

/* ===== Header ===== */
.site-header {
  background:#fff;
  border-bottom:1px solid var(--border);
}

.site-header img {
  max-width:100%;
  height:auto;
}
.site-header .brand-logo{
  height:60px;
  width:auto;
  max-width:220px;
  object-fit:contain;
}
.site-header .logo img, .site-header .site-logo img {
  width:auto !important;
  height:auto !important;
  max-height:90px;
  object-fit:contain;
  display:block;
}

.header-row {
  display:flex;
  align-items:center;
  gap:14px;
  padding:12px 0;
  flex-wrap:nowrap;
}

.wrap .brand {
    display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:var(--text);
  font-weight:800;
}

.brand-title {
  font-size:18px;
}

.main-nav {
  display:flex;
  align-items:center;
  gap:6px;
  padding:6px;
  border:1px solid var(--border);
  background:#fff;
  border-radius:999px;
  box-shadow:0 10px 24px rgba(2,6,23,.06);
}

.main-nav a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  font-weight:800;
  font-size:14px;
  line-height:1;
  color:var(--text);
  text-decoration:none;
  background:transparent;
}

.main-nav a.active {
  background:rgba(225,29,46,.12);
  color:var(--red);
}

.header-search {
  display:flex;
  align-items:center;
  gap:10px;
  flex:1;
  justify-content:center;
  min-width:280px;
}

.header-search input {
  width:min(460px,100%);
  border-radius:999px;
  border:1px solid var(--border);
  padding:10px 14px;
  background:#fff;
  outline:none;
}

.header-actions {
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
}

.auth-actions {
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
}

.pill, .auth-actions .pill, .header-actions .pill {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  border-radius:999px;
  padding:9px 12px;
  border:1px solid var(--border);
  background:#fff;
  color:var(--text);
  font-weight:900;
  text-decoration:none;
  line-height:1;
  box-shadow:0 10px 24px rgba(2,6,23,.06);
}

.pill .count {
  margin-left:8px;
  border-radius:999px;
  padding:2px 8px;
  font-weight:900;
  background:rgba(225,29,46,.12);
  color:var(--red);
}

.pill-red {
  background:var(--red) !important;
  color:#fff !important;
  border-color:transparent !important;
}

.pill-dark {
  background:#111827 !important;
  color:#fff !important;
  border-color:transparent !important;
}

.pill-email {
  max-width:220px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pill-user {
  display:none;
  position:relative;
  font-size:18px;
  padding:8px 10px;
}

.pill-user.is-logged::after {
  content:"✓";
  position:absolute;
  top:2px;
  right:2px;
  width:14px;
  height:14px;
  background:#22c55e;
  color:#fff;
  font-size:10px;
  font-weight:bold;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.mega-reset-link,
.mobile-menu-reset-link {
  color: #b91c1c !important;
  font-weight: 900 !important;
}

.menu-lock-icon {
  position: relative;
  width: 18px;
  height: 17px;
  display: inline-flex;
  flex: 0 0 18px;
  align-items: flex-end;
  justify-content: center;
  color: #e11d2e;
}

.menu-lock-icon::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 0;
  width: 10px;
  height: 10px;
  border: 2px solid currentColor;
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
}

.menu-lock-icon::after {
  content: "";
  width: 16px;
  height: 11px;
  border-radius: 4px;
  background: currentColor;
  box-shadow: 0 5px 12px rgba(225, 29, 46, .22);
}

/* ===== Buttons ===== */
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  gap:8px;
  min-height:42px;
  padding:11px 17px;
  font-weight:800;
  border:1px solid rgba(15,23,42,.13);
  background:linear-gradient(180deg, #fff, #f8fafc);
  color:#111827;
  text-decoration:none;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.btn:hover {
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(15,23,42,.13);
}

.btn-red {
  background:var(--red);
  border-color:var(--red);
  color:#fff;
  transition:all .25s ease;
  position:relative;
  overflow:hidden;
}

.btn-red:hover {
  transform:translateY(-2px);
  box-shadow:0 10px 25px rgba(220,0,0,.35);
}

/* ===== Top tabs ===== */
.top-tabs {
  display:flex;
  gap:10px;
  margin:10px 0 18px;
}

.tab {
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--border);
  background:#fff;
  text-decoration:none;
  color:var(--text);
  font-weight:700;
}

.tab.active {
  border-color:var(--text);
}

/* ===== Sort / filters bar ===== */
.sort-sticky {
  position:relative;
  top:auto;
  z-index:1;
  margin:10px 0 18px;
}

.sort-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0;
  position: relative;
  z-index: 5;

  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px; /* вместо 999px */

  padding: 6px 10px; /* по-тънко */
  box-shadow: none; /* махаме тежкия shadow */
}

.sort-bar .filters-form {
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:0;
}

.sort-bar a.btn, .sort-bar button.btn {
  height:38px;
  padding:0 14px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.sort-bar select.btn, .sort-bar input.btn {
  height:38px;
  padding:0 38px 0 14px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  display:inline-block !important;
  appearance:auto !important;
}

.sort-bar .btn-red {
  height:38px;
  padding:0 14px;
  min-width:0;
  font-size:14px;
}

.sort-price {
  border-radius:999px;
  padding:10px 16px;
  height:40px;
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.sort-price .sort-pill {
  display:inline-flex;
  align-items:center;
  gap:10px;
}

.sort-price .sort-ico {
  display:inline-grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:999px;
  background:rgba(255,255,255,.22);
  font-weight:900;
  line-height:1;
}

.filters-reset {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:42px;
  padding:0 16px;
  border-radius:14px;
  border:2px solid #e30613;
  background:transparent;
  color:#e30613;
  font-weight:800;
  text-decoration:none;
  transition:all .2s ease;
}

.filters-reset:hover {
  background:#e30613;
  color:#fff;
  box-shadow:0 10px 20px rgba(227,6,19,.25);
}

/* ===== Products layout ===== */
.layout {
  display:grid;
  grid-template-columns:280px 1fr;
  gap:18px;
  align-items:start;
}

.sidebar {
  position: sticky;
  top: 12px;
  align-self: start;
  height: auto;
  overflow: visible;
  padding-right: 6px;
}

.content {
  min-width:0;
}

/* ===== Sidebar / categories ===== */
.filter-box {
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:var(--shadow);
  padding:6px;
  overflow:visible;
}

.filter-box + .filter-box {
  margin-top:12px;
}

.filter-box summary {
  cursor:pointer;
  list-style:none;
  font-size:15px;
  font-weight:800;
  color:var(--text);
  padding:10px 12px;
  border-radius:10px;
  background:#f8fafc;
  display:flex;
  align-items:center;
}

.filter-box summary::-webkit-details-marker {
  display:none;
}

details.cat-accordion > summary::after {
  content:"\25BE";
  margin-left:auto;
  opacity:.6;
  transition:transform .2s ease;
}

details.cat-accordion[open] > summary::after {
  transform:rotate(180deg);
}

.cat-parent-box {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:10px 0 6px;
  padding:10px 12px;
  border:2px solid #e30613;
  border-radius:10px;
  color:#e30613;
  font-weight:700;
  text-decoration:none;
  background:#fff;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.cat-parent-box:hover {
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(0,0,0,.08);
  background:#e30613;
  color:#fff;
}

.cat-parent-box.active {
  background:#e30613;
  color:#fff;
}

.cat-title {
  font-weight:800;
}

.cat-badge {
  font-size:12px;
  font-weight:800;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  background:#f3f4f6;
  white-space:nowrap;
}

.cat-badge--analog {
  background:rgba(220,0,0,.08);
  border-color:rgba(220,0,0,.18);
  color:#b30000;
}

.cat-badge--digital {
  background:rgba(0,140,255,.10);
  border-color:rgba(0,140,255,.18);
  color:#045a9c;
}

.cat-link {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:6px 12px;
  margin:2px 0;
  font-size:14px;
  border-radius:8px;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, padding-left .18s ease;
  color:#374151;
  text-decoration:none;
}

.cat-link > span:first-child,
.cat-parent-box > span:first-child {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}

.sidebar-promo-badge {
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  padding:3px 8px;
  border:1px solid rgba(225, 29, 46, .18);
  border-radius:999px;
  background:#fff5f6;
  color:#c51624;
  font-size:11px;
  font-weight:900;
  line-height:1.15;
  white-space:nowrap;
}

.cat-parent-box .sidebar-promo-badge {
  background:#fff;
  box-shadow:0 6px 16px rgba(225, 29, 46, .10);
}

.cat-link.active .sidebar-promo-badge,
.cat-parent-box.active .sidebar-promo-badge,
.cat-parent-box:hover .sidebar-promo-badge {
  background:#fff;
  border-color:rgba(255,255,255,.65);
  color:#b91c1c;
}

.cat-link:hover {
  background:#f3f4f6;
  padding-left:16px;
}

.cat-link.active {
  background:#dc0000;
  color:#fff;
}

/* ===== Products grid/cards ===== */
.grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.grid .card {
  background:var(--card);
  border:1px solid rgba(227,6,19,.18);
  border-radius:20px;
  box-shadow:0 10px 24px rgba(2,6,23,.07);
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
  overflow:hidden;
  position:relative;
}

.grid .card:hover {
  transform:translateY(-8px) scale(1.01);
  border-color:rgba(227,6,19,.38);
  box-shadow:0 20px 44px rgba(0,0,0,.16);
}
.grid .card{
  position:relative;
  border:1px solid rgba(227,6,19,.16);
  border-radius:20px;
  box-shadow:0 10px 24px rgba(2,6,23,.07);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.grid .card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,#e30613,#ff3b3b);
  opacity:0;
  transition:opacity .25s ease;
  z-index:2;
}

.grid .card:hover{
  transform:translateY(-8px) scale(1.01);
  border-color:rgba(227,6,19,.35);
  box-shadow:0 20px 44px rgba(0,0,0,.16);
}

.grid .card:hover::before{
  opacity:1;
}
.grid .card::before {
  content:"";
  position:absolute;
  inset:0;
  border-radius:20px;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
}

.grid .card .card-img {
  display:block;
}

.grid .card .prod-media {
  position:relative;
  overflow:hidden;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  height:180px;
  min-height:180px;
  max-height:180px;
  padding:12px;
}
.grid .card .prod-media::before{
  content:"";
  position:absolute;
  top:0;
  left:-80%;
  width:50%;
  height:100%;
  background:linear-gradient(
    120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.55) 50%,
    rgba(255,255,255,0) 100%
  );
  transform:skewX(-20deg);
  transition:left .65s ease;
  pointer-events:none;
}

.grid .card:hover .prod-media::before{
  left:130%;
}
.grid .card .card-img .prod-media > img:not(.prod-feature) {
  width:auto;
  height:auto;
  max-width:100%;
  max-height:140px;
  object-fit:contain;
  object-position:center;
  display:block;
  margin:0 auto;
  transition:transform .32s ease;
}

.grid .card .card-img .prod-media > img.product-placeholder-logo {
  max-width:78%;
  max-height:82px;
  opacity:.95;
}

.grid .card:hover .prod-media > img:not(.prod-feature) {
  transform:scale(1.08);
}

.grid .card:hover .prod-media > img.product-placeholder-logo {
  transform:scale(1.03);
}

.grid .card .card-img:active .prod-media > img:not(.prod-feature) {
  transform:scale(1.04);
}

.grid .card .prod-media img.prod-feature {
  transform:none !important;
  transition:none !important;
}

.grid .card .prod-media::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,0) 55%, rgba(0,0,0,.16) 100%);
  opacity:0;
  transition:opacity .3s ease;
  pointer-events:none;
}

.grid .card .prod-media::before {
  content:"";
  position:absolute;
  top:0;
  left:-75%;
  width:50%;
  height:100%;
  background:linear-gradient(120deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.42) 50%, rgba(255,255,255,0) 100%);
  transform:skewX(-20deg);
  transition:left .65s ease;
  pointer-events:none;
}

.grid .card:hover .prod-media::after {
  opacity:1;
}
.grid .card::after{
  content:"";
  position:absolute;
  top:0;
  left:-120%;
  width:60%;
  height:100%;
  background:linear-gradient(
    120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.35) 50%,
    rgba(255,255,255,0) 100%
  );
  transform:skewX(-20deg);
  transition:left .7s ease;
  pointer-events:none;
}

.grid .card:hover::after{
  left:130%;
}
.grid .card:hover .prod-media::before {
  left:125%;
}

.grid .card .price-badge {
  position:absolute;
  bottom:12px;
  right:12px;
  padding:6px 12px;
  font-weight:800;
  font-size:15px;
  color:#fff;
  background:linear-gradient(135deg, #e00000, #ff2a2a);
  border-radius:14px;
  box-shadow:0 10px 25px rgba(0,0,0,.35);
  letter-spacing:.3px;
  transform:translateY(10px) scale(.95);
  opacity:0;
  transition:all .25s ease;
}

.promo-image-badge {
  position:absolute;
  top:10px;
  left:10px;
  z-index:8;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
  min-height:30px;
  padding:5px 9px;
  border-radius:8px;
  background:#dc2626;
  color:#fff;
  font-size:14px;
  font-weight:900;
  line-height:1;
  box-shadow:0 10px 22px rgba(220,38,38,.28);
}

.product-stock-badge {
  position:absolute;
  top:10px;
  right:10px;
  z-index:8;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:5px 10px;
  border-radius:8px;
  background:#111827;
  color:#fff;
  font-size:13px;
  font-weight:800;
  line-height:1;
  box-shadow:0 10px 24px rgba(0,0,0,.24);
}

.price .old-price,
.product-price .old-price {
  display:inline-block;
  margin-right:8px;
  color:#94a3b8;
  font-size:.82em;
  font-weight:700;
  text-decoration:line-through;
}

.product-price .promo-badge {
  display:inline-flex;
  align-items:center;
  margin-left:8px;
  padding:4px 8px;
  border-radius:8px;
  background:#fee2e2;
  color:#b91c1c;
  font-size:14px;
  font-weight:900;
  vertical-align:middle;
}

.grid .card:hover .price-badge,
.grid .card .card-img:active .price-badge {
  transform:translateY(0) scale(1);
  opacity:1;
}
/* ===== Feature icon ===== */
.prod-media {
  position:relative !important;
}

.prod-media .prod-feature {
  position:absolute;
  top:1px;
  right:8px;
  z-index:50;
  width:160px;
  height:auto;
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:none;
}

.prod-media .prod-badge {
  position:absolute;
  top:9px;
  right:9px;
  z-index:50;
  background:transparent;
  padding:0;
  pointer-events:none;
}

.prod-media .prod-badge img {
  width:58px;
  max-height:34px;
  height:auto;
  object-fit:contain;
  display:block;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.prod-feature-strip {
  display:none !important;
}

.prod-feature-strip img {
  display:none !important;
}

/* ===== MOBILE HEADER ===== */

@media (max-width:768px){

.header{
display:flex;
align-items:center;
justify-content:space-between;
padding:10px 14px;
}

.logo{
display:flex;
align-items:center;
justify-content:flex-start;
}

.logo img{
height:46px;
width:auto;
display:block;
}

/* меню бутони */

.header-right{
display:flex;
align-items:center;
gap:8px;
}

.cart-btn{
padding:6px 10px;
font-size:13px;
}

.user-btn{
width:36px;
height:36px;
}

}

  .grid .card .prod-media {
    position:relative;
    overflow:hidden;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    height:160px;
    min-height:160px;
    max-height:160px;
    padding:10px;
  }
  .grid .card .card-img .prod-media > img {
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100px;
    object-fit:contain;
    object-position:center;
    display:block;
    margin:0 auto;
  }
 
  .grid .card:hover .prod-media::after, .grid .card:hover .prod-media::before {
    opacity:0;
    left:-75%;
  }


.model {
  margin:0;
  text-align:center;
  font-size:16px;
  letter-spacing:.2px;
}

.grid .card .brand-logo {
  max-width:150px;
  max-height:44px;
  width:auto;
  height:auto;
  display:block;
  margin:0 auto 4px;
  object-fit:contain;
}

.grid .card .card-img .prod-media > img {
  width:auto;
  height:auto;
  max-width:100%;
  max-height:150px;
  object-fit:contain;
  object-position:center;
  display:block;
  margin:0 auto;
}

.card .brand-logo {
  max-width:120px;
  max-height:36px;
}

.mini-desc {
  margin-top:6px;
  font-size:13px;
  line-height:1.25;
  opacity:.8;
}

.price-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:auto;
}

.price {
  font-size:18px;
  font-weight:900;
}

.promo-note {
  color:#b91c1c;
  font-weight:800;
  line-height:1.2;
}

.promo-note--card-bottom {
  display:block;
  margin-top:6px;
  font-size:11px;
}

.promo-note--inline {
  display:inline-flex;
  align-items:center;
  margin-left:6px;
  font-size:11px;
  white-space:nowrap;
}

.promo-note--product-below {
  margin:-4px 0 10px;
  font-size:12px;
}

.card-actions {
  display:flex;
  gap:10px;
}

.card-actions .btn {
  padding:10px 12px;
}

.card-actions .btn:not(.btn-red) {
  background:#fff;
  color:var(--text);
  border:1px solid var(--border);
}

.card-actions .btn:not(.btn-red):hover {
  background:var(--bg);
}

.btn-add {
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.btn-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  background:rgba(255,255,255,.95);
  color:#111;
  font-size:12px;
  font-weight:800;
  line-height:1;
}

@keyframes cartPop {
  0% {
    transform:scale(1)
  }
  40% {
    transform:scale(1.25)
  }
  70% {
    transform:scale(.92)
  }
  100% {
    transform:scale(1)
  }
}

.cart-pop {
  animation:cartPop .35s ease;
}

.product-thumb {
  width:80px;
  height:80px;
  object-fit:contain;
  border-radius:12px;
  border:1px solid var(--border);
  padding:6px;
  background:#fff;
}

/* ===== Mobile products ===== */
@media (max-width: 900px) {
  .top-tabs {
    display:none !important;
  }
  .sort-bar, .sort-price, .layout > .sidebar {
    display:none !important;
  }
  .layout {
    grid-template-columns:1fr !important;
    gap:0 !important;
  }
  .layout > .content, .layout main, .layout .grid {
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .mview-switch {
    position:relative;
    top:auto;
    z-index:1000;
    margin:12px;
    padding:8px;
    background:rgba(255,255,255,.95);
    backdrop-filter:blur(8px);
    border-radius:18px;
    box-shadow:0 12px 25px rgba(0,0,0,.12);
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
  }
  .mview-switch.is-floating {
    position:fixed;
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    left:12px;
    right:12px;
    top:10px;
    padding:8px;
    margin:0;
    z-index:10050;
    transform:none;
    opacity:1;
    background:rgba(255,255,255,.95);
    backdrop-filter:blur(8px);
    border-radius:18px;
    box-shadow:0 12px 25px rgba(0,0,0,.12);
  }
  .mview-switch-spacer {
    display:none;
    height:0;
  }
  .mview-switch-spacer.is-on {
    display:block;
  }
  .mview-tab {
    flex:1;
    padding:12px 14px;
    border-radius:14px;
    border:none;
    font-size:14px;
    font-weight:700;
    text-decoration:none;
    background:#f3f4f6;
    color:inherit;
    display:flex;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
  }
  .mview-promo-row {
    flex:0 0 100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    min-width:0;
    margin-top:0;
    padding:7px 8px;
    border:1px solid #fee2e2;
    border-radius:12px;
    background:#fff;
    color:#111827;
    font-size:10px;
    font-weight:800;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
  }
  .mview-promo-row span,
  .mview-promo-row strong {
    min-width:0;
    overflow:visible;
    text-overflow:clip;
  }
  .mview-promo-row span {
    color:#b91c1c;
  }
  .mview-promo-row strong,
  .mview-promo-row strong strong {
    color:#b91c1c;
    font-weight:900;
  }
  .mview-tab.is-active {
    background:#e30613;
    color:#fff;
    box-shadow:0 8px 18px rgba(227,6,19,.25);
  }
	  .mview-tab.mview-cart {
	    flex:0 0 46px;
	    width:46px;
	    height:46px;
	    padding:0;
    border-radius:14px;
	    background:#f3f4f6;
	    position:relative;
	  }
	  .mview-tab.mview-menu {
	    flex:0 0 46px;
	    width:46px;
	    height:46px;
	    padding:0;
	    border-radius:14px;
	    cursor:pointer;
	    flex-direction:column;
	    gap:5px;
	  }
	  .mview-tab.mview-menu span {
	    display:block;
	    width:20px;
	    height:2px;
	    background:#111827;
	    border-radius:999px;
	  }
	  .mview-cart-count {
    position:absolute;
    top:-5px;
    right:-5px;
    min-width:18px;
    height:18px;
    background:#e30613;
    color:#fff;
    font-size:11px;
    font-weight:800;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid #fff;
  }
  body.mview-filters .content {
    display:none !important;
  }
  .layout > .content {
    display:flex !important;
    flex-direction:column !important;
  }
  .grid {
    order:4;
  }
  .pager,
  .pagination {
    order:5;
  }
  .products-list-head {
    order:3;
    margin-top:14px !important;
  }
  .products-hero {
    order:1;
    margin-top:0 !important;
  }
  .breadcrumb {
    order:2;
  }
  .products-hero-trust--bottom {
    order:21;
  }
  .products-seo-intro {
    order:22;
  }
  .products-seo-footer {
    order:23;
  }
  .mfilters-backdrop {
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.45);
    z-index:10000;
  }
  .mfilters-panel {
    position:fixed;
    top:0;
    left:0;
    height:100vh;
    width:min(92vw,380px);
    background:#0c1117;
    color:#fff;
    transform:translateX(-105%);
    transition:transform .2s ease;
    z-index:10020;
    display:flex;
    flex-direction:column;
    box-shadow:0 18px 50px rgba(0,0,0,.45);
    border-radius:18px;
    overflow:hidden;
  }
  .mfilters-panel.is-open {
    transform:translateX(0);
  }
  .mfilters-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px 14px;
    background:rgba(255,255,255,.04);
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .mfilters-close {
    border:0;
    border-radius:12px;
    padding:10px 12px;
    background:rgba(255,255,255,.08);
    color:#fff;
    font-weight:900;
  }
  .mfilters-body {
    padding:12px 14px;
    height:calc(100vh - 64px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding-bottom:90px;
  }
  .mfilters-form {
    display:grid;
    gap:10px;
    margin-bottom:14px;
  }
  .mfilters-panel select {
    height:44px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.06);
    color:rgba(255,255,255,.92);
    padding:0 14px;
  }
  .mfilters-panel button[type="submit"] {
    height:44px;
    border-radius:14px;
    font-weight:900;
    letter-spacing:.02em;
  }
  .mfilters-panel .filters-reset {
    color:rgba(255,255,255,.85) !important;
    text-decoration:none !important;
    display:inline-block !important;
    margin:10px auto 4px !important;
    padding:6px 4px !important;
    font-weight:700 !important;
    font-size:14px !important;
    position:relative !important;
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
    height:auto !important;
  }
  .mfilters-panel .filters-reset::after {
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    bottom:-2px !important;
    width:0% !important;
    height:2px !important;
    background:#e30613 !important;
    transition:width .25s ease !important;
  }
  .mfilters-panel .filters-reset:hover {
    color:#fff !important;
  }
  .mfilters-panel .filters-reset:hover::after {
    width:100% !important;
  }
  .mfilters-panel .sidebar {
    padding:8px 4px;
  }
  .mfilters-panel details.filter-box {
    border-radius:16px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    padding:6px;
    margin-bottom:10px;
    max-height:46vh;
    overflow-y:auto;
  }
  .mfilters-panel summary {
    padding:10px 12px;
    font-weight:900;
    font-size:14px;
    cursor:pointer;
    list-style:none;
    color:#fff;
    background:transparent;
  }
  .mfilters-panel summary::-webkit-details-marker {
    display:none;
  }
  #mfiltersPanel details.filter-box > summary {
    position:relative;
    padding-right:34px;
  }
  #mfiltersPanel details.filter-box > summary::after {
    content:"\25BE";
    position:absolute;
    right:12px;
    top:50%;
    transform:translateY(-50%) rotate(0deg);
    transition:transform .18s ease;
    opacity:.9;
    font-size:14px;
  }
  #mfiltersPanel details.filter-box[open] > summary::after {
    transform:translateY(-50%) rotate(180deg);
  }
  #mfiltersPanel .cat-parent-box, #mfiltersPanel .cat-link {
    transition:transform .08s ease, background .18s ease, border-color .18s ease;
  }
  #mfiltersPanel .cat-parent-box:active, #mfiltersPanel .cat-link:active {
    transform:scale(.98);
  }
  #mfiltersPanel .cat-parent-box {
    font-size:15px;
    font-weight:900;
    padding:12px 14px;
    margin:10px 0 6px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.15);
    border-radius:14px;
    color:#fff;
  }
  #mfiltersPanel .cat-link {
    margin-left:18px;
    padding-left:16px;
    font-size:13px;
    font-weight:700;
    position:relative;
    color:rgba(255,255,255,.85);
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
  }
  #mfiltersPanel .cat-link::before {
    content:"";
    position:absolute;
    left:-10px;
    top:8px;
    bottom:8px;
    width:2px;
    background:rgba(255,255,255,.12);
    border-radius:999px;
  }
  #mfiltersPanel .cat-link.active {
    background:rgba(227,6,19,.20);
    border-color:rgba(227,6,19,.45);
    color:#fff;
    box-shadow:0 6px 16px rgba(227,6,19,.25);
    font-weight:900;
  }
  .mview-tab {
    font-size:12px;
    padding:8px 10px;
  }
}

@media (min-width: 901px) {
  .mview-switch {
    display:none !important;
  }
  .top-tabs {
    margin:0;
    padding:0;
    order:0;
  }
.top-tabs .tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 34px; /* по-нисък */
  padding: 0 14px;

  border: 1px solid var(--border);
  border-radius: 10px; /* вместо 999 */

  background: #fff;
  color: var(--text);

  font-weight: 600;
  font-size: 14px;

  transition: .2s ease;
}
  .sort-price {
    order:1;
  }
  .filters-form {
    order:2;
    display:flex;
    gap:8px;
    align-items:center;
  }
}

@media (min-width: 901px) and (max-width: 1100px) {
  .layout {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .layout > .sidebar {
    display: none !important;
  }

  .layout > .content {
    width: 100% !important;
    min-width: 0 !important;
  }

  #mfiltersPanel.mfilters-panel,
  .mfilters-backdrop {
    display: none !important;
  }
}

/* ===== Responsive header ===== */
@media (max-width: 1080px) {
  .header-row {
    flex-wrap:wrap;
  }
  .main-nav {
    order:2;
  }
  .header-actions {
    order:3;
    margin-left:auto;
  }
  .header-search {
    order:4;
    width:100%;
    justify-content:flex-start;
  }
  .header-search input {
    width:100%;
  }
}

@media (max-width: 768px) {
  .header-search {
    display:none !important;
  }
  .site-header .brand-logo{
  height:42px;
  max-width:160px;
}
  .auth-actions {
    display:none !important;
  }
  .header-row {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    padding-top:6px;
    padding-bottom:6px;
  }
  .brand {
    order:1;
  }
  .header-actions {
    order:2;
    margin-left:auto;
    gap:6px !important;
  }
  .main-nav {
    order:3;
    width:100%;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:6px;
    overflow:visible;
    white-space:normal;
    padding:6px;
    border:1px solid #e6e6e6;
    border-radius:999px;
    background:#fff;
  }
  .main-nav a {
    display:flex;
    align-items:center;
    justify-content:center;
    padding:7px 6px;
    font-size:12px;
    line-height:1;
    border-radius:999px;
    background:#f3f4f6;
    margin:0;
  }
  .main-nav a.active {
    background:#fff;
    border:1px solid #e11d2e;
  }
  .nav-user {
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-width:38px;
    background:#f3f4f6;
    border-radius:50%;
    width:34px;
    height:34px;
    margin-left:2px;
    font-size:16px;
  }
  .pill-user {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:44px;
    padding:10px 12px;
    font-size:18px;
  }
  .pill-user.is-logged {
    background:#e9f8ef;
    border:1px solid rgba(0,0,0,.08);
    color:#1a7f37;
  }
}

@media (max-width: 640px) {
  .grid {
    grid-template-columns:1fr;
  }
  .sort-bar {
    gap:8px;
  }
  .sort-bar .filters-form {
    width:100%;
  }
  .sort-bar select.btn {
    min-width:160px;
  }
}

/* ========================================================= 2) PRODUCT PAGE / CART / CHECKOUT запазва текущата визия ========================================================= */
/* ===== Breadcrumb ===== */
.breadcrumb {
  display:flex;
  gap:8px;
  align-items:center;
  color:var(--muted);
  font-weight:650;
  margin:8px 0 14px;
}

.breadcrumb a {
  color:var(--muted);
  text-decoration:none;
}

.breadcrumb a:hover {
  text-decoration:underline;
}

/* ===== Product page layout ===== */
.product-wrap {
  display:grid;
  grid-template-columns:520px 1fr;
  gap:18px;
}

.product-left, .product-right {
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.product-right{
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.product-left {
  padding:16px;
}

.product-right {
  padding:16px;
}

.product-right {
  position:relative;
  background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border-color:#dbe3ef;
}

.product-right::before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  border-radius:var(--radius) var(--radius) 0 0;
  background:linear-gradient(90deg, #e11d2e, #111827);
}

.product-img {
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}

.product-img img {
  width:100%;
  height:420px;
  object-fit:contain;
  display:block;
}

.product-placeholder-media {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:420px;
  padding:40px;
}

.product-img img.product-placeholder-logo {
  width:auto;
  max-width:72%;
  height:auto;
  max-height:150px;
  margin:auto;
  opacity:.96;
}

.product-title {
  margin:8px 0 6px;
  font-size:28px;
}

.product-sub {
  color:var(--muted);
  font-weight:650;
  margin-bottom:10px;
}

.product-price {
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:8px 13px;
  border-radius:14px;
  background:#fff1f2;
  color:#b91c1c;
  border:1px solid rgba(225,29,46,.18);
  font-size:26px;
  font-weight:950;
  margin:10px 0 12px;
  line-height:1;
}

.product-trust-badges {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 10px;
}

.product-trust-badges--bottom {
  margin-top:18px;
}

.product-trust-badges span {
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:7px 11px;
  border:1px solid #dbeafe;
  border-radius:999px;
  background:#fff;
  color:#1e3a8a;
  font-size:13px;
  font-weight:850;
  line-height:1;
  box-shadow:0 4px 12px rgba(15,23,42,.04);
}

.product-trust-badges span::before {
  content:"";
  width:7px;
  height:7px;
  margin-right:7px;
  border-radius:999px;
  background:#16a34a;
  box-shadow:0 0 0 3px rgba(22,163,74,.12);
}

.product-buy-note {
  margin:2px 0 14px;
  padding:10px 12px;
  border-left:3px solid #e11d2e;
  border-radius:0 12px 12px 0;
  background:#fff;
  color:#475569;
  font-size:14px;
  line-height:1.45;
}

.product-brand {
  display:none !important;
}

.product-model{
  padding: 0;
  margin: 0 0 8px;
  font-size: 20px;
  line-height: 1.1;
  font-weight: 800;
  color: #0f172a;
}

.product-short {
  font-size:14px;
  color:var(--muted);
  line-height:1.45;
  margin:0 0 14px;
}

.product-right .brand-logo {
  max-height:16px;
  width:auto;
  display:block;
  margin-left:auto;
  margin-bottom:8px;
}

/* ===== Product page feature badge ===== */
.product-wrap .product-img.prod-media {
  position:relative;
  background:#fff;
}

.product-wrap .product-img.prod-media::before, .product-wrap .product-img.prod-media::after {
  content:none !important;
  display:none !important;
}

.product-wrap .product-img.prod-media > img {
  opacity:1 !important;
  filter:none !important;
  mix-blend-mode:normal !important;
}

.product-wrap .product-img.prod-media .prod-badge {
  position:absolute;
  top:14px;
  right:14px;
  left:auto !important;
  z-index:6;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}

.product-wrap .product-img.prod-media .prod-badge img {
  display:block;
  width:92px;
  max-height:54px;
  height:auto;
  object-fit:contain;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  opacity:1 !important;
  filter:none !important;
  mix-blend-mode:normal !important;
  pointer-events:none;
}

.product-feature-strip {
  display:none !important;
}

.product-feature-strip img {
  display:none !important;
}

/* ===== Buy row ===== */
.buy-row {
  display:flex;
  align-items:flex-end;
  gap:12px;
  flex-wrap:wrap;
  margin:8px 0 16px;
}

.buy-row .add-to-cart {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:7px;
}

.buy-row .btn-add {
  min-height:40px;
  padding:10px 16px;
  border-radius:12px;
  font-size:14px;
  font-weight:950;
  box-shadow:0 10px 20px rgba(225,29,46,.18);
}

.product-buy-microcopy {
  max-width:230px;
  color:#64748b;
  font-size:11px;
  font-weight:700;
  line-height:1.35;
  text-align:center;
}

.buy-row .btn-back, .buy-row .btn-cart {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid var(--border);
  background:#fff;
  color:var(--text);
  font-weight:800;
  line-height:1;
  text-decoration:none;
}

.buy-row .btn-back::before {
  content:"\2190";
  font-size:16px;
}

.buy-row .btn-cart::before {
  content:"\1F6D2";
  font-size:16px;
}

.buy-row .btn-cart {
  position:relative;
}

.buy-row .cart-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  padding:0 7px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  background:var(--red);
  color:#fff;
  border:2px solid #fff;
}

.product-wrap .buy-row .btn-back:hover, .product-wrap .buy-row .btn-cart:hover {
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(2,6,23,.08);
}

.product-value-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:9px;
  margin:4px 0 16px;
}

.product-value-grid div {
  padding:11px 10px;
  border:1px solid #e5eaf2;
  border-radius:13px;
  background:#fff;
  box-shadow:0 6px 16px rgba(15,23,42,.04);
}

.product-value-grid strong,
.product-value-grid span {
  display:block;
}

.product-value-grid strong {
  margin-bottom:5px;
  color:#0f172a;
  font-size:13px;
  font-weight:900;
}

.product-value-grid span {
  color:#64748b;
  font-size:12px;
  font-weight:650;
  line-height:1.35;
}

/* ===== Quantity ===== */
.qty {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.qty input, .qty-input {
  width:110px;
  padding:8px 10px;
  border:1px solid var(--border);
  border-radius:10px;
  text-align:center;
  font-weight:700;
  background:#fff !important;
  color:#000 !important;
  -webkit-text-fill-color:#000 !important;
  opacity:1 !important;
  font-size:14px !important;
}

.qty.vertical {
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
}

.qty.vertical .btn {
  width:28px;
  height:28px;
  padding:0;
  font-size:16px;
  font-weight:700;
  border-radius:6px;
  border:none;
  box-shadow:0 1px 3px rgba(0,0,0,.15);
  cursor:pointer;
}

.qty.vertical .btn[name="inc"] {
  background:#2e7d32;
  color:#fff;
}

.qty.vertical .btn[name="dec"] {
  background:#c62828;
  color:#fff;
}

.qty.vertical .btn:hover {
  transform:translateY(-1px);
}

.qty.vertical .qty-input {
  width:52px;
  height:32px;
  line-height:32px !important;
  padding:0 !important;
  border-radius:8px;
  text-align:center;
  font-weight:600;
}

/* ===== Specs ===== */
.specs {
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
  margin:10px 0 16px;
}

.spec {
  border:1px solid var(--border);
  border-radius:14px;
  padding:10px 12px;
  background:var(--bg);
}

.spec span {
  display:block;
  color:var(--muted);
  font-weight:800;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.6px;
}

.spec b {
  display:block;
  margin-top:4px;
  font-size:15px;
}

/* ===== Product text blocks ===== */
.section-title {
  margin:14px 0 8px;
  font-size:18px;
}

.bullets, .product-bullets {
  margin:0;
  padding-left:18px;
  color:var(--text);
  line-height:1.6;
}

.product-bullets {
  margin:12px 0 0;
}

.product-bullets li {
  margin:6px 0;
  line-height:1.4;
}

.empty {
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:16px;
}

/* ===== Product lightbox ===== */
.prod-lightbox {
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.95);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9999;
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease;
}

.prod-lightbox.is-open {
  opacity:1;
  pointer-events:auto;
}

.prod-lightbox img {
  max-width:95%;
  max-height:85vh;
  object-fit:contain;
}

.prod-lightbox-close {
  position:absolute;
  top:20px;
  right:20px;
  font-size:34px;
  background:none;
  border:none;
  color:#fff;
  cursor:pointer;
}

.prod-lightbox-title {
  position:absolute;
  top:20px;
  left:20px;
  color:#fff;
  font-size:18px;
  font-weight:600;
  max-width:70%;
}

/* ===== Cart page ===== */
.cart-page {
  max-width:1200px;
  margin:0 auto;
  padding:0 16px;
}

.cart-header {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin:8px 0 14px;
}

.cart-meta {
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.cart-count {
  color:var(--muted);
  font-weight:800;
}

.cart-grid {
  display:grid;
  grid-template-columns:1fr 360px;
  gap:18px;
}

.cart-items {
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
}

.cart-row {
  display:grid;
  grid-template-columns:90px 1fr 180px 150px 110px;
  gap:12px;
  align-items:center;
  padding:12px 14px;
  border-top:1px solid var(--border);
}

.cart-row:first-child {
  border-top:0;
}

.cart-img {
  width:90px;
  height:70px;
  max-width:90px;
  max-height:70px;
  object-fit:contain;
  object-position:center;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fff;
  display:block;
}

.cart-row img {
  max-width:90px;
  max-height:70px;
  width:auto;
  height:auto;
}

.cart-img--ph {
  display:block;
}

.cart-row-title {
  font-weight:900;
}

.cart-row-price {
  color:var(--muted);
  font-weight:750;
}

.cart-actions {
  display:flex;
  gap:10px;
  padding:14px;
  border-top:1px solid var(--border);
  background:var(--bg);
  flex-wrap:wrap;
}

.cart-kit-lock,
.cart-kit-locked-action,
.cart-locked-qty {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  padding:5px 9px;
  border-radius:999px;
  background:#f1f5f9;
  border:1px solid #dbe3ef;
  color:#475569;
  font-size:12px;
  font-weight:850;
  line-height:1;
}

.cart-kit-lock {
  margin-top:6px;
  color:#b91c1c;
  background:#fff1f2;
  border-color:#fecdd3;
}

.cart-mini {
  font-size:13px;
  opacity:.75;
  margin-top:4px;
  line-height:1.25;
}

/* ===== Summary ===== */
.cart-summary .summary-card {
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:14px;
}

.summary-card h3 {
  margin:4px 0 10px;
}

.summary-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 0;
  border-bottom:1px dashed var(--border);
}

.summary-total {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 0 6px;
  font-size:18px;
  font-weight:950;
}

.btn-block {
  width:100%;
}

.btn-ghost {
  background:#fff;
  color:var(--text);
  border:1px solid var(--border);
}

.btn-ghost:hover {
  background:var(--bg);
}

.btn-secondary {
  background:var(--text);
  color:#fff;
}

.btn-secondary:hover {
  filter:brightness(.95);
}

.btn-continue {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 16px;
  border-radius:999px;
  background:#f4f6f8;
  color:#6a1b9a;
  font-weight:700;
  text-decoration:none;
  border:1px solid #e1e5ea;
  transition:transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
}

.btn-continue:hover {
  background:#19ba49;
  color:#fff;
  border-color:#19ba49;
  transform:translateY(-1px);
}

/* ===== Checkout ===== */
.checkout-card {
  padding:22px;
}

.checkout-card h3 {
  margin:0 0 8px;
}

.checkout-card .muted {
  margin-bottom:14px;
}

.checkout-card label {
  display:block;
  font-weight:700;
  margin:12px 0 6px;
}

.checkout-card .input, .checkout-card input[type="text"], .checkout-card input[type="email"], .checkout-card input[type="tel"], .checkout-card textarea {
  width:100%;
  box-sizing:border-box;
  padding:12px 14px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  background:#fff;
  font-size:15px;
  line-height:1.2;
  outline:none;
  transition:box-shadow .15s ease, border-color .15s ease, transform .05s ease;
}

.checkout-card textarea {
  resize:vertical;
  min-height:110px;
}

.checkout-card .input:focus, .checkout-card input:focus, .checkout-card textarea:focus {
  border-color:rgba(220, 38, 38, .35);
  box-shadow:0 0 0 4px rgba(220, 38, 38, .12);
}

.checkout-card .form-actions {
  margin-top:16px;
  display:flex;
  gap:12px;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:wrap;
}

.checkout-card .btn.btn-red {
  border-radius:999px;
  padding:10px 16px;
}

.checkout-layout {
  display:grid;
  grid-template-columns:minmax(0, 1fr) 360px;
  gap:24px;
  align-items:start;
}

.checkout-left, .checkout-right {
  display:flex;
  flex-direction:column;
  gap:20px;
}

.checkout-right {
  position:sticky;
  top:16px;
  align-self:start;
}

.checkout-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
  align-items:start;
  margin-top:8px;
}

.col-span-2 {
  grid-column:1 / -1;
}

.checkout-two {
  display:grid !important;
  grid-template-columns:1.3fr .7fr;
  gap:18px;
  margin-bottom:28px;
}

.checkout-two > .card {
  height:100%;
}

.checkout-total {
  font-size:18px;
  font-weight:900;
}

.checkout-right .checkout-card:last-child {
  border:2px solid var(--red);
  background:#fff6f7;
}

/* ===== Payment ===== */
.pay-option {
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 0;
  font-size:16px;
  font-weight:800;
  cursor:pointer;
}

.pay-option input {
  transform:scale(1.3);
  accent-color:var(--red);
}

.card-logos {
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-left:12px;
}

.card-logos img {
  height:28px;
  width:auto;
  display:block;
}

.pay-badge {
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  display:inline-block;
}

.pay-bank {
  background:rgba(59,130,246,.15);
  color:#2563eb;
}

.pay-cash {
  background:rgba(16,185,129,.15);
  color:#047857;
}

.pay-store {
  background:rgba(234,179,8,.18);
  color:#92400e;
}

.pay-card {
  background:rgba(99,102,241,.15);
  color:#4338ca;
}

.is-hidden {
  display:none !important;
}

/* ===== Pagination ===== */
.pagination {
  display:flex;
  gap:8px;
  margin:18px 0 10px;
}

.page {
  padding:8px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background:#fff;
  text-decoration:none;
  color:var(--text);
  font-weight:800;
}

.page.active {
  background:var(--text);
  color:#fff;
  border-color:var(--text);
}

/* ===== Tables / documents / offer print ===== */
.table {
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  margin-top:14px;
  border:1px solid #e6e6e6;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}

.table th, .table td {
  padding:12px 14px;
  vertical-align:top;
  border:none;
}

.table thead th {
  background:#f6f7f9;
  font-weight:800;
  font-size:13px;
  color:#111;
  border-bottom:1px solid #e6e6e6;
}

.table tbody tr + tr td {
  border-top:1px solid #f0f0f0;
}

.table .right, .right {
  text-align:right;
  white-space:nowrap;
}

.table .img, .img {
  width:70px;
  height:70px;
  object-fit:contain;
  border-radius:12px;
  border:1px solid #eee;
  background:#fff;
}

.prod-name {
  font-weight:800;
  font-size:14px;
  margin-bottom:4px;
}

.prod-mini {
  font-size:12px;
  color:#555;
  line-height:1.45;
}

.totals-wrap {
  display:flex;
  justify-content:flex-end;
  margin-top:14px;
}

.totals {
  width:360px;
  border:1px solid #e6e6e6;
  border-radius:14px;
  padding:14px 16px;
  background:#fff;
}

.totals-row {
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:6px 0;
  font-size:13px;
}

.totals-row + .totals-row {
  border-top:1px dashed #eee;
}

.totals-row strong {
  font-weight:800;
}

.totals-grand {
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid #e6e6e6;
  display:flex;
  justify-content:space-between;
  font-size:16px;
  font-weight:900;
}

.totals-discount {
  color:#0a7a3d;
}

.top-actions {
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-bottom:10px;
}

table {
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  margin-top:14px;
  border:1px solid #222;
  border-radius:14px;
  overflow:hidden;
}

th, td {
  border:none;
  padding:10px 12px;
  vertical-align:top;
}

thead th {
  background:#f3f3f3;
  font-weight:800;
  border-bottom:1px solid #222;
}

tbody tr + tr td {
  border-top:1px solid #e0e0e0;
}

.wrap .brand {
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:10px;
}

.wrap .brand-logo {
  height:70px;
  width:auto;
  display:block;
}

.wrap {
  max-width:900px;
  margin:24px auto;
}

.topbar {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding-bottom:10px;
  border-bottom:3px solid #c62828;
}

.h1 {
  font-size:30px;
  margin:0;
  color:#c62828;
  font-weight:800;
}

.meta {
  text-align:right;
  font-size:12px;
  color:#333;
}

.meta strong {
  color:#c62828;
}

.box {
  border:1px solid #bdbdbd;
  padding:12px;
  margin-top:14px;
  background:#fff;
}

.client-box {
  border-left:5px solid #c62828;
  background:#fafafa;
}

.total-label {
  font-size:18px;
  font-weight:800;
  color:#111;
  background:#f7f7f7;
}

.total-price {
  font-size:20px;
  font-weight:900;
  color:#c62828;
  background:#f7f7f7;
}

.qr {
  margin-top:10px;
}

.qr img {
  width:90px;
  height:90px;
}

/* ===== Helpers ===== */
.form-actions {
  display:flex;
  gap:10px;
  margin-top:12px;
  align-items:center;
  flex-wrap:wrap;
}

.password-hint {
  display:block;
  margin-top:6px;
  font-size:13px;
  color:#6b7280;
}

.captcha-wrap {
  margin-top:8px;
}

.captcha-box {
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:6px;
}

.captcha-q {
  min-width:140px;
  text-align:center;
  font-weight:800;
  font-size:20px;
  padding:10px 12px;
  border-radius:12px;
  background:#f4f6f8;
  border:1px solid #e1e5ea;
}

.captcha-input {
  max-width:220px;
}

.captcha-hint {
  display:block;
  margin-top:6px;
  font-size:13px;
  color:#6b7280;
}

.toast {
  position:fixed;
  top:18px;
  right:18px;
  z-index:9999;
  padding:12px 14px;
  border-radius:12px;
  background:#111;
  color:#fff;
  font-size:14px;
  opacity:0;
  transform:translateY(-10px);
  transition:opacity .2s ease, transform .2s ease;
  pointer-events:none;
}

.toast.show {
  opacity:1;
  transform:translateY(0);
}

.toast-success {
  background:#0f5132;
}

/* ===== Responsive ===== */
@media (max-width: 980px) {
  .product-wrap {
    grid-template-columns:1fr;
  }
  .cart-grid {
    grid-template-columns:1fr;
  }
  .cart-row {
    grid-template-columns:90px 1fr;
    grid-auto-rows:auto;
  }
  .cart-row-qty, .cart-row-line, .cart-row-actions {
    grid-column:1 / -1;
  }
  .cart-row-qty {
    justify-self:start;
  }
  .checkout-layout {
    grid-template-columns:1fr;
  }
  .checkout-two {
    grid-template-columns:1fr;
  }
}

@media (max-width: 900px) {
  .checkout-right {
    position:static;
  }
  .global-call-btn {
    bottom:calc(120px + env(safe-area-inset-bottom)) !important;
  }
  body.page-cart .cart-page, body.page-cart .cart-page .container {
    width:100%;
    max-width:100%;
  }
  body.page-cart .cart-page .card {
    border-radius:18px;
    padding:14px;
  }
  body.page-cart input[type="text"], body.page-cart input[type="number"], body.page-cart textarea {
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box;
    border-radius:14px;
  }
  body.page-cart table.table {
    width:100%;
    border-collapse:separate;
    border-spacing:0;
  }
  body.page-cart table.table thead {
    display:none;
  }
  body.page-cart table.table tbody tr {
    display:grid;
    grid-template-columns:96px 1fr;
    gap:10px 14px;
    background:#fff;
    border:1px solid #e7e9ef;
    border-radius:18px;
    padding:12px;
    margin:12px 0;
    box-shadow:0 10px 22px rgba(2,6,23,.06);
  }
  body.page-cart table.table tbody td {
    border:0;
    padding:0;
    display:block;
    width:100%;
  }
  body.page-cart table.table tbody td:nth-child(1) {
    grid-column:1;
    grid-row:1 / span 4;
    align-self:start;
  }
  body.page-cart .product-thumb {
    width:96px;
    height:96px;
    object-fit:contain;
    border-radius:14px;
    display:block;
  }
  body.page-cart table.table tbody td:nth-child(2) {
    grid-column:2;
    grid-row:1;
    min-width:0;
  }
  body.page-cart table.table tbody td:nth-child(2) strong {
    display:block;
    font-size:18px;
    line-height:1.15;
    word-break:break-word;
  }
  body.page-cart table.table tbody td:nth-child(3) {
    grid-column:2;
    grid-row:2;
    font-weight:800;
  }
  body.page-cart table.table tbody td:nth-child(3)::before {
    content:"Цена: ";
    font-weight:900;
    opacity:.65;
    margin-right:6px;
  }
  body.page-cart table.table tbody td:nth-child(4) {
    grid-column:2;
    grid-row:3;
  }
  body.page-cart table.table tbody td:nth-child(4)::before {
    content:"Количество:";
    display:block;
    margin-bottom:8px;
    font-weight:900;
    opacity:.65;
  }
  body.page-cart .qty.vertical {
    display:grid;
    grid-template-columns:36px 1fr 36px;
    align-items:center;
    gap:8px;
    max-width:180px;
  }
  body.page-cart .qty.vertical button[name="dec"] {
    order:1;
    width:36px;
    height:36px;
    min-width:36px;
    min-height:36px;
    border-radius:10px;
    font-size:18px;
    font-weight:900;
    padding:0;
    line-height:1;
  }
  body.page-cart .qty.vertical .qty-input {
    order:2;
    width:100% !important;
    height:36px;
    border-radius:10px;
    font-size:16px;
    font-weight:800;
    text-align:center;
    padding:0;
  }
  body.page-cart .qty.vertical button[name="inc"] {
    order:3;
    width:36px;
    height:36px;
    min-width:36px;
    min-height:36px;
    border-radius:10px;
    font-size:18px;
    font-weight:900;
    padding:0;
    line-height:1;
  }
  body.page-cart table.table tbody td:nth-child(5) {
    grid-column:2;
    grid-row:4;
    font-size:18px;
    font-weight:900;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding-top:6px;
  }
  body.page-cart table.table tbody td:nth-child(5)::before {
    content:"Сума: ";
    font-weight:900;
    opacity:.65;
    margin-right:6px;
  }
  body.page-cart table.table tbody td:nth-child(6) {
    grid-column:2;
    grid-row:5;
    padding-top:10px;
  }
  body.page-cart table.table tbody td:nth-child(6) .btn {
    width:100%;
    height:46px;
    border-radius:14px;
    font-weight:900;
  }
  body.page-cart .form-actions {
    flex-wrap:wrap;
    gap:12px;
  }
  body.page-cart .form-actions .btn, body.page-cart .form-actions .btn-red {
    width:100%;
    justify-content:center;
    height:50px;
    border-radius:16px;
    font-weight:900;
  }
}

@media (max-width: 680px) {
  .checkout-grid {
    grid-template-columns:1fr;
  }
}

@media (max-width: 520px) {
  .prod-media .prod-feature {
    width:90px;
  }
}

@media (max-width: 900px) {
  .prod-lightbox {
    cursor:default;
  }
}

@media print {
  .top-actions {
    display:none !important;
  }
}

/* ========================================================= 3) HOME / CONTENT PAGES / FOOTER / FLOATING / SEO запазва текущата визия ========================================================= */
/* ===== Global floating buttons ===== */
.global-call-btn {
  position:fixed;
  left:14px;
  bottom:12px;
  width:52px;
  height:52px;
  border-radius:50%;
  background:#e11d2e;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  box-shadow:0 10px 22px rgba(0,0,0,.18);
  z-index:99999;
  transition:transform .15s ease, box-shadow .15s ease;
}

.global-call-btn:hover {
  transform:scale(1.06);
  box-shadow:0 14px 30px rgba(0,0,0,.32);
}

.global-call-btn:active {
  transform:scale(0.97);
}

.global-call-btn .call-icon {
  font-size:18px;
  line-height:1;
}

.scroll-top-btn {
  position:fixed;
  right:14px;
  left:auto;
  bottom:12px;
  z-index:9999;
  width:52px;
  height:52px;
  border-radius:999px;
  border:0;
  cursor:pointer;
  background:var(--red);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  font-weight:900;
  box-shadow:0 10px 22px rgba(0,0,0,.18);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease, filter .18s ease;
}

.scroll-top-btn.is-visible {
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.scroll-top-btn:hover {
  filter:brightness(.95);
}

body.cookie-open .global-call-btn, body.cookie-open .scroll-top-btn {
  bottom:92px;
}

/* ===== Cookie banner ===== */
.cookie-banner {
  position:fixed;
  right:16px;
  left:auto;
  bottom:16px;
  width:380px;
  max-width:90%;
  z-index:9999;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:14px;
  box-shadow:0 12px 30px rgba(2,6,23,.18);
  padding:14px;
}

.cookie-banner[hidden] {
  display:none !important;
}

.cookie-banner .cookie-text {
  font-size:14px;
  line-height:1.35;
  color:#222;
}

.cookie-banner .cookie-text a {
  color:var(--red);
  text-decoration:underline;
}

.cookie-banner .cookie-actions {
  display:flex;
  gap:10px;
  margin-top:10px;
}

.cookie-banner .cookie-actions .btn {
  flex:1 1 auto;
}

/* ===== Section titles ===== */
.sec-title {
  margin:16px 0 18px;
  padding:10px 0;
  text-align:center;
  text-transform:uppercase;
  font-size:22px;
  font-weight:800;
  letter-spacing:.12em;
  color:#111827;
  border-bottom:1px solid rgba(0,0,0,.06);
}

.sec-title .sec-accent {
  color:var(--red);
  font-weight:800;
}

/* ===== Home slider ===== */
.home-slider, .home-slider * {
  box-sizing:border-box;
}

.home-slider {
  position:relative;
  width:100%;
  overflow:hidden !important;
  background:transparent !important;
  border-radius:18px;
  margin:18px 0 28px;
  box-shadow:0 14px 40px rgba(0,0,0,.18);
  display:block !important;
}

.home-slider .swiper, .home-slider .swiper-wrapper, .home-slider .swiper-slide {
  width:100%;
  overflow:hidden !important;
  height:auto !important;
  min-height:0 !important;
  background:transparent !important;
}

.home-slider-track {
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:0 !important;
  width:100% !important;
  height:100% !important;
  transform:translateX(0);
  will-change:transform;
  transition:transform .8s cubic-bezier(.22,.61,.36,1);
}

.home-slide {
  flex:0 0 100% !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  position:relative !important;
  overflow:hidden !important;
}

.home-slide-img {
  width:100% !important;
  height:auto !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:center !important;
  display:block !important;
  transform:none !important;
}

.home-slide::after {
  background:linear-gradient( 90deg, rgba(0,0,0,.30) 0%, rgba(0,0,0,.10) 55%, rgba(0,0,0,0) 78% ) !important;
}

.home-slide-overlay {
  margin-left:60px;
  position:absolute !important;
  left:32px;
  top:50%;
  transform:translateY(-50%);
  max-width:520px;
  padding:26px 28px;
  color:#fff;
  background:rgba(0,0,0,.45);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.18);
  border-radius:16px;
  box-shadow:0 22px 44px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.08);
  z-index:7 !important;
  pointer-events:none;
}

.home-slide-overlay a, .home-slide-overlay button {
  pointer-events:auto;
}

.home-slide-overlay h2 {
  margin:0 0 10px;
  font-size:36px;
  line-height:1.12;
  text-shadow:0 10px 24px rgba(0,0,0,.35);
}

.home-slide-overlay h3 {
  margin:0 0 10px;
  font-size:18px;
  opacity:.95;
}

.home-slide-overlay p {
  margin:0 0 14px;
  font-size:15px;
  line-height:1.45;
  opacity:.95;
}

.home-slider-prev, .home-slider-next {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  background:rgba(0,0,0,.45);
  color:#fff;
  border:none;
  border-radius:8px;
  font-size:28px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:10;
}

.home-slider-prev {
  left:30px;
}

.home-slider-next {
  right:30px;
}

.home-slider-prev:hover, .home-slider-next:hover {
  background:rgba(255,255,255,.22);
}

.home-slider-dots {
  display:none;
}

.hero-accent {
  color:#e53935;
  font-weight:800;
}

/* ===== Home categories cards ===== */
.home-section-title {
  text-align:center;
  margin:18px 0 16px;
  letter-spacing:.5px;
  font-weight:800;
  text-transform:uppercase;
  opacity:.85;
  font-size:22px;
}

.home-section-intro {
  max-width: 900px;
  margin: 0 auto 24px;
  text-align: justify;
  text-align-last: center;
  font-size: 18px;
  line-height: 1.65;
  color: #444;
  padding: 0 14px;
}

.home-section-intro strong {
  color: #111;
  font-weight: 800;
}

.home-intro-card {
  max-width: 1080px;
  margin: 0 auto 24px;
  padding: 20px 22px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: linear-gradient(135deg, #fff, #f8fafc);
  box-shadow: 0 16px 42px rgba(15, 23, 42, .06);
  text-align: left;
  text-align-last: auto;
}

.home-intro-copy p {
  margin: 0;
  color: #334155;
  font-size: 16px;
  line-height: 1.65;
  text-align: left;
}

.home-intro-copy strong {
  color: #0f172a;
  font-weight: 950;
}

.home-intro-points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.home-intro-points span {
  position: relative;
  min-height: 42px;
  padding: 11px 12px 11px 34px;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: #fff;
  color: #0f172a;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.25;
}

.home-intro-points span::before {
  content: "";
  position: absolute;
  left: 13px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #22c55e;
  transform: translateY(-50%);
  box-shadow: 0 0 0 4px rgba(34, 197, 94, .12);
}

.intro-mobile {
  display: none;
}
@media (max-width: 767px) {
  .home-section-intro {
    display: -webkit-box;
    -webkit-line-clamp: 5; /* колко реда да се виждат */
    -webkit-box-orient: vertical;
    overflow: hidden;
    position: relative;
  }

  .home-section-intro.is-open {
    -webkit-line-clamp: unset;
  }
}
.home-sections {
  max-width:1200px;
  margin:0 auto;
  padding:4px 14px 40px;
}

.home-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}

.home-card.is-featured {
  grid-column: auto;
  grid-row: auto;
}

.home-card {
  position:relative;
  display:block;
  aspect-ratio:1 / 1;
  background:#fff;
  border:1px solid rgba(230,0,18,.35);
  border-radius:18px;
  overflow:hidden;
  text-decoration:none;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
  transform:translateZ(0);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.home-card:hover {
  transform:translateY(-6px) scale(1.02);
  border-color:#ff3b3b;
  box-shadow: 0 20px 45px rgba(0,0,0,.18), 0 0 0 1px rgba(255,59,59,.25), 0 0 18px rgba(255,59,59,.18);
}

.home-card-media {
  position:absolute;
  inset:0;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
}

.home-card-media img {
  width:82%;
  height:82%;
  object-fit:contain;
  display:block;
  margin:auto;
  transform:scale(1);
  transition:transform .25s ease;
}

.home-card-promo-badge {
  position:absolute;
  right:14px;
  bottom:14px;
  z-index:3;
  display:grid;
  gap:2px;
  min-width:88px;
  padding:10px 12px;
  border-radius:12px;
  background:linear-gradient(135deg, #ef233c, #b91c1c);
  color:#fff;
  text-align:center;
  box-shadow:0 16px 32px rgba(225, 29, 72, .28);
}

.home-card-promo-badge span {
  font-size:10px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.03em;
}

.home-card-promo-badge strong {
  font-size:25px;
  line-height:1;
  font-weight:950;
}

.home-card:hover .home-card-media img {
  transform:scale(1.06);
}

.home-card-overlay {
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.45);
  opacity:0;
  transition:opacity .22s ease;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  text-align:center;
}

.home-card:hover .home-card-overlay {
  opacity:1;
}

.home-card-cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.75);
  background:#fff;
  color:#e30613;
  font-weight:900;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.08em;
  box-shadow:0 8px 18px rgba(0,0,0,.18);
}

.home-card-title {
  position:absolute;
  top:14px;
  left:12px;
  right:12px;
  padding:0;
  margin:0;
  background:transparent !important;
  text-align:center;
  z-index:2;
  color:#ff3b3b;
  font-size:15px;
  font-weight:800;
  line-height:1.1;
  text-transform:uppercase;
  -webkit-text-stroke:0.2px #000;
  text-shadow:0 1px 0 rgba(0,0,0,0.25);
}

.home-card-subtitle {
  display:block;
  margin-top:2px;
  color:#111;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
}

.home-card-title::after {
  display:none;
}

/* ===== Home trust ===== */
.home-trust.modern {
  margin:36px 0;
}

.home-trust-title {
  font-size:13px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:18px;
  opacity:.8;
}

.home-trust-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}

.home-trust-item {
  position:relative;
  padding:22px 20px 24px;
  background:#fff;
  border-radius:16px;
  border:1px solid rgba(0,0,0,.06);
  transition:transform .25s ease, box-shadow .25s ease;
}

.home-trust-item:hover {
  transform:translateY(-4px);
  box-shadow:0 10px 28px rgba(0,0,0,.08);
}

.home-trust-line {
  width:44px;
  height:3px;
  background:linear-gradient(90deg, #c40000, #ff3b3b);
  border-radius:3px;
  margin-bottom:14px;
}

.home-trust-item h4 {
  margin:0 0 8px;
  font-size:17px;
  font-weight:600;
}

.home-trust-item p {
  margin:0;
  font-size:14px;
  line-height:1.55;
  color:#555;
}

/* ===== Partners ===== */
.partners-section {
  max-width:1200px;
  margin:26px auto 10px;
  padding:0 14px;
  text-align:center;
}

.partners-title {
  margin:0 0 22px;
  font-size:22px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#111;
}

.partners-strip {
  margin-top:32px;
  padding:22px 0;
}

.logo-marquee {
  position:relative;
  overflow:hidden;
  width:100%;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 10px 22px rgba(0,0,0,.06);
  padding:12px 0;
}

.logo-marquee::before, .logo-marquee::after {
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:90px;
  z-index:2;
  pointer-events:none;
}

.logo-marquee::before {
  left:0;
  background:linear-gradient(to right, #fff 0%, rgba(255,255,255,0) 100%);
}

.logo-marquee::after {
  right:0;
  background:linear-gradient(to left, #fff 0%, rgba(255,255,255,0) 100%);
}

.logo-track {
  display:flex;
  align-items:center;
  gap:34px;
  width:max-content;
  padding:6px 24px;
  animation:partners-marquee 30s linear infinite;
  will-change:transform;
}

.logo-marquee:hover .logo-track {
  animation-play-state:paused;
}

.logo-item {
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  height:54px;
}

.logo-item img {
  height:54px;
  width:auto;
  max-width:160px;
  object-fit:contain;
  display:block;
  opacity:1 !important;
  filter:saturate(1.25) contrast(1.05) !important;
  transition:transform .25s ease;
}

.logo-item:hover img {
  transform:scale(1.05);
}

@keyframes partners-marquee {
  from {
    transform:translateX(0);
  }
  to {
    transform:translateX(-50%);
  }
}

/* ===== Home SEO ===== */
.home-h1 {
  font-size:clamp(22px, 2.2vw, 34px);
  line-height:1.15;
  margin:6px 0 18px;
  letter-spacing:.2px;
}

.home-faq {
  padding:26px 0 60px;
}

.home-seo .container {
  padding-top:6px;
}

.usp-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  margin:12px 0 20px;
}

.usp-grid-secondary {
  grid-template-columns:repeat(2, minmax(0, 1fr));
  max-width:980px;
  margin:0 auto 20px;
}

@media (max-width: 500px) {
  .usp-grid,
  .usp-grid-secondary {
    grid-template-columns:1fr;
  }
}
@media (max-width: 900px) {
  .usp-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .usp-grid-secondary {
    grid-template-columns:1fr;
  }
}
.usp-card {
  position:relative;
  overflow:hidden;
  border-radius:18px;
  padding:16px 16px 14px;
  min-height:92px;
  background: radial-gradient(1200px 300px at 20% 0%, rgba(255,255,255,.10), transparent 55%), linear-gradient(180deg, rgba(15,23,42,.95), rgba(15,23,42,.85));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 10px 26px rgba(0,0,0,.18);
  transform:translateY(0);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  color:#fff;
}

.usp-card::after {
  content:"";
  position:absolute;
  inset:-2px;
  background:linear-gradient(90deg, rgba(255,0,0,.20), rgba(255,255,255,.08), rgba(255,0,0,.20));
  opacity:0;
  transition:opacity .18s ease;
  pointer-events:none;
  filter:blur(10px);
}

.usp-card:hover {
  transform:translateY(-4px);
  border-color:rgba(255,255,255,.18);
  box-shadow:0 14px 34px rgba(0,0,0,.22);
}

.usp-card:hover::after {
  opacity:1;
}

.home-seo .usp-card *, .home-seo .usp-card h3, .home-seo .usp-card p {
  display:block;
  visibility:visible;
  opacity:1;
}

.home-seo .usp-card h3 {
  margin:0 0 6px;
  font-size:16px;
  color:#fff;
}

.home-seo .usp-card p {
  margin:0;
  color:rgba(255,255,255,.85);
}

.seo-text,
.seo-text--accent {
  position: relative;
  margin: 18px auto 0;
  max-width: 980px;
  border-radius: 22px;
  padding: 26px 28px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 12px 30px rgba(0,0,0,.06);
}

.seo-text--accent::before {
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  top:10px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(255,0,0,0), rgba(255,0,0,.55), rgba(255,0,0,0));
  opacity:.9;
}

.seo-text--accent {
  opacity:0;
  transform:translateY(20px);
  animation:fadeSeoUp .6s ease forwards;
  animation-delay:.2s;
}

@keyframes fadeSeoUp {
  to {
    opacity:1;
    transform:translateY(0);
  }
}

.seo-text h2,
.seo-text--accent h2 {
  margin: 0 0 14px;
  font-size: 28px;
  line-height: 1.2;
  color: #111827;
}

.seo-text h3,
.seo-text--accent h3 {
  margin: 22px 0 10px;
  font-size: 22px;
  line-height: 1.25;
  color: #111827;
}

.seo-text h4 {
  margin:14px 0 6px;
}

.seo-text p,
.seo-text--accent p {
  margin: 0 0 14px;
  color: #374151;
  line-height: 1.8;
  text-align: justify;
  text-align-last: left;
}

.seo-text--accent p + p {
  margin-top:10px;
}

.seo-links {
  list-style:none;
  margin:16px 0 0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
}

.seo-links li {
  margin:0;
  padding:0;
}

.seo-links a {
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 18px;
  min-height:48px;
  border-radius:999px;
  text-decoration:none;
  font-weight:800;
  font-size:18px;
  line-height:1.1;
  letter-spacing:0;
  color:#2b2f38;
  background:#f1f3f7;
  border:1px solid #dde3ea;
  box-shadow:0 6px 14px rgba(0,0,0,.08);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
  overflow:hidden;
  isolation:isolate;
}

.seo-links a::before, .seo-links a::after {
  content:none !important;
}

.seo-links a:hover {
  transform:translateY(-2px);
  background:#ffffff;
  color:#111827;
  border-color:#cfd8e3;
  box-shadow:0 10px 18px rgba(0,0,0,.12);
}

.seo-links a:focus-visible {
  outline:2px solid #e31e24;
  outline-offset:2px;
}

.seo-ico {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:50%;
  background:#e3e8ef;
  color:#6b7280;
  font-size:15px;
  font-weight:900;
  flex:0 0 26px;
}

.seo-links a:hover .seo-ico {
  background:#e31e24;
  color:#fff;
}

.seo-cta {
  margin-top:18px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}

.seo-cta-btn {
  border-radius:999px;
  padding:12px 16px;
  font-weight:900;
  letter-spacing:.2px;
  box-shadow:0 14px 34px rgba(0,0,0,.22);
  transform:translateY(0);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.seo-cta-btn:hover {
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(0,0,0,.26);
  filter:saturate(1.05);
}

.seo-cta-note {
  opacity:.85;
  font-weight:700;
}

/* ===== Products SEO ===== */
.products-hero {
  margin:0 0 14px;
  padding:16px;
  border-radius:18px;
  background:rgba(255,255,255,.028);
  border:1px solid rgba(255,255,255,.10);
  position:relative;
  animation:fadeUp .45s ease both;
}

.products-hero--accent::before {
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  top:10px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(255,0,0,0), rgba(255,0,0,.55), rgba(255,0,0,0));
  opacity:.9;
}

.products-hero h1 {
  margin:6px 0 8px;
  font-size:clamp(22px, 2.2vw, 34px);
  line-height:1.12;
}

.products-hero-desc {
  margin:0;
  opacity:.88;
  line-height:1.55;
}

.products-hero-meta {
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.meta-pill {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.12);
  font-size:13px;
  opacity:.92;
}

.products-seo-intro, .products-seo-footer {
  animation:fadeUp .45s ease both;
}

.products-seo-intro {
  margin:12px 0 14px;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.018);
  border:1px solid rgba(255,255,255,.08);
}

.products-seo-intro h2 {
  margin:0 0 8px;
  font-size:18px;
}

.products-seo-intro h3 {
  margin:12px 0 6px;
  font-size:16px;
  opacity:.95;
}

.products-seo-intro p {
  margin:0;
  opacity:.86;
  line-height:1.6;
}

.seo-faq details {
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.10);
  border-radius:14px;
  padding:10px 12px;
  margin:10px 0;
}

.seo-faq summary {
  cursor:pointer;
  font-weight:700;
  opacity:.95;
}

.seo-faq p {
  margin:10px 0 0;
  opacity:.86;
  line-height:1.6;
}

@keyframes fadeUp {
  from {
    opacity:0;
    transform:translateY(10px);
  }
  to {
    opacity:1;
    transform:translateY(0);
  }
}

/* ===== Contact page ===== */
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.form-grid label {
  display:flex;
  flex-direction:column;
  gap:8px;
  font-weight:600;
}

.form-grid input, .form-grid textarea {
  width:100%;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
  color:inherit;
  transition:border-color .15s ease, box-shadow .15s ease, transform .05s ease;
  outline:none;
}

.form-grid textarea {
  resize:vertical;
  min-height:140px;
}

.form-grid input:focus, .form-grid textarea:focus {
  border-color:rgba(220, 38, 38, .55);
  box-shadow:0 0 0 4px rgba(220, 38, 38, .12);
}

.form-grid input::placeholder, .form-grid textarea::placeholder {
  color:rgba(255,255,255,0);
}

.form-full {
  grid-column:1 / -1;
}

.captcha-row {
  display:flex;
  align-items:stretch;
  gap:12px;
}

.map-wrap {
  margin-top:auto;
  width:100%;
  overflow:hidden;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.08);
  background:rgba(0,0,0,.15);
}

.map-wrap iframe {
  width:100%;
  height:320px;
  border:0;
  display:block;
}

.contact-layout {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:18px;
  align-items:stretch;
}
@media (max-width: 768px) {
  .contact-layout {
    grid-template-columns: 1fr;
  }
}
.contact-layout > .card {
  height:100%;
  display:flex;
  flex-direction:column;
}

.contact-layout .card h2 {
  margin:0 0 12px;
}

.contact-card .company-name {
  margin:0 0 10px;
  font-weight:700;
  line-height:1.25;
}

.contact-rows {
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:12px;
}

.contact-row {
  display:flex;
  align-items:flex-start;
  gap:10px;
}

.contact-ico {
  width:34px;
  height:34px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.06);
  border:1px solid rgba(0,0,0,.08);
  flex:0 0 34px;
  line-height:1;
}

.contact-val {
  line-height:1.25;
  padding-top:6px;
}

.contact-phones {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
  margin:6px 0 8px;
}

.contact-phones a, .contact-email a {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-weight:700;
  text-decoration:none;
  line-height:1.1;
  color:inherit;
  transition:color .15s ease, opacity .15s ease;
}

.contact-phones a:hover, .contact-email a:hover {
  color:var(--red);
}

.contact-address {
  font-size:14px;
  color:rgba(0,0,0,.78);
}

/* ===== About page ===== */
.about-page {
  padding:30px 0 50px;
}

.about-title {
  font-size:30px;
  font-weight:900;
  margin:0 0 18px;
}

.about-page .about-hero {
  display:block !important;
  background:#fff;
  border-radius:22px;
  padding:28px;
  box-shadow:0 20px 45px rgba(0,0,0,.06);
  margin-bottom:26px;
}

.about-page .about-hero-media, .about-mobile-only {
  display:none !important;
}

.about-page .about-hero-text {
  min-width:0;
}

.about-page .about-hero-text h2 {
  font-size:22px;
  font-weight:900;
  margin:0 0 10px;
}

.about-page .about-hero-text p {
  font-size:15px;
  line-height:1.6;
  opacity:.85;
  margin:0;
}

.about-badges {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
  margin-top:22px;
}

.about-badge {
  background:#f5f6f8;
  border-radius:18px;
  padding:16px 18px;
  text-align:center;
  transition:all .25s ease;
  border:1px solid transparent;
}

.about-badge strong {
  display:block;
  font-size:20px;
  font-weight:900;
  color:#e30613;
  margin-bottom:4px;
}

.about-badge span {
  display:block;
  font-size:13px;
  opacity:.75;
}

.about-badge:hover {
  transform:translateY(-4px);
  box-shadow:0 10px 25px rgba(0,0,0,.08);
  border-color:rgba(227,6,19,.15);
}

/* ===== Service pages ===== */
.service-hero {
  padding:18px 0 8px;
}

.service-hero h1 {
  font-size:clamp(26px, 2.8vw, 40px);
  line-height:1.12;
  margin:0 0 10px;
}

.service-hero-cta, .service-quick-contact, .service-cta {
  display:flex;
  flex-wrap:wrap;
  gap:10px 12px;
  margin:12px 0 20px;
}

.service-city-page {
  padding-top:24px;
  padding-bottom:32px;
}

.service-cta-bottom {
  margin-top:14px;
}

.btn-cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  padding:12px 18px;
  border-radius:14px;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(0,0,0,.10);
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.btn-cta:hover {
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(0,0,0,.14);
}

.btn-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  flex:0 0 auto;
}

.btn-viber {
  background:#7360f2;
  color:#fff;
  border:1px solid #7360f2;
}

.btn-viber:hover {
  color:#fff;
  opacity:.96;
}

.btn-light {
  background:linear-gradient(180deg, #ffffff, #fff5f6);
  color:#d71920;
  border:1px solid rgba(215,25,32,.22);
  box-shadow:0 10px 22px rgba(215,25,32,.08);
}

.btn-light:hover {
  color:#fff;
  background:#d71920;
  border-color:#d71920;
  box-shadow:0 14px 28px rgba(215,25,32,.24);
}

.small-muted {
  color:#6b7280;
  font-size:14px;
}

.lead {
  font-size:1.05rem;
  margin:0 0 14px;
}

.hr-accent {
  border:0;
  border-top:1px solid rgba(220, 0, 0, .55);
  margin:16px 0;
}

.bullets-check, .steps {
  margin:10px 0 0;
  padding-left:18px;
}

.price-notes {
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px;
  margin:18px 0;
}

.usp-mini {
  background:#f8fafc;
  border:1px solid #e6edf5;
  border-radius:16px;
  padding:16px 18px;
}

.usp-mini h3 {
  margin:0 0 8px;
  font-size:16px;
}

.usp-mini p {
  margin:0;
  opacity:.86;
}

.service-highlight-box {
  margin:28px 0;
  padding:22px;
  border-radius:18px;
  background:#f8fafc;
  border:1px solid #e6edf5;
  box-shadow:0 6px 18px rgba(0,0,0,0.05);
}

.service-mini-trust {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:8px 0 24px;
}

.service-mini-trust-item {
  padding:8px 12px;
  border-radius:999px;
  background:#f5f7fb;
  border:1px solid #e5eaf1;
  font-size:14px;
  font-weight:600;
}

.faq, .service-faq {
  display:flex;
  flex-direction:column;
  gap:40px;
  margin-top:26px;
}

.faq-item {
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:18px;
  padding:18px 20px;
  margin:0;
  box-shadow:0 4px 12px rgba(0,0,0,.05);
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.faq-item:hover {
  border-color:rgba(227,6,19,.35);
  box-shadow:0 8px 18px rgba(0,0,0,.08);
}

.faq-item h3, .faq-question {
  margin:0 0 8px;
  font-size:18px;
  line-height:1.3;
  font-weight:800;
  color:#111827;
}

.faq-item p, .faq-answer {
  margin:0;
  color:#4b5563;
  line-height:1.6;
}

/* ===== Cities buttons ===== */
.cities-title {
  text-align:center;
  margin-bottom:10px;
}

.home-cities-text {
  text-align:center;
  max-width:800px;
  margin:0 auto 16px;
}

.cities-buttons {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
  margin-top:16px;
}

.city-btn {
  display:inline-block;
  padding:10px 18px;
  border-radius:30px;
  background:#f1f3f7;
  color:#222;
  text-decoration:none;
  font-weight:600;
  border:1px solid #e2e6ef;
  transition:all .2s ease;
}

.city-btn:hover {
  background:#e31e24;
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 6px 14px rgba(0,0,0,.15);
}

.city-country {
  display:inline-block;
  padding:10px 18px;
  border-radius:30px;
  background:#222;
  color:#fff;
  font-weight:600;
}

.seo-keywords {
  margin-top:10px;
  line-height:1.6;
  color:#444;
}

/* ===== Related products ===== */
.related-products {
  margin-top:44px;
}

.related-products .products-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px,1fr));
  gap:20px;
  margin-top:20px;
}

.related-products .product-card {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  min-height:250px;
  padding:18px 16px 16px;
  border-radius:18px;
  background:#fff;
  border:1px solid #e7ebf2;
  box-shadow:0 10px 24px rgba(2,6,23,.06);
  text-decoration:none;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  overflow:hidden;
}

.related-products .product-card:hover {
  transform:translateY(-5px);
  border-color:rgba(227,6,19,.25);
  box-shadow:0 16px 34px rgba(2,6,23,.12);
}

.related-products .product-card:hover .product-card-title {
  color:#e30613;
}

.related-products .product-card img {
  transition:transform .25s ease, filter .25s ease;
}

.related-products .product-card:hover img {
  transform:scale(1.06);
  filter:contrast(1.05) saturate(1.1);
}

.related-products .product-card img {
  width:100%;
  height:130px;
  object-fit:contain;
  object-position:center;
  display:block;
  margin:0 0 14px;
  transition:transform .22s ease;
}

.related-products .product-card:hover img {
  transform:scale(1.04);
}

.related-products .product-card-title {
  margin-top:auto;
  font-size:16px;
  font-weight:800;
  color:#1f2937;
  line-height:1.35;
  text-align:center;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:44px;
}

@media (max-width: 640px) {
  .related-products .products-grid {
    grid-template-columns:1fr 1fr;
    gap:14px;
  }
  .related-products .product-card {
    min-height:210px;
    padding:14px 12px;
    border-radius:16px;
  }
  .related-products .product-card img {
    height:100px;
    margin-bottom:10px;
  }
  .related-products .product-card-title {
    font-size:14px;
    min-height:38px;
  }
}

@media (max-width: 480px) {
  .related-products .products-grid {
    grid-template-columns:1fr;
  }
}

.related-products .product-card {
  position:relative;
}

.related-products .product-card::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,#e30613,#ff3b3b);
  opacity:0;
  transition:opacity .2s ease;
}

.related-products .product-card:hover::before {
  opacity:1;
}

/* ===== Footer ===== */
.site-footer {
  background:linear-gradient(180deg, #0c1117 0%, #070a0f 100%);
  color:rgba(255,255,255,.88);
  border-top:1px solid rgba(255,255,255,.06);
  width:100%;
  overflow:hidden;
  margin-top:64px;
  padding:28px 0 0;
}

.site-footer .container {
  max-width:1200px;
  margin:0 auto;
}

.site-footer .footer-grid {
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr 1fr;
  gap:22px;
  align-items:stretch;
  padding:0 18px 22px;
}

.footer-box {
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.05);
  border-radius:18px;
  padding:20px 18px;
  min-width:0;
  height:100%;
}

.footer-brand {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  background:rgba(255,255,255,.03);
}

.footer-slogan {
  margin:0;
  font-size:24px;
  line-height:1.05;
  font-weight:900;
  text-transform:uppercase;
  color:#fff;
}

.footer-slogan .accent {
  color:#ff2b2b;
}

.site-footer h4 {
  margin:0 0 16px;
  color:rgba(255,255,255,.58);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:800;
}

.site-footer a {
  color:rgba(255,255,255,.9);
  text-decoration:none;
  transition:color .15s ease, opacity .15s ease;
}

.site-footer a:hover {
  color:#fff;
  opacity:1;
}

.footer-links ul, .footer-cats ul, .footer-cctv ul {
  list-style:none;
  margin:0;
  padding:0;
}

.footer-links ul {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 18px;
}

.footer-cats ul, .footer-cctv ul {
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.footer-links li, .footer-cats li, .footer-cctv li {
  margin:0;
  line-height:1.45;
}

.footer-links a, .footer-cats a, .footer-cctv a, .footer-disabled {
  display:block;
  font-size:15px;
}

.footer-disabled {
  color:#8d96a3;
  opacity:.5;
  cursor:default;
}

.site-footer .active {
  color:#fff;
  font-weight:800;
  position:relative;
  padding-left:14px;
}

.site-footer .active::before {
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:6px;
  height:6px;
  border-radius:999px;
  background:#ff2b2b;
}

.footer-bottom {
  border-top:1px solid rgba(255,255,255,.06);
  padding:14px 0 calc(14px + env(safe-area-inset-bottom));
}

.footer-bottom-row {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  text-align:center;
  font-size:12px;
  line-height:1.4;
  color:rgba(255,255,255,.68);
}

.footer-copy {
  white-space:nowrap;
}

.footer-bottom-contacts {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
}

.footer-bottom-contacts a {
  color:rgba(255,255,255,.82);
  font-size:12px;
  font-weight:600;
}

.footer-bottom .sep {
  opacity:.45;
}

/* ===== Small utility styles carried from current file ===== */
.in-cart-pill {
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:10px;
  padding:6px 10px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  background:#fff;
  font-size:13px;
  color:#111827;
  white-space:nowrap;
}

.home-faq {
  padding:40px 0 120px;
}

.home-faq h2 {
  margin-bottom:22px;
}

/* ===== Responsive ===== */
@media (max-width: 1100px) {
  .home-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  .site-footer .footer-grid {
    grid-template-columns:1fr 1fr;
    gap:18px;
  }
  .footer-links ul {
    grid-template-columns:1fr 1fr;
  }
  .footer-slogan {
    font-size:22px;
  }
}

@media (max-width: 900px) {
  .home-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-card.is-featured {
    grid-column:auto;
    grid-row:auto;
  }
  .home-trust-grid {
    grid-template-columns:1fr;
  }
  .usp-grid {
    grid-template-columns:1fr;
  }
  .seo-links a {
    width:100%;
    justify-content:center;
    font-size:15px;
    padding:10px 14px;
    min-height:44px;
  }
  .seo-ico {
    width:22px;
    height:22px;
    font-size:13px;
    flex:0 0 22px;
  }
  .seo-cta {
    justify-items:stretch;
  }
  .seo-cta-btn {
    width:100%;
    text-align:center;
  }
  .contact-layout {
    grid-template-columns:1fr;
  }
  .about-badges {
    grid-template-columns:1fr;
  }
  .price-notes {
    grid-template-columns:1fr;
  }
  .service-quick-contact, .service-cta {
    flex-direction:column;
  }
  .btn-cta {
    width:100%;
  }
  .home-tech {
    display:none !important;
  }
}

@media (max-width: 820px) {
  .site-footer {
    margin-top:48px;
    padding-top:22px;
  }
  .site-footer .footer-grid {
    grid-template-columns:1fr;
    gap:14px;
    padding:0 14px 18px;
  }
  .footer-box {
    padding:16px 14px;
  }
  .footer-links ul {
    grid-template-columns:1fr;
  }
  .footer-slogan {
    font-size:21px;
  }
}

@media (max-width: 768px) {
  .home-slide-overlay {
    display:none !important;
    left:16px;
    right:16px;
    top:auto;
    bottom:16px;
    transform:none;
    max-width:none;
    padding:18px;
  }
  .home-slide::after {
    content:none !important;
  }
  .home-slider-prev, .home-slider-next, .home-slider .swiper-button-prev, .home-slider .swiper-button-next {
    display:none !important;
  }
  .logo-track {
    animation-duration:22s;
    gap:22px;
  }
  .logo-item {
    height:46px;
  }
  .logo-item img {
    height:34px;
    max-width:130px;
  }
  .logo-marquee::before, .logo-marquee::after {
    width:50px;
  }
  .sec-title {
    font-size:18px;
    letter-spacing:.1em;
  }
  .home-section-intro {
  font-size:15px;
  line-height:1.6;
}
  .global-call-btn {
    bottom:80px;
  }
  .cookie-banner {
    left:10px;
    right:10px;
    bottom:calc(10px + env(safe-area-inset-bottom));
    padding:12px;
  }
  .cookie-banner .cookie-actions {
    flex-direction:row;
  }
}

@media (max-width: 720px) {
  .sec-title {
    font-size:20px;
    letter-spacing:.10em;
  }
}
.intro-desktop {
  display: block;
}

.intro-mobile {
  display: none;
}
@media (max-width: 767px) {
  .intro-desktop {
    display: none;
  }

  .intro-mobile {
    display: block;
    text-align: center;
    font-size: 15px;
    line-height: 1.6;
  }

  .home-intro-card {
    padding: 16px;
    border-radius: 16px;
    text-align: left;
  }

  .home-intro-copy p {
    font-size: 15px;
    line-height: 1.5;
    text-align: left;
  }

  .home-intro-points {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .home-intro-points span {
    border-radius: 14px;
  }
}
@media (max-width: 620px) {
  .footer-bottom-row {
    font-size:11px;
    gap:6px;
  }
  .footer-bottom-contacts {
    flex-direction:column;
    gap:6px;
  }
  .footer-bottom .sep {
    display:none;
  }
}

@media (max-width: 520px) {
  .home-cards {
    grid-template-columns:1fr;
  }
}

@media (max-width: 520px) {
  .home-cards {
    gap: 18px;
  }

  .home-card {
    display: flex !important;
    flex-direction: column !important;
    aspect-ratio: auto !important;
    min-height: 0 !important;
    background: #fff !important;
    border: 1px solid rgba(230, 0, 18, .32) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
  }

  .home-card-media {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    min-height: 300px !important;
    aspect-ratio: 1 / .86 !important;
    padding: 18px !important;
    background: #fff !important;
    flex: 0 0 auto !important;
  }

  .home-card-media img {
    width: 88% !important;
    height: 88% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }

  .home-card-title {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    z-index: 3 !important;
    display: block !important;
    padding: 13px 14px 15px !important;
    background: #fff !important;
    color: #ef2336 !important;
    font-size: 16px !important;
    line-height: 1.18 !important;
    text-align: center !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
    border-top: 1px solid rgba(230, 0, 18, .14) !important;
  }

  .home-card-subtitle {
    margin-top: 3px !important;
    color: #111827 !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
  }

  .home-card-overlay {
    display: none !important;
  }
}

@media (max-width: 480px) {
  .scroll-top-btn,
  .global-call-btn {
    width:46px;
    height:46px;
    bottom:10px;
  }

  .scroll-top-btn span,
  .global-call-btn .call-icon {
    font-size:16px;
  }

  .global-call-btn {
    left:12px;
  }

  .scroll-top-btn {
    right:12px;
  }

  body.cookie-open .global-call-btn,
  body.cookie-open .scroll-top-btn {
    bottom:86px;
  }
}

.home-card:hover {
  transform:translateY(-6px) scale(1.02);
  border-color:#ff3b3b;
  box-shadow: 0 20px 45px rgba(0,0,0,.18), 0 0 0 1px rgba(255,59,59,.25), 0 0 18px rgba(255,59,59,.18);
}

.mfilters-panel {
  display:none;
}

@media (max-width:900px) {
  .mfilters-panel {
    display:block;
  }
  .sidebar {
    display:none;
  }
   }
.seo-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
}

.seo-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.seo-link-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  border-radius:999px;
  background:#f1f3f7;
  border:1px solid #dde3ea;
  color:#2b2f38;
  text-decoration:none;
  font-weight:800;
}

.seo-big-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 20px;
  border-radius:999px;
  background:#e53935;
  color:#fff;
  text-decoration:none;
  font-weight:900;
}

.seo-divider{
  width:100%;
  height:2px;
  margin:18px 0 14px;
  background:linear-gradient(90deg, rgba(229,57,53,.05), rgba(229,57,53,.85), rgba(229,57,53,.05));
  border-radius:999px;
}

.seo-cta-note{
  font-size:14px;
  font-weight:700;
  color:#4b5563;
}
.seo-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  justify-content:flex-start;
  gap:12px;
  margin-top:18px;
}

.seo-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:stretch;
}

.seo-link-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 22px;
  border-radius:999px;
  background:#f1f3f7;
  border:1px solid #dde3ea;
  color:#2b2f38;
  text-decoration:none;
  font-weight:800;
  line-height:1;
}

.seo-big-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 24px;
  border-radius:999px;
  background:#e53935;
  color:#fff !important;
  text-decoration:none;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
  animation:offerPulse 1.8s ease-in-out infinite;
}

.seo-divider{
  width:100%;
  height:2px;
  margin:18px 0 14px;
  background:linear-gradient(90deg, rgba(229,57,53,.05), rgba(229,57,53,.85), rgba(229,57,53,.05));
  border-radius:999px;
}

.seo-cta-note{
  width:100%;
  text-align:center;
  font-size:14px;
  font-weight:700;
  color:#4b5563;
}

@keyframes offerPulse{
  0%   { transform:scale(1); box-shadow:0 0 0 0 rgba(229,57,53,.28); }
  50%  { transform:scale(1.03); box-shadow:0 0 0 10px rgba(229,57,53,0); }
  100% { transform:scale(1); box-shadow:0 0 0 0 rgba(229,57,53,0); }
}
.faq-item{
  transition:all .25s ease;
}

.faq-item:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 25px rgba(0,0,0,.08);
  border-color:rgba(227,6,19,.35);
}
.faq-item h3{
  position:relative;
  padding-right:30px;
}

.faq-item h3::after{
  content:"\25BE";
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  font-size:18px;
  opacity:.6;
}
.faq-item p{
  animation:faqFade .4s ease;
}

@keyframes faqFade{
  from{
    opacity:0;
    transform:translateY(-4px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}
@media (max-width:768px){

.seo-actions{
  flex-direction:column;
  align-items:stretch;
}

.seo-links{
  width:100%;
}

.seo-link-btn{
  width:100%;
}

.seo-big-btn{
  width:100%;
  white-space:normal;
  text-align:center;
  line-height:1.3;
}

}
@media (max-width:900px){

.scroll-top-btn,
.global-call-btn{
  bottom:12px !important;
}

}
/* =========================
   ADMIN BASE
========================= */
.admin-wrap,
.admin-container {
  width: 100%;
  max-width: 100%;
  padding: 16px;
  margin: 0 auto;
  box-sizing: border-box;
}

.admin-page {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

.admin-title,
.admin-section-title {
  margin: 0 0 14px;
  line-height: 1.2;
}

.admin-title {
  font-size: 28px;
  font-weight: 800;
}

.admin-section-title {
  font-size: 22px;
  font-weight: 800;
}

.admin-section {
  margin-bottom: 24px;
}

.admin-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 16px;
  box-sizing: border-box;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
}

.admin-form {
  margin-bottom: 18px;
}

/* =========================
   FORM LAYOUT
========================= */
.admin-form-row {
  display: flex;
  gap: 14px;
  margin-bottom: 14px;
  align-items: flex-start;
  flex-wrap: wrap;
}

.admin-form-col {
  flex: 1 1 260px;
  min-width: 0;
}

.admin-form-col-small {
  flex: 0 0 140px;
}

.admin-form-actions {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 10px;
  flex-wrap: wrap;
}

.admin-label {
  display: block;
  margin-bottom: 6px;
  font-weight: 700;
  font-size: 14px;
  color: #111827;
}

.admin-input,
.admin-textarea,
.admin-form select {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 15px;
  line-height: 1.4;
  background: #fff;
}

.admin-textarea {
  resize: vertical;
  min-height: 110px;
}

.admin-check {
  display: flex;
  gap: 8px;
  align-items: center;
  min-height: 44px;
  font-weight: 600;
}

/* =========================
   BUTTONS
========================= */
.admin-btn,
.admin-btn-mini {
  appearance: none;
  border: 0;
  border-radius: 10px;
  background: #c1121f;
  color: #fff;
  padding: 11px 16px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  transition: .2s ease;
}

.admin-btn:hover,
.admin-btn-mini:hover {
  opacity: .92;
  transform: translateY(-1px);
}

.admin-btn-mini {
  padding: 9px 12px;
  font-size: 13px;
}

.admin-btn-mini.danger {
  background: #111827;
}

/* =========================
   GRID / CARDS
========================= */
.admin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.admin-item {
  height: 100%;
}

.admin-item-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.admin-item-body {
  word-wrap: break-word;
  overflow-wrap: anywhere;
}

.admin-mini-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.admin-thumb {
  width: 100%;
  max-width: 100%;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  background: #f9fafb;
}

.admin-thumb img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* =========================
   LOGIN
========================= */
.admin-wrap {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.admin-wrap .admin-card {
  width: 100%;
  max-width: 420px;
}

.admin-alert {
  background: #fee2e2;
  color: #991b1b;
  border: 1px solid #fecaca;
  border-radius: 10px;
  padding: 10px 12px;
  margin-bottom: 14px;
}

/* =========================
   TABLET
========================= */
@media (max-width: 991px) {
  .admin-grid {
    grid-template-columns: 1fr;
  }

  .admin-page {
    max-width: 100%;
  }
}

/* =========================
   MOBILE
========================= */
@media (max-width: 767px) {
  .admin-wrap,
  .admin-container {
    padding: 12px;
  }

  .admin-card {
    padding: 14px;
    border-radius: 12px;
  }

  .admin-title {
    font-size: 22px;
  }

  .admin-section-title {
    font-size: 18px;
  }

  .admin-form-row {
    gap: 12px;
    margin-bottom: 12px;
  }

  .admin-form-col,
  .admin-form-col-small,
  .admin-form-actions {
    flex: 1 1 100%;
  }

  .admin-form-actions {
    align-items: stretch;
  }

  .admin-btn,
  .admin-btn-mini {
    width: 100%;
  }

  .admin-mini-actions {
    width: 100%;
    justify-content: stretch;
  }

  .admin-mini-actions .admin-btn-mini,
  .admin-mini-actions a.admin-btn-mini,
  .admin-mini-actions button.admin-btn-mini {
    flex: 1 1 100%;
  }

  .admin-item-head {
    flex-direction: column;
    align-items: stretch;
  }

  .admin-input,
  .admin-textarea,
  .admin-form select {
    font-size: 16px;
  }
}

/* =========================
   VERY SMALL MOBILE
========================= */
@media (max-width: 480px) {
  .admin-title {
    font-size: 20px;
  }

  .admin-section-title {
    font-size: 17px;
  }

  .admin-card {
    padding: 12px;
  }

  .admin-btn,
  .admin-btn-mini {
    padding: 10px 12px;
    font-size: 13px;
  }
}
/* =========================
   OFFER VIEW / EDIT
========================= */
.offer-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
}

.offer-form-grid {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.offer-form-col {
  flex: 1 1 260px;
  min-width: 0;
}

.offer-form-col-small {
  flex: 0 0 180px;
}

.offer-label {
  display: block;
  margin-bottom: 6px;
  font-weight: 700;
  color: #111827;
}

.offer-input,
.offer-textarea,
.offer-qty-input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  background: #fff;
  padding: 11px 12px;
  font-size: 15px;
  line-height: 1.4;
}

.offer-textarea {
  resize: vertical;
  min-height: 110px;
}

.offer-meta {
  padding-top: 4px;
}

.offer-status {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  background: #f3f4f6;
  color: #111827;
}

.offer-total {
  text-align: right;
  font-weight: 800;
  font-size: 18px;
  margin-top: 10px;
}

.offer-total-breakdown {
  width: min(100%, 460px);
  margin-left: auto;
  padding: 14px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #f8fafc;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .06);
  text-align: left;
  font-size: 14px;
}

.offer-total-breakdown > div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 5px 0;
}

.offer-total-breakdown span {
  color: #64748b;
  font-weight: 700;
}

.offer-total-breakdown strong {
  color: #111827;
  white-space: nowrap;
}

.offer-total-breakdown .offer-total-final {
  margin-top: 8px;
  padding-top: 11px;
  border-top: 1px solid #e5e7eb;
  font-size: 17px;
}

.offer-total-breakdown .offer-total-final span,
.offer-total-breakdown .offer-total-final strong {
  color: #e7192f;
}

.offer-actions {
  display: flex;
  gap: 10px;
  margin-top: 16px;
  flex-wrap: wrap;
}

.offer-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

/* =========================
   TABLE WRAP
========================= */
.offer-table-wrap {
  margin-top: 14px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
}

.offer-table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  background: #fff;
}

.offer-table th,
.offer-table td {
  padding: 12px 10px;
  border-bottom: 1px solid #e5e7eb;
  text-align: left;
  vertical-align: middle;
}

.offer-table th {
  background: #f9fafb;
  font-weight: 800;
  color: #111827;
}

.offer-table tr:last-child td {
  border-bottom: 0;
}

.offer-table .col-price,
.offer-table .col-qty,
.offer-table .col-sum {
  white-space: nowrap;
}

.offer-qty-cell {
  width: 110px;
}

.offer-qty-input {
  min-width: 70px;
  text-align: center;
}

/* =========================
   TABLET
========================= */
@media (max-width: 991px) {
  .offer-card {
    padding: 16px;
  }
}

/* =========================
   MOBILE
========================= */
@media (max-width: 767px) {
  .offer-card {
    padding: 14px;
    border-radius: 12px;
  }

  .offer-form-grid {
    flex-direction: column;
    gap: 12px;
  }

  .offer-form-col,
  .offer-form-col-small {
    flex: 1 1 100%;
  }

  .offer-input,
  .offer-textarea,
  .offer-qty-input {
    min-height: 46px;
    padding: 11px 12px;
    font-size: 16px;
  }

  .offer-textarea {
    min-height: 120px;
  }

  .offer-label {
    font-size: 14px;
  }

  .offer-status {
    width: 100%;
    box-sizing: border-box;
    text-align: center;
  }

  .offer-table {
    min-width: 560px;
  }

  .offer-total-breakdown {
    width: 100%;
    box-sizing: border-box;
    padding: 12px;
    font-size: 13px;
  }

  .offer-total-breakdown > div {
    gap: 10px;
  }

  .offer-total-breakdown .offer-total-final {
    font-size: 15px;
  }

  .offer-actions {
    position: sticky;
    bottom: 0;
    z-index: 15;
    flex-direction: column;
    margin: 14px -14px -14px;
    padding: 10px 14px;
    background: rgba(255,255,255,.97);
    border-top: 1px solid #e5e7eb;
    box-shadow: 0 -8px 18px rgba(15,23,42,.08);
  }

  .offer-actions .btn,
  .offer-actions a.btn,
  .offer-actions button.btn {
    width: 100%;
    min-height: 46px;
  }

  .offer-total {
    font-size: 17px;
  }
}

/* =========================
   VERY SMALL MOBILE
========================= */
@media (max-width: 480px) {
  .offer-card {
    padding: 12px;
  }

  .offer-actions {
    margin: 12px -12px -12px;
    padding: 9px 12px;
  }

  .offer-table th,
  .offer-table td {
    padding: 10px 8px;
  }
}
/* =========================
   OFFERS LIST
========================= */
.offers-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
}

.offers-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.offers-message {
  margin-bottom: 14px;
  padding: 11px 13px;
  border: 1px solid #dbeafe;
  border-radius: 12px;
  background: #eff6ff;
  color: #1e3a8a;
  font-weight: 700;
}

.offers-title {
  margin: 0;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 800;
}

.offers-filters {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.offers-filter-col {
  flex: 1 1 260px;
  min-width: 0;
}

.offers-filter-col-small {
  flex: 0 0 180px;
}

.offers-filter-actions {
  display: flex;
  gap: 10px;
  align-items: flex-end;
  flex-wrap: wrap;
}

.offers-label {
  display: block;
  margin-bottom: 6px;
  font-weight: 700;
  color: #111827;
}

.offers-input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  background: #fff;
  padding: 11px 12px;
  font-size: 15px;
  line-height: 1.4;
}

.offers-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
}

.offers-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  background: #fff;
}

.offers-table th,
.offers-table td {
  padding: 12px 10px;
  border-bottom: 1px solid #e5e7eb;
  vertical-align: middle;
}

.offers-table th {
  background: #f9fafb;
  font-weight: 800;
  color: #111827;
  text-align: left;
}

.offers-table tr:last-child td {
  border-bottom: 0;
}

.offers-open-btn {
  margin: 2px;
  white-space: nowrap;
}

.offers-actions-cell {
  min-width: 320px;
}

.offers-delete-form {
  display: inline;
  margin: 0;
}

.offers-total-note {
  margin-top: 2px;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.offers-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.offers-badge-green {
  background: #dcfce7;
  color: #166534;
}

.offers-badge-gray {
  background: #f3f4f6;
  color: #374151;
}

.btn-light {
  background: #e5e7eb;
  color: #111827;
}

/* =========================
   TABLET
========================= */
@media (max-width: 991px) {
  .offers-card {
    padding: 16px;
  }
}

/* =========================
   MOBILE
========================= */
@media (max-width: 767px) {
  .offers-card {
    padding: 14px;
    border-radius: 12px;
  }

  .offers-title {
    font-size: 21px;
  }

  .offers-filters {
    flex-direction: column;
  }

  .offers-filter-col,
  .offers-filter-col-small {
    flex: 1 1 100%;
  }

  .offers-filter-actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .offers-filter-actions .btn,
  .offers-filter-actions a.btn {
    width: 100%;
  }

  .offers-input {
    min-height: 46px;
    padding: 11px 12px;
    font-size: 16px;
  }

  .offers-table {
    min-width: 900px;
  }

  .offers-actions-cell {
    min-width: 360px;
  }

  .offers-open-btn,
  .offers-delete-form .offers-open-btn {
    min-height: 40px;
    padding: 9px 12px;
  }

  .offers-table th,
  .offers-table td {
    padding: 11px 9px;
  }
}

/* =========================
   VERY SMALL MOBILE
========================= */
@media (max-width: 480px) {
  .offers-card {
    padding: 12px;
  }

  .offers-title {
    font-size: 19px;
  }
}
/* =========================
   ORDER EDIT
========================= */
.order-edit-search-card,
.order-add-card,
.order-edit-table-card,
.order-edit-footer-actions {
  border-radius: 16px;
}

.order-edit-search-form,
.order-add-form {
  display: flex;
  gap: 10px;
  align-items: end;
  flex-wrap: wrap;
}

.order-edit-search-col {
  flex: 1 1 260px;
  min-width: 0;
}

.order-edit-search-actions,
.order-add-actions {
  display: flex;
  gap: 8px;
  align-items: end;
  flex-wrap: wrap;
}

.order-add-product {
  flex: 1 1 320px;
  min-width: 0;
}

.order-add-qty {
  width: 120px;
  min-width: 120px;
}

.order-edit-label {
  display: block;
  margin-bottom: 6px;
  font-weight: 700;
  color: #111827;
}

.order-edit-input,
.order-edit-select {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  background: #fff;
  padding: 11px 12px;
  font-size: 15px;
  line-height: 1.4;
}

.order-edit-subtitle {
  margin: 0 0 12px;
}

.order-edit-alert {
  margin-top: 10px;
}

.order-edit-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.order-edit-table {
  width: 100%;
  min-width: 860px;
}

.order-edit-inline-form {
  display: flex;
  gap: 8px;
  align-items: center;
}

.order-edit-qty-input {
  width: 80px;
  min-width: 80px;
  text-align: center;
}

.order-edit-nowrap {
  white-space: nowrap;
}

.order-edit-footer-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* =========================
   MOBILE
========================= */
@media (max-width: 767px) {
  .order-edit-search-form,
  .order-add-form {
    flex-direction: column;
    align-items: stretch;
  }

  .order-edit-search-col,
  .order-add-product,
  .order-add-qty,
  .order-edit-search-actions,
  .order-add-actions {
    width: 100%;
    flex: 1 1 100%;
  }

  .order-edit-search-actions .btn,
  .order-edit-search-actions a.btn,
  .order-add-actions .btn,
  .order-add-actions a.btn {
    width: 100%;
  }

  .order-edit-input,
  .order-edit-select {
    font-size: 16px;
  }

  .order-edit-footer-actions .btn,
  .order-edit-footer-actions a.btn {
    width: 100%;
  }
}
/* =========================
   ADMIN LAYOUT
========================= */
.admin-layout {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  padding: 16px;
  box-sizing: border-box;
}

.admin-sidebar {
  flex: 0 0 260px;
  max-width: 260px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
  box-sizing: border-box;
}

.admin-main {
  flex: 1 1 auto;
  min-width: 0;
}

.admin-side-title {
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 12px;
}

.admin-cat-ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.admin-cat-ul li {
  margin: 0;
  padding: 0;
}

.admin-cat-ul a {
  display: block;
  padding: 8px 10px;
  border-radius: 10px;
  color: #111827;
  text-decoration: none;
  transition: background .2s ease;
}

.admin-cat-ul a:hover,
.admin-cat-ul a.active {
  background: #f3f4f6;
}

.top-tabs {
  display: flex;
  align-items: center;
  margin: 0; 
}

.top-tabs .tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 10px;
  background: #e5e7eb;
  color: #111827;
  text-decoration: none;
  font-weight: 700;
}

.top-tabs .tab.active {
  background: #c1121f;
  color: #fff;
}

/* =========================
   TABLET
========================= */
@media (max-width: 991px) {
  .admin-layout {
    flex-direction: column;
  }

  .admin-sidebar {
    flex: 1 1 100%;
    max-width: 100%;
    width: 100%;
  }

  .admin-main {
    width: 100%;
  }
}

/* =========================
   MOBILE
========================= */
@media (max-width: 767px) {
  .admin-layout {
    padding: 12px;
    gap: 14px;
  }

  .admin-sidebar {
    padding: 14px;
    border-radius: 12px;
  }

  .top-tabs {
    gap: 8px;
  }

  .top-tabs .tab {
    flex: 1 1 calc(50% - 8px);
    min-width: 140px;
    text-align: center;
  }
}

/* =========================
   VERY SMALL MOBILE
========================= */
@media (max-width: 480px) {
  .top-tabs .tab {
    flex: 1 1 100%;
  }
}
/* =========================
   ADMIN LAYOUT
========================= */
.admin-layout {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  padding: 16px;
  box-sizing: border-box;
}

.admin-sidebar {
  flex: 0 0 260px;
  max-width: 260px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
  box-sizing: border-box;
  overflow: hidden;
}

.admin-main {
  flex: 1 1 auto;
  min-width: 0;
}

.admin-side-title {
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 12px;
}

.admin-cat-ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.admin-cat-ul ul {
  list-style: none;
  margin: 6px 0 0 14px;
  padding: 0;
}

.admin-cat-ul li {
  margin: 0;
  padding: 0;
}

.admin-cat-ul a {
  display: block;
  padding: 7px 10px;
  border-radius: 10px;
  color: #111827;
  text-decoration: none;
  line-height: 1.35;
  transition: background .2s ease, color .2s ease;
}

.admin-cat-ul a:hover,
.admin-cat-ul a.active {
  background: #f3f4f6;
  color: #111827;
}

.top-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}

.top-tabs .tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 999px;
  background: #e5e7eb;
  color: #111827;
  text-decoration: none;
  font-weight: 700;
  border: 1px solid #d1d5db;
}

.top-tabs .tab.active {
  background: #fff;
  color: #111827;
  border-color: #111827;
}

.page-title {
  margin: 0 0 18px;
  font-size: 24px;
  font-weight: 800;
  line-height: 1.2;
}

/* =========================
   ADMIN PRODUCTS
========================= */
.admin-products-filter-card {
  margin-bottom: 12px;
}

.admin-products-filter-form {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.admin-products-search {
  flex: 1 1 320px;
  min-width: 220px;
}

.admin-products-per-page {
  flex: 0 0 160px;
}

.admin-products-card {
  overflow: visible;
  padding: 16px;
}

.admin-products-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.admin-products-view-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.admin-products-view-tabs .btn.is-active {
  border-color: rgba(225, 29, 46, .45);
  background: #fff1f2;
  color: #b91c1c;
}

.admin-products-result-bar {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 14px;
  color: #64748b;
  font-size: 13px;
  font-weight: 800;
}

.admin-products-empty {
  padding: 22px;
  text-align: center;
}

.admin-products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 14px;
}

.admin-product-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}

.admin-product-card.is-inactive {
  background: #f8fafc;
}

.admin-product-card-media {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  background: #f8fafc;
  text-decoration: none;
}

.admin-product-card-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  padding: 14px;
}

.admin-product-card-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #64748b;
  font-size: 13px;
  font-weight: 800;
}

.admin-product-card-id,
.admin-product-card-status {
  position: absolute;
  left: 8px;
  display: inline-flex;
  max-width: calc(100% - 16px);
  padding: 5px 7px;
  border-radius: 7px;
  background: rgba(255,255,255,.92);
  color: #111827;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.1;
  box-shadow: 0 6px 16px rgba(15,23,42,.08);
}

.admin-product-card-id {
  top: 8px;
}

.admin-product-card-status {
  bottom: 8px;
  color: #b91c1c;
}

.admin-product-card-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px;
  min-height: 118px;
}

.admin-product-card-brand {
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.admin-product-card-body h2 {
  margin: 0;
  color: #111827;
  font-size: 14px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.admin-product-card-price {
  margin-top: auto;
  color: #b91c1c;
  font-size: 17px;
  font-weight: 950;
}

.admin-product-card-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 0 12px 12px;
}

.admin-product-card-actions form,
.admin-product-card-actions .btn,
.admin-product-card-actions button {
  width: 100%;
}

.admin-products-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  margin-top: 18px;
}

.admin-products-pagination .btn.is-active {
  border-color: rgba(225, 29, 46, .45);
  background: #fff1f2;
  color: #b91c1c;
}

.admin-products-page-gap {
  color: #94a3b8;
  font-weight: 900;
  padding: 0 2px;
}

.admin-products-table {
  width: 100%;
  min-width: 860px;
}

.admin-thumb-img {
  width: 72px;
  height: 72px;
  object-fit: contain;
  display: block;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #fff;
  padding: 4px;
}

.admin-thumb-placeholder {
  width: 72px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px dashed #d1d5db;
  border-radius: 10px;
  color: #6b7280;
  font-size: 12px;
  background: #f9fafb;
}

.admin-mini-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.admin-mini-actions form {
  margin: 0;
}

/* =========================
   TABLET
========================= */
@media (max-width: 991px) {
  .admin-layout {
    flex-direction: column;
  }

  .admin-sidebar {
    flex: 1 1 100%;
    max-width: 100%;
    width: 100%;
  }

  .admin-main {
    width: 100%;
  }
}

/* =========================
   MOBILE
========================= */
@media (max-width: 767px) {
  .admin-layout {
    padding: 12px;
    gap: 14px;
  }

  .admin-sidebar {
    padding: 14px;
    border-radius: 12px;
  }

  .top-tabs {
    gap: 8px;
  }

  .top-tabs .tab {
    flex: 1 1 calc(50% - 8px);
    min-width: 140px;
    text-align: center;
  }

  .page-title {
    font-size: 21px;
    margin-bottom: 14px;
  }

  .admin-products-filter-form {
    flex-direction: column;
    align-items: stretch;
  }

  .admin-products-filter-form .btn,
  .admin-products-filter-form a.btn {
    width: 100%;
  }

  .admin-products-search {
    min-width: 0;
    width: 100%;
  }
}

/* =========================
   VERY SMALL MOBILE
========================= */
@media (max-width: 480px) {
  .top-tabs .tab {
    flex: 1 1 100%;
  }
}
/* ===== Admin mobile dropdown ===== */
.admin-mobile-nav{
  display:none;
  margin:0 0 16px;
}

.admin-mobile-toggle{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:14px 16px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#fff;
  color:#111827;
  font-size:16px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
}

.admin-mobile-toggle::after{
  content:"\25BE";
  font-size:14px;
  line-height:1;
  transition:transform .2s ease;
}

.admin-mobile-nav.open .admin-mobile-toggle::after{
  transform:rotate(180deg);
}

.admin-mobile-dropdown{
  display:none;
  margin-top:10px;
  padding:10px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
}

.admin-mobile-nav.open .admin-mobile-dropdown{
  display:block;
}

.admin-mobile-dropdown .top-tabs{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.admin-mobile-dropdown .tab{
  display:block;
  width:100%;
  padding:12px 14px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#f8fafc;
  text-decoration:none;
  font-weight:700;
}

.admin-mobile-dropdown .tab.active{
  background:#eef2ff;
  border-color:#c7d2fe;
}

/* ===== Mobile admin layout ===== */
@media (max-width: 991px){
  .admin-layout{
    display:block;
  }

  .admin-sidebar{
    display:none;
  }

  .admin-main{
    width:100%;
  }

  .admin-mobile-nav{
    display:block;
  }

  .admin-main > .top-tabs{
    display:none;
  }
}
@media (max-width: 991px){

  /* 1) mobile admin search да не става огромен */
  .admin-main form input[type="text"],
  .admin-main form input[type="search"],
  .admin-main form select{
    height: 48px !important;
    min-height: 48px !important;
    width: 100%;
  }

  .admin-main form textarea{
    min-height: 120px;
  }

  /* 2) dropdown менюто да показва табовете нормално */
  .admin-mobile-dropdown{
    display:none;
    margin-top:10px;
    padding:10px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    box-shadow:0 8px 24px rgba(0,0,0,.06);
  }

  .admin-mobile-nav.open .admin-mobile-dropdown{
    display:block;
  }

  .admin-mobile-dropdown .top-tabs{
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    margin:0 !important;
    padding:0 !important;
  }

  .admin-mobile-dropdown .tab{
    display:block !important;
    width:100% !important;
    padding:12px 14px !important;
    border:1px solid #e5e7eb !important;
    border-radius:12px !important;
    background:#f8fafc !important;
    color:#111827 !important;
    text-decoration:none !important;
    font-weight:700 !important;
  }

  .admin-mobile-dropdown .tab.active{
    background:#eef2ff !important;
    border-color:#c7d2fe !important;
  }
}
@media (max-width: 767px){
  .admin-products-filter-form{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }

  .admin-products-search{
    flex:none;
    width:100%;
    min-width:0;
  }

  .admin-products-filter-form .btn,
  .admin-products-filter-form .btn-mini{
    width:100%;
    justify-content:center;
  }
}
/* =========================================================
   ADMIN ORDERS – DESKTOP + MOBILE
   ========================================================= */

/* --- top tabs --- */
.top-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 18px;
}

.top-tabs .tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 18px;
  border:1px solid #d7dbe3;
  border-radius:999px;
  background:#f8fafc;
  color:#0f172a;
  text-decoration:none;
  font-weight:700;
  transition:all .2s ease;
}

.top-tabs .tab:hover{
  background:#eef2ff;
  border-color:#c7d2fe;
}

.top-tabs .tab.active{
  background:#ffffff;
  border-color:#111827;
  box-shadow:0 4px 14px rgba(0,0,0,.06);
}

/* --- page title --- */
.page-title{
  margin:0 0 18px;
  color:#0f172a;
  font-size:20px;
  font-weight:800;
}

/* --- generic admin cards --- */
.admin-main .card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  box-shadow:0 8px 24px rgba(0,0,0,.05);
}

/* --- filters / mini actions --- */
.admin-main .admin-mini-actions{
  display:flex;
  align-items:end;
  flex-wrap:wrap;
  gap:12px;
}

.admin-main .admin-mini-actions label{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  font-weight:600;
  color:#111827;
}

.admin-main .admin-mini-actions input[type="date"],
.admin-main .admin-mini-actions input[type="text"],
.admin-main .admin-mini-actions input[type="search"],
.admin-main .admin-mini-actions select{
  height:42px;
  padding:0 12px;
  border:1px solid #d1d5db;
  border-radius:10px;
  background:#fff;
  color:#111827;
  font-size:15px;
}

.admin-main .admin-mini-actions input[type="checkbox"]{
  width:16px;
  height:16px;
}

.stats-title{
  font-weight:800;
  color:#111827;
  margin-right:8px;
}

/* --- buttons --- */
.admin-main .btn,
.admin-main .btn-mini{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  border:1px solid #d1d5db;
  border-radius:12px;
  background:#f8fafc;
  color:#111827;
  text-decoration:none;
  font-weight:700;
  cursor:pointer;
  transition:all .2s ease;
}

.admin-main .btn:hover,
.admin-main .btn-mini:hover{
  background:#eef2ff;
  border-color:#c7d2fe;
}

.admin-main .btn-danger{
  background:#fff1f2;
  border-color:#fecdd3;
  color:#b91c1c;
}

.admin-main .admin-btn-mini{
  background:#eef2ff;
  border-color:#c7d2fe;
  color:#3730a3;
}

/* --- stats row --- */
.orders-stats-grid{
  display:grid;
  grid-template-columns:repeat(6, minmax(180px, 1fr));
  gap:12px;
}

.orders-stat-card{
  padding:14px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#fff;
}

.orders-stat-card.is-primary{
  border:2px solid #2563eb;
  background:#eff6ff;
}

.orders-stat-title{
  font-weight:800;
  color:#111827;
  margin-bottom:4px;
}

.orders-stat-count{
  font-size:18px;
  line-height:1.1;
  font-weight:900;
  color:#111827;
}

.orders-stat-sum{
  font-size:16px;
  color:#111827;
}

/* --- tables --- */
.admin-main .table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width:980px;
}

.admin-main .table thead th{
  padding:14px 12px;
  border-bottom:1px solid #e5e7eb;
  color:#111827;
  font-size:14px;
  font-weight:800;
  background:#f8fafc;
}

.admin-main .table tbody td{
  padding:14px 12px;
  border-bottom:1px solid #edf0f4;
  vertical-align:middle;
  color:#111827;
}

.admin-main .card .table{
  border-radius:14px;
  overflow:hidden;
}

/* --- badges --- */
.pay-badge,
.order-status,
.badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:32px;
  padding:4px 10px;
  border-radius:999px;
  font-size:13px;
  font-weight:700;
}

.pay-card{ background:#eff6ff; color:#1d4ed8; }
.pay-store{ background:#ecfdf5; color:#047857; }
.pay-cash{ background:#fff7ed; color:#c2410c; }

.status-new{ background:#eff6ff; color:#1d4ed8; }
.status-processing{ background:#fef3c7; color:#92400e; }
.status-completed{ background:#ecfdf5; color:#047857; }
.status-cancelled{ background:#fef2f2; color:#b91c1c; }

.badge-success{
  background:#ecfdf5;
  color:#047857;
}

/* --- actions in tables --- */
.order-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}

.order-actions form{
  margin:0;
}

.mini-form{
  display:inline-flex;
  margin:0;
}

/* --- pending age rows --- */
.pending-age-warn td{
  background:#fffef2;
}

.pending-age-danger td{
  background:#fff1f2;
}

/* --- mobile admin dropdown --- */
.admin-mobile-nav{
  display:none;
  margin:0 0 16px;
}

.admin-mobile-toggle{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:46px;
  padding:0 16px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#fff;
  color:#111827;
  font-size:16px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.05);
}

.admin-mobile-toggle::after{
  content:"\25BE";
  font-size:14px;
  transition:transform .2s ease;
}

.admin-mobile-nav.open .admin-mobile-toggle::after{
  transform:rotate(180deg);
}

.admin-mobile-dropdown{
  display:none;
  margin-top:10px;
  padding:10px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  box-shadow:0 8px 24px rgba(0,0,0,.05);
}

.admin-mobile-nav.open .admin-mobile-dropdown{
  display:block;
}

.admin-mobile-dropdown .top-tabs{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:0;
}

.admin-mobile-dropdown .tab{
  width:100%;
  border-radius:12px;
}

/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 991px){
  .admin-layout{
    display:block;
  }

  .admin-sidebar{
    display:none;
  }

  .admin-main{
    width:100%;
  }

  .admin-main > .top-tabs{
    display:none;
  }

  .admin-mobile-nav{
    display:block;
  }
}

@media (max-width: 767px){

  .page-title{
    font-size:18px;
    margin-bottom:14px;
  }

  .admin-main .card{
    border-radius:14px;
  }

  .admin-main .admin-mini-actions{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }

  .admin-main .admin-mini-actions label{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    width:100%;
  }

  .admin-main .admin-mini-actions input[type="date"],
  .admin-main .admin-mini-actions input[type="text"],
  .admin-main .admin-mini-actions input[type="search"],
  .admin-main .admin-mini-actions select,
  .admin-main .admin-mini-actions .btn,
  .admin-main .admin-mini-actions .btn-mini{
    width:100%;
  }

  .admin-main .btn,
  .admin-main .btn-mini{
    min-height:40px;
    border-radius:10px;
    padding:0 14px;
  }

  .orders-stats-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .orders-stat-card{
    padding:12px;
    border-radius:12px;
  }

  .orders-stat-title{
    font-size:14px;
    margin-bottom:2px;
  }

  .orders-stat-count{
    font-size:16px;
  }

  .orders-stat-sum{
    font-size:14px;
  }

  .order-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .order-actions .btn,
  .order-actions .btn-mini,
  .order-actions form,
  .mini-form{
    width:100%;
  }

  .admin-main .table{
    min-width:760px;
  }

  .admin-main .card{
    overflow-x:auto;
  }
}
/* =========================================================
   ADMIN SETTINGS
   ========================================================= */

.admin-flash{
  margin-bottom:12px;
  padding:12px 14px;
}

.admin-flash-success{
  border:2px solid #16a34a;
  background:#ecfdf5;
}

.admin-settings-card{
  margin-bottom:12px;
  padding:16px;
}

.admin-settings-form{
  margin-top:12px;
  display:grid;
  gap:12px;
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.admin-settings-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.admin-settings-field label{
  font-weight:800;
  color:#111827;
}

.admin-settings-field input,
.admin-settings-field textarea{
  width:100%;
  padding:10px 12px;
  border:1px solid #d1d5db;
  border-radius:10px;
  background:#fff;
  color:#111827;
  font-size:15px;
  box-sizing:border-box;
}

.admin-settings-field textarea{
  resize:vertical;
  min-height:110px;
}

.admin-settings-field-full{
  grid-column:1 / -1;
}

.admin-settings-check{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  color:#111827;
  min-height:42px;
}

.admin-settings-check input[type="checkbox"]{
  width:16px;
  height:16px;
}

.admin-settings-spacer{
  min-height:1px;
}

.admin-settings-actions{
  grid-column:1 / -1;
  display:flex;
  justify-content:flex-start;
}

.admin-side-bottom{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid #e5e7eb;
}

.admin-side-logout{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  width:100%;
  padding:0 14px;
  border:1px solid #fecdd3;
  border-radius:12px;
  background:#fff1f2;
  color:#b91c1c;
  text-decoration:none;
  font-weight:800;
  transition:all .2s ease;
  box-sizing:border-box;
}

.admin-side-logout:hover{
  background:#ffe4e6;
  border-color:#fda4af;
}

@media (max-width: 767px){
  .admin-settings-card{
    padding:14px;
  }

  .admin-settings-form{
    grid-template-columns:1fr;
  }

  .admin-settings-field-full,
  .admin-settings-actions{
    grid-column:auto;
  }

  .admin-settings-actions .btn,
  .admin-settings-actions .btn-mini{
    width:100%;
  }

  .admin-settings-spacer{
    display:none;
  }
}
.admin-mobile-extra{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid #e5e7eb;
}
.total-label{
  font-size:14px;
  font-weight:700;
  color:#111;
  background:#f7f7f7;
}

.total-price{
  font-size:15px;
  font-weight:800;
  color:#c62828;
  background:#f7f7f7;
}

.grand-final td{
  background:#fafafa;
  color:#111;
  border-top:2px solid #c62828;
}

.grand-final .total-label{
  font-size:16px;
  font-weight:800;
  color:#111;
}

.grand-final .total-price{
  font-size:18px;
  font-weight:900;
  color:#c62828;
}

@media print{
  .no-print{ display:none; }

  body{
    margin:0;
    background:#fff;
  }

  .wrap{
    margin:0;
    max-width:none;
    box-shadow:none;
  }

  .total-label{
    font-size:14px;
    font-weight:600;
    color:#222;
    background:#fafafa;
  }

  .total-price{
    font-size:15px;
    font-weight:700;
    color:#222;
    background:#fafafa;
  }

  .grand-final td{
    background:#fafafa;
    color:#111;
    border-top:2px solid #c62828;
  }

  .grand-final .total-label{
    font-size:16px;
    font-weight:800;
    color:#111;
  }

  .grand-final .total-price{
    font-size:18px;
    font-weight:900;
    color:#c62828;
  }

  .screen-only{ display:none; }
  .print-only{ display:inline; }
}
/* ===== Cart icon button ===== */
.pill-cart .count {
  position: absolute;
  top: -4px;
  right: -4px;
  background: #e11d2e;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  min-width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pill-cart {
  position: relative; /* 💥 това оправя проблема */
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}
.pill-cart:hover {
  transform: scale(1.08);
  transition: transform 0.2s ease;
}
.pill-cart .count {
  animation: pop 0.25s ease;
}

@keyframes pop {
  0% { transform: scale(0.7); }
  100% { transform: scale(1); }
}
.pill-cart {
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
}
/* ===== Offer print page ===== */
body{
  font-family:'Montserrat', Arial, sans-serif;
  color:#111;
  background:#f3f3f3;
  margin:0;
}

.wrap{
  max-width:900px;
  margin:24px auto;
  background:#fff;
  padding:18px 18px 24px;
  box-sizing:border-box;
}

.brand-mini{
  font-size:14px;
  font-weight:700;
  color:#111;
  line-height:1.3;
  margin-bottom:6px;
}

.h1{
  font-family:Arial, sans-serif;
  font-size:40px;
  margin:0;
  color:#c62828;
  font-weight:600;
  line-height:1.1;
  letter-spacing:0;
}

.box{
  border:1px solid #222;
  padding:12px;
  margin-top:14px;
  background:#fff;
  box-sizing:border-box;
}

.client-box{
  border-left:5px solid #c62828;
  background:#fafafa;
}

table{
  width:100%;
  border-collapse:collapse;
  margin-top:14px;
  background:#fff;
}

th, td{
  border:1px solid #dcdcdc;
  padding:10px;
  vertical-align:top;
}

th{
  background:#f7f7f7;
  text-align:left;
  font-weight:700;
  color:#111;
}

tbody tr:nth-child(even){
  background:#fcfcfc;
}

.img{
  width:70px;
  height:auto;
  display:block;
}

.right{
  text-align:right;
  white-space:nowrap;
}

.muted{
  color:#555;
  font-size:12px;
  margin-top:10px;
}

.total-label{
  font-size:18px;
  font-weight:800;
  color:#111;
  background:#f7f7f7;
}

.total-price{
  font-size:20px;
  font-weight:900;
  color:#c62828;
  background:#f7f7f7;
}

.brand-bar{
  display:none;
}

@media print{
  .no-print{
    display:none;
  }

  body{
    margin:0;
    background:#fff;
  }

  .wrap{
    margin:0;
    max-width:none;
    box-shadow:none;
  }

  .total-label{
    font-size:20px;
    font-weight:800;
    color:#111;
    background:#fafafa;
  }

  .total-price{
    font-size:22px;
    font-weight:900;
    color:#c62828;
    background:#fafafa;
  }

  .print-only{
    display:none;
  }

  .screen-only{
    display:none;
  }

  .print-only{
    display:inline;
  }
}
.offer-doc-wrap {
  max-width: 920px;
  font-size: 12.5px;
  line-height: 1.4;
}


.offer-doc-wrap .box {
  padding: 9px 10px;
  margin-top: 10px;
}

.offer-doc-wrap .client-box {
  font-size: 12.5px;
}

.offer-doc-wrap .prod-name {
  font-size: 12.5px;
  line-height: 1.25;
  margin-bottom: 2px;
}

.offer-doc-wrap .prod-mini {
  font-size: 11px;
  line-height: 1.3;
}

.offer-doc-wrap .total-label {
  font-size: 12.5px;
  font-weight: 800;
}

.offer-doc-wrap .total-price {
  font-size: 13px;
  font-weight: 800;
}

.offer-doc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 14px;
}

.offer-doc-config {
  margin-bottom: 18px;
  padding: 16px;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #f8fafc;
  box-shadow: 0 8px 20px rgba(15,23,42,.06);
}

.offer-doc-config h2 {
  margin: 0 0 6px;
  font-size: 20px;
  color: #111827;
}

.offer-doc-config p {
  margin: 0 0 14px;
  color: #64748b;
  font-size: 14px;
  line-height: 1.5;
}

.offer-doc-config-list {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
}

.offer-doc-config-item {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 130px 150px auto;
  gap: 10px;
  align-items: end;
  padding: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #fff;
}

.offer-doc-config-item strong,
.offer-doc-config-item span,
.offer-doc-config label {
  display: block;
}

.offer-doc-config-item strong {
  color: #111827;
  font-size: 14px;
  line-height: 1.3;
}

.offer-doc-config-item span {
  margin-top: 4px;
  color: #64748b;
  font-size: 13px;
}

.offer-doc-config label {
  color: #111827;
  font-size: 13px;
  font-weight: 800;
}

.offer-doc-config input[type="text"],
.offer-doc-config input[type="number"],
.offer-doc-config textarea {
  width: 100%;
  box-sizing: border-box;
  margin-top: 5px;
  padding: 10px 11px;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  background: #fff;
  font-size: 14px;
  font-family: inherit;
}

.offer-doc-check {
  display: flex !important;
  align-items: center;
  gap: 8px;
  min-height: 42px;
}

.offer-doc-check input {
  width: auto;
  margin: 0;
}

.offer-serial-fields {
  display: none;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.offer-serial-fields.is-open {
  display: grid;
}

.offer-doc-config-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.offer-doc-wide {
  grid-column: 1 / -1;
}

.offer-doc-table th,
.offer-doc-table td {
  padding: 7px 9px;
  font-size: 12px;
}

.offer-doc-terms ul {
  margin: 0;
  padding-left: 18px;
  line-height: 1.65;
}

.offer-protocol-work {
  padding: 8px 10px;
}

.offer-protocol-work-title {
  margin-bottom: 4px;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 800;
}

.offer-protocol-work-text {
  white-space: pre-wrap;
  font-size: 11.5px;
  line-height: 1.35;
  font-weight: 500;
}

.offer-sign-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 12px;
}

.offer-sign-table td {
  width: 50%;
  height: 78px;
  padding: 9px 10px;
  border: 1px solid #dcdcdc;
  vertical-align: top;
  font-size: 12px;
  line-height: 1.45;
}

@media (max-width: 760px) {
  .offer-doc-wrap {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 10px;
    box-sizing: border-box;
    font-size: 12px;
  }

  .offer-doc-actions {
    position: sticky;
    top: 0;
    z-index: 20;
    margin: -10px -10px 12px;
    padding: 10px;
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid #e5e7eb;
    box-shadow: 0 8px 18px rgba(15,23,42,.08);
  }

  .offer-doc-actions button,
  .offer-doc-actions a,
  .offer-doc-config .btn {
    width: 100%;
    min-height: 46px;
    justify-content: center;
    text-align: center;
    font-size: 15px;
  }

  .offer-doc-config {
    margin-bottom: 12px;
    padding: 12px;
    border-radius: 14px;
  }

  .offer-doc-config h2 {
    font-size: 17px;
  }

  .offer-doc-config p {
    margin-bottom: 12px;
    font-size: 13px;
    line-height: 1.4;
  }

  .offer-doc-config-item,
  .offer-doc-config-grid,
  .offer-serial-fields {
    grid-template-columns: 1fr;
  }

  .offer-doc-config-item {
    gap: 9px;
    padding: 11px;
    border-radius: 12px;
  }

  .offer-doc-config input[type="text"],
  .offer-doc-config input[type="number"],
  .offer-doc-config textarea {
    min-height: 46px;
    padding: 11px 12px;
    font-size: 16px;
  }

  .offer-doc-config textarea {
    min-height: 140px;
  }

  .offer-doc-check {
    min-height: 46px;
    padding: 9px 10px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
  }

  .offer-serial-fields {
    gap: 7px;
  }

  .offer-meta-center {
    font-size: 12px;
  }

  .offer-doc-title {
    max-width: 100%;
    font-size: 15px;
    white-space: normal;
  }

  .offer-doc-table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 10px;
  }

  .offer-doc-table th,
  .offer-doc-table td {
    min-width: 74px;
    padding: 7px 8px;
    font-size: 11.5px;
  }

  .offer-doc-wrap .prod-name {
    font-size: 12px;
  }

  .offer-doc-wrap .prod-mini {
    font-size: 10.5px;
  }

  .offer-sign-table,
  .offer-sign-table tbody,
  .offer-sign-table tr,
  .offer-sign-table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  .offer-sign-table td + td {
    border-top: 0;
  }
}

@media (max-width: 430px) {
  .offer-doc-wrap {
    padding: 8px;
  }

  .offer-doc-actions {
    margin: -8px -8px 10px;
    padding: 8px;
  }

  .offer-doc-config {
    padding: 10px;
  }

  .offer-doc-config-item {
    padding: 10px;
  }


  .offer-protocol-work-text {
    font-size: 11px;
  }
}

@media print{
  @page {
    size: A4;
    margin: 12mm 11mm 14mm;
  }

  .offer-protocol-page a[href]::after,
  .offer-protocol-page a[href]::before,
  .offer-doc-wrap a[href]::after,
  .offer-doc-wrap a[href]::before{
    content:none !important;
    display:none !important;
  }

  .total-label{
    font-size:13px;
    font-weight:700;
    background:#fafafa;
  }

  .total-price{
    font-size:14px;
    font-weight:800;
    background:#fafafa;
  }

  .offer-doc-config,
  .offer-doc-actions {
    display: none !important;
  }

  .offer-doc-wrap {
    max-width: none;
    margin: 0;
    padding: 10mm;
  }
}.table th,
.table td{
  padding:8px 10px;
  vertical-align:top;
  border:none;
}

.total-label{
  font-size:14px;
  font-weight:700;
  color:#111;
  background:#f7f7f7;
}

.total-price{
  font-size:15px;
  font-weight:800;
  color:#c62828;
  background:#f7f7f7;
}

@media print{
  .table th,
  .table td{
    padding:6px 8px;
  }

  .total-label{
    font-size:13px;
    font-weight:700;
    background:#fafafa;
  }

  .total-price{
    font-size:14px;
    font-weight:800;
    background:#fafafa;
  }
}
.table tr:has(.total-label) td,
.table tr:has(.total-price) td{
  padding-top:6px;
  padding-bottom:6px;
}
.product-sku{
  margin: 6px 0 10px;
  font-size: 14px;
  font-weight: 700;
  color: #64748b;
}
.brand-logo.big{
  display: block;
  margin: 0 0 14px 0;
  padding: 0;
  line-height: 0;
  position: static;
  transform: none;
}

.brand-logo.big img{
  display: block;
  width: auto;
  height: auto;
  max-width: 100px;
  max-height: 56px;
  object-fit: contain;
  position: static;
  inset: auto;
  margin: 0;
}
.company-name{
  font-size:28px; /* беше ~24 */
  font-weight:800;
  color:#c62828;
  margin-bottom:6px;
  line-height:1.2;
}
/* ===== About page ===== */
.about-page {
  padding-top: 18px;
  padding-bottom: 40px;
}

.about-title {
  margin: 0;
  font-size: clamp(32px, 4vw, 46px);
  line-height: 1.1;
  font-weight: 800;
  color: #111827;
}

.about-kicker {
  display: inline-block;
  margin-bottom: 12px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(225, 29, 46, 0.08);
  color: #b91c1c;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.about-hero {
  margin-bottom: 28px;
  border: 1px solid #e5e7eb;
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(225, 29, 46, 0.08), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

.about-hero-inner {
  padding: 34px 28px;
}

.about-hero-text {
  max-width: 900px;
}

.about-lead,
.about-sublead {
  margin: 0 0 14px;
  color: #475569;
  font-size: 17px;
  line-height: 1.75;
}

.about-sublead {
  margin-bottom: 22px;
}

.about-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}

.about-actions-center {
  justify-content: center;
}

.btn.btn-dark {
  background: #111827;
  border-color: #111827;
  color: #fff;
}

.btn.btn-dark:hover {
  background: #000;
  border-color: #000;
  color: #fff;
}

.about-badges {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 26px;
}

.about-badge {
  padding: 18px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.about-badge strong {
  display: block;
  margin-bottom: 6px;
  color: #111827;
  font-size: 20px;
  font-weight: 800;
}

.about-badge span {
  display: block;
  color: #64748b;
  font-size: 14px;
  line-height: 1.5;
}

.about-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.about-grid-top {
  margin-bottom: 22px;
}

.about-card,
.about-extra,
.about-cta {
  border: 1px solid #e5e7eb;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.about-card {
  padding: 26px 22px;
}

.about-card h2,
.about-extra h2,
.about-cta h2 {
  margin: 0 0 14px;
  color: #111827;
  font-size: 26px;
  line-height: 1.2;
  font-weight: 800;
}

.about-card h3 {
  margin: 0 0 10px;
  color: #111827;
  font-size: 20px;
  line-height: 1.3;
  font-weight: 800;
}

.about-card p,
.about-extra p,
.about-cta p {
  margin: 0 0 14px;
  color: #475569;
  font-size: 16px;
  line-height: 1.75;
}

.about-list {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.about-list li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 12px;
  color: #334155;
  line-height: 1.65;
}

.about-list li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 0;
  color: #dc2626;
  font-weight: 800;
}

.about-extra {
  margin-top: 22px;
  padding: 28px 22px;
}

.about-extra-accent {
  background: linear-gradient(135deg, #fff 0%, #fff7f7 100%);
}

.about-section-head {
  margin-bottom: 18px;
}

.about-section-head p {
  margin-bottom: 0;
}

.about-features {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.about-steps {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.about-feature {
  position: relative;
  padding: 22px 18px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.about-feature strong {
  display: block;
  margin-bottom: 8px;
  color: #111827;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.35;
}

.about-feature span {
  display: block;
  color: #64748b;
  font-size: 15px;
  line-height: 1.65;
}

.about-feature-num {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin-bottom: 14px;
  border-radius: 50%;
  background: #e11d2e;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 800;
  line-height: 1;
}

.about-cta {
  margin-top: 24px;
  padding: 34px 22px;
  background: linear-gradient(135deg, #111827 0%, #1f2937 100%);
}

.about-cta-content {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

.about-cta h2,
.about-cta p {
  color: #fff;
}

.about-cta p {
  opacity: .92;
}

@media (max-width: 991px) {
  .about-badges,
  .about-features,
  .about-steps,
  .about-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767px) {
  .about-page {
    padding-top: 10px;
    padding-bottom: 28px;
  }

  .about-hero-inner,
  .about-card,
  .about-extra,
  .about-cta {
    padding: 22px 16px;
  }

  .about-badges,
  .about-features,
  .about-steps,
  .about-grid {
    grid-template-columns: 1fr;
  }

  .about-actions,
  .about-actions-center {
    justify-content: stretch;
  }

  .about-actions .btn {
    width: 100%;
    text-align: center;
  }

  .about-title {
    font-size: 32px;
  }

  .about-card h2,
  .about-extra h2,
  .about-cta h2 {
    font-size: 24px;
  }

  .about-card h3 {
    font-size: 18px;
  }

  .about-lead,
  .about-sublead,
  .about-card p,
  .about-extra p,
  .about-cta p,
  .about-list li,
  .about-feature span {
    font-size: 15px;
  }
}

/* ===== About page trust refresh ===== */
.about-page-pro {
  padding-top: 18px;
}

.about-first-grid {
  margin-bottom: 22px;
}

.about-intro-split {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
  gap: 22px;
  align-items: stretch;
}

.about-intro-split .about-hero-media {
  display: block !important;
  min-height: 360px;
  margin: 0;
  overflow: hidden;
  border-radius: 22px;
  background: #0f172a;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .14);
}

.about-intro-split .about-hero-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.about-card-dark .about-kicker-dark {
  background: rgba(255,255,255,.10);
  color: #fff;
}

.about-card-dark h1 {
  margin: 0 0 14px;
  color: #fff;
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: 0;
}

.about-hero-pro {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
  gap: 26px;
  align-items: stretch;
  padding: 24px;
}

.about-hero-pro .about-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.about-hero-pro .about-title {
  font-size: clamp(34px, 3.5vw, 52px);
  letter-spacing: 0;
}

.about-hero-pro .about-lead {
  max-width: 760px;
  margin-top: 18px;
  font-size: 18px;
}

.about-hero-pro .about-hero-media {
  display: block !important;
  position: relative;
  min-height: 360px;
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  background: #0f172a;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .18);
}

.about-visual-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr);
  gap: 22px;
  align-items: stretch;
  margin-bottom: 22px;
  padding: 22px;
  border: 1px solid #e5e7eb;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.about-page .about-visual-panel .about-hero-media {
  display: block !important;
  min-height: 320px;
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  background: #0f172a;
}

.about-visual-panel .about-hero-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.about-visual-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.about-visual-copy h2 {
  margin: 0 0 12px;
  color: #111827;
  font-size: clamp(26px, 2.4vw, 36px);
  line-height: 1.15;
  font-weight: 900;
  letter-spacing: 0;
}

.about-visual-copy p {
  margin: 0;
  color: #475569;
  font-size: 16px;
  line-height: 1.7;
}

.about-visual-panel-compact {
  grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
}

.about-visual-panel-compact .about-card {
  box-shadow: none;
}

.btn-pulse {
  animation: aboutPulse 1.8s ease-in-out infinite;
}

.product-inline-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 6px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #d71920;
  color: #fff !important;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(215,25,32,.22);
}

@keyframes aboutPulse {
  0%, 100% {
    box-shadow: 0 10px 24px rgba(225, 29, 46, .20);
    transform: translateY(0);
  }
  50% {
    box-shadow: 0 14px 34px rgba(225, 29, 46, .38);
    transform: translateY(-1px);
  }
}

.about-hero-pro .about-hero-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.about-badges-pro {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.about-proof-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 22px;
}

.about-proof-strip div {
  padding: 16px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .05);
}

.about-proof-strip strong,
.about-proof-strip span {
  display: block;
}

.about-proof-strip strong {
  color: #111827;
  font-size: 18px;
  font-weight: 900;
}

.about-proof-strip span {
  margin-top: 4px;
  color: #64748b;
  font-size: 14px;
  line-height: 1.45;
}

.about-extra-tight {
  margin-top: 0;
}

.about-features-pro {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.about-card-dark {
  background:
    linear-gradient(135deg, rgba(17,24,39,.96), rgba(31,41,55,.94)),
    #111827;
}

.about-card-dark h2,
.about-card-dark p {
  color: #fff;
}

.about-card-dark p {
  opacity: .88;
}

.about-card-checks .about-list {
  margin-top: 6px;
}

.about-object-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.about-object-list span {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 9px 14px;
  border: 1px solid rgba(225, 29, 46, .14);
  border-radius: 999px;
  background: #fff;
  color: #111827;
  font-weight: 800;
}

.about-live-proof {
  background:
    linear-gradient(135deg, rgba(15,23,42,.04), rgba(225,29,46,.05)),
    #fff;
}

.about-live-proof .about-section-head {
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.about-live-camera-grid {
  margin-top: 20px;
}

.about-live-camera-grid .live-camera-card {
  min-height: 260px;
}

.about-faq-compact .about-card {
  padding: 20px;
  box-shadow: none;
}

.about-faq-compact .about-card p {
  margin-bottom: 0;
}

@media (max-width: 1100px) {
  .about-hero-pro {
    grid-template-columns: 1fr;
  }

  .about-visual-panel {
    grid-template-columns: 1fr;
  }

  .about-intro-split {
    grid-template-columns: 1fr;
  }

  .about-hero-pro .about-hero-media {
    min-height: auto;
    aspect-ratio: 16 / 9;
  }

  .about-proof-strip,
  .about-features-pro {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .about-hero-pro {
    padding: 16px;
    gap: 18px;
  }

  .about-hero-pro .about-title {
    font-size: 31px;
  }

  .about-hero-pro .about-lead {
    font-size: 15px;
  }

  .about-proof-strip,
  .about-features-pro {
    grid-template-columns: 1fr;
  }

  .about-visual-panel {
    padding: 16px;
  }

  .about-intro-split .about-hero-media {
    min-height: auto;
    aspect-ratio: 16 / 9;
  }

  .about-page .about-visual-panel .about-hero-media {
    min-height: auto;
    aspect-ratio: 16 / 9;
  }
}
/* ===== Service city page ===== */
.service-city-page {
  padding-top: 18px;
  padding-bottom: 42px;
}

.service-city-hero {
  margin-bottom: 24px;
  border: 1px solid #e5e7eb;
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(225, 29, 46, 0.10), transparent 32%),
    linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

.service-city-hero-inner {
  max-width: 980px;
  margin: 0 auto;
  padding: 40px 28px 34px;
  text-align: center;
}

.service-city-kicker {
  display: inline-block;
  margin-bottom: 14px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(225, 29, 46, 0.08);
  color: #b91c1c;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.service-city-hero h1 {
  margin: 0 0 16px;
  color: #111827;
  font-size: clamp(32px, 4.4vw, 52px);
  line-height: 1.08;
  font-weight: 800;
}

.service-city-lead,
.service-city-sublead {
  max-width: 860px;
  margin: 0 auto 14px;
  color: #475569;
  font-size: 17px;
  line-height: 1.8;
}

.service-city-sublead {
  margin-bottom: 22px;
}

.service-city-note {
  margin-top: 14px;
}

.service-city-badges {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
}

.service-city-badge {
  padding: 18px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.service-city-badge strong {
  display: block;
  margin-bottom: 6px;
  color: #111827;
  font-size: 18px;
  font-weight: 800;
}

.service-city-badge span {
  display: block;
  color: #64748b;
  font-size: 14px;
  line-height: 1.5;
}

.service-quick-contact {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 18px;
}

.btn.btn-cta {
  min-height: 48px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
}

.btn.btn-light {
  background: #fff;
  border: 1px solid #d7dbe3;
  color: #111827;
}

.btn.btn-light:hover {
  background: #f8fafc;
  color: #111827;
}

.center-text {
  text-align: center;
}

.service-section {
  margin-top: 22px;
  padding: 28px 22px;
  border: 1px solid #e5e7eb;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.service-section-accent {
  background: linear-gradient(135deg, #fff 0%, #fff7f7 100%);
}

.service-section-head {
  margin-bottom: 18px;
}

.service-section-head-center {
  max-width: 900px;
  margin: 0 auto 22px;
  text-align: center;
}

.service-section-head h2 {
  margin: 0 0 12px;
  color: #111827;
  font-size: 32px;
  line-height: 1.2;
  font-weight: 800;
}

.service-section-head p {
  margin: 0;
  color: #475569;
  font-size: 16px;
  line-height: 1.8;
}

.service-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.service-cards-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.service-card {
  padding: 22px 18px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.service-card-wide {
  max-width: 980px;
  margin: 0 auto;
}

.service-card h3 {
  margin: 0 0 10px;
  color: #111827;
  font-size: 21px;
  line-height: 1.3;
  font-weight: 800;
  text-align: center;
}

.service-card p {
  margin: 0 0 12px;
  color: #475569;
  font-size: 16px;
  line-height: 1.75;
}

.service-steps-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.service-step-card {
  padding: 22px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
  text-align: center;
}

.service-step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-bottom: 14px;
  border-radius: 50%;
  background: #e11d2e;
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
}

.service-step-card h3 {
  margin: 0 0 10px;
  color: #111827;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 800;
}

.service-step-card p {
  margin: 0;
  color: #64748b;
  font-size: 15px;
  line-height: 1.7;
}

.service-check-list,
.service-link-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.service-check-list li,
.service-link-list li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 12px;
  color: #334155;
  line-height: 1.65;
}

.service-check-list li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 0;
  color: #dc2626;
  font-weight: 800;
}

.service-link-list li::before {
  content: "\2192";
  position: absolute;
  left: 0;
  top: 0;
  color: #dc2626;
  font-weight: 800;
}

.service-link-list a,
.service-card a {
  color: #b91c1c;
  text-decoration: none;
}

.service-link-list a:hover,
.service-card a:hover {
  text-decoration: underline;
}

.service-cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 22px;
}

.service-cta-bottom {
  margin-top: 24px;
}

.seo-links-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.seo-link-card {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 72px;
  padding: 16px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
  color: #111827;
  text-align: center;
  text-decoration: none;
  font-weight: 700;
  line-height: 1.5;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.seo-link-card:hover {
  transform: translateY(-3px);
  border-color: #fecaca;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
  color: #b91c1c;
}

.home-seo-brand-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 6px;
}

.home-seo-brand-links a {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-height: 86px;
  padding: 16px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
  color: #0f172a;
  text-decoration: none;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.055);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.home-seo-brand-links a:hover {
  transform: translateY(-2px);
  border-color: #fecaca;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.home-seo-brand-links strong {
  color: #0f172a;
  font-size: 16px;
  font-weight: 950;
  line-height: 1.25;
}

.home-seo-brand-links span {
  color: #64748b;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

.modern-faq {
  max-width: 900px;
  margin: 0 auto;
}

.faq-item {
  margin-bottom: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
}

.faq-item summary {
  position: relative;
  padding: 18px 48px 18px 18px;
  color: #111827;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
  cursor: pointer;
  list-style: none;
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-item summary::after {
  content: "+";
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  color: #dc2626;
  font-size: 24px;
  font-weight: 400;
}

.faq-item[open] summary::after {
  content: "–";
}

.faq-body {
  padding: 0 18px 18px;
  color: #64748b;
  font-size: 15px;
  line-height: 1.75;
}

.small-muted {
  color: #64748b;
  font-size: 14px;
  line-height: 1.6;
}

@media (max-width: 1199px) {
  .service-steps-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .service-city-badges,
  .service-cards-grid,
  .service-cards-grid-2,
  .seo-links-grid,
  .service-steps-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-section-head h2 {
    font-size: 28px;
  }
}

@media (max-width: 767px) {
  .service-city-page {
    padding-top: 10px;
    padding-bottom: 28px;
  }

  .service-city-hero-inner,
  .service-section {
    padding: 22px 16px;
  }

	  .service-city-badges,
	  .service-cards-grid,
	  .service-cards-grid-2,
	  .home-seo-brand-links,
	  .seo-links-grid,
	  .service-steps-grid {
	    grid-template-columns: 1fr;
	  }

  .service-quick-contact,
  .service-cta {
    flex-direction: column;
  }

  .service-quick-contact .btn,
  .service-cta .btn {
    width: 100%;
  }

  .service-city-hero h1 {
    font-size: 34px;
  }

  .service-city-lead,
  .service-city-sublead,
  .service-card p,
  .service-step-card p,
  .service-section-head p {
    font-size: 15px;
  }

  .service-section-head h2 {
    font-size: 24px;
  }

  .service-card h3,
  .service-step-card h3 {
    font-size: 18px;
  }

  .faq-item summary {
    font-size: 16px;
  }
}
.checkout-alert {
  margin: 0 0 18px;
  padding: 12px 14px;
  border-radius: 14px;
  font-weight: 600;
}

.checkout-alert-error {
  color: #991b1b;
  background: #fef2f2;
  border: 1px solid #fecaca;
}

.checkout-card-head {
  margin-bottom: 14px;
}

.checkout-card-head h3 {
  margin: 0 0 6px;
}

.checkout-main-card {
  padding-bottom: 20px;
}

.checkout-section {
  padding: 18px 0;
  border-top: 1px solid #eceff4;
}

.checkout-section:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.checkout-section-title {
  margin: 0 0 14px;
  font-size: 18px;
  font-weight: 800;
  color: #111827;
}

.checkout-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.checkout-grid .col-span-2 {
  grid-column: span 2;
}

.checkout-info-box {
  padding: 12px 14px;
  border-radius: 8px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  color: #334155;
  font-size: 14px;
}

.checkout-delivery-promise,
.cart-delivery-promise {
  margin-top: 12px;
  padding: 11px 13px;
  border-radius: 8px;
  background: #fff7ed;
  border: 1px solid rgba(234, 88, 12, .22);
  color: #7c2d12;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
}

.check-row {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  cursor: pointer;
  margin-bottom: 12px;
}

.invoice-box {
  margin-top: 10px;
  padding: 14px;
  border: 1px solid #eceff4;
  border-radius: 18px;
  background: #fafbff;
}

.checkout-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: 18px;
}

.checkout-security-note {
  margin: 16px 0 0;
  color: #6b7280;
  font-size: 14px;
}

.checkout-summary-line {
  margin: 0;
  font-size: 15px;
}

.checkout-summary-note {
  margin: 8px 0 0;
  color: #6b7280;
  font-size: 14px;
}

.checkout-total-card {
  border: 1px solid #ef4444;
  background: #fffafa;
}

.checkout-total-price {
  margin: 0;
  font-size: 28px;
  font-weight: 900;
  color: #111827;
}

.is-hidden {
  display: none !important;
}

@media (max-width: 768px) {
  .checkout-grid {
    grid-template-columns: 1fr;
  }

  .checkout-grid .col-span-2 {
    grid-column: span 1;
  }

  .checkout-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .checkout-actions .btn {
    width: 100%;
  }

  .checkout-total-price {
    font-size: 24px;
  }
}
.cart-mobile-checkout-top {
  display: none;
  margin: 0 0 16px;
}

.cart-mobile-checkout-top .btn {
  width: 100%;
  justify-content: center;
}

@media (max-width: 768px) {
  .cart-mobile-checkout-top {
    display: block;
  }
}
.tabs {
  display:flex;
  gap:10px;
  margin-bottom:20px;
}

.tab {
  padding:10px 15px;
  border-radius:10px;
  background:#eee;
  text-decoration:none;
}

.tab.active {
  background:#e11d2e;
  color:#fff;
}

.grid-2 {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}

@media(max-width:768px){
  .grid-2 {
    grid-template-columns:1fr;
  }
}
.grid-2 {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
}

.card label {
  display:block;
  font-weight:600;
  margin-top:12px;
  margin-bottom:4px;
}

.card .input {
  width:100%;
  padding:10px;
  border-radius:10px;
  border:1px solid #ddd;
}

.card h3 {
  margin-bottom:10px;
}
.account-orders-table td:last-child,
.account-orders-table th:last-child {
  white-space: nowrap;
  width: 1%;
}

.account-order-view-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 110px;
}

@media (max-width: 768px) {
  .account-orders-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .account-orders-table {
    min-width: 640px;
  }

  .account-order-view-btn {
    min-width: 96px;
    padding: 8px 12px;
    font-size: 14px;
  }
}
.btn-view {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border-radius: 999px;
  background: #e11d2e;
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.btn-view:hover {
  background: #b91c1c;
  transform: translateY(-1px);
}
.pagination {
  display: flex;
  gap: 8px;
  margin-top: 20px;
  flex-wrap: wrap;
}

.page-btn {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #e5e7eb;
  color: #111;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.2s ease;
}

.page-btn:hover {
  background: #d1d5db;
}

.page-btn.active {
  background: #e11d2e;
  color: #fff;
  box-shadow: 0 4px 10px rgba(225,29,46,0.3);
}
@media (max-width: 768px) {

  .account-mobile-fix thead {
    display: none;
  }

  .account-mobile-fix tr {
    display: block;
    margin-bottom: 12px;
    background: #fff;
    border-radius: 12px;
    padding: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  }

  .account-mobile-fix td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    border: none;
  }

  /* 👇 РАЗМЯНА */
  .account-mobile-fix td:nth-child(3) { /* СУМА */
    order: 5;
  }

  .account-mobile-fix td:nth-child(5) { /* БУТОН */
    order: 3;
  }

}.grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: start;
}

.grid-2 .card {
  padding: 24px;
}

.grid-2 .card label {
  display: block;
  margin: 12px 0 6px;
  font-weight: 700;
}

.grid-2 .card .input {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #d7dbe3;
  border-radius: 10px;
  box-sizing: border-box;
}

.tabs {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
}

.tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid #d7dbe3;
  border-radius: 14px;
  background: #eceff3;
  color: #111827;
  text-decoration: none;
  font-weight: 700;
}

.tab.active {
  background: #e11d2e;
  border-color: #e11d2e;
  color: #fff;
}

.account-orders-list {
  display: grid;
  gap: 14px;
}

.account-order-card {
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
  padding: 16px;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
}

.account-order-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.account-order-id {
  font-size: 22px;
  font-weight: 800;
  color: #111827;
}

.account-order-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  text-transform: capitalize;
}

.account-order-status.status-new {
  background: #eff6ff;
  color: #1d4ed8;
}

.account-order-status.status-processing {
  background: #fff7ed;
  color: #c2410c;
}

.account-order-status.status-completed {
  background: #ecfdf5;
  color: #047857;
}

.account-order-status.status-shipped {
  background: #f0f9ff;
  color: #0369a1;
}

.account-order-status.status-cancelled {
  background: #fef2f2;
  color: #b91c1c;
}

.account-order-meta {
  display: grid;
  gap: 10px;
  margin-bottom: 14px;
}

.account-order-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 0;
  border-top: 1px solid #f1f5f9;
}

.account-order-row:first-child {
  border-top: 0;
  padding-top: 0;
}

.account-order-row span {
  color: #64748b;
  font-weight: 600;
}

.account-order-row strong {
  color: #0f172a;
  font-weight: 800;
}

.account-order-actions {
  display: flex;
  justify-content: flex-start;
}

.btn-view {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  background: #e11d2e;
  color: #fff;
  text-decoration: none;
  font-weight: 800;
  font-size: 14px;
  box-shadow: 0 8px 20px rgba(225, 29, 46, 0.18);
  transition: transform 0.15s ease, background 0.15s ease;
}

.btn-view:hover {
  background: #be123c;
  transform: translateY(-1px);
}

.pagination {
  display: flex;
  gap: 8px;
  margin-top: 18px;
  flex-wrap: wrap;
}

.page-btn {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #e5e7eb;
  color: #111827;
  text-decoration: none;
  font-weight: 800;
}

.page-btn.active {
  background: #e11d2e;
  color: #fff;
  box-shadow: 0 8px 18px rgba(225, 29, 46, 0.2);
}

@media (max-width: 900px) {
  .grid-2 {
    grid-template-columns: 1fr;
  }
}
.home-card.is-featured {
  grid-column: auto;
  grid-row: auto;
}
@media (max-width: 768px) {
  .checkout-layout {
    display: flex;
    flex-direction: column;
  }

  .checkout-right {
    order: 1;
  }

  .checkout-left {
    order: 2;
  }
}
.account-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 20px;
}

.account-copy-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.account-copy-field .input {
  margin: 0;
  user-select: text;
  -webkit-user-select: text;
}

.account-copy-btn {
  min-height: 42px;
  padding: 9px 12px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}

.tab-logout {
  background: #111827;
  border-color: #111827;
  color: #fff;
}

.tab-logout:hover {
  background: #000;
  border-color: #000;
}

@media (max-width: 520px) {
  .account-copy-field {
    grid-template-columns: 1fr;
  }

  .account-copy-btn {
    width: 100%;
  }
}

@media (max-width: 768px) {

  .checkout-right {
    display: flex;
    flex-direction: column;
  }

  .checkout-shipping {
    order: -1; /* 👈 качва САМО този блок горе */
  }

  .checkout-payment {
    order: 0;
  }

  .checkout-summary {
    order: 2; /* 👈 остава най-долу */
  }

}

@media (max-width: 767px) {
  .home-hero h1,
  .home-intro h1,
  .page-hero h1 {
    font-size: 28px;
    line-height: 1.2;
    letter-spacing: 0.5px;
  }

  .home-hero p,
  .home-intro p,
  .page-hero p {
    font-size: 15px;
    line-height: 1.65;
  }
}
.services-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.services-grid .service-card:first-child {
  grid-column: 1 / -1;
}

@media (max-width: 991px) {
  .services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .services-grid .service-card:first-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767px) {
  .services-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .services-grid .service-card:first-child {
    grid-column: auto;
  }
}
.seo-text h3,
.seo-text--accent h3 {
  position: relative;
  padding-top: 14px;
}

.seo-text h3::before,
.seo-text--accent h3::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 3px;
  background: #e31e24;
  border-radius: 999px;
}
.seo-links {
  align-items: center;
}
.seo-big-btn{
  flex:0 0 auto; /* ключово */
}
.seo-big-btn{
  background:#e53935 !important;
  color:#fff !important;
  border:1px solid #e53935 !important;
}

/* =========================
   DESKTOP MEGA MENU — CLEAN
========================= */

.desktop-mega-wrap {
  position: relative;
  flex: 0 0 auto;
}

.desktop-burger {
  display: inline-flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  border: 0;
  background: transparent;
  cursor: pointer;
  transition: transform .18s ease;
}

.desktop-burger:hover {
  transform: scale(1.06);
}

.desktop-burger span {
  display: block;
  width: 22px;
  height: 2px;
  background: #111827;
  border-radius: 999px;
  transition: background .18s ease;
}

.desktop-burger:hover span {
  background: #dc2626;
}

.desktop-mega-menu {
  position: absolute;
  top: calc(100% + 14px);
  right: 0;
  width: min(1080px, 92vw);
  max-height: 78vh;
  overflow: auto;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 22px;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.18);
  padding: 20px;
  z-index: 2000;
  display: none;
  opacity: 0;
  transform: translateY(10px) scale(0.98);
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease;
}

.desktop-mega-menu.is-open {
  display: block;
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.desktop-mega-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.desktop-mega-title {
  font-size: 24px;
  font-weight: 800;
  color: #111827;
}

.desktop-mega-close {
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 999px;
  background: #f3f4f6;
  color: #111827;
  font-size: 22px;
  cursor: pointer;
  transition: background .18s ease, color .18s ease;
}

.desktop-mega-close:hover {
  background: #fee2e2;
  color: #b91c1c;
}

.desktop-mega-quick {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid #eef2f7;
}

.desktop-mega-quick a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  background: #f8fafc;
  color: #111827;
  text-decoration: none;
  font-weight: 700;
  transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}

.desktop-mega-quick a:hover {
  background: #fee2e2;
  color: #b91c1c;
}

.desktop-mega-quick a.is-active,
.desktop-mega-quick a.is-active:hover {
  background: #e53935 !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(229,57,53,.22);
}

.desktop-mega-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.desktop-mega-col {
  background: #fbfdff;
  border: 1px solid #edf2f7;
  border-radius: 16px;
  padding: 14px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.desktop-mega-col:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
  border-color: #fca5a5;
  background: linear-gradient(180deg, #fff, #fff5f5);
}

.desktop-mega-root {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 4px;
  color: #111827;
  text-decoration: none;
  font-size: 18px;
  font-weight: 800;
  transition: color .18s ease, transform .18s ease;
}

.desktop-mega-root:hover {
  color: #dc2626;
  transform: translateX(4px);
}

.desktop-mega-root.is-active,
.desktop-mega-root.is-active:hover {
  color: #e53935 !important;
  font-weight: 800;
}

.desktop-mega-sub {
  display: grid;
  gap: 8px;
}

.desktop-mega-sub a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: nowrap;
  color: #475569;
  text-decoration: none;
  font-size: 14px;
  line-height: 1.35;
  padding-left: 4px;
  transition: color .15s ease, padding-left .15s ease;
}

.menu-promo-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-width:34px;
  height:18px;
  padding:0 6px;
  border-radius:999px;
  background:#fff1f2;
  color:#b91c1c !important;
  border:1px solid #fecdd3;
  font-size:10px;
  font-weight:950;
  line-height:1;
  box-shadow:none;
  vertical-align:middle;
  white-space:nowrap;
}

.desktop-mega-root .menu-promo-badge {
  height:19px;
  font-size:10px;
}

.desktop-mega-sub a:hover {
  color: #dc2626;
  padding-left: 4px;
  transform: translateX(6px);
}

.desktop-mega-sub a.is-active,
.desktop-mega-sub a.is-active:hover {
  color: #e53935 !important;
  font-weight: 800;
}

@media (max-width: 1100px) {
  .desktop-mega-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .desktop-mega-wrap,
  .desktop-mega-menu {
    display: none !important;
  }
}

/* =========================
   MOBILE MENU — CLEAN FINAL
========================= */

.mobile-menu-overlay {
  display: none;
}

.mobile-menu-toggle {
  display: none !important;
}

.mobile-menu-toggle span,
.desktop-burger span {
  display: block;
  width: 22px;
  height: 2px;
  background: #111827;
  border-radius: 999px;
}

@media (max-width: 640px) {
  .desktop-mega-wrap,
  .desktop-mega-menu {
    display: none !important;
  }

  .mobile-menu-toggle {
    display: inline-flex !important;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    border: 0;
    background: transparent;
    cursor: pointer;
    margin-left: 8px;
    margin-right: 0;
    flex: 0 0 auto;
    order: 3;
  }

  .mobile-menu-overlay {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.38);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .22s ease, visibility .22s ease;
  }

  .mobile-menu-overlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .mobile-menu-panel {
    position: absolute;
    top: 0;
    left: 0;
    width: min(88vw, 360px);
    height: 100%;
    overflow-y: auto;
    padding: 14px 12px 18px;
    box-sizing: border-box;
    transform: translateX(-100%);
    transition: transform .26s ease;
    background: linear-gradient(180deg, #f8fafc 0%, #f3f4f6 100%);
    border-right: 1px solid #e5e7eb;
    box-shadow: 18px 0 40px rgba(0,0,0,.20);
  }

  .mobile-menu-overlay.is-open .mobile-menu-panel {
    transform: translateX(0);
  }

  .mobile-menu-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
  }

  .mobile-menu-title {
    color: #111827;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.1;
  }

  .mobile-menu-close {
    width: 36px;
    height: 36px;
    border: 0;
    background: transparent;
    color: #111827;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
  }

  .mobile-menu-search-row {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 8px;
    align-items: center;
    margin-bottom: 12px;
  }

  .mobile-menu-user-pill {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #ffffff;
    color: #111827;
    text-decoration: none;
    font-size: 18px;
    line-height: 1;
    border: 1px solid #d7dbe3;
    box-shadow: 0 2px 8px rgba(15,23,42,.05);
  }

  .mobile-menu-search {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    margin: 0;
  }

  .mobile-menu-search input {
    width: 100%;
    min-width: 0;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #d7dbe3;
    border-radius: 999px;
    background: #fff;
    color: #111827;
    font-size: 14px;
    outline: none;
  }

  .mobile-menu-search input::placeholder {
    color: #6b7280;
  }

  .mobile-menu-search button {
    height: 40px;
    padding: 0 14px;
    border: 0;
    border-radius: 999px;
    background: #ef3b35;
    color: #fff;
    font-weight: 800;
    font-size: 14px;
    cursor: pointer;
  }

  .mobile-menu-quick-links {
    display: grid;
    gap: 8px;
    margin: 0 0 10px;
    padding-bottom: 10px;
  }

  .mobile-menu-quick-link,
  .mobile-menu-account-btn,
  .mobile-menu-parent.mobile-products-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 14px;
    border-radius: 14px;
    background: #fff;
    color: #111827;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    border: 1px solid #e5e7eb;
    width: 100%;
    box-sizing: border-box;
    box-shadow: 0 4px 14px rgba(15,23,42,.04);
  }

  .mobile-menu-quick-link:hover,
  .mobile-menu-account-btn:hover,
  .mobile-menu-parent.mobile-products-toggle:hover {
    background: #fff1f1;
    border-color: rgba(229,57,53,.28);
    color: #b91c1c;
  }

  .mobile-menu-quick-link.is-active,
  .mobile-menu-parent.mobile-products-toggle.is-active {
    background: linear-gradient(90deg, rgba(229,57,53,.18), rgba(229,57,53,.08));
    color: #b91c1c !important;
    border-color: rgba(229,57,53,.22) !important;
    box-shadow: 0 8px 18px rgba(229,57,53,.10);
  }

 .mobile-menu-group {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,0.04);
}

  .mobile-menu-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-height: 44px;
    padding: 0 14px;
    border: 0;
    background: transparent;
    color: #111827;
    text-decoration: none;
    text-align: left;
    cursor: pointer;
    box-sizing: border-box;
  }

  .mobile-menu-link-text {
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
  }

  .mobile-menu-arrow {
    flex: 0 0 auto;
    font-size: 15px;
    color: #6b7280;
    transition: transform .22s ease;
  }

  .mobile-menu-group.is-open > .mobile-menu-link .mobile-menu-arrow,
  .mobile-menu-group.is-open > .mobile-menu-parent .mobile-menu-arrow {
    transform: rotate(45deg);
  }

  .mobile-submenu {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height .28s ease, opacity .2s ease;
    background: transparent;
    border-top: 1px solid #eef2f7;
    padding: 6px 0 8px;
  }

  .mobile-menu-group.is-open > .mobile-submenu {
    max-height: 4000px;
    opacity: 1;
  }

.mobile-submenu-link {
  background: #fff;
  color: #111827;
  border: 1px solid #f1f5f9;
  border-radius: 10px;
  padding: 12px 14px;
  margin: 5px 8px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.25;
  display: flex;
  align-items: center;
  gap: 8px;
}

.mobile-submenu-link::before {
  content: "•";
  color: #e53935;
  font-size: 16px;
  line-height: 1;
  margin-right: 2px;
}

.mobile-submenu-link:hover,
.mobile-submenu-link:active {
background: #fff5f5;
  border-color: #fecaca;
}

  .mobile-submenu-link.is-active {
    background: #fff1f1;
    color: #b91c1c;
    font-weight: 700;
  }

.mobile-submenu-link--all {
  background: #fff1f1;
  color: #b91c1c;
  border-color: rgba(229,57,53,.18);
  font-weight: 800;
}

  .mobile-menu-account {
    display: grid;
    gap: 6px;
    margin: 10px 0 0;
  }

  .mobile-menu-account-btn--dark {
    background: #0b1730;
    color: #fff;
    border-color: #0b1730;
  }

  body.menu-open {
    overflow: hidden;
  }

  .header-actions {
    margin-left: auto !important;
    order: 2;
  }

  .header-actions .pill-user {
    display: none !important;
  }
}

@media (min-width: 641px) {
  .mobile-menu-overlay {
    display: none !important;
  }
}

@media (max-width: 900px) {
  body.menu-open .mview-switch,
  body.menu-open .mview-switch-spacer,
  body.menu-open .sort-sticky,
  body.menu-open .filters-backdrop,
  body.menu-open #mfiltersPanel {
    display: none !important;
  }
}
@media (max-width: 768px) {
  body.menu-open .global-call-btn,
  body.menu-open .scroll-top-btn {
    display: none !important;
  }
}
.google-review-avatar-fallback{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  font-weight:900;
  color:#334155;
  background:#eef2f7;
}
@media (max-width: 640px){
  .header-logout-btn{
    display:none;
  }
}
.password-wrap{
  position:relative;
}

.password-wrap .password-input{
  padding-right:48px;
}

.password-toggle{
  position:absolute;
  top:50%;
  right:12px;
  transform:translateY(-50%);
  width:32px;
  height:32px;
  border:0;
  background:transparent;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  line-height:1;
  color:#64748b;
  padding:0;
}

.password-toggle:hover{
  color:#111827;
}
.contact-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: start;
}

.contact-form-card {
  order: 1;
}

.contact-info-card {
  order: 2;
}

.contact-info-card .company-name {
  margin: 0 0 18px;
  font-size: 20px;
  font-weight: 700;
  color: #d62828;
}

.contact-rows {
  display: grid;
  gap: 14px;
  margin-bottom: 20px;
}

.contact-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.contact-ico {
  flex: 0 0 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
}

.contact-val {
  flex: 1 1 auto;
}

.contact-phones {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.contact-phones a,
.contact-email a {
  text-decoration: none;
}

.map-wrap {
  margin-top: 18px;
  border-radius: 16px;
  overflow: hidden;
}

.map-wrap iframe {
  display: block;
  width: 100%;
  height: 320px;
  border: 0;
}

@media (max-width: 768px) {
  .contact-layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .contact-info-card {
    order: 1;
  }

  .contact-form-card {
    order: 2;
  }

  .map-wrap iframe {
    height: 260px;
  }
}
.mobile-menu-search-row{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

.mobile-menu-search{
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.mobile-menu-search input{
  flex: 1 1 auto;
  min-width: 0;
}

.mobile-menu-search button{
  flex: 0 0 auto;
  white-space: nowrap;
}

.mobile-menu-user-pill{
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.mobile-menu-link:active,
.mobile-submenu-link:active {
  transform: scale(0.98);
  background: #f3f3f3;
}
.mobile-menu-link:hover,
.mobile-submenu-link:hover {
  background: #f7f7f7;
}
.mobile-menu-user-pill {
  background: #f1f3f5;
  border-radius: 50%;
  font-size: 18px;
}
.mobile-menu-quick-links {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.mobile-menu-quick-link,
.mobile-menu-link {
  display: flex;
  align-items: center;
  gap: 12px;
}

.mobile-menu-icon {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: currentColor;
}

.mobile-menu-icon svg {
  width: 22px;
  height: 22px;
  display: block;
  fill: currentColor;
  stroke: currentColor;
}

.mobile-menu-link-text {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
}

.mobile-menu-link-text .menu-promo-badge,
.mobile-submenu-link .menu-promo-badge,
.mobile-menu-link > .menu-promo-badge {
  margin-left: 6px;
}

.mobile-user-icon {
  width: 20px;
  height: 20px;
  display: block;
  fill: currentColor;
}
.mobile-submenu-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #fff;
  color: #1f2937;
  text-decoration: none;
  font-weight: 600;
  line-height: 1.25;
  transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.mobile-submenu-link::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ef4444;
  flex: 0 0 6px;
}

.mobile-submenu-link:hover,
.mobile-submenu-link:active {
  background: #f9fafb;
  border-color: #f3b1b1;
  color: #111827;
  text-decoration: none;
}

.mobile-submenu-link.is-active {
  background: #fff5f5;
  border-color: #f2b8b8;
  color: #c81e1e;
}

.mobile-submenu-link--all {
  background: #fff5f5;
  border-color: #f2b8b8;
  color: #c81e1e;
  font-weight: 700;
}

.mobile-submenu-link--all::before {
  background: #c81e1e;
}
/* SUBMENU ANIMATION */
.mobile-submenu {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-5px);
  transition: max-height .35s ease, opacity .25s ease, transform .25s ease;
}

/* когато е отворено */
.mobile-menu-group.is-open > .mobile-submenu {
  max-height: 1000px; /* достатъчно голямо */
  opacity: 1;
  transform: translateY(0);
}
.mobile-menu-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.35);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
  z-index: 9999;
}

.mobile-menu-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}
.mobile-menu-panel {
  transform: translateX(-100%);
  transition: transform .35s ease;
}

.mobile-menu-overlay.is-open .mobile-menu-panel {
  transform: translateX(0);
}
.mobile-menu-panel {
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 20px 60px rgba(15, 23, 42, 0.18);
  border-right: 1px solid rgba(255,255,255,0.45);
}
.mobile-menu-panel {
  transform: translateX(-24px);
  opacity: 0;
  transition: transform .35s ease, opacity .35s ease;
}

.mobile-menu-overlay.is-open .mobile-menu-panel {
  transform: translateX(0);
  opacity: 1;
}
.mobile-menu-quick-link.is-active .mobile-menu-icon,
.mobile-menu-link.is-active .mobile-menu-icon {
  color: #dc2626;
}

.mobile-menu-quick-link:not(.is-active) .mobile-menu-icon,
.mobile-menu-link:not(.is-active) .mobile-menu-icon {
  color: #111827;
}
.mobile-menu-quick-link,
.mobile-menu-link,
.mobile-submenu-link,
.mobile-menu-account-btn {
  transition:
    background .2s ease,
    border-color .2s ease,
    color .2s ease,
    transform .15s ease,
    box-shadow .2s ease;
}

.mobile-menu-quick-link:hover,
.mobile-menu-link:hover,
.mobile-submenu-link:hover,
.mobile-menu-account-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}

.mobile-menu-quick-link:active,
.mobile-menu-link:active,
.mobile-submenu-link:active,
.mobile-menu-account-btn:active {
  transform: scale(0.985);
}
.mobile-menu-search button {
  box-shadow: 0 10px 20px rgba(239, 68, 68, 0.22);
  transition: transform .15s ease, box-shadow .2s ease, background .2s ease;
}

.mobile-menu-search button:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 24px rgba(239, 68, 68, 0.28);
}

.mobile-menu-search button:active {
  transform: scale(0.98);
}
.mobile-menu-quick-links > * {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .28s ease, transform .28s ease;
}

.mobile-menu-overlay.is-open .mobile-menu-quick-links > * {
  opacity: 1;
  transform: translateY(0);
}

.mobile-menu-overlay.is-open .mobile-menu-quick-links > *:nth-child(1) { transition-delay: .04s; }
.mobile-menu-overlay.is-open .mobile-menu-quick-links > *:nth-child(2) { transition-delay: .07s; }
.mobile-menu-overlay.is-open .mobile-menu-quick-links > *:nth-child(3) { transition-delay: .10s; }
.mobile-menu-overlay.is-open .mobile-menu-quick-links > *:nth-child(4) { transition-delay: .13s; }
.mobile-menu-overlay.is-open .mobile-menu-quick-links > *:nth-child(5) { transition-delay: .16s; }
.mobile-menu-overlay.is-open .mobile-menu-quick-links > *:nth-child(6) { transition-delay: .19s; }
.mobile-menu-overlay.is-open .mobile-menu-quick-links > *:nth-child(7) { transition-delay: .22s; }
.mobile-menu-overlay.is-open .mobile-menu-quick-links > *:nth-child(8) { transition-delay: .25s; }
.mobile-menu-quick-link.is-active,
.mobile-menu-link.is-active {
  background: linear-gradient(180deg, #fff5f5 0%, #fff1f1 100%);
  border-color: #f3b1b1;
  color: #cf2020;
  box-shadow: 0 10px 22px rgba(220, 38, 38, 0.08);
}
.mobile-menu-arrow {
  transition: transform .2s ease;
}

.mobile-menu-group.is-open > .mobile-menu-link .mobile-menu-arrow,
.mobile-menu-group.is-open > .mobile-menu-quick-link .mobile-menu-arrow {
  transform: rotate(45deg);
}
.error404-page {
  padding: 60px 0 70px;
  background: #fff;
}

.error404-wrap {
  display: grid;
  grid-template-columns: 1.25fr 0.85fr;
  gap: 70px;
  align-items: center;
}

.error404-visual {
  position: relative;
  text-align: left;
}

.error404-number {
  font-size: clamp(120px, 16vw, 230px);
  font-weight: 900;
  line-height: 0.85;
  letter-spacing: -10px;
  color: #34383d;
}

.error404-number .red {
  color: #e30613;
}

.error404-camera {
  max-width: 260px;
  margin: -55px 0 25px 145px;
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 18px 45px rgba(0,0,0,0.08);
  padding: 24px;
}

.error404-camera img {
  width: 100%;
  height: auto;
  display: block;
}

.error404-visual h1 {
  margin: 0 0 12px;
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 900;
  text-transform: uppercase;
  color: #20242a;
}

.error404-visual p {
  max-width: 560px;
  font-size: 17px;
  line-height: 1.6;
  color: #555;
}

.error404-actions {
  border-left: 1px solid #eee;
  padding-left: 55px;
}

.error404-small-title {
  display: inline-block;
  font-size: 38px;
  font-weight: 900;
  color: #20242a;
  margin-bottom: 12px;
}

.error404-small-title::after {
  content: "";
  display: block;
  width: 44px;
  height: 4px;
  background: #e30613;
  border-radius: 20px;
  margin-top: 10px;
}

.error404-text {
  font-size: 17px;
  line-height: 1.6;
  color: #555;
  margin-bottom: 28px;
}

.error404-actions h2 {
  font-size: 24px;
  font-weight: 900;
  margin: 0 0 20px;
  text-transform: uppercase;
  color: #20242a;
}

.error404-links {
  display: grid;
  gap: 12px;
  margin-bottom: 22px;
}

.error404-links a {
  display: grid;
  grid-template-columns: 34px 1fr 18px;
  align-items: center;
  gap: 12px;
  padding: 15px 18px;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 10px;
  text-decoration: none;
  color: #20242a;
  box-shadow: 0 6px 18px rgba(0,0,0,0.05);
  transition: 0.2s ease;
}

.error404-links a:hover {
  transform: translateY(-2px);
  border-color: #e30613;
}

.error404-links b {
  color: #e30613;
  font-size: 24px;
  line-height: 1;
}

.error404-icon {
  font-size: 22px;
  color: #20242a;
}

.error404-home-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 17px 24px;
  border-radius: 10px;
  background: #e30613;
  color: #fff;
  text-decoration: none;
  font-weight: 900;
  text-transform: uppercase;
  box-shadow: 0 10px 22px rgba(227,6,19,0.25);
}

.error404-home-btn:hover {
  background: #c9000b;
  color: #fff;
}

@media (max-width: 900px) {
  .error404-wrap {
    grid-template-columns: 1fr;
    gap: 35px;
  }

  .error404-actions {
    border-left: 0;
    padding-left: 0;
  }

  .error404-camera {
    margin-left: 80px;
  }
}

@media (max-width: 560px) {
  .error404-page {
    padding: 35px 0 45px;
  }

  .error404-number {
    letter-spacing: -5px;
  }

  .error404-camera {
    max-width: 190px;
    margin: -35px auto 22px;
  }

  .error404-visual,
  .error404-actions {
    text-align: center;
  }

  .error404-visual p {
    margin-left: auto;
    margin-right: auto;
  }

  .error404-links a {
    text-align: left;
  }
}
.product-page .mview-switch:not(.is-floating) .mview-cart,
.product-page .mview-switch:not(.is-floating) .mview-menu,
.product-page .mview-switch:not(.is-floating) .mview-promo-row,
.products-page .mview-switch:not(.is-floating) .mview-cart,
.products-page .mview-switch:not(.is-floating) .mview-menu,
.products-page .mview-switch:not(.is-floating) .mview-promo-row {
  display: none !important;
}

.mview-switch {
  transition: transform 0.45s ease, opacity 0.45s ease;
}
.mview-switch {
  transition: transform 0.35s ease, opacity 0.35s ease;
}

.mview-switch.is-floating {
  position: fixed;
  top: 10px;
  left: 10px;
  right: 10px;
  z-index: 999;
  transform: translateY(-120%);
  opacity: 0;
}

.mview-switch.is-floating.is-visible {
  transform: translateY(0);
  opacity: 1;
}
.mview-cart-count.is-empty {
  display:none !important;
}
/* Product page SEO text under image */
.product-left .product-seo-text {
    margin-top: 18px;
    padding: 18px 20px;
    background: #fff;
    border: 1px solid #e4e9f2;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
    font-size: 15px;
    line-height: 1.55;
    color: #334155;
}

/* Category link under product title */
.product-category-link {
    margin: 8px 0 14px;
    font-size: 14px;
    color: #64748b;
}

.product-category-link a {
    display: inline-flex;
    align-items: center;
    padding: 5px 11px;
    margin-left: 4px;
    border-radius: 999px;
    background: #f1f5f9;
    border: 1px solid #dbe3ef;
    color: #0f172a;
    text-decoration: none;
    font-weight: 700;
}

.product-category-link a:hover {
    background: #e60023;
    border-color: #e60023;
    color: #fff;
    text-decoration: none;
}
.product-seo-links {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #e5e7eb;
    font-size: 14px;
    color: #64748b;
}

.product-seo-links a {
    color: #111827;
    font-weight: 700;
    text-decoration: none;
}

.product-seo-links a:hover {
    color: #e60023;
}

.product-seo-heading {
    margin: 24px 0 12px;
    font-size: 22px;
    line-height: 1.25;
    color: #111827;
}
.product-page .buy-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.product-page .buy-row .btn-cart {
    margin-top: 0;
}
.product-page .buy-row {
    flex-wrap: nowrap;
}
.product-page .qty {
    display: flex;
    align-items: center;
    gap: 8px;
}

.product-page .qty span {
    font-weight: 600;
    color: #374151;
    white-space: nowrap;
}

.product-page .qty input {
    width: 70px;
    height: 38px;
    border-radius: 8px;
    border: 1px solid #d1d5db;
    text-align: center;
    font-weight: 600;
}
/* PRODUCT MOBILE FIX - no right cut */
@media (max-width: 768px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .product-wrap,
  .product-left,
  .product-right,
  .product-img,
  .prod-media,
  .product-seo-text,
  .product-model,
  .product-seo-subtitle,
  .product-category-link,
  .buy-row,
  .specs {
    max-width: 100%;
    box-sizing: border-box;
  }

  .product-wrap {
    display: block;
    overflow: hidden;
  }

  .product-img img,
  .prod-media img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
  }

  .buy-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    align-items: end;
    width: 100%;
    overflow: hidden;
  }

  .buy-row .qty {
    grid-column: 1 / 2;
    width: 100%;
  }

  .buy-row .qty input {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .buy-row .add-to-cart {
    grid-column: 2 / 3;
    width: 100%;
  }

  .buy-row .btn-add,
  .buy-row .btn-back,
  .buy-row .btn-cart {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
  }

  .buy-row .btn-back {
    grid-column: 1 / 2;
  }

  .buy-row .btn-cart {
    grid-column: 2 / 3;
  }

  .specs {
    grid-template-columns: 1fr;
  }

  .product-value-grid {
    grid-template-columns: 1fr !important;
  }
}

/* FIX product.php mobile buy row */
@media (max-width: 768px) {
  .buy-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    align-items: stretch !important;
  }

  .buy-row .qty {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  .buy-row .qty input {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .buy-row .add-to-cart {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  .product-buy-microcopy {
    max-width: none !important;
    width: 100% !important;
  }

  .buy-row .btn,
  .buy-row button,
  .buy-row a {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  .buy-row .btn-add {
    min-height: 46px !important;
    padding: 12px 14px !important;
    font-size: 15px !important;
  }

  .buy-row .btn-back,
  .buy-row .btn-cart {
    font-size: 18px !important;
    padding: 14px 10px !important;
  }
}

@media (max-width: 430px) {
  .buy-row {
    grid-template-columns: 1fr !important;
  }
}


.kits-page {
  padding: 28px 0 50px;
}

.kits-hero {
  max-width: 900px;
  margin-bottom: 26px;
}

.kits-kicker {
  display: inline-flex;
  margin-bottom: 8px;
  color: #ef233c;
  font-weight: 700;
}

.kits-hero h1 {
  margin: 0 0 10px;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.1;
}

.kits-hero p {
  max-width: 760px;
  color: #475569;
  font-size: 17px;
}

.kits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 340px));
  gap: 24px;
}

.kit-card {
  background: #fff;
  border: 1px solid #fecaca;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 14px 35px rgba(15, 23, 42, 0.08);
}

.kit-card-img {
  position: relative;
  height: 230px;
  background: #f8fafc;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.kit-card-img img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.kit-discount-badge,
.kit-cam-badge {
  position: absolute;
  color: #fff;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
}

.kit-discount-badge {
  top: 12px;
  left: 12px;
  background: #ef233c;
}

.kit-cam-badge {
  right: 12px;
  bottom: 12px;
  background: #111827;
}

.kit-card-body {
  padding: 16px;
}

.kit-card-body h2 {
  margin: 0 0 8px;
  font-size: 21px;
  line-height: 1.2;
}

.kit-short {
  margin: 0 0 10px;
  color: #475569;
}

.kit-summary {
  margin: 10px 0;
  padding: 10px;
  background: #f8fafc;
  border-radius: 12px;
  color: #334155;
  font-size: 14px;
}

.kit-price-box {
  margin: 12px 0;
}

.kit-old-price {
  color: #94a3b8;
  text-decoration: line-through;
  font-weight: 700;
}

.kit-new-price {
  color: #e11d48;
  font-size: 24px;
  font-weight: 900;
}

.kit-btn {
  width: 100%;
  justify-content: center;
}
.kit-top-label {
  position: absolute;
  top: 12px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #ef233c, #dc2626);
  color: #fff;
  padding: 8px 16px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 1px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}
.kits-page {
  padding: 28px 0 50px;
}

.kits-hero {
  max-width: 900px;
  margin-bottom: 26px;
}

.kits-kicker {
  display: inline-flex;
  margin-bottom: 8px;
  color: #ef233c;
  font-weight: 700;
}

.kits-hero h1 {
  margin: 0 0 10px;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.1;
}

.kits-hero p {
  max-width: 760px;
  color: #475569;
  font-size: 17px;
}

.kits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 340px));
  gap: 24px;
}

.kit-card {
  background: #fff;
  border: 1px solid #fecaca;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 14px 35px rgba(15, 23, 42, 0.08);
}

.kit-card-img {
  position: relative;
  height: 255px;
  background: #f8fafc;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.kit-main-img {
  max-width: 88%;
  max-height: 155px;
  object-fit: contain;
  margin-top: 16px;
}

.kit-top-label {
  position: absolute;
  top: 12px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #ef233c, #dc2626);
  color: #fff;
  padding: 8px 18px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 1px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
  z-index: 3;
  white-space: nowrap;
}

.kit-discount-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #ef233c;
  color: #fff;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  z-index: 3;
}

.kit-mini-cams {
  position: absolute;
  left: 50%;
  bottom: 12px;
  transform: translateX(-50%);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px;
  max-width: 86%;
  background: rgba(255,255,255,0.95);
  padding: 7px 10px;
  border-radius: 18px;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12);
  z-index: 4;
}

.kit-mini-cams img {
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.admin-order-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  margin-left: 6px;
  padding: 0 7px;
  border-radius: 999px;
  background: red;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}
.kit-form {
  max-width: 760px;
  background: #fff;
  padding: 22px;
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
  border: 1px solid #e5e7eb;
  margin-bottom: 28px;
}

.kit-form label {
  display: block;
  font-weight: 800;
  margin: 12px 0 6px;
}

.kit-form input[type="text"],
.kit-form textarea {
  width: 100%;
  padding: 11px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #fff;
}

.kit-form textarea {
  min-height: 100px;
}

.kit-check {
  display: flex !important;
  align-items: center;
  gap: 8px;
}

.kit-check input {
  width: auto;
}

.kit-items {
  max-width: 980px;
  background: #fff;
  padding: 22px;
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
  border: 1px solid #e5e7eb;
}

.kit-items h2 {
  margin-top: 0;
}

.kit-item-row {
  display: grid;
  grid-template-columns: 78px 1fr auto auto;
  gap: 14px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #eef2f7;
}

.kit-item-row:last-child {
  border-bottom: 0;
}

.kit-item-img {
  width: 70px;
  height: 70px;
  background: #f8fafc;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.kit-item-img img {
  max-width: 64px;
  max-height: 64px;
  object-fit: contain;
}

.kit-item-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.kit-item-info small {
  color: #64748b;
}

.kit-item-info span {
  font-weight: 800;
  color: #ef233c;
}

.kit-item-qty {
  display: flex;
  align-items: center;
  gap: 6px;
}

.kit-item-qty input {
  width: 70px;
  padding: 8px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
}

.btn-small {
  padding: 8px 12px;
  font-size: 13px;
}

@media (max-width: 760px) {
  .kit-item-row {
    grid-template-columns: 70px 1fr;
  }

  .kit-item-qty {
    grid-column: 1 / -1;
  }
}
.kit-detail-page {
  padding: 28px 0 50px;
}

.kit-detail-hero {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 24px;
  align-items: start;
  margin-bottom: 30px;
}

.kit-detail-hero h1 {
  margin: 8px 0 12px;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.1;
}

.kit-buy-box {
  background: #fff;
  border: 1px solid #fecaca;
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
}

.kit-buy-box h3 {
  margin-top: 0;
}

.kit-buy-box label {
  display: block;
  font-weight: 800;
  margin-bottom: 8px;
}

.kit-buy-box select {
  width: 100%;
  padding: 12px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  margin-bottom: 14px;
}

.kit-save-text {
  color: #ef233c;
  font-weight: 800;
}

.kit-detail-section {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  padding: 20px;
}

.kit-detail-items {
  display: grid;
  gap: 12px;
}

.kit-detail-item {
  display: grid;
  grid-template-columns: 80px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 12px;
  border: 1px solid #eef2f7;
  border-radius: 14px;
  background: #f8fafc;
}

.kit-detail-img {
  width: 70px;
  height: 70px;
  background: #fff;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.kit-detail-img img {
  max-width: 64px;
  max-height: 64px;
  object-fit: contain;
}

.kit-detail-item p {
  margin: 4px 0 0;
  color: #64748b;
}

.kit-detail-qty {
  font-weight: 900;
  color: #ef233c;
}

@media (max-width: 800px) {
  .kit-detail-hero {
    grid-template-columns: 1fr;
  }
}

/* ===== Tablet menu fix only (keeps old mobile style) ===== */
@media (min-width: 641px) and (max-width: 1024px) {
  .desktop-mega-wrap,
  .desktop-mega-menu {
    display: none !important;
  }

  .mobile-menu-toggle {
    display: inline-flex !important;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    border: 0;
    background: transparent;
    cursor: pointer;
    flex: 0 0 auto;
    order: 2;
  }

  .mobile-menu-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: #e11d2e;
    border-radius: 999px;
  }

  .header-actions {
    order: 3;
    margin-left: 0 !important;
  }

  .header-search {
    order: 4;
    width: 100%;
    min-width: 0;
  }

  .mobile-menu-overlay {
    display: block !important;
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(15, 23, 42, 0.42);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .22s ease, visibility .22s ease;
  }

  .mobile-menu-overlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .mobile-menu-panel {
    position: absolute;
    top: 0;
    left: 0;
    width: min(88vw, 380px);
    height: 100%;
    overflow-y: auto;
    padding: 14px 12px 20px;
    background: #fff;
    border-right: 1px solid #e5e7eb;
    box-shadow: 18px 0 42px rgba(15, 23, 42, 0.22);
    transform: translateX(-100%);
    opacity: 1;
    transition: transform .26s ease;
  }

  .mobile-menu-overlay.is-open .mobile-menu-panel {
    transform: translateX(0);
    opacity: 1;
  }

  .mobile-menu-search-row {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .mobile-menu-search {
    flex: 1 1 auto;
    min-width: 0;
  }

  body.menu-open {
    overflow: hidden;
  }
}

@media (min-width: 641px) and (max-width: 1024px) {
  .mobile-menu-panel {
    width: min(86vw, 390px);
    background: linear-gradient(180deg, #f8fafc 0%, #f3f4f6 100%);
    border-right: 1px solid #e5e7eb;
    box-shadow: 18px 0 44px rgba(15, 23, 42, 0.24);
  }

  .mobile-menu-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e5e7eb;
  }

  .mobile-menu-title {
    color: #111827;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.1;
  }

  .mobile-menu-close {
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 999px;
    background: #eef2f7;
    color: #111827;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
  }

  .mobile-menu-search-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
  }

  .mobile-menu-search {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
  }

  .mobile-menu-search input {
    flex: 1 1 auto;
    min-width: 0;
    height: 42px;
    padding: 0 13px;
    border: 1px solid #d7dbe3;
    border-radius: 999px;
    background: #fff;
    color: #111827;
    font-size: 14px;
    outline: none;
  }

  .mobile-menu-search button {
    height: 42px;
    padding: 0 16px;
    border: 0;
    border-radius: 999px;
    background: #e11d2e;
    color: #fff;
    font-weight: 900;
    font-size: 14px;
    cursor: pointer;
    box-shadow: 0 10px 20px rgba(225, 29, 46, 0.18);
  }

  .mobile-menu-user-pill {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #fff;
    color: #5b21b6;
    text-decoration: none;
    border: 1px solid #e5e7eb;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
  }

  .mobile-menu-quick-links {
    display: grid;
    gap: 9px;
    margin: 0;
  }

  .mobile-menu-quick-link,
  .mobile-menu-link,
  .mobile-menu-account-btn,
  .mobile-menu-parent.mobile-products-toggle {
    appearance: none;
    -webkit-appearance: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 46px;
    padding: 0 14px;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    background: #fff;
    color: #111827;
    text-decoration: none;
    font: inherit;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
    text-align: left;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05);
    cursor: pointer;
  }

  .mobile-menu-quick-link.is-active,
  .mobile-menu-link.is-active,
  .mobile-menu-parent.mobile-products-toggle.is-active {
    background: linear-gradient(90deg, rgba(225,29,46,.16), rgba(225,29,46,.06));
    border-color: rgba(225,29,46,.25);
    color: #b91c1c;
  }

  .mobile-menu-icon {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: currentColor;
  }

  .mobile-menu-icon svg {
    width: 22px;
    height: 22px;
    display: block;
    fill: currentColor;
    stroke: currentColor;
  }

  .mobile-menu-link-text {
    flex: 1 1 auto;
    min-width: 0;
  }

  .mobile-menu-arrow {
    flex: 0 0 auto;
    color: #64748b;
    font-weight: 900;
    transition: transform .2s ease;
  }

  .mobile-menu-group {
    display: grid;
    gap: 0;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05);
  }

  .mobile-menu-group > .mobile-menu-link,
  .mobile-menu-group > .mobile-menu-parent {
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .mobile-menu-group.is-open > .mobile-menu-link .mobile-menu-arrow,
  .mobile-menu-group.is-open > .mobile-menu-parent .mobile-menu-arrow,
  .mobile-menu-group.is-open > .mobile-menu-quick-link .mobile-menu-arrow {
    transform: rotate(45deg);
  }

  .mobile-submenu {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-4px);
    transition: max-height .28s ease, opacity .22s ease, transform .22s ease;
    border-top: 1px solid #eef2f7;
    background: #f8fafc;
    padding: 0;
  }

  .mobile-menu-group.is-open > .mobile-submenu {
    max-height: 4000px;
    opacity: 1;
    transform: translateY(0);
    padding: 7px 0;
  }

  .mobile-submenu-link {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 5px 8px;
    padding: 12px 14px;
    border: 1px solid #edf2f7;
    border-radius: 11px;
    background: #fff;
    color: #334155;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
  }

  .mobile-submenu-link::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: #e11d2e;
    flex: 0 0 6px;
  }

  .mobile-submenu-link.is-active,
  .mobile-submenu-link--all {
    background: #fff1f2;
    border-color: rgba(225,29,46,.22);
    color: #b91c1c;
  }
}

/* ===== Product page polish: specs, related products, FAQ ===== */
.product-specs-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin: 18px 0 10px;
}

.product-specs-head span {
  color: #0f172a;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.2;
}

.product-specs-head small {
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.2;
  text-align: right;
}

.product-wrap .specs {
  gap: 12px;
  margin: 0 0 18px;
}

.product-wrap .spec {
  position: relative;
  min-height: 86px;
  padding: 16px 16px 15px;
  border: 1px solid #e4e9f2;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.055);
  overflow: hidden;
}

.product-wrap .spec::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, #e11d2e, #fb7185);
  opacity: 0.85;
}

.product-wrap .spec span {
  color: #6b7280;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1px;
}

.product-wrap .spec b {
  margin-top: 8px;
  color: #0f172a;
  font-size: 17px;
  font-weight: 900;
  line-height: 1.25;
}

.product-wrap .product-seo-heading {
  margin: 20px 0 11px;
  color: #0f172a;
  font-size: 19px;
  font-weight: 900;
  line-height: 1.25;
}

.product-wrap .product-bullets {
  display: grid;
  gap: 9px;
  margin: 0 0 4px;
  padding: 0;
  list-style: none;
}

.product-wrap .product-bullets li {
  position: relative;
  margin: 0;
  padding: 12px 14px 12px 40px;
  border: 1px solid #e5eaf2;
  border-radius: 14px;
  background: #fff;
  color: #334155;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  box-shadow: 0 7px 18px rgba(15, 23, 42, 0.04);
}

.product-wrap .product-bullets li::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 15px;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #22c55e;
  box-shadow: 0 0 0 5px rgba(34, 197, 94, 0.12);
}

.related-products {
  margin-top: 34px;
  padding: 24px;
  border: 1px solid #e4e9f2;
  border-radius: 22px;
  background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
}

.related-products .section-title,
.product-faq .section-title {
  margin: 0;
  color: #0f172a;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.2;
}

.related-products-sub,
.product-faq-sub {
  margin: 7px 0 0;
  color: #64748b;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.45;
}

.related-products .products-grid {
  gap: 18px;
  margin-top: 18px;
}

.related-products .product-card {
  min-height: 244px;
  padding: 18px 16px 17px;
  border: 1px solid #e1e7f0;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.075);
}

.related-products .product-card::before {
  opacity: 1;
  height: 4px;
  background: linear-gradient(90deg, rgba(225, 29, 46, 0.35), rgba(225, 29, 46, 0.08));
}

.related-products .product-card img {
  height: 140px;
  margin-bottom: 13px;
}

.related-products .product-card-title {
  color: #111827;
  font-size: 15px;
  font-weight: 900;
}

.product-faq {
  margin-top: 30px;
  padding: 24px;
  border: 1px solid #e4e9f2;
  border-radius: 22px;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.055);
}

.product-faq .faq-item {
  position: relative;
  margin-top: 13px;
  padding: 17px 20px;
  border: 1px solid #e3e8f1;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.055);
}

.product-faq .faq-item h3 {
  margin: 0 28px 8px 0;
  color: #0f172a;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.3;
}

.product-faq .faq-item h3::after {
  content: "\25BE";
  position: absolute;
  top: 18px;
  right: 18px;
  color: #64748b;
  font-size: 15px;
  font-weight: 900;
}

.product-faq .faq-item p {
  margin: 0;
  color: #475569;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.55;
}

.product-faq .faq-item:last-child {
  border-color: rgba(225, 29, 46, 0.28);
  background: linear-gradient(180deg, #ffffff 0%, #fff7f8 100%);
}

.product-faq .faq-item:last-child .btn-red {
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 999px;
  font-size: 14px;
  box-shadow: 0 12px 24px rgba(225, 29, 46, 0.18);
}

.product-faq .faq-item:last-child img[src*="hik-connect"] {
  width: 128px !important;
  max-width: 48%;
  height: auto;
  border-radius: 12px !important;
}

.product-faq .faq-item:last-child a img {
  max-width: 150px;
  height: 42px !important;
}

@media (max-width: 768px) {
  .product-specs-head {
    display: block;
    margin-top: 18px;
  }

  .product-specs-head small {
    display: block;
    margin-top: 4px;
    text-align: left;
  }

  .product-wrap .specs {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .product-wrap .spec {
    min-height: 0;
    padding: 14px 15px;
    border-radius: 15px;
  }

  .product-wrap .spec b {
    font-size: 16px;
  }

  .product-wrap .product-seo-heading {
    font-size: 18px;
  }

  .product-wrap .product-bullets li {
    padding: 11px 12px 11px 36px;
    font-size: 14px;
  }

  .product-wrap .product-bullets li::before {
    left: 14px;
    top: 15px;
    width: 10px;
    height: 10px;
  }

  .related-products,
  .product-faq {
    margin-top: 22px;
    padding: 16px;
    border-radius: 18px;
  }

  .related-products .products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
  }

  .related-products .product-card {
    min-height: 188px;
    padding: 13px 10px 12px;
    border-radius: 15px;
  }

  .related-products .product-card img {
    height: 95px;
    margin-bottom: 10px;
  }

  .related-products .product-card-title {
    min-height: 38px;
    font-size: 13px;
    line-height: 1.28;
  }

  .product-faq .faq-item {
    padding: 15px 16px;
    border-radius: 15px;
  }

  .product-faq .faq-item h3 {
    font-size: 15px;
  }

  .product-faq .faq-item p {
    font-size: 14px;
  }
}

@media (max-width: 420px) {
  .related-products .products-grid {
    grid-template-columns: 1fr;
  }
}

/* FIX: mobile cart button must not be clipped */
@media (max-width: 768px) {
  .product-wrap .buy-row {
    overflow: visible !important;
  }

  .product-wrap .buy-row .btn-back,
  .product-wrap .buy-row .btn-cart {
    min-height: 54px !important;
    padding: 12px 12px !important;
    gap: 7px !important;
    font-size: 17px !important;
    line-height: 1.1 !important;
    overflow: visible !important;
  }

  .product-wrap .buy-row .btn-cart {
    position: relative !important;
    padding-right: 22px !important;
  }

  .product-wrap .buy-row .btn-cart::before,
  .product-wrap .buy-row .btn-back::before {
    flex: 0 0 auto;
  }

  .product-wrap .buy-row .cart-badge {
    position: absolute;
    top: -9px;
    right: -8px;
    min-width: 24px;
    height: 24px;
    padding: 0 7px;
    font-size: 12px;
    box-shadow: 0 6px 14px rgba(225, 29, 46, 0.25);
  }
}

@media (max-width: 380px) {
  .product-wrap .buy-row .btn-back,
  .product-wrap .buy-row .btn-cart {
    font-size: 16px !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
  }

  .product-wrap .buy-row .btn-cart {
    padding-right: 20px !important;
  }
}

/* ===== Mobile product page: image, name, price, quantity, add ===== */
@media (max-width: 768px) {
  body.page-product .product-wrap {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    overflow: visible !important;
  }

  body.page-product .product-left,
  body.page-product .product-right {
    width: 100% !important;
    padding: 14px !important;
    border-radius: 18px !important;
  }

  body.page-product .product-left {
    order: 1;
    padding-bottom: 14px !important;
  }

  body.page-product .product-right {
    order: 2;
  }

  body.page-product .product-img img {
    height: auto !important;
    max-height: 360px !important;
  }

  body.page-product .product-seo-text,
  body.page-product .product-seo-subtitle,
  body.page-product .product-category-link,
  body.page-product .product-sku,
  body.page-product .product-short,
  body.page-product .product-buy-note,
  body.page-product .product-value-grid,
  body.page-product .product-specs-head,
  body.page-product .specs,
  body.page-product .product-seo-heading,
  body.page-product .product-bullets,
  body.page-product .product-faq,
  body.page-product .related-products {
    display: none !important;
  }

  body.page-product .brand-logo.big {
    margin-bottom: 6px !important;
  }

  body.page-product .brand-logo.big img {
    max-height: 42px !important;
    width: auto !important;
  }

  body.page-product .product-model {
    margin: 4px 0 8px !important;
    font-size: 20px !important;
    line-height: 1.05 !important;
  }

  body.page-product .product-price {
    margin: 8px 0 10px !important;
    font-size: 23px !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
  }

  body.page-product .product-price .old-price {
    font-size: .72em !important;
    margin-right: 5px !important;
  }

  body.page-product .product-price .promo-badge {
    margin-left: 5px !important;
    padding: 3px 6px !important;
    font-size: 11px !important;
  }

  body.page-product .product-trust-badges {
    margin-bottom: 12px !important;
  }

  body.page-product .buy-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 0 !important;
  }

  body.page-product .buy-row .qty,
  body.page-product .buy-row .add-to-cart {
    grid-column: 1 / -1 !important;
  }

  body.page-product .buy-row .qty span {
    display: block !important;
    margin-bottom: 6px !important;
    font-size: 14px !important;
    font-weight: 900 !important;
  }

  body.page-product .buy-row .qty input {
    min-height: 42px !important;
  }

  body.page-product .buy-row .btn-add {
    min-height: 48px !important;
    font-size: 16px !important;
  }

  body.page-product .product-buy-microcopy,
  body.page-product .buy-row .btn-back,
  body.page-product .buy-row .btn-cart {
    display: none !important;
  }

  body.page-product .product-mobile-description {
    display: block !important;
    margin-top: 14px !important;
    padding: 14px 16px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    background: #f8fafc !important;
    color: #475569 !important;
  }

  body.page-product .product-mobile-description h2 {
    margin: 0 0 8px !important;
    color: #0f172a !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
  }

  body.page-product .product-mobile-description p {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
}

.product-mobile-description {
  display: none;
}

/* ===== Friendly UX helpers ===== */
.home-choice-guide {
  margin: 18px auto 26px;
  padding: 22px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: linear-gradient(135deg, #fff, #f8fafc);
  box-shadow: 0 16px 40px rgba(15, 23, 42, .06);
}

.home-choice-head {
  display: grid;
  gap: 5px;
  margin-bottom: 14px;
}

.home-choice-head span {
  color: #e11d48;
  font-size: 13px;
  font-weight: 950;
  text-transform: uppercase;
}

.home-choice-head h2 {
  margin: 0;
  color: #0f172a;
  font-size: 25px;
  line-height: 1.15;
}

.home-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}

.home-choice-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-choice-card {
  position: relative;
  display: grid;
  gap: 8px;
  min-height: 150px;
  padding: 18px;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #fff;
  color: #0f172a;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.home-choice-card:hover {
  transform: translateY(-2px);
  border-color: rgba(225, 29, 72, .28);
  box-shadow: 0 16px 32px rgba(15, 23, 42, .09);
}

.home-choice-card strong {
  font-size: 18px;
  line-height: 1.18;
}

.home-choice-card span {
  color: #526071;
  font-size: 14px;
  line-height: 1.45;
}

.home-choice-card b {
  align-self: end;
  color: #e11d48;
  font-size: 14px;
}

.home-choice-card--accent {
  border-color: rgba(225, 29, 72, .28);
  background: #fff7f7;
}

.home-choice-card--reset {
  border-color: rgba(225, 29, 46, .24);
  background:
    linear-gradient(135deg, rgba(225, 29, 46, .10), rgba(255, 255, 255, 0) 58%),
    #fff;
}

.home-choice-card--reset::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 18px;
  width: 34px;
  height: 32px;
  border-radius: 10px;
  background: #e11d2e;
  box-shadow: 0 10px 24px rgba(225, 29, 46, .22);
}

.home-choice-card--reset::before {
  content: "";
  position: absolute;
  right: 27px;
  top: 7px;
  width: 16px;
  height: 18px;
  border: 4px solid #e11d2e;
  border-bottom: 0;
  border-radius: 14px 14px 0 0;
}

.home-choice-card--reset b {
  color: #e11d2e;
}

.home-choice-card--kits {
  padding-left: 18px;
  padding-right: 116px;
  border-color: rgba(225, 29, 72, .30);
  background: linear-gradient(135deg, #fff1f2, #fff 62%);
}

.home-choice-offer {
  position: absolute;
  right: 18px;
  top: 20px;
  display: grid;
  gap: 6px;
  justify-items: center;
}

.home-choice-offer-label {
  color: #e11d48 !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  text-transform: uppercase;
  white-space: nowrap;
}

.home-choice-discount {
  position: relative;
  width: 78px;
  height: 78px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: linear-gradient(135deg, #ef233c, #b91c1c);
  color: #fff;
  box-shadow: 0 14px 30px rgba(225, 29, 72, .28);
  animation: choiceDiscountPulse 1.8s ease-in-out infinite;
  overflow: hidden;
}

.home-choice-card .home-choice-discount b {
  position: absolute;
  top: 50%;
  left: 50%;
  right: auto;
  bottom: auto;
  display: block;
  align-self: auto;
  color: #fff;
  font-size: 25px;
  font-weight: 950;
  line-height: 1;
  text-align: center;
  letter-spacing: 0;
  white-space: nowrap;
  transform: translate(-50%, -50%);
  opacity: 0;
  animation: choiceDiscountText 4.8s linear infinite;
}

.home-choice-card--kits > b:last-child {
  font-size:16px;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.home-choice-discount b:nth-child(2) {
  animation-delay: 1.6s;
}

.home-choice-discount b:nth-child(3) {
  animation-delay: 3.2s;
}

@keyframes choiceDiscountPulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 14px 30px rgba(225, 29, 72, .28);
  }
  50% {
    transform: scale(1.08);
    box-shadow: 0 18px 38px rgba(225, 29, 72, .42);
  }
}

@keyframes choiceDiscountText {
  0%, 30% {
    opacity: 1;
  }
  33%, 100% {
    opacity: 0;
  }
}

.friendly-empty {
  display: grid;
  gap: 12px;
  padding: 24px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
}

.friendly-empty h2 {
  margin: 0;
  color: #0f172a;
  font-size: 24px;
  line-height: 1.15;
}

.friendly-empty p {
  max-width: 680px;
  margin: 0;
  color: #526071;
  line-height: 1.5;
}

.friendly-empty-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.product-help-panel {
  display: grid;
  gap: 6px;
  margin: 14px 0 0;
  padding: 14px 16px;
  border: 1px solid #bfdbfe;
  border-radius: 14px;
  background: #eff6ff;
  color: #0f172a;
}

.product-help-panel strong {
  font-size: 16px;
}

.product-help-panel span {
  color: #475569;
  font-size: 14px;
  line-height: 1.4;
}

.product-help-panel a {
  color: #e11d48;
  font-weight: 950;
}

.product-help-panel a.btn-red {
  color: #fff !important;
  justify-self: start;
  margin-top: 4px;
}

@media (max-width: 820px) {
  .home-choice-guide {
    padding: 16px;
    border-radius: 16px;
  }

  .home-choice-head h2 {
    font-size: 21px;
  }

  .home-choice-grid {
    grid-template-columns: 1fr;
  }

  .home-choice-card {
    min-height: 0;
    padding: 16px;
  }

  .home-choice-card--kits {
    padding-left: 16px;
    padding-right: 106px;
  }

  .home-choice-offer {
    right: 16px;
    top: 16px;
  }

  .home-choice-discount {
    width:70px;
    height:70px;
  }

  .home-choice-card .home-choice-discount b {
    font-size:22px;
  }

  .friendly-empty {
    padding: 18px;
  }

  .friendly-empty-actions {
    display: grid;
  }
}

/* ===== Products listing polish ===== */
.products-hero {
  position: relative;
  overflow: hidden;
  border: 1px solid #e3e8f1;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(225, 29, 46, 0.09), rgba(255, 255, 255, 0) 42%),
    linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.065);
}

.products-hero::after {
  content: "";
  position: absolute;
  right: -70px;
  top: -90px;
  width: 230px;
  height: 230px;
  border-radius: 999px;
  background: rgba(225, 29, 46, 0.08);
  pointer-events: none;
}

.products-hero h1,
.products-hero-desc,
.products-hero-meta,
.products-hero-trust {
  position: relative;
  z-index: 1;
}

.products-hero h1 {
  max-width: 880px;
  color: #0f172a;
  letter-spacing: 0;
}

.products-hero-desc {
  max-width: 860px;
  color: #475569;
  font-weight: 650;
}

.products-hero-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 14px;
}

.products-hero-trust--bottom {
  margin: 18px 0 14px;
}

.products-hero-trust span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid #dce5ef;
  border-radius: 999px;
  background: #fff;
  color: #172554;
  font-size: 13px;
  font-weight: 850;
  box-shadow: 0 7px 18px rgba(15, 23, 42, 0.055);
}

.products-hero-trust span::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #22c55e;
  box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.13);
  flex: 0 0 auto;
}

.products-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 18px 0 14px;
  padding: 14px 16px;
  border: 1px solid #e3e8f1;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.055);
}

.products-list-head strong,
.products-list-head span {
  display: block;
}

.products-list-head strong {
  color: #0f172a;
  font-size: 16px;
  font-weight: 950;
  line-height: 1.2;
}

.products-list-head span {
  margin-top: 3px;
  color: #64748b;
  font-size: 13px;
  font-weight: 750;
}

.products-list-help {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 9px 14px;
  border-radius: 999px;
  background: #fff1f2;
  color: #b91c1c;
  text-decoration: none;
  font-size: 13px;
  font-weight: 900;
  border: 1px solid rgba(225, 29, 46, 0.2);
  box-shadow: 0 10px 22px rgba(215,25,32,.10);
  white-space: nowrap;
}

.products-list-help:hover {
  background: #d71920;
  color: #fff;
  box-shadow: 0 14px 28px rgba(215,25,32,.22);
}

.layout {
  align-items: start;
}

.sidebar {
  border-radius: 20px;
  border: 1px solid #e3e8f1;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.filter-box {
  border-color: #e3e8f1;
  border-radius: 16px;
  background: #fff;
}

.filter-box summary {
  color: #0f172a;
  font-weight: 950;
}

.cat-link,
.cat-parent-box {
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}

.cat-link:hover,
.cat-parent-box:hover {
  transform: translateX(2px);
}

.grid {
  gap: 18px;
}

.grid .card {
  border: 1px solid #e3e8f1;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.065);
}

.grid .card:hover {
  transform: translateY(-4px);
  border-color: rgba(225, 29, 46, 0.24);
  box-shadow: 0 20px 46px rgba(15, 23, 42, 0.11);
}

.grid .card .prod-media {
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.grid .card .price-badge {
  border-radius: 999px;
  background: linear-gradient(135deg, #e11d2e, #b91c1c);
  box-shadow: 0 12px 24px rgba(225, 29, 46, 0.22);
}

.grid .card .model {
  color: #0f172a;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.28;
}

.grid .card .mini-desc {
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.38;
}

.card-trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 10px 0 0;
}

.card-trust-row span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #334155;
  font-size: 11px;
  font-weight: 850;
}

.price-row {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #eef2f7;
}

.price-row .price {
  color: #b91c1c;
  font-weight: 950;
}

.card-actions .btn {
  border-radius: 999px;
  font-size: 13px;
  font-weight: 900;
}

.card-actions .btn-red {
  box-shadow: 0 10px 20px rgba(225, 29, 46, 0.18);
}

.products-seo-intro,
.products-seo-footer {
  border: 1px solid #e3e8f1;
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.055);
}

.products-seo-intro h2,
.products-seo-footer h2 {
  color: #0f172a;
}

.products-seo-intro h3,
.products-seo-footer h3 {
  color: #b91c1c;
}

@media (max-width: 900px) {
  .products-hero {
    border-radius: 18px;
    padding: 18px 16px;
  }

  .products-hero h1 {
    font-size: 24px;
    line-height: 1.15;
  }

  .products-hero-desc {
    font-size: 14px;
  }

  .products-hero-trust {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .products-hero-trust span {
    width: 100%;
    justify-content: flex-start;
  }

  .products-list-head {
    display: block;
    padding: 13px;
    border-radius: 16px;
  }

  .products-list-help {
    width: 100%;
    margin-top: 10px;
  }

  .grid {
    gap: 14px;
  }

  .grid .card {
    border-radius: 18px;
  }

  .card-trust-row span {
    font-size: 10px;
  }
}

/* ===== Mobile products filters: clean light drawer ===== */
@media (max-width: 900px) {
  .mfilters-backdrop {
    background: rgba(15, 23, 42, 0.56) !important;
    backdrop-filter: blur(2px);
  }

  #mfiltersPanel.mfilters-panel {
    width: min(92vw, 390px) !important;
    max-width: 390px !important;
    height: 100vh !important;
    background: #f8fafc !important;
    color: #0f172a !important;
    border-radius: 0 22px 22px 0 !important;
    box-shadow: 24px 0 60px rgba(15, 23, 42, 0.28) !important;
    border-right: 1px solid #e3e8f1 !important;
  }

  #mfiltersPanel .mfilters-head {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 15px 16px !important;
    background: #fff !important;
    border-bottom: 1px solid #e3e8f1 !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.045);
  }

  #mfiltersPanel .mfilters-head strong {
    color: #0f172a !important;
    font-size: 18px !important;
    font-weight: 950 !important;
  }

  #mfiltersPanel .mfilters-close {
    width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    border: 1px solid #e3e8f1 !important;
    border-radius: 999px !important;
    background: #f1f5f9 !important;
    color: #0f172a !important;
    font-size: 20px !important;
    line-height: 1 !important;
  }

  #mfiltersPanel .mfilters-body {
    height: calc(100vh - 69px) !important;
    padding: 14px 14px 96px !important;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%) !important;
  }

  #mfiltersPanel .mfilters-form {
    display: grid !important;
    gap: 10px !important;
    margin: 0 0 14px !important;
    padding: 12px !important;
    border: 1px solid #e3e8f1 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
  }

  #mfiltersPanel select {
    width: 100% !important;
    height: 46px !important;
    padding: 0 14px !important;
    border: 1px solid #d8e0ea !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: #0f172a !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    box-shadow: none !important;
  }

  #mfiltersPanel select option {
    color: #0f172a !important;
    background: #fff !important;
  }

  #mfiltersPanel button[type="submit"] {
    height: 46px !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #e11d2e, #b91c1c) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    box-shadow: 0 12px 24px rgba(225, 29, 46, 0.2) !important;
  }

  #mfiltersPanel .filters-reset {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 1px solid #e3e8f1 !important;
    border-radius: 14px !important;
    background: #f8fafc !important;
    color: #334155 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
  }

  #mfiltersPanel .filters-reset::after {
    display: none !important;
  }

  #mfiltersPanel .mfilters-cats {
    display: grid;
    gap: 10px;
  }

  #mfiltersPanel details.filter-box {
    max-height: none !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #e3e8f1 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.055) !important;
  }

  #mfiltersPanel details.filter-box[open] {
    border-color: rgba(225, 29, 46, 0.22) !important;
  }

  #mfiltersPanel summary {
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 44px 0 15px !important;
    color: #0f172a !important;
    background: transparent !important;
    font-size: 15px !important;
    font-weight: 950 !important;
  }

  #mfiltersPanel details.filter-box[open] > summary {
    background: #fff1f2 !important;
    color: #b91c1c !important;
    border-radius: 18px 18px 0 0;
    border-bottom: 1px solid rgba(225, 29, 46, 0.16);
  }

  #mfiltersPanel details.filter-box > summary::after {
    right: 16px !important;
    color: currentColor !important;
    opacity: 0.85 !important;
  }

  #mfiltersPanel .cat-parent-box {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin: 10px 10px 8px !important;
    padding: 12px 13px !important;
    border: 1px solid #e3e8f1 !important;
    border-radius: 14px !important;
    background: #f8fafc !important;
    color: #0f172a !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    text-decoration: none !important;
  }

  #mfiltersPanel .cat-parent-box.active,
  #mfiltersPanel .cat-parent-box:hover {
    background: #fff1f2 !important;
    border-color: rgba(225, 29, 46, 0.24) !important;
    color: #b91c1c !important;
  }

  #mfiltersPanel .cat-badge {
    flex: 0 0 auto;
    padding: 4px 8px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #e3e8f1;
    color: #64748b;
    font-size: 11px;
    font-weight: 900;
  }

  #mfiltersPanel .cat-link {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    min-height: 42px !important;
    margin: 7px 10px !important;
    padding: 10px 12px 10px 30px !important;
    border: 1px solid #edf2f7 !important;
    border-radius: 13px !important;
    background: #fff !important;
    color: #334155 !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    text-decoration: none !important;
  }

  #mfiltersPanel .cat-link > span:first-child,
  #mfiltersPanel .cat-parent-box > span:first-child {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  #mfiltersPanel .sidebar-promo-badge {
    min-width: 36px !important;
    padding: 3px 7px !important;
    border-color: rgba(225, 29, 46, 0.18) !important;
    background: #fff5f6 !important;
    color: #c51624 !important;
    font-size: 10px !important;
    box-shadow: none !important;
  }

  #mfiltersPanel .cat-link.active .sidebar-promo-badge,
  #mfiltersPanel .cat-link:hover .sidebar-promo-badge,
  #mfiltersPanel .cat-parent-box.active .sidebar-promo-badge,
  #mfiltersPanel .cat-parent-box:hover .sidebar-promo-badge {
    background: #fff !important;
    color: #b91c1c !important;
  }

  #mfiltersPanel .cat-link::before {
    left: 13px !important;
    top: 50% !important;
    bottom: auto !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 999px !important;
    background: #e11d2e !important;
    transform: translateY(-50%) !important;
  }

  #mfiltersPanel .cat-link.active,
  #mfiltersPanel .cat-link:hover {
    background: #fff1f2 !important;
    border-color: rgba(225, 29, 46, 0.24) !important;
    color: #b91c1c !important;
    box-shadow: none !important;
  }
}

/* ===== Desktop products toolbar: premium controls ===== */
@media (min-width: 1101px) {
  .sort-sticky {
    margin: 18px 0 18px !important;
  }

  .sort-bar {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 74px !important;
    padding: 16px 18px !important;
    border: 1px solid #e1e8f2 !important;
    border-radius: 22px !important;
    background:
      linear-gradient(135deg, rgba(225, 29, 46, 0.055), rgba(255,255,255,0) 34%),
      #fff !important;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.07) !important;
  }

  .sort-bar .top-tabs {
    order: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .sort-bar .top-tabs .tab {
    min-height: 42px !important;
    padding: 0 17px !important;
    border-radius: 999px !important;
    border: 1px solid #dbe4ef !important;
    background: #fff !important;
    color: #0f172a !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.045) !important;
  }

  .sort-bar .top-tabs .tab.active {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
  }

  .sort-price {
    order: 2 !important;
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #e11d2e, #b91c1c) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    border: 0 !important;
    box-shadow: 0 12px 24px rgba(225, 29, 46, 0.2) !important;
  }

  .sort-price .sort-pill {
    gap: 8px !important;
  }

  .sort-price .sort-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: rgba(255,255,255,.2);
    font-size: 13px;
    line-height: 1;
  }

  .sort-bar .filters-form {
    order: 3 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin: 0 !important;
  }

  .sort-bar select.btn {
    min-width: 158px !important;
    height: 42px !important;
    padding: 0 38px 0 15px !important;
    border: 1px solid #dbe4ef !important;
    border-radius: 999px !important;
    background-color: #fff !important;
    color: #0f172a !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04) !important;
  }

  .sort-bar button.btn:not(.btn-red) {
    min-width: 46px !important;
    height: 42px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    border: 1px solid #dbe4ef !important;
    background: #f8fafc !important;
    color: #0f172a !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    box-shadow: none !important;
  }

  .sort-bar .filters-reset {
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    border: 2px solid #e11d2e !important;
    background: #fff !important;
    color: #b91c1c !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    box-shadow: 0 8px 18px rgba(225, 29, 46, 0.08) !important;
  }

  .sort-bar .filters-reset:hover {
    background: #fff1f2 !important;
    transform: translateY(-1px);
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  .sort-bar {
    padding-left: 18px !important;
  }
}

/* ===== Sticky header/menu while scrolling ===== */
.site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 9000 !important;
  background: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: blur(12px);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}

.desktop-mega-menu {
  z-index: 9100 !important;
}

@media (min-width: 901px) {
  .sort-sticky {
    position: sticky !important;
    top: 92px !important;
    z-index: 8500 !important;
  }

  .layout > .sidebar {
    position: sticky !important;
    top: 186px !important;
    max-height: none !important;
    overflow: visible !important;
    scrollbar-width: auto;
  }
}

@media (max-width: 900px) {
  .site-header {
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
  }

  .mview-switch.is-floating {
    top: 24px !important;
    z-index: 8800 !important;
  }

  .mview-switch.is-floating ~ .category-promo-strip--mobile {
    display:none !important;
  }

  #mfiltersPanel.mfilters-panel,
  .mfilters-backdrop {
    z-index: 10020 !important;
  }

  .mobile-menu-overlay {
    z-index: 10030 !important;
  }
}

@media (max-width: 430px) {
  .mview-switch.is-floating {
    top: 22px !important;
  }

}

/* ===== Tablet header alignment ===== */
@media (min-width: 769px) and (max-width: 1100px) {
  .site-header .header-row {
    display: grid !important;
    grid-template-columns: minmax(150px, 220px) minmax(280px, 1fr) auto auto !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
  }

  .site-header .brand {
    order: initial !important;
    justify-self: start !important;
  }

  .site-header .header-search {
    order: initial !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    justify-self: center !important;
    justify-content: center !important;
  }

  .site-header .header-search input {
    width: min(520px, 100%) !important;
  }

  .site-header .header-actions {
    order: initial !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    margin-left: 0 !important;
  }

  .site-header .mobile-menu-toggle {
    order: initial !important;
    grid-column: 4 !important;
    grid-row: 1 !important;
    justify-self: end !important;
  }

  .site-header .desktop-mega-wrap {
    display: none !important;
  }
}

@media (min-width: 901px) and (max-width: 1100px) {
  .site-header .mobile-menu-toggle {
    display: inline-flex !important;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    border: 0;
    background: transparent;
    cursor: pointer;
  }

  .site-header .mobile-menu-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: #e11d2e;
    border-radius: 999px;
  }

  .mobile-menu-overlay {
    display: block !important;
  }
}

@media (min-width: 769px) and (max-width: 900px) {
  .site-header .header-actions .pill-user {
    display: inline-flex !important;
  }
}

@media (max-width: 768px) {
  body.page-contact .page-title {
    display: none !important;
  }
}

/* ===== Homepage premium first screen ===== */
.home-slider {
  max-width: 1440px !important;
  margin: 18px auto 30px !important;
  border-radius: 28px !important;
  background: #05070b !important;
  box-shadow: 0 28px 70px rgba(15, 23, 42, 0.22) !important;
}

.home-slide {
  min-height: clamp(520px, 52vw, 720px) !important;
}

.home-slide-img {
  height: clamp(520px, 52vw, 720px) !important;
  object-fit: cover !important;
  object-position: center !important;
  filter: saturate(1.06) contrast(1.04);
}

.home-slide::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background:
    linear-gradient(90deg, rgba(2, 6, 23, 0.86) 0%, rgba(2, 6, 23, 0.58) 40%, rgba(2, 6, 23, 0.18) 72%, rgba(2, 6, 23, 0.05) 100%) !important;
}

.home-slide-overlay {
  margin-left: 0 !important;
  left: clamp(24px, 7vw, 96px) !important;
  top: 50% !important;
  max-width: 780px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  text-shadow: 0 14px 34px rgba(0, 0, 0, 0.48) !important;
}

.home-hero-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  margin: 0 0 16px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.24);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.02em;
  text-shadow: none;
}

.home-slide-overlay h1,
.home-slide-overlay h2 {
  max-width: 760px;
  margin: 0 0 18px !important;
  color: #fff !important;
  font-size: clamp(36px, 4.6vw, 68px) !important;
  line-height: 1.04 !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
}

.home-slide-overlay h3 {
  max-width: 650px;
  margin: 0 0 12px !important;
  color: rgba(255, 255, 255, 0.94) !important;
  font-size: clamp(17px, 1.6vw, 23px) !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}

.home-slide-overlay p {
  max-width: 640px;
  margin: 0 0 22px !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: clamp(15px, 1.15vw, 18px) !important;
  line-height: 1.55 !important;
}

.hero-accent {
  color: #ff3144 !important;
}

.home-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
  text-shadow: none;
}

.home-hero-btn,
.home-slide-overlay > .btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 22px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 950;
  text-decoration: none !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.home-hero-btn--primary,
.home-slide-overlay > .btn {
  background: linear-gradient(135deg, #ef2336, #b91c1c) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 18px 34px rgba(225, 29, 46, 0.34) !important;
}

.home-hero-btn--ghost {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16) !important;
}

.home-hero-btn:hover,
.home-slide-overlay > .btn:hover {
  transform: translateY(-2px);
}

.home-hero-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 18px;
  text-shadow: none;
}

.home-hero-trust span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.94);
  font-size: 13px;
  font-weight: 850;
}

.home-hero-delivery-note {
  display: inline-flex;
  align-items: center;
  max-width: 680px !important;
  margin: 12px 0 0 !important;
  padding: 10px 14px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .14);
  border: 1px solid rgba(255, 255, 255, .22);
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 850;
  line-height: 1.35 !important;
  text-shadow: none;
}

.home-top-strip {
  max-width: 520px;
  margin: 18px auto 30px;
  padding: 0 14px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.home-top-strip-item {
  display: grid;
  align-content: center;
  min-height: 96px;
  padding: 20px 22px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid #e0e7f0;
  text-decoration: none !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.07);
}

.home-top-strip-item--kits {
  position: relative;
  grid-template-columns: 50px 1fr;
  gap: 13px;
  align-items: center;
  padding-right: 72px;
  border-color: rgba(225, 29, 72, .48);
  background: linear-gradient(135deg, #fff1f2, #fff 58%, #fff7ed);
  box-shadow: 0 18px 42px rgba(225, 29, 72, .16);
}

.home-top-strip-item--kits::after {
  content: "готово";
  position: absolute;
  top: 10px;
  right: 12px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #e11d48;
  color: #fff;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.home-top-strip-icon {
  width: 50px;
  height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  background: linear-gradient(135deg, #ef233c, #b91c1c);
  color: #fff;
  font-size: 24px;
  font-weight: 950;
  line-height: 1;
  text-align: center;
  box-shadow: 0 12px 24px rgba(225, 29, 72, .24);
  animation: homeKitsIconPulse 1.9s ease-in-out infinite;
}

.home-top-strip-copy {
  display: grid !important;
  gap: 4px;
}

.home-top-strip-item strong {
  display: block;
  margin-bottom: 7px;
  color: #0f172a;
  font-size: 17px;
  font-weight: 950;
}

.home-top-strip-item span {
  display: block;
  color: #59677c;
  font-size: 14px;
  line-height: 1.38;
  font-weight: 650;
}

.home-top-strip-item .home-top-strip-icon {
  display: inline-flex;
  color: #fff;
  font-size: 24px;
  line-height: 1;
}

.home-top-strip-item:hover {
  border-color: rgba(225, 29, 46, 0.35);
  box-shadow: 0 24px 52px rgba(15, 23, 42, 0.1);
  transform: translateY(-2px);
}

@keyframes homeKitsIconPulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 12px 24px rgba(225, 29, 72, .24);
  }
  50% {
    transform: scale(1.08);
    box-shadow: 0 16px 34px rgba(225, 29, 72, .36);
  }
}

@media (max-width: 900px) {
  .home-slider {
    margin: 10px 10px 18px !important;
    border-radius: 22px !important;
  }

  .home-slide,
  .home-slide-img {
    min-height: 540px !important;
    height: 540px !important;
  }

  .home-slide-overlay {
    display: block !important;
    left: 22px !important;
    right: 22px !important;
    top: auto !important;
    bottom: 34px !important;
    transform: none !important;
    max-width: none !important;
  }

  .home-slide::after {
    content: "" !important;
    background:
      linear-gradient(180deg, rgba(2, 6, 23, 0.08) 0%, rgba(2, 6, 23, 0.36) 40%, rgba(2, 6, 23, 0.88) 100%) !important;
  }

  .home-slide-overlay h1,
  .home-slide-overlay h2 {
    font-size: 31px !important;
    line-height: 1.08 !important;
    margin-bottom: 12px !important;
  }

  .home-slide-overlay h3 {
    font-size: 16px !important;
  }

  .home-slide-overlay p {
    display: none !important;
  }

  .home-hero-kicker {
    min-height: 30px;
    margin-bottom: 12px;
    font-size: 12px;
  }

  .home-hero-actions {
    gap: 10px;
    margin-top: 18px;
  }

  .home-hero-btn,
  .home-slide-overlay > .btn {
    flex: 1 1 100%;
    min-height: 48px;
    padding: 0 16px;
    font-size: 14px;
  }

  .home-hero-trust {
    gap: 7px;
    margin-top: 12px;
  }

  .home-hero-trust span {
    min-height: 28px;
    padding: 0 10px;
    font-size: 12px;
  }

  .home-slide-overlay .home-hero-delivery-note {
    display: inline-flex !important;
    margin-top: 10px !important;
    padding: 8px 10px;
    font-size: 12px !important;
  }

  .home-top-strip {
    display: grid !important;
    grid-template-columns: 1fr;
    max-width: 440px;
    gap: 10px;
    margin: 14px auto 16px;
    padding: 0 12px;
  }

  .home-top-strip-item {
    min-height: 76px;
    padding: 13px 14px;
    border-radius: 16px;
  }

  .home-top-strip-item--kits {
    grid-column: 1 / -1;
    grid-template-columns: 46px 1fr;
    padding-right: 72px;
  }

  .home-top-strip-icon {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    font-size: 23px;
  }

  .home-top-strip-item strong {
    font-size: 15px;
  }

  .home-top-strip-item span {
    font-size: 12px;
  }

  .home-sections {
    padding-top: 0;
  }

  .home-sections .sec-title {
    margin: 12px 0 12px;
    padding: 8px 0;
    font-size: 19px;
    line-height: 1.18;
    letter-spacing: 0.06em;
  }

  .home-section-intro {
    margin-bottom: 16px;
    font-size: 14px;
    line-height: 1.48;
  }
}

@media (max-width: 430px) {
  .home-slide,
  .home-slide-img {
    min-height: 500px !important;
    height: 500px !important;
  }

  .home-slide-overlay {
    left: 18px !important;
    right: 18px !important;
    bottom: 24px !important;
  }

  .home-slide-overlay h1,
  .home-slide-overlay h2 {
    font-size: 27px !important;
  }

  .home-hero-trust span {
    font-size: 11px;
  }

}

/* ===== Montage pages premium typography and layout ===== */
.service-city-page {
  max-width: 1240px !important;
}

.service-city-hero {
  margin: 22px 0 28px !important;
  border: 1px solid #dde6f2 !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 14% 12%, rgba(225, 29, 46, 0.10), transparent 30%),
    radial-gradient(circle at 92% 0%, rgba(15, 23, 42, 0.08), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f8fafc 58%, #fff1f2 100%) !important;
  box-shadow: 0 24px 58px rgba(15, 23, 42, 0.08) !important;
}

.service-city-hero-inner {
  max-width: 960px !important;
  padding: 42px 34px 34px !important;
}

.service-city-kicker {
  margin-bottom: 16px !important;
  padding: 8px 15px !important;
  border: 1px solid rgba(225, 29, 46, 0.12) !important;
  background: #fff1f2 !important;
  color: #b91c1c !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: 0.08em !important;
}

.service-city-hero h1 {
  max-width: 880px !important;
  margin: 0 auto 16px !important;
  color: #0f172a !important;
  font-size: clamp(31px, 3.55vw, 46px) !important;
  line-height: 1.08 !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
}

.service-city-lead,
.service-city-sublead {
  max-width: 850px !important;
  color: #42526a !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
}

.service-city-lead strong,
.service-city-sublead strong {
  color: #27364d !important;
  font-weight: 950 !important;
}

.service-quick-contact {
  margin-top: 24px !important;
  gap: 10px !important;
}

.btn.btn-cta {
  min-height: 46px !important;
  padding: 0 18px !important;
  border-radius: 14px !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
}

.btn.btn-cta .btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  min-width: 20px;
  line-height: 1;
}

.service-city-page .service-quick-contact {
  justify-content: center;
  gap: 12px !important;
}

.service-city-page .service-quick-contact .btn.btn-cta {
  min-height: 46px !important;
  padding: 0 18px 0 12px !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .92) !important;
  color: #172033 !important;
  border: 1px solid rgba(148, 163, 184, .36) !important;
  box-shadow: 0 12px 26px rgba(15, 23, 42, .07) !important;
  position: relative;
  overflow: hidden;
}

.service-city-page .service-quick-contact .btn.btn-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.72) 46%, transparent 68%);
  transform: translateX(-120%);
  transition: transform .45s ease;
  pointer-events: none;
}

.service-city-page .service-quick-contact .btn.btn-cta:hover {
  transform: translateY(-2px);
  border-color: rgba(225, 29, 46, .34) !important;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .11) !important;
}

.service-city-page .service-quick-contact .btn.btn-cta:hover::after {
  transform: translateX(120%);
}

.service-city-page .service-quick-contact .btn.btn-cta .btn-icon {
  width: 30px;
  min-width: 30px;
  height: 30px;
  border-radius: 9px;
  background: #fff1f2;
  color: #d71920;
  border: 1px solid rgba(215, 25, 32, .14);
}

.service-city-page .service-quick-contact .btn.btn-viber {
  color: #4f46e5 !important;
  border-color: rgba(99, 102, 241, .28) !important;
}

.service-city-page .service-quick-contact .btn.btn-viber .btn-icon {
  background: #f0efff;
  color: #6655e8;
  border-color: rgba(99, 102, 241, .18);
}

.service-city-page .service-quick-contact .btn.btn-pulse {
  animation: serviceSoftPulse 2.8s ease-in-out infinite;
}

@keyframes serviceSoftPulse {
  0%, 100% {
    box-shadow: 0 12px 26px rgba(15, 23, 42, .07), 0 0 0 0 rgba(225, 29, 46, .16);
  }
  50% {
    box-shadow: 0 16px 34px rgba(15, 23, 42, .10), 0 0 0 7px rgba(225, 29, 46, 0);
  }
}

.service-city-badges {
  gap: 12px !important;
  margin-top: 26px !important;
}

.service-city-badge {
  padding: 15px 16px !important;
  border-color: rgba(148, 163, 184, .28) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.66) !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.045) !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.service-city-badge:hover {
  transform: translateY(-2px);
  border-color: rgba(225, 29, 46, .24) !important;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.075) !important;
}

.service-city-badge strong {
  color: #0f172a !important;
  font-size: 16px !important;
  line-height: 1.28 !important;
  font-weight: 950 !important;
}

.service-city-badge span {
  color: #64748b !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.service-city-note {
  margin-top: 18px !important;
  color: #64748b !important;
}

.service-section {
  margin-top: 22px !important;
  padding: 30px 28px !important;
  border-color: #dde6f2 !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.055) !important;
}

.service-section-accent {
  background:
    linear-gradient(135deg, #ffffff 0%, #fff7f7 100%) !important;
}

.service-section-head-center {
  max-width: 860px !important;
  margin-bottom: 24px !important;
}

.service-section-head h2 {
  max-width: 820px;
  margin: 0 auto 10px !important;
  color: #0f172a !important;
  font-size: clamp(24px, 2.4vw, 32px) !important;
  line-height: 1.18 !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
}

.service-section-head h3 {
  color: #0f172a !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
  font-weight: 950 !important;
}

.service-section-head h4,
.service-card h4,
.service-step-card h4 {
  margin: 0 0 8px !important;
  color: #334155 !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
}

.service-section-head p {
  color: #516078 !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.service-cards-grid,
.service-cards-grid-2,
.service-steps-grid,
.seo-links-grid {
  gap: 14px !important;
}

.service-card,
.service-step-card,
.seo-link-card {
  border-color: #e2e8f0 !important;
  border-radius: 18px !important;
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.055) !important;
}

.service-card {
  padding: 22px 20px !important;
}

.service-card h3,
.service-step-card h3 {
  margin-bottom: 9px !important;
  color: #0f172a !important;
  font-size: 19px !important;
  line-height: 1.28 !important;
  font-weight: 950 !important;
  text-align: left !important;
}

.service-step-card {
  text-align: left !important;
}

.service-step-num {
  width: 34px !important;
  height: 34px !important;
  margin-bottom: 12px !important;
  background: linear-gradient(135deg, #ef2336, #b91c1c) !important;
  box-shadow: 0 12px 24px rgba(225, 29, 46, 0.20);
}

.service-card p,
.service-step-card p,
.faq-body {
  color: #516078 !important;
  font-size: 15px !important;
  line-height: 1.72 !important;
}

.service-card-wide {
  max-width: 960px !important;
}

.service-card-wide p {
  max-width: 900px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.service-check-list li,
.service-link-list li {
  padding-left: 20px !important;
  margin-bottom: 10px !important;
  color: #334155 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.service-check-list li::before,
.service-link-list li::before {
  content: "" !important;
  width: 8px !important;
  height: 8px !important;
  top: 0.68em !important;
  border-radius: 999px !important;
  background: #e11d2e !important;
  transform: translateY(-50%) !important;
}

.seo-link-card {
  min-height: 68px !important;
  color: #0f172a !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

.seo-link-card:hover {
  color: #b91c1c !important;
}

.modern-faq {
  max-width: 920px !important;
}

.password-reset-process {
  overflow: hidden;
}

.password-reset-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.password-reset-flow-card {
  position: relative;
  min-height: 230px;
  padding: 22px 18px;
  border: 1px solid rgba(226, 232, 240, .95);
  border-radius: 20px;
  background:
    radial-gradient(circle at 92% 8%, rgba(225, 29, 46, .10), transparent 30%),
    linear-gradient(180deg, #fff, #fbfdff);
  box-shadow: 0 14px 34px rgba(15, 23, 42, .055);
}

.password-reset-flow-card span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-bottom: 14px;
  border-radius: 13px;
  background: #fff1f2;
  color: #d71920;
  font-size: 13px;
  font-weight: 950;
}

.password-reset-flow-card h3 {
  margin: 0 0 9px;
  color: #0f172a;
  font-size: 18px;
  line-height: 1.28;
  font-weight: 950;
}

.password-reset-flow-card p {
  margin: 0;
  color: #516078;
  font-size: 14px;
  line-height: 1.68;
}

.faq-item {
  border-color: #e2e8f0 !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.045);
}

.faq-item summary {
  color: #0f172a !important;
  font-size: 16px !important;
  font-weight: 950 !important;
}

.faq-item summary::after {
  color: #b91c1c !important;
}

@media (max-width: 767px) {
  .service-city-page {
    padding-top: 8px !important;
  }

  .service-city-hero {
    margin-top: 10px !important;
    border-radius: 20px !important;
  }

  .service-city-hero-inner,
  .service-section {
    padding: 20px 15px !important;
  }

  .service-city-kicker {
    font-size: 10px !important;
    letter-spacing: 0.06em !important;
  }

  .service-city-hero h1 {
    font-size: 28px !important;
    line-height: 1.12 !important;
  }

  .service-city-lead,
  .service-city-sublead {
    font-size: 14px !important;
    line-height: 1.58 !important;
  }

  .service-city-badges {
    gap: 10px !important;
  }

  .service-city-badge {
    padding: 14px !important;
  }

  .service-section {
    margin-top: 16px !important;
    border-radius: 18px !important;
  }

  .service-section-head h2 {
    font-size: 22px !important;
    line-height: 1.2 !important;
  }

	  .service-card,
	  .service-step-card,
	  .home-seo-brand-links a {
	    padding: 18px 16px !important;
	  }

  .service-card h3,
  .service-step-card h3 {
    font-size: 17px !important;
  }

  .service-card p,
  .service-step-card p,
  .service-section-head p,
  .service-check-list li,
  .service-link-list li,
  .faq-body {
    font-size: 14px !important;
  }

  .faq-item summary {
    font-size: 15px !important;
    padding: 15px 44px 15px 15px !important;
  }

  .password-reset-flow {
    grid-template-columns: 1fr;
  }

  .password-reset-flow-card {
    min-height: 0;
  }
}

/* ===== Premium SEO footer ===== */
.site-footer {
  margin-top: 56px !important;
  padding: 34px 0 0 !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(225, 29, 46, 0.18), transparent 28%),
    radial-gradient(circle at 90% 14%, rgba(51, 65, 85, 0.34), transparent 34%),
    linear-gradient(180deg, #0e141c 0%, #080c12 100%) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.site-footer .container {
  max-width: 1240px !important;
}

.footer-cta-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  margin: 0 18px 18px;
  padding: 26px 28px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.075), rgba(255,255,255,0.025)),
    rgba(255, 255, 255, 0.025);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.22);
}

.footer-eyebrow {
  display: inline-flex;
  margin-bottom: 9px;
  color: #ff8a94;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.footer-cta-panel h2 {
  max-width: 780px;
  margin: 0 0 8px;
  color: #fff;
  font-size: clamp(23px, 2.6vw, 34px);
  line-height: 1.12;
  font-weight: 950;
  letter-spacing: 0;
}

.footer-cta-panel p {
  max-width: 850px;
  margin: 0;
  color: rgba(226, 232, 240, 0.78);
  font-size: 15px;
  line-height: 1.62;
  font-weight: 600;
}

.footer-cta-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.footer-primary-link,
.footer-secondary-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 17px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 950;
  text-decoration: none !important;
  white-space: nowrap;
}

.footer-primary-link {
  background: linear-gradient(135deg, #ef2336, #b91c1c);
  color: #fff !important;
  box-shadow: 0 16px 30px rgba(225, 29, 46, 0.26);
}

.footer-secondary-link {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #fff !important;
}

.footer-service-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0 18px 18px;
}

.footer-service-strip span {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0 14px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(255, 255, 255, 0.10);
  color: rgba(255, 255, 255, 0.90);
  font-size: 13px;
  line-height: 1.25;
  font-weight: 850;
}

.footer-grid-premium {
  grid-template-columns: 1.35fr 0.9fr 0.9fr 0.9fr !important;
  gap: 16px !important;
  padding: 0 18px 18px !important;
}

.site-footer .footer-box {
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, 0.035) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.035);
}

.footer-brand-premium {
  display: block !important;
  padding: 18px !important;
}

.footer-logo {
  display: block;
  width: 190px;
  max-width: 100%;
  height: auto;
  margin: 0 0 14px;
  padding: 10px 12px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18);
}

.footer-brand-text {
  margin: 0 0 12px;
  color: rgba(226, 232, 240, 0.82);
  font-size: 14px;
  line-height: 1.5;
  font-weight: 650;
}

.footer-contact-list {
  display: grid;
  gap: 7px;
  margin-bottom: 14px;
  font-style: normal;
}

.footer-contact-list a {
  display: inline-flex;
  width: fit-content;
  color: #fff !important;
  font-size: 14px;
  font-weight: 900;
}

.footer-contact-list span {
  color: rgba(226, 232, 240, 0.70);
  font-size: 13px;
  font-weight: 650;
}

.footer-trust-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.footer-trust-pills span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.10);
  color: rgba(255, 255, 255, 0.86);
  font-size: 12px;
  font-weight: 850;
}

.site-footer h4 {
  margin-bottom: 14px !important;
  color: rgba(255, 255, 255, 0.62) !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: 0.12em !important;
}

.footer-link-list,
.footer-links ul,
.footer-cats ul,
.footer-cctv ul {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 6px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.footer-link-list a,
.footer-links a,
.footer-cats a,
.footer-cctv a {
  display: flex !important;
  align-items: center;
  min-height: 30px;
  padding: 4px 0;
  color: rgba(241, 245, 249, 0.88) !important;
  font-size: 14px !important;
  line-height: 1.35;
  font-weight: 720;
  text-decoration: none !important;
}

.footer-link-list a:hover,
.footer-links a:hover,
.footer-cats a:hover,
.footer-cctv a:hover {
  color: #fff !important;
  transform: translateX(2px);
}

.site-footer .active {
  color: #fff !important;
  font-weight: 950 !important;
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: rgba(0, 0, 0, 0.12);
  padding: 15px 0 calc(15px + env(safe-area-inset-bottom)) !important;
}

.footer-bottom-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  text-align: left !important;
  color: rgba(226, 232, 240, 0.74) !important;
}

.footer-bottom-note {
  color: rgba(226, 232, 240, 0.62);
  font-size: 12px;
  line-height: 1.4;
}

.footer-bottom-contacts {
  flex-direction: row !important;
}

.footer-bottom-contacts a {
  color: #fff !important;
  font-weight: 850 !important;
}

@media (max-width: 1040px) {
  .footer-cta-panel {
    grid-template-columns: 1fr;
  }

  .footer-cta-actions {
    justify-content: flex-start;
  }

  .footer-grid-premium {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .footer-service-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .site-footer {
    margin-top: 42px !important;
    padding-top: 22px !important;
  }

  .footer-cta-panel {
    margin: 0 12px 14px;
    padding: 20px 16px;
    border-radius: 20px;
  }

  .footer-cta-panel h2 {
    font-size: 22px;
  }

  .footer-cta-panel p {
    font-size: 14px;
  }

  .footer-cta-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .footer-service-strip {
    grid-template-columns: 1fr;
    margin: 0 12px 14px;
  }

  .footer-service-strip span {
    min-height: 40px;
    font-size: 12px;
  }

  .footer-primary-link,
  .footer-secondary-link {
    width: 100%;
  }

  .footer-grid-premium {
    grid-template-columns: 1fr !important;
    padding: 0 12px 18px !important;
  }

  .footer-brand-premium {
    padding: 18px !important;
  }

  .footer-logo {
    width: 160px;
  }

  .footer-bottom-row {
    justify-content: center !important;
    text-align: center !important;
    flex-direction: column;
    gap: 7px !important;
  }
}
.kit-selected-hdd {
    margin-top: 12px;
    padding: 12px;
    border: 1px solid #dbeafe;
    background: #eff6ff;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.45;
}

.kit-selected-hdd strong {
    color: #111827;
}

.kit-selected-hdd span {
    color: #0f766e;
    font-weight: 800;
}

.kit-total-with-hdd {
    margin-top: 10px;
    padding: 12px;
    background: #f8fafc;
    border-radius: 12px;
    font-size: 15px;
}

.kit-total-with-hdd strong {
    font-size: 18px;
    color: #b91c1c;
}

/* ===== Kits / promotions visibility pass ===== */
.desktop-mega-quick a.mega-special {
  background: #fff1f2;
  color: #be123c;
  border: 1px solid rgba(225, 29, 72, .18);
  box-shadow: 0 10px 24px rgba(225, 29, 72, .10);
}

.desktop-mega-quick a.mega-special--promo {
  background: linear-gradient(135deg, #ef233c, #c1121f);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 14px 30px rgba(225, 29, 72, .24);
}

.mobile-submenu-link--featured,
.mobile-submenu-link--promo {
  font-weight: 900;
  border-color: rgba(225, 29, 72, .22);
}

.mobile-submenu-link--featured {
  background: #fff7ed;
  color: #9a3412;
}

.mobile-submenu-link--promo {
  background: #fff1f2;
  color: #be123c;
}

.footer-accordion {
  display: block;
}

.footer-accordion summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  list-style: none;
}

.footer-accordion summary::-webkit-details-marker {
  display: none;
}

.footer-accordion summary::after {
  content: "+";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  font-size: 16px;
  line-height: 1;
}

.footer-accordion[open] summary::after {
  content: "\2212";
}

@media (min-width: 821px) {
  .footer-grid-premium {
    grid-template-columns: 1.25fr 0.9fr !important;
    align-items: start;
  }

  .footer-brand-premium {
    grid-row: 1;
  }

  .footer-accordion {
    min-height: 0 !important;
    padding: 0 !important;
    border-radius: 16px !important;
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
  }

  .footer-accordion summary {
    min-height: 44px;
    margin-bottom: 0;
    padding: 0 14px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 16px;
    background: rgba(255,255,255,.055);
    cursor: pointer;
  }

  .footer-accordion summary::after {
    display: inline-flex;
  }

  .footer-accordion[open] summary {
    margin-bottom: 10px;
  }

  .footer-accordion:not([open]) {
    min-height: 0;
  }

  .footer-accordion[open] {
    padding: 16px !important;
    border-color: rgba(255,255,255,.08) !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,.035) !important;
  }

  .footer-accordion[open] summary {
    padding: 0 2px;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .footer-info-accordion {
    grid-column: 2;
    grid-row: 1 / span 3;
  }

  .footer-accordion-compact {
    grid-column: auto;
  }

  .footer-cctv {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
  }

.footer-montaj {
    grid-column: 1;
    grid-row: 2;
    margin-left: calc(50% + 8px);
    align-self: start;
  }

  .footer-live {
    grid-column: 1;
    grid-row: 3;
    align-self: start;
    margin-right: calc(50% + 8px);
  }

  .footer-cctv {
    margin-right: calc(50% + 8px);
  }
}

.service-kits-promo {
  border: 1px solid rgba(225, 29, 72, .18);
  background: linear-gradient(135deg, #fff, #fff7ed 48%, #fff1f2);
  box-shadow: 0 18px 48px rgba(15, 23, 42, .07);
}

.service-kits-promo-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 18px;
}

.service-kits-promo-actions .btn-cta {
  min-width: 210px;
}

.service-kits-promo--mobile {
  display: none;
}

@media (max-width: 900px) {
  .service-kits-promo--desktop {
    display: none !important;
  }

  .service-kits-promo--mobile {
    display: block;
    margin: 16px 0 0;
    padding: 16px;
    border-radius: 18px;
  }

  .service-kits-promo--mobile .service-section-head {
    margin-bottom: 12px;
  }

  .service-kits-promo--mobile .service-section-head h2 {
    font-size: 20px;
    line-height: 1.15;
  }

  .service-kits-promo--mobile .service-section-head p {
    font-size: 13px;
    line-height: 1.4;
  }

  .service-kits-promo-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .service-kits-promo-actions .btn-cta {
    width: 100%;
    min-width: 0;
  }
}

/* ===== Admin refresh: safer, clearer order handling ===== */
.admin-layout {
  background:
    radial-gradient(circle at top right, rgba(37, 99, 235, .08), transparent 34%),
    linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
}

.admin-main {
  max-width: 1680px;
}

.admin-page-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin: 4px 0 18px;
}

.admin-page-head .page-title {
  margin: 0;
  font-size: 30px;
  letter-spacing: 0;
}

.admin-page-subtitle {
  margin: 6px 0 0;
  color: #64748b;
  font-size: 15px;
  font-weight: 650;
}

.admin-live-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 15px;
  border-radius: 999px;
  background: #fff1f2;
  color: #be123c;
  border: 1px solid rgba(225, 29, 72, .22);
  font-weight: 900;
  white-space: nowrap;
}

.admin-live-pill span {
  min-width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #e11d48;
  color: #fff;
  font-size: 14px;
}

.admin-main .admin-panel-card,
.admin-main .admin-orders-card {
  padding: 16px;
  border: 1px solid rgba(148, 163, 184, .25);
  border-radius: 8px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 18px 45px rgba(15, 23, 42, .07);
}

.admin-danger-zone {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
  border-color: rgba(220, 38, 38, .24) !important;
  background: #fff8f8 !important;
}

.admin-danger-zone strong,
.admin-danger-zone span {
  display: block;
}

.admin-danger-zone strong {
  color: #991b1b;
  font-size: 16px;
}

.admin-danger-zone span {
  margin-top: 3px;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
}

.admin-section-title-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  margin: 20px 0 12px;
}

.admin-section-title-row h2 {
  margin: 0;
  color: #0f172a;
  font-size: 24px;
  line-height: 1.15;
}

.admin-section-title-row p {
  margin: 6px 0 0;
  color: #64748b;
  font-weight: 650;
}

.admin-order-search {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.admin-order-search input[type="search"],
.admin-order-search select {
  width: 210px;
  height: 44px;
  padding: 0 14px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
  color: #0f172a;
  font-weight: 750;
}

.admin-order-search select {
  width: 170px;
}

.admin-orders-table {
  min-width: 1120px;
}

.admin-orders-table tbody tr {
  transition: background .15s ease, transform .15s ease;
}

.admin-orders-table tbody tr:hover td {
  background: #f8fafc;
}

.admin-orders-table td:first-child {
  font-weight: 950;
  color: #0f172a;
}

.admin-pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 16px 0 22px;
  flex-wrap: wrap;
}

.admin-pagination a {
  min-width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  border: 1px solid #dbe3ef;
  background: #fff;
  color: #0f172a;
  text-decoration: none;
  font-weight: 900;
}

.admin-pagination a.is-active {
  background: #0f172a;
  color: #fff;
  border-color: #0f172a;
}

.admin-wrap {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background: linear-gradient(135deg, #f8fafc, #eef2f7);
}

.admin-wrap .admin-card {
  width: min(440px, 100%);
  padding: 28px;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 8px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 28px 70px rgba(15, 23, 42, .14);
}

.admin-wrap .admin-card h1 {
  margin: 0 0 18px;
  color: #0f172a;
  font-size: 30px;
  letter-spacing: 0;
}

.admin-wrap .admin-label {
  margin-top: 14px;
}

.admin-wrap .admin-input {
  height: 46px;
  border-radius: 8px;
}

.admin-wrap .admin-btn {
  width: 100%;
  min-height: 48px;
  margin-top: 18px;
  border-radius: 8px;
  background: linear-gradient(135deg, #ef233c, #b91c1c);
}

@media (max-width: 900px) {
  .admin-page-head,
  .admin-section-title-row {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-live-pill {
    justify-content: center;
  }

  .admin-order-search,
  .admin-order-search input[type="search"] {
    width: 100%;
  }

	  .admin-order-search .btn,
	  .admin-order-search .btn-mini {
	    flex: 1;
	  }

  .admin-danger-zone {
    align-items: stretch;
    flex-direction: column;
  }
}

.home-feature-tabs {
  max-width: 1200px;
  margin: 20px auto 18px;
  padding: 0 14px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}

.home-feature-tab {
  display: grid;
  grid-template-columns: 54px 1fr;
  align-items: center;
  gap: 14px;
  min-height: 92px;
  padding: 18px 20px;
  border-radius: 18px;
  text-decoration: none !important;
  border: 1px solid rgba(225, 29, 72, .18);
  background: #fff;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .08);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.home-feature-tab:hover {
  transform: translateY(-2px);
  box-shadow: 0 24px 52px rgba(15, 23, 42, .12);
}

.home-feature-tab--kits {
  background: linear-gradient(135deg, #fff, #fff7ed);
}

.home-feature-tab--promo {
  background: linear-gradient(135deg, #fff1f2, #fff);
  border-color: rgba(225, 29, 72, .32);
}

.home-feature-icon {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #0f172a;
  color: #fff;
  font-size: 25px;
  font-weight: 950;
  line-height: 1;
}

.home-feature-tab--promo .home-feature-icon {
  background: linear-gradient(135deg, #ef233c, #b91c1c);
  box-shadow: 0 12px 24px rgba(225, 29, 72, .24);
}

.home-feature-tab strong {
  display: block;
  color: #0f172a;
  font-size: 22px;
  font-weight: 950;
  line-height: 1.1;
}

.home-feature-tab small {
  display: block;
  margin-top: 5px;
  color: #526071;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.35;
}

.kits-page {
  padding-top: 34px;
}

.kits-hero {
  max-width: none;
  padding: 30px;
  margin-bottom: 28px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: linear-gradient(135deg, #fff, #f8fafc 55%, #fff1f2);
  box-shadow: 0 18px 48px rgba(15, 23, 42, .07);
}

.promos-hero {
  background: linear-gradient(135deg, #fff1f2, #fff 58%, #f8fafc);
  border-color: rgba(225, 29, 72, .20);
}

.kits-hero-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.kits-hero-pills span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #e2e8f0;
  color: #334155;
  font-size: 13px;
  font-weight: 850;
}

.kits-grid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  align-items: stretch;
}

.kit-card {
  display: flex;
  flex-direction: column;
  border-color: #e2e8f0;
  border-radius: 18px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.kit-card:hover {
  transform: translateY(-3px);
  border-color: rgba(225, 29, 72, .24);
  box-shadow: 0 22px 52px rgba(15, 23, 42, .12);
}

.kit-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.kit-card-note,
.kit-cable-note {
  border: 1px solid rgba(225, 29, 72, .18);
  background: #fff1f2;
  color: #9f1239;
  font-weight: 800;
}

.kit-card-note {
  margin: 10px 0 0;
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 13px;
  line-height: 1.35;
}

.kit-card .kit-price-box {
  margin-top: auto;
}

.kit-detail-hero {
  align-items: stretch;
}

.kit-detail-left {
  padding: 28px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: linear-gradient(135deg, #fff, #f8fafc);
  box-shadow: 0 18px 48px rgba(15, 23, 42, .06);
}

.kit-cable-note {
  display: grid;
  gap: 5px;
  max-width: 740px;
  margin: 14px 0 18px;
  padding: 14px 16px;
  border-radius: 14px;
  line-height: 1.42;
}

.kit-cable-note strong {
  color: #be123c;
  font-size: 15px;
}

.kit-cable-note span {
  color: #475569;
  font-size: 14px;
  font-weight: 750;
}

.kit-cable-note--mobile {
  display: none;
}

.kit-full-description {
  margin: 0 0 16px;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #f8fafc;
  overflow: hidden;
}

.kit-full-description summary {
  min-height: 54px;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  color: #0f172a;
  font-weight: 950;
  list-style: none;
}

.kit-full-description summary::-webkit-details-marker {
  display: none;
}

.kit-full-description-arrow {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #fff;
  color: #be123c;
  font-size: 20px;
  transition: transform .18s ease;
}

.kit-full-description[open] .kit-full-description-arrow {
  transform: rotate(180deg);
}

.kit-full-description-body {
  padding: 0 16px 16px;
  color: #475569;
  font-size: 15px;
  line-height: 1.6;
}

.kit-full-description-body p {
  margin: 10px 0 0;
}

.promo-card .kit-card-img {
  background: linear-gradient(135deg, #fff, #fff1f2);
}

@media (max-width: 900px) {
  .home-feature-tabs {
    grid-template-columns: 1fr;
    margin: 14px auto 16px;
  }

  .home-feature-tab {
    grid-template-columns: 48px 1fr;
    min-height: 82px;
    padding: 15px 16px;
    border-radius: 16px;
  }

  .home-feature-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    font-size: 22px;
  }

  .home-feature-tab strong {
    font-size: 19px;
  }

  .kits-hero {
    padding: 22px;
    border-radius: 16px;
  }

  .kits-grid {
    grid-template-columns: 1fr;
  }

  .kit-detail-left {
    padding: 22px;
  }

  .kit-cable-note--desktop {
    display: none;
  }

  .kit-cable-note--mobile {
    display: grid;
    margin: 16px 0 0;
  }

  .kit-detail-item {
    grid-template-columns: 70px 1fr;
  }

  .kit-detail-qty {
    grid-column: 2;
    justify-self: start;
  }
}

/* ===== Final kit polish overrides ===== */
.kit-card {
  border-color: rgba(226, 232, 240, .95);
  box-shadow: 0 16px 42px rgba(15, 23, 42, .08);
}

.kit-card-img {
  height: 238px;
  background: radial-gradient(circle at 50% 12%, #fff 0, #f8fafc 52%, #eef2f7 100%);
}

.kit-main-img {
  max-height: 112px;
}

.kit-mini-cams {
  bottom: 14px;
  max-width: 180px;
  padding: 8px 12px;
}

.kit-brand-mark {
  position: absolute;
  top: 14px;
  left: 16px;
  z-index: 4;
  max-width: 138px;
  max-height: 42px;
  object-fit: contain;
}

.kit-system-mark {
  position: absolute;
  top: 14px;
  right: 16px;
  z-index: 4;
  min-width: 54px;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 8px;
  background: #111827;
  color: #fff;
  font-size: 13px;
  font-weight: 950;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .18);
}

.kit-system-mark img {
  max-width: 76px;
  max-height: 42px;
  object-fit: contain;
}

.kit-visual-stage {
  position: relative;
  z-index: 2;
  width: 100%;
  min-height: 206px;
  display: grid;
  align-content: end;
  justify-items: center;
  padding: 50px 16px 30px;
}

.kit-camera-stack {
  position: absolute;
  top: 58px;
  left: 50%;
  width: min(92%, 320px);
  height: 92px;
  transform: translateX(-50%);
}

.kit-camera-unit {
  position: absolute;
  left: calc(50% + (var(--i) - 1.5) * 42px);
  top: 6px;
  width: 96px;
  height: 76px;
  transform: translateX(-50%) rotate(calc((var(--i) - 2) * -1.6deg));
  filter: drop-shadow(0 10px 12px rgba(15, 23, 42, .18));
}

.kit-camera-unit img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.kit-camera-unit b {
  position: absolute;
  right: -2px;
  bottom: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  min-height: 24px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #e11d48;
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  box-shadow: 0 7px 14px rgba(225, 29, 72, .24);
}

.kit-camera-stack img {
  width: 96px;
  height: 76px;
  object-fit: contain;
}

.kit-camera-stack--1 img {
  left: 50%;
  width: 130px;
  height: 88px;
}

.kit-camera-stack--2 img {
  left: calc(50% + (var(--i) - .5) * 62px);
}

.kit-camera-stack--3 img,
.kit-camera-stack--4 img {
  left: calc(50% + (var(--i) - 1.5) * 46px);
}

.kit-camera-stack--5 img,
.kit-camera-stack--6 img,
.kit-camera-stack--7 img,
.kit-camera-stack--8 img {
  left: calc(50% + (var(--i) - 3.5) * 30px);
  width: 82px;
}

.kit-connect-mark {
  position: absolute;
  right: 15px;
  bottom: 14px;
  z-index: 5;
  width: 58px;
  max-height: 58px;
  object-fit: contain;
  filter: drop-shadow(0 8px 12px rgba(15, 23, 42, .18));
}

.kit-online-note {
  margin-top: 4px;
  color: #0f766e;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.25;
}

/* Compact kit visual badges */
.kit-card-img .kit-brand-mark {
  top: 16px;
  left: 16px;
  width: auto;
  max-width: 92px;
  max-height: 28px;
  padding: 0;
  object-fit: contain;
}

.kit-card-img .kit-system-mark {
  top: 14px;
  right: 14px;
  min-width: 46px;
  min-height: 30px;
  padding: 5px 8px;
  border-radius: 7px;
  background: #e11d48;
  color: #fff;
  font-size: 12px;
}

.kit-card-img .kit-system-mark img {
  max-width: 54px;
  max-height: 28px;
}

.kit-card-img .kit-top-label {
  top: auto;
  left: 14px;
  bottom: 14px;
  transform: none;
  z-index: 6;
  padding: 6px 10px;
  border-radius: 8px;
  background: #e11d48;
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0;
  box-shadow: 0 8px 18px rgba(225, 29, 72, .22);
}

.kit-card-img .kit-connect-mark {
  right: 14px;
  bottom: 14px;
  width: 48px;
  max-height: 48px;
}

.kit-card-img .kit-visual-stage {
  min-height: 230px;
  padding: 44px 14px 28px;
}

.kit-card-img .kit-main-img {
  position: absolute;
  left: 50%;
  bottom: 36px;
  z-index: 2;
  transform: translateX(-50%);
  max-width: 86%;
  max-height: 142px;
}

.kit-card-img .kit-camera-stack {
  top: 44px;
  z-index: 3;
  width: min(96%, 340px);
  height: 112px;
}

.kit-card-img .kit-camera-unit,
.kit-card-img .kit-camera-stack img {
  width: 112px;
  height: 90px;
}

.kit-card-img .kit-camera-stack--1 .kit-camera-unit,
.kit-card-img .kit-camera-stack--1 img {
  width: 150px;
  height: 104px;
}

.kit-card-img .kit-camera-stack--2 .kit-camera-unit,
.kit-card-img .kit-camera-stack--2 img {
  left: calc(50% + (var(--i) - .5) * 78px);
}

.kit-card-img .kit-camera-stack--3 .kit-camera-unit,
.kit-card-img .kit-camera-stack--4 .kit-camera-unit,
.kit-card-img .kit-camera-stack--3 img,
.kit-card-img .kit-camera-stack--4 img {
  left: calc(50% + (var(--i) - 1.5) * 48px);
  width: 108px;
  height: 88px;
}

.kit-card-img .kit-camera-stack--5 .kit-camera-unit,
.kit-card-img .kit-camera-stack--6 .kit-camera-unit,
.kit-card-img .kit-camera-stack--7 .kit-camera-unit,
.kit-card-img .kit-camera-stack--8 .kit-camera-unit,
.kit-card-img .kit-camera-stack--5 img,
.kit-card-img .kit-camera-stack--6 img,
.kit-card-img .kit-camera-stack--7 img,
.kit-card-img .kit-camera-stack--8 img {
  left: calc(50% + (var(--i) - 3.5) * 38px);
  width: 96px;
  height: 82px;
}

.kit-card-body {
  gap: 10px;
  padding: 18px;
}

.kit-card-body h2 {
  margin-bottom: 0;
  font-size: 22px;
}

.kit-short {
  margin: 0;
  color: #475569;
  font-size: 15px;
  line-height: 1.45;
}

.kit-summary {
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 11px 13px;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
}

.kit-summary span {
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.kit-summary strong {
  color: #334155;
  font-size: 14px;
  line-height: 1.35;
}

.kit-summary ul {
  display: grid;
  gap: 3px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kit-summary li {
  color: #334155;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.3;
}

.kit-card-note {
  margin: 0;
}

.kit-hdd-grid {
  display: grid;
  gap: 10px;
  max-height: 330px;
  margin: 10px 0 0;
  padding-right: 4px;
  overflow: auto;
}

.kit-hdd-picker {
  margin: 10px 0 14px;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
}

.kit-hdd-picker summary {
  display: grid;
  grid-template-columns: 56px 1fr 40px;
  gap: 12px;
  align-items: center;
  min-height: 86px;
  padding: 12px;
  cursor: pointer;
  list-style: none;
  border: 2px solid rgba(225, 29, 72, .28);
  background: linear-gradient(135deg, #fff, #fff7f7);
}

.kit-hdd-picker summary::-webkit-details-marker {
  display: none;
}

.kit-hdd-picker summary::marker {
  content: "";
}

.kit-hdd-picker[open] summary {
  border-bottom-color: rgba(225, 29, 72, .28);
  background: #fff7f7;
}

.kit-hdd-picker .kit-hdd-grid {
  padding: 10px;
}

.kit-hdd-arrow {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(225, 29, 72, .20);
  background: #fff;
  color: #be123c;
  font-size: 22px;
  font-weight: 950;
  line-height: 1;
  transition: transform .18s ease;
}

.kit-hdd-picker[open] .kit-hdd-arrow {
  transform: rotate(180deg);
}

.kit-hdd-card {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #fff;
  color: #0f172a;
  text-decoration: none;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.kit-hdd-card:hover,
.kit-hdd-card.is-selected {
  border-color: rgba(225, 29, 72, .36);
  background: #fff7f7;
  box-shadow: 0 10px 24px rgba(225, 29, 72, .10);
}

.kit-hdd-icon {
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  background: #f8fafc;
  color: #64748b;
  font-size: 12px;
  font-weight: 950;
}

.kit-hdd-icon img {
  max-width: 44px;
  max-height: 44px;
  object-fit: contain;
}

.kit-hdd-text {
  display: grid;
  gap: 3px;
}

.kit-hdd-text strong {
  font-size: 14px;
  line-height: 1.2;
}

.kit-hdd-text small {
  color: #0f766e;
  font-weight: 900;
}

.kit-selected-hdd {
  display: grid;
  gap: 3px;
  margin: 0 0 12px;
  padding: 12px;
  border: 1px solid #bfdbfe;
  border-radius: 14px;
  background: #eff6ff;
  color: #0f172a;
}

.kit-selected-hdd span {
  color: #0f766e;
  font-weight: 950;
}

.kit-total-with-hdd {
  margin: 0 0 12px;
  padding: 12px;
  border-radius: 14px;
  background: #f8fafc;
  color: #475569;
  font-weight: 800;
}

.kit-total-with-hdd strong {
  color: #e11d48;
  font-size: 20px;
}

.kit-detail-item {
  display: block;
  padding: 0;
  overflow: hidden;
}

.kit-detail-item summary::-webkit-details-marker {
  display: none;
}

.kit-detail-summary {
  display: grid;
  grid-template-columns: 76px 1fr auto 36px;
  gap: 14px;
  align-items: center;
  min-height: 96px;
  padding: 12px;
  cursor: pointer;
  list-style: none;
}

.kit-detail-info {
  display: grid;
  gap: 3px;
}

.kit-detail-info small {
  color: #64748b;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.kit-detail-info strong {
  color: #0f172a;
  font-size: 16px;
  line-height: 1.2;
}

.kit-product-desc {
  display: block;
  margin-top: 4px;
  color: #475569;
  font-size: 14px;
  line-height: 1.35;
}

.kit-detail-toggle {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #fff;
  color: #e11d48;
  font-size: 22px;
  font-weight: 900;
  transition: transform .18s ease, background .18s ease;
}

.kit-detail-item[open] .kit-detail-toggle {
  transform: rotate(45deg);
  background: #fff1f2;
}

.kit-detail-more {
  margin: 0 12px 12px 102px;
  padding: 14px 16px;
  border-left: 3px solid #e11d48;
  border-radius: 0 12px 12px 0;
  background: #fff;
  color: #475569;
  font-size: 15px;
  line-height: 1.55;
}

.kit-detail-more p {
  margin: 0 0 10px;
}

.kit-detail-more a {
  color: #e11d48;
  font-weight: 900;
}

.kit-item-qty input[name="sort_order"] {
  width: 74px;
}

@media (max-width: 900px) {
  .kit-card-img {
    height: 220px;
  }

  .kit-detail-summary {
    grid-template-columns: 68px 1fr auto;
  }

  .kit-detail-toggle {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    align-self: end;
    width: 34px;
    height: 34px;
  }

  .kit-detail-more {
    margin: 0 12px 12px;
  }
}
.admin-mini-actions {
    display: flex;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
}

.admin-btn-mini {
    border: 0;
    padding: 6px 10px;
    border-radius: 6px;
    background: #1f2937;
    color: #fff;
    cursor: pointer;
    font-size: 13px;
}

.admin-btn-mini.danger {
    background: #b91c1c;
}
.category-promo-strip {
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 12px;
    line-height: 1.3;
}

.category-promo-strip--desktop {
    display: inline-flex;
}

.category-promo-strip--mobile {
    display: none;
}

.category-promo-label {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 5px 10px;
    background: #fff1f2;
    color: #b91c1c;
    border: 1px solid #fecdd3;
    font-weight: 800;
}

.category-promo-countdown {
    color: #374151;
    font-weight: 600;
}

.category-promo-countdown strong {
    color: #b91c1c;
}

@media (max-width: 900px) {
    .category-promo-strip--desktop {
        display: none;
    }

    .category-promo-strip--mobile {
        display: none;
        margin: 8px 10px 10px;
        padding: 8px 10px;
        border-radius: 14px;
        background: #ffffff;
        border: 1px solid #fee2e2;
        box-shadow: 0 8px 22px rgba(15, 23, 42, .08);
    }

    .category-promo-label {
        padding: 4px 9px;
        font-size: 11px;
    }

    .category-promo-countdown {
        font-size: 11px;
    }
}
.promo-cats-toolbar {
    display: flex;
    gap: 8px;
    margin: 8px 0 10px;
    flex-wrap: wrap;
}

.promo-cats-box {
    max-height: 430px;
    overflow: auto;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    padding: 8px 0;
}

.promo-brand-box {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 8px;
    padding: 12px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #f8fafc;
}

.promo-brand-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 82px 16px;
    align-items: center;
    gap: 6px;
    padding: 8px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
}

.promo-brand-row span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 800;
}

.promo-brand-row input {
    width: 100%;
}

.promo-brand-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 8px;
}

.promo-brand-list span {
    display: inline-flex;
    padding: 3px 7px;
    border-radius: 999px;
    background: #fff1f2;
    color: #b91c1c;
    font-size: 12px;
    font-weight: 900;
}

.promo-list-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 8px 0 14px;
    padding: 10px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #f8fafc;
    color: #475569;
    font-size: 13px;
    font-weight: 700;
}

.promo-cat-check {
    display: flex;
    align-items: center;
    gap: 7px;
    padding-top: 7px;
    padding-bottom: 7px;
    border-bottom: 1px solid #f3f4f6;
    cursor: pointer;
    font-size: 14px;
}

.promo-cat-check:hover {
    background: #f9fafb;
}

.promo-cat-check input {
    width: 16px;
    height: 16px;
}

/* ===== Clear expandable content for SEO-heavy pages ===== */
.seo-accordion,
.service-accordion {
  overflow: hidden;
}

.seo-accordion > summary,
.service-accordion > summary,
.home-faq .faq-item > summary,
.products-seo-footer .seo-faq details > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 56px;
  padding: 16px 18px;
  border-radius: 16px;
  background: #fff;
  color: #0f172a;
  font-size: 16px;
  font-weight: 950;
  line-height: 1.25;
  border: 1px solid #e2e8f0;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .055);
}

.seo-accordion > summary::-webkit-details-marker,
.service-accordion > summary::-webkit-details-marker,
.home-faq .faq-item > summary::-webkit-details-marker,
.products-seo-footer .seo-faq details > summary::-webkit-details-marker {
  display: none;
}

.seo-accordion > summary::after,
.service-accordion > summary::after,
.home-faq .faq-item > summary::after,
.products-seo-footer .seo-faq details > summary::after {
  content: "+";
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #fff1f2;
  color: #be123c;
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
}

.seo-accordion[open] > summary,
.service-accordion[open] > summary,
.home-faq .faq-item[open] > summary {
  border-color: rgba(225, 29, 46, .22);
  background: #fff7f7;
  color: #b91c1c;
}

.seo-accordion[open] > summary::after,
.service-accordion[open] > summary::after,
.home-faq .faq-item[open] > summary::after,
.products-seo-footer .seo-faq details[open] > summary::after {
  content: "-";
}

.seo-accordion > *:not(summary),
.service-accordion > *:not(summary) {
  margin-top: 16px;
}

.home-faq .faq-item {
  padding: 0;
}

.home-faq .faq-item > p {
  margin: 0;
  padding: 14px 20px 20px;
  color: #475569;
  line-height: 1.65;
}

.products-seo-intro.seo-accordion,
.products-seo-footer.seo-accordion {
  display: block;
  margin-top: 18px;
  padding: 16px 18px 18px;
}

.products-seo-intro.seo-accordion > h2,
.products-seo-footer.seo-accordion > h2 {
  margin-top: 18px;
}

/* ===== Final polish for compact SEO accordions ===== */
.home-seo .seo-accordion {
  max-width: 980px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 24px 28px;
}

.home-seo .seo-accordion > summary {
  width: 100%;
  margin: 0;
}

.products-seo-footer .seo-faq {
  display: grid;
  gap: 10px;
}

.products-seo-footer .seo-faq details {
  margin: 0;
  padding: 0;
  border: 1px solid #dbe4ef;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .055);
  overflow: hidden;
}

.products-seo-footer .seo-faq details > summary {
  min-height: 58px;
  padding: 16px 18px;
  border: 0;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: none;
  color: #0f172a;
  font-size: 15px;
}

.products-seo-footer .seo-faq details[open] > summary {
  background: #fff7f7;
  color: #b91c1c;
  border-bottom: 1px solid #fee2e2;
}

.products-seo-footer .seo-faq p {
  margin: 0;
  padding: 14px 18px 18px;
  color: #475569;
  line-height: 1.65;
  opacity: 1;
}

.products-seo-footer .seo-links {
  gap: 10px;
}

.products-seo-footer .seo-links a {
  min-height: 42px;
  padding: 10px 14px;
  font-size: 14px;
  background: #fff;
  border-color: #dbe4ef;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .055);
}

@media (max-width: 900px) {
  .home-seo .seo-accordion,
  .products-seo-intro.seo-accordion,
  .products-seo-footer.seo-accordion {
    padding: 14px;
  }

  .products-seo-footer .seo-faq {
    gap: 8px;
  }

  .products-seo-footer .seo-faq details > summary {
    min-height: 52px;
    padding: 14px;
    border-radius: 14px;
    font-size: 14px;
  }

  .products-seo-footer .seo-faq p {
    padding: 12px 14px 14px;
  }
}

@media (max-width: 900px) {
  .seo-accordion > summary,
  .service-accordion > summary,
  .home-faq .faq-item > summary,
  .products-seo-footer .seo-faq details > summary {
    min-height: 50px;
    padding: 14px 15px;
    border-radius: 14px;
    font-size: 14px;
  }

  .seo-accordion > summary::after,
  .service-accordion > summary::after,
  .home-faq .faq-item > summary::after,
  .products-seo-footer .seo-faq details > summary::after {
    width: 28px;
    height: 28px;
    font-size: 20px;
  }
}
.live-camera-page {
    display: flex;
    flex-direction: column;
    max-width: 1200px;
    margin: 0 auto;
    padding: 28px 16px 70px;
}

.live-camera-page .live-hero {
    order: 1;
}

.live-camera-page .live-player-section {
    order: 2;
}

.live-camera-page .live-camera-grid-section {
    order: 4;
}

.live-camera-page .live-weather-section {
    order: 5;
}

.live-camera-page .live-seo-text {
    order: 6;
}

.live-camera-page .live-proof-section {
    order: 3;
}

.live-hero {
    position: relative;
    overflow: hidden;
    min-height: 250px;
    display: flex;
    align-items: flex-end;
    background:
        linear-gradient(180deg, rgba(4,10,20,.22), rgba(4,10,20,.92)),
        url("/assets/img/about.webp") center/cover;
    color: #fff;
    border-radius: 18px;
    padding: 28px 38px;
    margin-bottom: 18px;
    box-shadow: 0 14px 34px rgba(0,0,0,.16);
}

.live-camera-page--boyana .live-hero {
    background:
        linear-gradient(180deg, rgba(3,13,18,.18), rgba(3,13,18,.9)),
        url("/assets/img/about.webp") center/cover;
}

.live-hero-text {
    max-width: 820px;
}

.live-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    padding: 8px 13px;
    border-radius: 999px;
    background: rgba(255,255,255,.14);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0;
    backdrop-filter: blur(8px);
}

.live-badge i,
.live-overlay-kicker i,
.live-status-dot i,
.live-card-status i,
.pill-live-copy i,
.mobile-menu-live-link small i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 6px rgba(34,197,94,.18);
    display: inline-block;
    animation: livePulse 1.8s ease-in-out infinite;
}

.live-hero h1 {
    margin: 0 0 14px;
    font-size: clamp(26px, 2.8vw, 34px);
    line-height: 1.12;
}

.live-hero p {
    margin: 0;
    max-width: 820px;
    font-size: 15px;
    line-height: 1.5;
    color: rgba(255,255,255,.88);
}

.live-hero-actions,
.live-camera-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-top: 20px;
}

.live-ghost-btn,
.live-premium-btn {
    background: linear-gradient(180deg, #fff, #fff5f6);
    color: #d71920;
    border: 1px solid rgba(215,25,32,.24);
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(215,25,32,.10);
}

.live-ghost-btn:hover {
    background: #d71920;
    color: #fff;
    border-color: #d71920;
}

.live-quality-switch {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    border: 1px solid rgba(15,23,42,.10);
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 10px 22px rgba(15,23,42,.06);
}

.live-quality-switch button {
    min-height: 34px;
    padding: 8px 14px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #475569;
    font-weight: 900;
    cursor: pointer;
}

.live-quality-switch button.is-active {
    background: #d71920;
    color: #fff;
}

.live-player-section,
.live-camera-grid-section,
.live-weather-section,
.live-proof-section,
.live-seo-text {
    margin-bottom: 34px;
}

.live-weather-section {
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 10px 28px rgba(0,0,0,.06);
}

.weather-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0;
}

.weather-tabs button {
    border: 1px solid rgba(15,23,42,.1);
    background: #f8fafc;
    color: #0f172a;
    border-radius: 999px;
    padding: 10px 14px;
    font-weight: 900;
    cursor: pointer;
}

.weather-tabs button.is-active {
    background: #d71920;
    color: #fff;
    border-color: transparent;
    box-shadow: 0 10px 22px rgba(215,25,32,.18);
}

.weather-now {
    min-height: 118px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: 18px;
    border-radius: 14px;
    background: linear-gradient(135deg, #eef6ff, #f9fbff);
    border: 1px solid rgba(15,23,42,.08);
}

.weather-now-icon {
    width: 72px;
    height: 72px;
    display: grid;
    place-items: center;
    border-radius: 20px;
    background: #fff;
    font-size: 38px;
    box-shadow: 0 12px 24px rgba(15,23,42,.08);
}

.weather-now span,
.weather-now small {
    display: block;
    color: #64748b;
    font-weight: 800;
}

.weather-now strong {
    display: block;
    color: #0f172a;
    font-size: 38px;
    line-height: 1;
    margin: 5px 0;
}

.weather-now ul {
    display: grid;
    gap: 7px;
    list-style: none;
    margin: 0;
    padding: 0;
    color: #475569;
    font-size: 14px;
}

.weather-now b {
    color: #0f172a;
}

.weather-loading {
    grid-column: 1 / -1;
    color: #64748b;
    font-weight: 800;
}

.weather-forecast {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
}

.weather-day {
    min-height: 160px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    justify-content: space-between;
    padding: 14px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid rgba(15,23,42,.08);
}

.weather-day span,
.weather-day small,
.weather-day em {
    color: #64748b;
    font-size: 13px;
    font-style: normal;
    line-height: 1.3;
}

.weather-day i {
    font-style: normal;
    font-size: 30px;
}

.weather-day strong {
    color: #0f172a;
    font-size: 18px;
}

.live-player-shell {
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 16px;
    padding: 22px;
    box-shadow: 0 10px 28px rgba(0,0,0,.08);
}

.live-player-top {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 18px;
}

.live-player-top h1,
.live-player-top h2 {
    margin: 0 0 6px;
    font-size: 26px;
}

.live-eyebrow,
.live-section-head span {
    display: block;
    color: #d71920;
    font-weight: 900;
    font-size: 13px;
    margin-bottom: 4px;
}

.live-status-dot {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 999px;
    background: #eaf8ef;
    color: #10883f;
    font-size: 14px;
    font-weight: 800;
}

.live-status-soon {
    background: #fff7ed;
    color: #c2410c;
}

.live-video-wrap {
    position: relative;
    overflow: hidden;
    border-radius: 14px;
    background:
        radial-gradient(circle at 28% 22%, rgba(215,25,32,.26), transparent 30%),
        linear-gradient(135deg, #0f172a, #020617);
    aspect-ratio: 16 / 9;
    min-height: 340px;
}

.live-video-wrap video,
.live-fallback-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}

.live-video-wrap video {
    z-index: 2;
    opacity: 0;
    pointer-events: none;
    background: #000;
}

.live-video-wrap video.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.live-fallback-slide {
    z-index: 1;
    object-fit: cover;
    opacity: .82;
    transition: opacity .25s ease;
}

.live-fallback-slide.is-missing {
    opacity: 0;
}

.live-stream-caption {
    display: none;
    position: absolute;
    left: 10px;
    bottom: 10px;
    z-index: 6;
    max-width: min(48%, 330px);
    padding: 4px 8px;
    border-radius: 8px;
    background: rgba(2, 6, 23, .38);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.18;
    text-shadow: 0 1px 2px rgba(0,0,0,.35);
    box-shadow: 0 4px 10px rgba(0,0,0,.14);
    backdrop-filter: blur(4px);
    pointer-events: none;
    transition: opacity .25s ease;
}

.live-subscribe-bumper {
    position: absolute;
    left: 50%;
    top: 54%;
    z-index: 7;
    display: grid;
    gap: 7px;
    width: min(430px, 72%);
    padding: 12px 12px 11px;
    border-radius: 13px;
    background: rgba(2, 6, 23, .16);
    color: #fff;
    text-align: center;
    text-decoration: none;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -50%) scale(.96);
    transition: opacity .22s ease, transform .22s ease;
    backdrop-filter: blur(3px);
}

.live-subscribe-bumper.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, -50%) scale(1);
}

.live-subscribe-bumper strong {
    position: relative;
    display: inline-grid;
    place-items: center;
    min-height: 52px;
    padding: 8px 58px;
    border: 3px solid rgba(255,255,255,.78);
    border-radius: 9px;
    background: rgba(239, 29, 29, .9);
    box-shadow: 0 10px 24px rgba(0,0,0,.18);
    font-size: clamp(16px, 2.15vw, 24px);
    font-weight: 950;
    line-height: 1;
    text-transform: uppercase;
    animation: liveSubscribePulse 1s ease-in-out infinite;
}

.live-subscribe-bumper i {
    position: absolute;
    right: 9px;
    bottom: 8px;
    min-width: 24px;
    padding: 1px 5px;
    border-radius: 999px;
    background: rgba(2, 6, 23, .26);
    color: rgba(255,255,255,.94);
    font-style: normal;
    font-size: 12px;
    font-weight: 900;
}

.live-subscribe-bumper span {
    display: inline-block;
    justify-self: center;
    max-width: 100%;
    padding: 4px 7px;
    border-radius: 7px;
    background: rgba(2, 6, 23, .22);
    font-size: clamp(12px, 1.55vw, 17px);
    font-weight: 800;
    line-height: 1.22;
    text-shadow: 0 1px 2px rgba(0,0,0,.28);
}

@keyframes liveSubscribePulse {
    0%, 100% {
        border-color: rgba(255,255,255,.52);
        box-shadow: 0 8px 20px rgba(0,0,0,.18);
    }
    50% {
        border-color: rgba(255,255,255,.92);
        box-shadow: 0 12px 26px rgba(239,29,29,.24);
    }
}

.live-video-logo {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 150px;
    max-width: 28%;
    height: auto;
    z-index: 5;
    background: rgba(255,255,255,.9);
    padding: 7px 10px;
    border-radius: 12px;
    box-shadow: 0 5px 16px rgba(0,0,0,.22);
    pointer-events: none;
}

.live-overlay {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: grid;
    place-items: center;
    background:
        linear-gradient(180deg, rgba(0,0,0,.24), rgba(0,0,0,.55)),
        radial-gradient(circle at center, rgba(255,255,255,.08), transparent 55%);
    transition: opacity .2s ease, visibility .2s ease;
}

.live-overlay.is-hidden {
    opacity: 0;
    visibility: hidden;
}

.live-overlay-card {
    width: min(86%, 410px);
    text-align: center;
    color: #fff;
    padding: 20px;
    border-radius: 14px;
    background: rgba(15, 23, 42, .72);
    backdrop-filter: blur(8px);
    box-shadow: 0 14px 34px rgba(0,0,0,.35);
}

.live-overlay-card strong {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 24px;
    margin-bottom: 14px;
}

.live-overlay-title i {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 6px rgba(34,197,94,.18);
    animation: livePulse 1.8s ease-in-out infinite;
}

.live-overlay-kicker {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 12px !important;
    font-size: 13px;
    text-transform: uppercase;
    color: rgba(255,255,255,.9) !important;
}

.live-overlay-card span {
    display: block;
    margin-bottom: 12px;
    color: rgba(255,255,255,.82);
}

.live-play-btn {
    border: 0;
    border-radius: 999px;
    background: #d71920;
    color: #fff;
    padding: 13px 22px;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(215,25,32,.25);
}

.live-play-btn--overlay {
    min-width: 210px;
    margin-top: 4px;
    box-shadow: 0 14px 30px rgba(215,25,32,.38);
}

.live-play-btn:hover {
    filter: brightness(.96);
}

.live-play-btn:disabled {
    opacity: .7;
    cursor: not-allowed;
}

.live-premium-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 13px 18px;
    font-size: 15px;
    font-weight: 900;
    border: 1px solid rgba(15,23,42,.12);
    box-shadow: 0 8px 18px rgba(15,23,42,.08);
}

.live-camera-product-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 240px;
    gap: 18px;
    align-items: center;
    margin-top: 18px;
    padding: 18px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid rgba(15,23,42,.08);
}

.live-camera-product-copy span {
    display: block;
    color: #d71920;
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 4px;
}

.live-camera-product-copy h3 {
    margin: 0 0 8px;
    font-size: 24px;
}

.live-camera-product-copy p {
    margin: 0;
    color: #64748b;
    line-height: 1.6;
}

.live-camera-product-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.youtube-live-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 16px 0 0;
    padding: 14px;
    border: 1px solid rgba(239, 68, 68, .18);
    border-radius: 16px;
    background: linear-gradient(135deg, #fff 0%, #fff7f7 100%);
    box-shadow: 0 12px 26px rgba(15, 23, 42, .06);
}

.youtube-live-copy {
    min-width: 0;
}

.youtube-live-copy span {
    display: block;
    margin: 0 0 4px;
    color: #dc2626;
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}

.youtube-live-copy strong {
    display: block;
    color: #0f172a;
    font-size: 18px;
    line-height: 1.18;
}

.youtube-live-copy p {
    margin: 5px 0 0;
    color: #64748b;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 650;
}

.youtube-live-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    flex: 0 0 auto;
}

.youtube-live-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    font-weight: 950;
    text-decoration: none;
    white-space: nowrap;
}

.youtube-live-btn--watch {
    background: #dc2626;
    color: #fff;
    box-shadow: 0 12px 24px rgba(220, 38, 38, .2);
}

.youtube-live-btn--subscribe {
    border: 1px solid #fecaca;
    background: #fff;
    color: #b91c1c;
}

.live-youtube-page {
    display: grid;
    gap: 26px;
}

.live-youtube-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
    gap: 18px;
    align-items: stretch;
    margin: 16px auto 0;
    width: min(1180px, calc(100% - 28px));
}

.live-youtube-hero-copy,
.live-youtube-support,
.live-youtube-grid-section,
.live-youtube-note {
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(15, 23, 42, .065);
}

.live-youtube-hero-copy {
    padding: clamp(24px, 5vw, 46px);
    background:
        radial-gradient(circle at 88% 18%, rgba(220, 38, 38, .11), transparent 30%),
        linear-gradient(135deg, #fff, #f8fafc);
}

.live-youtube-hero-copy h1 {
    margin: 0;
    max-width: 760px;
    color: #0f172a;
    font-size: clamp(38px, 5.5vw, 68px);
    line-height: 1;
}

.live-youtube-hero-copy p,
.live-youtube-support p,
.live-youtube-note p {
    color: #64748b;
    line-height: 1.65;
}

.live-youtube-actions,
.live-youtube-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.live-youtube-actions {
    margin-top: 22px;
}

.live-youtube-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 22px;
}

.live-youtube-stats span {
    display: grid;
    gap: 3px;
    min-height: 82px;
    padding: 14px;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 16px;
    background: rgba(255,255,255,.86);
}

.live-youtube-stats strong {
    color: #dc2626;
    font-size: 26px;
    line-height: 1;
}

.live-youtube-stats small {
    color: #64748b;
    font-weight: 850;
}

.live-youtube-support {
    display: grid;
    align-content: center;
    padding: clamp(22px, 4vw, 34px);
    background:
        linear-gradient(135deg, rgba(127, 29, 29, .94), rgba(220, 38, 38, .9)),
        #991b1b;
    color: #fff;
}

.live-youtube-support strong {
    display: block;
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1;
}

.live-youtube-support p {
    margin: 14px 0 0;
    color: rgba(255,255,255,.82);
    font-weight: 750;
}

.live-youtube-grid-section,
.live-youtube-note,
.live-youtube-feature-section,
.live-youtube-latest,
.live-youtube-conversion,
.live-youtube-monetize {
    width: min(1180px, calc(100% - 28px));
    margin: 0 auto;
    padding: clamp(20px, 4vw, 30px);
}

.live-youtube-feature-section,
.live-youtube-latest,
.live-youtube-conversion,
.live-youtube-monetize {
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(15, 23, 42, .065);
}

.live-youtube-latest {
    display: grid;
    grid-template-columns: minmax(280px, .82fr) minmax(0, 1fr);
    gap: clamp(18px, 4vw, 34px);
    align-items: center;
    background:
        radial-gradient(circle at 0% 0%, rgba(220, 38, 38, .12), transparent 30%),
        linear-gradient(135deg, #fff, #f8fafc);
}

.live-youtube-latest-video a {
    position: relative;
    display: block;
    min-height: 520px;
    border-radius: 18px;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(15,23,42,.04), rgba(15,23,42,.58)),
        var(--live-youtube-latest-bg) center/cover;
    box-shadow: 0 24px 54px rgba(15, 23, 42, .18);
}

.live-youtube-play {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 84px;
    height: 84px;
    display: grid;
    place-items: center;
    padding-left: 5px;
    border-radius: 50%;
    background: #dc2626;
    color: #fff;
    font-size: 34px;
    box-shadow: 0 18px 44px rgba(220, 38, 38, .36);
    transform: translate(-50%, -50%);
    transition: transform .2s ease, box-shadow .2s ease;
}

.live-youtube-latest-video a:hover .live-youtube-play {
    transform: translate(-50%, -50%) scale(1.08);
    box-shadow: 0 24px 60px rgba(220, 38, 38, .46);
}

.live-youtube-badge {
    position: absolute;
    left: 18px;
    top: 18px;
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    background: #dc2626;
    color: #fff;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .02em;
}

.live-youtube-latest-copy > span,
.live-youtube-conversion span {
    display: block;
    margin-bottom: 8px;
    color: #dc2626;
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}

.live-youtube-latest-copy h2,
.live-youtube-conversion h2 {
    margin: 0;
    color: #0f172a;
    font-size: clamp(34px, 4.6vw, 58px);
    line-height: 1;
}

.live-youtube-latest-copy p,
.live-youtube-conversion p {
    max-width: 680px;
    color: #64748b;
    line-height: 1.65;
    font-weight: 700;
}

.live-youtube-series {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 18px 0 6px;
}

.live-youtube-series strong,
.live-youtube-series em {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    font-style: normal;
    font-weight: 950;
}

.live-youtube-series strong {
    color: #0f172a;
    background: #e2e8f0;
}

.live-youtube-series em {
    color: #b91c1c;
    background: #fff1f2;
    border: 1px solid rgba(220, 38, 38, .18);
}

.live-youtube-conversion {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(320px, 1fr);
    gap: 24px;
    align-items: center;
    background:
        linear-gradient(135deg, #0f172a, #1e293b);
    color: #fff;
}

.live-youtube-conversion h2,
.live-youtube-conversion p {
    color: #fff;
}

.live-youtube-conversion p {
    color: rgba(255,255,255,.74);
}

.live-youtube-conversion ol {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.live-youtube-conversion li {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 16px;
    border-radius: 16px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
}

.live-youtube-conversion li strong {
    color: #fecaca;
    font-size: 20px;
}

.live-youtube-conversion li span {
    margin: 0;
    color: rgba(255,255,255,.88);
    text-transform: none;
    font-size: 15px;
}

.live-youtube-feature-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.live-youtube-feature-grid article {
    min-height: 170px;
    padding: 18px;
    border-radius: 18px;
    background:
        linear-gradient(180deg, rgba(15, 23, 42, .08), rgba(15, 23, 42, .78)),
        linear-gradient(135deg, #0f172a, #1f7a43);
    color: #fff;
}

.live-youtube-feature-grid strong {
    display: block;
    font-size: 22px;
    line-height: 1.1;
}

.live-youtube-feature-grid p {
    margin: 10px 0 0;
    color: rgba(255,255,255,.78);
    line-height: 1.5;
    font-weight: 750;
}

.live-youtube-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.live-youtube-card {
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 18px;
    background: #fff;
}

.live-youtube-thumb {
    position: relative;
    min-height: 150px;
    display: block;
    background:
        linear-gradient(180deg, rgba(15,23,42,.08), rgba(15,23,42,.68)),
        var(--live-youtube-bg) center/cover;
}

.live-youtube-thumb span {
    position: absolute;
    left: 12px;
    top: 12px;
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: #16a34a;
    color: #fff;
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}

.live-youtube-card.is-planned .live-youtube-thumb span {
    background: #f59e0b;
}

.live-youtube-card-body {
    padding: 15px;
}

.live-youtube-card-body h3 {
    margin: 0;
    color: #0f172a;
    font-size: 18px;
    line-height: 1.18;
}

.live-youtube-card-body p {
    margin: 9px 0 13px;
    color: #64748b;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 700;
}

.live-youtube-card-actions a,
.live-timelapse-video-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(34, 197, 94, .24);
    border-radius: 999px;
    background: #f0fdf4;
    color: #15803d;
    font-size: 12px;
    font-weight: 950;
    text-decoration: none;
}

.live-youtube-card-actions a.is-youtube,
.live-timelapse-video-links a.is-youtube {
    border-color: rgba(220, 38, 38, .24);
    background: #fff1f2;
    color: #b91c1c;
}

.live-timelapse-video-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.live-youtube-monetize {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .7fr);
    gap: 20px;
    align-items: center;
    background:
        radial-gradient(circle at 95% 12%, rgba(22, 163, 74, .12), transparent 28%),
        linear-gradient(135deg, #fff, #f8fafc);
}

.live-youtube-monetize span {
    display: block;
    margin-bottom: 8px;
    color: #dc2626;
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}

.live-youtube-monetize h2 {
    margin: 0;
    max-width: 720px;
    color: #0f172a;
    font-size: clamp(28px, 4vw, 46px);
    line-height: 1.05;
}

.live-youtube-monetize p {
    margin: 14px 0 0;
    color: #64748b;
    line-height: 1.65;
}

.live-youtube-goal {
    margin-top: 18px;
    padding: 16px;
    border: 1px solid rgba(220, 38, 38, .18);
    border-radius: 16px;
    background: #fff1f2;
}

.live-youtube-goal strong {
    display: block;
    color: #b91c1c;
    font-size: 20px;
    line-height: 1.2;
}

.live-youtube-goal p {
    margin-top: 8px;
    color: #7f1d1d;
    font-weight: 800;
}

.live-youtube-monetize ul {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.live-youtube-monetize li {
    padding: 12px 14px;
    border: 1px solid rgba(34, 197, 94, .16);
    border-radius: 14px;
    background: #f0fdf4;
    color: #14532d;
    font-weight: 850;
}

.live-camera-product-media {
    position: relative;
    min-height: 170px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    text-decoration: none;
    overflow: hidden;
}

.live-camera-product-media img {
    max-width: 92%;
    max-height: 150px;
    object-fit: contain;
}

.live-camera-product-media strong,
.product-live-model-badge {
    position: absolute;
    right: 10px;
    bottom: 10px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    padding: 8px 10px;
    background: rgba(236,253,243,.96);
    color: #10883f;
    font-size: 12px;
    font-weight: 900;
    box-shadow: 0 10px 22px rgba(15,23,42,.12);
}

.live-camera-product-media strong i,
.product-live-model-badge i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 5px rgba(34,197,94,.16);
    animation: livePulse 1.8s ease-in-out infinite;
}

.product-live-model-badge {
    z-index: 5;
    right: 12px;
    bottom: 12px;
}

.grid .card .product-live-model-badge {
    top: 12px;
    right: 12px;
    bottom: auto;
}

.grid .card .price-badge {
    z-index: 8;
}

.product-live-model-badge--detail {
    text-decoration: none;
}

.product-new-badge {
    position: absolute;
    right: -1px;
    left: auto;
    top: -1px;
    z-index: 9;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 20px;
    border-radius: 0 16px 0 8px;
    padding: 0;
    background: #84bd21;
    color: #fff;
    font-size: 0;
    font-weight: 950;
    box-shadow: 0 10px 18px rgba(132,189,33,.24);
    transform: none;
    overflow: hidden;
}

.product-new-badge::after {
    content: "ново";
    position: absolute;
    left: 50%;
    top: 50%;
    color: #fff;
    font-size: 9px;
    line-height: 1;
    font-weight: 950;
    text-transform: uppercase;
    transform: translate(-50%, -50%) rotate(-35deg);
}

.product-new-badge--detail {
    top: -1px;
    right: -1px;
    left: auto;
}

.product-live-demo-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    margin: 16px 0 18px;
    padding: 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, #ecfdf3, #f8fafc);
    border: 1px solid rgba(34,197,94,.28);
}

.product-live-demo-panel span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #10883f;
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 5px;
}

.product-live-demo-panel span i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 6px rgba(34,197,94,.16);
    animation: livePulse 1.8s ease-in-out infinite;
}

.product-live-demo-panel strong {
    display: block;
    color: #0f172a;
    font-size: 18px;
    line-height: 1.25;
}

.product-live-demo-panel p {
    margin: 6px 0 0;
    color: #64748b;
    line-height: 1.45;
    font-size: 14px;
}

.live-timer {
    display: none;
    padding: 11px 14px;
    border-radius: 12px;
    background: #fff;
    color: #111827;
    font-weight: 700;
    border: 1px solid rgba(0,0,0,.08);
}

.live-timer.is-visible {
    display: inline-flex;
}

.live-note {
    margin: 12px 0 0;
    font-size: 14px;
    color: #64748b;
}

.live-section-head {
    max-width: 760px;
    margin-bottom: 18px;
}

.live-section-head h2,
.live-seo-text h2 {
    font-size: 28px;
    margin: 0 0 8px;
}

.live-section-head p {
    margin: 0;
    color: #64748b;
    line-height: 1.6;
}

.live-camera-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.live-camera-grid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.live-camera-card {
    position: relative;
    min-height: 210px;
    background: #fff;
    border-radius: 18px;
    padding: 20px;
    border: 1px solid rgba(15,23,42,.08);
    box-shadow: 0 8px 22px rgba(0,0,0,.07);
    overflow: hidden;
    display: grid;
    grid-template-rows: auto 1fr auto auto auto;
    align-content: end;
    text-align: left;
}

.live-camera-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(15,23,42,.04), rgba(15,23,42,.84)),
        var(--live-card-bg, url("/assets/img/about.webp")) center/cover;
    z-index: 0;
}

.live-camera-card > * {
    position: relative;
    z-index: 1;
}

.live-camera-card span {
    align-self: flex-start;
    justify-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 999px;
    padding: 7px 10px;
    background: rgba(255,255,255,.9);
    color: #0f172a;
    font-size: 12px;
    font-weight: 900;
    margin-bottom: 10px;
}

.live-camera-card h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 20px;
    line-height: 1.16;
    text-align: left !important;
}

.live-camera-card p {
    margin: 0 0 14px;
    color: rgba(255,255,255,.86);
    line-height: 1.5;
    text-align: left !important;
    text-align-last: auto !important;
}

.live-camera-card a,
.live-camera-card em {
    color: #fff;
    font-weight: 900;
    font-style: normal;
    text-decoration: underline;
    text-underline-offset: 4px;
    text-align: left;
}

.live-camera-card em {
    text-decoration: none;
    color: #bbf7d0;
}

.live-soon-panel {
    min-height: 300px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 28px;
    color: #fff;
    background:
        linear-gradient(180deg, rgba(15,23,42,.18), rgba(15,23,42,.88)),
        url("/assets/img/about.webp") center/cover;
}

.live-soon-panel img {
    width: 76px;
    height: 76px;
    padding: 14px;
    border-radius: 50%;
    background: rgba(255,255,255,.92);
    animation: cameraPulse 2s ease-in-out infinite;
}

.live-soon-panel strong,
.live-soon-panel span {
    display: block;
}

.live-soon-panel strong {
    font-size: 28px;
    margin-top: 16px;
}

.live-soon-panel span {
    max-width: 520px;
    color: rgba(255,255,255,.86);
    line-height: 1.6;
    margin-top: 8px;
}

.live-seo-text {
    background: #fff;
    border-radius: 18px;
    padding: 26px;
    border: 1px solid rgba(15,23,42,.08);
    box-shadow: 0 8px 22px rgba(0,0,0,.05);
    font-size: 17px;
    line-height: 1.75;
}

.live-service-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 24px;
}

.live-service-cards div {
    background: #fff;
    padding: 20px;
    border-radius: 18px;
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 8px 22px rgba(0,0,0,.06);
}

.live-service-cards h3 {
    margin: 0 0 8px;
    font-size: 20px;
}

.live-service-cards p {
    margin: 0;
    color: #64748b;
}

.live-proof-section {
    background:
        linear-gradient(135deg, rgba(15,23,42,.96), rgba(30,41,59,.94)),
        #0f172a;
    border-radius: 18px;
    padding: 26px;
    color: #fff;
    box-shadow: 0 16px 34px rgba(15,23,42,.16);
}

.live-proof-section .live-section-head h2,
.live-proof-section .live-section-head p {
    color: #fff;
}

.live-proof-section .live-section-head p {
    opacity: .86;
}

.live-proof-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.live-proof-grid article {
    min-height: 190px;
    padding: 20px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 16px;
    background: rgba(255,255,255,.06);
}

.live-proof-grid strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin-bottom: 14px;
    border-radius: 50%;
    background: #d71920;
    color: #fff;
    font-weight: 950;
}

.live-proof-grid h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 20px;
    line-height: 1.18;
    text-align: left !important;
}

.live-proof-grid p {
    margin: 0;
    color: rgba(255,255,255,.78);
    line-height: 1.58;
    text-align: left !important;
}

.live-proof-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.live-internal-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.live-under-player-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 14px 0 4px;
}

.live-internal-links a,
.live-under-player-links a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 10px 14px;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid rgba(15,23,42,.09);
    color: #0f172a;
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(15,23,42,.05);
}

.live-internal-links a:hover,
.live-under-player-links a:hover {
    color: #e51b2a;
    border-color: rgba(229,27,42,.28);
    transform: translateY(-1px);
}

.live-internal-links a.is-live-link,
.live-under-player-links a.is-live-link {
    background: #0f172a;
    border-color: rgba(15,23,42,.22);
    color: #fff;
    box-shadow: 0 12px 24px rgba(15,23,42,.16);
}

.live-internal-links a.is-live-link i,
.live-under-player-links a.is-live-link i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 6px rgba(34,197,94,.18);
    animation: livePulse 1.8s ease-in-out infinite;
}

.live-internal-links a.is-live-link:hover,
.live-under-player-links a.is-live-link:hover {
    color: #fff;
    border-color: rgba(34,197,94,.42);
}

.pill-live-camera {
    position: relative;
    gap: 7px;
    padding: 7px 10px;
}

.pill-live-camera img {
    width: 24px;
    height: 24px;
    animation: cameraPulse 2s ease-in-out infinite;
}

.pill-live-copy {
    display: grid;
    gap: 2px;
    justify-items: center;
    font-size: 10px;
    line-height: 1;
    color: #10883f;
    text-transform: uppercase;
}

.pill-live-copy i {
    width: 6px;
    height: 6px;
    box-shadow: 0 0 0 4px rgba(34,197,94,.16);
}

.mega-live-link {
    background: #ecfdf3 !important;
    color: #10883f !important;
    font-weight: 900;
}

.mega-youtube-link,
.mobile-menu-youtube-link {
    gap: 8px;
}

.youtube-menu-icon {
    width: 25px;
    height: 18px;
    flex: 0 0 auto;
    display: inline-grid;
    place-items: center;
    border-radius: 5px;
    background: #ff0000;
    box-shadow: 0 6px 14px rgba(255,0,0,.22);
}

.youtube-menu-icon span {
    width: 0;
    height: 0;
    margin-left: 2px;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 8px solid #fff;
}

.mobile-menu-icon .youtube-menu-icon {
    width: 28px;
    height: 20px;
}

.desktop-mega-root-hint {
    margin: 0 0 12px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 750;
}

.mobile-menu-category-hint {
    display: block;
    margin-top: 3px;
    color: #64748b;
    font-size: 11px;
    line-height: 1.25;
    font-weight: 700;
}

.mobile-menu-category-title {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    color: inherit;
    text-decoration: none;
}

.mobile-menu-link--ip,
.mobile-menu-link--tvi {
    align-items: center;
}

.mobile-menu-link--ip .mobile-menu-link-text,
.mobile-menu-link--tvi .mobile-menu-link-text {
    display: grid;
    gap: 3px;
    line-height: 1.2;
}

.mobile-menu-link--ip .mobile-menu-category-title,
.mobile-menu-link--tvi .mobile-menu-category-title {
    font-weight: 900;
    text-decoration: none;
}

.mobile-menu-link--ip .mobile-menu-category-hint,
.mobile-menu-link--tvi .mobile-menu-category-hint {
    margin: 0;
    color: #64748b;
    font-size: 11px;
    line-height: 1.28;
    font-weight: 750;
    text-decoration: none;
}

.mobile-menu-link--ip {
    background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.mobile-menu-link--tvi {
    background: linear-gradient(180deg, #ffffff, #fffaf7);
}

.cat-help-text {
    margin: 6px 0 10px;
    padding: 9px 10px;
    border-radius: 12px;
    background: #f8fafc;
    color: #64748b;
    font-size: 12px;
    line-height: 1.4;
}

.mobile-menu-live-link .mobile-menu-link-text {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    min-height: 18px;
    line-height: 18px;
    white-space: nowrap;
}

.mobile-menu-live-link small {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #10883f;
    font-size: 11px;
    line-height: 18px;
    text-transform: uppercase;
}

.mobile-menu-live-link b {
    display: inline-flex;
    align-items: center;
    color: #111827;
    font-size: 14px;
    line-height: 18px;
}

.mobile-menu-camera-icon img {
    width: 24px;
    height: 24px;
    animation: cameraPulse 2s ease-in-out infinite;
}

.footer-live-link {
    border-color: rgba(34,197,94,.25) !important;
    color: #10883f !important;
}

.footer-live-link,
.footer-live-camera-link,
.footer-youtube-link,
.footer-youtube-channel-link {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
}

.footer-live-link i,
.footer-live-camera-link i {
    width: 7px;
    height: 7px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 5px rgba(34,197,94,.14);
    animation: livePulse 1.8s ease-in-out infinite;
}

.footer-live-camera-link {
    color: #10883f !important;
    font-weight: 800;
}

.footer-youtube-link,
.footer-youtube-channel-link {
    color: #b91c1c !important;
    font-weight: 850;
}

.footer-youtube-link .youtube-menu-icon,
.footer-youtube-channel-link .youtube-menu-icon {
    width: 23px;
    height: 16px;
}

.footer-youtube-link .youtube-menu-icon span,
.footer-youtube-channel-link .youtube-menu-icon span {
    border-top-width: 4px;
    border-bottom-width: 4px;
    border-left-width: 7px;
}

.service-live-promo {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(15,23,42,.96), rgba(18,37,48,.86)),
        url("/assets/img/about.webp") center/cover;
    color: #fff;
    border: 0;
    border-radius: 14px;
    padding: 18px 20px;
    min-height: 0;
}

.service-live-promo::after {
    content: "";
    position: absolute;
    right: 18px;
    top: 50%;
    width: 54px;
    height: 54px;
    transform: translateY(-50%);
    background: url("/camera-icon.svg") center/31px 31px no-repeat, rgba(255,255,255,.94);
    border-radius: 50%;
    box-shadow: 0 12px 28px rgba(0,0,0,.18);
    animation: cameraPulse 2.2s ease-in-out infinite;
}

.service-live-promo .service-section-head,
.service-live-promo .service-live-promo-actions {
    position: relative;
    z-index: 1;
    max-width: none;
    margin-left: 0;
    margin-right: 72px;
    text-align: left;
}

.service-live-promo .service-section-head {
    margin-bottom: 10px !important;
}

.service-live-promo .service-section-head h2 {
    margin-bottom: 5px !important;
    font-size: clamp(19px, 2vw, 25px) !important;
    line-height: 1.15 !important;
}

.service-live-promo .service-section-head h2,
.service-live-promo .service-section-head p {
    color: #fff;
}

.service-live-promo .service-section-head p {
    opacity: .88;
    max-width: 620px;
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}

.service-live-promo-actions {
    display: flex;
    justify-content: flex-start;
    gap: 8px;
    flex-wrap: wrap;
}

.service-live-promo-actions .btn {
    min-height: 36px !important;
    padding: 8px 12px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
}

.service-live-promo .btn-light {
    background: #fff;
    color: #0f172a;
}

.home-live-cameras {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    align-items: center;
    margin: 28px 0;
    padding: 30px;
    border-radius: 16px;
    overflow: hidden;
    color: #fff;
    background:
        linear-gradient(135deg, rgba(15,23,42,.96), rgba(22,58,68,.86)),
        url("/assets/img/about.webp") center/cover;
    box-shadow: 0 14px 34px rgba(15,23,42,.14);
}

.home-products-head {
    margin: 34px 0 18px;
    text-align: center;
}

.home-products-head span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
    padding: 6px 12px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #64748b;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.home-products-head h2 {
    margin: 0;
    color: #0f172a;
    font-size: clamp(26px, 4vw, 42px);
    line-height: 1.12;
}

.home-products-head p {
    max-width: 760px;
    margin: 10px auto 0;
    color: #64748b;
    font-size: 16px;
    line-height: 1.55;
    font-weight: 650;
}

.home-live-copy span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #bbf7d0;
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 8px;
}

.home-live-copy span i,
.home-live-preview small i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 6px rgba(34,197,94,.16);
    display: inline-block;
    animation: livePulse 1.8s ease-in-out infinite;
}

.home-live-copy h2 {
    margin: 0 0 10px;
    max-width: 920px;
    font-size: clamp(25px, 3vw, 36px);
    line-height: 1.15;
    color: #fff;
}

.home-live-copy p {
    margin: 0;
    max-width: 900px;
    color: rgba(255,255,255,.88);
    line-height: 1.65;
}

.home-live-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
}

.home-live-preview-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.home-live-preview {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 145px;
    border-radius: 14px;
    background: #0f172a;
    color: #fff;
    text-decoration: none;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 20px;
    box-shadow: 0 16px 38px rgba(0,0,0,.22);
}

.home-live-preview::before,
.home-live-preview::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
}

.home-live-preview::before {
    background: var(--home-live-card-bg) center/cover;
    transform: scale(1.04);
    animation: homeLivePhotoDrift 9s ease-in-out infinite alternate;
}

.home-live-preview::after {
    z-index: -1;
    background: linear-gradient(180deg, rgba(15,23,42,.2), rgba(15,23,42,.84));
}

.home-live-preview--boyana {
    --home-live-card-bg: url("/assets/img/boyana-vitosha-kopitoto-1.png");
}

.home-live-preview--boyana-sofia {
    --home-live-card-bg: url("/live-archive/boyana-sofia/current.jpg");
}

.home-live-preview--cherni {
    --home-live-card-bg: url("/assets/img/cherni-vrah-sofia-1.jpg");
}

.home-live-preview--cherni-pernik {
    --home-live-card-bg: url("/_youtube_channel_assets/cherni-vrah-pernik.jpg");
}

.home-live-preview img {
    width: 54px;
    height: 54px;
    padding: 9px;
    border-radius: 18px;
    background: rgba(255,255,255,.9);
    animation: cameraPulse 2s ease-in-out infinite;
}

.home-live-preview strong {
    font-size: 18px;
    line-height: 1.2;
    color: #fff;
}

.home-live-preview small {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #bbf7d0;
    font-weight: 900;
    text-transform: uppercase;
}

@media (max-width: 1100px) {
    .home-live-preview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@keyframes homeLivePhotoDrift {
    from {
        transform: scale(1.04) translate3d(-4px, -3px, 0);
    }
    to {
        transform: scale(1.12) translate3d(5px, 4px, 0);
    }
}

@keyframes livePulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.28); opacity: .76; }
}

@keyframes cameraPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.08); }
}

@media (max-width: 768px) {
    .live-camera-page {
        display: flex;
        flex-direction: column;
    }

    .live-camera-page .live-hero {
        order: 3;
    }

    .live-camera-page .live-player-section {
        order: 1;
    }

    .live-camera-page .live-weather-section {
        order: 5;
    }

    .live-camera-page .live-camera-grid-section {
        order: 2;
    }

    .live-camera-page .live-proof-section {
        order: 4;
    }

    .live-camera-page .live-seo-text {
        order: 6;
    }

    .live-camera-page {
        padding: 16px 10px 46px;
    }

    .live-hero {
        min-height: 240px;
        padding: 22px 16px;
        border-radius: 14px;
        margin-bottom: 18px;
    }

    .live-hero h1 {
        font-size: 28px;
        line-height: 1.12;
    }

    .live-hero p {
        font-size: 15px;
        line-height: 1.55;
    }

    .live-hero-actions {
        gap: 10px;
    }

    .live-hero-actions .btn {
        flex: 1 1 150px;
        min-height: 44px;
        padding: 10px 12px;
        text-align: center;
    }

    .live-player-shell,
    .live-weather-section,
    .live-proof-section,
    .live-seo-text {
        padding: 14px;
        border-radius: 14px;
    }

    .weather-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .weather-tabs button {
        padding: 10px 8px;
        font-size: 13px;
    }

    .weather-now {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 12px;
        padding: 14px;
    }

    .weather-now-icon {
        width: 58px;
        height: 58px;
        border-radius: 16px;
        font-size: 30px;
    }

    .weather-now strong {
        font-size: 31px;
    }

    .weather-now ul {
        grid-column: 1 / -1;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        font-size: 12px;
    }

    .weather-forecast {
        display: flex;
        overflow-x: auto;
        padding-bottom: 4px;
        scroll-snap-type: x mandatory;
    }

    .weather-day {
        min-width: 142px;
        scroll-snap-align: start;
    }

    .live-player-top {
        flex-direction: row;
        align-items: center;
        gap: 10px;
        margin-bottom: 12px;
    }

    .live-eyebrow {
        font-size: 12px;
    }

    .live-player-top h1,
    .live-player-top h2 {
        font-size: 22px;
        line-height: 1.15;
    }

    .live-status-dot {
        padding: 7px 10px;
        font-size: 13px;
    }

    .live-video-wrap {
        min-height: 0;
        aspect-ratio: 16 / 9;
        border-radius: 14px;
    }

    .live-video-logo {
        width: 88px;
        top: 9px;
        right: 9px;
        padding: 5px 7px;
        border-radius: 10px;
    }

    .live-stream-caption {
        display: none;
        left: 6px;
        bottom: 6px;
        max-width: 62%;
        padding: 3px 6px;
        border-radius: 7px;
        font-size: 9px;
        line-height: 1.15;
    }

    .live-subscribe-bumper {
        top: 56%;
        width: min(220px, 70%);
        padding: 7px 7px 6px;
        border-radius: 9px;
    }

    .live-subscribe-bumper strong {
        min-height: 32px;
        padding: 5px 34px;
        border-width: 2px;
        border-radius: 7px;
        font-size: 12px;
    }

    .live-subscribe-bumper i {
        right: 5px;
        bottom: 5px;
        min-width: 17px;
        padding: 1px 4px;
        font-size: 9px;
    }

    .live-subscribe-bumper span {
        max-width: 94%;
        padding: 3px 5px;
        font-size: 9px;
        line-height: 1.15;
    }

    .live-overlay {
        align-items: end;
        padding: 12px;
        background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.72));
    }

    .live-overlay-card {
        width: min(100%, 230px);
        padding: 12px;
        border-radius: 14px;
        background: rgba(15,23,42,.82);
    }

    .live-overlay-kicker {
        font-size: 11px;
        margin-bottom: 8px !important;
    }

    .live-overlay-card strong {
        font-size: 16px;
        line-height: 1.15;
        margin-bottom: 10px;
    }

    .live-overlay-card span {
        font-size: 14px;
        line-height: 1.35;
        margin-bottom: 10px;
    }

    .live-play-btn--overlay {
        width: auto;
        max-width: 100%;
        min-width: 0;
        min-height: 40px;
        padding: 10px 18px;
    }

    .live-camera-grid,
    .live-camera-grid--two,
    .live-proof-grid,
    .live-service-cards {
        grid-template-columns: 1fr;
    }

    .live-proof-grid article {
        min-height: 0;
    }

    .live-proof-cta .btn {
        flex: 1 1 100%;
    }

    .live-internal-links {
        display: grid;
        grid-template-columns: 1fr;
    }

    .live-internal-links a {
        justify-content: center;
        text-align: center;
        border-radius: 14px;
    }

    .live-camera-card {
        min-height: 190px;
    }

    .live-camera-actions {
        align-items: stretch;
        flex-direction: column;
        margin-top: 10px;
    }

    .live-premium-btn,
    .live-timer {
        width: 100%;
        justify-content: center;
        text-align: center;
        min-height: 46px;
    }

    .live-camera-actions .live-play-btn {
        width: 100%;
        justify-content: center;
        text-align: center;
        min-height: 46px;
    }

    .live-camera-product-panel {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 12px;
        margin-top: 12px;
    }

    .live-camera-product-copy h3 {
        font-size: 18px;
        line-height: 1.18;
        overflow-wrap: anywhere;
    }

    .live-camera-page p,
    .live-camera-page li,
    .live-overlay-card span,
    .live-camera-product-copy p,
    .live-note {
        text-align: left !important;
        hyphens: none;
        word-spacing: normal;
    }

    .live-camera-product-copy,
    .live-camera-product-copy h3,
    .live-camera-product-copy span,
    .live-note {
        text-align: left !important;
    }

    .live-camera-product-actions .btn {
        flex: 1 1 100%;
    }

    .youtube-live-cta {
        align-items: stretch;
        flex-direction: column;
        padding: 13px;
    }

    .youtube-live-actions {
        justify-content: stretch;
    }

    .youtube-live-btn {
        width: 100%;
        min-height: 44px;
        text-align: center;
        white-space: normal;
    }

    .live-camera-product-media {
        display: none;
    }

    .product-live-demo-panel {
        grid-template-columns: 1fr;
    }

    .product-live-demo-panel .btn {
        width: 100%;
    }

    .pill-live-camera {
        display: inline-flex;
    }

    .service-live-promo {
        padding: 24px 16px;
        border-radius: 14px;
        text-align: left;
    }

    .service-live-promo::after {
        display: none;
    }

    .service-live-promo .service-section-head {
        text-align: left;
    }

    .service-live-promo .service-section-head h2 {
        font-size: 24px;
        line-height: 1.18;
    }

    .service-live-promo-actions {
        justify-content: stretch;
    }

    .service-live-promo-actions .btn {
        flex: 1 1 100%;
    }

    .home-live-cameras {
        grid-template-columns: 1fr;
        gap: 18px;
        margin: 22px 0;
        padding: 22px 16px;
        border-radius: 14px;
    }

    .home-live-copy h2 {
        font-size: 25px;
        line-height: 1.16;
    }

    .home-live-copy p {
        font-size: 15px;
        line-height: 1.55;
    }

    .home-live-actions .btn {
        flex: 1 1 100%;
    }

    .home-live-preview-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .home-live-preview {
        min-height: 96px;
        grid-template-columns: 48px 1fr;
        text-align: left;
        column-gap: 12px;
        padding: 16px;
        justify-items: start;
    }

    .home-live-preview img {
        grid-row: span 2;
        width: 42px;
        height: 42px;
        padding: 7px;
        border-radius: 14px;
    }

    .home-live-preview strong {
        font-size: 17px;
        line-height: 1.15;
    }

    .home-live-preview small {
        font-size: 12px;
    }

    .about-live-camera-grid .live-camera-card {
        min-height: 210px;
    }
}

/* ===== Readable content alignment only for informational pages ===== */
body.content-align-page:not(.functional-page) main h1,
body.content-align-page:not(.functional-page) main h2,
body.content-align-page:not(.functional-page) main h3,
body.content-align-page:not(.functional-page) main .section-title,
body.content-align-page:not(.functional-page) main .service-section-head,
body.content-align-page:not(.functional-page) main .live-section-head,
body.content-align-page:not(.functional-page) main .about-section-title {
    text-align: center !important;
}

body.content-align-page:not(.functional-page) main p,
body.content-align-page:not(.functional-page) main article p,
body.content-align-page:not(.functional-page) main section p,
body.content-align-page:not(.functional-page) main .live-seo-text p,
body.content-align-page:not(.functional-page) main .about-page p,
body.content-align-page:not(.functional-page) main .service-card p,
body.content-align-page:not(.functional-page) main .product-desc,
body.content-align-page:not(.functional-page) main .seo-text,
body.content-align-page:not(.functional-page) main li {
    text-align: justify !important;
    text-align-last: auto;
}

body.content-align-page:not(.functional-page) main .btn,
body.content-align-page:not(.functional-page) main .badge,
body.content-align-page:not(.functional-page) main .pill,
body.content-align-page:not(.functional-page) main .live-badge,
body.content-align-page:not(.functional-page) main .live-status-dot,
body.content-align-page:not(.functional-page) main .live-card-status,
body.content-align-page:not(.functional-page) main .weather-tabs,
body.content-align-page:not(.functional-page) main .weather-now,
body.content-align-page:not(.functional-page) main .weather-day,
body.content-align-page:not(.functional-page) main .product-live-model-badge,
body.content-align-page:not(.functional-page) main .live-camera-product-media strong {
    text-align: center !important;
}

body.functional-page main h1,
body.functional-page main h2,
body.functional-page main h3,
body.functional-page main p,
body.functional-page main li,
body.functional-page main label,
body.functional-page main input,
body.functional-page main textarea,
body.functional-page main select {
    text-align-last: auto;
}

/* ===== Admin phone-first usability override ===== */
@media (max-width: 991px) {
  .admin-layout {
    display: block !important;
    padding: 10px !important;
    background: #f3f4f6;
  }

  .admin-sidebar {
    display: none !important;
  }

  .admin-main {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .admin-main > .top-tabs {
    display: none !important;
  }

  .admin-mobile-nav {
    display: block !important;
    position: sticky;
    top: 0;
    z-index: 50;
    margin: -10px -10px 12px !important;
    padding: 10px;
    background: rgba(243, 244, 246, .98);
    border-bottom: 1px solid #e5e7eb;
    backdrop-filter: blur(10px);
  }

  .admin-mobile-toggle {
    min-height: 50px !important;
    padding: 0 15px !important;
    border-radius: 14px !important;
    font-size: 16px !important;
    font-weight: 900 !important;
  }

  .admin-mobile-dropdown {
    max-height: calc(100vh - 78px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .admin-mobile-dropdown .top-tabs {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 8px !important;
  }

  .admin-mobile-dropdown .tab {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    width: 100% !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
    font-size: 14px;
    text-align: center;
  }

  .admin-mobile-extra .admin-side-logout {
    display: flex;
    justify-content: center;
    min-height: 46px;
    margin-top: 8px;
  }

  .admin-container,
  .admin-wrap {
    padding: 0 !important;
  }

  .admin-page,
  .admin-main .card,
  .admin-card,
  .offers-card,
  .offer-card,
  .admin-settings-card {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .admin-main .card,
  .admin-card,
  .offers-card,
  .offer-card,
  .admin-settings-card {
    padding: 13px !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .06) !important;
  }

  .admin-title,
  .admin-section-title,
  .offers-title {
    line-height: 1.18;
  }

  .admin-title {
    font-size: 22px !important;
  }

  .admin-section-title,
  .offers-title {
    font-size: 18px !important;
  }

  .admin-form-row,
  .admin-settings-form,
  .order-edit-search-form,
  .order-add-form,
  .offers-filters,
  .offer-form-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 11px !important;
  }

  .admin-form-col,
  .admin-form-col-small,
  .admin-form-actions,
  .admin-settings-field,
  .offers-filter-col,
  .offers-filter-col-small,
  .offer-form-col,
  .offer-form-col-small,
  .order-edit-search-col {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 100% !important;
  }

  .admin-main input[type="text"],
  .admin-main input[type="search"],
  .admin-main input[type="email"],
  .admin-main input[type="tel"],
  .admin-main input[type="number"],
  .admin-main input[type="date"],
  .admin-main input[type="password"],
  .admin-main input[type="file"],
  .admin-main select,
  .admin-main textarea,
  .admin-input,
  .admin-textarea,
  .offers-input,
  .offer-input,
  .offer-textarea {
    width: 100% !important;
    min-height: 46px !important;
    box-sizing: border-box !important;
    font-size: 16px !important;
    border-radius: 11px !important;
  }

  .admin-main textarea,
  .admin-textarea,
  .offer-textarea {
    min-height: 118px !important;
  }

  .admin-main .btn,
  .admin-main .btn-red,
  .admin-main .btn-light,
  .admin-main .btn-mini,
  .admin-btn,
  .admin-btn-mini,
  .offers-filter-actions .btn,
  .offer-actions .btn,
  .order-actions .btn,
  .order-actions .btn-mini {
    min-height: 46px !important;
    padding: 10px 14px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
  }

  .admin-form-actions,
  .admin-mini-actions,
  .offers-filter-actions,
  .order-actions,
  .order-edit-search-actions,
  .order-add-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    align-items: stretch !important;
  }

  .admin-form-actions > *,
  .admin-mini-actions > *,
  .offers-filter-actions > *,
  .order-actions > *,
  .order-edit-search-actions > *,
  .order-add-actions > * {
    width: 100% !important;
  }

  .admin-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .admin-item-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .admin-main table,
  .admin-main .table {
    min-width: 720px;
  }

  .admin-main .table,
  .admin-main table {
    font-size: 13px;
  }

  .admin-main .table th,
  .admin-main .table td,
  .admin-main table th,
  .admin-main table td {
    padding: 9px 8px;
  }

  .admin-main .card,
  .admin-main .table-wrap,
  .admin-main .offers-table-wrap,
  .admin-main .offer-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .offers-table {
    min-width: 920px !important;
  }

  .offer-table {
    min-width: 620px !important;
  }

  .admin-main .offers-open-btn,
  .admin-main .offers-delete-form button {
    min-height: 40px !important;
    padding: 8px 11px !important;
    font-size: 13px !important;
  }
}

@media (max-width: 430px) {
  .admin-layout {
    padding: 8px !important;
  }

  .admin-mobile-nav {
    margin: -8px -8px 10px !important;
    padding: 8px;
  }

  .admin-mobile-dropdown .top-tabs {
    grid-template-columns: 1fr;
  }

  .admin-main .card,
  .admin-card,
  .offers-card,
  .offer-card,
  .admin-settings-card {
    padding: 11px !important;
  }

  .admin-title {
    font-size: 20px !important;
  }

  .admin-section-title,
  .offers-title {
    font-size: 17px !important;
  }
}

/* ===== Public UI polish: lighter buttons, filters and menus ===== */
body:not(.admin-layout) .btn,
body:not(.admin-layout) .pill,
body:not(.admin-layout) .tab,
body:not(.admin-layout) .filters-reset,
body:not(.admin-layout) .products-list-help {
  border-radius: 12px !important;
  border-color: rgba(148, 163, 184, .32) !important;
  background: rgba(255, 255, 255, .92) !important;
  color: #172033 !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .055) !important;
}

body:not(.admin-layout) .btn:hover,
body:not(.admin-layout) .pill:hover,
body:not(.admin-layout) .tab:hover,
body:not(.admin-layout) .filters-reset:hover,
body:not(.admin-layout) .products-list-help:hover {
  transform: translateY(-1px);
  border-color: rgba(225, 29, 46, .28) !important;
  background: #fff !important;
  color: #b91c1c !important;
  box-shadow: 0 12px 26px rgba(15, 23, 42, .085) !important;
}

body:not(.admin-layout) .btn-red,
body:not(.admin-layout) .btn.btn-red,
body:not(.admin-layout) .btn-light,
body:not(.admin-layout) .btn.btn-light,
body:not(.admin-layout) .btn-viber,
body:not(.admin-layout) .btn.btn-viber,
body:not(.admin-layout) .sort-price,
body:not(.admin-layout) .products-list-help {
  position: relative;
  overflow: hidden;
  border-width: 1px !important;
}

body:not(.admin-layout) .btn-red,
body:not(.admin-layout) .btn.btn-red,
body:not(.admin-layout) .sort-price,
body:not(.admin-layout) .products-list-help {
  border-color: rgba(225, 29, 46, .30) !important;
  background: linear-gradient(180deg, #fff, #fff7f8) !important;
  color: #b91c1c !important;
  box-shadow: 0 10px 22px rgba(225, 29, 46, .10) !important;
}

body:not(.admin-layout) .btn-red:hover,
body:not(.admin-layout) .btn.btn-red:hover,
body:not(.admin-layout) .sort-price:hover,
body:not(.admin-layout) .products-list-help:hover {
  border-color: rgba(225, 29, 46, .42) !important;
  background: #fff1f2 !important;
  color: #9f1239 !important;
  box-shadow: 0 14px 30px rgba(225, 29, 46, .14) !important;
}

body:not(.admin-layout) .btn-viber,
body:not(.admin-layout) .btn.btn-viber {
  border-color: rgba(99, 102, 241, .28) !important;
  background: linear-gradient(180deg, #fff, #f5f4ff) !important;
  color: #4f46e5 !important;
  box-shadow: 0 10px 22px rgba(99, 102, 241, .10) !important;
}

body:not(.admin-layout) .btn-viber:hover,
body:not(.admin-layout) .btn.btn-viber:hover {
  border-color: rgba(99, 102, 241, .42) !important;
  background: #f0efff !important;
  color: #4338ca !important;
}

body:not(.admin-layout) .btn-light,
body:not(.admin-layout) .btn.btn-light {
  border-color: rgba(148, 163, 184, .32) !important;
  background: #fff !important;
  color: #172033 !important;
}

body:not(.admin-layout) .btn-pulse {
  animation: publicSoftPulse 3s ease-in-out infinite !important;
}

@keyframes publicSoftPulse {
  0%, 100% {
    box-shadow: 0 10px 22px rgba(225, 29, 46, .10), 0 0 0 0 rgba(225, 29, 46, .14) !important;
  }
  50% {
    box-shadow: 0 14px 30px rgba(225, 29, 46, .13), 0 0 0 7px rgba(225, 29, 46, 0) !important;
  }
}

body:not(.admin-layout) .sort-bar {
  border: 1px solid rgba(148, 163, 184, .28) !important;
  background: rgba(255, 255, 255, .86) !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .055) !important;
}

body:not(.admin-layout) .sort-bar select.btn,
body:not(.admin-layout) #mfiltersPanel select {
  border-radius: 12px !important;
  border-color: rgba(148, 163, 184, .34) !important;
  background-color: #fff !important;
  color: #172033 !important;
  box-shadow: none !important;
}

body:not(.admin-layout) .sort-bar button.btn:not(.btn-red),
body:not(.admin-layout) #mfiltersPanel button[type="submit"] {
  border-color: rgba(225, 29, 46, .30) !important;
  background: linear-gradient(180deg, #fff, #fff7f8) !important;
  color: #b91c1c !important;
  box-shadow: 0 8px 18px rgba(225, 29, 46, .08) !important;
}

body:not(.admin-layout) .filter-box,
body:not(.admin-layout) #mfiltersPanel details.filter-box {
  border-color: rgba(148, 163, 184, .24) !important;
  background: rgba(255, 255, 255, .88) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .045) !important;
}

body:not(.admin-layout) .cat-link,
body:not(.admin-layout) .cat-parent-box,
body:not(.admin-layout) #mfiltersPanel .cat-link,
body:not(.admin-layout) #mfiltersPanel .cat-parent-box {
  border-radius: 11px !important;
  border-color: rgba(148, 163, 184, .24) !important;
  background: #fff !important;
  color: #334155 !important;
  box-shadow: none !important;
}

body:not(.admin-layout) .cat-link:hover,
body:not(.admin-layout) .cat-link.active,
body:not(.admin-layout) .cat-parent-box:hover,
body:not(.admin-layout) .cat-parent-box.active,
body:not(.admin-layout) #mfiltersPanel .cat-link:hover,
body:not(.admin-layout) #mfiltersPanel .cat-link.active,
body:not(.admin-layout) #mfiltersPanel .cat-parent-box:hover,
body:not(.admin-layout) #mfiltersPanel .cat-parent-box.active {
  border-color: rgba(225, 29, 46, .26) !important;
  background: #fff7f8 !important;
  color: #b91c1c !important;
}

body:not(.admin-layout) .desktop-burger {
  border: 1px solid rgba(148, 163, 184, .28) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.9) !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .055);
}

body:not(.admin-layout) .desktop-mega-menu {
  border-color: rgba(148, 163, 184, .24) !important;
  border-radius: 18px !important;
  box-shadow: 0 24px 62px rgba(15, 23, 42, .14) !important;
}

body:not(.admin-layout) .desktop-mega-quick a {
  min-height: 38px !important;
  border: 1px solid rgba(148, 163, 184, .28) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #172033 !important;
  box-shadow: none !important;
}

body:not(.admin-layout) .desktop-mega-quick a:hover,
body:not(.admin-layout) .desktop-mega-quick a.is-active,
body:not(.admin-layout) .desktop-mega-quick a.is-active:hover,
body:not(.admin-layout) .desktop-mega-quick a.mega-special,
body:not(.admin-layout) .desktop-mega-quick a.mega-special--promo {
  border-color: rgba(225, 29, 46, .26) !important;
  background: #fff7f8 !important;
  color: #b91c1c !important;
  box-shadow: 0 8px 18px rgba(225, 29, 46, .08) !important;
}

body:not(.admin-layout) .desktop-mega-col {
  border-color: rgba(148, 163, 184, .22) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: none !important;
}

body:not(.admin-layout) .desktop-mega-col:hover {
  transform: translateY(-2px);
  border-color: rgba(225, 29, 46, .22) !important;
  background: #fffdfd !important;
  box-shadow: 0 12px 26px rgba(15, 23, 42, .07) !important;
}

body:not(.admin-layout) .desktop-mega-sub a {
  border-radius: 9px;
  padding: 7px 8px !important;
}

body:not(.admin-layout) .desktop-mega-sub a:hover,
body:not(.admin-layout) .desktop-mega-sub a.is-active {
  background: #fff7f8;
  color: #b91c1c !important;
  transform: none;
}

body:not(.admin-layout) .mobile-menu-quick-link,
body:not(.admin-layout) .mobile-menu-link,
body:not(.admin-layout) .mobile-menu-account-btn,
body:not(.admin-layout) .mobile-menu-parent.mobile-products-toggle,
body:not(.admin-layout) .mobile-submenu-link {
  border-color: rgba(148, 163, 184, .24) !important;
  background: #fff !important;
  color: #172033 !important;
  box-shadow: none !important;
}

body:not(.admin-layout) .mobile-menu-quick-link:hover,
body:not(.admin-layout) .mobile-menu-link:hover,
body:not(.admin-layout) .mobile-menu-account-btn:hover,
body:not(.admin-layout) .mobile-menu-parent.mobile-products-toggle:hover,
body:not(.admin-layout) .mobile-menu-quick-link.is-active,
body:not(.admin-layout) .mobile-menu-link.is-active,
body:not(.admin-layout) .mobile-menu-parent.mobile-products-toggle.is-active,
body:not(.admin-layout) .mobile-submenu-link--featured,
body:not(.admin-layout) .mobile-submenu-link--promo {
  border-color: rgba(225, 29, 46, .26) !important;
  background: #fff7f8 !important;
  color: #b91c1c !important;
}

body:not(.admin-layout) .card-actions .btn-red,
body:not(.admin-layout) .buy-row .btn-add,
body:not(.admin-layout) .buy-row .btn-cart,
body:not(.admin-layout) .product-page .buy-row .btn-cart {
  border-color: rgba(225, 29, 46, .36) !important;
  background: linear-gradient(180deg, #fff, #fff1f2) !important;
  color: #b91c1c !important;
  box-shadow: 0 10px 22px rgba(225, 29, 46, .12) !important;
}

body:not(.admin-layout) .btn-quick-order {
  border: 1px solid rgba(225, 29, 46, .55) !important;
  background: linear-gradient(135deg, #e11d2e, #b91c1c) !important;
  color: #fff !important;
  box-shadow: 0 12px 24px rgba(225, 29, 46, .22) !important;
}

body:not(.admin-layout) .btn-quick-order:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 30px rgba(225, 29, 46, .28) !important;
}

body:not(.admin-layout) .quick-order-form {
  display: inline-flex !important;
}

body:not(.admin-layout) .card-actions {
  gap: 8px !important;
}

body:not(.admin-layout) .card-actions .btn-quick-order {
  min-height: 38px;
  padding: 10px 13px !important;
  font-size: 13px;
  white-space: nowrap;
}

body:not(.admin-layout) .grid .card .card-trust-row {
  display: none !important;
}

body:not(.admin-layout) .grid .card .price-row {
  display: block !important;
  margin-top: auto !important;
  padding-top: 12px !important;
}

body:not(.admin-layout) .grid .card .price-row .price {
  display: block !important;
  width: 100% !important;
  margin-bottom: 10px !important;
  color: #b91c1c !important;
  font-size: 22px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body:not(.admin-layout) .grid .card .price-row .price span:not(.old-price) {
  display: inline-block !important;
}

body:not(.admin-layout) .grid .card .card-actions {
  display: grid !important;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.18fr) !important;
  gap: 8px !important;
  width: 100% !important;
}

body:not(.admin-layout) .grid .card .card-actions form,
body:not(.admin-layout) .grid .card .card-actions .btn,
body:not(.admin-layout) .grid .card .card-actions button {
  width: 100% !important;
  min-width: 0 !important;
}

body.product-page:not(.admin-layout) .buy-row .btn-quick-order {
  min-height: 46px;
  padding: 12px 18px !important;
}

body.product-page:not(.admin-layout) .buy-row {
  align-items: stretch !important;
  gap: 10px !important;
}

body.product-page:not(.admin-layout) .buy-row .add-to-cart {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 10px !important;
}

body.product-page:not(.admin-layout) .product-buy-microcopy {
  display: none !important;
}

body.product-page:not(.admin-layout) .buy-row .btn-add,
body.product-page:not(.admin-layout) .buy-row .btn-quick-order,
body.product-page:not(.admin-layout) .buy-row .btn-back,
body.product-page:not(.admin-layout) .buy-row .btn-cart {
  min-height: 46px !important;
  height: 46px !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1.1 !important;
}

body.product-page:not(.admin-layout) .buy-row .qty {
  min-height: 46px;
}

body.product-page:not(.admin-layout) .buy-row .qty input {
  height: 46px !important;
}

body.product-page:not(.admin-layout) .product-price-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin: 6px 0 8px !important;
}

body.product-page:not(.admin-layout) .product-price {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 54px !important;
  padding: 12px 18px !important;
  margin: 0 !important;
  border-radius: 18px !important;
  font-size: 30px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.product-page:not(.admin-layout) .product-price-quick-order {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  min-height: 54px !important;
  height: 54px !important;
  padding: 0 22px !important;
  margin: 0 !important;
  border-radius: 18px !important;
  font-size: 17px !important;
  font-weight: 950 !important;
  vertical-align: top !important;
}

body.product-page:not(.admin-layout) .product-buy-note {
  display: inline-flex !important;
  align-items: center !important;
  margin: 4px 0 12px !important;
  padding: 8px 11px !important;
  border-left: 0 !important;
  border-radius: 999px !important;
  background: #fff7f8 !important;
  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
}

body:not(.admin-layout) .products-hero {
  display: grid !important;
  grid-template-columns: minmax(280px, .62fr) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px 18px !important;
  padding: 16px 20px !important;
  margin-bottom: 12px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

body:not(.admin-layout) .products-hero::before,
body:not(.admin-layout) .products-hero::after {
  opacity: .18 !important;
}

body:not(.admin-layout) .products-hero h1 {
  margin: 0 !important;
  font-size: clamp(24px, 2vw, 30px) !important;
  line-height: 1.08 !important;
}

body:not(.admin-layout) .products-hero-desc {
  max-width: 980px !important;
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1.32 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

body:not(.admin-layout) .products-hero-meta {
  grid-column: 2 !important;
  margin-top: 0 !important;
  gap: 8px !important;
}

body:not(.admin-layout) .products-hero-meta .meta-pill {
  min-height: 32px !important;
  padding: 7px 12px !important;
  font-size: 14px !important;
}

@media (min-width: 769px) {
  body.product-page:not(.admin-layout) .buy-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 7px !important;
  }

  body.product-page:not(.admin-layout) .buy-row .add-to-cart {
    display: contents !important;
  }

  body.product-page:not(.admin-layout) .buy-row .qty {
    width: 96px !important;
    min-width: 96px !important;
    gap: 6px !important;
  }

  body.product-page:not(.admin-layout) .buy-row .qty span {
    font-size: 13px !important;
  }

  body.product-page:not(.admin-layout) .buy-row .qty input {
    width: 50px !important;
    min-width: 50px !important;
  }

  body.product-page:not(.admin-layout) .buy-row .btn-add {
    width: 104px !important;
    min-width: 104px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body.product-page:not(.admin-layout) .buy-row .btn-back {
    width: 88px !important;
    min-width: 88px !important;
  }

  body.product-page:not(.admin-layout) .buy-row .btn-cart {
    width: 100px !important;
    min-width: 100px !important;
  }
}

@media (max-width: 720px) {
  body:not(.admin-layout) .card-actions .quick-order-form,
  body:not(.admin-layout) .card-actions .btn-quick-order,
  body:not(.admin-layout) .card-actions .btn-add {
    width: 100%;
  }

  body:not(.admin-layout) .grid .card .price-row .price {
    font-size: 20px !important;
  }

  body.product-page:not(.admin-layout) .product-price,
  body.product-page:not(.admin-layout) .product-price-quick-order {
    min-height: 48px !important;
    height: 48px !important;
    margin: 5px 0 8px !important;
    justify-content: center !important;
    border-radius: 16px !important;
  }

  body.product-page:not(.admin-layout) .product-price {
    width: auto !important;
    font-size: 26px !important;
  }

  body.product-page:not(.admin-layout) .product-price-quick-order {
    width: auto !important;
    padding: 0 16px !important;
  }

  body:not(.admin-layout) .products-hero {
    display: block !important;
    padding: 14px !important;
    margin-bottom: 14px !important;
  }

  body:not(.admin-layout) .products-hero h1 {
    font-size: 28px !important;
  }

  body:not(.admin-layout) .products-hero-desc {
    margin-top: 6px !important;
    font-size: 14px !important;
    -webkit-line-clamp: 2 !important;
  }

  body:not(.admin-layout) .products-hero-meta {
    margin-top: 8px !important;
  }
}

/* Product detail polish: compact buying and useful left column. */
body.product-page:not(.admin-layout) .product-left {
  align-self: start !important;
}

body.product-page:not(.admin-layout) .product-left-details {
  margin-top: 14px !important;
}

body.product-page:not(.admin-layout) .product-right .product-left-details {
  margin-top: 14px !important;
}

body.product-page:not(.admin-layout) .product-right .product-seo-text {
  margin-top: 12px !important;
  padding: 12px 14px !important;
  border: 1px solid #e4e9f2 !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #475569 !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1.45 !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .04) !important;
}

body.product-page:not(.admin-layout) .product-left-details .product-seo-heading {
  display: block !important;
  margin: 12px 0 10px !important;
  font-size: 16px !important;
  line-height: 1.22 !important;
}

body.product-page:not(.admin-layout) .product-left-details .product-bullets {
  display: grid !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.product-page:not(.admin-layout) .product-left-details .product-bullets li {
  min-height: 32px !important;
  padding: 7px 11px 7px 32px !important;
  border-radius: 12px !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}

body.product-page:not(.admin-layout) .product-side-faq {
  margin-top: 14px !important;
  padding: 12px !important;
  border: 1px solid #e4e9f2 !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #fff, #f8fafc) !important;
  display: grid !important;
  gap: 8px !important;
}

body.product-page:not(.admin-layout) .product-side-faq h2 {
  margin: 0 0 2px !important;
  color: #0f172a !important;
  font-size: 15px !important;
  line-height: 1.18 !important;
}

body.product-page:not(.admin-layout) .product-side-faq details {
  border: 1px solid #edf2f7 !important;
  border-radius: 12px !important;
  padding: 8px 10px !important;
  background: #fff !important;
}

body.product-page:not(.admin-layout) .product-side-faq details:first-of-type {
  border-top: 1px solid #edf2f7 !important;
}

body.product-page:not(.admin-layout) .product-side-faq summary {
  cursor: pointer !important;
  color: #172033 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.22 !important;
}

body.product-page:not(.admin-layout) .product-side-faq p {
  margin: 7px 0 0 !important;
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
}

body.product-page:not(.admin-layout) .product-right > .product-seo-heading,
body.product-page:not(.admin-layout) .product-right > .product-bullets,
body.product-page:not(.admin-layout) .product-right > .section-title,
body.product-page:not(.admin-layout) .product-right > p.muted {
  display: none !important;
}

body.product-page:not(.admin-layout) .buy-row .btn-add,
body.product-page:not(.admin-layout) .buy-row .btn-back,
body.product-page:not(.admin-layout) .buy-row .btn-cart {
  min-height: 40px !important;
  height: 40px !important;
  padding: 8px 12px !important;
  border-radius: 14px !important;
  font-size: 14px !important;
  line-height: 1.1 !important;
}

body.product-page:not(.admin-layout) .buy-row .btn-back::before,
body.product-page:not(.admin-layout) .buy-row .btn-cart::before {
  display: none !important;
  content: none !important;
}

@media (min-width: 769px) {
  body.product-page:not(.admin-layout) .buy-row {
    gap: 8px !important;
  }

  body.product-page:not(.admin-layout) .buy-row .add-to-cart {
    display: contents !important;
  }

  body.product-page:not(.admin-layout) .buy-row .btn-add {
    width: 126px !important;
    min-width: 126px !important;
  }

  body.product-page:not(.admin-layout) .buy-row .btn-back {
    width: 78px !important;
    min-width: 78px !important;
  }

  body.product-page:not(.admin-layout) .buy-row .btn-cart {
    width: 112px !important;
    min-width: 112px !important;
  }

  body.product-page:not(.admin-layout) .buy-row .cart-badge {
    position: static !important;
    display: inline-flex !important;
    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;
    margin-left: 6px !important;
    padding: 0 !important;
    border-width: 1px !important;
    font-size: 11px !important;
    transform: none !important;
  }
}

@media (max-width: 768px) {
  body.product-page:not(.admin-layout) .product-left-details {
    display: none !important;
  }

  body.product-page:not(.admin-layout) .product-side-faq {
    display: none !important;
  }
}

body:not(.admin-layout) .buy-row .btn-add.is-disabled {
  border-color: rgba(148, 163, 184, .42) !important;
  background: #f1f5f9 !important;
  color: #64748b !important;
  box-shadow: none !important;
  cursor: not-allowed;
  pointer-events: none;
}

/* ===== Live timelapse archive ===== */
.live-timelapse-section {
  margin: 22px 0;
  padding: 26px;
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(240,253,244,.74)),
    #fff;
  box-shadow: 0 16px 38px rgba(15, 23, 42, .065);
}

.live-timelapse-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: 18px;
  align-items: stretch;
}

.live-timelapse-stage {
  position: relative;
  overflow: hidden;
  min-height: 320px;
  border-radius: 18px;
  background: #0f172a;
}

.live-timelapse-frame {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
}

.live-timelapse-stamp {
  position: absolute;
  left: 14px;
  bottom: 14px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(15, 23, 42, .76);
  color: #fff;
  backdrop-filter: blur(8px);
}

.live-timelapse-stamp strong,
.live-timelapse-stamp span {
  font-size: 13px;
  line-height: 1;
}

.live-timelapse-stamp span {
  color: #bbf7d0;
  font-weight: 900;
}

.live-timelapse-subscribe-nudge {
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 14;
  width: min(72% - 24px, 420px);
  padding: 8px 9px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 999px;
  background: rgba(15, 23, 42, .56);
  color: #fff;
  text-align: left;
  backdrop-filter: blur(12px);
  box-shadow: 0 12px 28px rgba(15, 23, 42, .2);
}

.live-timelapse-subscribe-nudge[hidden] {
  display: none;
}

.live-timelapse-subscribe-nudge strong {
  display: block;
  overflow: hidden;
  color: rgba(255, 255, 255, .9);
  font-size: 13px;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-timelapse-subscribe-nudge div {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  gap: 6px;
  margin-top: 6px;
}

.live-timelapse-subscribe-nudge a,
.live-timelapse-subscribe-nudge button,
.live-timelapse-youtube-cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 950;
  text-decoration: none;
}

.live-timelapse-subscribe-nudge a,
.live-timelapse-youtube-cta a {
  border: 1px solid rgba(220, 38, 38, .26);
  background: #dc2626;
  color: #fff;
}

.live-timelapse-subscribe-nudge button {
  border: 1px solid rgba(255, 255, 255, .22);
  background: rgba(255, 255, 255, .1);
  color: #fff;
  cursor: pointer;
}

.live-timelapse-player-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.live-timelapse-play,
.live-timelapse-speed,
.live-timelapse-fullscreen {
  min-height: 38px;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 999px;
  background: rgba(255, 255, 255, .92);
  color: #101827;
  font-weight: 950;
  cursor: pointer;
}

.live-timelapse-play {
  min-width: 124px;
  padding: 0 16px;
  border-color: rgba(255, 255, 255, .22);
  background: rgba(233, 27, 47, .88);
  color: #fff;
  box-shadow: 0 8px 18px rgba(233, 27, 47, .22);
}

.live-timelapse-speed {
  max-width: 138px;
  padding: 0 12px;
}

.live-timelapse-fullscreen {
  width: 38px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  font-size: 20px;
  line-height: 1;
  background: rgba(255, 255, 255, .92);
  color: #101827;
}

.live-timelapse-stage > .live-timelapse-fullscreen {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 12;
  box-shadow: 0 10px 24px rgba(15,23,42,.18);
}

body.live-timelapse-lock {
  overflow: hidden;
}

body.live-timelapse-lock .global-call-btn,
body.live-timelapse-lock .scroll-top-btn,
body.live-timelapse-lock .mview-switch.is-floating {
  display: none !important;
}

.live-timelapse-shell.is-pseudo-fullscreen {
  position: fixed;
  inset: 0;
  z-index: 99999;
  width: 100vw;
  height: 100dvh;
  padding: 0;
  display: block;
  background: #020817;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-stage,
.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-frame {
  width: 100%;
  height: 100%;
  min-height: 0;
  border-radius: 0;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-frame {
  object-fit: contain;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-panel {
  position: absolute;
  inset: auto 0 0 0;
  z-index: 4;
  display: block;
  padding: 0 18px 16px;
  border: 0;
  border-radius: 0;
  background: linear-gradient(0deg, rgba(0,0,0,.74), rgba(0,0,0,.36) 58%, rgba(0,0,0,0));
  overflow: visible;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-days,
.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-rights,
.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-empty {
  display: none !important;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-range {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 58px;
  z-index: 5;
  color: #fff;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-range span {
  display: none;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-range input {
  display: block;
  height: 4px;
  accent-color: #fff;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-player-controls {
  position: absolute;
  right: 18px;
  bottom: 14px;
  z-index: 6;
  display: flex;
  gap: 8px;
  align-items: center;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-play {
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 8;
  width: 74px;
  height: 74px;
  min-width: 0;
  padding: 0;
  border-radius: 999px;
  border-color: rgba(255,255,255,.35);
  background: rgba(15, 23, 42, .34);
  color: transparent;
  font-size: 0;
  transform: translate(-50%, -50%);
  backdrop-filter: blur(8px);
  box-shadow: 0 18px 36px rgba(0,0,0,.24);
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-play::before {
  content: "▶";
  color: #fff;
  font-size: 34px;
  line-height: 1;
  margin-left: 5px;
}

.live-timelapse-shell.is-pseudo-fullscreen.is-playing .live-timelapse-play::before {
  content: "Ⅱ";
  margin-left: 0;
  font-size: 38px;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-speed,
.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-fullscreen {
  min-height: 34px;
  border-color: rgba(255,255,255,.28);
  background: rgba(255,255,255,.16);
  color: #fff;
  backdrop-filter: blur(8px);
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-speed {
  max-width: 122px;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-fullscreen {
  width: 36px;
}

.live-timelapse-panel {
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 18px;
  background: rgba(255,255,255,.78);
}

.live-timelapse-day-select {
  display: none;
}

.live-timelapse-days {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(108px, 1fr));
  gap: 8px;
}

.live-timelapse-days button {
  min-height: 36px;
  width: 100%;
  padding: 0 11px;
  border: 1px solid rgba(148, 163, 184, .32);
  border-radius: 999px;
  background: #fff;
  color: #172033;
  font-weight: 900;
  cursor: pointer;
}

.live-timelapse-days button.is-active {
  border-color: rgba(34, 197, 94, .36);
  background: #f0fdf4;
  color: #15803d;
}

.live-timelapse-range {
  display: grid;
  gap: 8px;
  color: #334155;
  font-size: 13px;
  font-weight: 950;
}

.live-timelapse-range input {
  width: 100%;
  accent-color: #22c55e;
}

.live-timelapse-empty {
  margin: 0;
  padding: 12px;
  border: 1px solid rgba(225, 29, 46, .18);
  border-radius: 14px;
  background: #fff7f8;
  color: #7f1d1d;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 750;
}

.live-timelapse-youtube-cta {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(220, 38, 38, .16);
  border-radius: 16px;
  background: #fff1f2;
}

.live-timelapse-youtube-cta strong {
  color: #991b1b;
  font-size: 16px;
  line-height: 1.2;
}

.live-timelapse-youtube-cta p {
  margin: 0;
  color: #7f1d1d;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 750;
}

.live-timelapse-youtube-cta a {
  justify-self: start;
}

.live-timelapse-rights {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 14px;
  background: rgba(248, 250, 252, .82);
  color: #64748b;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 750;
}

@media (max-width: 900px) {
  .live-youtube-hero {
    grid-template-columns: 1fr;
  }

  .live-youtube-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .live-youtube-feature-grid,
  .live-youtube-latest,
  .live-youtube-conversion,
  .live-youtube-monetize {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .live-youtube-latest-video a {
    min-height: 440px;
  }

  .live-timelapse-section {
    margin: 14px 0;
    padding: 14px 12px;
    border-radius: 18px;
  }

  .live-timelapse-shell {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .live-timelapse-stage,
  .live-timelapse-frame {
    min-height: 210px;
  }

  .live-timelapse-panel {
    gap: 10px;
    padding: 12px;
    border-radius: 16px;
  }

  .live-timelapse-rights {
    padding: 8px 10px;
    font-size: 11px;
  }

  .live-timelapse-days {
    display: none;
  }

  .live-timelapse-day-select {
    display: grid;
    gap: 6px;
    color: #334155;
    font-size: 13px;
    font-weight: 950;
  }

  .live-timelapse-day-select select {
    width: 100%;
    min-height: 42px;
    padding: 0 42px 0 14px;
    border: 1px solid rgba(148, 163, 184, .34);
    border-radius: 14px;
    background: #fff;
    color: #0f172a;
    font-size: 15px;
    font-weight: 900;
  }

  .live-timelapse-range {
    gap: 5px;
  }

  .live-timelapse-shell.is-pseudo-fullscreen {
    padding: 7px;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 6px;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-panel {
    align-self: end;
    max-height: none;
    overflow: auto;
    gap: 6px;
    padding: 8px;
    border-radius: 12px;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-stage {
    border-radius: 12px;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-rights,
  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-empty[hidden] {
    display: none;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-days button {
    min-height: 28px;
    padding: 0 9px;
    font-size: 12px;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-range {
    gap: 3px;
    font-size: 11px;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-player-controls {
    gap: 6px;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-play,
  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-speed,
  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-fullscreen {
    min-height: 32px;
    font-size: 12px;
  }

  .live-timelapse-subscribe-nudge {
    left: 9px;
    right: 9px;
    bottom: 10px;
    width: auto;
    padding: 7px 8px;
    border-radius: 14px;
  }

  .live-timelapse-subscribe-nudge strong {
    font-size: 12px;
  }

  .live-timelapse-subscribe-nudge div {
    margin-top: 5px;
  }

  .live-timelapse-subscribe-nudge a,
  .live-timelapse-subscribe-nudge button {
    min-height: 26px;
    padding: 0 9px;
    font-size: 11px;
  }
}

@media (max-width: 560px) {
  .live-youtube-hero,
  .live-youtube-grid-section,
  .live-youtube-note,
  .live-youtube-feature-section,
  .live-youtube-latest,
  .live-youtube-conversion,
  .live-youtube-monetize {
    width: min(100% - 20px, 460px);
  }

  .live-youtube-stats,
  .live-youtube-feature-grid,
  .live-youtube-latest,
  .live-youtube-conversion,
  .live-youtube-monetize {
    grid-template-columns: 1fr;
  }

  .live-youtube-grid {
    grid-template-columns: 1fr;
  }

  .live-youtube-hero-copy h1 {
    font-size: 34px;
  }

  .live-youtube-latest-copy h2,
  .live-youtube-conversion h2 {
    font-size: clamp(30px, 9vw, 42px);
  }

  .live-youtube-latest-video a {
    min-height: 360px;
  }

  .live-youtube-conversion li {
    grid-template-columns: 1fr;
  }

  .live-youtube-actions,
  .live-youtube-actions .youtube-live-btn,
  .live-youtube-card-actions,
  .live-youtube-card-actions a {
    width: 100%;
  }
}

@media (max-width: 520px) {
  .live-timelapse-section .live-section-head {
    margin-bottom: 12px;
  }

  .live-timelapse-section .live-section-head span {
    margin-bottom: 8px;
    font-size: 11px;
  }

  .live-timelapse-section .live-section-head h2 {
    font-size: clamp(22px, 7vw, 30px);
    line-height: 1.08;
  }

  .live-timelapse-section .live-section-head p {
    margin-top: 8px;
    font-size: 15px;
    line-height: 1.45;
  }

  .live-timelapse-stage,
  .live-timelapse-frame {
    min-height: 178px;
  }

  .live-timelapse-stamp {
    left: 10px;
    bottom: 10px;
    top: auto;
    gap: 7px;
    padding: 8px 10px;
  }

  .live-timelapse-stamp strong,
  .live-timelapse-stamp span {
    font-size: 12px;
  }

  .live-timelapse-player-controls {
    justify-content: space-between;
    gap: 7px;
  }

  .live-timelapse-play {
    flex: 1 1 auto;
    min-width: 0;
    padding-inline: 12px;
  }

  .live-timelapse-speed {
    flex: 0 1 112px;
    min-width: 0;
  }

  .live-timelapse-fullscreen {
    flex: 0 0 40px;
    width: 40px;
  }
}

@media (max-width: 700px) and (orientation: portrait) {
  .live-timelapse-shell.is-pseudo-fullscreen {
    top: 0;
    left: 0;
    right: auto;
    bottom: auto;
    width: 100dvh;
    height: 100vw;
    padding: 6px;
    grid-template-columns: minmax(0, 1fr) 190px;
    grid-template-rows: 1fr;
    gap: 6px;
    transform: rotate(90deg) translateY(-100%);
    transform-origin: top left;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-panel {
    align-self: stretch;
    max-height: none;
    overflow: auto;
    align-content: start;
    padding: 7px;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-stage {
    border-radius: 10px;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-frame {
    object-fit: contain;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-days {
    gap: 5px;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-days button {
    min-height: 27px;
    padding: 0 8px;
    font-size: 11px;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-range {
    font-size: 10px;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-player-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 88px 34px;
    gap: 5px;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-play,
  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-speed,
  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-fullscreen {
    min-height: 30px;
    font-size: 11px;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-fullscreen {
    width: 34px;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-stamp {
    left: 8px;
    bottom: 8px;
    padding: 6px 8px;
  }
}

@media (max-height: 520px) and (orientation: landscape) {
  .live-timelapse-shell.is-pseudo-fullscreen {
    grid-template-columns: minmax(0, 1fr) 228px;
    grid-template-rows: 1fr;
    padding: 6px;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-panel {
    align-self: stretch;
    max-height: none;
    align-content: start;
    overflow: auto;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-frame {
    object-fit: cover;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-stamp {
    left: 8px;
    bottom: 8px;
    padding: 7px 9px;
  }
}

/* Timelapse fullscreen: video-player style overlay */
.live-timelapse-shell.is-pseudo-fullscreen {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  width: 100vw !important;
  height: 100dvh !important;
  padding: 0 !important;
  display: block !important;
  transform: none !important;
  background: #020817 !important;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-stage {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  border-radius: 0 !important;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-frame {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: contain !important;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-panel {
  position: absolute !important;
  inset: auto 0 0 0 !important;
  z-index: 5 !important;
  display: block !important;
  max-height: none !important;
  padding: 0 14px 14px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(0deg, rgba(0,0,0,.76), rgba(0,0,0,.36) 58%, rgba(0,0,0,0)) !important;
  overflow: visible !important;
  opacity: 1 !important;
  transition: opacity .22s ease !important;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-days,
.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-rights,
.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-empty {
  display: none !important;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-range {
  position: absolute !important;
  left: 14px !important;
  right: 14px !important;
  bottom: 52px !important;
  z-index: 6 !important;
  display: block !important;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-range span {
  display: none !important;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-range input {
  width: 100% !important;
  height: 4px !important;
  accent-color: #fff !important;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-player-controls {
  position: absolute !important;
  right: 68px !important;
  bottom: 12px !important;
  z-index: 7 !important;
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-play {
  position: fixed !important;
  left: 50% !important;
  top: 50% !important;
  z-index: 8 !important;
  width: 72px !important;
  height: 72px !important;
  min-width: 0 !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border-color: rgba(255,255,255,.35) !important;
  background: rgba(15, 23, 42, .34) !important;
  color: transparent !important;
  font-size: 0 !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  transform: translate(-50%, -50%) !important;
  backdrop-filter: blur(8px) !important;
  display: block !important;
  opacity: 1 !important;
  transition: opacity .22s ease, background .18s ease !important;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-play::before,
.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-play::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-play::before {
  width: 0;
  height: 0;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  border-left: 23px solid #fff;
  transform: translate(-38%, -50%);
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-play::after {
  content: none;
}

.live-timelapse-shell.is-pseudo-fullscreen.is-playing .live-timelapse-play::before {
  width: 9px;
  height: 30px;
  border: 0;
  border-radius: 2px;
  background: #fff;
  transform: translate(-10px, -50%);
}

.live-timelapse-shell.is-pseudo-fullscreen.is-playing .live-timelapse-play::after {
  content: "";
  width: 9px;
  height: 30px;
  border-radius: 2px;
  background: #fff;
  transform: translate(3px, -50%);
}

.live-timelapse-shell.is-pseudo-fullscreen.is-controls-hidden .live-timelapse-panel,
.live-timelapse-shell.is-pseudo-fullscreen.is-controls-hidden .live-timelapse-play,
.live-timelapse-shell.is-pseudo-fullscreen.is-controls-hidden .live-timelapse-stamp {
  opacity: 0 !important;
  pointer-events: none !important;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-speed,
.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-fullscreen {
  flex: 0 0 auto !important;
  min-height: 34px !important;
  border-color: rgba(255,255,255,.28) !important;
  background: rgba(255,255,255,.16) !important;
  color: #fff !important;
  backdrop-filter: blur(8px) !important;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-speed {
  width: 118px !important;
}

.live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-fullscreen {
  position: fixed !important;
  top: max(12px, env(safe-area-inset-top)) !important;
  right: max(12px, env(safe-area-inset-right)) !important;
  bottom: auto !important;
  z-index: 20 !important;
  width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  border-radius: 999px !important;
  background: rgba(15,23,42,.68) !important;
  color: #fff !important;
  font-size: 24px !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.28) !important;
}

@media (max-width: 700px) {
  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-panel {
    padding: 0 10px 10px !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-range {
    left: 10px !important;
    right: 10px !important;
    bottom: 46px !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-player-controls {
    right: 62px !important;
    bottom: 8px !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-play {
    width: 62px !important;
    height: 62px !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-play::before {
    border-top-width: 13px;
    border-bottom-width: 13px;
    border-left-width: 20px;
  }

  .live-timelapse-shell.is-pseudo-fullscreen.is-playing .live-timelapse-play::before {
    width: 8px;
    height: 26px;
    transform: translate(-9px, -50%);
  }

  .live-timelapse-shell.is-pseudo-fullscreen.is-playing .live-timelapse-play::after {
    width: 8px;
    height: 26px;
    transform: translate(3px, -50%);
  }
}

/* Mobile fullscreen timelapse controls: keep every control visible and tappable. */
@media (max-width: 760px) {
  .live-timelapse-shell.is-pseudo-fullscreen {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    gap: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    padding: 0 !important;
    transform: none !important;
    overflow: hidden !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-stage {
    grid-row: 1 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    border-radius: 0 !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-frame {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: contain !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-panel {
    position: static !important;
    grid-row: 2 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
    max-height: 44dvh !important;
    padding: 12px 12px calc(12px + env(safe-area-inset-bottom)) !important;
    border: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, .12) !important;
    border-radius: 0 !important;
    background: #081224 !important;
    overflow-y: auto !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-day-select {
    display: grid !important;
    gap: 6px !important;
    width: 100% !important;
    margin: 0 !important;
    color: #cbd5e1 !important;
    font-size: 13px !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-day-select select {
    width: 100% !important;
    min-height: 44px !important;
    border-radius: 12px !important;
    font-size: 15px !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-range {
    position: static !important;
    display: grid !important;
    gap: 6px !important;
    width: 100% !important;
    margin: 0 !important;
    color: #e2e8f0 !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-range span {
    display: block !important;
    color: #cbd5e1 !important;
    font-size: 12px !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-range input {
    display: block !important;
    width: 100% !important;
    height: 18px !important;
    accent-color: #22c55e !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-player-controls {
    position: static !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(104px, .72fr) 44px !important;
    gap: 8px !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: stretch !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-play {
    position: static !important;
    z-index: auto !important;
    width: 100% !important;
    height: 44px !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 0 12px !important;
    transform: none !important;
    text-indent: 0 !important;
    color: #fff !important;
    font-size: 14px !important;
    line-height: 1 !important;
    border-radius: 999px !important;
    border-color: rgba(255, 255, 255, .12) !important;
    background: #ef233c !important;
    box-shadow: 0 12px 24px rgba(239, 35, 60, .24) !important;
    backdrop-filter: none !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-play::before,
  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-play::after,
  .live-timelapse-shell.is-pseudo-fullscreen.is-playing .live-timelapse-play::before,
  .live-timelapse-shell.is-pseudo-fullscreen.is-playing .live-timelapse-play::after {
    content: none !important;
    display: none !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-speed {
    width: 100% !important;
    max-width: none !important;
    min-height: 44px !important;
    font-size: 13px !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-fullscreen {
    position: static !important;
    width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    font-size: 18px !important;
    box-shadow: none !important;
  }
}

@media (max-width: 380px) {
  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-player-controls {
    grid-template-columns: minmax(0, 1fr) 96px 42px !important;
    gap: 6px !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-play,
  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-speed {
    font-size: 12px !important;
  }
}

/* Mobile fullscreen timelapse: controls overlay the image instead of shrinking it. */
@media (max-width: 760px) {
  .live-timelapse-shell.is-pseudo-fullscreen {
    display: block !important;
    grid-template-rows: none !important;
    overflow: hidden !important;
    background: #020817 !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-stage {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-panel {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 12 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    max-height: none !important;
    padding: 44px 10px calc(10px + env(safe-area-inset-bottom)) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: linear-gradient(0deg, rgba(0,0,0,.78), rgba(0,0,0,.48) 62%, rgba(0,0,0,0)) !important;
    overflow: visible !important;
    opacity: 1 !important;
    transition: opacity .22s ease !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-day-select {
    position: absolute !important;
    left: 10px !important;
    right: 10px !important;
    top: 0 !important;
    display: block !important;
    margin: 0 !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-day-select span {
    display: none !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-day-select select {
    width: 100% !important;
    min-height: 34px !important;
    height: 34px !important;
    border-radius: 999px !important;
    background: rgba(15,23,42,.72) !important;
    color: #fff !important;
    font-size: 13px !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-range {
    position: static !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-range span {
    display: none !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-range input {
    width: 100% !important;
    height: 18px !important;
    accent-color: #fff !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-player-controls {
    position: static !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 112px !important;
    gap: 8px !important;
    width: 100% !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-play,
  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-speed {
    width: 100% !important;
    height: 40px !important;
    min-height: 40px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-play {
    position: static !important;
    transform: none !important;
    color: #fff !important;
    text-indent: 0 !important;
    background: rgba(239,35,60,.92) !important;
    backdrop-filter: blur(8px) !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-play::before,
  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-play::after,
  .live-timelapse-shell.is-pseudo-fullscreen.is-playing .live-timelapse-play::before,
  .live-timelapse-shell.is-pseudo-fullscreen.is-playing .live-timelapse-play::after {
    content: none !important;
    display: none !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen .live-timelapse-fullscreen {
    position: fixed !important;
    top: max(10px, env(safe-area-inset-top)) !important;
    right: max(10px, env(safe-area-inset-right)) !important;
    z-index: 24 !important;
    width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    opacity: 1 !important;
    transition: opacity .22s ease !important;
  }

  .live-timelapse-shell.is-pseudo-fullscreen.is-controls-hidden .live-timelapse-panel,
  .live-timelapse-shell.is-pseudo-fullscreen.is-controls-hidden .live-timelapse-play,
  .live-timelapse-shell.is-pseudo-fullscreen.is-controls-hidden .live-timelapse-stamp,
  .live-timelapse-shell.is-pseudo-fullscreen.is-controls-hidden .live-timelapse-fullscreen {
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* ===== Sofia service page: compact promos and visible van ===== */
.service-vehicle-visual {
  position: relative;
  max-width: 720px;
  margin: 22px auto 20px;
  aspect-ratio: 16 / 7;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 18px;
  background: #f8fafc;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .10);
}

.service-vehicle-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.service-promo-row {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 16px;
  align-items: stretch;
  margin-top: 18px;
}

.service-promo-row .service-section {
  margin-top: 0 !important;
  min-height: 0;
}

.service-promo-row .service-kits-promo,
.service-promo-row .service-live-promo {
  display: grid !important;
  align-content: center;
  padding: 24px 24px !important;
}

.service-promo-row .service-section-head-center {
  margin-bottom: 14px !important;
}

.service-promo-row .service-section-head h2 {
  font-size: clamp(22px, 2vw, 28px) !important;
}

.service-promo-row .service-section-head p {
  max-width: 620px;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.service-promo-row .service-kits-promo-actions,
.service-promo-row .service-live-promo-actions {
  margin-top: 8px !important;
}

.service-promo-row .btn.btn-cta {
  min-height: 44px !important;
}

.service-promo-row .service-kits-promo .btn-icon {
  color: #b91c1c;
}

.service-promo-row .service-live-promo {
  text-align: left;
  background:
    linear-gradient(135deg, rgba(255,255,255,.94), rgba(255, 247, 248, .92)),
    url("/assets/img/boyana-vitosha-kopitoto-1.png") center/cover !important;
  color: #172033 !important;
  border: 1px solid rgba(148, 163, 184, .24) !important;
}

.service-promo-row .service-live-promo::after {
  width: 58px;
  height: 58px;
  right: 20px;
  background: url("/camera-icon.svg") center/34px 34px no-repeat, rgba(255,255,255,.96);
  box-shadow: 0 12px 28px rgba(15, 23, 42, .12);
}

.service-promo-row .service-live-promo .service-section-head,
.service-promo-row .service-live-promo .service-live-promo-actions {
  max-width: 520px;
  margin-left: 0;
  margin-right: 76px;
}

.service-promo-row .service-live-promo .service-section-head h2,
.service-promo-row .service-live-promo .service-section-head p {
  color: #172033 !important;
}

.service-promo-row .service-live-promo .service-section-head h2 {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.service-promo-row .service-live-promo .service-section-head h2::before {
  content: "";
  width: 10px;
  height: 10px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: #22c55e;
  box-shadow: 0 0 0 0 rgba(34, 197, 94, .34);
  animation: liveGreenPulse 1.7s ease-in-out infinite;
}

@keyframes liveGreenPulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(34, 197, 94, .34);
  }
  50% {
    box-shadow: 0 0 0 8px rgba(34, 197, 94, 0);
  }
}

.service-kits-promo--mobile {
  display: none !important;
}

@media (max-width: 900px) {
  .service-live-promo {
    padding: 14px 14px !important;
    border-radius: 14px !important;
  }

  .service-live-promo::after {
    display: none;
  }

  .service-live-promo .service-section-head,
  .service-live-promo .service-live-promo-actions {
    max-width: none;
    margin-right: 0;
    text-align: left;
  }

  .service-live-promo .service-section-head h2 {
    font-size: 18px !important;
  }

  .service-live-promo .service-section-head p {
    font-size: 12px !important;
  }

  .service-live-promo-actions .btn {
    flex: 1 1 auto;
    min-width: 126px;
  }

  .service-promo-row {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .service-promo-row .service-kits-promo--desktop {
    display: grid !important;
  }

  .service-promo-row .service-kits-promo,
  .service-promo-row .service-live-promo {
    padding: 18px 16px !important;
    border-radius: 18px !important;
  }

  .service-promo-row .service-live-promo::after {
    display: none;
  }

  .service-promo-row .service-live-promo .service-section-head,
  .service-promo-row .service-live-promo .service-live-promo-actions {
    max-width: none;
    margin-right: 0;
    text-align: left;
  }
}

@media (max-width: 767px) {
  .service-vehicle-visual {
    display: block !important;
    max-width: none;
    margin: 16px 0 18px;
    aspect-ratio: 4 / 3;
    border-radius: 16px;
  }

  .service-vehicle-visual img {
    object-position: center;
  }
}

/* ===== Sofia service hero: full vehicle image left, copy right ===== */
@media (min-width: 1101px) {
  .service-city-hero-inner {
    display: grid !important;
    grid-template-columns: minmax(430px, .98fr) minmax(0, 1.02fr);
    grid-template-areas:
      "kicker kicker"
      "title title"
      "vehicle lead"
      "vehicle sublead"
      "vehicle actions"
      "badges badges"
      "note note";
    align-items: start;
    column-gap: 34px;
    row-gap: 10px;
    max-width: 1160px !important;
    text-align: left !important;
  }

  .service-city-kicker {
    grid-area: kicker;
    justify-self: center;
  }

  .service-city-hero h1 {
    grid-area: title;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 18px !important;
    max-width: 760px !important;
    font-size: clamp(36px, 3vw, 44px) !important;
    line-height: 1.08 !important;
    text-align: center !important;
  }

  .service-city-lead {
    grid-area: lead;
  }

  .service-city-sublead {
    grid-area: sublead;
  }

  .service-city-lead,
  .service-city-sublead {
    max-width: 560px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 8px !important;
    font-size: 15px !important;
    line-height: 1.62 !important;
  }

  .service-vehicle-visual {
    grid-area: vehicle;
    align-self: start;
    width: 100%;
    max-width: none;
    margin: 0 !important;
    aspect-ratio: auto !important;
    background: #fff;
  }

  .service-vehicle-visual img {
    width: 100%;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  .service-city-page .service-quick-contact {
    grid-area: actions;
    justify-content: flex-start;
    margin-top: 10px !important;
  }

  .service-city-badges {
    grid-area: badges;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin-top: 18px !important;
    width: 100%;
  }

  .service-city-note {
    grid-area: note;
    max-width: none;
    margin-top: 2px !important;
    text-align: center;
  }
}

@media (max-width: 1100px) {
  .service-city-hero-inner {
    display: block !important;
    max-width: 760px !important;
    text-align: center !important;
  }

  .service-city-kicker {
    justify-self: center;
  }

  .service-city-hero h1,
  .service-city-lead,
  .service-city-sublead,
  .service-city-note {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 680px !important;
    text-align: center !important;
  }

  .service-city-page .service-quick-contact {
    justify-content: center !important;
  }

  .service-city-badges {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 680px !important;
  }

  .service-vehicle-visual {
    max-width: 680px;
    margin: 18px auto 20px !important;
    aspect-ratio: auto !important;
    background: #fff;
  }

  .service-vehicle-visual img {
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }
}

/* ===== Service pages: softer sections, less white-card repetition ===== */
.service-city-page .service-section:not(.service-live-promo):not(.service-kits-promo) {
  position: relative;
  overflow: hidden;
  border-color: rgba(148, 163, 184, .22) !important;
  background:
    linear-gradient(135deg, rgba(248, 250, 252, .96), rgba(255, 247, 248, .82)),
    #f8fafc !important;
  box-shadow: 0 16px 38px rgba(15, 23, 42, .055) !important;
}

.service-city-page .service-section:not(.service-live-promo):not(.service-kits-promo)::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, rgba(225, 29, 46, .68), rgba(15, 23, 42, .16));
  opacity: .65;
}

.service-city-page .service-section > * {
  position: relative;
  z-index: 1;
}

.service-city-page .service-card,
.service-city-page .service-step-card,
.service-city-page .seo-link-card,
.service-city-page .faq-item {
  border-color: rgba(148, 163, 184, .24) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.74), rgba(248,250,252,.64)) !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .045) !important;
}

.service-city-page .service-card:nth-child(3n + 1),
.service-city-page .service-step-card:nth-child(3n + 1) {
  background:
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,247,248,.60)) !important;
}

.service-city-page .service-card:nth-child(3n + 2),
.service-city-page .service-step-card:nth-child(3n + 2) {
  background:
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(241,245,249,.72)) !important;
}

.service-city-page .service-card:nth-child(3n),
.service-city-page .service-step-card:nth-child(3n) {
  background:
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(239,246,255,.58)) !important;
}

.service-city-page .service-card:hover,
.service-city-page .service-step-card:hover,
.service-city-page .seo-link-card:hover,
.service-city-page .faq-item:hover {
  border-color: rgba(225, 29, 46, .22) !important;
  box-shadow: 0 12px 26px rgba(15, 23, 42, .075) !important;
}

.service-city-page .service-section-head {
  text-align: left !important;
}

.service-city-page .service-section-head-center {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Mobile fix: keep Sofia service hero badges inside their boxes. */
.service-city-badges,
.service-city-badge {
  min-width: 0;
}

.service-city-badge strong,
.service-city-badge span {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

@media (max-width: 1100px) {
  .service-city-badges {
    gap: 8px !important;
  }

  .service-city-badge {
    padding: 11px 8px !important;
  }

  .service-city-badge strong {
    font-size: 13px !important;
    line-height: 1.18 !important;
  }

  .service-city-badge span {
    font-size: 11px !important;
    line-height: 1.22 !important;
  }
}

@media (max-width: 700px) {
  .service-city-badges {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    max-width: 360px !important;
    margin-top: 14px !important;
  }

  .service-city-badge {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    padding: 10px 12px !important;
    text-align: center;
  }

  .service-city-badge strong {
    margin-bottom: 3px !important;
    font-size: 14px !important;
  }

  .service-city-badge span {
    font-size: 11px !important;
  }
}

.service-city-page .service-section-head-center h2,
.service-city-page .service-section-head-center p {
  text-align: center !important;
}

.service-city-page .service-card h3,
.service-city-page .service-step-card h3 {
  position: relative;
  padding-left: 14px;
}

.service-city-page .service-card h3::before,
.service-city-page .service-step-card h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: .26em;
  width: 4px;
  height: 1.15em;
  border-radius: 999px;
  background: #e11d2e;
}

.service-city-page .faq-item summary {
  background: transparent !important;
}

@media (max-width: 767px) {
  .service-city-page .service-section:not(.service-live-promo):not(.service-kits-promo) {
    background:
      linear-gradient(180deg, rgba(248, 250, 252, .98), rgba(255, 247, 248, .76)),
      #f8fafc !important;
  }

  .service-city-page .service-section-head-center h2,
  .service-city-page .service-section-head-center p {
    text-align: left !important;
  }
}

/* ===== Admin offers: true mobile card layout ===== */
@media (max-width: 767px) {
  .admin-main .offers-table-wrap,
  .admin-main .offer-table-wrap {
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
  }

  .admin-main .offers-table,
  .admin-main .offer-table {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    border-collapse: separate !important;
    background: transparent !important;
    font-size: 14px !important;
  }

  .admin-main .offers-table thead,
  .admin-main .offer-table thead {
    display: none !important;
  }

  .admin-main .offers-table tbody,
  .admin-main .offer-table tbody,
  .admin-main .offers-table tr,
  .admin-main .offer-table tr {
    display: block !important;
    width: 100% !important;
  }

  .admin-main .offers-table tr,
  .admin-main .offer-table tr {
    margin: 0 0 12px !important;
    padding: 12px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .06) !important;
  }

  .admin-main .offers-table td,
  .admin-main .offer-table td {
    display: grid !important;
    grid-template-columns: minmax(92px, 34%) minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 9px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #eef2f7 !important;
    text-align: right !important;
    white-space: normal !important;
  }

  .admin-main .offers-table td:last-child,
  .admin-main .offer-table td:last-child {
    border-bottom: 0 !important;
  }

  .admin-main .offers-table td::before,
  .admin-main .offer-table td::before {
    content: attr(data-label);
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    text-align: left;
    text-transform: uppercase;
  }

  .admin-main .offers-actions-cell,
  .admin-main .offer-qty-cell {
    min-width: 0 !important;
  }

  .admin-main .offers-actions-cell {
    display: grid !important;
    grid-template-columns: 1fr !important;
    text-align: left !important;
  }

  .admin-main .offers-actions-cell::before {
    margin-bottom: 2px;
  }

  .admin-main .offers-actions-cell .offers-open-btn,
  .admin-main .offers-delete-form,
  .admin-main .offers-delete-form .offers-open-btn {
    display: flex !important;
    width: 100% !important;
    margin: 3px 0 !important;
  }

  .admin-main .offers-actions-cell .offers-open-btn,
  .admin-main .offers-delete-form .offers-open-btn {
    justify-content: center !important;
    min-height: 44px !important;
  }

  .admin-main .offer-table td:first-child {
    grid-template-columns: 1fr !important;
    text-align: left !important;
  }

  .admin-main .offer-table td:first-child::before {
    margin-bottom: -3px;
  }

  .admin-main .offer-qty-input {
    width: 100% !important;
    max-width: 150px !important;
    justify-self: end !important;
    font-size: 18px !important;
    font-weight: 800 !important;
  }

  .offer-total-breakdown > div,
  .offer-total-breakdown .offer-total-final {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 3px !important;
    text-align: right !important;
  }
}

@media (max-width: 430px) {
  .admin-main .offers-table td,
  .admin-main .offer-table td {
    grid-template-columns: minmax(82px, 32%) minmax(0, 1fr) !important;
    gap: 8px !important;
  }
}

/* ===== Hikvision password reset Sofia page ===== */
.password-reset-hero .password-reset-hero-inner {
  display: grid !important;
  grid-template-columns: minmax(130px, 190px) minmax(0, 1fr) !important;
  grid-template-areas:
    "icon copy"
    "icon prices"
    "icon actions"
    "icon badges" !important;
  align-items: center !important;
  gap: 18px 26px !important;
  max-width: 1080px !important;
  text-align: left !important;
}

.password-reset-hero .password-reset-hero-copy {
  grid-area: copy !important;
}

.password-reset-hero .service-city-kicker,
.password-reset-hero .service-city-hero h1,
.password-reset-hero h1,
.password-reset-hero .service-city-lead,
.password-reset-hero .service-city-sublead {
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}

.password-reset-hero h1 {
  max-width: 760px !important;
  font-size: clamp(30px, 2.8vw, 42px) !important;
}

.password-reset-hero .service-city-lead,
.password-reset-hero .service-city-sublead {
  max-width: 780px !important;
}

.password-reset-hero .service-quick-contact {
  grid-area: actions !important;
  justify-content: flex-start !important;
  margin-top: 0 !important;
}

.password-reset-price-strip {
  grid-area: prices !important;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
  max-width: 520px;
}

.password-reset-price-card {
  position: relative;
  overflow: hidden;
  min-height: 92px;
  padding: 14px 16px 13px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 16px;
  background:
    radial-gradient(circle at 88% 14%, rgba(255,255,255,.32), transparent 24%),
    linear-gradient(135deg, #ef2336 0%, #c1121f 52%, #8f1217 100%);
  color: #fff;
  box-shadow: 0 14px 28px rgba(193, 18, 31, .20);
}

.password-reset-price-card::after {
  content: "";
  position: absolute;
  right: -24px;
  bottom: -30px;
  width: 86px;
  height: 86px;
  border-radius: 50%;
  border: 16px solid rgba(255, 255, 255, .10);
}

.password-reset-price-card span,
.password-reset-price-card strong,
.password-reset-price-card small {
  position: relative;
  z-index: 1;
  display: block;
}

.password-reset-price-card span {
  font-size: 12px;
  line-height: 1.2;
  font-weight: 950;
  text-transform: uppercase;
}

.password-reset-price-card strong {
  margin-top: 3px;
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: .98;
  font-weight: 950;
  letter-spacing: 0;
}

.password-reset-price-card small {
  margin-top: 6px;
  color: rgba(255, 255, 255, .86);
  font-size: 12px;
  line-height: 1.35;
  font-weight: 800;
}

.password-reset-price-strip-inline {
  max-width: none;
  margin: 14px 0 18px;
}

.password-reset-hero .service-city-badges {
  grid-area: badges !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  max-width: none !important;
  margin-top: 0 !important;
}

.password-reset-tool-visual {
  grid-area: icon !important;
  position: relative;
  width: min(100%, 170px);
  aspect-ratio: 1;
  justify-self: center;
  border-radius: 28px;
  background:
    radial-gradient(circle at 30% 24%, rgba(255,255,255,.96), transparent 16%),
    radial-gradient(circle at 75% 16%, rgba(255,255,255,.42), transparent 18%),
    linear-gradient(145deg, #ef2336 0%, #b91c1c 46%, #111827 100%);
  box-shadow:
    0 18px 38px rgba(15, 23, 42, .16),
    inset 0 0 0 1px rgba(255, 255, 255, .25);
  overflow: hidden;
}

.password-reset-tool-visual::before {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, .24);
}

.password-reset-lock-shackle,
.password-reset-open-shackle {
  position: absolute;
  left: 51px;
  top: 28px;
  width: 68px;
  height: 68px;
  border: 14px solid #fff;
  border-bottom: 0;
  border-radius: 58px 58px 0 0;
  filter: drop-shadow(0 14px 18px rgba(15,23,42,.16));
}

.password-reset-lock-shackle::after,
.password-reset-open-shackle::after {
  content: "";
  position: absolute;
  left: -14px;
  right: -14px;
  bottom: -13px;
  width: 14px;
  height: 22px;
  border-radius: 999px;
  background: transparent;
}

.password-reset-lock-body,
.password-reset-open-body {
  position: absolute;
  left: 36px;
  top: 88px;
  width: 98px;
  height: 70px;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 22px rgba(15, 23, 42, .20);
}

.password-reset-lock-body::before,
.password-reset-open-body::before {
  content: "";
  position: absolute;
  left: 40px;
  top: 20px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #d71920;
}

.password-reset-lock-body::after,
.password-reset-open-body::after {
  content: "";
  position: absolute;
  left: 46px;
  top: 35px;
  width: 6px;
  height: 17px;
  border-radius: 999px;
  background: #d71920;
}

@media (max-width: 1100px) {
  .password-reset-hero .password-reset-hero-inner {
    grid-template-columns: 150px minmax(0, 1fr) !important;
    grid-template-areas:
      "icon copy"
      "prices prices"
      "actions actions"
      "badges badges" !important;
    max-width: 820px !important;
    text-align: left !important;
  }

  .password-reset-tool-visual {
    width: 150px;
    align-self: start;
  }

  .password-reset-lock-shackle,
  .password-reset-open-shackle {
    left: 47px;
    top: 23px;
    width: 56px;
    height: 58px;
    border-width: 12px;
  }

  .password-reset-lock-shackle::after,
  .password-reset-open-shackle::after {
    left: -12px;
    right: -12px;
    bottom: -11px;
    width: 12px;
    height: 18px;
  }

  .password-reset-lock-body,
  .password-reset-open-body {
    left: 32px;
    top: 70px;
    width: 86px;
    height: 61px;
    border-radius: 17px;
  }

  .password-reset-lock-body::before,
  .password-reset-open-body::before {
    left: 35px;
    top: 17px;
    width: 16px;
    height: 16px;
  }

  .password-reset-lock-body::after,
  .password-reset-open-body::after {
    left: 40px;
    top: 31px;
    width: 6px;
    height: 15px;
  }

  .password-reset-hero .service-city-badges {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .password-reset-price-strip {
    max-width: none;
  }
}

@media (max-width: 767px) {
  .password-reset-hero .password-reset-hero-inner {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "icon"
      "copy"
      "prices"
      "actions"
      "badges" !important;
    gap: 16px !important;
    text-align: center !important;
  }

  .password-reset-tool-visual {
    width: 126px;
    border-radius: 26px;
  }

  .password-reset-lock-shackle,
  .password-reset-open-shackle {
    left: 39px;
    top: 20px;
    width: 48px;
    height: 50px;
    border-width: 10px;
  }

  .password-reset-lock-shackle::after,
  .password-reset-open-shackle::after {
    left: -10px;
    right: -10px;
    bottom: -9px;
    width: 10px;
    height: 15px;
  }

  .password-reset-lock-body,
  .password-reset-open-body {
    left: 27px;
    top: 60px;
    width: 72px;
    height: 52px;
    border-radius: 15px;
  }

  .password-reset-lock-body::before,
  .password-reset-open-body::before {
    left: 29px;
    top: 15px;
    width: 14px;
    height: 14px;
  }

  .password-reset-lock-body::after,
  .password-reset-open-body::after {
    left: 33px;
    top: 27px;
    width: 5px;
    height: 13px;
  }

  .password-reset-hero .service-city-kicker,
  .password-reset-hero h1,
  .password-reset-hero .service-city-lead,
  .password-reset-hero .service-city-sublead {
    text-align: center !important;
  }

  .password-reset-hero .service-quick-contact {
    justify-content: center !important;
  }

  .password-reset-hero .service-city-badges {
    grid-template-columns: 1fr !important;
  }

  .password-reset-price-strip {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .password-reset-price-card {
    min-height: 0;
    padding: 10px 12px;
    border-radius: 14px;
    text-align: left;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "label price"
      "note price";
    align-items: center;
    column-gap: 12px;
  }

  .password-reset-price-card span {
    grid-area: label;
    font-size: 11px;
  }

  .password-reset-price-card strong {
    grid-area: price;
    margin-top: 0;
    font-size: 28px;
    white-space: nowrap;
  }

  .password-reset-price-card small {
    grid-area: note;
    margin-top: 3px;
    font-size: 11px;
  }

  .password-reset-price-card::after {
    width: 58px;
    height: 58px;
    right: -18px;
    bottom: -22px;
    border-width: 11px;
  }
}

/* ===== Footer cleanup: compact desktop, accordion mobile ===== */
@media (min-width: 821px) {
  .site-footer {
    padding-top: 26px !important;
  }

  .footer-cta-panel {
    margin-bottom: 12px !important;
    padding: 22px 24px !important;
    border-radius: 20px !important;
  }

  .footer-cta-panel h2 {
    font-size: clamp(22px, 2vw, 28px) !important;
  }

  .footer-cta-panel p {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  .footer-service-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin-bottom: 12px !important;
  }

  .footer-grid-premium {
    display: grid !important;
    grid-template-columns: minmax(250px, 1.2fr) repeat(5, minmax(140px, 1fr)) !important;
    gap: 12px !important;
    align-items: start !important;
    padding-bottom: 14px !important;
  }

  .footer-brand-premium,
  .footer-accordion,
  .footer-info-accordion,
  .footer-cctv,
  .footer-montaj,
  .footer-areas,
  .footer-live {
    grid-column: auto !important;
    grid-row: auto !important;
    margin: 0 !important;
  }

  .site-footer .footer-box,
  .footer-accordion,
  .footer-accordion[open] {
    min-height: 0 !important;
    padding: 14px !important;
    border: 1px solid rgba(255, 255, 255, .08) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .035) !important;
    box-shadow: none !important;
  }

  .footer-accordion summary,
  .footer-accordion[open] summary {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    cursor: pointer !important;
  }

  .footer-accordion summary::after {
    width: 20px !important;
    height: 20px !important;
    font-size: 14px !important;
  }

  .footer-link-list {
    margin-top: 12px !important;
    gap: 4px !important;
  }

  .footer-link-list a {
    min-height: 25px !important;
    padding: 2px 0 !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
  }

  .footer-logo {
    width: 150px !important;
    margin-bottom: 10px !important;
  }

  .footer-brand-text {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .footer-contact-list {
    gap: 5px !important;
    margin-bottom: 10px !important;
  }

  .footer-trust-pills span {
    min-height: 24px !important;
    padding: 0 8px !important;
    font-size: 11px !important;
  }
}

@media (min-width: 821px) and (max-width: 1180px) {
  .footer-grid-premium {
    grid-template-columns: minmax(240px, 1.1fr) repeat(3, minmax(150px, 1fr)) !important;
  }
}

/* AI camera configurator */
.ai-config-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px;align-items:center;margin:20px 0 18px;padding:32px;border-radius:28px;color:#fff;background:radial-gradient(circle at 16% 18%,rgba(59,130,246,.44),transparent 34%),linear-gradient(135deg,#061525,#0b2b3d 52%,#0f172a);box-shadow:0 22px 60px rgba(2,6,23,.22);overflow:hidden}
.ai-config-hero:before{content:"";position:absolute;inset:auto -80px -120px auto;width:330px;height:330px;border-radius:50%;background:rgba(34,197,94,.22);filter:blur(12px)}
.ai-config-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(34,197,94,.16);border:1px solid rgba(134,239,172,.35);color:#bbf7d0;font-weight:900;font-size:13px}
.ai-config-hero h1{position:relative;margin:14px 0 10px;font-size:clamp(34px,5vw,64px);line-height:.95;letter-spacing:0}
.ai-config-hero p{position:relative;margin:0;max-width:680px;color:#dbeafe;font-size:18px;line-height:1.45}
.ai-orb{position:relative;display:grid;place-items:center;text-align:center;min-height:220px;border-radius:32px;background:linear-gradient(145deg,rgba(15,23,42,.72),rgba(14,165,233,.14));border:1px solid rgba(147,197,253,.35);box-shadow:inset 0 0 40px rgba(96,165,250,.16)}
.ai-orb b{font-size:70px;line-height:1;color:#86efac;text-shadow:0 0 28px rgba(34,197,94,.42)}
.ai-orb span{max-width:210px;color:#cbd5e1;font-weight:800}
.ai-config-alert,.ai-result-card{margin:14px 0;padding:16px 18px;border-radius:18px;border:1px solid var(--border);background:#fff;box-shadow:var(--shadow);font-weight:800}
.ai-config-alert.ok{border-color:#86efac;color:#047857}.ai-config-alert.err{border-color:#fecaca;color:#b91c1c}
.ai-result-card{border-color:#86efac;background:linear-gradient(135deg,#f0fdf4,#fff)}.ai-result-card span{color:#047857;font-weight:950;text-transform:uppercase;font-size:12px}.ai-result-card p{font-size:18px;line-height:1.5;margin:8px 0 14px}
.ai-configurator{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start;margin:18px 0 40px}
.cc-progress{grid-column:1/-1;height:8px;border-radius:99px;background:#e2e8f0;overflow:hidden}.cc-progress i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#16a34a,#22c55e,#06b6d4);transition:width .25s ease}
.cc-step{display:none;padding:20px;border-radius:22px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow)}.cc-step.is-active{display:block}
.cc-step-head small{color:#047857;font-size:12px;font-weight:950;text-transform:uppercase}.cc-step-head h2{margin:4px 0 7px;font-size:clamp(24px,2.7vw,34px);line-height:1.06}.cc-step-head p{margin:0 0 14px;color:var(--muted);font-weight:700;line-height:1.35}
.cc-options,.cc-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px}
.cc-card,.cc-info-card{display:block;min-height:58px;border:1px solid rgba(216,226,238,.86);border-radius:15px;padding:11px 12px;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(248,250,252,.82));cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;box-shadow:0 7px 16px rgba(2,6,23,.04);backdrop-filter:blur(10px)}
.cc-card:hover,.cc-info-card:hover{transform:translateY(-2px) scale(1.018);border-color:#86efac;background:linear-gradient(135deg,rgba(236,253,245,.96),rgba(255,255,255,.9));box-shadow:0 16px 34px rgba(2,6,23,.10)}
.cc-card input,.cc-info-card input{position:absolute;opacity:0;pointer-events:none}.cc-card span,.cc-info-card b{display:block;font-size:16px;font-weight:950;line-height:1.14}.cc-info-card span{display:block;margin-top:6px;color:#64748b;font-size:12.5px;font-weight:750;line-height:1.28}
.cc-card:has(input:checked),.cc-info-card:has(input:checked){border-color:#16a34a;background:linear-gradient(135deg,#ecfdf5,#fff);box-shadow:0 0 0 3px rgba(34,197,94,.15),0 14px 30px rgba(22,163,74,.12)}
.cc-card:has(input:checked):hover,.cc-info-card:has(input:checked):hover{transform:translateY(-2px) scale(1.012)}
.cc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cc-form-grid label{font-weight:900;color:#0f172a}.cc-form-grid input,.cc-form-grid select,.cc-form-grid textarea{width:100%;margin-top:7px;border:1px solid #d8e2ee;border-radius:14px;padding:13px 14px;font:inherit;background:#fff}.cc-full{grid-column:1/-1}.cc-hp{position:absolute;left:-9999px}
.cc-ai-panel{position:sticky;top:16px;padding:22px;border-radius:24px;color:#e5f7ff;background:radial-gradient(circle at 80% 0,rgba(34,197,94,.28),transparent 30%),linear-gradient(145deg,#07111f,#0b2538);border:1px solid rgba(96,165,250,.32);box-shadow:0 18px 45px rgba(2,6,23,.22)}
.cc-ai-live{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(34,197,94,.14);color:#86efac;border:1px solid rgba(134,239,172,.26);font-size:12px;font-weight:950}.cc-ai-panel h3{margin:14px 0 8px;font-size:28px;line-height:1.05}.cc-ai-panel p{color:#cbd5e1;line-height:1.45}.cc-ai-panel ul{display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none}.cc-ai-panel li{padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.07);font-weight:800}
.cc-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:14px 0 0 auto;padding:0;border-radius:16px;background:transparent;border:0;flex-wrap:wrap;backdrop-filter:none;width:min(100%,330px)}.cc-actions.cc-actions-in-grid{grid-column:-2/-1;align-self:stretch;width:100%;margin:0;padding:0;display:grid;place-items:center end}.cc-actions.cc-actions-no-total{width:max-content;max-width:100%;margin-left:auto}.cc-actions.cc-actions-in-grid.cc-actions-no-total{width:100%;max-width:none}.cc-actions .btn{min-width:118px;min-height:42px;padding:9px 16px}.cc-actions.cc-actions-in-grid .btn{min-width:132px}.cc-actions .cc-prev{margin-right:auto}.cc-actions .cc-prev:disabled{display:none}.cc-next{box-shadow:0 10px 22px rgba(190,18,60,.14);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.cc-next.is-ready{animation:hikNextPulse 1.05s ease-in-out infinite;background:#b91c1c!important;border-color:#b91c1c!important;color:#fff!important;text-shadow:0 1px 0 rgba(0,0,0,.16);box-shadow:0 0 0 0 rgba(220,38,38,.55),0 15px 34px rgba(185,28,28,.34)}@keyframes hikNextPulse{0%,100%{transform:translateY(0) scale(1);box-shadow:0 0 0 0 rgba(220,38,38,.45),0 15px 34px rgba(185,28,28,.30)}50%{transform:translateY(-1px) scale(1.045);box-shadow:0 0 0 12px rgba(220,38,38,0),0 20px 42px rgba(185,28,28,.44)}}.cc-step-error{display:none;flex:0 0 100%;padding:8px 10px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:12.5px;font-weight:900;line-height:1.3}.cc-step-error.is-visible{display:block}.cc-camera-total{flex:0 0 100%;text-align:right;color:#047857;font-size:12.5px;font-weight:950;line-height:1.2;padding-right:2px}.cc-submit{display:none}
.camera-admin-list{display:grid;gap:16px}.camera-admin-card{border:1px solid #d8e2ee;border-radius:18px;padding:16px;background:#fff;box-shadow:0 8px 22px rgba(2,6,23,.05)}.camera-admin-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.camera-admin-head strong{display:block;font-size:20px}.camera-admin-head span{display:block;margin-top:4px;color:#64748b;font-weight:800}.camera-admin-ai{margin:14px 0;padding:14px;border-radius:16px;background:#ecfdf5;border:1px solid #bbf7d0}.camera-admin-ai b,.camera-admin-message b{color:#047857}.camera-admin-ai p,.camera-admin-message p{margin:6px 0 0;line-height:1.45}.camera-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.camera-admin-grid span{padding:10px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}.camera-admin-grid b{display:block;color:#64748b;font-size:12px;text-transform:uppercase}.camera-admin-message{margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0}.camera-admin-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
@media(max-width:900px){.ai-config-hero,.ai-configurator{grid-template-columns:1fr}.ai-orb{min-height:150px}.cc-options,.cc-info-grid,.cc-form-grid,.camera-admin-grid{grid-template-columns:1fr}.cc-ai-panel{position:relative;top:auto;order:-1}.cc-actions{position:static;background:transparent;backdrop-filter:none;padding:0;margin:12px 0 14px auto;width:min(100%,330px)}.cc-actions.cc-actions-in-grid{grid-column:auto;width:100%;margin:0;place-items:center stretch}.cc-actions.cc-actions-no-total{width:max-content;max-width:100%;margin-left:auto}.cc-actions.cc-actions-in-grid.cc-actions-no-total{width:100%;max-width:none}.cc-actions .btn{flex:1;min-width:0;justify-content:center}.cc-actions.cc-actions-no-total .btn{flex:0 0 auto;min-width:118px}.cc-actions.cc-actions-in-grid.cc-actions-no-total .btn{width:100%}.cc-step-error{order:3}.cc-camera-total{order:4}.ai-config-hero{padding:24px;border-radius:22px}.ai-config-hero h1{font-size:36px}.ai-config-hero p{font-size:16px}}

/* Chat-style camera advisor */
.cc-object-card{min-height:58px;display:flex;align-items:center}
.cc-card b{display:block;font-size:17px;font-weight:950;line-height:1.12}
.cc-card small{display:none}
.global-ai-advisor{position:fixed;right:18px;bottom:92px;z-index:9999;font-family:inherit}
.global-ai-advisor-fab{position:relative;width:54px;height:54px;border:1px solid rgba(10,95,57,.16);border-radius:18px;background:rgba(255,255,255,.96);color:#08743d;box-shadow:0 10px 26px rgba(2,6,23,.13);display:grid;place-items:center;cursor:pointer;transition:.18s ease}
.global-ai-advisor-fab .ai-chat-face{width:34px;height:34px;border-radius:12px;background:#08743d;color:#fff;display:grid;place-items:center;font-size:14px;font-weight:1000;line-height:1;box-shadow:inset 0 -5px 10px rgba(0,0,0,.1)}
.global-ai-advisor-fab i{position:absolute;right:8px;top:8px;width:8px;height:8px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12)}
.global-ai-advisor-fab:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(2,6,23,.16)}
.global-ai-advisor-panel{position:absolute;right:0;bottom:68px;width:min(340px,calc(100vw - 28px));padding:14px;border-radius:22px 22px 8px 22px;background:rgba(255,255,255,.98);border:1px solid rgba(13,148,74,.14);box-shadow:0 18px 46px rgba(2,6,23,.16);opacity:0;visibility:hidden;transform:translateY(12px) scale(.97);transition:.2s ease;overflow:hidden}
.global-ai-advisor-panel:after{content:"";position:absolute;right:18px;bottom:-9px;width:18px;height:18px;background:#fff;border-right:1px solid rgba(13,148,74,.18);border-bottom:1px solid rgba(13,148,74,.18);transform:rotate(45deg)}
.global-ai-advisor.open .global-ai-advisor-panel{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.global-ai-advisor-close{position:absolute;right:10px;top:9px;width:32px;height:32px;border-radius:999px;border:1px solid #d7e8dd;background:#fff;color:#0f5132;font-size:22px;line-height:1;cursor:pointer;z-index:2}
.global-ai-advisor-kicker{display:inline-flex;margin-bottom:8px;padding:4px 8px;border-radius:999px;background:#f0faf4;color:#08743d;font-size:10px;font-weight:1000;text-transform:uppercase}
.global-ai-advisor-panel h3{position:relative;margin:0 32px 7px 0;font-size:19px;line-height:1.12;color:#102016;letter-spacing:0}
.global-ai-advisor-panel p{position:relative;margin:0 0 10px;color:#526174;font-size:14px;font-weight:700;line-height:1.4}
.global-ai-chat-lines{position:relative;display:grid;gap:8px;margin:2px 0 10px}
.global-ai-msg{width:fit-content;max-width:100%;padding:10px 12px;border-radius:16px 16px 16px 5px;background:#f3fbf6;color:#13261d;font-size:14px;font-weight:800;line-height:1.34;box-shadow:inset 0 0 0 1px rgba(13,148,74,.08)}
.global-ai-msg.is-delayed{opacity:0;transform:translateY(6px);transition:.24s ease}
.global-ai-advisor.has-second-message .global-ai-msg.is-delayed{opacity:1;transform:translateY(0)}
.global-ai-typing{display:inline-flex;align-items:center;gap:4px;margin:0 0 12px;padding:6px 9px;border-radius:999px;background:#eefaf3}
.global-ai-typing b{width:6px;height:6px;border-radius:999px;background:#16a34a;animation:hikAiTyping 1s infinite ease-in-out}
.global-ai-typing b:nth-child(2){animation-delay:.15s}.global-ai-typing b:nth-child(3){animation-delay:.3s}
@keyframes hikAiTyping{0%,80%,100%{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.global-ai-advisor-actions{display:flex;gap:9px;flex-wrap:wrap}
.global-ai-advisor-actions a{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 13px;border-radius:999px;background:#08743d;color:#fff;text-decoration:none;font-size:14px;font-weight:950;box-shadow:0 8px 18px rgba(8,116,61,.14)}
.global-ai-advisor-actions a+a{background:#fff;color:#08743d;border:1px solid #badfc9}
body.cookie-open .global-ai-advisor{bottom:154px}
@media(max-width:760px){
  .cc-object-card{min-height:58px}
  .cc-card b{font-size:16px}
  .global-ai-advisor{right:12px;bottom:82px}
  .global-ai-advisor-fab{width:50px;height:50px;border-radius:17px}
  .global-ai-advisor-fab .ai-chat-face{width:32px;height:32px;border-radius:11px;font-size:13px}
  .global-ai-advisor-panel{bottom:64px;width:min(318px,calc(100vw - 24px))}
  body.cookie-open .global-ai-advisor{bottom:138px}
}

.cc-sub-step-head{margin-top:22px;padding-top:18px;border-top:1px solid #e2e8f0}
.cc-camera-count-grid{margin-bottom:4px}
.cc-recorder-preview{margin:14px 0 0;padding:14px;border-radius:18px;background:linear-gradient(135deg,#ecfdf5,#f8fafc);border:1px solid #bbf7d0;box-shadow:0 10px 24px rgba(22,163,74,.08)}
.cc-recorder-preview span{display:inline-flex;margin-bottom:8px;padding:5px 9px;border-radius:999px;background:#047857;color:#fff;font-size:11px;font-weight:1000;text-transform:uppercase}
.cc-recorder-preview strong{display:block;color:#0f172a;font-size:clamp(19px,2.5vw,28px);line-height:1.08;letter-spacing:0}
.cc-recorder-preview p{margin:9px 0 0;color:#475569;font-weight:750;line-height:1.45}

.cc-free-start{margin:0 0 14px}
.cc-free-link{display:inline-flex;align-items:center;min-height:38px;padding:8px 13px;border-radius:999px;background:#f8fafc;border:1px solid #d8e2ee;color:#0f5132;text-decoration:none;font-weight:900}
.cc-free-link:hover{background:#ecfdf5;border-color:#86efac}

.global-ai-advisor.is-quiet .global-ai-advisor-panel{display:none}
.global-ai-advisor.is-quiet{bottom:22px}

.cc-quick-mode .cc-progress{display:none}
.cc-quick-mode .cc-ai-panel{display:none}
.cc-quick-mode .cc-step[data-step="6"]{max-width:760px;margin:0 auto}
.cc-quick-mode .cc-step[data-step="6"] .cc-step-head small{font-size:0}
.cc-quick-mode .cc-step[data-step="6"] .cc-step-head small:after{content:"Бързо запитване";font-size:12px}
.cc-quick-mode .cc-step[data-step="6"] .cc-step-head h2{font-size:clamp(28px,4vw,44px)}
.cc-quick-mode .cc-step[data-step="6"] .cc-step-head p{max-width:620px}

.cc-submit-quick{display:none}.cc-quick-mode .cc-submit-ai{display:none}.cc-quick-mode .cc-submit-quick{display:inline}

/* Separate AI advisor from scroll-to-top button */
.global-ai-advisor{right:84px !important;bottom:92px !important}
.global-ai-advisor-panel{right:-66px !important}
.global-ai-advisor-panel:after{right:84px !important}
body.cookie-open .global-ai-advisor{bottom:154px !important}
.global-ai-advisor.is-quiet{right:18px !important;bottom:88px !important}
@media(max-width:760px){
  .global-ai-advisor{right:12px !important;bottom:142px !important}
  .global-ai-advisor-panel{right:0 !important;bottom:62px !important}
  .global-ai-advisor-panel:after{right:18px !important}
  body.cookie-open .global-ai-advisor{bottom:194px !important}
  .global-ai-advisor.is-quiet{right:12px !important;bottom:82px !important}
}


.ai-thank-card{position:relative;margin:24px auto 46px;max-width:1120px;padding:26px;border-radius:26px;background:linear-gradient(145deg,#ffffff,#f2fff7);border:1px solid rgba(13,148,74,.22);box-shadow:0 24px 70px rgba(2,6,23,.12);overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px;align-items:stretch}
.ai-thank-card:before{content:"";position:absolute;right:-90px;top:-120px;width:310px;height:310px;border-radius:50%;background:radial-gradient(circle,rgba(34,197,94,.18),transparent 68%);pointer-events:none}
.ai-thank-main,.ai-thank-status,.ai-thank-summary,.ai-thank-card blockquote,.ai-thank-live,.ai-thank-actions{position:relative}
.ai-thank-kicker{display:inline-flex;margin-bottom:12px;padding:7px 12px;border-radius:999px;background:#ecfdf5;color:#047857;font-size:12px;font-weight:1000;text-transform:uppercase;letter-spacing:.02em}
.ai-thank-card h1{margin:0 0 10px;font-size:clamp(30px,3.7vw,48px);line-height:1.04;color:#0f172a;letter-spacing:0}
.ai-thank-lead{margin:0;max-width:760px;color:#475569;font-size:17px;font-weight:760;line-height:1.52}
.ai-thank-status{padding:20px;border-radius:22px;background:linear-gradient(145deg,#082033,#0c3b34);color:#dffced;border:1px solid rgba(74,222,128,.26);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.ai-thank-status span,.ai-thank-live span{display:block;margin-bottom:8px;color:#86efac;font-size:12px;font-weight:1000;text-transform:uppercase;letter-spacing:.08em}
.ai-thank-status strong{display:block;font-size:30px;line-height:1;color:#fff}
.ai-thank-status p{margin:12px 0 0;color:#cde9dc;font-size:14px;font-weight:700;line-height:1.45}
.ai-thank-summary{grid-column:1/-1;margin:4px 0 0;padding:18px;border-radius:20px;background:#fff;border:1px solid #d9f3e4}
.ai-thank-summary>b{display:block;margin-bottom:13px;color:#047857;font-size:17px}
.ai-thank-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ai-thank-step-grid article{padding:15px;border-radius:16px;background:#f8fafc;border:1px solid #e2e8f0}
.ai-thank-step-grid span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#059669;color:#fff;font-weight:1000;margin-bottom:10px}
.ai-thank-step-grid strong{display:block;color:#0f172a;font-size:17px;margin-bottom:5px}
.ai-thank-step-grid p{margin:0;color:#475569;font-weight:700;line-height:1.45}
.ai-thank-card blockquote{grid-column:1/-1;margin:0;padding:16px 18px;border-left:4px solid #16a34a;border-radius:16px;background:#f8fafc;color:#334155;font-weight:750;line-height:1.5}
.ai-thank-live{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:20px;border-radius:22px;background:linear-gradient(135deg,#071827,#0b3b2f);color:#fff;box-shadow:0 18px 44px rgba(2,6,23,.15)}
.ai-thank-live h2{margin:0 0 7px;font-size:clamp(22px,2.4vw,32px);line-height:1.08;color:#fff}
.ai-thank-live p{margin:0;max-width:760px;color:#cde9dc;font-size:15px;font-weight:700;line-height:1.5}
.ai-thank-actions{grid-column:1/-1;display:flex;gap:12px;flex-wrap:wrap;margin-top:2px}
@media(max-width:760px){.ai-thank-card{grid-template-columns:1fr;padding:20px;border-radius:22px;margin-top:14px}.ai-thank-card h1{font-size:31px}.ai-thank-lead{font-size:16px}.ai-thank-step-grid{grid-template-columns:1fr}.ai-thank-live{grid-template-columns:1fr;padding:18px}.ai-thank-actions .btn,.ai-thank-live .btn{width:100%;justify-content:center}.ai-thank-status strong{font-size:26px}}

.cc-zone-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding-right:12px}
.cc-zone-name{min-width:0;width:100%;padding-right:0}
.cc-zone-count{display:flex;align-items:center;gap:4px;width:auto;max-width:100%;padding:4px 5px;border-radius:999px;background:#f4fbf7;border:1px solid #d8efe2;opacity:.62;filter:saturate(.75);transition:.16s ease}
.cc-zone-count small{display:inline-block!important;margin:0 3px 0 2px;color:#047857;font-size:9.5px;font-style:normal;font-weight:1000;text-transform:uppercase;white-space:nowrap}
.cc-zone-card:has(input[name="zones[]"]:checked) .cc-zone-count{opacity:1;filter:none;background:#dcfce7;border-color:#86efac;box-shadow:0 8px 18px rgba(22,163,74,.12)}
.cc-zone-count button{width:25px;height:25px;border:0;border-radius:999px;background:#08743d;color:#fff;font-size:16px;font-weight:1000;line-height:1;cursor:pointer;display:inline-grid;place-items:center;box-shadow:0 4px 10px rgba(8,116,61,.18)}
.cc-zone-count button:hover{background:#065f32;transform:translateY(-1px)}
.cc-zone-count input{width:33px;height:25px;border:1px solid #ccebd8;background:#fff;border-radius:999px;text-align:center;font-weight:1000;color:#0f172a;font:inherit;font-size:12.5px}
.cc-zone-count input::-webkit-outer-spin-button,.cc-zone-count input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
@media(max-width:760px){.cc-zone-card{gap:9px}.cc-zone-count{justify-content:space-between;width:100%;border-radius:14px;padding:7px 8px}.cc-zone-count button{width:34px;height:34px}.cc-zone-count input{width:48px;height:34px}.cc-zone-count small{font-size:11px}.cc-camera-total{text-align:center}}

.cc-quality-card{overflow:hidden;padding:0;min-height:118px}
.cc-quality-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#e2e8f0}
.cc-quality-card b{padding:11px 12px 0;font-size:15.5px}
.cc-quality-card span{padding:0 12px 8px}
.cc-resolution-hint{display:inline-flex;align-self:start;margin:0 12px 12px;padding:5px 9px;border-radius:999px;background:#eefbf3;border:1px solid #bbf7d0;color:#047857;font-size:11.5px;font-style:normal;font-weight:950;line-height:1.1}
.camera-quality-admin{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.camera-quality-admin-card{display:grid;gap:12px;padding:16px;border:1px solid #d8e2ee;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(2,6,23,.05)}
.camera-quality-admin-card label{display:grid;gap:6px;color:#0f172a;font-weight:900}
.camera-quality-admin-card input,.camera-quality-admin-card textarea{width:100%;border:1px solid #d8e2ee;border-radius:12px;padding:10px 12px;font:inherit}
.camera-quality-admin-preview{display:grid;place-items:center;min-height:150px;border-radius:16px;background:#f8fafc;border:1px dashed #cbd5e1;overflow:hidden;color:#64748b;font-weight:900}
.camera-quality-admin-preview img{width:100%;height:180px;object-fit:cover}
.admin-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px}
.admin-check input{width:auto}
@media(max-width:760px){.camera-quality-admin{grid-template-columns:1fr}.cc-quality-card b{padding-top:12px}}


/* Camera configurator: ready next button must be visibly active. */
body:not(.admin-layout) .ai-configurator .cc-next.is-ready,
body:not(.admin-layout) .ai-configurator .cc-next.is-ready:hover{
  background:#b91c1c!important;
  border-color:#b91c1c!important;
  color:#fff!important;
  box-shadow:0 0 0 0 rgba(220,38,38,.55),0 15px 34px rgba(185,28,28,.34)!important;
}
body:not(.admin-layout) .ai-configurator .cc-next.is-ready{
  animation:hikNextPulse 1.05s ease-in-out infinite;
}


/* Global AI advisor: calmer red site styling, green launcher only. */
.global-ai-advisor-panel{
  border-color:rgba(225,29,46,.22)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.985),rgba(255,247,248,.965))!important;
  box-shadow:0 18px 48px rgba(15,23,42,.16),0 0 0 1px rgba(225,29,46,.05)!important;
}
.global-ai-advisor-panel:after{
  background:#fff7f8!important;
  border-right-color:rgba(225,29,46,.20)!important;
  border-bottom-color:rgba(225,29,46,.20)!important;
}
.global-ai-advisor-close{
  border-color:rgba(225,29,46,.20)!important;
  color:#b91c1c!important;
  background:#fff!important;
}
.global-ai-advisor-kicker{
  background:#fff1f2!important;
  color:#b91c1c!important;
}
.global-ai-msg{
  background:#fff5f6!important;
  color:#111827!important;
  box-shadow:inset 0 0 0 1px rgba(225,29,46,.13)!important;
}
.global-ai-typing{
  background:#fff1f2!important;
}
.global-ai-typing b{
  background:#e11d2e!important;
}
.global-ai-advisor-actions a{
  background:#e11d2e!important;
  color:#fff!important;
  box-shadow:0 9px 20px rgba(225,29,46,.18)!important;
}
.global-ai-advisor-actions a+a{
  background:#fff!important;
  color:#b91c1c!important;
  border:1px solid rgba(225,29,46,.24)!important;
}
.global-ai-advisor-fab,
.global-ai-advisor-fab .ai-chat-face{
  background:#08743d;
  color:#fff;
}
.global-ai-advisor{right:112px!important;bottom:124px!important}
.global-ai-advisor-panel{right:-18px!important}
.global-ai-advisor-panel:after{right:34px!important}
body.cookie-open .global-ai-advisor{bottom:184px!important}
.global-ai-advisor.is-quiet{right:112px!important;bottom:124px!important}
@media(max-width:760px){
  .global-ai-advisor{right:86px!important;bottom:102px!important}
  .global-ai-advisor-panel{right:-78px!important;bottom:62px!important;width:min(310px,calc(100vw - 22px))!important}
  .global-ai-advisor-panel:after{right:96px!important}
  body.cookie-open .global-ai-advisor{bottom:154px!important}
  .global-ai-advisor.is-quiet{right:86px!important;bottom:102px!important}
}

/* Align AI launcher exactly above the scroll-to-top button. */
.global-ai-advisor,
.global-ai-advisor.is-quiet{
  right:13px!important;
  bottom:82px!important;
}
.global-ai-advisor-panel{
  right:0!important;
}
.global-ai-advisor-panel:after{
  right:18px!important;
}
body.cookie-open .global-ai-advisor,
body.cookie-open .global-ai-advisor.is-quiet{
  bottom:162px!important;
}
@media(max-width:760px){
  .global-ai-advisor,
  .global-ai-advisor.is-quiet{
    right:10px!important;
    bottom:76px!important;
  }
  .global-ai-advisor-panel{
    right:0!important;
    bottom:62px!important;
    width:min(310px,calc(100vw - 22px))!important;
  }
  .global-ai-advisor-panel:after{
    right:18px!important;
  }
  body.cookie-open .global-ai-advisor,
  body.cookie-open .global-ai-advisor.is-quiet{
    bottom:150px!important;
  }
}


/* Camera configurator: use the site's red accents instead of green. */
.ai-config-hero:before{
  background:rgba(225,29,46,.24)!important;
}
.ai-config-kicker{
  background:rgba(225,29,46,.16)!important;
  border-color:rgba(254,202,202,.42)!important;
  color:#fecaca!important;
}
.ai-orb b{
  color:#fecaca!important;
  text-shadow:0 0 28px rgba(225,29,46,.34)!important;
}
.ai-config-alert.ok{
  border-color:#fecaca!important;
  color:#b91c1c!important;
}
.ai-result-card{
  border-color:#fecaca!important;
  background:linear-gradient(135deg,#fff1f2,#fff)!important;
}
.ai-result-card span,
.cc-step-head small,
.cc-camera-total{
  color:#b91c1c!important;
}
.cc-progress i{
  background:linear-gradient(90deg,#b91c1c,#e11d2e,#fb7185)!important;
}
.cc-card:hover,
.cc-info-card:hover{
  border-color:#fecaca!important;
  background:linear-gradient(135deg,rgba(255,241,242,.96),rgba(255,255,255,.9))!important;
}
.cc-card:has(input:checked),
.cc-info-card:has(input:checked){
  border-color:#e11d2e!important;
  background:linear-gradient(135deg,#fff1f2,#fff)!important;
  box-shadow:0 0 0 3px rgba(225,29,46,.12),0 14px 30px rgba(225,29,46,.10)!important;
}
.cc-ai-panel{
  background:radial-gradient(circle at 80% 0,rgba(225,29,46,.24),transparent 30%),linear-gradient(145deg,#120710,#2b1018)!important;
  border-color:rgba(254,202,202,.32)!important;
}
.cc-ai-live{
  background:rgba(225,29,46,.16)!important;
  color:#fecaca!important;
  border-color:rgba(254,202,202,.28)!important;
}
.cc-recorder-preview span{
  background:#b91c1c!important;
}
.cc-free-link{
  color:#b91c1c!important;
}
.cc-free-link:hover{
  background:#fff1f2!important;
  border-color:#fecaca!important;
}
.cc-zone-count small,
.cc-resolution-hint{
  color:#b91c1c!important;
}
.cc-zone-card:has(input[name="zones[]"]:checked) .cc-zone-count{
  background:#fff1f2!important;
  border-color:#fecaca!important;
  box-shadow:0 8px 18px rgba(225,29,46,.10)!important;
}
.cc-zone-count button{
  background:#b91c1c!important;
  box-shadow:0 4px 10px rgba(185,28,28,.18)!important;
}
.cc-zone-count button:hover{
  background:#991b1b!important;
}
.cc-resolution-hint{
  background:#fff1f2!important;
  border-color:#fecaca!important;
}


/* Camera configurator clarity helpers. */
.cc-choice-note{
  display:inline-flex;
  margin:0 0 10px;
  padding:6px 10px;
  border-radius:999px;
  background:#fff1f2;
  color:#b91c1c;
  border:1px solid #fecaca;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.cc-field-help{
  display:block;
  margin-top:6px;
  color:#64748b;
  font-size:12px;
  font-weight:750;
  line-height:1.3;
}
.cc-quality-card{
  position:relative;
}
.cc-quality-card:after{
  content:"избор";
  position:absolute;
  right:10px;
  top:10px;
  padding:4px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#b91c1c;
  border:1px solid rgba(254,202,202,.85);
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}
.cc-quality-card:has(input:checked):after{
  content:"избрано";
  background:#b91c1c;
  color:#fff;
  border-color:#b91c1c;
}


/* Resolution hint replaces price hints in camera configurator. */
.cc-resolution-hint{
  max-width:calc(100% - 24px);
  white-space:normal;
}


/* Final camera inquiry message counter. */
.cc-message-counter{
  display:flex;
  justify-content:flex-end;
  margin-top:7px;
  color:#64748b;
  font-size:12px;
  font-weight:850;
  line-height:1.3;
}
.cc-message-counter.is-ready{
  color:#b91c1c;
}


/* Global AI advisor behaves like a real chat with accumulated messages. */
.global-ai-chat-lines{
  max-height:190px;
  overflow:auto;
  padding-right:2px;
  scroll-behavior:smooth;
}
.global-ai-msg{
  opacity:1;
  transform:translateY(0);
  animation:hikAiMsgIn .22s ease both;
}
.global-ai-typing{
  display:none!important;
}
.global-ai-advisor.is-typing .global-ai-typing{
  display:inline-flex!important;
}
@keyframes hikAiMsgIn{
  from{opacity:0;transform:translateY(7px)}
  to{opacity:1;transform:translateY(0)}
}

/* Mobile camera configurator: keep navigation visible and counters compact. */
@media(max-width:900px){
  .cc-step{position:relative}
  .cc-actions.cc-actions-mobile-top{
    position:sticky;
    top:72px;
    z-index:40;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    width:100%;
    max-width:none;
    margin:8px 0 12px;
    padding:8px;
    border-radius:18px;
    border:1px solid rgba(225,29,46,.16);
    background:rgba(255,255,255,.96);
    box-shadow:0 12px 28px rgba(15,23,42,.12);
    backdrop-filter:blur(10px);
  }
  .cc-actions.cc-actions-mobile-top:not(.cc-actions-ready) .cc-next{
    display:none!important;
  }
  .cc-actions.cc-actions-mobile-top:not(.cc-actions-ready) .cc-camera-total{
    display:none!important;
  }
  .cc-actions.cc-actions-mobile-top .cc-prev{
    flex:0 0 auto;
    min-width:84px;
  }
  .cc-actions.cc-actions-mobile-top .cc-next,
  .cc-actions.cc-actions-mobile-top .cc-submit{
    flex:0 0 auto;
    min-width:124px;
  }
  .cc-actions.cc-actions-mobile-top .cc-camera-total{
    flex:1 1 100%;
    text-align:right;
    font-size:12px;
    padding-right:2px;
  }
  .cc-actions.cc-actions-mobile-top .cc-step-error{
    flex:1 1 100%;
    order:5;
  }
}
@media(max-width:760px){
  .cc-zone-card{
    padding:12px 14px;
    gap:8px;
  }
  .cc-zone-name{
    font-size:18px;
    line-height:1.18;
  }
  .cc-zone-count{
    display:grid!important;
    grid-template-columns:auto 32px 42px 32px;
    align-items:center;
    gap:7px;
    width:auto!important;
    margin-top:10px;
    padding:6px 8px!important;
    border-radius:999px!important;
    background:#fff!important;
    border:1px solid #fde2e5!important;
  }
  .cc-zone-count small{
    font-size:10px!important;
    text-transform:none!important;
    letter-spacing:0!important;
    color:#9f1239!important;
  }
  .cc-zone-count button{
    width:32px!important;
    height:32px!important;
    font-size:18px!important;
    box-shadow:0 6px 14px rgba(185,28,28,.16)!important;
  }
  .cc-zone-count input{
    width:42px!important;
    height:32px!important;
    font-size:14px!important;
  }
  .cc-zone-card:has(input[name="zones[]"]:checked){
    border-width:2px;
  }
}

/* Mobile AI configurator: compact usable wizard. */
@media(max-width:760px){
  .ai-config-hero{
    margin:8px 0 10px!important;
    padding:16px!important;
    border-radius:22px!important;
    display:block!important;
  }
  .ai-config-kicker{
    padding:6px 9px!important;
    font-size:11px!important;
  }
  .ai-config-hero h1{
    margin:10px 0 8px!important;
    font-size:clamp(27px,8.2vw,34px)!important;
    line-height:1.02!important;
  }
  .ai-config-hero p{
    font-size:14px!important;
    line-height:1.38!important;
  }
  .ai-orb{
    display:none!important;
  }
  .ai-configurator{
    margin-top:10px!important;
    gap:10px!important;
  }
  .cc-progress{
    height:5px!important;
  }
  .cc-step{
    padding:14px!important;
    border-radius:20px!important;
  }
  .cc-step-head small{
    font-size:10.5px!important;
  }
  .cc-step-head h2{
    margin:3px 0 6px!important;
    font-size:clamp(25px,7.2vw,31px)!important;
    line-height:1.04!important;
  }
  .cc-step-head p{
    margin-bottom:10px!important;
    font-size:13.5px!important;
    line-height:1.32!important;
  }
  .cc-free-start{
    margin-bottom:10px!important;
  }
  .cc-free-link{
    min-height:34px!important;
    padding:7px 10px!important;
    font-size:13.5px!important;
  }
  .cc-options,
  .cc-info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .cc-card,
  .cc-info-card{
    min-height:50px!important;
    padding:9px 10px!important;
    border-radius:15px!important;
  }
  .cc-object-card{
    min-height:52px!important;
  }
  .cc-card span,
  .cc-card b,
  .cc-info-card b{
    font-size:14.5px!important;
    line-height:1.14!important;
  }
  .cc-info-card span{
    margin-top:5px!important;
    font-size:11.5px!important;
    line-height:1.22!important;
  }
  .cc-resolution-hint{
    margin:6px 0 0!important;
    padding:4px 7px!important;
    font-size:10.5px!important;
    line-height:1.15!important;
    border-radius:10px!important;
  }
  .cc-quality-card img{
    display:none!important;
  }
  .cc-actions.cc-actions-mobile-top{
    top:8px!important;
    margin:7px 0 10px!important;
    padding:7px!important;
    border-radius:16px!important;
  }
  .cc-actions.cc-actions-mobile-top .btn{
    min-height:38px!important;
    padding:8px 12px!important;
    font-size:14px!important;
  }
  .cc-actions.cc-actions-mobile-top .cc-next,
  .cc-actions.cc-actions-mobile-top .cc-submit{
    min-width:112px!important;
  }
  .cc-actions.cc-actions-mobile-top .cc-camera-total{
    font-size:11.5px!important;
  }
  .cc-zone-name{
    font-size:14.5px!important;
  }
  .cc-zone-count{
    grid-template-columns:auto 28px 34px 28px!important;
    gap:5px!important;
    margin-top:8px!important;
    padding:5px 6px!important;
  }
  .cc-zone-count small{
    font-size:9.5px!important;
  }
  .cc-zone-count button{
    width:28px!important;
    height:28px!important;
    font-size:17px!important;
  }
  .cc-zone-count input{
    width:34px!important;
    height:28px!important;
    font-size:13px!important;
  }
  .cc-recorder-preview{
    margin-top:10px!important;
    padding:12px!important;
    border-radius:16px!important;
  }
  .cc-recorder-preview strong{
    font-size:20px!important;
  }
  .cc-ai-panel{
    padding:16px!important;
    border-radius:18px!important;
  }
  .cc-ai-panel h3{
    margin:10px 0 6px!important;
    font-size:22px!important;
  }
  .cc-ai-panel p,
  .cc-ai-panel li{
    font-size:13px!important;
  }
}
@media(max-width:380px){
  .cc-options,
  .cc-info-grid{
    gap:7px!important;
  }
  .cc-card,
  .cc-info-card{
    padding:8px!important;
  }
  .cc-card span,
  .cc-card b,
  .cc-info-card b{
    font-size:13.5px!important;
  }
}

/* Let the AI chat open normally on the configurator page when the user taps it. */
.global-ai-advisor.is-quiet.open .global-ai-advisor-panel{
  display:block!important;
}
@media(max-width:760px){
  .global-ai-advisor.is-quiet.open .global-ai-advisor-panel{
    bottom:62px!important;
  }
}

/* Vector text-only logo alignment. */
.site-header .brand-logo,
.footer-logo,
.offer-logo img,
.live-video-logo,
.product-placeholder-logo{
  object-fit:contain!important;
}
@media(max-width:768px){
  .site-header .brand-logo{
    margin-left:10px!important;
  }
}
@media(max-width:420px){
  .site-header .brand-logo{
    margin-left:8px!important;
    max-width:145px!important;
  }
}

/* Hard stop for logo motion. */
.site-header .brand-logo,
.footer-logo,
.offer-logo img,
.live-video-logo{
  animation:none!important;
  transform:none!important;
  transition:none!important;
}

/* Compact AI inquiries admin panel. */
.camera-inquiries-admin .muted{
  margin:4px 0 0;
}
.camera-inquiries-head{
  align-items:flex-start;
}
.camera-inquiry-counts{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.camera-inquiry-filters{
  margin:14px 0;
}
.camera-inquiries-shell{
  display:grid;
  grid-template-columns:minmax(360px,1fr) minmax(360px,.92fr);
  gap:14px;
  align-items:start;
}
.camera-inquiries-list{
  display:grid;
  gap:8px;
}
.camera-inquiry-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  padding:10px 12px;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#fff;
  box-shadow:0 5px 16px rgba(15,23,42,.035);
}
.camera-inquiry-row.is-selected{
  border-color:#c62828;
  box-shadow:0 0 0 2px rgba(198,40,40,.08),0 7px 18px rgba(15,23,42,.06);
}
.camera-inquiry-row.is-new{
  background:linear-gradient(90deg,#f0fdf4,#fff 34%);
}
.camera-inquiry-title{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.camera-inquiry-title strong{
  font-size:15px;
  line-height:1.2;
}
.camera-inquiry-title em{
  font-style:normal;
}
.camera-inquiry-meta,
.camera-inquiry-mini{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:5px;
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
.camera-inquiry-mini span{
  padding:3px 7px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid #e5e7eb;
}
.camera-inquiry-mini b{
  color:#111827;
}
.camera-inquiry-row p{
  margin:7px 0 0;
  color:#475569;
  font-size:13px;
  line-height:1.35;
  font-weight:700;
}
.camera-inquiry-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:wrap;
}
.camera-inquiry-actions form{
  margin:0;
}
.camera-inquiry-detail{
  position:sticky;
  top:12px;
  padding:14px;
  border:1px solid #dbe4ef;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 24px rgba(15,23,42,.06);
}
.camera-inquiry-empty{
  padding:24px;
  border:1px dashed #cbd5e1;
  border-radius:14px;
  color:#64748b;
  background:#f8fafc;
}
.camera-inquiry-empty b{
  display:block;
  color:#111827;
  font-size:18px;
  margin-bottom:4px;
}
.camera-inquiry-detail-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding-bottom:10px;
  border-bottom:1px solid #e5e7eb;
}
.camera-inquiry-detail-head h3{
  margin:7px 0 2px;
  font-size:22px;
  line-height:1.15;
}
.camera-inquiry-detail-head p{
  margin:0;
  color:#64748b;
  font-weight:800;
}
.camera-inquiry-contact{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:12px 0;
}
.camera-inquiry-contact a,
.camera-inquiry-contact span{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 10px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  color:#111827;
  text-decoration:none;
  font-size:13px;
  font-weight:900;
}
.camera-admin-ai-compact{
  margin:10px 0;
  padding:11px;
  border-radius:14px;
}
.camera-admin-grid-compact{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.camera-admin-grid-compact span{
  padding:8px;
  border-radius:10px;
}
.camera-admin-grid-compact b{
  font-size:10px;
}
.camera-admin-message-compact{
  margin-top:10px;
  padding:10px;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:#fff;
}
@media(max-width:1100px){
  .camera-inquiries-shell{
    grid-template-columns:1fr;
  }
  .camera-inquiry-detail{
    position:static;
  }
}
@media(max-width:720px){
  .camera-inquiry-row{
    grid-template-columns:1fr;
  }
  .camera-inquiry-actions{
    justify-content:flex-start;
  }
  .camera-admin-grid-compact{
    grid-template-columns:1fr;
  }
  .camera-inquiry-counts{
    justify-content:flex-start;
  }
}

.global-ai-choice{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:8px 0 2px;
}
.global-ai-choice button,
.global-ai-choice a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(198,40,40,.22);
  border-radius:999px;
  background:#fff;
  color:#c62828;
  padding:8px 11px;
  font-size:13px;
  font-weight:950;
  cursor:pointer;
  text-decoration:none;
  line-height:1.1;
}
.global-ai-choice button:first-child{
  background:#c62828;
  color:#fff;
  box-shadow:0 8px 18px rgba(198,40,40,.18);
}

/* Document print header: single source of truth. */
.offer-doc-page .brand-bar,
.offer-protocol-page .brand-bar,
.warranty-doc-page .brand-bar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 7px!important;
  padding:0 2px!important;
  color:#111827!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
}
.offer-doc-wrap .topbar.topbar-offer-new{
  position:relative!important;
  display:block!important;
  min-height:108px!important;
  margin:0 0 12px!important;
  padding:10px 16px!important;
  border:1px solid #e5e7eb!important;
  border-top:3px solid #c62828!important;
  border-bottom:1px solid #e5e7eb!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 8px 18px rgba(15,23,42,.045)!important;
  box-sizing:border-box!important;
}
.offer-doc-wrap .topbar.topbar-offer-new .topbar-left{
  position:absolute!important;
  left:24px!important;
  top:50%!important;
  width:160px!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  margin:0!important;
}
.offer-doc-wrap .topbar.topbar-offer-new .offer-logo,
.offer-doc-wrap .topbar.topbar-offer-new .offer-logo img{
  display:block!important;
}
.offer-doc-wrap .topbar.topbar-offer-new .offer-logo img{
  width:148px!important;
  max-width:148px!important;
  max-height:48px!important;
  height:auto!important;
  object-fit:contain!important;
  margin:0!important;
  animation:none!important;
  transition:none!important;
  transform:none!important;
}
.offer-doc-wrap .topbar.topbar-offer-new .topbar-center{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:365px!important;
  transform:translate(-50%,-50%)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  margin:0!important;
  padding:0!important;
}
.offer-doc-wrap .topbar.topbar-offer-new .h1,
.offer-doc-wrap .topbar.topbar-offer-new h1{
  margin:0!important;
  color:#151515!important;
  font-family:Montserrat,Arial,sans-serif!important;
  font-size:18px!important;
  font-weight:900!important;
  line-height:1.04!important;
  letter-spacing:0!important;
  text-align:center!important;
}
.offer-doc-wrap .topbar.topbar-offer-new .offer-doc-subtitle{
  margin:3px 0 0!important;
  color:#374151!important;
  font-size:9.4px!important;
  font-weight:800!important;
  line-height:1.12!important;
  text-align:center!important;
}
.offer-doc-wrap .topbar.topbar-offer-new .offer-meta-center{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  margin:5px 0 0!important;
  font-size:9px!important;
  line-height:1.1!important;
}
.offer-doc-wrap .topbar.topbar-offer-new .offer-meta-center div{
  padding:2px 5px!important;
  border:1px solid #e5e7eb!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#374151!important;
  line-height:1.1!important;
}
.offer-doc-wrap .topbar.topbar-offer-new .topbar-right{
  position:absolute!important;
  right:16px!important;
  top:50%!important;
  width:260px!important;
  transform:translateY(-50%)!important;
  display:grid!important;
  grid-template-columns:minmax(0,198px) 52px!important;
  gap:8px!important;
  align-items:center!important;
  justify-content:end!important;
  margin:0!important;
  padding:0!important;
  color:#374151!important;
}
.offer-doc-wrap .topbar.topbar-offer-new .doc-contact-lines{
  order:1!important;
  max-width:198px!important;
  margin:0!important;
  color:#374151!important;
  font-size:8px!important;
  font-weight:800!important;
  line-height:1.12!important;
  text-align:right!important;
}
.offer-doc-wrap .topbar.topbar-offer-new .doc-contact-lines div{
  white-space:nowrap!important;
}
.offer-doc-wrap .topbar.topbar-offer-new .qr-top{
  order:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  margin:0!important;
  padding:0!important;
}
.offer-doc-wrap .topbar.topbar-offer-new .qr-top img{
  display:block!important;
  width:52px!important;
  height:52px!important;
  border-radius:4px!important;
}
.warranty-doc-page .topbar:before{
  display:none!important;
}
@media print{
  .offer-doc-wrap .topbar.topbar-offer-new{
    min-height:90px!important;
    margin-bottom:9px!important;
    padding:7px 12px!important;
    border-radius:8px!important;
    box-shadow:none!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .topbar-left{
    left:18px!important;
    width:145px!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .offer-logo img{
    width:132px!important;
    max-width:132px!important;
    max-height:42px!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .topbar-center{
    width:335px!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .h1,
  .offer-doc-wrap .topbar.topbar-offer-new h1{
    font-size:16px!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .offer-doc-subtitle{
    font-size:8.5px!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .offer-meta-center{
    font-size:8px!important;
    margin-top:4px!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .topbar-right{
    right:12px!important;
    width:230px!important;
    grid-template-columns:minmax(0,184px) 40px!important;
    gap:6px!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .doc-contact-lines{
    max-width:184px!important;
    font-size:7.1px!important;
    line-height:1.1!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .qr-top img{
    width:40px!important;
    height:40px!important;
  }
}
@media(max-width:760px){
  .offer-doc-wrap .topbar.topbar-offer-new{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    min-height:auto!important;
    padding:12px!important;
    gap:8px!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .topbar-left,
  .offer-doc-wrap .topbar.topbar-offer-new .topbar-center,
  .offer-doc-wrap .topbar.topbar-offer-new .topbar-right{
    position:static!important;
    transform:none!important;
    width:auto!important;
    max-width:none!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .topbar-left{
    grid-column:1!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .topbar-right{
    grid-column:2!important;
    grid-template-columns:auto!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .doc-contact-lines{
    display:none!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .topbar-center{
    grid-column:1 / -1!important;
    align-items:flex-start!important;
    text-align:left!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .h1,
  .offer-doc-wrap .topbar.topbar-offer-new h1,
  .offer-doc-wrap .topbar.topbar-offer-new .offer-doc-subtitle{
    text-align:left!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .offer-meta-center{
    justify-content:flex-start!important;
  }
}
/* __DOC_HEADER_CANONICAL_END__ */



/* Print flow: margins, clean page breaks and bottom red document line. */
@page{
  size:A4;
  margin:12mm 11mm 14mm;
}
@media print{
  html,
  body{
    width:auto!important;
    min-height:auto!important;
    background:#fff!important;
  }
  body.offer-doc-page,
  body.offer-protocol-page,
  body.warranty-doc-page{
    margin:0!important;
    padding:0!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
  .offer-doc-wrap{
    max-width:none!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    box-shadow:none!important;
    background:#fff!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new,
  .offer-doc-wrap .brand-bar,
  .offer-doc-wrap .client-box,
  .offer-doc-wrap .offer-doc-terms,
  .offer-sign-table,
  .grand-final,
  .total-label,
  .total-price{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  .offer-doc-table{
    page-break-inside:auto!important;
    break-inside:auto!important;
  }
  .offer-doc-table thead{
    display:table-header-group!important;
  }
  .offer-doc-table tfoot{
    display:table-footer-group!important;
  }
  .offer-doc-table tr,
  .offer-doc-table td,
  .offer-doc-table th{
    page-break-inside:avoid!important;
    break-inside:avoid!important;
  }
  .offer-doc-table img,
  .offer-doc-wrap .img{
    max-height:54px!important;
    object-fit:contain!important;
  }
  .offer-doc-terms,
  .client-box,
  .box{
    orphans:3!important;
    widows:3!important;
  }
  .offer-sign-table{
    margin-top:10px!important;
  }
  .offer-sign-table td{
    height:58px!important;
  }
}


/* Final print-only document header grid. Prevents mobile rules from affecting print preview. */
@media print{
  .offer-doc-wrap .topbar.topbar-offer-new{
    position:relative!important;
    display:grid!important;
    grid-template-columns:145px minmax(300px,1fr) 220px!important;
    align-items:center!important;
    min-height:88px!important;
    margin:0 0 9px!important;
    padding:7px 12px!important;
    border:1px solid #e5e7eb!important;
    border-top:3px solid #c62828!important;
    border-radius:8px!important;
    background:#fff!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .topbar-left,
  .offer-doc-wrap .topbar.topbar-offer-new .topbar-center,
  .offer-doc-wrap .topbar.topbar-offer-new .topbar-right{
    position:static!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    transform:none!important;
    margin:0!important;
    padding:0!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .topbar-left{
    grid-column:1!important;
    justify-self:start!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .offer-logo img{
    width:132px!important;
    max-width:132px!important;
    max-height:42px!important;
    height:auto!important;
    object-fit:contain!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .topbar-center{
    grid-column:2!important;
    justify-self:center!important;
    align-self:center!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .h1,
  .offer-doc-wrap .topbar.topbar-offer-new h1{
    font-size:16px!important;
    line-height:1.04!important;
    margin:0!important;
    text-align:center!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .offer-doc-subtitle{
    font-size:8.5px!important;
    line-height:1.1!important;
    margin:3px 0 0!important;
    text-align:center!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .offer-meta-center{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    margin:4px 0 0!important;
    font-size:8px!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .offer-meta-center div{
    padding:2px 5px!important;
    white-space:nowrap!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .topbar-right{
    grid-column:3!important;
    justify-self:end!important;
    align-self:center!important;
    display:grid!important;
    grid-template-columns:minmax(0,174px) 40px!important;
    gap:6px!important;
    align-items:center!important;
    justify-content:end!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .doc-contact-lines{
    display:block!important;
    order:1!important;
    max-width:174px!important;
    font-size:7px!important;
    line-height:1.08!important;
    text-align:right!important;
    margin:0!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .doc-contact-lines div{
    white-space:nowrap!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .qr-top{
    order:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .qr-top img{
    width:40px!important;
    height:40px!important;
    display:block!important;
  }
}


/* Document end: red accent belongs to the last printed block. */
.offer-doc-wrap:after{
  content:none!important;
  display:none!important;
}
.offer-doc-wrap > .box:last-of-type,
.offer-doc-wrap > table:last-of-type,
.offer-doc-wrap > .offer-sign-table:last-of-type{
  border-bottom:3px solid #c62828!important;
}
@media print{
  body.offer-doc-page:after,
  body.offer-protocol-page:after,
  body.warranty-doc-page:after,
  .offer-doc-wrap:after{
    content:none!important;
    display:none!important;
  }
  .offer-doc-wrap > .box:last-of-type,
  .offer-doc-wrap > table:last-of-type,
  .offer-doc-wrap > .offer-sign-table:last-of-type{
    border-bottom:3px solid #c62828!important;
  }
}


/* AI advisor: use only the chat decision buttons, no duplicated footer actions. */
.global-ai-advisor-actions{
  display:none!important;
}
.global-ai-choice{
  margin-top:10px!important;
}


/* Desktop footer: open equal cards with inner scroll; mobile stays accordion. */
@media (min-width: 821px){
  .site-footer .footer-grid-premium{
    display:grid!important;
    grid-template-columns:1.12fr repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
    align-items:stretch!important;
  }
  .site-footer .footer-box,
  .site-footer .footer-brand-premium,
  .site-footer .footer-accordion,
  .site-footer .footer-accordion[open]{
    min-height:330px!important;
    height:330px!important;
    max-height:330px!important;
    padding:16px!important;
    border:1px solid rgba(255,255,255,.08)!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.035)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
    overflow:hidden!important;
  }
  .site-footer .footer-brand-premium{
    grid-column:auto!important;
    grid-row:auto!important;
  }
  .site-footer .footer-accordion{
    display:flex!important;
    flex-direction:column!important;
    grid-column:auto!important;
    grid-row:auto!important;
    margin:0!important;
  }
  .site-footer .footer-accordion summary{
    flex:0 0 auto!important;
    min-height:28px!important;
    margin:0 0 12px!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    cursor:default!important;
  }
  .site-footer .footer-accordion summary::after{
    display:none!important;
    content:none!important;
  }
  .site-footer .footer-link-list{
    display:grid!important;
    gap:6px!important;
    max-height:260px!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    padding-right:6px!important;
  }
  .site-footer .footer-link-list::-webkit-scrollbar{
    width:5px;
  }
  .site-footer .footer-link-list::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.18);
    border-radius:999px;
  }
}
@media (max-width: 820px){
  .site-footer .footer-accordion summary::after{
    display:inline-flex!important;
  }
}

/* Product detail: compact technical cards. */
body.product-page:not(.admin-layout) .product-value-grid {
  gap: 7px !important;
  margin: 2px 0 12px !important;
}

body.product-page:not(.admin-layout) .product-value-grid div {
  min-height: 0 !important;
  padding: 8px 10px !important;
  border-radius: 12px !important;
}

body.product-page:not(.admin-layout) .product-value-grid strong {
  margin-bottom: 3px !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
}

body.product-page:not(.admin-layout) .product-value-grid span {
  font-size: 11px !important;
  line-height: 1.22 !important;
  font-weight: 650 !important;
}

body.product-page:not(.admin-layout) .product-specs-head {
  margin: 14px 0 8px !important;
}

body.product-page:not(.admin-layout) .product-specs-head span {
  font-size: 18px !important;
  line-height: 1.15 !important;
}

body.product-page:not(.admin-layout) .product-specs-head small {
  font-size: 12px !important;
  line-height: 1.15 !important;
}

body.product-page:not(.admin-layout) .product-wrap .specs {
  gap: 8px !important;
  margin-bottom: 12px !important;
}

body.product-page:not(.admin-layout) .product-wrap .spec {
  min-height: 54px !important;
  padding: 9px 11px 9px 13px !important;
  border-radius: 12px !important;
}

body.product-page:not(.admin-layout) .product-wrap .spec::before {
  width: 3px !important;
}

body.product-page:not(.admin-layout) .product-wrap .spec span {
  font-size: 10px !important;
  line-height: 1 !important;
  letter-spacing: .5px !important;
}

body.product-page:not(.admin-layout) .product-wrap .spec b {
  margin-top: 4px !important;
  font-size: 12px !important;
  line-height: 1.14 !important;
  font-weight: 850 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

/* Homepage: real product entry points for ecommerce SEO and sales. */
body:not(.admin-layout) .home-top-products {
  margin: 22px 0 26px !important;
  padding: 18px !important;
  border: 1px solid rgba(198, 40, 40, .14) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 96% 0%, rgba(225, 29, 46, .08), transparent 28%),
    linear-gradient(135deg, #fff, #fff8f8) !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .07) !important;
}

body:not(.admin-layout) .home-top-products-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin-bottom: 14px !important;
}

body:not(.admin-layout) .home-top-products-head > div {
  min-width: 0 !important;
}

body:not(.admin-layout) .home-top-products-head span {
  display: block !important;
  margin-bottom: 4px !important;
  color: #c62828 !important;
  font-size: 12px !important;
  font-weight: 1000 !important;
  text-transform: uppercase !important;
}

body:not(.admin-layout) .home-top-products-head h2 {
  margin: 0 !important;
  color: #0f172a !important;
  font-size: 24px !important;
  line-height: 1.12 !important;
}

body:not(.admin-layout) .home-top-products-head p {
  max-width: 760px !important;
  margin: 7px 0 0 !important;
  color: #64748b !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.45 !important;
}

body:not(.admin-layout) .home-top-products-head > a {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 8px 13px !important;
  border: 1px solid rgba(198, 40, 40, .25) !important;
  border-radius: 999px !important;
  color: #b91c1c !important;
  background: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body:not(.admin-layout) .home-top-tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 4px 0 14px !important;
}

body:not(.admin-layout) .home-top-tabs button {
  min-height: 34px !important;
  padding: 7px 16px !important;
  border: 1px solid rgba(198, 40, 40, .22) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #b91c1c !important;
  font-size: 13px !important;
  font-weight: 1000 !important;
  cursor: pointer !important;
  transition: transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease !important;
}

body:not(.admin-layout) .home-top-tabs button:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 22px rgba(225, 29, 46, .10) !important;
}

body:not(.admin-layout) .home-top-tabs button.is-active {
  background: #c62828 !important;
  color: #fff !important;
  border-color: #c62828 !important;
  box-shadow: 0 14px 28px rgba(198, 40, 40, .18) !important;
}

body:not(.admin-layout) .home-top-panels {
  position: relative !important;
}

body:not(.admin-layout) .home-top-panel {
  display: none !important;
}

body:not(.admin-layout) .home-top-panel.is-active {
  display: block !important;
  animation: homeTopPanelIn .28s ease both !important;
}

@keyframes homeTopPanelIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

body:not(.admin-layout) .home-top-panel-note {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 12px !important;
  padding: 10px 12px !important;
  border-left: 4px solid #c62828 !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .78) !important;
  color: #334155 !important;
}

body:not(.admin-layout) .home-top-panel-note strong {
  color: #0f172a !important;
  font-size: 15px !important;
  font-weight: 1000 !important;
  white-space: nowrap !important;
}

body:not(.admin-layout) .home-top-panel-note span {
  color: #64748b !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
}

body:not(.admin-layout) .home-top-products-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

body:not(.admin-layout) .home-top-product-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-width: 0 !important;
  padding: 10px !important;
  border: 1px solid #e4e9f2 !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .05) !important;
}

body:not(.admin-layout) .home-top-product-media {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 118px !important;
  border-radius: 12px !important;
  background: #f8fafc !important;
  overflow: hidden !important;
}

body:not(.admin-layout) .home-top-product-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

body:not(.admin-layout) .home-top-product-body {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
}

body:not(.admin-layout) .home-top-product-body > span {
  color: #c62828 !important;
  font-size: 10px !important;
  font-weight: 1000 !important;
  text-transform: uppercase !important;
}

body:not(.admin-layout) .home-top-product-body > a {
  margin-top: 4px !important;
  color: #0f172a !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  line-height: 1.16 !important;
  text-decoration: none !important;
  overflow-wrap: anywhere !important;
}

body:not(.admin-layout) .home-top-product-body > small {
  margin-top: 5px !important;
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

body:not(.admin-layout) .home-top-product-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  margin-top: auto !important;
  padding-top: 10px !important;
  border-top: 1px solid rgba(226, 232, 240, .95) !important;
}

body:not(.admin-layout) .home-top-product-bottom strong {
  color: #b91c1c !important;
  font-size: 18px !important;
  font-weight: 1000 !important;
  white-space: nowrap !important;
}

body:not(.admin-layout) .home-top-product-bottom button,
body:not(.admin-layout) .home-top-product-inquiry {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 32px !important;
  padding: 7px 10px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #c62828 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-shadow: 0 10px 22px rgba(198, 40, 40, .16) !important;
}

body:not(.admin-layout) .home-top-product-bottom button:hover,
body:not(.admin-layout) .home-top-product-inquiry:hover {
  transform: translateY(-1px) !important;
  background: #a91414 !important;
}

/* Sales-focused home entry and mobile menu branding. */
body:not(.admin-layout):not(.offer-doc-page):not(.offer-protocol-page):not(.warranty-doc-page) {
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
}

body:not(.admin-layout) .home-sales-start {
  position: relative;
  overflow: hidden;
  margin: 4px 0 18px;
  padding: 22px;
  border: 1px solid rgba(225, 29, 46, .16);
  border-radius: 24px;
  background:
    radial-gradient(circle at 96% 8%, rgba(225, 29, 46, .11), transparent 28%),
    linear-gradient(135deg, #fff, #fff7f7 58%, #f8fafc);
  box-shadow: 0 22px 55px rgba(15, 23, 42, .08);
}

body:not(.admin-layout) .home-sales-head {
  max-width: 860px;
  position: relative;
  z-index: 2;
}

body:not(.admin-layout) .home-sales-head > span {
  display: inline-flex;
  margin-bottom: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(225, 29, 46, .08);
  color: #c1121f;
  font-size: 12px;
  font-weight: 1000;
  text-transform: uppercase;
}

body:not(.admin-layout) .home-sales-head h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(25px, 2.55vw, 36px);
  line-height: 1.06;
  letter-spacing: 0;
  max-width: 820px;
}

body:not(.admin-layout) .home-sales-head p {
  max-width: 900px;
  margin: 12px 0 0;
  color: #475569;
  font-size: 17px;
  font-weight: 650;
  line-height: 1.55;
}

body:not(.admin-layout) .home-sales-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
  position: relative;
  z-index: 3;
}

body:not(.admin-layout) .home-sales-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(225, 29, 46, .26);
  background: #fff;
  color: #b91c1c;
  font-size: 14px;
  font-weight: 950;
  text-decoration: none;
  box-shadow: 0 12px 24px rgba(225, 29, 46, .08);
  transition: transform .18s ease, background .18s ease, color .18s ease;
}

body:not(.admin-layout) .home-sales-actions a:first-child {
  background: #e11d2e;
  color: #fff;
  border-color: #e11d2e;
}

body:not(.admin-layout) .home-sales-actions a:hover {
  transform: translateY(-2px);
}

body:not(.admin-layout) .home-sales-actions .home-sales-ai-action {
  gap: 8px;
  background: #fff;
  color: #c1121f;
  border-color: rgba(225, 29, 46, .28);
  box-shadow: 0 14px 28px rgba(225, 29, 46, .10);
  animation: aiActionPulse 2.8s ease-in-out infinite;
}

body:not(.admin-layout) .home-sales-actions .home-sales-ai-action b {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 10px;
  background: #e11d2e;
  color: #fff;
  font-size: 12px;
  font-weight: 1000;
  box-shadow: 0 8px 16px rgba(225, 29, 46, .22);
}

body:not(.admin-layout) .home-sales-actions .home-sales-ai-action span {
  line-height: 1;
}

body:not(.admin-layout) .home-sales-actions .home-sales-ai-action:hover {
  background: #e11d2e;
  color: #fff;
  border-color: #e11d2e;
}

body:not(.admin-layout) .home-sales-actions .home-sales-ai-action:hover b {
  background: #fff;
  color: #c1121f;
}

@keyframes aiActionPulse {
  0%, 100% { box-shadow: 0 14px 28px rgba(225, 29, 46, .10); }
  50% { box-shadow: 0 18px 36px rgba(225, 29, 46, .22), 0 0 0 5px rgba(225, 29, 46, .06); }
}

body:not(.admin-layout) .home-quick-products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
  position: relative;
  z-index: 2;
}

body:not(.admin-layout) .home-quick-products a {
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid rgba(226, 232, 240, .92);
  border-radius: 16px;
  background: rgba(255,255,255,.86);
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

body:not(.admin-layout) .home-quick-products strong {
  display: block;
  color: #0f172a;
  font-size: 17px;
  font-weight: 1000;
  line-height: 1.12;
}

body:not(.admin-layout) .home-quick-products span {
  display: block;
  margin-top: 5px;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}

body:not(.admin-layout) .home-quick-products {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 12px 0 20px;
}

body:not(.admin-layout) .home-quick-products a {
  min-height: 86px;
  padding: 11px 12px;
  border-color: rgba(225, 29, 46, .14);
  background: linear-gradient(135deg, #fff, #fff8f8);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

body:not(.admin-layout) .home-quick-products a:hover {
  transform: translateY(-3px);
  border-color: rgba(225, 29, 46, .38);
  box-shadow: 0 18px 34px rgba(225, 29, 46, .12);
}

body:not(.admin-layout) .home-quick-products strong {
  color: #b91c1c;
  font-size: 14px;
}

body:not(.admin-layout) .home-quick-products span {
  font-size: 10px;
  line-height: 1.28;
}

body:not(.admin-layout) .home-top-products .home-quick-products {
  margin: 0 0 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(226, 232, 240, .86);
}

body:not(.admin-layout) .home-top-products .home-quick-products a {
  min-height: 74px;
  border-radius: 14px;
}

.mobile-menu-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  text-decoration: none;
}

.mobile-menu-brand img {
  width: 154px;
  max-width: 58vw;
  height: auto;
  display: block;
}

.mobile-menu-brand span {
  display: none;
  color: #64748b;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.15;
}

@media (min-width: 641px) {
  .mobile-menu-brand span {
    display: block;
  }
}

@media (max-width: 1180px) {
  body:not(.admin-layout) .home-quick-products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  body:not(.admin-layout) .home-sales-start {
    margin: 0 0 12px;
    padding: 14px;
    border-radius: 20px;
  }

  body:not(.admin-layout) .home-sales-head h2 {
    font-size: 24px;
    max-width: 100%;
  }

  body:not(.admin-layout) .home-sales-head p {
    font-size: 13px;
    line-height: 1.48;
  }

  body:not(.admin-layout) .home-quick-products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  body:not(.admin-layout) .home-quick-products a {
    min-height: 78px;
    padding: 11px;
  }

  .mobile-menu-brand img {
    width: 138px;
  }
}

/* Keep public titles tighter and more commercial, without touching print documents. */
body:not(.admin-layout):not(.offer-doc-page):not(.offer-protocol-page):not(.warranty-doc-page) .ai-config-hero h1 {
  font-size: clamp(28px, 3.4vw, 38px) !important;
  line-height: 1.04 !important;
}

body:not(.admin-layout):not(.offer-doc-page):not(.offer-protocol-page):not(.warranty-doc-page) .ai-config-hero {
  padding: 26px !important;
}

body:not(.admin-layout):not(.offer-doc-page):not(.offer-protocol-page):not(.warranty-doc-page) .service-hero h1,
body:not(.admin-layout):not(.offer-doc-page):not(.offer-protocol-page):not(.warranty-doc-page) .service-city-hero h1,
body:not(.admin-layout):not(.offer-doc-page):not(.offer-protocol-page):not(.warranty-doc-page) .live-hero h1,
body:not(.admin-layout):not(.offer-doc-page):not(.offer-protocol-page):not(.warranty-doc-page) .products-hero h1 {
  font-size: clamp(28px, 3.4vw, 46px) !important;
  line-height: 1.08 !important;
}

@media (max-width: 640px) {
  body:not(.admin-layout):not(.offer-doc-page):not(.offer-protocol-page):not(.warranty-doc-page) .ai-config-hero h1,
  body:not(.admin-layout):not(.offer-doc-page):not(.offer-protocol-page):not(.warranty-doc-page) .service-hero h1,
  body:not(.admin-layout):not(.offer-doc-page):not(.offer-protocol-page):not(.warranty-doc-page) .service-city-hero h1,
  body:not(.admin-layout):not(.offer-doc-page):not(.offer-protocol-page):not(.warranty-doc-page) .live-hero h1,
  body:not(.admin-layout):not(.offer-doc-page):not(.offer-protocol-page):not(.warranty-doc-page) .products-hero h1 {
    font-size: 25px !important;
  }
}

@media (max-width: 980px) {
  body:not(.admin-layout) .home-top-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  body:not(.admin-layout) .home-top-products {
    margin: 14px 0 18px !important;
    padding: 12px !important;
    border-radius: 18px !important;
  }

  body:not(.admin-layout) .home-top-products-head {
    align-items: start !important;
    flex-direction: column !important;
  }

  body:not(.admin-layout) .home-top-products-head h2 {
    font-size: 19px !important;
  }

  body:not(.admin-layout) .home-top-products-head p {
    font-size: 13px !important;
  }

  body:not(.admin-layout) .home-top-panel-note {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 3px !important;
  }

  body:not(.admin-layout) .home-top-panel-note strong {
    white-space: normal !important;
  }

  body:not(.admin-layout) .home-top-products-grid {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  body:not(.admin-layout) .home-top-product-card {
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 9px !important;
  }

  body:not(.admin-layout) .home-top-product-media {
    height: 80px !important;
  }
}

/* Final public heading scale: keep pages commercial, not poster-sized. */
body:not(.admin-layout):not(.offer-doc-page):not(.offer-protocol-page):not(.warranty-doc-page) .products-hero {
  grid-template-columns: minmax(0, .74fr) minmax(260px, 1fr) !important;
  align-items: center !important;
  padding: 24px 28px !important;
}

body:not(.admin-layout):not(.offer-doc-page):not(.offer-protocol-page):not(.warranty-doc-page) .products-hero h1,
body:not(.admin-layout):not(.offer-doc-page):not(.offer-protocol-page):not(.warranty-doc-page) .service-hero h1,
body:not(.admin-layout):not(.offer-doc-page):not(.offer-protocol-page):not(.warranty-doc-page) .service-city-hero h1,
body:not(.admin-layout):not(.offer-doc-page):not(.offer-protocol-page):not(.warranty-doc-page) .live-hero h1,
body:not(.admin-layout):not(.offer-doc-page):not(.warranty-doc-page):not(.offer-protocol-page) .page-title,
body:not(.admin-layout):not(.offer-doc-page):not(.warranty-doc-page):not(.offer-protocol-page) main > .container > h1 {
  font-size: clamp(22px, 2.05vw, 28px) !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
}

body:not(.admin-layout):not(.offer-doc-page):not(.offer-protocol-page):not(.warranty-doc-page) .products-hero-desc {
  font-size: 16px !important;
  line-height: 1.42 !important;
}

@media (max-width: 760px) {
  body:not(.admin-layout):not(.offer-doc-page):not(.offer-protocol-page):not(.warranty-doc-page) .products-hero {
    grid-template-columns: 1fr !important;
    padding: 18px !important;
  }

  body:not(.admin-layout):not(.offer-doc-page):not(.offer-protocol-page):not(.warranty-doc-page) .products-hero h1,
  body:not(.admin-layout):not(.offer-doc-page):not(.offer-protocol-page):not(.warranty-doc-page) .service-hero h1,
  body:not(.admin-layout):not(.offer-doc-page):not(.offer-protocol-page):not(.warranty-doc-page) .service-city-hero h1,
  body:not(.admin-layout):not(.offer-doc-page):not(.offer-protocol-page):not(.warranty-doc-page) .live-hero h1,
  body:not(.admin-layout):not(.offer-doc-page):not(.warranty-doc-page):not(.offer-protocol-page) .page-title,
  body:not(.admin-layout):not(.offer-doc-page):not(.warranty-doc-page):not(.offer-protocol-page) main > .container > h1 {
    font-size: 22px !important;
  }
}

/* Final mobile menu polish: compact, crisp, and more premium. */
@media (max-width: 900px) {
  body:not(.admin-layout) .mobile-menu-overlay {
    background:
      linear-gradient(90deg, rgba(15, 23, 42, .36), rgba(15, 23, 42, .16)),
      rgba(15, 23, 42, .14) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    align-items: stretch !important;
  }

  body:not(.admin-layout) .mobile-menu-panel {
    width: min(88vw, 390px) !important;
    max-width: 390px !important;
    height: 100dvh !important;
    padding: 18px 14px 22px !important;
    border-radius: 0 26px 26px 0 !important;
    border: 0 !important;
    border-right: 1px solid rgba(226, 35, 44, .22) !important;
    background:
      radial-gradient(circle at 12% 0%, rgba(226, 35, 44, .11), transparent 34%),
      linear-gradient(180deg, #ffffff 0%, #f8fafc 56%, #f2f4f8 100%) !important;
    box-shadow: 22px 0 60px rgba(15, 23, 42, .22) !important;
    overflow-y: auto !important;
  }

  body:not(.admin-layout) .mobile-menu-panel::before {
    content: "" !important;
    display: block !important;
    height: 4px !important;
    width: 96px !important;
    margin: -2px 0 13px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, #ed1c24, #ff6b74) !important;
    box-shadow: 0 8px 22px rgba(226, 35, 44, .22) !important;
  }

  body:not(.admin-layout) .mobile-menu-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 13px !important;
    padding: 0 !important;
    min-height: 50px !important;
  }

  body:not(.admin-layout) .mobile-menu-brand {
    min-height: 50px !important;
    padding: 8px 11px !important;
    border: 1px solid rgba(226, 232, 240, .92) !important;
    border-radius: 17px !important;
    background: rgba(255, 255, 255, .88) !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06) !important;
  }

  body:not(.admin-layout) .mobile-menu-brand img {
    width: 168px !important;
    max-width: 100% !important;
  }

  body:not(.admin-layout) .mobile-menu-brand span {
    display: none !important;
  }

  body:not(.admin-layout) .mobile-menu-close {
    width: 44px !important;
    height: 44px !important;
    border-radius: 15px !important;
    border: 1px solid rgba(226, 35, 44, .18) !important;
    background: #fff5f6 !important;
    color: #b91c1c !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    box-shadow: 0 10px 24px rgba(226, 35, 44, .09) !important;
  }

  body:not(.admin-layout) .mobile-menu-search-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 46px !important;
    gap: 8px !important;
    align-items: center !important;
    margin: 0 0 14px !important;
  }

  body:not(.admin-layout) .mobile-menu-search {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body:not(.admin-layout) .mobile-menu-search input {
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 15px !important;
    border: 1px solid rgba(203, 213, 225, .95) !important;
    border-radius: 17px !important;
    background: #fff !important;
    color: #111827 !important;
    font-size: 15px !important;
    font-weight: 750 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7), 0 8px 18px rgba(15, 23, 42, .05) !important;
  }

  body:not(.admin-layout) .mobile-menu-search button {
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 15px !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, #ef2330, #c1121f) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    box-shadow: 0 12px 28px rgba(226, 35, 44, .22) !important;
  }

  body:not(.admin-layout) .mobile-menu-user-pill {
    width: 46px !important;
    height: 46px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(203, 213, 225, .95) !important;
    background: #fff !important;
    color: #111827 !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .06) !important;
  }

  body:not(.admin-layout) .mobile-menu-quick-links {
    display: grid !important;
    gap: 9px !important;
    padding: 0 !important;
  }

  body:not(.admin-layout) .mobile-menu-group {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body:not(.admin-layout) .mobile-menu-quick-link,
  body:not(.admin-layout) .mobile-menu-link,
  body:not(.admin-layout) .mobile-menu-account-btn,
  body:not(.admin-layout) .mobile-menu-parent.mobile-products-toggle {
    min-height: 54px !important;
    height: auto !important;
    padding: 8px 12px !important;
    border: 1px solid rgba(226, 232, 240, .96) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .94) !important;
    color: #111827 !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .055) !important;
    transform: none !important;
  }

  body:not(.admin-layout) .mobile-menu-quick-link.is-active,
  body:not(.admin-layout) .mobile-menu-link.is-active,
  body:not(.admin-layout) .mobile-menu-parent.mobile-products-toggle.is-active {
    border-color: rgba(226, 35, 44, .34) !important;
    background: linear-gradient(135deg, #fff4f5, #ffffff 72%) !important;
    color: #b5121b !important;
    box-shadow: 0 14px 30px rgba(226, 35, 44, .12) !important;
  }

  body:not(.admin-layout) .mobile-menu-icon {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    border-radius: 13px !important;
    background: #f1f5f9 !important;
    color: #111827 !important;
    font-size: 13px !important;
    font-weight: 950 !important;
  }

  body:not(.admin-layout) .mobile-menu-quick-link.is-active .mobile-menu-icon,
  body:not(.admin-layout) .mobile-menu-link.is-active .mobile-menu-icon {
    background: #ed1c24 !important;
    color: #fff !important;
    box-shadow: 0 10px 18px rgba(226, 35, 44, .19) !important;
  }

  body:not(.admin-layout) .mobile-menu-link-text {
    min-width: 0 !important;
    font-size: 16px !important;
    line-height: 1.12 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
  }

  body:not(.admin-layout) .mobile-menu-arrow {
    width: 28px !important;
    height: 28px !important;
    border-radius: 10px !important;
    background: #f8fafc !important;
    color: #b91c1c !important;
    font-size: 20px !important;
    font-weight: 950 !important;
  }

  body:not(.admin-layout) .mobile-submenu {
    margin-top: 7px !important;
    padding: 8px !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .72) !important;
    border: 1px solid rgba(226, 232, 240, .86) !important;
  }

  body:not(.admin-layout) .mobile-menu-group:not(.is-open) > .mobile-submenu {
    display: none !important;
  }
}

@media (max-width: 420px) {
  body:not(.admin-layout) .mobile-menu-panel {
    width: min(86vw, 360px) !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body:not(.admin-layout) .mobile-menu-brand img {
    width: 154px !important;
  }

  body:not(.admin-layout) .mobile-menu-search-row {
    grid-template-columns: minmax(0, 1fr) 44px !important;
  }

  body:not(.admin-layout) .mobile-menu-search {
    grid-template-columns: minmax(0, 1fr) 72px !important;
  }

  body:not(.admin-layout) .mobile-menu-search button {
    padding: 0 10px !important;
  }
}


/* Final document/mail brand polish 20260829. */
.offer-doc-wrap .topbar.topbar-offer-new .doc-contact-lines div strong{color:#c62828!important;}
@media print{
  .offer-doc-wrap .brand-bar{
    margin:0 0 5px!important;
    padding:0 1mm!important;
    font-size:9.2px!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new{
    display:grid!important;
    grid-template-columns:42mm 1fr 50mm!important;
    align-items:center!important;
    min-height:34mm!important;
    padding:5mm 6mm!important;
    border-top:2.2mm solid #c62828!important;
    border-right:1px solid #e5e7eb!important;
    border-bottom:1px solid #e5e7eb!important;
    border-left:1px solid #e5e7eb!important;
    border-radius:3mm!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .topbar-left{justify-self:start!important;align-self:center!important;}
  .offer-doc-wrap .topbar.topbar-offer-new .offer-logo img{width:36mm!important;max-width:36mm!important;max-height:14mm!important;}
  .offer-doc-wrap .topbar.topbar-offer-new .topbar-center{justify-self:center!important;align-self:center!important;text-align:center!important;}
  .offer-doc-wrap .topbar.topbar-offer-new .h1,
  .offer-doc-wrap .topbar.topbar-offer-new h1{font-size:15px!important;line-height:1.06!important;}
  .offer-doc-wrap .topbar.topbar-offer-new .offer-doc-subtitle{font-size:8px!important;line-height:1.1!important;}
  .offer-doc-wrap .topbar.topbar-offer-new .offer-meta-center{font-size:7.6px!important;gap:2px!important;}
  .offer-doc-wrap .topbar.topbar-offer-new .topbar-right{
    display:grid!important;
    grid-template-columns:1fr 11mm!important;
    gap:2mm!important;
    align-items:center!important;
    justify-self:end!important;
    align-self:center!important;
    width:50mm!important;
  }
  .offer-doc-wrap .topbar.topbar-offer-new .doc-contact-lines{font-size:6.8px!important;line-height:1.08!important;text-align:right!important;max-width:36mm!important;}
  .offer-doc-wrap .topbar.topbar-offer-new .qr-top img{width:11mm!important;height:11mm!important;}
  .offer-doc-wrap > .box:last-of-type,
  .offer-doc-wrap > table:last-of-type,
  .offer-doc-wrap > .offer-sign-table:last-of-type{
    border-bottom:2.2mm solid #c62828!important;
  }
}
