:root{
  --font-sans: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;

  --bg: #fbfaf8;
  --surface: #ffffff;
  --surface-2: #f6f3ee;
  --text: #1b1a17;
  --muted: rgba(27, 26, 23, 0.68);
  --line: rgba(27, 26, 23, 0.12);

  --accent: #b23a48;         /* благородный ягодный */
  --accent-2: #1f2937;       /* графит */

  --radius: 8px;
  --radius-sm: 8px;
  --radius-xs: 8px;
  --shadow-sm: 0 10px 30px rgba(27, 26, 23, 0.06);
  --shadow: 0 18px 60px rgba(27, 26, 23, 0.10);

  /* Горизонтальные отступы витрины (текст не прилипает к краям экрана) */
  --pw-gutter: clamp(16px, 4.2vw, 24px);
  --lp-header-offset: 5.25rem;
  --lp-header-offset-mobile: 7.75rem;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family: var(--font-sans);
  font-weight: 200;
  line-height: 1.7;
  color: var(--text);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
a{color:inherit}

/* Prevent "bullet list" regressions */
ul,ol{list-style:none;margin:0;padding:0}

.motors-wrap{
  width:min(1200px, calc(100% - 40px));
  margin-inline:auto;
}

/* Header */
.motors-topbar{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter: blur(14px);
  background: rgba(246, 247, 251, .78);
  border-bottom: 1px solid var(--line);
}
.motors-topbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 0;
}
.motors-brand{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  font-weight:800;
  letter-spacing:.2px;
}
.motors-badge{
  width:36px;height:36px;border-radius:12px;
  background: linear-gradient(135deg, var(--brand), var(--brand2));
  box-shadow: 0 10px 26px rgba(37, 99, 235, .22);
}
.motors-brand small{
  display:block;
  font-weight:600;
  color:var(--muted);
  letter-spacing:0;
}

.motors-nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
}
.motors-nav a{
  text-decoration:none;
  font-size:14px;
  padding:10px 12px;
  border:1px solid transparent;
  border-radius:999px;
  color: rgba(15, 23, 42, .84);
}
.motors-nav a:hover{
  border-color: var(--line);
  background: rgba(15, 23, 42, .04);
}
.motors-nav .motors-cta{
  background: linear-gradient(135deg, rgba(37,99,235,.14), rgba(14,165,233,.12));
  border-color: rgba(37,99,235,.18);
}

/* Hero */
.motors-hero{
  padding:56px 0 28px;
}
.motors-hero-grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:34px;
  align-items:center;
}
.motors-hero h1{
  font-size: clamp(34px, 4.0vw, 54px);
  line-height:1.03;
  margin:0 0 14px;
  letter-spacing:-.8px;
}
.motors-hero p{
  margin:0 0 20px;
  color:var(--muted);
  font-size: clamp(15px, 1.25vw, 18px);
  line-height:1.6;
}
.motors-kpis{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.motors-kpi{
  padding:10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-xs);
  background: rgba(255,255,255,.70);
  font-size: 13px;
  color: rgba(15, 23, 42, .86);
}
.motors-kpi b{color:var(--text)}

.motors-card{
  border:1px solid var(--line);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
  border-radius: var(--radius);
  padding:18px;
}

.motors-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top: 14px;
}
.motors-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding: 12px 14px;
  border-radius: var(--radius-xs);
  border: 1px solid var(--line);
  background: rgba(255,255,255,.75);
  text-decoration:none;
  font-weight:700;
  font-size: 14px;
}
.motors-btn.primary{
  border-color: rgba(37,99,235,.25);
  background: linear-gradient(135deg, rgba(37,99,235,.16), rgba(14,165,233,.12));
}
.motors-btn:hover{filter:brightness(1.06)}

.motors-hero-aside{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.motors-feature{
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.motors-dot{
  width:12px;height:12px;border-radius:50%;
  margin-top: 4px;
  background: var(--brand);
  box-shadow: 0 0 0 6px rgba(37,99,235,.10);
}
.motors-feature b{display:block;margin-bottom:3px}
.motors-feature span{color:var(--muted);font-size:14px;line-height:1.45}

.motors-hero-media{
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(37,99,235,.10), rgba(14,165,233,.07));
  box-shadow: var(--shadow);
  overflow:hidden;
}
.motors-hero-media img{
  display:block;
  width:100%;
  height:auto;
}

.motors-slab{
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--surface-2);
}

/* Sections */
.motors-section{
  padding: 48px 0;
}
.motors-section h2{
  margin:0 0 10px;
  font-size: clamp(22px, 2.2vw, 30px);
  letter-spacing:-.4px;
}
.motors-section p.lead{
  margin:0 0 16px;
  color:var(--muted);
  line-height:1.65;
  max-width: 72ch;
}

.motors-grid-3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:16px;
}
.motors-tile{
  padding:18px;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}
.motors-tile b{display:block;margin-bottom:6px}
.motors-tile span{color:var(--muted);font-size:14px;line-height:1.55}
.motors-tile a{color: rgba(15,23,42,.92)}

