:root {
  --bg: #ffffff;
  --text: #1e1e1e;
  --muted: #6b7280;
  --line: #e5e5e5;
  --soft: #efefef;
  --card: #ffffff;
  --shadow: 0 2px 8px rgba(0, 0, 0, .04);
  --accent: #2f9e44;
  --primary: var(--accent);
  --radius: 12px;
  --wrap: 1200px;
}

/* base */
* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, 'Helvetica Neue', Arial, sans-serif;
  color: var(--text);
  background: var(--bg);
  padding-bottom: 72px;
}
a { color: inherit; text-decoration: none; }

#ostrzenie-narzedzi .container { max-width: var(--wrap); margin: 0 auto; padding: 0 1rem; }
/* topbar */
#ostrzenie-narzedzi .topbar { background:#111; color:#fff; font-size:.875rem; }
#ostrzenie-narzedzi .topbar .row { display:flex; gap:1rem; align-items:center; justify-content:space-between; padding:.5rem 0; }
#ostrzenie-narzedzi .topbar small { opacity:.9; }
#ostrzenie-narzedzi .topbar .sep { opacity:.35; margin:0 .5rem; }

/* header */
#ostrzenie-narzedzi .header-row { display:flex; align-items:center; justify-content:space-between; padding:1rem 0; }
#ostrzenie-narzedzi .brand { font-weight:600; letter-spacing:.04em; }
#ostrzenie-narzedzi .brand b { background:var(--text); color:#fff; padding:.2rem .45rem; border-radius:8px; }
#ostrzenie-narzedzi .nav { display:flex; gap:1rem; font-weight:500; }
#ostrzenie-narzedzi .cta { display:inline-flex; align-items:center; gap:.5rem; padding:.7rem 1rem; }
#ostrzenie-narzedzi .btn {
  display:inline-flex; align-items:center; gap:.5rem; padding:.7rem 1rem;
  border-radius:12px; border:1px solid var(--line); background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.03);
  margin: 0 8px 8px 0;
  width: 100%;
  justify-content: center;
  max-width: 200px;
}
#ostrzenie-narzedzi .btn-primary { background:var(--accent); color:var(--bg); border-color:var(--accent); font-weight:600; }
#ostrzenie-narzedzi .btn-primary:hover { background:rgba(47,158,68,.06); }

/* HERO (общий, если используется как секция) */

#ostrzenie-narzedzi .hero {
  position:relative; left:50%; right:50%; margin-left:-50vw; margin-right:-50vw;
  width:100vw; overflow:hidden; border-bottom:1px solid var(--line); z-index:0;
}
#ostrzenie-narzedzi .hero img { width:100%; height:520px; object-fit:cover; display:block; }
#ostrzenie-narzedzi .hero .overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.25) 40%, rgba(0,0,0,0)); }
#ostrzenie-narzedzi .hero .caption { position:absolute; inset:0; display:grid; place-items:center; text-align:center; color:#fff; }
#ostrzenie-narzedzi .hero h1 { font-size:clamp(1.6rem, 2.5vw, 2.6rem); margin:0 1rem; font-weight:700; }
#ostrzenie-narzedzi .hero p { opacity:.95; margin:.5rem 1rem 0; }

/* section base */
h2 { font-size:2rem; text-align:center; margin:0 0 .5rem; }
.hr { width:72px; height:3px; margin:0 auto 1.5rem; background:var(--line); border-radius:2px; }

