/* See canvas doc for full version; this is the same starter */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--color-border)}
.site-header__bar{display:flex;align-items:center;gap:16px;padding:10px 0}
.site-header__logo{font-weight:800;font-size:20px;color:var(--color-text)}
.site-header__search{flex:1}
.site-header__icons{display:flex;gap:8px}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;border:1px solid var(--color-border);background:#fff}
.icon-btn:hover{background:var(--color-muted)}
.guarantees{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:768px){.guarantees{grid-template-columns:1fr}}
.guarantee{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:12px;background:#fff;border:1px solid var(--color-border)}
.product-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--color-border);border-radius:12px;background:#fff;box-shadow:var(--shadow-sm)}
.product-card__figure{position:relative;border-radius:8px;overflow:hidden;background:var(--color-muted)}
.product-card__figure .media{width:100%;aspect-ratio:1/1;object-fit:contain}
.product-card__badge{position:absolute;left:8px;top:8px}
.product-card__title{font-size:16px;font-weight:600;margin:0}
.product-card__price{display:flex;align-items:baseline;gap:8px}
.product-card__price .current{font-weight:800;font-size:18px}
.product-card__price .old{color:#64748b;text-decoration:line-through}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button {
        background: #18b5c4 !important;
    border-color: #18b5c4 !important;
    color: #fff !important;
    border-radius: 10px !important;

    font-weight: 800 !important;


}
.btn--primary:hover {
    color: #fff;
}

a:hover {
    text-decoration: none;
}

/* Страница шаблона Акции — не используем сетку каталога */
.page-template-page-aktsii .shop-layout { display: block; }
.page-template-page-aktsii .shop-main--wide { max-width: 100%; }

/* Сетка товаров на странице Акции */
.page-template-page-aktsii ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
@media (max-width: 1024px) {
  .page-template-page-aktsii ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .page-template-page-aktsii ul.products { grid-template-columns: 1fr; }
}