/* Footer (dark, Artessa-like) */
.pw-footer{
  margin-top: 64px;
  background: #272727;
  color: rgba(255,255,255,0.88);
}
.pw-footer a{ color: inherit; text-decoration:none }
.pw-footer a:hover{ color: #ffffff; text-decoration: underline; text-underline-offset: 3px }
.pw-footer__top{
  border-top: 1px solid rgba(255,255,255,0.08);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  background:
    radial-gradient(900px 380px at 20% -40%, rgba(178,58,72,0.16), transparent 60%),
    radial-gradient(900px 380px at 90% 0%, rgba(255,255,255,0.06), transparent 55%);
}
.pw-footer__grid{
  padding: 56px 0 44px;
  display:grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.2fr 1fr;
  gap: 26px;
  align-items:start;
}
.pw-footer__logo{
  display:inline-block;
  font-weight: 500;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.pw-footer__desc{
  margin: 12px 0 0;
  color: rgba(255,255,255,0.66);
  font-weight: 300;
  line-height: 1.75;
  max-width: 48ch;
}
.pw-footer__title{
  margin: 0 0 14px;
  font-weight: 500;
  letter-spacing: .04em;
  font-size: 13px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.86);
}
.pw-footer__links{ display:grid; gap: 10px }
.pw-footer__links a{ color: rgba(255,255,255,0.70); font-weight: 300; letter-spacing: .02em }
.pw-footer__links a:hover{ color: rgba(255,255,255,0.98) }
.pw-footer__muted{ color: rgba(255,255,255,0.55) }
.pw-footer__social{
  margin-top: 16px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.pw-footer__social a{
  font-weight: 300;
  letter-spacing: .04em;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  padding: 9px 11px;
  border-radius: 999px;
  font-size: 13px;
}
.pw-footer__social a:hover{
  background: rgba(255,255,255,0.10);
  border-color: rgba(255,255,255,0.22);
  text-decoration:none;
}
.pw-footer__bottom{
  background: #1f1f1f;
}
.pw-footer__bottom-inner{
  padding: 18px 0;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 14px;
}
.pw-footer__bottom small{
  color: rgba(255,255,255,0.62);
  font-weight: 300;
  letter-spacing: .03em;
}
.pw-footer__meta{
  display:flex;
  align-items:center;
  gap: 10px;
  color: rgba(255,255,255,0.62);
  font-weight: 300;
}
.pw-footer__dot{ opacity: .65 }
.pw-footer__copy{ display: grid; gap: 4px; }
.pw-footer__bottom small.pw-footer__seller{ color: rgba(255,255,255,0.5); font-size: 12px; }

@media (max-width: 980px){
  .pw-footer__grid{ grid-template-columns: 1fr 1fr; gap: 28px 20px; }
}
@media (max-width: 640px){
  .pw-footer__grid{
    grid-template-columns: 1fr;
    gap: 0;
    padding: 40px 0 28px;
  }
  .pw-footer__brand{
    text-align: center;
    padding-bottom: 28px;
    margin-bottom: 4px;
  }
  .pw-footer__desc{
    margin-inline: auto;
    max-width: 36ch;
  }
  .pw-footer__social{
    justify-content: center;
  }
  .pw-footer__panel{
    border-top: 1px solid rgba(255,255,255,0.08);
  }
  .pw-footer__panel > summary.pw-footer__title{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 0;
    margin: 0;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  .pw-footer__panel > summary.pw-footer__title::after{
    content: "+";
    font-size: 1.25rem;
    font-weight: 300;
    line-height: 1;
    opacity: 0.65;
    transition: transform 0.28s ease, opacity 0.2s ease;
  }
  .pw-footer__panel.is-expanded > summary.pw-footer__title::after{
    content: "−";
    transform: rotate(180deg);
  }
  .pw-footer__panel-body{
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.28s ease;
  }
  .pw-footer__panel.is-expanded .pw-footer__panel-body{
    grid-template-rows: 1fr;
  }
  .pw-footer__panel-body > .pw-footer__links{
    overflow: hidden;
    min-height: 0;
    padding-bottom: 0;
    transition: padding-bottom 0.28s ease;
  }
  .pw-footer__panel.is-expanded .pw-footer__panel-body > .pw-footer__links{
    padding-bottom: 18px;
  }
  .pw-footer__bottom-inner{
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 14px;
  }
  .pw-footer__meta{
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 12px;
  }
}
@media (min-width: 641px){
  .pw-footer__panel > summary.pw-footer__title{
    list-style: none;
    pointer-events: none;
    cursor: default;
  }
  .pw-footer__panel > summary.pw-footer__title::-webkit-details-marker{
    display: none;
  }
  .pw-footer__panel > summary.pw-footer__title::after{
    display: none;
  }
  .pw-footer__panel > .pw-footer__panel-body{
    display: block;
    grid-template-rows: none;
  }
  .pw-footer__panel > .pw-footer__panel-body > .pw-footer__links{
    display: grid !important;
    overflow: visible;
    padding-bottom: 0;
  }
}
@media (prefers-reduced-motion: reduce){
  .pw-footer__panel-body,
  .pw-footer__panel-body > .pw-footer__links,
  .pw-footer__panel > summary.pw-footer__title::after{
    transition: none !important;
  }
}

@media (max-width: 560px){
  .pw-footer__grid{ padding: 36px 0 24px; }
}

/* ===== Landing layout inspired by landing_auto.html ===== */
:root{
  --lp-grid-max: 1180px;
  --lp-grid-width: min(var(--lp-grid-max), calc(100% - 2 * var(--pw-gutter)));
}
.lp-container{
  width: var(--lp-grid-width);
  max-width: 100%;
  margin-inline:auto;
  min-width: 0;
  padding-inline: max(0px, env(safe-area-inset-left)) max(0px, env(safe-area-inset-right));
}
/* Хлебные крошки — всегда по левому краю основной сетки (как шапка) */
.lp-page-top{
  padding-top: calc(var(--lp-header-offset) + var(--lp-catalog-title-gap, 1.5rem));
}
.lp-page-top .lp-breadcrumb-list{
  margin-bottom: var(--lp-catalog-title-gap, 1.5rem);
}
.lp-page-body--narrow{
  max-width: min(640px, 100%);
}
.lp-page-body--medium{
  max-width: min(960px, 100%);
}

.lp-header{
  background: rgba(251, 250, 248, 0.78);
  color: var(--text);
  padding: 0.75rem 0 0;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(16px);
  overflow-x: clip;
}
/* На страницах без ленты навигации по главной добавляем “воздух” до нижней линии шапки */
body:not(.pw-is-home) .lp-header{
  padding-bottom: 0.75rem;
}
.lp-header-inner{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap: 1rem 1.25rem;
  position: relative;
  padding-inline: 12px;
}
.lp-header-aside{
  display:flex;
  align-items:center;
  gap: 10px;
  flex: 0 0 auto;
  margin-left: auto;
}
.lp-nav-tools{
  display:flex;
  align-items:center;
  gap: 6px;
  flex: 0 0 auto;
}
.lp-tool{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  border: 1px solid rgba(27, 26, 23, 0.12);
  background: rgba(255,255,255,0.78);
  color: rgba(27, 26, 23, 0.86);
  text-decoration:none;
  transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.lp-tool:hover{
  border-color: rgba(178, 58, 72, 0.28);
  background: rgba(178, 58, 72, 0.08);
  color: var(--text);
}
.lp-tool.is-active{
  border-color: rgba(178, 58, 72, 0.35);
  background: rgba(178, 58, 72, 0.12);
  color: var(--text);
}
.lp-tool-svg{ display:block; }
.lp-tool-cart{
  position: relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.lp-tool-cart .lp-hcart,
.lp-tool-cart .pw-hcart{
  position: relative;
}
.lp-nav-tools .pw-hcart-btn,
.lp-nav-tools .lp-hcart-btn{
  position: relative;
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: 12px;
  border: 1px solid rgba(27, 26, 23, 0.12);
  background: rgba(255,255,255,0.78);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 0;
}
.lp-nav-tools .pw-hcart-btn:hover,
.lp-nav-tools .lp-hcart-btn:hover{
  border-color: rgba(178, 58, 72, 0.28);
  background: rgba(178, 58, 72, 0.08);
}
.lp-nav-tools .pw-hcart-btn.is-active,
.lp-nav-tools .lp-hcart-btn.is-active{
  border-color: rgba(178, 58, 72, 0.35);
  background: rgba(178, 58, 72, 0.12);
}
.lp-nav-tools .pw-hcart-text,
.lp-nav-tools .lp-hcart-text{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip: rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.lp-nav-tools .pw-hcart-ico,
.lp-nav-tools .lp-hcart-ico{
  display:flex;
  align-items:center;
  justify-content:center;
}
.lp-nav--primary{ gap: 0.7rem; }
.lp-nav--sub{ gap: 0.55rem; }
.lp-drawer-section{ display: contents; }
.lp-menu-portal{
  display: flex;
  flex: 1 1 0;
  min-width: 0;
  align-items: center;
  position: relative;
}

.lp-subnav{
  display: none;
  margin-top: 14px;
  padding: 12px 0 12px;
  border-top: 1px solid rgba(27, 26, 23, 0.08);
}
body.pw-is-home .lp-subnav{ display:block; }
.lp-subnav-list{
  display:flex;
  gap: 0.65rem;
  list-style:none;
  margin:0 !important;
  padding:0 !important;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.lp-subnav a{
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(27, 26, 23, 0.76);
  text-decoration:none;
  transition: color .2s ease;
  display:inline-block;
  padding: .44rem .72rem;
  border-radius: var(--radius-xs);
  line-height: 1.1;
  border: 1px solid transparent;
  white-space: nowrap;
}
.lp-subnav a:hover{
  color: var(--text);
  border-color: rgba(178, 58, 72, 0.20);
  background: rgba(178, 58, 72, 0.06);
}
.lp-subnav a.is-active{
  color: var(--text);
  border-color: rgba(178, 58, 72, 0.28);
  background: rgba(178, 58, 72, 0.10);
}
body.lp-menu-open{
  overflow: hidden;
}
body.lp-menu-open .lp-header{
  z-index: 10050;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.lp-nav-toggle{
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(27, 26, 23, 0.12);
  border-radius: 12px;
  background: rgba(255,255,255,0.78);
  cursor: pointer;
  flex-shrink: 0;
  transition: background .2s, border-color .2s;
}
.lp-nav-toggle:hover{
  background: rgba(178, 58, 72, 0.10);
  border-color: rgba(178, 58, 72, 0.28);
}
.lp-nav-toggle-bar{
  display: block;
  width: 20px;
  height: 2px;
  margin: 0 auto;
  background: rgba(27, 26, 23, 0.82);
  border-radius: 1px;
  transition: transform .25s ease, opacity .2s;
}
.lp-header--menu-open .lp-nav-toggle-bar:nth-child(1){
  transform: translateY(8px) rotate(45deg);
}
.lp-header--menu-open .lp-nav-toggle-bar:nth-child(2){
  opacity: 0;
}
.lp-header--menu-open .lp-nav-toggle-bar:nth-child(3){
  transform: translateY(-8px) rotate(-45deg);
}
.lp-nav-backdrop{
  display: none;
}
.lp-nav-wrap{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex: 1;
  min-width: 0;
}
.lp-nav-head{
  display: none;
}
.lp-logo{
  font-family: var(--font-sans);
  font-size: 1.3rem;
  font-weight: 300;
  text-decoration:none;
  color: var(--text);
  letter-spacing: .16em;
  text-transform: uppercase;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
  max-width: min(280px, 42vw);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  /* явный зазор до меню; переполнение меню уходит вправо, не сюда */
  padding-inline-end: 0.25rem;
}
.lp-logo::after{
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-left: 10px;
  border-radius: var(--radius-xs);
  background: var(--accent);
  vertical-align: middle;
}
.lp-nav{
  display:flex;
  list-style:none;
  gap: 0.85rem;
  margin:0 !important;
  padding:0 !important;
}
.lp-nav li{list-style:none !important; margin:0; padding:0}
.lp-nav a{
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(27, 26, 23, 0.86);
  text-decoration:none;
  transition: color .2s ease;
  display:inline-block;
  padding: .52rem .85rem;
  border-radius: var(--radius-xs);
  line-height: 1.1;
  white-space: nowrap;
  border: 1px solid transparent;
}
.lp-nav a:hover{
  color: var(--text);
  border-color: rgba(178, 58, 72, 0.22);
  background: rgba(178, 58, 72, 0.06);
}

.lp-nav a.is-active{
  color: var(--text);
  border: 1px solid rgba(178, 58, 72, 0.28);
  background: rgba(178, 58, 72, 0.10);
}

/* Узкий экран: выезжающее меню. На широких — нормальные интервалы, без ужимания в «кочку» */
@media (max-width: 880px){
  .lp-header{
    border-bottom: 1px solid var(--line);
    padding: max(10px, env(safe-area-inset-top)) 0 12px;
    padding-inline: 0;
  }
  body.pw-is-home .lp-header{
    border-bottom: 1px solid var(--line);
  }
  .lp-subnav{ display:none !important; }
  .lp-container{
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding-inline: max(var(--pw-gutter), env(safe-area-inset-left)) max(var(--pw-gutter), env(safe-area-inset-right));
  }
  .lp-header-inner{
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "brand brand"
      "toggle tools";
    align-items: center;
    gap: 12px 10px;
    padding-inline: 0;
  }
  .lp-logo{
    grid-area: brand;
    justify-self: center;
    text-align: center;
    max-width: 100%;
    width: 100%;
    padding-inline: 0;
    font-size: 2.1rem;
    letter-spacing: .14em;
  }
  .lp-nav-toggle{
    grid-area: toggle;
    display: inline-flex;
    justify-self: start;
  }
  .lp-header-aside{
    grid-area: tools;
    justify-self: end;
    margin-left: 0;
    min-width: 0;
  }
  .lp-nav-tools{
    flex-wrap: nowrap;
    gap: 4px;
    justify-content: flex-end;
  }
  .lp-tool,
  .lp-nav-tools .pw-hcart-btn,
  .lp-nav-tools .lp-hcart-btn{
    width: 42px;
    height: 42px;
    flex-shrink: 0;
  }
  .lp-header-inner .lp-menu-portal{
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    flex: none;
  }
  body > .lp-menu-portal{
    position: fixed;
    inset: 0;
    z-index: 10050;
    width: auto;
    height: auto;
    overflow: visible;
    opacity: 1;
    pointer-events: none;
    flex: none;
    min-width: 0;
  }
  .lp-nav-backdrop{
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .55);
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .28s ease, visibility .28s;
  }
  body.lp-menu-open .lp-nav-backdrop{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  body > .lp-menu-portal .lp-nav-wrap{
    position: fixed;
    top: 0;
    left: 0;
    width: min(360px, 92vw);
    height: 100vh;
    height: 100dvh;
    z-index: 2;
    margin: 0;
    flex: none;
    display: flex;
    background: var(--surface);
    box-shadow: none;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    transform: translate3d(-105%, 0, 0);
    visibility: hidden;
    pointer-events: none;
    transition: transform .3s ease, visibility 0s linear .3s;
    overflow: hidden;
  }
  body > .lp-menu-portal.is-open .lp-nav-wrap,
  body.lp-menu-open > .lp-menu-portal .lp-nav-wrap{
    transform: translate3d(0, 0, 0);
    visibility: visible;
    pointer-events: auto;
    box-shadow: 12px 0 32px rgba(0, 0, 0, 0.22);
    transition: transform .3s ease, visibility 0s;
  }
  .lp-nav-head{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.15rem;
    border-bottom: 1px solid var(--line);
    flex-shrink: 0;
  }
  .lp-nav-head-title{
    font-family: var(--font-sans);
    font-size: 1.05rem;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(27, 26, 23, 0.92);
  }
  .lp-nav-close{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 12px;
    background: rgba(27, 26, 23, 0.06);
    color: var(--text);
    font-size: 1.75rem;
    line-height: 1;
    cursor: pointer;
    transition: background .2s, color .2s;
  }
  .lp-nav-close:hover{
    background: rgba(178, 58, 72, 0.12);
    color: var(--text);
  }
  .lp-nav-close-icon{
    display: block;
    margin-top: -2px;
  }
  .lp-nav{
    flex-direction: column;
    align-items: stretch;
    gap: .15rem;
    padding: .75rem 1rem 2rem;
    overflow-y: auto;
    flex: 1;
    -webkit-overflow-scrolling: touch;
  }
  .lp-subnav{ display:none !important; }
  .lp-drawer-section{ display:block; padding: 0 1rem 1rem; padding-top: 20px;}
  .lp-drawer-section + .lp-drawer-section{ padding-top: 0; }
  .lp-nav--primary{ padding: .75rem 1rem 0.5rem; }
  .lp-nav--sub{ padding: 0.25rem 1rem 1rem; }
  .lp-nav a{
    white-space: normal;
    border-radius: 12px;
    padding: .9rem 1rem;
  }
  .pw-cart-page .pw-pagehead{
    padding-top: 20px;
  }
}

@media (min-width: 881px){
  .lp-menu-portal{
    position: relative;
    z-index: auto;
    pointer-events: auto;
    display: flex;
    flex: 1 1 0;
    min-width: 0;
    align-items: center;
  }
  .lp-nav-toggle{
    display: none !important;
  }
  .lp-nav-backdrop{
    display: none !important;
  }
  .lp-nav-head{
    display: none !important;
  }
  .lp-nav-wrap{
    position: static !important;
    transform: none !important;
    width: auto !important;
    height: auto !important;
    box-shadow: none !important;
    background: transparent !important;
    flex-direction: row !important;
    overflow: visible !important;
    flex: 1 1 0;
    min-width: 0;
    justify-content: flex-start;
    visibility: visible !important;
    pointer-events: auto !important;
    transition: none !important;
  }
  .lp-nav{
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .lp-nav--sub{ display:none; }
}

.lp-hero{
  position: relative;
  min-height: 92vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding: 7rem 5% 4rem;
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
  /* css lives in /stylesheet/ — ../image/ относительно темы prewoman */
  background-image: url("../image/placeholder-hero.svg");
  background-size: cover;
  background-position: center;
}
.lp-hero-overlay{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.60);
}
.lp-hero-content{
  position: relative;
  z-index: 1;
  max-width: 820px;
  color:#fff;
}
.lp-hero-actions{
  display:flex;
  gap: 12px;
  justify-content:center;
  flex-wrap:wrap;
}
.lp-btn-secondary{
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.25);
}
.lp-btn-secondary:hover{
  box-shadow: 0 10px 30px rgba(255,255,255,0.10);
}
.lp-hero h1{
  font-family: var(--font-sans);
  font-weight: 300;
  font-size: clamp(40px, 4.4vw, 64px);
  margin: 0 0 1rem;
  line-height: 1.1;
  letter-spacing: .04em;
}
.lp-hero p{
  font-family: var(--font-sans);
  font-weight: 300;
  font-size: clamp(16px, 1.6vw, 22px);
  margin: 0 0 2rem;
  opacity: .92;
  letter-spacing: .01em;
}
.lp-btn{
  font-family: var(--font-sans);
  display:inline-block;
  padding: 1rem 2.5rem;
  background:#e94560;
  color:#fff;
  text-decoration:none;
  border-radius: 50px;
  font-weight: 500;
  letter-spacing: .06em;
  font-size: 14px;
  text-transform: uppercase;
  transition: transform .2s ease, box-shadow .2s ease;
}
.lp-btn:hover{
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(233, 69, 96, 0.4);
}

.lp-features{
  padding: 6rem 5%;
  background:#f8f9fa;
  overflow-x: clip;
  min-width: 0;
}
.lp-title{
  font-family: var(--font-sans);
  font-weight: 300;
  text-align:center;
  font-size: clamp(28px, 2.8vw, 44px);
  margin: 0 0 3rem;
  color:#1a1a2e;
  letter-spacing: .04em;
}
.lp-title-invert{color:#fff}
.lp-lead{
  max-width: 720px;
  margin: -0.5rem auto 1.75rem;
  text-align: center;
  color: #666;
  line-height: 1.65;
  font-weight: 300;
  font-size: clamp(15px, 1.15vw, 17px);
  letter-spacing: .02em;
}
.lp-features-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: 2rem;
  min-width: 0;
}
.lp-feature-card{
  background:#fff;
  padding: 2.5rem;
  border-radius: 14px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.10);
  text-align:center;
  transition: transform .2s ease;
  min-width: 0;
  max-width: 100%;
}
.lp-feature-card:hover{transform: translateY(-10px)}
.lp-icon{font-size: 2.6rem; margin-bottom: 1rem}
.lp-icon-placeholder{
  width: 52px;
  height: 52px;
  margin: 0 auto 1rem;
  border-radius: 16px;
  background: #f1f5f9;
  box-shadow: 0 5px 20px rgba(0,0,0,0.08);
}
.lp-feature-card h3{
  font-family: var(--font-sans);
  font-weight: 400;
  margin:0 0 .6rem;
  color:#1a1a2e;
  letter-spacing: .03em;
}
.lp-feature-card p{margin:0; color:#666; line-height:1.65; font-weight:300}

.lp-catalog{
  padding: 6rem 5%;
  overflow-x: clip;
  min-width: 0;
}
.lp-catalog-grid{
  display:grid;
  /* min(100%, …) — иначе на узком экране колонка 320px шире контейнера → обводка за экран */
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: 2rem;
  min-width: 0;
}
.lp-item-card{
  border-radius: 16px;
  overflow:hidden;
  box-shadow: 0 5px 20px rgba(0,0,0,0.10);
  background:#fff;
  transition: transform .2s ease;
  min-width: 0;
  max-width: 100%;
}
.lp-item-card:hover{transform: scale(1.02)}
.lp-item-image{
  height: 250px;
  background:#ddd;
  display:flex;
  align-items:center;
  justify-content:center;
  max-width: 100%;
  min-width: 0;
}
.lp-item-image img{
  width:100%;
  max-width: 100%;
  height:100%;
  object-fit: cover;
  display:block;
}
.lp-item-info{
  padding: 1.5rem;
  min-width: 0;
  overflow-wrap: anywhere;
}
.lp-item-info h3{
  font-family: var(--font-sans);
  font-weight: 400;
  margin:0 0 .4rem;
  color:#1a1a2e;
  letter-spacing: .03em;
}
.lp-item-info p{margin:0 0 1rem; color:#666; font-weight:300}
.lp-price{
  font-family: var(--font-sans);
  color:#e94560;
  font-size: 1.15rem;
  font-weight: 400;
  margin-bottom: 1rem;
  letter-spacing: .04em;
}
.lp-item-btn{
  font-family: var(--font-sans);
  font-weight: 500;
  letter-spacing: .04em;
  font-size: 13px;
  display:inline-block;
  padding: .75rem 1.5rem;
  background:#1a1a2e;
  color:#fff;
  text-decoration:none;
  border-radius: 8px;
  transition: background .2s ease;
}
.lp-item-btn:hover{background:#e94560}

.lp-contact{
  padding: 6rem 5%;
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
  color:#fff;
  text-align:center;
}
.lp-contact p{opacity:.9; margin: 0 0 2rem}
.lp-contact-grid{
  display:flex;
  justify-content:center;
  gap: 1.2rem;
  margin: 2.2rem 0 2.2rem;
  flex-wrap:wrap;
}
.lp-contact-item{
  padding: 1rem 1.4rem;
  border: 2px solid rgba(255,255,255,0.2);
  border-radius: 12px;
  min-width: 220px;
  text-align:left;
}
.lp-contact-item h3{
  font-family: var(--font-sans);
  font-weight: 400;
  margin:0 0 .35rem;
  letter-spacing: .03em;
}
.lp-contact-item p{margin:0; opacity:.9; font-weight:300}

/* Каталог / поиск / товар: стандартный layout OpenCart с #content — отступ под фиксированную шапку */
#content{
  padding-top: var(--lp-header-offset);
  font-family: var(--font-sans);
  font-weight: 300;
}

/* ——— Home (new minimal storefront) ——— */
.pw-home{
  padding-top: var(--lp-header-offset);
}
.pw-section{
  padding: 72px 0;
}
.pw-section-alt{
  background: var(--surface-2);
}
/* Полноэкранный разделитель между секциями (не border вокруг блока) */
.pw-home .pw-section + .pw-section{
  position: relative;
}
.pw-home .pw-section + .pw-section::before{
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background: var(--line);
}
.pw-section-head{
  display:flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}
.pw-h1{
  font-family: var(--font-sans);
  font-weight: 200;
  letter-spacing: -0.03em;
  line-height: 1.02;
  font-size: clamp(40px, 4.6vw, 66px);
  margin: 0 0 12px;
}
.pw-h2{
  font-family: var(--font-sans);
  font-weight: 200;
  letter-spacing: -0.02em;
  line-height: 1.1;
  font-size: clamp(26px, 2.6vw, 38px);
  margin: 0;
}
.pw-lead{
  margin: 0;
  color: var(--muted);
  font-size: clamp(16px, 1.35vw, 18px);
  line-height: 1.75;
  max-width: 62ch;
}
.pw-muted{ color: var(--muted); font-size: 14px; letter-spacing: .02em }
.pw-link{
  font-size: 12px;
  letter-spacing: .10em;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: 1px solid rgba(178, 58, 72, 0.35);
  color: var(--text);
  padding-bottom: 2px;
}
.pw-link:hover{ border-bottom-color: rgba(178, 58, 72, 0.85) }
.pw-eyebrow{
  margin: 0 0 10px;
  font-weight: 500;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(178, 58, 72, 0.95);
}
.pw-actions{ display:flex; gap: 12px; flex-wrap: wrap; margin-top: 18px }
.pw-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border-radius: var(--radius-xs);
  padding: 12px 18px;
  border: 1px solid var(--line);
  color: var(--text);
  background: rgba(255,255,255,0.65);
  backdrop-filter: blur(10px);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.pw-btn:hover{ transform: translateY(-2px); box-shadow: var(--shadow-sm); background: rgba(255,255,255,0.92) }
.pw-btn-primary{
  border-color: rgba(178, 58, 72, 0.22);
  background: rgba(178, 58, 72, 0.10);
}
.pw-btn-primary:hover{ background: rgba(178, 58, 72, 0.14) }

.pw-home-layout-top{
  width: 100%;
  max-width: none;
  padding: 0;
}

.pw-hero-banner{
  position: relative;
  margin-top: 0;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.pw-hero-banner__viewport{
  position: relative;
  overflow: hidden;
  width: 100%;
  touch-action: pan-y pinch-zoom;
  -webkit-user-select: none;
  user-select: none;
}
.pw-hero-banner__track{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
}
.pw-hero-banner__slide{
  grid-column: 1;
  grid-row: 1;
  position: relative;
  width: 100%;
  min-height: 520px;
  padding: 84px 0 72px;
  overflow: hidden;
  visibility: hidden;
  pointer-events: none;
  z-index: 0;
}
.pw-hero-banner__slide.is-active{
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}
.pw-hero-banner__bg-media{
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
  pointer-events: none;
  user-select: none;
  opacity: 0;
  transform: scale(1.07);
  will-change: transform, opacity;
  transition: opacity 1.35s cubic-bezier(0.45, 0.05, 0.15, 1);
}
.pw-hero-banner__slide.is-active .pw-hero-banner__bg-media{
  opacity: 1;
  animation: pw-hero-banner-kenburns 9s cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
}
@keyframes pw-hero-banner-kenburns{
  from{ transform: scale(1.07); }
  to{ transform: scale(1); }
}
/* Градиент только под текстом слева; правая часть кадра — чистое фото */
.pw-hero-banner__slide::before{
  content:'';
  position:absolute;
  inset:0;
  z-index: 1;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(
    100deg,
    rgba(251, 250, 248, 0.92) 0%,
    rgba(251, 250, 248, 0.78) 18%,
    rgba(251, 250, 248, 0.42) 34%,
    rgba(251, 250, 248, 0.08) 46%,
    transparent 54%
  );
}
.pw-hero-banner__slide.is-active::before{
  opacity: 1;
}
.pw-hero-banner__inner{
  position: relative;
  z-index: 2;
  opacity: 0;
  transform: translate3d(0, 22px, 0);
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.18s,
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.18s;
}
.pw-hero-banner__slide.is-active .pw-hero-banner__inner{
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.pw-hero-banner__slide:not(.is-active) .pw-hero-banner__inner{
  transition-duration: 0.5s;
  transition-delay: 0s;
}
.pw-hero-banner__content{
  max-width: 680px;
  color: var(--text);
}
.pw-hero-banner__content .pw-hero-copy{
  min-width: 0;
  color: var(--text);
}
.pw-hero-banner__content .pw-h1,
.pw-hero-banner__content h1{
  font-family: var(--font-sans);
  font-weight: 200;
  letter-spacing: -0.03em;
  line-height: 1.02;
  font-size: clamp(40px, 4.6vw, 66px);
  margin: 0 0 12px;
}
.pw-hero-banner__content .pw-h1 strong,
.pw-hero-banner__content h1 strong,
.pw-hero-banner__content .pw-h1 b,
.pw-hero-banner__content h1 b{
  font-weight: inherit;
}
.pw-hero-banner__content .pw-lead,
.pw-hero-banner__content p.pw-lead{
  font-weight: 200;
  font-size: clamp(16px, 1.35vw, 18px);
  line-height: 1.75;
  color: var(--muted);
  margin: 0;
  max-width: 62ch;
}
.pw-hero-banner__content .pw-eyebrow{
  margin: 0 0 10px;
}
.pw-hero-banner__content .pw-actions{
  margin-top: 18px;
}
.pw-hero-banner__btn{
  position:absolute;
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(250, 248, 246, 0.78);
  box-shadow: var(--shadow);
  transform: translateY(-50%);
  z-index: 4;
  cursor: pointer;
}
.pw-hero-banner__btn:hover{ background: rgba(250, 248, 246, 0.92); }
.pw-hero-banner__btn--prev{ left: 16px; }
.pw-hero-banner__btn--next{ right: 16px; }
.pw-hero-banner__btn::before{
  content:'';
  display:block;
  width: 10px;
  height: 10px;
  margin: 0 auto;
  border-right: 2px solid var(--text);
  border-bottom: 2px solid var(--text);
  transform: rotate(135deg);
}
.pw-hero-banner__btn--next::before{ transform: rotate(-45deg); }

.pw-hero-banner__dots{
  position:absolute;
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
  display:flex;
  gap: 10px;
  z-index: 4;
}
.pw-hero-banner__dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(27, 26, 23, 0.38);
  background: rgba(250, 248, 246, 0.55);
  cursor: pointer;
  transition:
    background 0.45s ease,
    border-color 0.45s ease,
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.pw-hero-banner__dot.is-active{
  background: rgba(178, 58, 72, 0.9);
  border-color: rgba(178, 58, 72, 0.9);
  transform: scale(1.15);
}

.pw-hero{
  padding: 90px 0 48px;
}
.pw-hero-inner{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 26px;
  align-items: center;
}
.pw-hero-copy{ min-width: 0 }
.pw-hero-media{
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: linear-gradient(135deg, rgba(178, 58, 72, 0.10), rgba(27, 26, 23, 0.05));
  box-shadow: var(--shadow);
  overflow: hidden;
}
.pw-hero-media img{ display:block; width:100%; height:auto }

.pw-cats{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 14px;
}
.pw-cat{
  position: relative;
  display:block;
  text-decoration:none;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.86);
  box-shadow: var(--shadow-sm);
  padding: 18px 18px;
  min-height: 112px;
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease;
}
.pw-cat--has-image{
  padding-right: 46%;
  min-height: 132px;
}
.pw-cat-media{
  position: absolute;
  top: 0;
  right: 0;
  width: 44%;
  height: 100%;
  pointer-events: none;
}
.pw-cat-media img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.pw-cat-media::after{
  content:'';
  position:absolute;
  inset:0;
  /* лёгкий градиент только у текста слева — без «замыливания» фото */
  background: linear-gradient(90deg, rgba(255,255,255,0.94) 0%, rgba(255,255,255,0.25) 28%, transparent 52%);
  pointer-events: none;
}
.pw-cat-copy{
  position: relative;
  z-index: 1;
  display: block;
}
.pw-cat:hover{
  transform: translateY(-3px);
  box-shadow: var(--shadow);
}
.pw-cat-title{
  display:block;
  font-weight: 600;
  letter-spacing: .02em;
}
.pw-cat-sub{
  display:block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 14px;
}

.pw-benefit-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}
.pw-benefit{
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.86);
  box-shadow: var(--shadow-sm);
  padding: 18px 18px;
  /* без hover-анимации — спокойный, «премиальный» блок */
}
.pw-benefit b{ display:block; font-weight: 500; letter-spacing: .02em; margin-bottom: 8px }
.pw-benefit p{ margin: 0; color: var(--muted); line-height: 1.7 }

.pw-newsletter{
  border-radius: var(--radius);
  border: 1px solid rgba(178, 58, 72, 0.18);
  background: linear-gradient(135deg, rgba(178, 58, 72, 0.08), rgba(255,255,255,0.65));
  box-shadow: var(--shadow);
  padding: 22px 22px;
  display:flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.pw-module-hint{
  border-radius: var(--radius);
  border: 1px dashed rgba(27, 26, 23, 0.22);
  background: rgba(255,255,255,0.60);
  padding: 16px 16px;
}
.pw-module-hint p{ margin: 0; color: var(--muted) }

/* ——— Product cards for home modules (latest/featured/bestseller) ——— */
.pw-products{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.pw-card{
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.92);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease;
}
.pw-card:hover{
  transform: translateY(-3px);
  box-shadow: var(--shadow);
}
.pw-card-media{
  display:block;
  aspect-ratio: 3 / 4;
  background: linear-gradient(135deg, rgba(27, 26, 23, 0.04), rgba(178, 58, 72, 0.06));
  overflow:hidden;
}
.pw-card-media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
}
.pw-card-body{
  padding: 14px 14px 16px;
}
.pw-card-title{
  display:block;
  text-decoration:none;
  color: var(--text);
  font-weight: 300;
  letter-spacing: .01em;
  line-height: 1.35;
  margin-bottom: 8px;
}
.pw-card-title:hover{ color: var(--accent) }
.pw-card-price{
  display:flex;
  align-items: baseline;
  gap: 10px;
}
.pw-price-new{
  color: var(--text);
  font-weight: 400;
  letter-spacing: .02em;
}
.pw-price-old{
  color: rgba(27, 26, 23, 0.45);
  text-decoration: line-through;
  font-size: 13px;
}

/* Главная: модули latest/bestseller/featured — в OC4 каждая ячейка это HTML product/thumb */
.pw-home .pw-products-module > .pw-product-slot{
  min-width: 0;
}
.pw-home .pw-products-module .product-thumb{
  height: 100%;
  margin: 0;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.92);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .18s ease, box-shadow .18s ease;
}
.pw-home .pw-products-module .product-thumb:hover{
  transform: translateY(-3px);
  box-shadow: var(--shadow);
}
.pw-home .pw-products-module .product-thumb .image{
  aspect-ratio: 3 / 4;
  background: linear-gradient(135deg, rgba(27, 26, 23, 0.04), rgba(178, 58, 72, 0.06));
  overflow: hidden;
}
.pw-home .pw-products-module .product-thumb .image a{
  display: block;
  height: 100%;
}
.pw-home .pw-products-module .product-thumb .image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pw-home .pw-products-module .product-thumb .content{
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 14px 14px 16px;
}
.pw-home .pw-products-module .product-thumb .description{
  margin: 0;
}
.pw-home .pw-products-module .product-thumb .description h4{
  font-family: var(--font-sans);
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.35;
  margin: 0 0 8px;
}
.pw-home .pw-products-module .product-thumb .description h4 a{
  color: var(--text);
  text-decoration: none;
}
.pw-home .pw-products-module .product-thumb .description h4 a:hover{
  color: var(--accent);
}
.pw-home .pw-products-module .product-thumb .description p{
  display: none;
}
.pw-home .pw-products-module .product-thumb .price{
  margin-top: auto;
}
.pw-home .pw-products-module .product-thumb .price .price-new{
  color: var(--text);
  font-weight: 400;
  letter-spacing: .02em;
}
.pw-home .pw-products-module .product-thumb .price .price-old{
  color: rgba(27, 26, 23, 0.45);
  text-decoration: line-through;
  font-size: 13px;
  margin-left: 6px;
}
.pw-home .pw-products-module .product-thumb .price-tax{
  display: none;
}
.pw-home .pw-products-module .product-thumb form{
  display: none;
}

/* Главная — лента «Новинки»: нативный горизонтальный скролл + scroll-snap */
.pw-ribbon--latest .pw-ribbon-scroll{
  display: flex;
  flex-direction: row;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: max(0px, env(safe-area-inset-left));
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scrollbar-gutter: stable;
  padding: 2px 2px 10px;
  outline: none;
}
.pw-ribbon--latest .pw-ribbon-scroll:focus-visible{
  box-shadow: 0 0 0 2px rgba(178, 58, 72, 0.35);
  border-radius: var(--radius-xs);
}
.pw-ribbon--latest .pw-ribbon-track{
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 14px;
  min-height: 0;
}
.pw-ribbon--latest .pw-ribbon-item{
  flex: 0 0 clamp(220px, 72vw, 280px);
  min-width: 0;
  scroll-snap-align: start;
}
.pw-ribbon--latest .pw-ribbon-sentinel{
  flex: 0 0 1px;
  width: 1px;
  align-self: stretch;
  pointer-events: none;
  opacity: 0;
}

/* Карусель «Новинки»: стрелки, градиенты по краям, точки */
.pw-carousel{
  position: relative;
  width: 100%;
}
.pw-carousel__viewport{
  position: relative;
  min-width: 0;
}
.pw-carousel__viewport::before,
.pw-carousel__viewport::after{
  content: "";
  position: absolute;
  top: 0;
  bottom: 10px;
  width: min(56px, 12vw);
  pointer-events: none;
  z-index: 2;
}
.pw-carousel__viewport::before{
  left: 0;
  background: linear-gradient(90deg, var(--bg) 0%, rgba(250, 249, 246, 0) 100%);
}
.pw-carousel__viewport::after{
  right: 0;
  background: linear-gradient(270deg, var(--bg) 0%, rgba(250, 249, 246, 0) 100%);
}
.pw-carousel__btn{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: var(--text);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-sm);
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}
.pw-carousel__btn:hover:not(:disabled){
  background: rgba(255, 255, 255, 0.98);
  box-shadow: var(--shadow);
  transform: translateY(-50%) scale(1.05);
}
.pw-carousel__btn:focus-visible{
  outline: none;
  box-shadow: 0 0 0 2px rgba(178, 58, 72, 0.45), var(--shadow-sm);
}
.pw-carousel__btn:active:not(:disabled){
  transform: translateY(-50%) scale(0.98);
}
.pw-carousel__btn:disabled{
  opacity: 0.32;
  cursor: not-allowed;
  transform: translateY(-50%);
  box-shadow: none;
}
.pw-carousel__btn--prev{ left: 4px; }
.pw-carousel__btn--next{ right: 4px; }
.pw-carousel__icon{
  display: block;
  flex-shrink: 0;
}
.pw-carousel__dots{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 20px 12px 2px;
  margin: 0;
}
.pw-carousel__dot{
  width: 9px;
  height: 9px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: rgba(27, 26, 23, 0.2);
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  flex-shrink: 0;
}
.pw-carousel__dot:hover{
  background: rgba(27, 26, 23, 0.38);
  transform: scale(1.2);
}
.pw-carousel__dot:focus-visible{
  outline: none;
  box-shadow: 0 0 0 2px rgba(178, 58, 72, 0.45);
}
.pw-carousel__dot.is-active{
  background: var(--accent);
  transform: scale(1.28);
  box-shadow: 0 0 0 5px rgba(178, 58, 72, 0.12);
}
.pw-ribbon--loading .pw-carousel__btn{
  pointer-events: none;
  opacity: 0.55;
}

@media (max-width: 520px){
  .pw-carousel__btn{
    width: 40px;
    height: 40px;
  }
  .pw-carousel__btn--prev{ left: 2px; }
  .pw-carousel__btn--next{ right: 2px; }
  .pw-carousel__viewport::before,
  .pw-carousel__viewport::after{
    width: 36px;
  }
}

@media (prefers-reduced-motion: reduce){
  .pw-ribbon--latest .pw-ribbon-scroll{
    scroll-behavior: auto;
  }
  .pw-carousel__btn,
  .pw-carousel__dot{
    transition: none;
  }
  .pw-hero-banner__bg-media{
    transition: opacity 0.35s ease;
  }
  .pw-hero-banner__slide.is-active .pw-hero-banner__bg-media{
    animation: none;
    transform: none;
  }
  .pw-hero-banner__inner{
    transition: opacity 0.35s ease;
    transform: none;
  }
  .pw-hero-banner__dot{
    transition: none;
    transform: none;
  }
}

@media (max-width: 980px){
  .pw-hero-banner__slide{
    min-height: min(72vh, 520px);
    padding: 64px 0 48px;
  }
  .pw-hero-banner__slide::before{
    background: linear-gradient(
      180deg,
      rgba(251, 250, 248, 0.94) 0%,
      rgba(251, 250, 248, 0.78) 38%,
      rgba(251, 250, 248, 0.22) 58%,
      transparent 72%
    );
  }
  .pw-hero-banner__btn{ display:none; }
  .pw-hero-banner__content{ max-width: 100%; }
  .pw-hero-banner__content .pw-h1,
  .pw-hero-banner__content h1{
    font-size: clamp(26px, 7.2vw, 36px);
    line-height: 1.08;
  }
  .pw-hero-banner__content .pw-lead,
  .pw-hero-banner__content p.pw-lead{
    font-size: 15px;
    line-height: 1.65;
  }
  .pw-hero-banner__dots{
    bottom: 14px;
  }
  .pw-hero-inner{ grid-template-columns: 1fr; }
  .pw-cats{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .pw-benefit-grid{ grid-template-columns: 1fr; }
  .pw-newsletter{ flex-direction: column; align-items: flex-start; }
  .pw-products{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 520px){
  .pw-cats{ grid-template-columns: 1fr; }
  .pw-products{ grid-template-columns: 1fr; }
}

/* ——— Category page (product/category + prewoman/catalog) ——— */
.pw-category-page{
  padding-bottom: 4rem;
}
.pw-category-layout{
  display: grid;
  grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  gap: 0.85rem 2rem;
  align-items: start;
}
.pw-category-aside{
  grid-column: 1;
  grid-row: 1 / -1;
  align-self: start;
  position: sticky;
  top: calc(5.25rem + 12px);
}
.pw-category-head{
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  min-width: 0;
}
.pw-category-main{
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
}
#product-category #content.pw-category-main,
.pw-category-page#product-category #content{
  padding-top: 0;
}
.pw-category-page #content.pw-category-main > .module:empty{
  display: none;
}
.pw-category-nav,
.pw-category-sidebar .list-group{
  background: rgba(255,255,255,0.86);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: 12px 10px;
}
.pw-category-sidebar .list-group{
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
}
.pw-category-nav-title{
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 10px;
  padding: 0 8px;
}
.pw-category-nav-list,
.pw-category-nav-sublist{
  list-style: none;
  margin: 0;
  padding: 0;
}
.pw-category-nav-sublist{
  margin: 4px 0 6px;
  padding-left: 10px;
  border-left: 1px solid var(--line);
}
.pw-category-nav-link{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 10px;
  border-radius: var(--radius-xs);
  color: var(--text);
  text-decoration: none;
  font-size: 14px;
  line-height: 1.35;
  transition: background .15s, color .15s;
}
.pw-category-nav-link--child{
  font-size: 13px;
  padding: 8px 10px;
}
.pw-category-nav-link:hover{
  background: rgba(178, 58, 72, 0.08);
  color: var(--accent);
}
.pw-category-nav-link.is-active{
  background: rgba(178, 58, 72, 0.12);
  color: var(--accent);
}
.pw-category-nav-count{
  flex-shrink: 0;
  font-size: 12px;
  color: var(--muted);
}
.pw-category-sidebar .list-group-item{
  border: 0;
  border-radius: var(--radius-xs);
  padding: 10px 10px;
  font-size: 14px;
  color: var(--text);
  background: transparent;
}
.pw-category-sidebar .list-group-item:hover{
  background: rgba(178, 58, 72, 0.08);
  color: var(--accent);
}
.pw-category-sidebar .list-group-item.active{
  background: rgba(178, 58, 72, 0.12);
  color: var(--accent);
  border-color: transparent;
}
.pw-category-sidebar .banner,
.pw-category-sidebar [class*="banner"]{
  display: none;
}
.pw-category-head .lp-catalog-h1{
  margin: 0 0 0.5rem;
  font-size: clamp(26px, 2.6vw, 40px);
}
.pw-category-lead{
  font-size: 14px;
  line-height: 1.6;
  max-width: 52rem;
}
.pw-hide-mobile{ display: inline; }

.pw-filter{
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.92);
  box-shadow: var(--shadow-sm);
  padding: 14px 14px;
}
.pw-filter-head{
  display:flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.pw-filter-title{
  font-weight: 500;
  letter-spacing: .02em;
}
.pw-filter-reset{
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 6px 8px;
  border-radius: 10px;
  color: var(--muted);
  font-size: 12px;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.pw-filter-reset:hover{
  color: var(--text);
  background: rgba(27, 26, 23, 0.04);
}
.pw-filter-group{
  border-top: 1px solid var(--line);
  padding-top: 10px;
  margin-top: 10px;
}
.pw-filter-summary{
  cursor: pointer;
  list-style: none;
  font-weight: 400;
  letter-spacing: .02em;
  color: var(--text);
  padding: 6px 0;
}
.pw-filter-summary::-webkit-details-marker{ display:none; }
.pw-filter-items{
  display: grid;
  gap: 8px;
  padding: 8px 0 2px;
}
.pw-filter-item{
  display:flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: rgba(27, 26, 23, 0.86);
  cursor: pointer;
}
.pw-filter-item input{
  width: 16px;
  height: 16px;
  accent-color: var(--accent);
}
.pw-filter-actions{
  margin-top: 12px;
  display:flex;
}
.pw-filter-actions .pw-btn{
  width: 100%;
}

@media (max-width: 980px){
  .pw-category-layout{
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  .pw-category-aside{
    grid-column: 1;
    grid-row: auto;
    position: static;
    top: auto;
  }
  .pw-category-head{
    grid-column: 1;
    grid-row: auto;
  }
  .pw-category-main{
    grid-column: 1;
    grid-row: auto;
  }
  .pw-hide-mobile{ display:none; }
}

/* ——— Product page ——— */
.pw-product-page{
  padding-top: 0;
  padding-bottom: 4rem;
}

/* ——— Cart / Checkout ——— */
.pw-pagehead{ margin: 8px 0 18px; }
.pw-muted{ color: rgba(27, 26, 23, 0.52); }
.pw-h3{ font-size: 18px; font-weight: 500; margin: 0 0 10px; }
.pw-alert{
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.92);
  border-radius: var(--radius);
  padding: 12px 14px;
  margin: 10px 0;
}
.pw-alert-info{ border-color: rgba(2, 132, 199, 0.22); }
.pw-alert-success{ border-color: rgba(34, 197, 94, 0.22); }
.pw-alert-danger{ border-color: rgba(244, 63, 94, 0.22); }

/* AJAX alerts from OpenCart common.js (#alert) */
.pw-alert-stack{
  position: fixed;
  top: 12px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2100;
  width: min(520px, calc(100vw - 24px));
  display: flex;
  flex-direction: column;
  gap: 8px;
  pointer-events: none;
}
.pw-alert-stack .alert{
  pointer-events: auto;
  margin: 0;
  border: 1px solid rgba(244, 63, 94, 0.22);
  background: rgba(255, 255, 255, 0.96);
  border-radius: var(--radius, 10px);
  padding: 12px 40px 12px 14px;
  box-shadow: 0 10px 30px rgba(27, 26, 23, 0.12);
  font-family: Manrope, sans-serif;
  font-size: 14px;
  line-height: 1.4;
  color: #1b1a17;
  position: relative;
}
.pw-alert-stack .alert-success{
  border-color: rgba(34, 197, 94, 0.28);
}
.pw-alert-stack .alert .btn-close{
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  margin: 0;
  padding: 0.35rem;
  width: 0.7em;
  height: 0.7em;
  box-sizing: content-box;
  opacity: 0.45;
}
.pw-alert-stack .alert .btn-close:hover{
  opacity: 0.75;
}

/* Toast (product add-to-cart feedback) */
.pw-toast{
  position: fixed;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%) translateY(10px);
  z-index: 2000;
  width: min(520px, calc(100vw - 24px));
  padding: 12px 14px;
  border-radius: var(--radius);
  border: 1px solid rgba(27, 26, 23, 0.12);
  background: rgba(255,255,255,0.96);
  box-shadow: var(--shadow-md);
  color: rgba(27, 26, 23, 0.92);
  font-size: 14px;
  line-height: 1.35;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.18s ease;
}
.pw-toast.is-open{
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}
.pw-toast__link{
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 2px;
  white-space: nowrap;
}
.pw-add.is-success{
  background: rgba(34, 197, 94, 0.12) !important;
  border-color: rgba(34, 197, 94, 0.22) !important;
}

.pw-cart-page.lp-catalog-page .lp-page-top{
  padding-top: calc(5.25rem + 0.35rem);
  padding-bottom: 0;
}
.pw-cart-page .lp-page-top .lp-breadcrumb-list{
  margin-bottom: 0.5rem;
}
.pw-cart-page > .lp-container{
  padding-top: 0;
}
.pw-cart-page .pw-pagehead{
  margin: 0 0 var(--lp-catalog-title-gap, 1.25rem);
}
/* OpenCart #content даёт второй отступ под шапку — на корзине он лишний */
.pw-cart-page #content.pw-cart-content{
  padding-top: 0;
  margin-top: 0;
}
.pw-cart-page #content.pw-cart-content > .module:empty{
  display: none;
  margin: 0;
  padding: 0;
}
.pw-cart-page .pw-cart-shell{
  margin-top: 0;
  gap: 0;
}
.pw-cart-page .pw-cart-shell > #column-left:empty,
.pw-cart-page .pw-cart-shell > aside:empty{
  display: none;
}
.pw-cart-page #shopping-cart.pw-cart-card{
  margin-top: 0;
  padding-top: 10px;
}
.pw-cart-page,
.pw-checkout-page{
  padding-top: 0;
  padding-bottom: 4rem;
}
.pw-cart-shell,
.pw-checkout-shell{
  display:grid;
  grid-template-columns: 1fr;
}
.pw-cart-card{
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.92);
  box-shadow: var(--shadow-sm);
  padding: 14px;
}
.pw-cart-grid{
  display:grid;
  grid-template-columns: 1fr 340px;
  gap: 18px;
  align-items: start;
}
.pw-cart-items{ display:flex; flex-direction:column; gap: 12px; }
.pw-cart-item{
  display:grid;
  grid-template-columns: 84px 1fr 168px 140px;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(27, 26, 23, 0.10);
  border-radius: var(--radius);
  background: rgba(255,255,255,0.78);
}
.pw-cart-item-img img{
  width: 84px;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  display:block;
  border-radius: var(--radius-xs);
  image-rendering: auto;
}
.pw-cart-item-title a{ color: inherit; text-decoration:none; }
.pw-cart-item-title a:hover{ text-decoration: underline; }
.pw-cart-item-meta{ font-size: 13px; margin-top: 6px; }
.pw-cart-item-oos{ color: rgb(244, 63, 94); font-weight: 600; margin-left: 6px; }
.pw-cart-qtyform{
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: flex-start;
}
.pw-cart-qty{
  display: flex;
  flex: 0 0 auto;
  width: 134px;
  height: 42px;
  border: 1px solid rgba(27, 26, 23, 0.12);
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.pw-cart-qty:focus-within{
  border-color: rgba(178, 58, 72, 0.35);
  box-shadow: 0 0 0 3px rgba(178, 58, 72, 0.08);
}
.pw-cart-qty__btn{
  flex: 0 0 42px;
  width: 42px;
  min-width: 42px;
  max-width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  border: 0;
  border-radius: 0;
  appearance: none;
  -webkit-appearance: none;
  background: rgba(251, 250, 248, 0.9);
  color: rgba(27, 26, 23, 0.72);
  cursor: pointer;
  transition: background 0.16s ease, color 0.16s ease;
}
.pw-cart-qty__btn:hover{
  background: rgba(178, 58, 72, 0.08);
  color: var(--accent);
}
.pw-cart-qty__btn:active{
  background: rgba(178, 58, 72, 0.14);
}
.pw-cart-qty__btn:disabled{
  opacity: 0.38;
  cursor: not-allowed;
}
.pw-cart-qty__ico{
  display: block;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  pointer-events: none;
}
.pw-cart-qty__input{
  flex: 0 0 50px;
  width: 50px;
  min-width: 50px;
  max-width: 50px;
  height: 42px;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  border: 0;
  border-left: 1px solid rgba(27, 26, 23, 0.08);
  border-right: 1px solid rgba(27, 26, 23, 0.08);
  background: #fff;
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  color: #1a1a2e;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
}
.pw-cart-remove{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  padding: 0;
  border: 1px solid rgba(244, 63, 94, 0.22);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.95);
  color: rgb(244, 63, 94);
  cursor: pointer;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.12s ease,
    box-shadow 0.18s ease;
}
.pw-cart-remove__ico{
  display: block;
  pointer-events: none;
  transition: transform 0.18s ease;
}
.pw-cart-remove:hover{
  background: rgba(244, 63, 94, 0.1);
  border-color: rgba(244, 63, 94, 0.45);
  box-shadow: 0 4px 14px rgba(244, 63, 94, 0.12);
}
.pw-cart-remove:hover .pw-cart-remove__ico{
  transform: scale(1.08) translateY(-1px);
}
.pw-cart-remove:active{
  transform: scale(0.94);
  background: rgba(244, 63, 94, 0.16);
}
.pw-cart-qtyform.is-busy .pw-cart-qty,
.pw-cart-qtyform.is-busy .pw-cart-remove{
  opacity: 0.72;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce){
  .pw-cart-qty__btn,
  .pw-cart-qty__ico,
  .pw-cart-remove,
  .pw-cart-remove__ico,
  .pw-cart-qty{
    transition: none;
  }
  .pw-cart-qty__btn:active,
  .pw-cart-remove:active{
    transform: none;
  }
}
.pw-cart-item-prices{ text-align:right; }
.pw-cart-item-price{ font-size: 13px; color: rgba(27, 26, 23, 0.52); }
.pw-cart-item-total{ font-size: 16px; font-weight: 500; }

.pw-cart-summary-card{
  border-radius: var(--radius);
  border: 1px solid rgba(27, 26, 23, 0.10);
  background: rgba(255,255,255,0.82);
  padding: 14px;
  position: sticky;
  top: 92px;
}
.pw-cart-summary-title{ font-weight: 600; margin-bottom: 10px; }
.pw-cart-total-row{ display:flex; justify-content:space-between; gap: 10px; padding: 8px 0; border-bottom: 1px dashed rgba(27,26,23,0.12); }
.pw-cart-total-row:last-child{ border-bottom: none; }
.pw-cart-total-row--grand{
  justify-content: flex-end;
  padding: 4px 0 2px;
  border-bottom: none;
}
.pw-cart-total-row--grand .pw-cart-total-v{
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.02em;
}
.pw-cart-total-k{ color: rgba(27, 26, 23, 0.62); }
.pw-cart-total-v{ font-weight: 600; }
.pw-cart-summary-hint{ margin-top: 10px; font-size: 13px; }

.pw-sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.pw-cart-next{
  margin-top: 16px;
}
.pw-cart-next-head{
  margin-bottom: 14px;
}
.pw-cart-next-title{
  font-size: 18px;
  font-weight: 500;
  margin: 0 0 4px;
  letter-spacing: 0.01em;
}
.pw-cart-next-lead{
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: rgba(27, 26, 23, 0.52);
  max-width: 40rem;
}
.pw-cart-extras{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}
.pw-cart-extra{
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 14px 16px;
  border-radius: var(--radius);
  border: 1px solid rgba(27, 26, 23, 0.10);
  background: rgba(255, 255, 255, 0.88);
  transition: border-color 0.15s ease, background 0.15s ease;
}
.pw-cart-extra:hover{
  border-color: rgba(178, 58, 72, 0.28);
  background: #fff;
}
.pw-cart-extra__icon-wrap{
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 14px;
  background: rgba(178, 58, 72, 0.08);
  color: var(--accent);
}
.pw-cart-extra--voucher .pw-cart-extra__icon-wrap{
  background: rgba(178, 58, 72, 0.06);
}
.pw-cart-extra__icon{
  width: 40px;
  height: 40px;
}
.pw-cart-extra__body{
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pw-cart-extra__head{
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.pw-cart-extra__title{
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: #1a1a2e;
}
.pw-cart-extra__text{
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: rgba(27, 26, 23, 0.55);
}
.pw-cart-extra__form{
  margin: 0;
}
.pw-cart-extra__row{
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8px;
}
.pw-cart-extra__input{
  flex: 1 1 140px;
  min-width: 0;
  min-height: 42px;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid rgba(27, 26, 23, 0.14);
  background: #fff;
  font-size: 15px;
  color: #1a1a2e;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.pw-cart-extra__input::placeholder{
  color: rgba(27, 26, 23, 0.38);
}
.pw-cart-extra__input:focus{
  border-color: rgba(178, 58, 72, 0.45);
  box-shadow: 0 0 0 3px rgba(178, 58, 72, 0.10);
  outline: none;
}
.pw-cart-extra__submit{
  flex: 0 0 auto;
  min-height: 42px;
  padding-inline: 18px;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
}
.pw-checkout-page .modal,
.pw-shipping-modal.modal,
#modal-shipping.modal,
#modal-payment.modal,
.pw-checkout-modal.modal{
  z-index: 1060;
}
#modal-cdek-pvz.modal,
.pw-cdek-pvz-modal.modal{
  z-index: 1100 !important;
}
.modal-backdrop{
  z-index: 1050;
}
body.modal-open:has(#modal-cdek-pvz.show) .modal-backdrop{
  z-index: 1090;
}
.pw-shipping-modal .modal-content,
.pw-checkout-modal .modal-content{
  border-radius: var(--radius);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}
.pw-shipping-modal .modal-header,
.pw-checkout-modal .modal-header{
  border-bottom: 1px solid rgba(27, 26, 23, 0.10);
}
.pw-shipping-modal .modal-title,
.pw-checkout-modal .modal-title{
  font-size: 18px;
  font-weight: 500;
}
.pw-cdek-pvz-modal .modal-content{
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}
.pw-cdek-pvz-modal .modal-header,
.pw-cdek-pvz-modal .modal-footer{
  border-color: var(--line);
  background: var(--surface);
}
.pw-cdek-pvz-modal .modal-header{
  padding: 14px 16px;
}
.pw-cdek-pvz-modal .modal-title{
  color: var(--text);
  font-size: 18px;
  font-weight: 500;
}
.pw-cdek-pvz-modal .modal-body{
  padding: 16px;
}
.pw-cdek-pvz-modal .modal-footer{
  padding: 14px 16px;
}
.pw-cdek-pvz-modal .list-group{
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
}
.pw-cdek-pvz-modal .list-group-item{
  border-color: var(--line);
  background: var(--surface);
  color: var(--text);
  padding: 12px 14px;
  text-align: left;
  line-height: 1.45;
}
.pw-cdek-pvz-modal .list-group-item:hover,
.pw-cdek-pvz-modal .list-group-item:focus{
  background: var(--surface-2);
  color: var(--text);
}
.pw-cdek-pvz-modal .list-group-item strong{
  font-weight: 500;
}
.pw-cdek-pvz-modal .list-group-item .text-muted{
  color: var(--muted) !important;
}
.pw-cdek-pvz-modal .list-group-item.active,
.pw-cdek-pvz-modal .list-group-item.active:hover,
.pw-cdek-pvz-modal .list-group-item.active:focus{
  border-color: var(--accent);
  background: var(--accent);
  color: #fff;
}
.pw-cdek-pvz-modal .list-group-item.active .text-muted{
  color: rgba(255,255,255,0.78) !important;
}
.pw-cdek-pvz-modal #cdek-pvz-confirm{
  border-color: var(--accent);
  background: var(--accent);
  color: #fff;
  font-family: var(--font-sans);
}
.pw-cdek-pvz-modal #cdek-pvz-confirm:hover:not(:disabled),
.pw-cdek-pvz-modal #cdek-pvz-confirm:focus-visible:not(:disabled){
  border-color: #982f3c;
  background: #982f3c;
  color: #fff;
}
.pw-cdek-pvz-modal #cdek-pvz-confirm:disabled{
  border-color: var(--line);
  background: var(--surface-2);
  color: var(--muted);
}
@media (max-width: 768px){
  .pw-cart-extras{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px){
  .pw-cart-extra{
    flex-direction: column;
    gap: 12px;
  }
  .pw-cart-extra__icon-wrap{
    width: 48px;
    height: 48px;
  }
  .pw-cart-extra__icon{
    width: 32px;
    height: 32px;
  }
  .pw-cart-extra__submit{
    width: 100%;
  }
}
.pw-cart-actions{
  display:flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  align-items: center;
  margin-top: 16px;
  padding: 14px 16px;
}
.pw-cart-actions .pw-btn{
  min-height: 46px;
  padding: 0 22px;
}
@media (max-width: 520px){
  .pw-cart-actions{
    flex-direction: column;
    align-items: stretch;
  }
  .pw-cart-actions .pw-btn{
    width: 100%;
    justify-content: center;
  }
}

.pw-empty{
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.92);
  box-shadow: var(--shadow-sm);
  padding: 22px;
  text-align:center;
}
.pw-empty-title{ font-size: 18px; font-weight: 600; margin-bottom: 6px; }
.pw-empty-sub{ margin: 0 0 4px; font-size: 15px; line-height: 1.55; }
.pw-empty-actions{ margin-top: 14px; }