/* ribbon features */
.ribbon { padding:1.5rem 0; }
.ribbon-row { display:flex; align-items:stretch; justify-content:center; gap:0; }
.ribbon-item {
  position:relative; background:var(--soft); border:1px solid var(--line);
  border-radius:var(--radius); padding:0 20px; height:64px; display:flex; align-items:center; gap:12px;
}
.ribbon-item + .ribbon-item { margin-left:44px; }
.ribbon-item::after {
  content:""; position:absolute; top:0; right:-44px; width:0; height:0;
  border-left:44px solid var(--soft); border-top:32px solid transparent; border-bottom:32px solid transparent;
}
.ribbon-item + .ribbon-item::before {
  content:""; position:absolute; top:0; left:-44px; width:0; height:0;
  border-right:44px solid #ffffff; border-top:32px solid transparent; border-bottom:32px solid transparent;
}
.r-icon { width:28px; height:28px; color:var(--accent); display:inline-flex; align-items:center; justify-content:center; }
.r-h { font-weight:700; letter-spacing:.02em; text-transform:uppercase; font-size:.95rem; line-height:1.1; }
.r-s { font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:#6b7280; margin-top:2px; }

@media (max-width:900px){
  .ribbon-row{ flex-direction:column; gap:10px; }
  .ribbon-item{ height:auto; padding:12px 16px; border-radius:10px; }
  .ribbon-item::after, .ribbon-item::before{ display:none; }
  .ribbon-item + .ribbon-item{ margin-left:0; }
}

/* pricing */
.pricing{
  background:#f9fafb; border-radius:var(--radius); padding:2rem; max-width:640px; margin:0 auto 3rem;
  text-align:center; box-shadow:var(--shadow); border:1px solid var(--line);
}
.pricing ul{ list-style:none; padding:0; margin:0; }
.pricing li{ font-size:1.5rem; padding:.75rem 0; border-bottom:1px dashed #d1d5db; }
.pricing li:last-child{ border-bottom:none; }
.pricing li span{ white-space: nowrap }
.pricing .note{ margin-top:.75rem; font-size:.9rem; color:var(--muted); }

/* delivery */
.delivery{ background:#fff; padding:2rem; border-radius:var(--radius); box-shadow:var(--shadow); border:1px solid var(--line); margin-bottom:3rem; }
.delivery-list{ display:flex; flex-wrap:wrap; justify-content:center; gap:2rem; }
.card:not(section){
  background:var(--card); padding:2rem; border-radius:var(--radius); box-shadow:var(--shadow);
  border:1px solid var(--line); max-width:460px;
}
.card h3{ font-size:1.25rem; margin:.2rem 0 1rem; }
.card ul{ margin:.5rem 0 0 1rem; }
.highlight{ background:#f0faf3; color:var(--accent); padding:.75rem; border-radius:10px; font-weight:600; border:1px solid #d6eddc; }

/* reviews */
.reviews{ margin-bottom:3rem; }
.review-list{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:2rem; }
.review-box{
  background:var(--card); padding:1.5rem; border-radius:12px; box-shadow:0 2px 6px rgba(0,0,0,.04);
  flex:1; text-align:center; border:1px solid var(--line);
}

/* process */
.process{ background:#fff; padding:2rem; border-radius:var(--radius); box-shadow:var(--shadow); border:1px solid var(--line); margin-bottom:3rem; }
.process-list{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem; }
.step{ background:var(--soft); padding:2rem; border-radius:var(--radius); box-shadow:var(--shadow); flex:1; text-align:center; min-width:200px; max-width:280px; border:1px solid var(--line); }
.step img{ width:64px; height:64px; margin-bottom:1rem; }
.step strong{ display:block; margin-bottom:.5rem; }

/* faq */
.faq{ background:#fff; padding:2rem; border-radius:var(--radius); box-shadow:var(--shadow); border:1px solid var(--line); }
.faq details{ border:1px solid var(--line); border-radius:12px; padding:1rem 1rem; margin:.75rem 0; }
.faq summary{ cursor:pointer; font-weight:600; }
.faq p{ margin:.5rem 0 0; color:#1f2937; }

/* video */
.video-section{ background:#fff; padding:2rem; border-radius:var(--radius); box-shadow:var(--shadow); border:1px solid var(--line); margin-bottom:3rem; }
.ratio-16x9{ position:relative; width:100%; padding-top:56.25%; border-radius:16px; overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--line); }
.ratio-16x9 iframe, .ratio-16x9 video{ position:absolute; inset:0; width:100%; height:100%; }
/* placeholder */
.ratio-16x9::before{
  content:""; position:absolute; inset:0;
  background:url('https://pilne.shop/modules/an_homeslider/img/1e2b77100dc65557c59059408c48f952_3.png') center/cover no-repeat;
  filter:brightness(.9);
}
.ratio-16x9.has-video::before{ display:none; }

/* sticky cta (mobile) */
.sticky-cta{
  position:fixed; left:0; right:0; bottom:0; background:#fff; border-top:1px solid var(--line);
  box-shadow:0 -2px 10px rgba(0,0,0,.04); padding:.5rem; display:none; gap:.5rem; z-index:50;
}
.sticky-cta .btn{ flex:1; justify-content:center; }
@supports (padding: env(safe-area-inset-bottom)){
  .sticky-cta{ padding-bottom:calc(.5rem + env(safe-area-inset-bottom)); }
  body{ padding-bottom:calc(72px + env(safe-area-inset-bottom)); }
}

/* responsive */
@media (max-width:1024px){
  .features, .delivery-list, .review-list, .process-list { gap:1rem; }
}
@media (max-width:768px){
  #ostrzenie-narzedzi .hero img{ height:320px; }
  #ostrzenie-narzedzi .features,
  #ostrzenie-narzedzi .delivery-list,
  #ostrzenie-narzedzi .review-list,
  #ostrzenie-narzedzi .process-list { flex-direction:column; gap:1rem; align-content: center; }
  #ostrzenie-narzedzi .header-row{ padding:.75rem 0; }
  #ostrzenie-narzedzi nav{ display:none; }
  .sticky-cta{ display:flex; justify-content: center; }
}

/* link helper */
.link{ color:var(--accent); text-decoration:underline; text-underline-offset:2px; }

/* delivery equal widths */
.delivery-list .card{ flex:1 1 320px; }

/* pack */
.pack{ background:#fff; padding:2rem; border-radius:var(--radius); box-shadow:var(--shadow); border:1px solid var(--line); margin-bottom:3rem; }
.pack-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.pack .step{
  background:var(--soft); border:1px solid var(--line); border-radius:var(--radius);
  padding:16px; display:flex; gap:12px; align-items:flex-start;
}
.pack .num{
  width:28px; height:28px; border-radius:9999px; background:#fff; border:1px solid var(--accent);
  color:var(--accent); display:inline-flex; align-items:center; justify-content:center;
  font-weight:700; font-size:.9rem; flex:0 0 28px;
}
@media (max-width:1024px){ .pack-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .pack-grid {
    grid-template-columns:1fr;
    align-items: center;
    display: flex;
    flex-direction: column; } }


/* ====== FULL-WIDTH СЛАЙДЕР БЕЗ ПРАВОК ХУКА ====== */
/* 1) растягиваем блок слайдера на всю ширину даже если он внутри .container */
#content .an_homeslider,
#content .an_homeslider-block,
#content .an-homeslider,
#content .ps_imageslider,
#content .homeslider {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}

/* 2) убираем внутренние .container, которые тема вставляет в слайдер */
.an_homeslider .container,
.an_homeslider .an-homeslider-container,
.an-homeslider .container,
.ps_imageslider .container,
.homeslider .container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 3) делаем изображения адаптивными и задаём комфортную высоту */
.an_homeslider img,
.an-homeslider img,
.ps_imageslider img,
.homeslider img {
  width: 100%;
  height: 520px;
  display: block;
  object-fit: cover;
}

@media (max-width: 768px){
  .an_homeslider img,
  .an-homeslider img,
  .ps_imageslider img,
  .homeslider img { height: 320px; }
}
.page-ostrzenie-narzedzi [id] { scroll-margin-top: 90px; }
/* Убираем служебный заголовок и хлебные крошки только на странице ostrzenie */
body.page-ostrzenie-narzedzi .page-header,
body.page-ostrzenie-narzedzi .page-header-container,
body.page-ostrzenie-narzedzi .page-title,
body.page-ostrzenie-narzedzi .breadcrumb,
body.page-ostrzenie-narzedzi .breadcrumb-wrapper,
body.page-ostrzenie-narzedzi #header + .stuck_placeholder,
body.page-ostrzenie-narzedzi #header + .sticky-header-spacer,
body.page-ostrzenie-narzedzi #header + .header-spacer {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Сбрасываем верхний отступ у контента и первого блока */
body.page-ostrzenie-narzedzi #content,
body.page-ostrzenie-narzedzi .page-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
  display: flow-root; /* предотвращает схлопывание margin */
}
body.page-ostrzenie-narzedzi #content > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* --- FIX: убрать полосу над слайдером на этой странице --- */

/* 1) Паддинги секций — только внутри основного контента страницы */
main.container section { padding: 3rem 2rem; }

/* 2) У самого слайдера паддинга/маргина сверху не должно быть */
.an_homeslider,
.an-homeslider,
.ps_imageslider,
.homeslider {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

/* 3) Если обёрнули хук в .container-fluid — на всякий зануляем и её */
#content > .container-fluid:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* --- FINAL FIX: убираем остаточный зазор над слайдером только на /ostrzenie-narzedzi --- */

/* 0) на всякий: отключаем декоративные псевдоэлементы */
body.page-ostrzenie-narzedzi #content::before,
body.page-ostrzenie-narzedzi #content::after,
body.page-ostrzenie-narzedzi main::before,
body.page-ostrzenie-narzedzi main::after,
body.page-ostrzenie-narzedzi #wrapper::before,
body.page-ostrzenie-narzedzi #wrapper::after { content: none !important; }

/* 1) точечно обнуляем верхние отступы у основных обёрток темы */
body.page-ostrzenie-narzedzi main,
body.page-ostrzenie-narzedzi section#wrapper,
body.page-ostrzenie-narzedzi #wrapper,
body.page-ostrzenie-narzedzi #content,
body.page-ostrzenie-narzedzi .page-content,
body.page-ostrzenie-narzedzi #content-wrapper,
body.page-ostrzenie-narzedzi .columns {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 2) и у ПЕРВЫХ детей этих обёрток (часто именно тут сидит паддинг) */
body.page-ostrzenie-narzedzi main > .container:first-child,
body.page-ostrzenie-narzedzi main > .container-fluid:first-child,
body.page-ostrzenie-narzedzi #wrapper > .container:first-child,
body.page-ostrzenie-narzedzi #wrapper > .container-fluid:first-child,
body.page-ostrzenie-narzedzi #content > .container:first-child,
body.page-ostrzenie-narzedzi #content > .container-fluid:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 3) гасим возможные «прокладки» темы под фикс-хедер */
body.page-ostrzenie-narzedzi #header + .stuck_placeholder,
body.page-ostrzenie-narzedzi #header + .sticky-header-spacer,
body.page-ostrzenie-narzedzi #header + .header-spacer {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* 4) сам слайдер — без верхних отступов и full-width (только на этой странице) */
body.page-ostrzenie-narzedzi #content .an_homeslider,
body.page-ostrzenie-narzedzi #content .an_homeslider-block,
body.page-ostrzenie-narzedzi #content .an-homeslider,
body.page-ostrzenie-narzedzi #content .ps_imageslider,
body.page-ostrzenie-narzedzi #content .homeslider {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 5) внутренний контейнер слайдера — без боковых паддингов */
body.page-ostrzenie-narzedzi .an_homeslider .container,
body.page-ostrzenie-narzedzi .an-homeslider .container,
body.page-ostrzenie-narzedzi .ps_imageslider .container,
body.page-ostrzenie-narzedzi .homeslider .container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 6) высота изображений слайдера */
body.page-ostrzenie-narzedzi .an_homeslider img,
body.page-ostrzenie-narzedzi .an-homeslider img,
body.page-ostrzenie-narzedzi .ps_imageslider img,
body.page-ostrzenie-narzedzi .homeslider img {
  width: 100%;
  height: 520px;
  display: block;
  object-fit: cover;
}
@media (max-width: 768px){
  body.page-ostrzenie-narzedzi .an_homeslider img,
  body.page-ostrzenie-narzedzi .an-homeslider img,
  body.page-ostrzenie-narzedzi .ps_imageslider img,
  body.page-ostrzenie-narzedzi .homeslider img { height: 320px; }
}