/* ========= CF7: clean UI в стилистике сайта ========= */
:root{
  --cf7-radius: 12px;
  --cf7-gap: 14px;
  --cf7-border: var(--color-border, #e5e7eb);
  --cf7-primary: var(--color-primary, #18b5c4);
  --cf7-text: var(--color-text, #0f172a);
  --cf7-muted: #64748b;
  --cf7-bg: #fff;
  --cf7-focus: 0 0 0 4px rgba(24,181,196,.15);
}

/* Сетка формы */
.wpcf7 .cf7-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: var(--cf7-gap);
}
.wpcf7 .cf7-full{ grid-column: 1 / -1; }

@media (max-width: 780px){
  .wpcf7 .cf7-grid{ grid-template-columns: 1fr; }
}

/* Поля */
.wpcf7 .cf7-field label{
  display:block; font-weight:700; margin: 2px 0 6px; color: var(--cf7-text);
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea{
  width:100%;
  border:1px solid var(--cf7-border);
  background: var(--cf7-bg);
  border-radius: var(--cf7-radius);
  padding: 10px 12px;
  outline: none;
  color: var(--cf7-text);
  transition: border-color .15s ease, box-shadow .15s ease;
}
.wpcf7 textarea{ min-height: 160px; resize: vertical; }

.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus{
  border-color: var(--cf7-primary);
  box-shadow: var(--cf7-focus);
}

/* Кнопка */
.wpcf7 input[type="submit"].btn,
.wpcf7 .btn{
  display:inline-flex; align-items:center; justify-content:center;
  height: 44px; padding: 0 18px;
  border-radius: 10px;
  font-weight: 800;
  border:1px solid var(--cf7-primary);
  background: var(--cf7-primary);
  color:#fff;
  cursor:pointer;
  transition: filter .12s ease, transform .12s ease, box-shadow .12s ease;
}
.wpcf7 .btn:hover{ filter: brightness(.95); }
.wpcf7.submitting .btn{ opacity:.75; pointer-events:none; }

/* Чекбоксы/радио — цвет бренда */
.wpcf7 input[type="checkbox"],
.wpcf7 input[type="radio"]{
  accent-color: var(--cf7-primary);
}
.wpcf7 .cf7-accept{ color: var(--cf7-muted); font-size: 14px; }
.wpcf7 .cf7-accept a{ color: var(--cf7-primary); text-decoration: underline; }

/* Ошибки и сообщения */
.wpcf7 .wpcf7-not-valid-tip{
  color:#ef4444; font-size:12px; margin-top:6px;
}
.wpcf7 form .wpcf7-response-output{
  margin:14px 0 0;
  border:1px solid var(--cf7-border);
  border-left:4px solid var(--cf7-primary);
  background:#f8fafc;
  color:#0f172a;
  border-radius: 10px;
  padding:10px 12px;
}
.wpcf7 form.invalid .wpcf7-response-output{ border-left-color:#ef4444; }
.wpcf7 form.sent .wpcf7-response-output{ border-left-color:#16a34a; }

/* Прячем спиннер, делаем состояние отправки */
.wpcf7 .ajax-loader{ display:none !important; }
.wpcf7.submitting .btn::after{
  content:""; width:16px; height:16px; margin-left:8px;
  border-radius:50%; border:2px solid rgba(255,255,255,.6);
  border-top-color:#fff; animation: cf7spin .6s linear infinite;
}
@keyframes cf7spin{ to{ transform: rotate(360deg); } }

/* Небольшое выравнивание блока действий */
.wpcf7 .cf7-actions{
  display:flex; align-items:center; gap:12px; justify-content:space-between; flex-wrap:wrap;
}


/* === CF7 compact variant === */
.wpcf7.wpcf7--compact { --cf7-gap: 10px; --cf7-radius: 10px; }

/* сетка */
.wpcf7.wpcf7--compact .cf7-grid{ gap: var(--cf7-gap); }

/* заголовки полей */
.wpcf7.wpcf7--compact .cf7-field label{
  font-size: 14px; margin: 1px 0 4px; font-weight: 700;
  color: var(--cf7-text);
}

/* поля ввода */
.wpcf7.wpcf7--compact input[type="text"],
.wpcf7.wpcf7--compact input[type="email"],
.wpcf7.wpcf7--compact input[type="tel"],
.wpcf7.wpcf7--compact select,
.wpcf7.wpcf7--compact textarea{
  padding: 8px 10px; border-radius: var(--cf7-radius); font-size: 14px;
}
.wpcf7.wpcf7--compact textarea{ min-height: 110px; }

/* кнопка */
.wpcf7.wpcf7--compact input[type="submit"].btn,
.wpcf7.wpcf7--compact .btn{
  height: 40px; padding: 0 14px; border-radius: 8px; font-size: 14px;
}

/* чекбоксы/радио */
.wpcf7.wpcf7--compact .cf7-accept{ font-size: 13px; }

/* сообщения и ошибки */
.wpcf7.wpcf7--compact .wpcf7-not-valid-tip{ font-size: 11px; margin-top: 4px; }
.wpcf7.wpcf7--compact form .wpcf7-response-output{
  margin: 10px 0 0; padding: 8px 10px; border-left-width: 3px; border-radius: 8px;
}

/* действия */
.wpcf7.wpcf7--compact .cf7-actions{ gap: 8px; }

/* спиннер на кнопке */
.wpcf7.wpcf7--compact.submitting .btn::after{
  width: 14px; height: 14px; margin-left: 6px; border-width: 2px;
}


.acc-body.instruction {
  display: flex;
  align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;

}

.acc-body.instruction  .file-info {
  display: flex;
  flex-direction: column;
  margin-left: 5px;

}


.acc-body.instruction  .instruction-info {
  display: flex;
  align-items: center;
}


/* Базовый вид аккордеона, как у блока Ціна */
details.filter-acc {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 0;
  margin: 0 0 12px;
  background: #fff;
}

/* Заголовок */
details.filter-acc > summary {
  cursor: pointer;
  padding: 12px 14px;
  font-weight: 600;
  list-style: none;           /* убрать маркер Firefox */
  display: flex;
  align-items: center;
}
details.filter-acc > summary::-webkit-details-marker { display: none; }

/* Иконка-стрелка */
details.filter-acc > summary::after {
  content: "▾";
  margin-left: auto;
  transition: transform .2s ease;
}
details.filter-acc[open] > summary::after {
  transform: rotate(-180deg);
}

/* Внутренность фильтра */
details.filter-acc .wpc-filters-section {
  padding: 10px 14px 14px;
  border-top: 1px solid #e5e7eb;
}

/* Список чекбоксов — чуть компактнее */
details.filter-acc .wpc-filters-ul-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
details.filter-acc .wpc-checkbox-item {
  margin: 6px 0;
}

.widget_price_filter .price_slider.ui-slider {
  position: relative;
  height: var(--slider-h);
  background: var(--color-muted);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
}

/* Заполненная часть (диапазон) */
.widget_price_filter .price_slider .ui-slider-range,
.widget_price_filter .price_slider .ui-widget-header {
  background: var(--color-primary);
  border: none;
  height: 100%;
  border-radius: var(--radius-pill);
}

/* Ручки */
.widget_price_filter .price_slider .ui-slider-handle {
  width: 20px;
  height: 20px;
  top: calc((var(--slider-h) / 2) - 10px); /* центрируем по треку */
  background: #fff;
  border: 2px solid var(--color-primary-700);
  border-radius: 50%;
  box-shadow: var(--shadow-sm);
  transition: box-shadow .2s ease, transform .06s ease, background .2s ease, border-color .2s ease;
  outline: none; /* убираем дефолтный */
}

/* Ховер/фокус/перетягивание — мягкое свечение в цвете бренда */
.widget_price_filter .price_slider .ui-slider-handle:hover,
.widget_price_filter .price_slider .ui-slider-handle:focus,
.widget_price_filter .price_slider .ui-slider-handle.ui-state-hover,
.widget_price_filter .price_slider .ui-slider-handle.ui-state-focus {
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--color-primary) 30%, transparent);
}

.widget_price_filter .price_slider .ui-slider-handle.ui-state-active {
  background: var(--color-primary);
  border-color: var(--color-primary-700);
  box-shadow: 0 0 0 6px color-mix(in oklab, var(--color-primary) 25%, transparent);
  transform: scale(0.98);
}

/* Состояние disabled */
.widget_price_filter .price_slider.ui-state-disabled,
.widget_price_filter .price_slider.ui-widget-content.ui-state-disabled {
  opacity: .6;
}

/* Подпись и кнопка */
.widget_price_filter .price_slider_amount .price_label {
  color: var(--color-text-muted);
  font-weight: 600;
}

.widget_price_filter .price_slider_amount .button {
  background: var(--color-primary-700);
  color: var(--on-primary-700);
  border-radius: var(--radius-md);
  border: 1px solid transparent;
  padding: 8px 12px;
  font-weight: 600;
  transition: background .2s, box-shadow .2s;
}
.widget_price_filter .price_slider_amount .button:hover {
  background: color-mix(in oklab, var(--color-primary-700) 90%, #0000);
  box-shadow: 0 4px 12px rgba(16,24,40,.12);
}

/* Лучший тап-таргет на мобилках */
@media (pointer: coarse) {
  .widget_price_filter .price_slider .ui-slider-handle {
    width: 24px; height: 24px;
    top: calc((var(--slider-h) / 2) - 12px);
  }
}

/* На всякий — повышаем специфичность против jQuery UI темы */
.widget_price_filter .price_slider.ui-slider,
.widget_price_filter .price_slider .ui-slider-range,
.widget_price_filter .price_slider .ui-slider-handle { /* no !important */ }


.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
  background-color: var(--color-primary) ;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
  background-color: var(--color-primary) ;
}

.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
    background-color: var(--color-primary-700) ;
}


.cat_ekonet-pack-notice .ekonet-pack-notice {
  display: flex;
  justify-content: center;
}