/* ——— Сравнение товаров ——— */
.pw-compare-page{
  padding-bottom: 4rem;
}
.pw-compare-page .pw-pagehead{
  margin-bottom: 1.25rem;
}
.pw-compare-wrap{
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255,255,255,0.92);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}
.pw-compare-scroll{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.pw-compare-table{
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  font-size: 14px;
  line-height: 1.45;
}
.pw-compare-table th,
.pw-compare-table td{
  border: 1px solid var(--line);
  padding: 12px 14px;
  vertical-align: top;
  text-align: left;
}
.pw-compare-table thead th{
  background: rgba(248, 246, 243, 0.9);
  font-weight: 500;
}
.pw-compare-table-label{
  width: 180px;
  min-width: 140px;
  color: var(--muted);
  font-weight: 400;
  background: rgba(255,255,255,0.72);
}
.pw-compare-table-group{
  background: rgba(248, 246, 243, 0.95);
  font-weight: 500;
  font-size: 15px;
  letter-spacing: .02em;
}
.pw-compare-table-product{
  min-width: 160px;
  text-align: center;
}
.pw-compare-product-name{
  color: var(--text);
  text-decoration: none;
  font-weight: 500;
  line-height: 1.35;
}
.pw-compare-product-name:hover{
  color: var(--accent);
}
.pw-compare-table-cell--image{
  text-align: center;
}
.pw-compare-thumb{
  display: inline-block;
  border-radius: var(--radius-xs);
  overflow: hidden;
  background: var(--surface-2);
  max-width: 120px;
}
.pw-compare-thumb img{
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.pw-compare-price{
  display: block;
  font-weight: 500;
}
.pw-compare-price--special{
  color: var(--accent);
}
.pw-compare-price--old{
  margin-top: 4px;
  font-size: 13px;
  font-weight: 400;
  color: rgba(27, 26, 23, 0.45);
  text-decoration: line-through;
}
.pw-compare-description{
  font-size: 13px;
  color: rgba(27, 26, 23, 0.78);
  line-height: 1.55;
}
.pw-compare-description p{
  margin: 0 0 .5rem;
}
.pw-compare-description p:last-child{
  margin-bottom: 0;
}
.pw-compare-rating .pw-compare-stars{
  color: var(--accent);
  margin-bottom: 4px;
  letter-spacing: 2px;
}
.pw-compare-table-cell--actions{
  text-align: center;
}
.pw-compare-actions{
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}
.pw-compare-empty{
  max-width: min(480px, 100%);
  margin-top: .5rem;
}
.pw-btn-sm{
  padding: 10px 12px;
  font-size: 13px;
}

.pw-checkout-grid{
  display:grid;
  grid-template-columns: 1fr 420px;
  gap: 18px;
  align-items: start;
}
.pw-checkout-page .pw-panel{
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.92);
  box-shadow: var(--shadow-sm);
  padding: 14px;
  margin-bottom: 14px;
}
.pw-checkout-page .pw-pagehead--checkout{
  margin: 0 0 var(--lp-catalog-title-gap, 1.25rem);
}
.pw-checkout-page .pw-checkout-lead{
  margin: 6px 0 0;
  max-width: 52ch;
}
.pw-checkout-page #content.pw-checkout-content--main{
  padding-top: 0;
  margin-top: 0;
}
.pw-checkout-page .pw-checkout-shell{
  margin-top: 0;
  gap: 0;
}
.pw-checkout-page .pw-checkout-shell > #column-left:empty,
.pw-checkout-page .pw-checkout-shell > aside:empty{
  display: none;
}
.pw-checkout-page #checkout-confirm.pw-panel{
  position: sticky;
  top: 92px;
}
.pw-checkout-page form > p:first-child{
  margin: 0 0 14px;
  font-size: 14px;
  color: rgba(27, 26, 23, 0.62);
}
.pw-checkout-page form > p:first-child a{
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.pw-checkout-page fieldset{
  border: 0;
  margin: 0;
  padding: 0;
  min-width: 0;
}
.pw-checkout-page legend{
  float: none;
  width: auto;
  padding: 0;
  border: 0;
}
.pw-checkout-fieldset{
  margin: 0 0 1.25rem;
  padding: 0 0 1.25rem;
  border-bottom: 1px solid var(--line);
}
.pw-checkout-fieldset:last-child,
.pw-checkout-form > .pw-checkout-fieldset:last-of-type{
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}
.pw-checkout-fieldset__title,
.pw-checkout-section__title{
  display: block;
  font-family: var(--font-sans);
  font-size: 1.05rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  margin: 0 0 1rem;
  padding: 0;
  color: rgba(27, 26, 23, 0.92);
}
.pw-checkout-section{
  margin: 0;
  padding: 0;
}
.pw-checkout-section + .pw-checkout-section{
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--line);
}
.pw-panel--checkout-side .pw-checkout-section + .pw-checkout-section{
  margin-top: 1rem;
  padding-top: 1rem;
}
.pw-checkout-section--comment .pw-checkout-section__title{
  margin-bottom: 0.65rem;
}
.pw-checkout-address-new{
  margin-top: 0.75rem;
}
.pw-checkout-form .row.row-cols-md-2{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 14px;
  margin: 0;
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
}
.pw-checkout-form .row.row-cols-md-2 > .col{
  width: auto;
  max-width: none;
  flex: none;
  padding: 0;
  margin-bottom: 12px;
}
@media (max-width: 767px){
  .pw-checkout-form .row.row-cols-md-2{
    grid-template-columns: 1fr;
  }
}
.pw-checkout-form .form-label{
  display: block;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.03em;
  color: rgba(27, 26, 23, 0.66);
  margin-bottom: 0.45rem;
}
.pw-checkout-form .form-control,
.pw-checkout-form .form-select{
  width: 100%;
  font-family: var(--font-sans);
  font-weight: 300;
  font-size: 15px;
  line-height: 1.35;
  min-height: 44px;
  padding: 0.65rem 0.9rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.78);
  color: var(--text);
  box-shadow: none;
}
.pw-checkout-form textarea.form-control{
  min-height: 88px;
  padding-top: 0.75rem;
}
.pw-checkout-form .form-control:focus,
.pw-checkout-form .form-select:focus{
  outline: none;
  border-color: rgba(178, 58, 72, 0.38);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 0 0 3px rgba(178, 58, 72, 0.12);
}
.pw-checkout-form .input-group{
  display: flex;
  align-items: stretch;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  background: rgba(255, 255, 255, 0.78);
}
.pw-checkout-form .input-group .form-control{
  border: 0;
  border-radius: 0;
  background: transparent;
  flex: 1 1 auto;
  min-width: 0;
}
.pw-checkout-form .input-group-text{
  border: 0;
  border-left: 1px solid var(--line);
  border-radius: 0;
  background: rgba(251, 250, 248, 0.95);
  color: rgba(27, 26, 23, 0.45);
  padding: 0 0.85rem;
}
.pw-checkout-form .form-check-inline{ margin-right: 14px; }
.pw-checkout-form .invalid-feedback{
  display: block;
  margin-top: 6px;
  font-size: 13px;
  color: #b23a48;
}
.pw-checkout-checks{
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0 0 0.75rem;
}
.pw-checkout-checks--radio{
  margin-bottom: 1rem;
}
.pw-checkout-checks--agree{
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}
.pw-checkout-checks .pw-form-check span{
  font-size: 13px;
  line-height: 1.45;
  color: rgba(27, 26, 23, 0.72);
}
.pw-checkout-method{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.78);
}
.pw-checkout-method__lead{
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1 1 auto;
  min-width: 0;
}
.pw-checkout-method__icon{
  flex: 0 0 auto;
  display: flex;
  color: var(--accent);
  opacity: 0.9;
}
.pw-checkout-method__value{
  flex: 1 1 auto;
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--text);
  box-shadow: none;
}
.pw-checkout-method__value:focus{
  outline: none;
}
.pw-checkout-method__value::placeholder{
  color: rgba(27, 26, 23, 0.42);
}
.pw-checkout-method__value.is-invalid{
  color: #b23a48;
}
.pw-checkout-method__choose{
  flex: 0 0 auto;
  white-space: nowrap;
}
.pw-checkout-method + .invalid-feedback{
  margin-top: 6px;
}
.pw-checkout-comment{
  min-height: 80px;
  resize: vertical;
  width: 100%;
  font-family: var(--font-sans);
  font-weight: 300;
  font-size: 15px;
  padding: 0.65rem 0.9rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.78);
}
.pw-checkout-comment:focus{
  outline: none;
  border-color: rgba(178, 58, 72, 0.38);
  box-shadow: 0 0 0 3px rgba(178, 58, 72, 0.12);
}
.pw-checkout-submit{
  margin-top: 1rem;
  align-self: flex-start;
}
.pw-panel--checkout-side #checkout-shipping-method + #checkout-payment-method{
  margin-top: 1rem;
}
.pw-checkout-summary__title{
  font-size: 16px;
  font-weight: 500;
  margin: 0 0 12px;
}
.pw-checkout-summary-items{
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(27, 26, 23, 0.10);
}
.pw-checkout-summary-item{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 6px 12px;
  align-items: start;
  font-size: 14px;
}
.pw-checkout-summary-item__name{
  grid-column: 1;
  line-height: 1.35;
}
.pw-checkout-summary-item__name a{
  color: inherit;
  text-decoration: none;
}
.pw-checkout-summary-item__name a:hover{ text-decoration: underline; }
.pw-checkout-summary-item__qty{
  color: rgba(27, 26, 23, 0.52);
  margin-right: 4px;
}
.pw-checkout-summary-item__opts{
  grid-column: 1;
  font-size: 12px;
  color: rgba(27, 26, 23, 0.52);
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
}
.pw-checkout-summary-item__total{
  grid-column: 2;
  grid-row: 1 / span 2;
  font-weight: 500;
  white-space: nowrap;
}
.pw-checkout-summary-totals{ display: flex; flex-direction: column; gap: 0; }
.pw-checkout-summary-total{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px dashed rgba(27, 26, 23, 0.12);
  font-size: 14px;
}
.pw-checkout-summary-total:last-child{ border-bottom: none; }
.pw-checkout-summary-total__k{ color: rgba(27, 26, 23, 0.62); }
.pw-checkout-summary-total__v{ font-weight: 600; }
.pw-checkout-summary-total--grand{
  justify-content: flex-end;
  padding-top: 4px;
  border-bottom: none;
}
.pw-checkout-summary-total--grand .pw-checkout-summary-total__v{
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.02em;
}
.pw-checkout-payment{ margin-top: 14px; }
.pw-checkout-confirm-btn{
  width: 100%;
  justify-content: center;
}
/* Stock OpenCart payment buttons (btn-primary) → PreWoman soft primary */
.pw-checkout-page .btn.btn-primary,
.pw-checkout-page #button-confirm.btn-primary{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border-radius: var(--radius-xs);
  padding: 12px 18px;
  border: 1px solid rgba(178, 58, 72, 0.22);
  color: var(--text) !important;
  background: rgba(178, 58, 72, 0.10) !important;
  font-weight: 500;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: none;
}
.pw-checkout-page .btn.btn-primary:hover,
.pw-checkout-page .btn.btn-primary:focus,
.pw-checkout-page #button-confirm.btn-primary:hover{
  background: rgba(178, 58, 72, 0.14) !important;
  color: var(--text) !important;
  border-color: rgba(178, 58, 72, 0.28);
}
.pw-checkout-page .btn.btn-primary:disabled,
.pw-checkout-page #button-confirm:disabled{
  opacity: 0.55;
  transform: none;
  box-shadow: none;
}
.pw-checkout-page .modal-content{
  border-radius: var(--radius);
  border-color: rgba(27, 26, 23, 0.10);
  box-shadow: var(--shadow-md);
}
.pw-checkout-page .modal-header{
  border-bottom-color: rgba(27, 26, 23, 0.08);
}
.pw-checkout-page .modal-body .form-check{
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid transparent;
  transition: border-color 0.16s ease, background 0.16s ease;
}
.pw-checkout-page .modal-body .form-check:has(input:checked){
  border-color: rgba(178, 58, 72, 0.22);
  background: rgba(178, 58, 72, 0.06);
}

