/* POST-01 Widgets — базовий шар. Усі кольори/розміри перекриваються з Elementor. */

.p01-hero,
.p01-cards,
.p01-products,
.p01-about,
.p01-service,
.p01-cta,
.p01-heading,
.p01-stats-strip,
.p01-features,
.p01-specs,
.p01-overview,
.p01-phero,
.p01-catalog,
.p01-cats,
.p01-cats-toggle,
.p01-modal,
.p01-modal__box{
  --p01-brand:#8B1E24;
  --p01-brand-dark:#70181d;
  --p01-ink:#111315;
  --p01-muted:#666a70;
  --p01-line:#e1e3e5;
  --p01-soft:#f6f6f5;
  --p01-radius:20px;
  --p01-fade:#ffffff;
  --p01-copy-w:52%;
  --p01-media-offset:42%;
  --p01-media-top:42%;
  --p01-media-h:230px;
  --p01-media-w:57%;
  color:var(--p01-ink);
  box-sizing:border-box;
}
.p01-hero *,.p01-cards *,.p01-products *,.p01-about *,.p01-service *,.p01-cta *,.p01-heading *{box-sizing:border-box}
.p01-hero img,.p01-cards img,.p01-products img,.p01-about img,.p01-service img,.p01-cta img{display:block;max-width:100%}

/* ---------- Загальні елементи ---------- */
.p01-eyebrow{
  display:flex;align-items:center;gap:12px;
  color:var(--p01-brand);font-weight:800;font-size:13px;line-height:1;
  text-transform:uppercase;letter-spacing:.055em;margin-bottom:14px;
}
.p01-eyebrow:before{content:"";width:28px;height:3px;border-radius:20px;background:currentColor;flex:0 0 auto}

