/*
Theme Name: WPBox Child
Theme URI: https://wpshop.ru/themes/wpbox
Description: Дочерняя тема WPBox для diwei.ru
Author: WPShop.ru
Author URI: http://wpshop.ru/
Template: wpbox
Version: 1.0.1
*/

html { scrollbar-gutter: stable; }

:root {
  --diwei-red: #e01020;
  --diwei-red-dark: #b50d1a;
  --diwei-navy: #102040;
  --diwei-navy-2: #1a2d55;
  --diwei-gray: #f3f4f6;
  --diwei-line: #e5e7eb;
  --diwei-muted: #6b7280;
}

/* ---------- иконки ---------- */
.diwei-ico { display: inline-flex; width: 1.1em; height: 1.1em; vertical-align: -0.15em; flex: none; }
.diwei-ico svg { width: 100%; height: 100%; }

/* ---------- верхняя строка ---------- */
.site-header__top { font-size: .875rem; }
.site-header__top .site-header__element { display: flex; align-items: center; }
.diwei-top { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.diwei-city { display: inline-flex; align-items: center; gap: .35rem; background: none; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; }
.diwei-city .diwei-ico--pin { color: var(--diwei-red); }
.diwei-city .diwei-ico--chevron { width: .9em; height: .9em; opacity: .6; }
.diwei-city:hover .diwei-city__name { color: var(--diwei-red); }
.diwei-city__name { border-bottom: 1px dashed currentColor; }
.diwei-hours, .diwei-email, .diwei-phone { display: inline-flex; align-items: center; gap: .4rem; line-height: 1; }
.diwei-hours > *, .diwei-email > *, .diwei-phone > * { line-height: 1; }
.diwei-top .diwei-email a { font-size: 1rem; }
.diwei-top .diwei-phone__num { font-size: 1.15rem; }
.diwei-hours .diwei-ico, .diwei-email .diwei-ico, .diwei-phone .diwei-ico { color: var(--diwei-muted); width: 1em; height: 1em; transform: translateY(1px); }
.diwei-copy .diwei-ico { width: 1em; height: 1em; transform: translateY(1px); }
.diwei-email a, .diwei-phone a { color: inherit; text-decoration: none; }
.diwei-email a:hover, .diwei-phone a:hover { color: var(--diwei-red); }
.diwei-phone__num { font-weight: 700; }
.diwei-phone__note { display: block; font-size: .75rem; color: var(--diwei-muted); margin-left: 1.5rem; }
.diwei-copy { background: none; border: 0; padding: 0; margin: 0; color: var(--diwei-muted); cursor: pointer; display: inline-flex; align-items: center; position: relative; line-height: 1; }
.diwei-copy:hover { color: var(--diwei-red); }
.diwei-copy.is-copied::after { content: "Скопировано"; position: absolute; left: 50%; top: 100%; transform: translateX(-50%); margin-top: .3rem; background: var(--diwei-navy); color: #fff; font-size: .7rem; padding: .15rem .45rem; border-radius: .25rem; white-space: nowrap; }
.diwei-callback.wpbox-button { --wpbox-button-height: 2.1rem; font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; border: 2px solid var(--diwei-red); color: var(--diwei-red); background: transparent; }
.diwei-callback.wpbox-button:hover { background: var(--diwei-navy); border-color: var(--diwei-navy); color: #fff; }

/* ---------- средняя строка ---------- */
.site-header__middle img.site-branding__logo { height: var(--wpbox-site-logo-height, 3.25rem); max-height: var(--wpbox-site-logo-height, 3.25rem); width: auto; }
.wpbox-mini-cart__count--empty { display: none; }
.site-header__middle .site-branding__link { display: grid; grid-template-columns: auto auto; column-gap: .75rem; row-gap: .25rem; align-items: center; text-decoration: none; }
.site-header__middle .site-branding__text { display: contents; }
.site-header__middle .site-description { grid-column: 2; grid-row: 1; align-self: center; max-width: 7.5rem; font-size: .72rem; line-height: 1.25; color: var(--diwei-muted); transform: translateY(4px); }
.site-header__middle .site-branding__text::before { content: "Промышленное оборудование"; grid-column: 1 / -1; grid-row: 2; font-size: .85rem; font-weight: 600; color: #111827; white-space: nowrap; }
.site-header__middle .site-header__element--search { flex: 1 1 auto; width: 100%; max-width: 40rem; }
.site-header__middle .wpbox-header-search, .site-header__middle .wpbox-header-search__form { width: 100%; max-width: none; }
.site-header__middle .wpbox-header-search__field { --wpbox-forms-height: 2.75rem; border: 2px solid var(--diwei-navy); border-radius: .4rem; padding-right: 3rem !important; }
.wpbox-header-search__field::-webkit-search-cancel-button { cursor: pointer; margin-right: .25rem; }
.site-header__middle .wpbox-header-search__field:focus { border-color: var(--diwei-red); }
.diwei-hicons { display: inline-flex; gap: 1.25rem; align-items: flex-start; }
.diwei-hicon { display: inline-flex; flex-direction: column; align-items: center; gap: .15rem; color: var(--diwei-navy); text-decoration: none; font-size: .7rem; line-height: 1; }
.diwei-hicon:hover { color: var(--diwei-red); }
.diwei-hicon__inner { position: relative; display: inline-flex; }
.diwei-hicon__inner .diwei-ico { width: 1.5rem; height: 1.5rem; }
.wpbox-mini-cart { position: relative; display: inline-flex !important; flex-direction: column; align-items: center; gap: .15rem; font-size: .7rem; line-height: 1; text-decoration: none; margin-left: .25rem; }
.wpbox-mini-cart::after { content: "Корзина"; }
.wpbox-mini-cart__icon-svg { width: 1.5rem !important; height: 1.5rem !important; }
.wpbox-mini-cart__icon { position: relative; display: inline-flex; }
.wpbox-mini-cart { padding: 0 !important; }
.wpbox-mini-cart__count--empty { display: none !important; }
.diwei-hicon__inner::after, .wpbox-mini-cart__count { content: attr(data-count); position: absolute; top: -.5rem; right: -.65rem; min-width: 1.15rem; height: 1.15rem; padding: 0 .3rem; border-radius: 1rem; background: var(--diwei-red); color: #fff; font-size: .65rem; font-weight: 700; line-height: 1; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 2px #fff; }
.wpbox-mini-cart__count { top: 1px; right: 2px; left: auto; }
.diwei-hicon__inner[data-count="0"]::after { display: none; }
.wpbox-mini-cart { color: var(--diwei-navy); }
.wpbox-mini-cart:hover { color: var(--diwei-red); }

/* ---------- нижняя строка: каталог + меню ---------- */
.site-header__bottom { border-top: 1px solid var(--diwei-line); border-bottom: 1px solid var(--diwei-line); }
.diwei-catalog { position: relative; }
.diwei-catalog__btn.wpbox-button { display: inline-flex; align-items: center; gap: .5rem; --wpbox-button-height: 2.75rem; padding-inline: 1.25rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; border-radius: .4rem; }
.diwei-catalog__btn .diwei-ico { width: 1.1rem; height: 1.1rem; }
.diwei-catalog__panel { position: absolute; left: 0; top: calc(100% + .5rem); z-index: 60; min-width: 48rem; max-width: 90vw; background: #fff; border: 1px solid var(--diwei-line); border-radius: .5rem; box-shadow: 0 16px 40px rgba(16, 32, 64, .18); padding: 1.25rem; opacity: 0; visibility: hidden; transform: translateY(6px); transition: .15s ease; }
.diwei-catalog::before { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: .6rem; }
.diwei-catalog:hover .diwei-catalog__panel, .diwei-catalog.is-open .diwei-catalog__panel, .diwei-catalog:focus-within .diwei-catalog__panel { opacity: 1; visibility: visible; transform: none; }
.diwei-catalog__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem 1.5rem; }
.diwei-catalog__item { display: flex; gap: .75rem; align-items: flex-start; }
.diwei-catalog__img { width: 3rem; height: 3rem; object-fit: contain; border-radius: .4rem; background: var(--diwei-gray); flex: none; }
.diwei-catalog__cat { font-weight: 700; color: var(--diwei-navy); text-decoration: none; }
.diwei-catalog__cat:hover { color: var(--diwei-red); }
.diwei-catalog__sub { list-style: none; margin: .35rem 0 0; padding: 0; font-size: .85rem; }
.diwei-catalog__sub li { margin: .15rem 0; }
.diwei-catalog__sub a { color: #374151; text-decoration: none; }
.diwei-catalog__sub a:hover { color: var(--diwei-red); }
.diwei-catalog__more { color: var(--diwei-red) !important; }
.diwei-catalog__empty { margin: 0; color: var(--diwei-muted); }
.site-header__bottom .wpbox-menu > li > a { font-weight: 600; text-transform: uppercase; font-size: .8rem; letter-spacing: .03em; }

/* ---------- мессенджеры в строке меню ---------- */
.site-header__bottom .social-profiles { --wpbox-social-profiles-icon-size: 1.25rem; --wpbox-social-profiles-gap: .4rem; --wpbox-social-profiles-border-radius: 50%; }
.site-header__bottom .social-profiles__link { padding: .35rem !important; }

/* ---------- попап ---------- */
.wpbox-popup { --wpbox-popup-width: 32rem; align-items: flex-start; padding-top: 12vh; }
.diwei-city-modal { align-items: flex-start; padding-top: 12vh; }
.wpbox-popup__title { font-size: 1.4rem; line-height: 1.25; }
.wpbox_form__field--checkbox { display: flex !important; width: 100% !important; align-items: flex-start !important; gap: .5rem; }
.wpbox_form__field--checkbox > .wpbox_form__control { margin-top: .2rem !important; }
.wpbox_form__field--checkbox .wpbox_form__label { flex: 1 1 auto; min-width: 0; white-space: normal; font-size: .85rem; line-height: 1.4; }

/* ---------- модалка города ---------- */
.diwei-modal-open { overflow: hidden; }
.diwei-city-modal { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.diwei-city-modal[hidden] { display: none; }
.diwei-city-modal__overlay { position: absolute; inset: 0; background: rgba(16, 32, 64, .6); }
.diwei-city-modal__box { position: relative; background: #fff; border-radius: .75rem; width: min(40rem, 100%); max-height: 85vh; display: flex; flex-direction: column; padding: 1.5rem; box-shadow: 0 24px 60px rgba(0, 0, 0, .3); }
.diwei-city-modal__close { position: absolute; top: .75rem; right: .75rem; background: none; border: 0; cursor: pointer; color: var(--diwei-muted); }
.diwei-city-modal__close .diwei-ico { width: 1.4rem; height: 1.4rem; }
.diwei-city-modal__title { font-size: 1.25rem; font-weight: 700; color: var(--diwei-navy); margin-bottom: 1rem; }
.diwei-city-modal__search { display: flex; align-items: center; gap: .5rem; border: 1px solid var(--diwei-line); border-radius: .5rem; padding: .5rem .75rem; margin-bottom: 1rem; }
.diwei-city-modal__search input { border: 0; outline: 0; width: 100%; font: inherit; }
.diwei-city-modal__list { list-style: none; margin: 0; padding: 0; overflow: auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr)); gap: .25rem; }
.diwei-city-modal__list button { background: none; border: 0; padding: .4rem .5rem; width: 100%; text-align: left; font: inherit; cursor: pointer; border-radius: .35rem; color: #111827; }
.diwei-city-modal__list button:hover { background: var(--diwei-gray); color: var(--diwei-red); }

/* ---------- подвал ---------- */
.site-footer { color: #d1d5db; }
.site-footer a { color: #e5e7eb; text-decoration: none; }
.site-footer a:hover { color: #fff; text-decoration: underline; }
.diwei-flogo { display: block; color: inherit; text-decoration: none !important; margin-bottom: 1rem; }
.diwei-flogo__img { max-width: 13rem; height: auto; filter: brightness(0) invert(1); opacity: .95; }
.diwei-flogo__desc { display: block; margin-top: .6rem; color: #fff; font-weight: 600; }
.diwei-flogo__sub { display: block; font-size: .85rem; color: #9ca3af; }
.diwei-fcol__title { display: block; font-weight: 700; color: #fff !important; text-transform: uppercase; font-size: .85rem; letter-spacing: .05em; margin-bottom: .75rem; }
.diwei-fcol__list, .site-footer .wpbox-menu--vertical { list-style: none; margin: 0; padding: 0; }
.diwei-fcol__list li { margin: .35rem 0; }
.diwei-fcontacts p { margin: 0 0 .75rem; }
.diwei-fcontacts .diwei-phone { flex-wrap: wrap; }
.diwei-fcontacts .diwei-phone__num { font-size: 1.15rem; color: #fff; }
.diwei-fcontacts__lbl { color: #9ca3af; }
.diwei-fcontacts__req, .diwei-fcontacts__hours { font-size: .85rem; line-height: 1.5; }
.site-footer .social-profiles { margin-top: 1rem; --wpbox-social-profiles-border-color: rgba(255,255,255,.22); --wpbox-social-profiles-icon-size: 1.3rem; }
.site-footer .social-profiles__icon { color: #e5e7eb !important; }
.site-footer .social-profiles__link:hover, .site-footer .social-profiles__link:focus-visible { border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.06); }
.site-footer .social-profiles__link:hover .social-profiles__icon { color: #fff !important; }
.diwei-pay { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; }
.diwei-pay__title { font-size: .8rem; color: #9ca3af; text-transform: uppercase; letter-spacing: .05em; }
.diwei-pay__plate { background: #fff; border-radius: .5rem; padding: .5rem 1rem; display: inline-flex; }
.diwei-pay__img { height: 2.4rem; width: auto; display: block; }
.diwei-fbottom { font-size: .8rem; color: #9ca3af; line-height: 1.5; }
.diwei-fbottom p { margin: 0 0 .5rem; }
.diwei-fbottom__wa { font-size: .72rem; opacity: .8; }

/* ---------- плавающие мессенджеры ---------- */
.diwei-msg { position: fixed; right: 1rem; bottom: 1.25rem; z-index: 90; display: flex; flex-direction: column; gap: .5rem; }
.diwei-msg__btn { width: 3rem; height: 3rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff !important; box-shadow: 0 6px 16px rgba(0, 0, 0, .25); transition: transform .15s; text-decoration: none !important; }
.diwei-msg__btn svg { width: 1.6rem; height: 1.6rem; }
.diwei-msg__btn:hover { transform: scale(1.08); }
.diwei-msg__btn--wa { background: #25d366; }
.diwei-msg__btn--max { background: #7b5cff; }
.diwei-msg__btn--tg { background: #2aabee; }
.wpbox-scroll-to-top { bottom: 12rem !important; }

/* ---------- «цена по запросу» и мета в листинге ---------- */
.diwei-price-request { font-weight: 700; color: var(--diwei-navy); }
.diwei-loop-meta { display: flex; justify-content: space-between; gap: .5rem; font-size: .78rem; color: var(--diwei-muted); margin: .25rem 0 .5rem; }
.diwei-stock--instock { color: #15803d; }
.diwei-stock--onbackorder { color: #b45309; }
.diwei-stock--outofstock { color: #b91c1c; }
.diwei-request-btn.button { background: var(--diwei-navy); color: #fff; }
.diwei-request-btn.button:hover { background: var(--diwei-red); }
.diwei-request-form { margin-top: 2rem; padding: 1.5rem; border: 1px solid var(--diwei-line); border-radius: .5rem; }

/* ---------- адаптив ---------- */
@media (max-width: 1024px) {
  .diwei-catalog__panel { min-width: 36rem; }
  .diwei-catalog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .diwei-top { gap: 1rem; }
}
@media (max-width: 782px) {
  .site-header__middle .site-branding__text { display: none; }
  .diwei-hicon__label { display: none; }
  .diwei-hicons { gap: .9rem; }
  .diwei-catalog__panel { position: fixed; left: 1rem; right: 1rem; top: auto; min-width: 0; max-width: none; }
  .diwei-catalog__grid { grid-template-columns: 1fr; }
  .diwei-msg { bottom: 4.5rem; }
}

/* ---------- кнопка формы бледная, пока не отмечено согласие ---------- */
.wpbox_form__form:has(input[name="consent"]:not(:checked)) .wpbox_form__submit,
form.checkout:has(input[name="diwei_consent"]:not(:checked)) #place_order {
  opacity: .45; pointer-events: none; filter: grayscale(.3);
}
.wpbox_form__submit { transition: opacity .2s; }

/* ---------- живой поиск: подсказки ---------- */
.diwei-has-suggest { position: relative; }
.diwei-suggest { position: absolute; left: 0; right: 0; top: calc(100% + .4rem); z-index: 70; background: #fff; border: 1px solid var(--diwei-line); border-radius: .5rem; box-shadow: 0 16px 40px rgba(16, 32, 64, .18); overflow: hidden; max-height: 70vh; overflow-y: auto; }
.diwei-suggest[hidden] { display: none; }
.diwei-suggest.is-loading { opacity: .7; }
.diwei-suggest__group { font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: var(--diwei-muted); padding: .6rem .9rem .25rem; }
.diwei-suggest__item, .diwei-suggest__cat, .diwei-suggest__all { display: flex; align-items: center; gap: .75rem; padding: .5rem .9rem; color: #111827; text-decoration: none; }
.diwei-suggest__item:hover, .diwei-suggest__cat:hover, .diwei-suggest__all:hover, .diwei-suggest [role=option].is-active { background: var(--diwei-gray); }
.diwei-suggest__item img { width: 3rem; height: 3rem; object-fit: contain; border-radius: .35rem; background: var(--diwei-gray); flex: none; }
.diwei-suggest__body { display: flex; flex-direction: column; gap: .15rem; min-width: 0; flex: 1; }
.diwei-suggest__title { font-weight: 600; line-height: 1.25; }
.diwei-suggest__meta { font-size: .75rem; color: var(--diwei-muted); }
.diwei-suggest__price { font-weight: 700; color: var(--diwei-navy); white-space: nowrap; }
.diwei-suggest__cat { font-weight: 600; justify-content: space-between; }
.diwei-suggest__name { font-weight: 600; }
.diwei-suggest__cat span { font-weight: 400; color: var(--diwei-muted); font-size: .8rem; }
.diwei-suggest__all { justify-content: center; font-weight: 700; color: var(--diwei-red); border-top: 1px solid var(--diwei-line); }
.diwei-suggest mark { background: #fde68a; color: inherit; border-radius: .15rem; padding: 0 .05em; }
.diwei-suggest__empty { padding: .9rem; color: var(--diwei-muted); font-size: .9rem; }
.diwei-search-empty { padding: 2rem 0; }