/* Make stock OpenCart/Bootstrap controls match theme (cart/checkout only) */
.pw-cart-page .btn,
.pw-checkout-page .btn{
  border-radius: var(--radius);
}
.pw-cart-page .btn-primary{
  background: rgba(178, 58, 72, 0.10);
  border-color: rgba(178, 58, 72, 0.22);
  color: var(--text);
}
.pw-cart-page .btn-light,
.pw-checkout-page .btn-light{
  background: rgba(255,255,255,0.92);
  border-color: rgba(27, 26, 23, 0.12);
  color: var(--text);
}
.pw-cart-page .form-control,
.pw-cart-page .form-select{
  border-radius: var(--radius);
  border-color: rgba(27, 26, 23, 0.14);
  background: rgba(255,255,255,0.96);
}
.pw-cart-page .form-control:focus,
.pw-cart-page .form-select:focus{
  border-color: rgba(178, 58, 72, 0.45);
  box-shadow: 0 0 0 4px rgba(178, 58, 72, 0.10);
}
.pw-checkout-page .accordion-button{
  border-radius: var(--radius);
}
.pw-checkout-page .table{ margin-bottom: 0; }
.pw-checkout-page .table td,
.pw-checkout-page .table th{ border-color: rgba(27,26,23,0.10); }