.p01-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  min-height:56px;padding:0 26px;border-radius:9px;border:1px solid transparent;
  font-weight:700;font-size:14px;line-height:1;text-transform:uppercase;letter-spacing:.02em;
  text-decoration:none;transition:.2s ease;cursor:pointer;
}
.p01-btn--primary{background:var(--p01-brand);color:#fff}
.p01-btn--primary:hover{background:var(--p01-brand-dark);color:#fff;transform:translateY(-1px)}
.p01-btn--outline{background:#fff;color:var(--p01-brand);border-color:var(--p01-brand)}
.p01-btn--outline:hover{background:var(--p01-brand);color:#fff}
.p01-btn__arrow{font-style:normal;font-size:1.6em;line-height:0}

.p01-arrow{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;
  background:var(--p01-brand);color:#fff;font-size:21px;transition:.2s ease;
}

/* ---------- Заголовок секції ---------- */
.p01-heading__title{margin:0;font-size:clamp(30px,3vw,48px);line-height:1.08;letter-spacing:-.025em}
.p01-heading__sub{margin-top:12px;color:var(--p01-muted);font-size:16px;line-height:1.55}
.p01-heading .p01-eyebrow{justify-content:flex-start}

/* ---------- HERO ---------- */
.p01-hero{
  position:relative;display:flex;align-items:center;overflow:hidden;
  background:#111;color:#fff;min-height:720px;
  --p01-hero-overlay:#0A0B0C;--p01-hero-overlay-a:.95;--p01-hero-spread:61%;
}
.p01-hero__bg{position:absolute;inset:0}
.p01-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 48%}
.p01-hero__overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.28));
}
.p01-hero__overlay:before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,
    color-mix(in srgb, var(--p01-hero-overlay) calc(var(--p01-hero-overlay-a) * 100%), transparent) 0%,
    color-mix(in srgb, var(--p01-hero-overlay) calc(var(--p01-hero-overlay-a) * 88%), transparent) 34%,
    color-mix(in srgb, var(--p01-hero-overlay) calc(var(--p01-hero-overlay-a) * 34%), transparent) var(--p01-hero-spread),
    transparent 100%);
}
/* фолбек для браузерів без color-mix */
@supports not (background: color-mix(in srgb, #000 50%, transparent)){
  .p01-hero__overlay:before{background:linear-gradient(90deg,rgba(10,11,12,.95) 0%,rgba(10,11,12,.83) 34%,rgba(10,11,12,.32) 61%,rgba(10,11,12,.08) 100%)}
}
.p01-hero__inner{position:relative;z-index:2;width:100%;display:flex;padding:86px 0 110px}
.p01-hero__copy{max-width:740px}
.p01-hero__title{margin:0;font-size:clamp(38px,4.6vw,76px);line-height:1.08;letter-spacing:-.025em;text-transform:uppercase}
.p01-hero__text{font-size:21px;line-height:1.45;color:rgba(255,255,255,.76);max-width:410px;margin:26px 0 34px}
.p01-hero .p01-eyebrow{color:#d85a60;font-size:15px;margin-bottom:28px}

/* ---------- Спільна логіка «фото збоку + текст поверх градієнта» ---------- */
.p01-card,
.p01-product,
.p01-service{
  position:relative;overflow:hidden;background:#fff;
  border:1px solid var(--p01-line);border-radius:var(--p01-radius);
  text-decoration:none;color:inherit;display:block;
}
.p01-card__media,
.p01-product__media,
.p01-service__media{position:absolute;inset:0 0 0 var(--p01-media-offset);background:var(--p01-soft)}
.p01-card__media img,
.p01-service__media img{width:100%;height:100%;object-fit:cover}
.p01-product__media{display:flex;align-items:center;justify-content:center;padding:26px 24px}
.p01-product__media img{width:88%;height:88%;object-fit:contain}
.p01-card:after,
.p01-product:after,
.p01-service:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,
    var(--p01-fade) 0%,
    var(--p01-fade) calc(var(--p01-media-offset) - 4%),
    color-mix(in srgb, var(--p01-fade) 55%, transparent) calc(var(--p01-media-offset) + 16%),
    transparent calc(var(--p01-media-offset) + 32%));
}
@supports not (background: color-mix(in srgb, #000 50%, transparent)){
  .p01-card:after,.p01-product:after,.p01-service:after{
    background:linear-gradient(90deg,#fff 0%,#fff 38%,rgba(255,255,255,.85) 52%,rgba(255,255,255,0) 74%);
  }
}
.p01-card__copy,
.p01-product__copy,
.p01-service__copy{
  position:relative;z-index:2;width:var(--p01-copy-w);min-width:0;
  display:flex;flex-direction:column;padding:30px 28px 26px;
}

/* Картки напрямів */
.p01-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.p01-card{min-height:300px;transition:.25s ease}
.p01-card__copy{--p01-copy-w:48%}
.p01-card__icon{
  width:48px;height:48px;border:2px solid var(--p01-brand);border-radius:14px;color:var(--p01-brand);
  display:grid;place-items:center;font-size:22px;margin-bottom:16px;flex:0 0 auto;
}
.p01-card__title{margin:0;font-size:24px;line-height:1.12;letter-spacing:-.02em}
.p01-card__text{font-size:14px;line-height:1.52;color:var(--p01-muted);margin:12px 0 18px}
.p01-card .p01-arrow{margin-top:auto}
.p01-hover-lift-yes .p01-card:hover{transform:translateY(-3px);box-shadow:0 20px 55px rgba(18,20,22,.08)}
.p01-card:hover .p01-arrow{background:var(--p01-brand-dark);transform:translateX(2px)}

/* Класична картка (зображення зверху) */
.p01-media-top .p01-card{display:flex;flex-direction:column}
.p01-media-top .p01-card__media{position:relative;inset:auto;width:100%;height:220px}
.p01-media-top .p01-card__copy{width:100%}
.p01-media-top .p01-card:after{display:none}

/* Продукція */
.p01-products__panel{display:none}
.p01-products__panel.is-active{display:block}
.p01-products__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.p01-product{min-height:330px;transition:.25s ease}
.p01-product:hover{transform:translateY(-3px);box-shadow:0 20px 55px rgba(18,20,22,.08)}
.p01-product__media img{transition:transform .3s ease;filter:drop-shadow(0 22px 26px rgba(12,15,17,.09))}
.p01-product:hover .p01-product__media img{transform:scale(1.035)}
.p01-product__cat{font-weight:800;font-size:12px;line-height:1;text-transform:uppercase;letter-spacing:.05em;color:var(--p01-brand);margin-bottom:12px}
.p01-product__title{margin:0;font-size:25px;line-height:1.16;letter-spacing:-.02em}
.p01-product__country{font-size:13px;color:#8a8e92;margin-top:10px}
.p01-product__text{
  margin-top:16px;font-size:14px;line-height:1.45;color:#5f6469;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.p01-product__bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:18px}
.p01-product__mark{font-weight:700;font-size:12px;line-height:1;text-transform:uppercase;letter-spacing:.04em;color:#a0a3a6}

.p01-tabs{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-bottom:24px}
.p01-tab{
  border:0;background:transparent;padding:0 0 10px;cursor:pointer;
  color:#9a9da1;font-weight:700;font-size:14px;line-height:1;border-bottom:2px solid transparent;
}
.p01-tab.is-active{color:var(--p01-brand);border-bottom-color:var(--p01-brand)}
.p01-products__more{display:flex;justify-content:center;margin-top:30px}

/* Про компанію */
.p01-about{
  display:grid;grid-template-columns:var(--p01-media-w) minmax(0,1fr);
  border:1px solid var(--p01-line);border-radius:var(--p01-radius);overflow:hidden;background:#fff;
}
.p01-media-pos-right .p01-about{grid-template-columns:minmax(0,1fr) var(--p01-media-w)}
.p01-media-pos-right .p01-about__media{order:2}
.p01-about__media{min-height:500px;position:relative;background:#eee}
.p01-about__media img{width:100%;height:100%;object-fit:cover}
.p01-about__copy{padding:54px 56px;display:flex;flex-direction:column;justify-content:center}
.p01-about__title{margin:0;font-size:clamp(28px,3vw,46px);line-height:1.08;letter-spacing:-.025em}
.p01-about__text{font-size:15px;line-height:1.65;color:var(--p01-muted);margin-top:18px}
.p01-about__text p{margin:0 0 12px}
.p01-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;margin-top:30px;padding-top:28px;border-top:1px solid var(--p01-line)}
.p01-stat{border-left:3px solid var(--p01-brand);padding-left:14px}
.p01-stat__value{display:block;font-weight:800;font-size:34px;line-height:1}
.p01-stat__label{display:block;font-size:12px;color:#80858a;margin-top:6px}

/* Сервіс */
.p01-service{min-height:360px}
.p01-service__copy{--p01-copy-w:56%;padding:42px 40px 38px}
.p01-service__title{margin:0;font-size:clamp(26px,2.4vw,38px);line-height:1.1;letter-spacing:-.025em}
.p01-service__text{margin:14px 0 0;color:var(--p01-muted);font-size:15px;line-height:1.6}
.p01-service__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:30px}
.p01-service__item{padding-top:18px;border-top:1px solid var(--p01-line)}
.p01-service__icon{font-size:28px;color:var(--p01-brand);margin-bottom:10px;line-height:1}
.p01-service__item h4{margin:0 0 7px;font-size:16px;line-height:1.2}
.p01-service__item p{margin:0;font-size:13px;line-height:1.48;color:var(--p01-muted)}

/* CTA */
.p01-cta{
  display:grid;grid-template-columns:var(--p01-copy-w) minmax(0,1fr);
  border:1px solid var(--p01-line);border-radius:var(--p01-radius);overflow:hidden;background:var(--p01-soft);
}
.p01-cta__copy{padding:46px 48px;display:flex;flex-direction:column;justify-content:center}
.p01-cta__title{margin:0;font-size:clamp(26px,2.6vw,36px);line-height:1.1;letter-spacing:-.025em}
.p01-cta__text{font-size:15px;color:var(--p01-muted);margin:14px 0 24px;line-height:1.6}
.p01-cta__actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.p01-cta__phone{font-weight:800;font-size:20px;line-height:1.1}
.p01-cta__note{display:block;font-weight:500;font-size:12px;line-height:1.4;color:#888;margin-top:5px}
.p01-cta__media img{width:100%;height:100%;object-fit:cover;min-height:330px}

/* ---------- Адаптив ---------- */
@media(max-width:1024px){
  .p01-about{grid-template-columns:1fr}
  .p01-media-pos-right .p01-about{grid-template-columns:1fr}
  .p01-media-pos-right .p01-about__media{order:0}
  .p01-about__media{min-height:360px}
  .p01-cta{grid-template-columns:1fr}
}
@media(max-width:767px){
  .p01-hero__inner{padding:110px 0 80px}
  .p01-hero__text{max-width:100%}

  /* На мобільному фото стає окремим блоком зверху — жодних накладань тексту. */
  .p01-card,
  .p01-product,
  .p01-service{display:flex;flex-direction:column}
  .p01-card__media,
  .p01-product__media,
  .p01-service__media{position:relative;inset:auto;width:100%;height:var(--p01-media-h);flex:0 0 auto}
  .p01-product__media{padding:18px}
  .p01-card__copy,
  .p01-product__copy,
  .p01-service__copy{width:100%}
  .p01-card:after,
  .p01-product:after,
  .p01-service:after{display:none}

  .p01-service__cols{grid-template-columns:1fr;gap:18px}
  .p01-about__copy,
  .p01-cta__copy{padding:34px 24px}
  .p01-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .p01-cta__actions{gap:18px}
  .p01-tabs{gap:18px;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .p01-tab{white-space:nowrap}
}


/* ---------- HERO: світлий split-варіант ---------- */
.p01-hero-split .p01-hero{
  --p01-split-w:52%;
  background:var(--p01-soft);color:var(--p01-ink);
  border:1px solid var(--p01-line);border-radius:var(--p01-radius);
}
.p01-hero-split .p01-hero__bg{left:auto;right:0;width:var(--p01-split-w)}
.p01-hero-split .p01-hero__overlay{background:none}
.p01-hero-split .p01-hero__overlay:before{
  background:linear-gradient(90deg,
    var(--p01-soft) 0%,
    var(--p01-soft) calc(100% - var(--p01-split-w) - 2%),
    color-mix(in srgb, var(--p01-soft) 60%, transparent) calc(100% - var(--p01-split-w) + 14%),
    transparent calc(100% - var(--p01-split-w) + 30%));
}
.p01-hero-split .p01-hero__title,
.p01-hero-split .p01-hero__text{color:inherit}
.p01-hero-split .p01-hero__text{color:var(--p01-muted)}
.p01-hero-split .p01-eyebrow{color:var(--p01-brand)}

/* ---------- Смуга цифр / характеристик ---------- */
.p01-stats-strip{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid var(--p01-line);border-radius:var(--p01-radius);overflow:hidden;background:#fff;
}
.p01-strip__item{position:relative;padding:28px 30px}
.p01-strip__item:not(:last-child):after{content:"";position:absolute;right:0;top:20px;bottom:20px;width:1px;background:var(--p01-line)}
.p01-strip__value{display:block;font-weight:800;font-size:34px;line-height:1.05;color:var(--p01-brand)}
.p01-strip__label{display:block;font-size:13px;color:var(--p01-muted)}
.p01-strip-value_first .p01-strip__item{display:flex;flex-direction:column-reverse}
.p01-strip-value_first .p01-strip__label{margin-top:8px}
.p01-strip-label_first .p01-strip__label{margin-bottom:6px}
.p01-strip-label_first .p01-strip__value{color:var(--p01-ink);font-size:20px}

/* ---------- Картки переваг ---------- */
.p01-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.p01-feature{
  border:1px solid var(--p01-line);border-radius:16px;background:#fff;padding:28px;
}
.p01-feature__icon{
  width:46px;height:46px;border:2px solid var(--p01-brand);border-radius:13px;color:var(--p01-brand);
  display:grid;place-items:center;font-weight:800;margin-bottom:18px;flex:0 0 auto;
}
.p01-feature__title{margin:0 0 9px;font-size:19px;line-height:1.2}
.p01-feature__text{margin:0;font-size:13.5px;line-height:1.5;color:var(--p01-muted)}
.p01-feat-inline .p01-feature{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start}
.p01-feat-inline .p01-feature__icon{margin-bottom:0}

/* ---------- Таблиця характеристик ---------- */
.p01-specs{--p01-intro-w:41%;display:grid;grid-template-columns:var(--p01-intro-w) minmax(0,1fr);gap:26px;align-items:start}
.p01-specs-intro- .p01-specs,
.p01-specs:not(:has(.p01-specs__intro)){grid-template-columns:1fr}
.p01-specs__intro{border:1px solid var(--p01-line);border-radius:var(--p01-radius);background:#fff;padding:36px}
.p01-specs__title{margin:0 0 14px;font-size:clamp(24px,2.4vw,36px);line-height:1.1}
.p01-specs__text{margin:0 0 22px;color:var(--p01-muted);font-size:15px;line-height:1.6}
.p01-specs__table{border:1px solid var(--p01-line);border-radius:var(--p01-radius);background:#fff;overflow:hidden}
.p01-specs__row{display:grid;grid-template-columns:1fr 1.25fr;gap:20px;padding:18px 22px;border-bottom:1px solid var(--p01-line);font-size:14px}
.p01-specs__row:last-child{border-bottom:0}
.p01-specs__label{color:var(--p01-muted)}
.p01-specs__value{font-weight:700}

/* ---------- Огляд ---------- */
.p01-overview{
  --p01-media-w:50%;
  display:grid;grid-template-columns:var(--p01-media-w) minmax(0,1fr);
  border:1px solid var(--p01-line);border-radius:var(--p01-radius);overflow:hidden;background:#fff;
}
.p01-ov-pos-right .p01-overview{grid-template-columns:minmax(0,1fr) var(--p01-media-w)}
.p01-ov-pos-right .p01-overview__media{order:2}
.p01-overview__media{min-height:450px;background:var(--p01-soft)}
.p01-overview__media img{width:100%;height:100%;object-fit:cover}
.p01-overview__copy{padding:42px;display:flex;flex-direction:column;justify-content:center}
.p01-overview__title{margin:0 0 16px;font-size:clamp(21px,2vw,27px);line-height:1.15}
.p01-overview__text{color:var(--p01-muted);font-size:15px;line-height:1.6}
.p01-overview__text p{margin:0 0 12px}
.p01-overview__list{display:grid;gap:12px;margin:20px 0 0;padding:0;list-style:none}
.p01-overview__list li{position:relative;padding-left:26px;color:var(--p01-muted);font-size:14px;line-height:1.45}
.p01-overview__list li:before{content:"";position:absolute;left:0;top:6px;width:10px;height:10px;border:2px solid var(--p01-brand);border-radius:50%}

/* ---------- Картка товару (галерея + інфо) ---------- */
.p01-phero{
  --p01-gallery-w:52%;
  display:grid;grid-template-columns:var(--p01-gallery-w) minmax(0,1fr);
  border:1px solid var(--p01-line);border-radius:var(--p01-radius);overflow:hidden;background:#fff;
}
.p01-phero__gallery{
  position:relative;min-height:650px;padding:44px;
  display:flex;flex-direction:column;align-items:stretch;justify-content:center;
  background:linear-gradient(145deg,#fff 0%,#f7f7f6 58%,#eeeeec 100%);
}
.p01-phero__gallery > .p01-gal{flex:1 1 auto;min-height:0}
.p01-phero__main{max-width:88%;max-height:88%;object-fit:contain;transition:.3s ease}
.p01-phero__gallery:hover .p01-phero__main{transform:scale(1.02)}
.p01-phero__badge{
  position:absolute;top:24px;left:24px;z-index:6;border:1px solid var(--p01-line);background:#fff;border-radius:999px;
  padding:8px 12px;color:var(--p01-brand);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;
}
.p01-phero__info{padding:58px 60px 52px;display:flex;flex-direction:column;justify-content:center}
.p01-phero__title{margin:0 0 18px;font-size:clamp(28px,3.4vw,58px);line-height:1.1;letter-spacing:-.025em}
.p01-phero__subtitle{margin:0 0 24px;font-size:18px;line-height:1.5;color:var(--p01-muted)}
.p01-phero__chips{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px}
.p01-chip{
  display:inline-flex;align-items:center;gap:8px;border:1px solid var(--p01-line);border-radius:999px;
  padding:9px 12px;font-size:12px;color:#50555a;background:#fff;
}
.p01-chip b{color:var(--p01-ink)}
.p01-phero__lead{
  border-top:1px solid var(--p01-line);border-bottom:1px solid var(--p01-line);
  padding:24px 0;margin-bottom:28px;color:var(--p01-muted);font-size:15.5px;line-height:1.6;
}
.p01-phero__lead p{margin:0 0 10px}
.p01-phero__actions{display:flex;gap:14px;flex-wrap:wrap}
.p01-phero__note{margin-top:14px;font-size:12px;color:var(--p01-muted)}

/* ---------- Каталог ---------- */
.p01-catalog__toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px;flex-wrap:wrap}
.p01-catalog__title{margin:0;font-size:30px;line-height:1.15}
.p01-catalog__sub{margin:5px 0 0;font-size:13px;color:var(--p01-muted)}
.p01-catalog__actions{display:flex;gap:10px;flex-wrap:wrap}
.p01-search{
  min-width:260px;height:46px;border:1px solid var(--p01-line);border-radius:11px;background:#fff;
  display:flex;align-items:center;padding:0 14px;gap:10px;
}
.p01-search input{width:100%;border:0;outline:0;background:transparent;font-size:13px}
.p01-sort{height:46px;border:1px solid var(--p01-line);border-radius:11px;background:#fff;padding:0 14px;color:#4c5054;font-size:13px}
.p01-catalog__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.p01-pcard{
  display:flex;flex-direction:column;border:1px solid var(--p01-line);border-radius:18px;overflow:hidden;
  background:#fff;text-decoration:none;color:inherit;transition:.25s ease;
}
.p01-pcard:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(21,21,21,.07)}
.p01-pcard__media{
  height:285px;display:flex;align-items:center;justify-content:center;padding:26px;
  background:linear-gradient(145deg,#fff 0%,#f7f7f6 58%,#eeeeec 100%);
}
.p01-pcard__media img{width:100%;height:100%;object-fit:contain;transition:transform .3s ease}
.p01-pcard:hover .p01-pcard__media img{transform:scale(1.045)}
.p01-pcard__copy{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.p01-pcard__cat{font-size:11px;font-weight:800;color:var(--p01-brand);text-transform:uppercase;letter-spacing:.05em}
.p01-pcard__title{margin:7px 0 10px;font-size:18px;line-height:1.25}
.p01-pcard__bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
.p01-pcard__country{font-size:12px;color:var(--p01-muted)}
.p01-pcard .p01-arrow{width:40px;height:40px;font-size:20px}
.p01-pagination{display:flex;justify-content:center;gap:8px;margin-top:34px;flex-wrap:wrap}
.p01-page{
  width:42px;height:42px;border:1px solid var(--p01-line);border-radius:10px;display:grid;place-items:center;
  background:#fff;font-size:13px;font-weight:700;text-decoration:none;color:inherit;
}
.p01-page.is-active{background:var(--p01-brand);border-color:var(--p01-brand);color:#fff}
.p01-page:hover:not(.is-active){border-color:#c8c9ca;color:var(--p01-brand)}

/* ---------- Сайдбар категорій ---------- */
.p01-cats{border:1px solid var(--p01-line);border-radius:18px;background:#fff;overflow:hidden}
.p01-sticky-yes .p01-cats{position:sticky;top:122px}
.p01-cats__head{padding:24px 24px 20px;border-bottom:1px solid var(--p01-line)}
.p01-cats__heading{margin:0;font-size:20px;line-height:1.2}
.p01-cats__sub{margin:6px 0 0;font-size:13px;color:var(--p01-muted)}
.p01-cats__list{padding:10px}
.p01-cats__item{
  display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:12px;
  font-size:14px;font-weight:600;color:#35383b;text-decoration:none;transition:.18s ease;
}
.p01-cats__item:hover{background:var(--p01-soft);color:var(--p01-brand)}
.p01-cats__item.is-active{background:color-mix(in srgb, var(--p01-brand) 10%, #fff);color:var(--p01-brand)}
.p01-cats__icon{
  width:36px;height:36px;border:1px solid var(--p01-line);border-radius:10px;display:grid;place-items:center;
  color:var(--p01-brand);flex:0 0 auto;
}
.p01-cats__arrow{margin-left:auto;color:#a6a9ac}
.p01-cats__cta{padding:18px 20px 22px;background:var(--p01-soft)}
.p01-cats__cta strong{display:block;font-size:15px}
.p01-cats__cta span{display:block;font-size:12px;color:var(--p01-muted);margin:5px 0 13px}
.p01-cats__cta a{color:var(--p01-brand);font-size:13px;font-weight:800;text-decoration:none}
.p01-cats-toggle{
  display:none;width:100%;height:48px;border:1px solid var(--p01-line);border-radius:11px;background:#fff;
  padding:0 15px;text-align:left;font-weight:700;margin-bottom:14px;cursor:pointer;
}
.p01-cats-toggle span{float:right;color:var(--p01-brand)}

@media(max-width:1024px){
  .p01-specs{grid-template-columns:1fr}
  .p01-overview,.p01-ov-pos-right .p01-overview{grid-template-columns:1fr}
  .p01-ov-pos-right .p01-overview__media{order:0}
  .p01-phero{grid-template-columns:1fr}
  .p01-phero__gallery{min-height:500px}
}
@media(max-width:767px){
  .p01-hero-split .p01-hero{display:flex;flex-direction:column}
  .p01-hero-split .p01-hero__bg{position:relative;width:100%;height:230px;order:-1}
  .p01-hero-split .p01-hero__overlay{display:none}

  .p01-strip__item:after{display:none}
  .p01-strip__item{border-bottom:1px solid var(--p01-line)}
  .p01-strip__item:last-child{border-bottom:0}

  .p01-specs__row{grid-template-columns:1fr!important;gap:5px}
  .p01-overview__media{min-height:280px}
  .p01-overview__copy{padding:28px 22px}
  .p01-phero__gallery{min-height:390px;padding:26px}
  .p01-phero__info{padding:34px 24px}
  .p01-phero__actions .p01-btn{width:100%}

  .p01-catalog__toolbar{align-items:flex-start}
  .p01-catalog__actions{width:100%;flex-direction:column}
  .p01-search,.p01-sort{width:100%;min-width:0}
  .p01-cats.is-open{display:block}
  .p01-sticky-yes .p01-cats{position:static}
}

/* ---------- Woodmart: звільнення контенту з контейнера теми ---------- */
.p01-fullwidth #main-content.container,
.p01-fullwidth .wd-content-layout.container,
.p01-fullwidth .content-layout-wrapper.container,
.p01-fullwidth .main-page-wrapper > .container,
.p01-fullwidth .wd-page-content > .container,
.p01-fullwidth .site-content > .container{
  max-width:100%!important;
  width:100%!important;
  padding-left:0!important;
  padding-right:0!important;
  margin-left:0!important;
  margin-right:0!important;
}
.p01-fullwidth #main-content > .row,
.p01-fullwidth .main-page-wrapper > .container > .row,
.p01-fullwidth .wd-page-content > .container > .row{
  margin-left:0!important;
  margin-right:0!important;
}
.p01-fullwidth #main-content > .row > [class*="col-"],
.p01-fullwidth .main-page-wrapper > .container > .row > [class*="col-"],
.p01-fullwidth .wd-page-content > .container > .row > [class*="col-"]{
  padding-left:0!important;
  padding-right:0!important;
  max-width:100%!important;
  flex-basis:100%!important;
  width:100%!important;
}
/* Boxed-секції Elementor усередині лишаються по центру зі своїми полями. */
.p01-fullwidth .elementor-section.elementor-section-boxed > .elementor-container{
  padding-left:20px;
  padding-right:20px;
}

/* ---------- Woodmart: прихований заголовок сторінки ---------- */
.p01-hide-title .wd-page-title,
.p01-hide-title .page-title.wd-page-title,
.p01-hide-title .wd-page-content > .page-title{
  display:none!important;
}

/* ---------- Плавний перехід зображення у фон блока ---------- */
.p01-service,
.p01-cta,
.p01-about,
.p01-overview,
.p01-card,
.p01-product{--p01-fade-w:22%}

/* фото праворуч → розчиняємо лівий край */
.p01-fade-yes .p01-service__media,
.p01-fade-yes .p01-cta__media,
.p01-fade-yes.p01-media-pos-right .p01-about__media,
.p01-fade-yes.p01-ov-pos-right .p01-overview__media{
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--p01-fade-w));
  mask-image:linear-gradient(90deg,transparent 0,#000 var(--p01-fade-w));
}
/* фото ліворуч → розчиняємо правий край */
.p01-fade-yes .p01-about__media,
.p01-fade-yes .p01-overview__media{
  -webkit-mask-image:linear-gradient(270deg,transparent 0,#000 var(--p01-fade-w));
  mask-image:linear-gradient(270deg,transparent 0,#000 var(--p01-fade-w));
}
.p01-fade-yes.p01-media-pos-right .p01-about__media,
.p01-fade-yes.p01-ov-pos-right .p01-overview__media{
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--p01-fade-w));
  mask-image:linear-gradient(90deg,transparent 0,#000 var(--p01-fade-w));
}
@media(max-width:767px){
  /* на мобільному фото — окремий блок, розчиняємо нижній край */
  .p01-fade-yes .p01-service__media,
  .p01-fade-yes .p01-cta__media,
  .p01-fade-yes .p01-about__media,
  .p01-fade-yes .p01-overview__media{
    -webkit-mask-image:none;
    mask-image:none;
  }
}

/* ---------- Оформлення зображення в картках ---------- */
/* cover: фото заповнює всю область */
.p01-img-cover .p01-product__media{padding:0}
.p01-img-cover .p01-product__media img{width:100%;height:100%;object-fit:cover;filter:none}

/* frame: фото в рамці на власному фоні */
.p01-img-frame .p01-product__media{padding:22px}
.p01-img-frame .p01-product__media img{
  width:100%;height:100%;object-fit:contain;background:#fff;
  border:1px solid var(--p01-line);border-radius:14px;padding:14px;
}

/* fade: фото розчиняється у фон картки */
.p01-img-fade .p01-product__media img,
.p01-img-fade .p01-card__media img{
  -webkit-mask-image:radial-gradient(ellipse at center,#000 55%,transparent 92%);
  mask-image:radial-gradient(ellipse at center,#000 55%,transparent 92%);
}

/* ---------- Шапка секції: заголовок + таби праворуч ---------- */
.p01-section-head{
  display:flex;justify-content:space-between;align-items:flex-end;gap:30px;
  flex-wrap:wrap;margin-bottom:28px;
}
.p01-section-head__copy{max-width:720px}
.p01-section-head__title{margin:0;font-size:clamp(28px,3vw,48px);line-height:1.08;letter-spacing:-.025em}
.p01-section-head__sub{margin-top:12px;font-size:16px;line-height:1.55;color:var(--p01-muted)}
.p01-tabs-under .p01-section-head{display:block}
.p01-tabs-under .p01-tabs{margin-top:22px}
.p01-tabs-right .p01-tabs{margin-bottom:0}

/* Скидання стилів кнопок теми на табах */
.p01-products .p01-tab,
.p01-products .p01-tab:hover,
.p01-products .p01-tab:focus,
.p01-products .p01-tab:active{
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  border-top:0!important;border-left:0!important;border-right:0!important;
  outline:none!important;
  text-transform:uppercase;
  letter-spacing:.03em;
  min-height:0!important;
  height:auto!important;
}
.p01-products .p01-tab:focus-visible{box-shadow:0 2px 0 0 var(--p01-brand)!important}

@media(max-width:767px){
  .p01-section-head{flex-direction:column;align-items:flex-start;gap:18px}
}

/* ---------- Розмір і вписування зображення в картках ---------- */
.p01-card__media,
.p01-product__media{display:flex;align-items:center;justify-content:center}
.p01-card__media img,
.p01-product__media img{
  width:var(--p01-img-scale,100%);
  height:var(--p01-img-scale,100%);
  object-fit:var(--p01-img-fit,cover);
  object-position:var(--p01-img-pos,center);
  margin:auto;
}
.p01-img-frame .p01-product__media img,
.p01-img-frame .p01-card__media img{
  background:var(--p01-img-bg,#fff);
  border:1px solid var(--p01-line);
  border-radius:14px;
  padding:12px;
}

/* Коли ввімкнено плавний перехід — жорсткий градієнт-перекриття не потрібен */
.p01-fade-yes .p01-service:after{display:none}

/* ---------- Сервіс: фото окремою колонкою ---------- */
.p01-srv-split .p01-service{
  --p01-srv-media-w:45%;
  display:grid;grid-template-columns:var(--p01-srv-media-w) minmax(0,1fr);align-items:stretch;
}
.p01-srv-split.p01-srv-pos-right .p01-service{grid-template-columns:minmax(0,1fr) var(--p01-srv-media-w)}
.p01-srv-split.p01-srv-pos-right .p01-service__media{order:2}
.p01-srv-split .p01-service__media{position:relative;inset:auto;width:100%;height:100%}
.p01-srv-split .p01-service__media img{width:100%;height:100%;object-fit:cover}
.p01-srv-split .p01-service__copy{width:100%;justify-content:center}
.p01-srv-split .p01-service:after{display:none}

/* overlay: фото ліворуч */
.p01-srv-overlay.p01-srv-pos-left .p01-service__media{inset:0 var(--p01-media-offset) 0 0}
.p01-srv-overlay.p01-srv-pos-left .p01-service__copy{margin-left:auto}
.p01-srv-overlay.p01-srv-pos-left .p01-service:after{
  background:linear-gradient(270deg,
    var(--p01-fade) 0%,
    var(--p01-fade) calc(var(--p01-media-offset) - 4%),
    color-mix(in srgb, var(--p01-fade) 55%, transparent) calc(var(--p01-media-offset) + 16%),
    transparent calc(var(--p01-media-offset) + 32%));
}
.p01-fade-yes.p01-srv-pos-left .p01-service__media{
  -webkit-mask-image:linear-gradient(270deg,transparent 0,#000 var(--p01-fade-w));
  mask-image:linear-gradient(270deg,transparent 0,#000 var(--p01-fade-w));
}

/* Підпис-слоган у блоці «Про компанію» */
.p01-about__signature{margin-top:16px;font-weight:800;color:var(--p01-brand)}

@media(max-width:767px){
  .p01-srv-split .p01-service,
  .p01-srv-split.p01-srv-pos-right .p01-service{grid-template-columns:1fr}
  .p01-srv-split.p01-srv-pos-right .p01-service__media{order:0}
  .p01-srv-split .p01-service__media{height:var(--p01-media-h)}
}

/* Плавний перехід у картках: маска замість жорсткого перекриття */
.p01-fade-yes .p01-card__media,
.p01-fade-yes .p01-product__media{
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--p01-fade-w,28%));
  mask-image:linear-gradient(90deg,transparent 0,#000 var(--p01-fade-w,28%));
}
.p01-fade-yes .p01-card:after,
.p01-fade-yes .p01-product:after{display:none}
@media(max-width:767px){
  .p01-fade-yes .p01-card__media,
  .p01-fade-yes .p01-product__media{
    -webkit-mask-image:linear-gradient(180deg,#000 calc(100% - var(--p01-fade-w,28%)),transparent 100%);
    mask-image:linear-gradient(180deg,#000 calc(100% - var(--p01-fade-w,28%)),transparent 100%);
  }
}

/* ---------- Галерея товару ---------- */
.p01-phero{--p01-thumb:132px}
.p01-gal{position:relative;width:100%;height:100%;display:flex;align-items:center}
.p01-gal__viewport{overflow:hidden;width:100%;height:100%}
.p01-gal__track{height:100%}
.p01-gal__track{display:flex;transition:transform .35s ease;will-change:transform;touch-action:pan-y}
.p01-gal__track.is-dragging{transition:none}
.p01-gal__slide{flex:0 0 100%;display:flex;align-items:center;justify-content:center;min-height:0;padding:8px}
.p01-gal__slide img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none}
.p01-gal__nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:4;
  width:46px;height:46px;border-radius:50%;border:1px solid var(--p01-line);background:rgba(255,255,255,.92);
  color:var(--p01-ink);font-size:26px;line-height:1;display:grid;place-items:center;cursor:pointer;
  transition:.2s ease;padding:0 0 3px;
}
.p01-gal__nav:hover{background:var(--p01-brand);border-color:var(--p01-brand);color:#fff}
.p01-gal__nav--prev{left:14px}
.p01-gal__nav--next{right:14px}
.p01-phero__thumbs{
  position:static;z-index:3;flex:0 0 auto;width:100%;margin-top:16px;
  display:flex;gap:10px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.p01-phero__thumbs::-webkit-scrollbar{display:none}
.p01-thumb{
  width:var(--p01-thumb);height:var(--p01-thumb);flex:0 0 auto;
  border-radius:12px;background:#fff!important;border:1px solid var(--p01-line);
  display:flex;align-items:center;justify-content:center;padding:4px;cursor:pointer;transition:.2s ease;
  overflow:hidden;
}
.p01-thumb img{width:100%;height:100%;object-fit:contain}
.p01-thumb.is-active{border-color:var(--p01-brand);box-shadow:0 0 0 1px var(--p01-brand) inset}

@media(max-width:1024px){
  .p01-phero__gallery{padding:20px 16px 16px}
  .p01-gal__nav{width:40px;height:40px;font-size:22px}
  .p01-gal__nav--prev{left:6px}
  .p01-gal__nav--next{right:6px}
}
@media(max-width:767px){
  .p01-phero{--p01-thumb:80px}
  .p01-gal__slide img{max-height:100%}
}

/* ---------- Попап заявки ---------- */
.p01-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}
.p01-modal[hidden]{display:none!important}
.p01-modal__overlay{position:absolute;inset:0;background:rgba(15,17,19,.6)}
.p01-modal__box{
  position:relative;z-index:2;width:min(520px,100%);max-height:92vh;overflow:auto;
  background:#fff;border-radius:18px;padding:52px 34px 30px;box-shadow:0 30px 80px rgba(0,0,0,.28);
}
.p01-modal__close{
  position:absolute;top:12px;right:12px;z-index:3;
  width:36px;height:36px;display:grid;place-items:center;
  border:1px solid var(--p01-line);border-radius:50%;background:#fff;
  font-size:22px;line-height:1;color:#8b8f93;cursor:pointer;padding:0;
}
.p01-modal__close:hover{color:var(--p01-brand)}
.p01-modal__head h3{margin:0 0 8px;font-size:24px;line-height:1.2}
.p01-modal__head p{margin:0 0 14px;font-size:14px;line-height:1.5;color:var(--p01-muted)}
.p01-modal__product{
  font-size:13px;background:var(--p01-soft);border:1px solid var(--p01-line);
  border-radius:10px;padding:10px 12px;margin-bottom:16px;
}
.p01-modal__product span{color:var(--p01-muted)}
.p01-field{display:block;margin-bottom:14px}
.p01-field > span{display:block;font-size:12px;color:var(--p01-muted);margin-bottom:6px}
.p01-field input,
.p01-field textarea{
  width:100%;border:1px solid var(--p01-line);border-radius:10px;padding:12px 14px;
  font:inherit;font-size:14px;background:#fff;color:var(--p01-ink);
}
.p01-field input:focus,
.p01-field textarea:focus{outline:none;border-color:var(--p01-brand)}
.p01-lead-form .p01-btn{width:100%;margin-top:4px}
.p01-lead-form__msg{margin-top:12px;font-size:13px;min-height:18px}
.p01-lead-form__msg.is-error{color:#b3261e}
.p01-lead-form__msg.is-ok{color:#1e7a3c}
.p01-lead-form.is-sending{opacity:.6;pointer-events:none}

/* ---------- Захист від стилів теми Woodmart ---------- */
/* Кнопки: тема перефарбовує <button> у свій сірий стиль. */
.p01-btn.p01-btn--primary,
.p01-btn.p01-btn--primary:hover,
.p01-btn.p01-btn--primary:focus,
button.p01-btn.p01-btn--primary{
  background-color:var(--p01-brand)!important;
  color:#fff!important;
  border-color:var(--p01-brand)!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
.p01-btn.p01-btn--primary:hover,
button.p01-btn.p01-btn--primary:hover{background-color:var(--p01-brand-dark)!important;border-color:var(--p01-brand-dark)!important}
.p01-btn.p01-btn--outline,
button.p01-btn.p01-btn--outline{
  background-color:#fff!important;
  color:var(--p01-brand)!important;
  border-color:var(--p01-brand)!important;
  box-shadow:none!important;
}
.p01-btn.p01-btn--outline:hover,
button.p01-btn.p01-btn--outline:hover{background-color:var(--p01-brand)!important;color:#fff!important}

/* Зображення галереї: тема скидає розміри картинок. */
.p01-phero__gallery{overflow:hidden}
.p01-gal__slide img{
  max-width:100%!important;
  max-height:100%!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
}
.p01-thumb{overflow:hidden}
.p01-thumb img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
}

/* Поля форми: тема робить їх прозорими без рамки. */
.p01-modal .p01-field input,
.p01-modal .p01-field textarea,
.p01-modal .p01-field input[type="text"],
.p01-modal .p01-field input[type="tel"],
.p01-modal .p01-field input[type="email"]{
  width:100%!important;
  background-color:#fff!important;
  color:var(--p01-ink)!important;
  border:1px solid var(--p01-line)!important;
  border-radius:10px!important;
  padding:12px 14px!important;
  min-height:46px!important;
  box-shadow:none!important;
  font-size:14px!important;
  line-height:1.4!important;
  margin:0!important;
}
.p01-modal .p01-field textarea{min-height:84px!important}
.p01-modal .p01-field input:focus,
.p01-modal .p01-field textarea:focus{border-color:var(--p01-brand)!important;outline:none!important}
.p01-modal .p01-lead-form .p01-btn{width:100%!important;min-height:52px!important}

/* ---------- Каталог: захист від стилів теми ---------- */
.p01-cats-toggle,
.p01-cats-toggle:hover,
.p01-cats-toggle:focus{
  background-color:#fff!important;
  color:var(--p01-ink)!important;
  border:1px solid var(--p01-line)!important;
  border-radius:11px!important;
  box-shadow:none!important;
  outline:none!important;
  text-transform:none!important;
  font-size:14px!important;
  letter-spacing:normal!important;
}
.p01-cats-toggle:focus-visible{border-color:var(--p01-brand)!important}

.p01-search input,
.p01-search input[type="search"]{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0!important;
  min-height:0!important;
  height:auto!important;
  border-radius:0!important;
  font-size:13px!important;
}
.p01-search input:focus{outline:none!important}
.p01-sort,
select.p01-sort{
  background-color:#fff!important;
  color:#4c5054!important;
  border:1px solid var(--p01-line)!important;
  border-radius:11px!important;
  box-shadow:none!important;
  height:46px!important;
  min-height:46px!important;
}

/* Картка товару в каталозі: біле тло під фото, фото завжди вміщується. */
.p01-pcard__media{
  background:#fff!important;
  overflow:hidden;
  padding:20px;
}
.p01-pcard__media img{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  margin:auto;
}
.p01-pcard__copy{background:#fff}

@media(max-width:767px){
  .p01-pcard__media{padding:16px}
}

/* Посилання-кнопка «Отримати консультацію» в сайдбарі */
.p01-cats__cta-btn,
.p01-cats__cta-btn:hover,
.p01-cats__cta-btn:focus{
  border:0!important;
  background:none!important;
  padding:0!important;
  box-shadow:none!important;
  color:var(--p01-brand)!important;
  font-size:13px!important;
  font-weight:800!important;
  cursor:pointer;
  text-align:left;
  min-height:0!important;
  text-transform:none!important;
}

/* ---------- Іконки з бібліотеки Elementor ---------- */
.p01-service__icon i,
.p01-service__icon svg,
.p01-card__icon i,
.p01-card__icon svg,
.p01-feature__icon i,
.p01-feature__icon svg{
  font-size:inherit;
  width:1em;height:1em;
  fill:currentColor;
  color:inherit;
  display:block;
}

/* Пункт сервісу: іконка ліворуч, заголовок праворуч і більший */
.p01-service__item{display:block}
.p01-srv-ico-inline .p01-service__item{
  display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;
}
.p01-srv-ico-inline .p01-service__icon{margin-bottom:0;line-height:1}
.p01-service__item h4{font-size:19px;line-height:1.22}
.p01-service__item-body{min-width:0}

/* ---------- Прибираємо білу смугу над hero ---------- */
.p01-fullwidth #main-content.container,
.p01-fullwidth .wd-content-layout.container,
.p01-fullwidth .main-page-wrapper,
.p01-fullwidth .wd-page-content{
  padding-top:0!important;
  margin-top:0!important;
}
.p01-fullwidth .main-page-wrapper > .elementor,
.p01-fullwidth #main-content > .elementor{margin-top:0!important}

/* ---------- Мобільна картка: висота за вмістом ---------- */
@media(max-width:767px){
  .p01-card,
  .p01-card__copy,
  .p01-product,
  .p01-product__copy{min-height:0!important}
  .p01-card__media,
  .p01-product__media{height:var(--p01-media-h,230px)}
}

/* ---------- Продукція: карусель ---------- */
.p01-products__panel{position:relative}
.p01-products__grid{--p01-vis:2;--p01-cgap:20px}
.p01-products__nav{
  display:none;position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:46px!important;height:46px!important;min-height:0!important;
  border-radius:50%!important;
  border:1px solid var(--p01-line)!important;background:#fff!important;
  color:var(--p01-ink)!important;font-size:24px!important;line-height:1!important;
  align-items:center;justify-content:center;cursor:pointer;
  padding:0 0 3px!important;box-shadow:0 6px 18px rgba(0,0,0,.12)!important;
}
.p01-products__nav:hover{background:var(--p01-brand)!important;border-color:var(--p01-brand)!important;color:#fff!important}
.p01-products__nav--prev{left:-10px}
.p01-products__nav--next{right:-10px}

/* Стан «карусель»: горизонтальне гортання зі снапом. */
.p01-car-all .p01-products__grid{
  display:flex!important;
  gap:var(--p01-cgap);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding-bottom:4px;
}
.p01-car-all .p01-products__grid::-webkit-scrollbar{display:none}
.p01-car-all .p01-products__grid > *{
  flex:0 0 calc((100% - (var(--p01-vis) - 1) * var(--p01-cgap)) / var(--p01-vis));
  scroll-snap-align:start;
}
.p01-car-all .p01-products__nav{display:flex}

@media(max-width:767px){
  .p01-car-mobile .p01-products__grid{
    display:flex!important;
    gap:var(--p01-cgap);
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:4px;
  }
  .p01-car-mobile .p01-products__grid::-webkit-scrollbar{display:none}
  .p01-car-mobile .p01-products__grid > *{
    flex:0 0 calc((100% - (var(--p01-vis) - 1) * var(--p01-cgap)) / var(--p01-vis));
    scroll-snap-align:start;
  }
  .p01-car-mobile .p01-products__nav{display:flex}
  .p01-products__nav--prev{left:-4px}
  .p01-products__nav--next{right:-4px}
}

/* Картка товару без мітки та стрілки — без зайвої порожнечі знизу */
.p01-product__copy:not(:has(.p01-product__bottom)) .p01-product__text{margin-bottom:0}
.p01-product__bottom:empty{display:none}


/* ---------- Каталог: рівний тулбар ---------- */
.p01-catalog__actions{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}
.p01-catalog__actions > *{flex:1 1 240px;min-width:0}
.p01-search{
  height:46px;min-height:46px;box-sizing:border-box;
  display:flex;align-items:center;gap:10px;padding:0 14px;
  border:1px solid var(--p01-line);border-radius:11px;background:#fff;
}
.p01-search span{color:var(--p01-muted);font-size:15px;line-height:1}
.p01-sort{width:100%;box-sizing:border-box}

@media(max-width:900px){
  .p01-catalog__actions{width:100%}
  .p01-catalog__actions > *{flex:1 1 100%}
}

/* Кнопка-акордеон категорій — з 900px, як у макеті */
.p01-cats-toggle{display:none}
@media(max-width:900px){
  .p01-cats-toggle{display:block}
  .p01-cats{display:none}
  .p01-cats.is-open{display:block}
  .p01-sticky-yes .p01-cats{position:static}
}

/* ---------- Каталог: більший пошук на мобільному ---------- */
@media(max-width:767px){
  .p01-catalog__actions{gap:12px}
  .p01-search{
    height:54px!important;min-height:54px!important;
    padding:0 16px!important;gap:12px;
  }
  .p01-search span{font-size:18px}
  /* 16px — щоб iOS не зумив сторінку під час фокусу */
  .p01-search input,
  .p01-search input[type="search"]{font-size:16px!important}
  .p01-sort,
  select.p01-sort{
    height:54px!important;min-height:54px!important;
    font-size:15px!important;padding:0 16px!important;
  }
}


/* Іконка категорії: зображення з WooCommerce */
.p01-cats__icon img{width:100%;height:100%;object-fit:contain;border-radius:8px}
.p01-cats__icon i,
.p01-cats__icon svg{font-size:15px;width:1em;height:1em;fill:currentColor}


/* ---------- Форма: рамка на власній обгортці (тема скидає border у input) ---------- */
.p01-modal .p01-field{display:block;margin-bottom:14px}
.p01-modal .p01-field__label{display:block;font-size:12px;color:var(--p01-muted);margin-bottom:6px}
.p01-modal .p01-field__box{
  display:block;background:#fff;
  border:1px solid var(--p01-line);
  border-radius:10px;
  padding:0 14px;
  transition:border-color .18s ease;
}
.p01-modal .p01-field__box--area{padding:10px 14px}
.p01-modal .p01-field__box:focus-within{border-color:var(--p01-brand)}
.p01-modal .p01-field__box input,
.p01-modal .p01-field__box textarea{
  width:100%!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:none!important;
  padding:0!important;
  margin:0!important;
  height:46px!important;
  min-height:46px!important;
  font-size:15px!important;
  line-height:1.4!important;
  color:var(--p01-ink)!important;
  border-radius:0!important;
}
.p01-modal .p01-field__box textarea{height:88px!important;min-height:88px!important;padding:0!important;resize:vertical}

/* ---------- Галерея: висота за фото ---------- */
.p01-phero{--p01-img-max:560px}
.p01-gal__viewport{height:auto}
.p01-gal__track{align-items:stretch}
.p01-gal__slide img{max-height:var(--p01-img-max)!important}
@media(max-width:767px){
  .p01-phero{--p01-img-max:320px}
}