@media (max-width: 1024px){
  .pw-cart-grid{ grid-template-columns: 1fr; }
  .pw-cart-summary-card{ position: static; top:auto; }
  .pw-checkout-grid{ grid-template-columns: 1fr; }
  .pw-checkout-page #checkout-confirm.pw-panel{ position: static; top: auto; }
  .pw-checkout-method{
    flex-direction: column;
    align-items: stretch;
  }
  .pw-checkout-method__choose{
    width: 100%;
    justify-content: center;
  }
  .pw-cart-item{ grid-template-columns: 84px 1fr; }
  .pw-cart-item-qty{ grid-column: 1 / -1; }
  .pw-cart-item-prices{ grid-column: 1 / -1; text-align:left; display:flex; gap: 10px; justify-content: space-between; }
}

/* Header cart dropdown */
.pw-hcart{ position: relative; }
a.pw-hcart-btn,
.pw-hcart-btn{
  display:flex;
  align-items:center;
  gap: 8px;
  border: 1px solid rgba(27, 26, 23, 0.12);
  background: rgba(255,255,255,0.75);
  padding: 8px 12px;
  border-radius: 999px;
  cursor:pointer;
  text-decoration: none;
  color: inherit;
}
a.pw-hcart-btn:hover{
  background: rgba(255,255,255,0.92);
  color: inherit;
}
.pw-hcart-menu{
  display: block;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 100%;
  min-width: 320px;
  z-index: 1200;
  border-radius: var(--radius);
  border: 1px solid rgba(27,26,23,0.10);
  background: rgba(255,255,255,0.96);
  box-shadow: 0 18px 50px rgba(0,0,0,0.18);
  padding: 8px;
  padding-top: 10px;
  margin: 0;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.16s ease, visibility 0.16s ease;
  transition-delay: 0.22s;
}
/* Невидимый «мост» между кнопкой и меню — курсор не теряет hover */
.pw-hcart::before{
  content: '';
  position: absolute;
  left: -8px;
  right: -8px;
  top: 100%;
  height: 12px;
  display: none;
}
@media (hover: hover) and (pointer: fine){
  .pw-hcart:hover::before,
  .pw-hcart:focus-within::before{
    display: block;
  }
  .pw-hcart:hover .pw-hcart-menu,
  .pw-hcart:focus-within .pw-hcart-menu{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
  }
}
.pw-hcart-row{ display:flex; gap: 10px; align-items:center; padding: 8px; border-bottom: 1px solid rgba(27,26,23,0.08); }
.pw-hcart-row:last-child{ border-bottom:none; }
.pw-hcart-thumb img{ width: 44px; height: 58px; object-fit: cover; border-radius: 10px; display:block; }
.pw-hcart-name{ color: inherit; text-decoration:none; font-size: 14px; }
.pw-hcart-meta{ font-size: 12px; }
.pw-hcart-remove{
  width: 34px;
  height: 34px;
  border-radius: 10px;
  border: 1px solid rgba(244, 63, 94, 0.25);
  background: rgba(255,255,255,0.92);
  color: rgb(244, 63, 94);
  cursor:pointer;
}
.pw-hcart-totals{ padding: 10px 10px 6px; }
.pw-hcart-total-row{ display:flex; justify-content:space-between; gap: 10px; padding: 6px 0; }
.pw-hcart-actions{ display:flex; justify-content:space-between; gap: 10px; padding: 10px; }
.pw-product-grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 28px;
  align-items: start;
}
.pw-gallery{
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.92);
  box-shadow: var(--shadow-sm);
  overflow:hidden;
}
.pw-gallery-main{
  aspect-ratio: 3 / 4;
  background: linear-gradient(135deg, rgba(27, 26, 23, 0.04), rgba(178, 58, 72, 0.06));
  position: relative;
  isolation: isolate;
}
.pw-gallery-main-link{
  position: absolute;
  inset: 0;
  display:block;
  width:100%;
  height:100%;
  border: 0;
  outline: none;
  pointer-events: none;
}
.pw-gallery-main-link:hover,
.pw-gallery-main-link:focus,
.pw-gallery-main-link:focus-visible{
  outline: none;
}
.pw-gallery-main-link:focus-visible{
  box-shadow: inset 0 0 0 2px rgba(178, 58, 72, 0.35);
}
.pw-swipe{
  position: relative;
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
  touch-action: pan-y pinch-zoom;
  pointer-events: auto;
}
.pw-swipe-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
  border: 0;
  outline: none;
  pointer-events: none;
  will-change: transform, opacity;
  transform: translateX(0);
}
/* Пустой src у слоя «next» — иначе браузер рисует рамку битой картинки на весь блок поверх основного фото */
.pw-swipe-img.is-next:not([src]),
.pw-swipe-img.is-next[src=""]{
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.pw-swipe-img.is-next{ transform: translateX(0); }
.pw-gallery-nav{
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 5;
  width: 56px;
  border-radius: 0;
  border: none;
  background: rgba(27, 26, 23, 0.06);
  color: rgba(255,255,255,0.92);
  cursor: pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 0;
  backdrop-filter: blur(6px);
  opacity: 0.18;
  transition: opacity .18s ease, background .18s ease;
  pointer-events: auto;
}
.pw-gallery-ico{
  display: block;
  pointer-events: none;
}
.pw-gallery:hover .pw-gallery-nav,
.pw-gallery:focus-within .pw-gallery-nav{
  opacity: 0.55;
}
.pw-gallery-nav:hover{
  opacity: 0.85;
  background: rgba(27, 26, 23, 0.10);
}
.pw-gallery-nav:hover{
  background: rgba(27, 26, 23, 0.10);
}
.pw-gallery-prev{ left: 0; }
.pw-gallery-next{ right: 0; }
.pw-gallery-thumbs{
  display:flex;
  gap: 10px;
  padding: 12px 12px;
  overflow-x: auto;
  border-top: 1px solid var(--line);
}
.pw-gallery-thumbs-wrap{
  position: relative;
  border-top: 1px solid var(--line);
  background: rgba(255,255,255,0.92);
}
.pw-gallery-thumbs{
  border-top: 0;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.pw-gallery-thumbs::-webkit-scrollbar{ display: none; }
.pw-thumb{ scroll-snap-align: start; }
.pw-thumbs-nav{
  position: absolute;
  top: 0;
  bottom: 0;
  width: 44px;
  border: 0;
  padding: 0;
  cursor: pointer;
  color: rgba(27, 26, 23, 0.70);
  background: rgba(255,255,255,0.0);
  backdrop-filter: blur(6px);
  opacity: 0;
  transition: opacity .18s ease, background .18s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pw-gallery:hover .pw-thumbs-nav,
.pw-gallery:focus-within .pw-thumbs-nav{
  opacity: 1;
}
.pw-thumbs-nav:hover{
  background: rgba(27, 26, 23, 0.06);
}
.pw-thumbs-nav:disabled{
  opacity: 0 !important;
  pointer-events: none;
}
.pw-thumbs-prev{ left: 0; }
.pw-thumbs-next{ right: 0; }
.pw-gallery-thumbs-wrap::before,
.pw-gallery-thumbs-wrap::after{
  content:'';
  position:absolute;
  top:0;
  bottom:0;
  width: 34px;
  pointer-events: none;
  opacity: 0;
  transition: opacity .18s ease;
}
.pw-gallery:hover .pw-gallery-thumbs-wrap::before,
.pw-gallery:hover .pw-gallery-thumbs-wrap::after{ opacity: 1; }
.pw-gallery-thumbs-wrap::before{
  left: 0;
  background: linear-gradient(90deg, rgba(255,255,255,0.92), rgba(255,255,255,0));
}
.pw-gallery-thumbs-wrap::after{
  right: 0;
  background: linear-gradient(270deg, rgba(255,255,255,0.92), rgba(255,255,255,0));
}
.pw-thumb{
  flex: 0 0 auto;
  width: 84px;
  aspect-ratio: 3 / 4;
  border-radius: var(--radius-xs);
  overflow:hidden;
  border: 1px solid rgba(27, 26, 23, 0.12);
  background: rgba(27, 26, 23, 0.03);
  padding: 0;
  cursor: pointer;
  display:block;
}
.pw-thumb.is-active{
  border-color: rgba(178, 58, 72, 0.48);
  box-shadow: 0 0 0 3px rgba(178, 58, 72, 0.12);
}
.pw-thumb img{ width:100%; height:100%; object-fit: cover; display:block; }

/* Lightbox fallback (when Magnific isn't available) */
body.pw-lightbox-open{ overflow:hidden; }
.pw-lightbox{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
}
.pw-lightbox[aria-hidden="false"]{ display:block; }
.pw-lightbox-backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,0.68);
}
.pw-lightbox-dialog{
  position: relative;
  width: min(92vw, 980px);
  height: min(92vh, 860px);
  margin: 4vh auto;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius: var(--radius);
  overflow:hidden;
  background: rgba(18,18,18,0.22);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 50px rgba(0,0,0,0.35);
}
.pw-lightbox-img{
  position: relative;
  z-index: 1;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display:block;
  border: 0;
  outline: none;
  background: transparent;
}
.pw-lightbox-close{
  position:absolute;
  top: 12px;
  right: 12px;
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 999px;
  background: rgba(0,0,0,0.32);
  color: rgba(255,255,255,0.92);
  font-size: 26px;
  line-height: 40px;
  cursor: pointer;
  z-index: 5;
  box-shadow: 0 10px 30px rgba(0,0,0,0.35);
}
.pw-lightbox-nav{
  position:absolute;
  top: 0;
  bottom: 0;
  width: 72px;
  border: none;
  background: rgba(0,0,0,0.00);
  color: rgba(255,255,255,0.92);
  cursor: pointer;
  opacity: 0.18;
  transition: opacity .18s ease, background .18s ease;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index: 2;
}
.pw-lightbox-dialog:hover .pw-lightbox-nav,
.pw-lightbox-dialog:focus-within .pw-lightbox-nav{ opacity: 0.62; }
.pw-lightbox-nav:hover{ opacity: 0.9; background: rgba(0,0,0,0.14); }
.pw-lightbox-prev{ left: 0; }
.pw-lightbox-next{ right: 0; }

.pw-buy{
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.92);
  box-shadow: var(--shadow-sm);
  padding: 20px 20px;
}
.pw-product-title{ margin-bottom: 10px; }
.pw-price{
  display:flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 10px;
}
.pw-price-now{ font-size: 22px; font-weight: 400; letter-spacing: .02em; }
.pw-price-old{ color: rgba(27, 26, 23, 0.42); text-decoration: line-through; }

.pw-meta{
  display:flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  color: var(--muted);
  font-size: 13px;
  margin-bottom: 12px;
}
.pw-meta-k{ letter-spacing: .10em; text-transform: uppercase; font-size: 11px; margin-right: 6px; }
.pw-meta-v{ color: rgba(27, 26, 23, 0.88); }

.pw-options{ margin: 12px 0 14px; display:grid; gap: 12px; }
.pw-opt-label{ display:block; font-size: 12px; letter-spacing: .10em; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; }
.pw-opt-select{
  width:100%;
  border-radius: var(--radius-xs);
  border: 1px solid var(--line);
  background: rgba(27, 26, 23, 0.02);
  padding: 12px 12px;
  font-family: var(--font-sans);
  font-weight: 300;
}
.pw-chips{ display:flex; flex-wrap: wrap; gap: 10px; }
.pw-chip{
  border-radius: var(--radius-xs);
  border: 1px solid var(--line);
  padding: 9px 12px;
  background: rgba(255,255,255,0.75);
  cursor: pointer;
  user-select: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  line-height: 1;
}
.pw-chip input{ position:absolute; opacity:0; pointer-events:none; }
.pw-chip span{ font-size: 13px; letter-spacing: .02em; line-height: 1; }
.pw-chip:has(input:checked){
  border-color: rgba(178, 58, 72, 0.32);
  background: rgba(178, 58, 72, 0.10);
}
.pw-cartrow{
  display:grid;
  grid-template-columns: 160px 1fr;
  gap: 12px;
  align-items: end;
  margin-top: 8px;
}
.pw-qty-input{
  width:100%;
  border-radius: var(--radius-xs);
  border: 1px solid var(--line);
  background: rgba(27, 26, 23, 0.02);
  padding: 12px 12px;
  font-family: var(--font-sans);
}
.pw-add{ width:100%; padding: 14px 18px; }
.pw-note{
  margin-top: 10px;
  color: var(--muted);
  font-size: 13px;
}

.pw-tabs{
  margin-top: 16px;
  display:flex;
  flex-direction: column;
  gap: 14px;
}
.pw-tabbar{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
  border-top: 1px solid var(--line);
  padding-top: 14px;
}
.pw-tab{
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.70);
  border-radius: var(--radius-xs);
  padding: 10px 12px;
  cursor: pointer;
  font-family: var(--font-sans);
  font-weight: 300;
  font-size: 12px;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.pw-tab.is-active{
  border-color: rgba(178, 58, 72, 0.32);
  background: rgba(178, 58, 72, 0.10);
}
.pw-product-page .pw-tabs .pw-panel{
  display:none;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.92);
  box-shadow: var(--shadow-sm);
  padding: 14px;
}
.pw-product-page .pw-tabs .pw-panel.is-active{ display:block; }
.pw-rich{ color: rgba(27, 26, 23, 0.86); line-height: 1.75; font-size: 14px; }
.pw-rich p{ margin: 0 0 0.85rem; }
.pw-rich p:last-child{ margin-bottom: 0; }
.pw-rich ul, .pw-rich ol{ margin: 0.5rem 0 0.85rem 1.05rem; list-style: disc; }
.pw-rich ol{ list-style: decimal; }
.pw-rich li{ margin: 0.25rem 0; }
.pw-rich h1,.pw-rich h2,.pw-rich h3{ line-height: 1.25; margin: 1rem 0 0.65rem; }
.pw-rich h4,.pw-rich h5{ line-height: 1.25; margin: 0.85rem 0 0.55rem; }
.pw-rich a{ color: var(--accent); text-decoration: underline; text-underline-offset: 2px; }
.pw-rich a:hover{ opacity: 0.9; }
.pw-spec-group{
  border: 1px solid var(--line);
  border-radius: var(--radius-xs);
  padding: 10px 12px;
  background: rgba(27, 26, 23, 0.015);
  margin-bottom: 10px;
}
.pw-spec-title{ cursor: pointer; font-weight: 400; letter-spacing: .02em; }
.pw-spec-table{ margin-top: 10px; display:grid; gap: 8px; }
.pw-spec-row{
  display:grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 12px;
  padding-top: 8px;
  border-top: 1px solid rgba(27, 26, 23, 0.08);
}
.pw-spec-k{ color: var(--muted); font-size: 13px; }
.pw-spec-v{ color: rgba(27, 26, 23, 0.86); font-size: 13px; }

@media (max-width: 980px){
  .pw-product-grid{ grid-template-columns: 1fr; }
  .pw-cartrow{ grid-template-columns: 1fr; }
}

/* ——— Страница каталога (product/search + prewoman/catalog) ——— */
.lp-catalog-page{
  --lp-catalog-title-gap: 1.5rem;
  background: var(--bg);
  min-height: 70vh;
  padding-bottom: 0;
  font-family: var(--font-sans);
  font-weight: 300;
}
.lp-catalog-section{
  padding: 72px 0;
  position: relative;
}
.lp-catalog-page--has-page-top .lp-catalog-section--criteria{
  padding-top: 48px;
}
.lp-catalog-section--criteria{
  background: var(--surface-2);
  padding-top: calc(5.25rem + var(--lp-catalog-title-gap));
  padding-bottom: 72px;
}
.lp-catalog-section--results{
  background: var(--bg);
}
.lp-catalog-section--results::before{
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background: var(--line);
}
.lp-breadcrumb-list{
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .6rem;
  list-style: none;
  margin: 0 0 var(--lp-catalog-title-gap);
  padding: 0;
  font-size: 14px;
}
.lp-breadcrumb-item a{
  color: #64748b;
  text-decoration: none;
}
.lp-breadcrumb-item a:hover{
  color: #e94560;
}
.lp-breadcrumb-item:not(:last-child)::after{
  content: '/';
  margin-left: .6rem;
  color: #94a3b8;
}
.lp-catalog-columns{
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: flex-start;
}
.lp-catalog-columns--single .lp-catalog-main{
  flex: 1 1 100%;
  max-width: 100%;
}
#product-search #content.lp-catalog-main{
  padding-top: 0;
  flex: 1 1 640px;
  min-width: 0;
}
.lp-catalog-h1{
  font-family: var(--font-sans);
  font-weight: 200;
  font-size: clamp(30px, 3.2vw, 46px);
  color: var(--text);
  letter-spacing: -0.02em;
  margin: 0 0 var(--lp-catalog-title-gap);
}
.lp-catalog-panel{
  background: rgba(255,255,255,0.72);
  border-radius: var(--radius);
  padding: 1.35rem 1.25rem 1.15rem;
  border: 1px solid var(--line);
  box-shadow: none;
  margin-bottom: 0;
}
.lp-catalog-panel-title{
  font-size: 1rem;
  font-weight: 500;
  color: rgba(27, 26, 23, 0.90);
  margin: 0 0 1.25rem;
  letter-spacing: .03em;
}
.lp-catalog-form-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 1.25rem 2rem;
  min-width: 0;
}
.lp-catalog-label{
  display: block;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .03em;
  color: rgba(27, 26, 23, 0.66);
  margin-bottom: .45rem;
}
.lp-catalog-input,
.lp-catalog-select{
  width: 100%;
  max-width: 100%;
  font-family: var(--font-sans);
  font-weight: 300;
  font-size: 15px;
  padding: .75rem 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255,255,255,0.78);
  color: var(--text);
}
.lp-catalog-select{
  cursor: pointer;
}
.lp-catalog-input:focus,
.lp-catalog-select:focus{
  outline: none;
  border-color: rgba(178, 58, 72, 0.38);
  background: rgba(255,255,255,0.92);
  box-shadow: 0 0 0 3px rgba(178, 58, 72, 0.14);
}
.lp-catalog-check{
  margin-top: .75rem;
  font-size: 14px;
  color: #64748b;
  display: flex;
  align-items: flex-start;
  gap: .5rem;
}
.lp-catalog-checkbox{
  margin-top: .2rem;
  accent-color: #e94560;
  flex-shrink: 0;
}
.lp-catalog-actions{
  margin-top: 1.5rem;
  display: flex;
  justify-content: flex-end;
}
.lp-catalog-submit{
  font-family: var(--font-sans);
  font-weight: 500;
  letter-spacing: .06em;
  font-size: 14px;
  text-transform: uppercase;
  padding: .85rem 2rem;
  border: none;
  border-radius: 999px;
  background: #e94560;
  color: #fff;
  cursor: pointer;
  transition: transform .2s, box-shadow .2s;
}
.lp-catalog-submit:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(233, 69, 96, 0.35);
}
.lp-catalog-divider{
  display: none;
}
.lp-catalog-h2{
  font-family: var(--font-sans);
  font-weight: 200;
  font-size: clamp(24px, 2.4vw, 34px);
  color: var(--text);
  margin: 0 0 2.25rem;
  letter-spacing: -0.02em;
}
.lp-catalog-toolbar{
  margin-bottom: 2.25rem;
}
.lp-catalog-toolbar-row{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}
.lp-catalog-compare{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .6rem 1.1rem;
  border-radius: 999px;
  background: #1a1a2e;
  color: #fff !important;
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .03em;
}
.lp-catalog-icon-btn{
  width: 42px;
  height: 42px;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #1a1a2e;
  cursor: pointer;
  transition: border-color .2s, background .2s, color .2s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-size: 18px;
}
.lp-catalog-icon-btn .fa-solid,
.lp-catalog-compare .fa-solid{
  font-size: 1em;
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
}
.lp-catalog-icon-btn:hover,
.lp-catalog-icon-btn.active{
  border-color: rgba(178, 58, 72, 0.45);
  background: rgba(178, 58, 72, 0.08);
  color: var(--accent);
}
.lp-catalog-view-toggle{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.lp-catalog-sort-wrap,
.lp-catalog-limit-wrap{
  display: flex;
  align-items: center;
  gap: .5rem;
  flex: 1 1 200px;
  min-width: 160px;
}
.lp-catalog-select--inline{
  flex: 1;
}
.lp-catalog-toolbar-label{
  font-size: 13px;
  color: #64748b;
  white-space: nowrap;
}
@media (min-width: 768px){
  .lp-catalog-view-toggle{
    margin-left: auto;
  }
}
#product-search .lp-catalog-product-row,
#product-category .lp-catalog-product-row{
  --bs-gutter-y: 1.25rem;
  /* Bootstrap may be absent/overridden: enforce a real grid */
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}
#product-search .lp-catalog-product-row > .col,
#product-category .lp-catalog-product-row > .col{
  width: auto;
  max-width: 100%;
  padding: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
}
#product-search .product-thumb,
#product-category .product-thumb{
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 5px 20px rgba(0,0,0,0.08);
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: transform .2s ease;
}
#product-search .product-thumb:hover,
#product-category .product-thumb:hover{
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(26, 26, 46, 0.12);
}
#product-search .product-thumb .image,
#product-category .product-thumb .image{
  flex-shrink: 0;
  background: #f1f5f9;
}
#product-search .product-thumb .image a,
#product-category .product-thumb .image a{
  display:block;
}
#product-search .product-thumb .image img,
#product-category .product-thumb .image img{
  display:block;
  width: 100%;
  height: auto;
}
#product-search .product-thumb .content,
#product-category .product-thumb .content{
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 1rem 1.1rem 1.25rem;
}
#product-search .product-thumb .description,
#product-category .product-thumb .description{
  flex: 1 1 auto;
  min-height: 0;
}
#product-search .product-thumb .pw-thumb-actions,
#product-category .product-thumb .pw-thumb-actions{
  margin-top: auto;
  flex-shrink: 0;
  padding-top: 12px;
}
#product-search .product-thumb .pw-thumb-actions .price,
#product-category .product-thumb .pw-thumb-actions .price{
  margin: 0 0 10px;
  padding-top: 0;
}
#product-search .product-thumb .pw-thumb-actions form,
#product-category .product-thumb .pw-thumb-actions form{
  margin-top: 0;
  padding-top: 0;
}
#product-search .product-thumb h4,
#product-category .product-thumb h4{
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: .02em;
  margin: 0 0 .5rem;
}
#product-search .product-thumb h4 a,
#product-category .product-thumb h4 a{
  color: #1a1a2e;
  text-decoration: none;
}
#product-search .product-thumb h4 a:hover,
#product-category .product-thumb h4 a:hover{
  color: #e94560;
}
#product-search .product-thumb .description,
#product-category .product-thumb .description{
  font-size: 13px;
  color: #64748b;
  line-height: 1.55;
}
#product-search .product-thumb .description p,
#product-category .product-thumb .description p{
  margin: 0 0 0;
}
#product-search .product-thumb .price-tax,
#product-category .product-thumb .price-tax,
.pw-home .pw-products-module .product-thumb .price-tax{
  display: none !important;
}
#product-search .product-thumb .price-new,
#product-category .product-thumb .price-new{
  font-weight: 500;
  color: #e94560;
  font-size: 1.05rem;
}
#product-search .product-thumb .price-old,
#product-category .product-thumb .price-old{
  font-size: .9rem;
  color: #94a3b8;
  text-decoration: line-through;
}
#product-search .product-thumb .button-group button,
#product-category .product-thumb .button-group button{
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  background: #fff;
  padding: .45rem .55rem;
  color: #1a1a2e;
  box-shadow: none;
  appearance: none;
}
#product-search .product-thumb .button-group,
#product-category .product-thumb .button-group{
  display: flex;
  gap: 10px;
  margin-top: 0;
}
#product-search .product-thumb .button-group button,
#product-category .product-thumb .button-group button{
  flex: 0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height: 38px;
  min-width: 38px;
  line-height: 1;
  cursor: pointer;
}
#product-search .product-thumb .button-group button:first-child,
#product-category .product-thumb .button-group button:first-child{
  flex: 0 0 auto;
  min-width: 38px;
  padding: .45rem .55rem;
}
#product-search .lp-catalog-product-row--list .product-thumb .button-group,
#product-category .lp-catalog-product-row--list .product-thumb .button-group{
  width: auto;
  max-width: 100%;
  justify-content: flex-start;
}
#product-search .product-thumb .button-group button i,
#product-category .product-thumb .button-group button i{
  pointer-events: none;
}
#product-search .product-thumb .button-group .fa-solid,
#product-category .product-thumb .button-group .fa-solid{
  font-size: 1.125rem;
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
}
#product-search .product-thumb .button-group button:hover,
#product-category .product-thumb .button-group button:hover{
  border-color: #e94560;
  color: #e94560;
  background: #fff;
}

@media (max-width: 1100px){
  #product-search .lp-catalog-product-row,
  #product-category .lp-catalog-product-row{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 820px){
  #product-search .lp-catalog-product-row,
  #product-category .lp-catalog-product-row{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 520px){
  #product-search .lp-catalog-product-row,
  #product-category .lp-catalog-product-row{ grid-template-columns: 1fr; }
}

/* Узкий экран: по умолчанию режим списка (без JS и до загрузки скриптов) */
@media (max-width: 880px){
  #product-search .lp-catalog-product-row:not(.lp-catalog-product-row--grid),
  #product-category .lp-catalog-product-row:not(.lp-catalog-product-row--grid){
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
    max-width: 100%;
    gap: 14px;
  }
  #product-search .lp-catalog-product-row:not(.lp-catalog-product-row--grid) > .col,
  #product-category .lp-catalog-product-row:not(.lp-catalog-product-row--grid) > .col{
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  #product-search .lp-catalog-product-row:not(.lp-catalog-product-row--grid) .product-thumb,
  #product-category .lp-catalog-product-row:not(.lp-catalog-product-row--grid) .product-thumb{
    display: grid;
    grid-template-columns: minmax(110px, 38%) minmax(0, 1fr);
    grid-template-rows: 1fr;
    align-items: stretch;
    min-height: 140px;
  }
  #product-search .lp-catalog-product-row:not(.lp-catalog-product-row--grid) .product-thumb .image,
  #product-category .lp-catalog-product-row:not(.lp-catalog-product-row--grid) .product-thumb .image{
    grid-column: 1;
    grid-row: 1;
    align-self: stretch;
    min-height: 100%;
    overflow: hidden;
  }
  #product-search .lp-catalog-product-row:not(.lp-catalog-product-row--grid) .product-thumb .image a,
  #product-category .lp-catalog-product-row:not(.lp-catalog-product-row--grid) .product-thumb .image a{
    display: block;
    height: 100%;
  }
  #product-search .lp-catalog-product-row:not(.lp-catalog-product-row--grid) .product-thumb .image img,
  #product-category .lp-catalog-product-row:not(.lp-catalog-product-row--grid) .product-thumb .image img{
    width: 100%;
    height: 100%;
    min-height: 140px;
    object-fit: cover;
  }
  #product-search .lp-catalog-product-row:not(.lp-catalog-product-row--grid) .product-thumb .content,
  #product-category .lp-catalog-product-row:not(.lp-catalog-product-row--grid) .product-thumb .content{
    grid-column: 2;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    height: 100%;
  }
  #product-search .lp-catalog-product-row:not(.lp-catalog-product-row--grid) .product-thumb .description,
  #product-category .lp-catalog-product-row:not(.lp-catalog-product-row--grid) .product-thumb .description{
    flex: 1 1 auto;
  }
  #product-search .lp-catalog-product-row:not(.lp-catalog-product-row--grid) .product-thumb .pw-thumb-actions,
  #product-category .lp-catalog-product-row:not(.lp-catalog-product-row--grid) .product-thumb .pw-thumb-actions{
    margin-top: auto;
    flex-shrink: 0;
    padding-top: 12px;
  }
  #product-search .lp-catalog-product-row:not(.lp-catalog-product-row--grid) .product-thumb .description p,
  #product-category .lp-catalog-product-row:not(.lp-catalog-product-row--grid) .product-thumb .description p{
    display: block;
  }

  /* Явный режим сетки на смартфоне (после нажатия кнопки) */
  #product-search .lp-catalog-product-row--grid,
  #product-category .lp-catalog-product-row--grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px;
  }
  #product-search .lp-catalog-product-row--grid .product-thumb,
  #product-category .lp-catalog-product-row--grid .product-thumb{
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  #product-search .lp-catalog-product-row--grid .product-thumb .image,
  #product-category .lp-catalog-product-row--grid .product-thumb .image{
    grid-column: auto;
    grid-row: auto;
    align-self: auto;
    min-height: 0;
  }
  #product-search .lp-catalog-product-row--grid .product-thumb .image a,
  #product-category .lp-catalog-product-row--grid .product-thumb .image a{
    height: auto;
  }
  #product-search .lp-catalog-product-row--grid .product-thumb .image img,
  #product-category .lp-catalog-product-row--grid .product-thumb .image img{
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 3 / 4;
  }
  #product-search .lp-catalog-product-row--grid .product-thumb .content,
  #product-category .lp-catalog-product-row--grid .product-thumb .content{
    grid-column: auto;
    grid-row: auto;
    display: block;
    height: auto;
    min-height: 0;
  }
}
@media (max-width: 520px){
  #product-search .lp-catalog-product-row--grid,
  #product-category .lp-catalog-product-row--grid{
    grid-template-columns: 1fr !important;
  }
}

/* Карточка товара: обязательные опции — выпадающая панель без сдвига сетки */
#product-search .product-thumb--has-options,
#product-category .product-thumb--has-options,
.pw-home .pw-products-module .product-thumb--has-options{
  overflow: visible;
}
#product-search .product-thumb--has-options .image,
#product-category .product-thumb--has-options .image,
.pw-home .pw-products-module .product-thumb--has-options .image{
  overflow: hidden;
  border-radius: inherit;
}
#product-search .lp-catalog-product-row > .col:has(.product-thumb--has-options:hover),
#product-category .lp-catalog-product-row > .col:has(.product-thumb--has-options.is-options-open),
#product-search .lp-catalog-product-row > .col:has(.product-thumb--has-options:focus-within),
#product-category .lp-catalog-product-row > .col:has(.product-thumb--has-options:focus-within){
  position: relative;
  z-index: 40;
}
.product-thumb--has-options{
  position: relative;
}
.product-thumb--has-options:hover,
.product-thumb--has-options.is-options-open,
.product-thumb--has-options:focus-within{
  z-index: 41;
}
.product-thumb--has-options .pw-thumb-form{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.product-thumb--has-options .pw-thumb-form .button-group{
  order: 1;
}
.product-thumb--has-options .pw-thumb-options{
  order: 2;
  position: relative;
  z-index: 2;
  margin: 0;
  overflow: visible;
}
.product-thumb--has-options .pw-thumb-options-toggle{
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 7px 10px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #f8fafc;
  color: #1a1a2e;
  font: inherit;
  font-size: 12px;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
}
.product-thumb--has-options .pw-thumb-options-summary{
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #1a1a2e;
  font-weight: 500;
}
.product-thumb--has-options .pw-thumb-options-chevron{
  flex: 0 0 auto;
  font-size: 11px;
  color: #94a3b8;
  transition: transform 0.2s ease;
}
.product-thumb--has-options .pw-thumb-options-panel{
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 50;
  margin: 0;
  padding: 10px;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  background: #fff;
  box-shadow: 0 14px 36px rgba(26, 26, 46, 0.16);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
  pointer-events: none;
}
.product-thumb--has-options .pw-thumb-opt{
  padding-bottom: 10px;
}
.product-thumb--has-options .pw-thumb-opt:last-child{
  padding-bottom: 0;
}
.product-thumb--has-options .pw-thumb-opt-label{
  display: block;
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 500;
  color: #64748b;
  letter-spacing: 0.02em;
}
.product-thumb--has-options .pw-thumb-chips{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.product-thumb--has-options .pw-thumb-chip{
  display: inline-flex;
  margin: 0;
  cursor: pointer;
}
.product-thumb--has-options .pw-thumb-chip input{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.product-thumb--has-options .pw-thumb-chip span{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #1a1a2e;
  font-size: 12px;
  line-height: 1.2;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.product-thumb--has-options .pw-thumb-chip input:checked + span{
  border-color: #e94560;
  background: rgba(233, 69, 96, 0.08);
  color: #e94560;
}
.product-thumb--has-options .pw-thumb-chip:hover span{
  border-color: #cbd5e1;
}
.product-thumb--has-options .pw-thumb-select{
  width: 100%;
  min-height: 34px;
  padding: 6px 10px;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #1a1a2e;
  font-size: 12px;
}
.product-thumb--has-options.is-options-open .pw-thumb-options-panel{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.product-thumb--has-options.is-options-open .pw-thumb-options-chevron{
  transform: rotate(180deg);
}
@media (hover: hover) and (pointer: fine){
  .product-thumb--has-options:hover .pw-thumb-options-panel{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }
  .product-thumb--has-options:hover .pw-thumb-options-chevron{
    transform: rotate(180deg);
  }
}
/* Лента «Новинки»: панель вверх — иначе обрезает overflow-x скролл */
.pw-ribbon--latest .product-thumb--has-options .pw-thumb-options-panel{
  top: auto;
  bottom: calc(100% + 6px);
  transform: translateY(6px);
}
.pw-ribbon--latest .product-thumb--has-options.is-options-open .pw-thumb-options-panel{
  transform: translateY(0);
}
@media (hover: hover) and (pointer: fine){
  .pw-ribbon--latest .product-thumb--has-options:hover .pw-thumb-options-panel{
    transform: translateY(0);
  }
}
.pw-ribbon--latest .pw-ribbon-item:has(.product-thumb--has-options:hover),
.pw-ribbon--latest .pw-ribbon-item:has(.product-thumb--has-options.is-options-open){
  position: relative;
  z-index: 30;
}
.pw-ribbon--latest .product-thumb--has-options{
  overflow: visible;
}
.pw-ribbon--latest .product-thumb--has-options .pw-thumb-chip span{
  min-height: 28px;
  padding: 3px 8px;
  font-size: 11px;
}

/* Подсказки на кнопках карточек (Bootstrap tooltip) */
.tooltip{
  --bs-tooltip-bg: #1a1a2e;
  --bs-tooltip-color: #fff;
  --bs-tooltip-opacity: 1;
  --bs-tooltip-max-width: 220px;
  --bs-tooltip-padding-x: 8px;
  --bs-tooltip-padding-y: 5px;
  --bs-tooltip-font-size: 11px;
  --bs-tooltip-border-radius: 6px;
  opacity: 1;
  font-family: var(--font-sans);
  font-size: 11px;
  line-height: 1.35;
  z-index: 1080;
}
.tooltip .tooltip-inner{
  background: #1a1a2e;
  color: #fff;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.35;
  padding: 5px 9px;
  border-radius: 6px;
  box-shadow: 0 6px 18px rgba(26, 26, 46, 0.28);
  max-width: 220px;
  text-align: center;
}
.tooltip.bs-tooltip-top .tooltip-arrow::before,
.tooltip.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before{
  border-top-color: #1a1a2e;
}
.tooltip.bs-tooltip-bottom .tooltip-arrow::before,
.tooltip.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before{
  border-bottom-color: #1a1a2e;
}
.tooltip.bs-tooltip-start .tooltip-arrow::before,
.tooltip.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before{
  border-left-color: #1a1a2e;
}
.tooltip.bs-tooltip-end .tooltip-arrow::before,
.tooltip.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before{
  border-right-color: #1a1a2e;
}

#product-search .lp-catalog-product-row--list,
#product-category .lp-catalog-product-row--list{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  max-width: 100%;
  gap: 14px;
}
#product-search .lp-catalog-product-row--list > .col,
#product-category .lp-catalog-product-row--list > .col{
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
#product-search .lp-catalog-product-row--list .product-thumb,
#product-category .lp-catalog-product-row--list .product-thumb{
  display: grid;
  grid-template-columns: minmax(140px, 220px) minmax(0, 1fr);
  grid-template-rows: 1fr;
  align-items: stretch;
  min-height: 168px;
}
#product-search .lp-catalog-product-row--list .product-thumb .image,
#product-category .lp-catalog-product-row--list .product-thumb .image{
  grid-column: 1;
  grid-row: 1;
  align-self: stretch;
  min-height: 100%;
  overflow: hidden;
}
#product-search .lp-catalog-product-row--list .product-thumb .image a,
#product-category .lp-catalog-product-row--list .product-thumb .image a{
  display: block;
  height: 100%;
}
#product-search .lp-catalog-product-row--list .product-thumb .image img,
#product-category .lp-catalog-product-row--list .product-thumb .image img{
  width: 100%;
  height: 100%;
  min-height: 168px;
  object-fit: cover;
}
#product-search .lp-catalog-product-row--list .product-thumb .content,
#product-category .lp-catalog-product-row--list .product-thumb .content{
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  height: 100%;
}
#product-search .lp-catalog-product-row--list .product-thumb .description,
#product-category .lp-catalog-product-row--list .product-thumb .description{
  flex: 1 1 auto;
}
#product-search .lp-catalog-product-row--list .product-thumb .pw-thumb-actions,
#product-category .lp-catalog-product-row--list .product-thumb .pw-thumb-actions{
  margin-top: auto;
  flex-shrink: 0;
  padding-top: 12px;
}
#product-search .lp-catalog-product-row--list .product-thumb .description p,
#product-category .lp-catalog-product-row--list .product-thumb .description p{
  display: block;
}
@media (max-width: 520px){
  #product-search .lp-catalog-product-row--list .product-thumb,
  #product-category .lp-catalog-product-row--list .product-thumb{
    grid-template-columns: minmax(110px, 38%) minmax(0, 1fr);
    min-height: 140px;
  }
  #product-search .lp-catalog-product-row--list .product-thumb .image img,
  #product-category .lp-catalog-product-row--list .product-thumb .image img{
    min-height: 140px;
  }
}
.lp-catalog-empty{
  padding: 2.5rem 1.5rem;
  text-align: center;
  color: #64748b;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.06);
  font-size: 16px;
}
.lp-catalog-pagination{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
  font-size: 14px;
  color: #64748b;
}
#product-search .pagination .page-link,
#product-search .pagination .active .page-link,
#product-category .pagination .page-link,
#product-category .pagination .active .page-link{
  border-radius: 10px;
  font-family: var(--font-sans);
}
#product-search .pagination .page-link:hover,
#product-category .pagination .page-link:hover{
  background: rgba(233, 69, 96, 0.12);
  color: #e94560;
  border-color: rgba(233, 69, 96, 0.3);
}

@media (max-width: 768px){
  .lp-hero{min-height: 88vh}
}

/* Телефон: секции и карточки на всю ширину экрана, без боковых «полей» 5% / 20px */
@media (max-width: 767px){
  .lp-container{
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding-inline: max(0px, env(safe-area-inset-left)) max(0px, env(safe-area-inset-right));
    padding-left: 12px;
    padding-right: 12px;
  }
  .motors-wrap{
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding-inline: max(0px, env(safe-area-inset-left)) max(0px, env(safe-area-inset-right));
  }
  .motors-footer-inner{
    padding: 1.25rem max(12px, env(safe-area-inset-left)) 1.25rem max(12px, env(safe-area-inset-right));
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }
  .motors-social{ justify-content: center }
  .lp-header{
    padding: 0.85rem 0;
    padding-inline: max(0px, env(safe-area-inset-left)) max(0px, env(safe-area-inset-right));
  }
  .lp-header-inner{
    padding-inline: max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right));
  }
  .lp-hero{
    padding: 6.5rem 0 3rem;
    padding-inline: max(0px, env(safe-area-inset-left)) max(0px, env(safe-area-inset-right));
  }
  .lp-hero-content{
    max-width: none;
    width: 100%;
    padding-inline: max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right));
    box-sizing: border-box;
  }
  .lp-features,
  .lp-catalog,
  .lp-contact,
  .lp-size-guide{
    padding: 3.5rem 0;
    padding-inline: max(0px, env(safe-area-inset-left)) max(0px, env(safe-area-inset-right));
  }
  .lp-title{
    padding-inline: max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right));
    margin-bottom: 2rem;
  }
  .lp-lead{
    padding-inline: max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right));
  }
  .lp-features-grid,
  .lp-catalog-grid{
    gap: 1rem;
  }
  .lp-feature-card{
    border-radius: 0;
    padding: 1.75rem max(1rem, env(safe-area-inset-left)) 1.75rem max(1rem, env(safe-area-inset-right));
    box-shadow: none;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  }
  .lp-features .lp-feature-card:last-child{
    border-bottom: none;
  }
  .lp-item-card{
    border-radius: 0;
    box-shadow: none;
    border-bottom: 1px solid rgba(15, 23, 42, 0.1);
  }
  .lp-catalog .lp-item-card:last-child{
    border-bottom: none;
  }
  .lp-item-info{
    padding: 1.25rem max(1rem, env(safe-area-inset-left)) 1.5rem max(1rem, env(safe-area-inset-right));
  }
  .lp-size-guide-card{
    border-radius: 0;
    padding: 1.75rem max(1rem, env(safe-area-inset-left)) 1.75rem max(1rem, env(safe-area-inset-right));
    box-shadow: none;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  }
  .lp-size-guide .lp-size-guide-card:last-child{
    border-bottom: none;
  }
  .lp-size-guide-cta{
    margin-inline: 0;
    border-radius: 0;
    padding: 1.75rem max(1rem, env(safe-area-inset-left)) 1.75rem max(1rem, env(safe-area-inset-right));
  }
  .lp-contact > .lp-container > p{
    padding-inline: max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right));
  }
  .lp-contact .lp-btn{
    margin-inline: max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right));
  }
  .lp-contact-grid{
    padding-inline: max(0.5rem, env(safe-area-inset-left)) max(0.5rem, env(safe-area-inset-right));
  }
  .lp-contact-item{
    width: 100%;
    max-width: 100%;
  }
  #product-search.lp-catalog-page .lp-catalog-section .lp-container{
    padding-inline: max(0px, env(safe-area-inset-left)) max(0px, env(safe-area-inset-right));
  }
  .lp-catalog-page .lp-page-top > .lp-container,
  #product-search.lp-catalog-page .lp-page-top > .lp-container{
    padding-inline: max(var(--pw-gutter), env(safe-area-inset-left)) max(var(--pw-gutter), env(safe-area-inset-right));
  }
  .lp-catalog-section--criteria,
  .lp-catalog-section--results{
    padding-top: calc(4.5rem + var(--lp-catalog-title-gap, 1.5rem));
    padding-bottom: 48px;
  }
  .lp-catalog-section--results{
    padding-top: 48px;
  }
  .lp-catalog-page--has-page-top .lp-catalog-section--criteria{
    padding-top: 20px;
  }
  #product-search .lp-catalog-panel,
  #product-search .lp-catalog-h1,
  #product-search .lp-catalog-h2{
    padding-inline: max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right));
  }
  #product-search .lp-catalog-panel{
    border-radius: 0;
    margin-inline: 0;
  }
  #product-search .lp-catalog-toolbar,
  #product-search .lp-catalog-product-row,
  #product-search .lp-catalog-pagination,
  #product-search .lp-catalog-empty{
    padding-inline: max(0.75rem, env(safe-area-inset-left)) max(0.75rem, env(safe-area-inset-right));
  }
}

/* New landing layout */
.m-hero{
  padding: 56px 0 28px;
}
.m-hero-grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 40px;
  align-items:center;
}
.m-eyebrow{
  margin:0 0 10px;
  font-weight:700;
  font-size: 13px;
  color: rgba(37, 99, 235, .95);
  letter-spacing:.08em;
  text-transform: uppercase;
}
.m-hero h1{
  margin:0 0 14px;
  font-size: clamp(36px, 4.6vw, 62px);
  line-height: 1.02;
  letter-spacing:-.9px;
}
.m-lead{
  margin:0;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.65;
  max-width: 62ch;
}
.m-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top: 18px;
}
.m-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 16px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.85);
  text-decoration:none;
  font-weight: 800;
  font-size: 14px;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .06);
}
.m-btn-primary{
  background: linear-gradient(135deg, rgba(37,99,235,.16), rgba(14,165,233,.14));
  border-color: rgba(37,99,235,.22);
}
.m-btn-ghost{
  background: rgba(255,255,255,.70);
}
.m-btn:hover{filter: brightness(1.02)}

.m-trust{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px;
  margin-top: 18px;
}
.m-pill{
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255,255,255,.80);
  padding: 12px 12px;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.m-pill b{font-size: 14px}
.m-pill span{color: var(--muted); font-size: 13px; line-height: 1.35}

.m-hero-media{
  position:relative;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(37,99,235,.10), rgba(14,165,233,.07));
  box-shadow: var(--shadow);
  overflow:hidden;
}
.m-hero-media img{display:block;width:100%;height:auto}
.m-float{
  position:absolute;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 16px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 16px 40px rgba(15,23,42,.10);
  padding: 12px 12px;
  max-width: 280px;
}
.m-float b{display:block;font-size: 13px; margin-bottom:3px}
.m-float span{display:block;color:var(--muted);font-size: 12px; line-height: 1.35}
.m-float-1{left:14px; bottom:14px}
.m-float-2{right:14px; top:14px}

.m-section{
  padding: 66px 0;
}
.m-section-alt{
  background: var(--surface-2);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.m-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 18px;
  margin-bottom: 18px;
}
.m-section h2{
  margin:0;
  font-size: clamp(24px, 2.4vw, 34px);
  letter-spacing:-.4px;
}
.m-section-lead{
  margin:0;
  color: var(--muted);
  line-height: 1.65;
  max-width: 60ch;
}

.m-cards{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
}
.m-card{
  display:flex;
  gap: 14px;
  padding: 18px 18px;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
  text-decoration:none;
}
.m-card b{display:block;margin-bottom:4px}
.m-card p{margin:0;color:var(--muted);line-height:1.55;font-size:14px}
.m-ico{
  width:40px;height:40px;border-radius: 14px;
  background: linear-gradient(135deg, rgba(37,99,235,.16), rgba(14,165,233,.12));
  border: 1px solid rgba(37,99,235,.18);
  box-shadow: 0 10px 24px rgba(37,99,235,.10);
  flex: 0 0 auto;
}
.m-ico-2{background: linear-gradient(135deg, rgba(22,163,74,.14), rgba(14,165,233,.10)); border-color: rgba(22,163,74,.18)}
.m-ico-3{background: linear-gradient(135deg, rgba(14,165,233,.12), rgba(37,99,235,.12)); border-color: rgba(14,165,233,.18)}

.m-steps{
  list-style:none;
  margin: 0;
  padding: 0;
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 12px;
}
.m-steps li{
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
  padding: 16px 16px;
}
.m-steps b{display:block;margin-bottom:6px}
.m-steps span{display:block;color:var(--muted);font-size: 13px;line-height:1.45}

.m-grid-2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.m-panel{
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
  padding: 18px 18px;
}
.m-panel b{display:block;margin-bottom:10px}
.m-panel p{margin:0;color:var(--muted);line-height:1.65}
.m-list{
  margin:0;
  padding-left: 18px;
  color: var(--muted);
  line-height:1.75;
}
.m-mini{
  margin-top: 12px;
  display:flex;
  gap: 10px;
}
.m-mini > div{
  flex:1;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,.75);
  padding: 12px 12px;
}
.m-mini b{display:block;margin:0;font-size: 16px}
.m-mini span{display:block;color:var(--muted);font-size: 12px}

.m-quotes{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
}
.m-quote{
  margin:0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
  padding: 18px 18px;
}
.m-quote blockquote{
  margin:0 0 14px;
  color: rgba(15,23,42,.88);
  line-height:1.7;
}
.m-quote figcaption b{display:block}
.m-quote figcaption span{color:var(--muted);font-size: 13px}

.m-cta{
  padding: 56px 0;
}
.m-cta-inner{
  border: 1px solid rgba(37,99,235,.18);
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(37,99,235,.10), rgba(14,165,233,.08));
  box-shadow: var(--shadow);
  padding: 24px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
}
.m-cta-inner h2{margin:0 0 6px;font-size: 28px;letter-spacing:-.4px}
.m-cta-inner p{margin:0;color:var(--muted);line-height:1.6}
.m-cta-actions{display:flex;gap:10px;flex-wrap:wrap}

/* Responsive */
@media (max-width: 980px){
  .motors-hero-grid{grid-template-columns: 1fr; }
  .motors-footer-inner{grid-template-columns:1fr}
  .motors-social{justify-content:flex-start}
  .m-hero-grid{grid-template-columns:1fr}
  .m-trust{grid-template-columns:1fr}
  .m-cards{grid-template-columns:1fr}
  .m-steps{grid-template-columns:1fr}
  .m-grid-2{grid-template-columns:1fr}
  .m-quotes{grid-template-columns:1fr}
  .m-cta-inner{flex-direction:column; align-items:flex-start}
}

/* ——— Подбор размера (главная) ——— */
.lp-size-guide{
  padding: 6rem 5%;
  background: #f8f9fa;
  scroll-margin-top: 5.5rem;
  overflow-x: clip;
  min-width: 0;
}
.lp-size-guide-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: 2rem;
  margin-bottom: 2.5rem;
  min-width: 0;
}
.lp-size-guide-card{
  background: #fff;
  border-radius: 16px;
  padding: 2rem 2rem 1.75rem;
  box-shadow: 0 5px 24px rgba(26, 26, 46, 0.08);
  min-width: 0;
  max-width: 100%;
}
.lp-size-guide-card h3{
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 1.15rem;
  margin: 0 0 1rem;
  color: #1a1a2e;
  letter-spacing: .03em;
}
.lp-size-guide-list{
  margin: 0;
  padding-left: 1.15rem;
  color: #555;
  line-height: 1.65;
  font-weight: 300;
  list-style: disc;
}
.lp-size-guide-list li{margin-bottom: .65rem}
.lp-size-table-wrap{
  overflow-x: auto;
  margin: .5rem 0 1rem;
  -webkit-overflow-scrolling: touch;
}
.lp-size-table{
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  font-weight: 300;
}
.lp-size-table th,
.lp-size-table td{
  border: 1px solid #e2e8f0;
  padding: .65rem .75rem;
  text-align: center;
}
.lp-size-table thead th{
  background: #1a1a2e;
  color: #fff;
  font-weight: 500;
  letter-spacing: .03em;
}
.lp-size-table tbody tr:nth-child(even){ background: #f8fafc }
.lp-size-guide-note{
  font-size: 13px;
  color: #64748b;
  margin: 0;
  line-height: 1.55;
}
.lp-size-guide-cta{
  text-align: center;
  padding: 2rem 1.5rem;
  background: linear-gradient(135deg, rgba(26, 26, 46, 0.06) 0%, rgba(233, 69, 96, 0.08) 100%);
  border-radius: 16px;
  border: 1px solid rgba(26, 26, 46, 0.08);
}
.lp-size-guide-cta p{
  margin: 0 0 1.25rem;
  font-size: 1.05rem;
  color: #334155;
  font-weight: 300;
}
.lp-size-guide .lp-hero-actions{ justify-content: center }

/* ——— Страница контактов OpenCart ——— */
main.lp-contact-page{
  min-height: 70vh;
  padding-bottom: 4rem;
}
main.lp-contact-page > .lp-container,
main.lp-success-page > .lp-container{
  padding-top: 0;
}
main.lp-contact-page #content.lp-contact-page-main,
main.lp-success-page #content.lp-success-main{
  padding-top: 0;
}
.lp-contact-page-columns{
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: flex-start;
}
.lp-contact-page-main{
  flex: 1 1 560px;
  min-width: 0;
}
.lp-panel{
  background: #fff;
  border-radius: 16px;
  padding: 1.75rem 1.5rem 1.5rem;
  box-shadow: 0 5px 24px rgba(26, 26, 46, 0.08);
  margin-bottom: 2rem;
}
.lp-panel-title{
  font-family: var(--font-sans);
  font-size: 1.15rem;
  font-weight: 500;
  margin: 0 0 1.25rem;
  color: #1a1a2e;
  letter-spacing: .04em;
}
.lp-panel-subtitle{
  font-family: var(--font-sans);
  font-size: 1.05rem;
  font-weight: 500;
  margin: 1.5rem 0 1rem;
  color: #1a1a2e;
}
.lp-loc-primary{ margin-bottom: 0 }
.lp-loc-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
  gap: 1.25rem 1.5rem;
  align-items: start;
  min-width: 0;
}
.lp-loc-image-wrap{
  max-width: 220px;
}
.lp-loc-image{
  width: 100%;
  height: auto;
  border-radius: 12px;
  display: block;
}
.lp-loc-name{
  display: block;
  font-size: 1.05rem;
  margin-bottom: .5rem;
  color: #1a1a2e;
}
.lp-loc-address{
  font-style: normal;
  color: #475569;
  line-height: 1.55;
  margin: 0 0 .75rem;
  font-weight: 300;
}
.lp-loc-owner{
  margin: 0.35rem 0 0.75rem;
  font-size: 14px;
  color: var(--muted);
  font-style: normal;
}
.lp-loc-link{
  color: inherit;
  text-decoration: none;
}
.lp-loc-link:hover{
  color: var(--accent);
  text-decoration: underline;
}
.lp-loc-label{
  display: block;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #94a3b8;
  margin-bottom: .35rem;
}
.lp-loc-value{
  margin: 0;
  color: #1a1a2e;
  font-weight: 300;
}
.lp-loc-muted{
  color: #64748b;
  font-size: 14px;
  line-height: 1.55;
  font-weight: 300;
}
.lp-loc-extra-list{
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.lp-loc-card{
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 1.25rem;
  background: #fafafa;
}
.lp-btn--small{
  display: inline-block;
  margin-top: .5rem;
  padding: .5rem 1.25rem;
  font-size: 12px;
  text-transform: none;
  letter-spacing: .04em;
}
.lp-form-contact{
  max-width: 640px;
}
.lp-form-row{
  margin-bottom: 1.25rem;
}
.lp-form-label{
  display: block;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .03em;
  color: #475569;
  margin-bottom: .45rem;
}
.lp-req{ color: #e94560 }
.lp-form-input,
.lp-form-textarea{
  width: 100%;
  max-width: 100%;
  font-family: var(--font-sans);
  font-weight: 300;
  font-size: 15px;
  padding: .85rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fafafa;
  color: #1a1a2e;
  transition: border-color .2s, box-shadow .2s;
}
.lp-form-textarea{
  min-height: 160px;
  resize: vertical;
  line-height: 1.5;
}
.lp-form-input:focus,
.lp-form-textarea:focus{
  outline: none;
  border-color: rgba(233, 69, 96, 0.45);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(233, 69, 96, 0.12);
}
.lp-form-error{
  font-size: 13px;
  color: #dc2626;
  margin-top: .35rem;
  min-height: 0;
}
.lp-form-actions{
  margin-top: 1.5rem;
}
.lp-form-actions .lp-btn{
  border: none;
  cursor: pointer;
  font-family: var(--font-sans);
}
.lp-form-captcha{ margin-top: .5rem }

/* ——— Страница успеха (форма отправлена) ——— */
.lp-success-page{ min-height: 60vh; padding-bottom: 4rem }
.lp-success-layout{
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
.lp-success-main{ flex: 1 1 480px; min-width: 0 }
.lp-success-card{
  background: #fff;
  border-radius: 16px;
  padding: 2.5rem 2rem;
  box-shadow: 0 5px 24px rgba(26, 26, 46, 0.08);
  max-width: 560px;
}
.lp-success-message{
  margin: 0 0 1.75rem;
  color: #475569;
  line-height: 1.65;
  font-weight: 300;
  font-size: 1.05rem;
}

/* ——— Информационные страницы (Catalog → Information) ——— */
main.lp-info-page{
  min-height: 70vh;
  padding-bottom: 4rem;
}
.lp-info-content{
  overflow: hidden;
}
.lp-info-description{
  color: #475569;
  font-weight: 300;
  line-height: 1.8;
  font-size: 16px;
}
.lp-info-description h1,
.lp-info-description h2,
.lp-info-description h3{
  font-family: var(--font-sans);
  font-weight: 400;
  color: #1a1a2e;
  letter-spacing: .02em;
  margin: 1.25rem 0 .75rem;
}
.lp-info-description h2{ font-size: 1.35rem; }
.lp-info-description h3{ font-size: 1.1rem; }
.lp-info-description p{
  margin: 0 0 1rem;
}
.lp-info-description a{
  color: #e94560;
  text-decoration: none;
  border-bottom: 1px solid rgba(233, 69, 96, 0.35);
}
.lp-info-description a:hover{
  border-bottom-color: rgba(233, 69, 96, 0.75);
}
.lp-info-description ul,
.lp-info-description ol{
  margin: 0 0 1rem;
  padding-left: 1.25rem;
  color: #475569;
}
.lp-info-description ul{ list-style: disc; }
.lp-info-description ol{ list-style: decimal; }
.lp-info-description li{ margin-bottom: .4rem; }
.lp-info-description table{
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0 1.25rem;
  font-size: 14px;
}
.lp-info-description th,
.lp-info-description td{
  border: 1px solid #e2e8f0;
  padding: .65rem .75rem;
  text-align: left;
  vertical-align: top;
}
.lp-info-description thead th{
  background: #f8fafc;
  color: #1a1a2e;
  font-weight: 500;
}

/* ——— Правовая информация (prewoman/legal) ——— */
/* как у информационных страниц: отступ под шапку уже даёт .lp-page-top, глобальный #content его дублирует */
main.pw-legal-page #content.pw-legal-main{
  padding-top: 0;
}
.pw-legal-main{
  max-width: 920px;
  min-width: 0;
}
.pw-legal-head{ margin-bottom: 1.5rem; }
.pw-legal-head__sub{
  margin: -.5rem 0 1rem;
  color: var(--muted);
  font-weight: 300;
  line-height: 1.6;
}
.pw-legal-head__meta{
  display: flex;
  flex-wrap: wrap;
  gap: .35rem 1.5rem;
  margin: 0 0 1.25rem;
  font-size: 14px;
}
.pw-legal-head__meta div{ display: flex; gap: .4rem; }
.pw-legal-head__meta dt{ font-weight: 500; color: #1a1a2e; }
.pw-legal-head__meta dd{ margin: 0; color: #475569; font-weight: 300; }
.pw-legal-head__actions{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1.25rem;
}
.pw-legal-link{
  color: var(--accent);
  text-decoration: none;
  border-bottom: 1px solid rgba(178, 58, 72, 0.35);
  font-size: 14px;
  white-space: nowrap;
}
.pw-legal-link:hover{ border-bottom-color: rgba(178, 58, 72, 0.8); }

.pw-legal-body{ font-size: 15px; overflow-wrap: break-word; }
.pw-legal-body h2{ margin-top: 2rem; scroll-margin-top: calc(var(--lp-header-offset) + 1rem); }
.pw-legal-body h3,
.pw-legal-body h4{ scroll-margin-top: calc(var(--lp-header-offset) + 1rem); }
.pw-legal-body h4{ font-size: 1rem; font-weight: 500; color: #1a1a2e; margin: 1rem 0 .5rem; }
.pw-legal-body .pw-legal-cont{ padding-left: 1.25rem; }
.pw-legal-note{
  margin: 1rem 0 1.25rem;
  padding: .9rem 1.1rem;
  border-left: 3px solid var(--accent);
  background: #faf6f4;
  border-radius: 0 8px 8px 0;
}
.pw-legal-note p:last-child{ margin-bottom: 0; }
.pw-legal-table{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 1rem 0 1.25rem;
}
.pw-legal-table table{ margin: 0; min-width: 520px; }
.pw-legal-toc{
  margin: 0 0 2rem;
  padding: 1rem 1.25rem;
  background: #f8fafc;
  border-radius: 12px;
}
.pw-legal-toc__title{ font-weight: 500; color: #1a1a2e; margin: 0 0 .5rem !important; }
.pw-legal-toc ol{
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  columns: 2 280px;
  column-gap: 2rem;
  font-size: 14px;
  line-height: 1.5;
}
.pw-legal-toc li{ break-inside: avoid; margin-bottom: .35rem; }
.pw-legal-toc a{ border-bottom: 0 !important; }

.pw-legal-seller__list{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: .9rem 1.5rem;
  margin: 0;
}
.pw-legal-seller__list dt{ font-size: 13px; color: var(--muted); font-weight: 400; margin-bottom: .15rem; }
.pw-legal-seller__list dd{ margin: 0; color: #1a1a2e; overflow-wrap: anywhere; }
.pw-legal-seller__list a{ color: inherit; }
.pw-legal-group{ margin-bottom: 2rem; }
.pw-legal-group__title{
  font-family: var(--font-sans);
  font-size: 1.05rem;
  font-weight: 500;
  color: #1a1a2e;
  margin: 0 0 .75rem;
  letter-spacing: .02em;
}
.pw-legal-list{
  list-style: none;
  margin: 0;
  padding: 0;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 5px 24px rgba(26, 26, 46, 0.08);
}
.pw-legal-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem 1.5rem;
  padding: 1rem 1.25rem;
}
.pw-legal-item + .pw-legal-item{ border-top: 1px solid #eef0f3; }
.pw-legal-item__text{ display: grid; gap: .15rem; min-width: 0; }
.pw-legal-item__title{ color: #1a1a2e; font-weight: 500; text-decoration: none; }
.pw-legal-item__title:hover{ color: var(--accent); }
.pw-legal-item__meta{ font-size: 13px; color: var(--muted); font-weight: 300; }
.pw-legal-item__actions{ display: flex; gap: 1rem; flex-shrink: 0; }
@media (max-width: 640px){
  .pw-legal-item{ flex-direction: column; align-items: flex-start; }
  .pw-legal-body{ font-size: 15px; line-height: 1.7; }
}

/* ——— Личный кабинет (account/*) ——— */
.pw-account-page{
  padding-bottom: 4rem;
}
.pw-account-page > .lp-container{
  padding-top: 0;
}
/* Крошки уже под шапкой; #content не должен давать второй отступ */
.pw-account-page.lp-catalog-page .lp-page-top{
  padding-top: calc(var(--lp-header-offset) + 0.35rem);
  padding-bottom: 0;
}
.pw-account-page .lp-page-top .lp-breadcrumb-list{
  margin-bottom: 0.5rem;
}
.pw-account-page #content.pw-account-main{
  padding-top: 0;
  margin-top: 0;
}
.pw-account-page #content.pw-account-main > .module:empty{
  display: none;
  margin: 0;
  padding: 0;
}
.pw-account-page .lp-catalog-h1{
  margin-top: 0;
}
.pw-account-actions{
  margin-top: 1.5rem;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}
.pw-account-actions--split{
  justify-content: space-between;
}
.pw-account-panel{
  margin-top: 0.25rem;
}
.pw-account-list{
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.pw-account-list-item{
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
  justify-content: space-between;
  align-items: flex-start;
  padding: 14px 16px;
  background: rgba(255,255,255,0.72);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.pw-account-list-body{
  flex: 1 1 240px;
  font-size: 14px;
  line-height: 1.55;
  color: var(--text);
}
.pw-account-list-actions{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.pw-account-table-wrap{
  overflow-x: auto;
  margin: 0.25rem 0 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255,255,255,0.72);
}
.pw-account-table{
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  margin: 0;
}
.pw-account-table th,
.pw-account-table td{
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}
.pw-account-table thead th{
  font-weight: 500;
  text-align: left;
  background: rgba(27, 26, 23, 0.03);
}
.pw-account-table tbody tr:last-child td{
  border-bottom: 0;
}
.pw-account-table .text-end{ text-align: right; }
.pw-account-table .text-start{ text-align: left; }
.pw-account-table .text-center{ text-align: center; }
.pw-account-pager{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 1rem;
  font-size: 13px;
  color: var(--muted);
}
.pw-btn-sm{
  padding: 8px 12px;
  font-size: 13px;
}
.pw-btn-danger{
  color: #b23a48;
  border-color: rgba(244, 63, 94, 0.28);
}
.pw-btn-danger:hover{
  background: rgba(244, 63, 94, 0.06);
}
/* Bootstrap-остатки в address_form / order_info */
.pw-account-page #content .row.mb-3,
.pw-account-page #content .row.mb-3.required{
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  margin: 0 0 1rem;
}
.pw-account-page #content .row.mb-3 > [class*="col-"]{
  width: 100%;
  max-width: 100%;
  flex: none;
  padding: 0;
}
.pw-account-page #content fieldset{
  border: 0;
  margin: 0;
  padding: 0;
  min-width: 0;
}
.pw-account-page #content fieldset > legend{
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 1.05rem;
  margin: 0 0 1rem;
  padding: 0;
  float: none;
  width: auto;
}
.pw-account-page #content form{
  background: rgba(255,255,255,0.72);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.25rem 1.35rem 1.35rem;
  box-shadow: var(--shadow-sm);
}
.pw-account-page #content form.pw-account-card{
  /* уже карточка через класс */
}
.pw-account-page #content .row:not(.mb-3){
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  align-items: center;
  margin: 1.25rem 0 0;
}
.pw-account-page #content .row:not(.mb-3) > .col,
.pw-account-page #content .row:not(.mb-3) > [class*="col-"]{
  flex: 0 0 auto;
  width: auto;
  padding: 0;
}
.pw-account-register-lead{
  margin: 0 0 1.35rem;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}
.pw-account-register-lead a{
  color: var(--accent);
  text-decoration: none;
}
.pw-account-register-lead a:hover{
  text-decoration: underline;
}
.pw-account-register-form{
  margin-top: .25rem;
}
.pw-account-form-section{
  margin: 0 0 1.5rem;
  padding: 0 0 1.5rem;
  border: 0;
  border-bottom: 1px solid var(--line);
}
.pw-account-form-section:last-of-type{
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}
.pw-account-form-section--captcha{
  padding-top: .25rem;
}
.pw-account-form-section-title{
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 1.05rem;
  margin: 0 0 1rem;
  letter-spacing: .02em;
}
.pw-account-register-form fieldset{
  border: 0;
  margin: 0;
  padding: 0;
  min-width: 0;
}
.pw-account-register-form .invalid-feedback{
  display: block;
  margin-top: 6px;
  font-size: 13px;
  color: #b23a48;
}
.pw-account-form-footer{
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
}
.pw-account-form-footer .pw-btn-primary{
  align-self: flex-end;
}
.pw-account-form-footer--split{
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.pw-account-form-section--compact{
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}
.pw-account-agree{
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted);
}
.pw-form-checks{
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 6px;
}
.pw-form-check{
  display: inline-flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-size: 14px;
  line-height: 1.45;
}
.pw-form-check input{
  margin-top: 3px;
  accent-color: var(--accent);
}
.pw-form-check--switch input{
  width: 18px;
  height: 18px;
}
.lp-catalog-textarea{
  min-height: 110px;
  resize: vertical;
}
.pw-form-upload{
  margin-top: 6px;
}
.pw-input-group{
  display: flex;
  align-items: stretch;
  gap: 0;
}
.pw-input-group .lp-catalog-input{
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  flex: 1 1 auto;
}
.pw-input-group-addon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-left: 0;
  border-radius: 0 var(--radius-xs) var(--radius-xs) 0;
  background: rgba(255,255,255,0.72);
  color: var(--muted);
}
.pw-account-page--register .form-control,
.pw-account-page--register .form-select{
  width: 100%;
  border: 1px solid var(--line);
  border-radius: var(--radius-xs);
  padding: 12px 14px;
  font-size: 14px;
  background: #fff;
}
.pw-account-shell{
  display: grid;
  grid-template-columns: minmax(200px, 240px) minmax(0, 1fr);
  gap: 2rem;
  align-items: start;
}
.pw-account-page--guest .pw-account-shell{
  display: block;
}
#column-right.pw-account-aside-slot,
.pw-account-aside-slot{
  position: sticky;
  top: calc(5.25rem + 12px);
}
.pw-account-nav{
  background: rgba(255,255,255,0.72);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 10px;
  box-shadow: var(--shadow-sm);
}
.pw-account-nav-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.pw-account-nav-link{
  display: block;
  padding: 10px 12px;
  border-radius: var(--radius-xs);
  color: var(--text);
  text-decoration: none;
  font-size: 14px;
  line-height: 1.35;
  transition: background .15s, color .15s;
}
.pw-account-nav-link:hover{
  background: rgba(178, 58, 72, 0.08);
  color: var(--accent);
}
.pw-account-nav-item--logout{
  margin-top: 6px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}
.pw-account-nav-link--logout{
  color: rgba(27, 26, 23, 0.62);
}
.pw-account-nav-link--logout:hover{
  color: var(--accent);
}
.pw-account-login-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  margin-top: 0;
}
.pw-account-card{
  background: rgba(255,255,255,0.86);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.5rem 1.35rem;
  box-shadow: var(--shadow-sm);
  height: 100%;
  display: flex;
  flex-direction: column;
}
.pw-account-card-title{
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 1.15rem;
  margin: 0 0 .75rem;
  letter-spacing: .02em;
}
.pw-account-card-lead{
  margin: 0 0 .5rem;
  font-size: 15px;
}
.pw-account-card-text{
  margin: 0 0 1.25rem;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
  flex: 1 1 auto;
}
.pw-account-card-actions{
  margin-top: auto;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.pw-account-form .pw-form-field{
  margin-bottom: 1rem;
}
.pw-account-forgot{
  margin: .5rem 0 0;
  font-size: 13px;
}
.pw-account-forgot a{
  color: var(--accent);
  text-decoration: none;
}
.pw-account-forgot a:hover{
  text-decoration: underline;
}
.pw-account-dashboard{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 1.25rem;
}
.pw-account-links{
  list-style: none;
  margin: 0;
  padding: 0;
}
.pw-account-links li + li{
  margin-top: 6px;
}
.pw-account-links a{
  color: var(--text);
  text-decoration: none;
  font-size: 14px;
  line-height: 1.45;
  display: inline-block;
  padding: 4px 0;
}
.pw-account-links a:hover{
  color: var(--accent);
}
.pw-account-actions{
  margin-top: 1.75rem;
  display: flex;
  justify-content: flex-end;
}
.pw-account-empty{
  padding: 2rem 1.5rem;
  text-align: center;
  color: var(--muted);
  background: rgba(255,255,255,0.86);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.pw-wishlist-grid{
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.pw-wishlist-item{
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 1rem 1.25rem;
  padding: 1rem 1.1rem;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  align-items: start;
}
.pw-wishlist-item-img{
  display: block;
  border-radius: var(--radius-xs);
  overflow: hidden;
  background: var(--surface-2);
}
.pw-wishlist-item-img img{
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.pw-wishlist-item-title{
  font-size: 1rem;
  font-weight: 400;
  margin: 0 0 .35rem;
}
.pw-wishlist-item-title a{
  color: var(--text);
  text-decoration: none;
}
.pw-wishlist-item-title a:hover{
  color: var(--accent);
}
.pw-wishlist-item-meta{
  font-size: 13px;
  margin: 0 0 .25rem;
  color: var(--muted);
}
.pw-wishlist-item-price{
  margin: .5rem 0 .75rem;
}
.pw-wishlist-item-price .price-new{
  font-weight: 500;
  color: var(--accent);
}
.pw-wishlist-item-price .price-old{
  margin-left: 8px;
  color: rgba(27, 26, 23, 0.45);
  text-decoration: line-through;
  font-size: 13px;
}
.pw-wishlist-item-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.pw-wishlist-item-actions .pw-btn span{
  margin-left: 6px;
}

/* ——— Карточка заказа (account/order_info) ——— */
.pw-order-summary{
  margin: 0 0 1.35rem;
  padding: 1.35rem 1.4rem 1.4rem;
  background: rgba(255,255,255,0.86);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}
.pw-order-summary__head{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px 20px;
  margin-bottom: 1.25rem;
  padding-bottom: 1.15rem;
  border-bottom: 1px solid var(--line);
}
.pw-order-summary__eyebrow{
  margin: 0 0 4px;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.pw-order-summary__title{
  margin: 0;
  font-size: clamp(1.45rem, 2.4vw, 1.85rem);
  letter-spacing: .01em;
  line-height: 1.25;
}
.pw-order-status{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(178, 58, 72, 0.08);
  border: 1px solid rgba(178, 58, 72, 0.18);
  color: var(--accent);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
}
.pw-order-status i{
  font-size: 10px;
  opacity: .85;
}
.pw-order-facts{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px 16px;
}
.pw-order-fact{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}
.pw-order-fact__icon{
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--surface-2);
  border: 1px solid var(--line);
  color: var(--accent);
  font-size: 14px;
}
.pw-order-fact__body{
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.pw-order-fact__label{
  font-size: 12px;
  line-height: 1.35;
  color: var(--muted);
  font-weight: 500;
}
.pw-order-fact__value{
  font-size: 14px;
  line-height: 1.45;
  color: var(--text);
  font-weight: 400;
  word-break: break-word;
}
.pw-order-addresses{
  margin-top: 1.25rem;
  padding-top: 1.2rem;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 14px;
}
.pw-order-addresses--split{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.pw-order-address{
  padding: 14px 16px;
  border-radius: var(--radius-xs);
  background: rgba(246, 243, 238, 0.55);
  border: 1px solid rgba(27, 26, 23, 0.08);
}
.pw-order-address__head{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.pw-order-address__head .pw-order-fact__icon{
  width: 34px;
  height: 34px;
  font-size: 13px;
}
.pw-order-address__title{
  margin: 0;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .02em;
  color: var(--text);
}
.pw-order-address__body{
  font-size: 14px;
  line-height: 1.6;
  color: var(--muted);
  padding-left: 44px;
}
.pw-order-note{
  margin: 0 0 1.25rem;
  padding: 1.1rem 1.25rem;
  background: rgba(255,255,255,0.72);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.pw-order-note__head{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.pw-order-note__title{
  margin: 0;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 500;
}
.pw-order-note__body{
  font-size: 14px;
  line-height: 1.6;
  color: var(--muted);
  padding-left: 44px;
}
.pw-order-history{
  margin: 0 0 .5rem;
}
.pw-order-history__title{
  margin: 0 0 .85rem;
  font-family: var(--font-sans);
  font-size: 1.05rem;
  font-weight: 400;
  letter-spacing: .02em;
}
.pw-order-history__body .pw-account-table-wrap,
.pw-order-history__body > .table-responsive{
  margin-top: 0;
}

/* Fallback: старые шаблоны account/* без pw-account-page */
body.pw-is-account [id^="account-"].container{
  max-width: min(1200px, calc(100% - 2 * var(--pw-gutter)));
  margin-inline: auto;
  padding-top: calc(var(--lp-header-offset) + 1.5rem);
  padding-bottom: 4rem;
  font-family: var(--font-sans);
}
body.pw-is-account [id^="account-"].container .breadcrumb{
  display: none;
}
body.pw-is-account #column-right .list-group{
  display: none;
}

@media (max-width: 900px){
  .pw-account-shell{
    grid-template-columns: 1fr;
  }
  #column-right.pw-account-aside-slot,
  .pw-account-aside-slot{
    position: static;
  }
  .pw-account-login-grid{
    grid-template-columns: 1fr;
  }
  .pw-order-addresses--split{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 520px){
  .pw-wishlist-item{
    grid-template-columns: 80px minmax(0, 1fr);
  }
  .pw-order-summary{
    padding: 1.15rem 1.1rem 1.2rem;
  }
  .pw-order-facts{
    grid-template-columns: 1fr;
  }
  .pw-order-address__body,
  .pw-order-note__body{
    padding-left: 0;
  }
}

@media (max-width: 720px){
  .motors-nav{display:none}
  .motors-grid-3{grid-template-columns:1fr}
  .motors-hero{padding-top:38px}
  .m-hero h1{letter-spacing:-.6px}
  .m-section{padding: 54px 0}
}

/* ===== Mobile / touch refinements (PreWoman storefront) ===== */
@media (max-width: 880px){
  #content,
  .pw-home{
    padding-top: calc(var(--lp-header-offset-mobile) + env(safe-area-inset-top, 0px));
  }
  .pw-account-page #content.pw-account-main{
    padding-top: 0;
  }
  .pw-account-page.lp-catalog-page .lp-page-top{
    padding-top: calc(var(--lp-header-offset-mobile) + 0.35rem + env(safe-area-inset-top, 0px));
  }
  .lp-page-top{
    padding-top: calc(var(--lp-header-offset-mobile) + var(--lp-catalog-title-gap, 1.5rem) + env(safe-area-inset-top, 0px));
  }
  .lp-container .lp-breadcrumb{
    padding-top: 25px;
  }
  body.pw-is-account [id^="account-"].container{
    max-width: none;
    padding-top: calc(var(--lp-header-offset-mobile) + 1.25rem + env(safe-area-inset-top, 0px));
    padding-inline: max(var(--pw-gutter), env(safe-area-inset-left)) max(var(--pw-gutter), env(safe-area-inset-right));
  }

  .pw-section{
    padding: 48px 0;
  }
  .pw-section-head{
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 16px;
  }
  .pw-h1{
    font-size: clamp(28px, 7.5vw, 40px);
    line-height: 1.06;
  }
  .pw-h2{
    font-size: clamp(22px, 5.8vw, 30px);
  }
  .pw-lead{
    font-size: 15px;
    line-height: 1.65;
  }
  .pw-actions{
    width: 100%;
  }
  .pw-actions .pw-btn{
    flex: 1 1 auto;
    min-height: 44px;
    justify-content: center;
  }
  .pw-newsletter{
    gap: 16px;
  }
  .pw-newsletter .pw-btn{
    width: 100%;
    justify-content: center;
  }

  /* Ленты товаров: свайп до края экрана, заголовки — с отступом контейнера */
  .pw-home-latest .pw-carousel,
  .pw-home-bestsellers .pw-carousel,
  .pw-ribbon[data-pw-carousel-root] .pw-carousel{
    margin-inline: calc(-1 * var(--pw-gutter));
  }
  .pw-ribbon--latest .pw-ribbon-scroll,
  .pw-carousel__scroll{
    padding-inline: var(--pw-gutter);
    scroll-padding-inline: var(--pw-gutter);
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }
  .pw-ribbon--latest .pw-ribbon-item{
    flex-basis: clamp(200px, 78vw, 260px);
  }

  .pw-hero-banner__inner.lp-container{
    padding-inline: max(var(--pw-gutter), env(safe-area-inset-left)) max(var(--pw-gutter), env(safe-area-inset-right));
  }

  .pw-footer__links a{
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 6px 0;
  }
  .pw-footer__social a{
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .lp-breadcrumb-list{
    font-size: 12px;
    line-height: 1.45;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }
}

@media (max-width: 520px){
  :root{
    --lp-header-offset-mobile: 7.35rem;
  }
  .pw-section{
    padding: 40px 0;
  }
  .pw-cats{ grid-template-columns: 1fr; gap: 12px; }
  .pw-products{ grid-template-columns: 1fr; }
  .pw-benefit-grid{ gap: 14px; }
  .pw-benefit{
    padding: 16px 18px;
  }

  .pw-carousel__btn{
    width: 36px;
    height: 36px;
  }
  .pw-carousel__dots{
    margin-top: 12px;
  }
  .pw-carousel__dot{
    width: 8px;
    height: 8px;
    min-width: 8px;
    min-height: 8px;
  }

  .pw-hero-banner__slide{
    min-height: min(68vh, 480px);
    padding: 56px 0 44px;
  }
  .pw-hero-banner__dot{
    width: 8px;
    height: 8px;
    min-width: 8px;
    min-height: 8px;
  }
}
