/*
Theme Name: Dimax Hydraulics Child
Theme URI: https://dimaxhydraulics.com
Description: Bespoke child theme for Dimax Hydraulics — "Fluid power, engineered". Machined-steel + hydraulic-amber design system, Cyrillic-safe typography, custom header & footer, over the Divi 5 parent.
Author: Dimax Hydraulics
Template: Divi
Version: 0.2.0
Text Domain: dimax-child
*/

/* ============================================================ TOKENS == */
:root{
  --dx-ink:#15191E; --dx-graphite:#222B33; --dx-steel:#5C6873; --dx-steel-200:#AEB7C0;
  --dx-mist:#EEF1F4; --dx-line:#D7DCE1; --dx-fluid:#F4A017; --dx-fluid-700:#C77E07;
  --dx-blueprint:#1C7C8C; --dx-white:#FFFFFF;
  --dx-display:'Fira Sans Condensed','Arial Narrow',sans-serif;
  --dx-body:'Golos Text',system-ui,'Segoe UI',sans-serif;
  --dx-mono:'IBM Plex Mono',ui-monospace,monospace;
  --dx-wrap:1200px;
}

/* ======================================================== TYPOGRAPHY == */
body,.et_pb_text,.et_pb_module,p,li,td,th,input,select,textarea,button{ font-family:var(--dx-body); }
body{ color:var(--dx-ink); background-color:var(--dx-mist); }
h1,h2,h3,h4,h5,h6,.et_pb_module h1,.et_pb_module h2,.et_pb_module h3,.et_pb_module_header,
.entry-title,.woocommerce-loop-product__title,.product_title{
  font-family:var(--dx-display)!important; font-weight:600!important; letter-spacing:.01em; color:var(--dx-ink);
}
a{ color:var(--dx-blueprint); }
a:hover{ color:var(--dx-fluid-700); }
code,kbd,samp,pre,.dx-mono,.sku,.woocommerce-Price-amount{ font-family:var(--dx-mono); }

/* ============================================================ BUTTONS == */
.et_pb_button,.woocommerce a.button,.woocommerce button.button,.woocommerce .button,
.woocommerce #respond input#submit,button.single_add_to_cart_button{
  font-family:var(--dx-display)!important; font-weight:600!important; text-transform:uppercase!important;
  letter-spacing:.04em!important; background:var(--dx-fluid)!important; color:var(--dx-ink)!important;
  border:0!important; border-radius:8px!important; padding:.72em 1.5em!important;
  transition:background .15s ease,color .15s ease;
}
.et_pb_button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{
  background:var(--dx-fluid-700)!important; color:var(--dx-white)!important;
}

/* ============================================================== HEADER == */
#top-header{ display:none!important; }                 /* never show Divi's native top bar */
#main-header.dx-header{ background:var(--dx-white)!important; box-shadow:0 1px 0 var(--dx-line)!important; padding:0!important; }
.dx-header .dx-i{ flex:0 0 auto; }
.dx-mobile-toggle{ display:none; }

.dx-util{ background:var(--dx-graphite); color:var(--dx-steel-200); font-family:var(--dx-mono); font-size:12px; }
.dx-util__in{ max-width:var(--dx-wrap); margin:0 auto; padding:7px 24px; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.dx-util__left{ display:flex; gap:22px; align-items:center; flex-wrap:wrap; }
.dx-util a,.dx-util span{ color:var(--dx-steel-200); display:inline-flex; align-items:center; gap:7px; }
.dx-util a:hover{ color:var(--dx-fluid); }
.dx-util .dx-i{ color:var(--dx-fluid); }

.dx-bar__in{ max-width:var(--dx-wrap); margin:0 auto; padding:15px 24px; display:flex; align-items:center; gap:26px; }
.dx-bar__logo{ flex:0 0 auto; }
.dx-wordmark{ display:block; line-height:.9; }
.dx-wordmark__name{ font-family:var(--dx-display); font-weight:700; font-size:28px; letter-spacing:.04em; color:var(--dx-ink); }
.dx-dot{ color:var(--dx-fluid); }
.dx-wordmark__sub{ display:block; font-family:var(--dx-mono); font-size:11px; letter-spacing:.4em; color:var(--dx-steel); margin-top:3px; }
.custom-logo,.dx-logo-img{ max-height:56px; width:auto; display:block; }
.dx-logo-link{ display:block; }

.dx-bar__search{ flex:1 1 auto; }
.dx-search{ display:flex; align-items:stretch; border:1.5px solid var(--dx-line); border-radius:8px; overflow:hidden; background:#fff; }
.dx-search__input{ flex:1; border:0!important; padding:11px 14px!important; font-family:var(--dx-body); font-size:15px; background:transparent!important; box-shadow:none!important; color:var(--dx-ink); }
.dx-search__input:focus{ outline:none; }
.dx-search__btn{ border:0; background:var(--dx-fluid); color:var(--dx-ink); padding:0 18px; display:flex; align-items:center; gap:8px; cursor:pointer; font-family:var(--dx-display); font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
.dx-search__btn:hover{ background:var(--dx-fluid-700); color:#fff; }

.dx-bar__actions{ flex:0 0 auto; display:flex; align-items:center; gap:18px; }
.dx-acc,.dx-cart{ color:var(--dx-ink); display:inline-flex; align-items:center; }
.dx-acc .dx-i,.dx-cart .dx-i{ width:22px; height:22px; }
.dx-acc:hover,.dx-cart:hover{ color:var(--dx-fluid-700); }
.dx-cart{ position:relative; gap:7px; }
.dx-cart__count{ font-family:var(--dx-mono); font-size:12px; background:var(--dx-ink); color:var(--dx-fluid); border-radius:10px; padding:1px 7px; }
.dx-burger{ display:none; flex-direction:column; gap:4px; cursor:pointer; padding:4px; }
.dx-burger span{ width:22px; height:2px; background:var(--dx-ink); display:block; }

.dx-nav{ border-top:1px solid var(--dx-mist); position:relative; }
.dx-nav__in{ max-width:var(--dx-wrap); margin:0 auto; padding:0 24px; }
.dx-nav__menu{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; }
.dx-nav__item{ position:relative; }
.dx-nav__top{ display:block; padding:13px 18px; font-family:var(--dx-display); font-weight:600; font-size:14px; text-transform:uppercase; letter-spacing:.03em; color:var(--dx-ink); border-bottom:3px solid transparent; }
.dx-nav__item:hover > .dx-nav__top, .dx-nav__item:focus-within > .dx-nav__top{ color:var(--dx-fluid-700); border-bottom-color:var(--dx-fluid); }
.dx-nav__item.current-menu-item > .dx-nav__top{ border-bottom-color:var(--dx-fluid); }
.dx-mega{ position:absolute; top:100%; left:0; z-index:60; min-width:260px; max-width:92vw; background:#fff; border:1px solid var(--dx-line); border-top:3px solid var(--dx-fluid); border-radius:0 0 8px 8px; box-shadow:0 14px 30px rgba(21,25,30,.12); padding:14px 16px; opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .14s ease, transform .14s ease, visibility .14s; }
.dx-nav__item:hover > .dx-mega, .dx-nav__item:focus-within > .dx-mega{ opacity:1; visibility:visible; transform:translateY(0); }
.dx-nav__item:last-child .dx-mega{ left:auto; right:0; }
.dx-mega--wide{ min-width:600px; }
.dx-mega__list{ list-style:none; margin:0 0 6px; padding:0; }
.dx-mega--wide .dx-mega__list{ column-count:3; column-gap:22px; }
.dx-mega__list li{ margin:0; break-inside:avoid; }
.dx-mega__list a{ display:block; padding:6px 8px; font-family:var(--dx-body); font-weight:400; font-size:13px; text-transform:none; letter-spacing:0; color:var(--dx-ink); border-radius:6px; }
.dx-mega__list a:hover{ background:var(--dx-mist); color:var(--dx-fluid-700); }
.dx-mega__all{ display:block; font-family:var(--dx-mono); font-size:11px; color:var(--dx-fluid-700); padding:8px 8px 0; border-top:1px solid var(--dx-mist); margin-top:4px; }

@media (max-width:980px){
  .dx-bar__in{ flex-wrap:wrap; gap:12px; }
  .dx-bar__search{ order:3; flex-basis:100%; }
  .dx-burger{ display:flex; }
  .dx-util__left span{ display:none; }
  .dx-nav__menu{ display:none; flex-direction:column; }
  #dx-mobile-toggle:checked ~ .dx-nav .dx-nav__menu{ display:flex; }
  .dx-nav__top{ border-bottom:1px solid var(--dx-mist); }
  .dx-mega{ display:none; }
}

/* ============================================================== FOOTER == */
#main-footer{ display:none!important; }   /* replaced by .dx-footer */
.dx-footer{ background:var(--dx-ink); color:var(--dx-steel-200); }
.dx-footer__in{ max-width:var(--dx-wrap); margin:0 auto; padding:42px 24px 26px; display:grid; grid-template-columns:1.6fr 1fr 1fr 1.35fr; gap:30px; }
.dx-footer__brand .dx-wordmark__name{ color:#F4F6F8; font-size:22px; }
.dx-footer__brand .dx-wordmark__sub{ color:var(--dx-steel); }
.dx-footer__tag{ font-size:13px; line-height:1.6; color:var(--dx-steel-200); margin:12px 0 14px; }
.dx-footer__h{ font-family:var(--dx-display)!important; color:var(--dx-fluid)!important; text-transform:uppercase; letter-spacing:.1em; font-size:13px; margin:0 0 12px; }
.dx-footer__col ul{ list-style:none; margin:0; padding:0; }
.dx-footer__col li{ margin:0 0 9px; font-size:13.5px; display:flex; align-items:center; gap:8px; }
.dx-footer__col a{ color:var(--dx-steel-200); }
.dx-footer__col a:hover{ color:var(--dx-fluid); }
.dx-footer__contact ul{ font-family:var(--dx-mono); font-size:12.5px; }
.dx-footer__contact .dx-i{ color:var(--dx-fluid); }
.dx-footer__bottom{ border-top:1px solid #2A323A; }
.dx-footer__bottom-in{ max-width:var(--dx-wrap); margin:0 auto; padding:14px 24px; display:flex; justify-content:space-between; gap:10px; font-family:var(--dx-mono); font-size:12px; color:var(--dx-steel); }
@media (max-width:780px){ .dx-footer__in{ grid-template-columns:1fr 1fr; } .dx-footer__bottom-in{ flex-direction:column; } }
@media (max-width:480px){ .dx-footer__in{ grid-template-columns:1fr; } }

/* ========================================================= WOOCOMMERCE == */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2{ font-family:var(--dx-display)!important; font-weight:600; font-size:15px; color:var(--dx-ink); }
.woocommerce span.price,.woocommerce .price{ font-family:var(--dx-mono); color:var(--dx-ink); }
.woocommerce .onsale{ background:var(--dx-fluid)!important; color:var(--dx-ink)!important; border-radius:6px; font-family:var(--dx-mono); border:0; }

/* ============================================================ HOME PAGE == */
.dxhome-wrap{ max-width:var(--dx-wrap); margin:0 auto; padding:0 24px; }
.dxhome-h{ font-family:var(--dx-display)!important; font-weight:700!important; font-size:22px; margin:0 0 14px; color:var(--dx-ink); }

.dxhome-hero{ background:var(--dx-mist); padding:40px 0 34px; }
.dxhome-hero__eyebrow{ font-family:var(--dx-mono); font-size:11px; letter-spacing:.28em; color:var(--dx-fluid-700); margin-bottom:10px; }
.dxhome-hero__title{ font-family:var(--dx-display)!important; font-weight:700!important; font-size:40px; line-height:1.04; margin:0; max-width:640px; color:var(--dx-ink); }
.dxhome-hero__sub{ font-size:15px; color:var(--dx-steel); max-width:560px; margin:14px 0 24px; line-height:1.55; }
.dxhome-branches{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.dxhome-branch{ background:#fff; border:1px solid var(--dx-line); border-top:3px solid var(--dx-fluid); border-radius:8px; padding:16px; display:block; color:var(--dx-ink); transition:border-color .15s ease, transform .15s ease; }
.dxhome-branch:hover{ transform:translateY(-2px); border-top-color:var(--dx-fluid-700); }
.dxhome-branch__name{ display:block; font-family:var(--dx-display); font-weight:700; font-size:15px; margin:9px 0 4px; }
.dxhome-branch__blurb{ display:block; font-size:12px; color:var(--dx-steel); line-height:1.45; }
.dxhome-branch__go{ display:block; font-family:var(--dx-mono); font-size:11px; color:var(--dx-fluid-700); margin-top:10px; }

.dxhome-trust{ background:var(--dx-graphite); }
.dxhome-trust__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; padding:20px 24px; }
.dxhome-trust__item{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:7px; color:#fff; }
.dxhome-trust__item .dx-i{ width:24px; height:24px; color:var(--dx-fluid); }
.dxhome-trust__item span{ font-family:var(--dx-mono); font-size:11.5px; color:var(--dx-steel-200); }

.dxhome-popular{ background:#fff; padding:30px 0; }
.dxhome-popular__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.dxhome-chip{ border:1px solid var(--dx-line); border-radius:8px; padding:12px 14px; font-family:var(--dx-display); font-weight:600; font-size:14px; color:var(--dx-ink); display:flex; justify-content:space-between; align-items:center; }
.dxhome-chip span{ color:var(--dx-fluid-700); }
.dxhome-chip:hover{ border-color:var(--dx-fluid); color:var(--dx-fluid-700); }

.dxhome-spec{ background:var(--dx-mist); padding:30px 0; }
.dxhome-spec__lead{ font-size:13px; color:var(--dx-steel); margin:0 0 16px; }
.dxhome-spec__rows{ display:flex; flex-direction:column; gap:11px; }
.dxhome-spec__row{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; font-family:var(--dx-mono); font-size:12px; }
.dxhome-spec__label{ width:84px; color:var(--dx-steel); flex:0 0 auto; }
.dxhome-spec__chip{ background:#fff; border:1px solid var(--dx-line); border-radius:6px; padding:5px 11px; color:var(--dx-ink); }

.dxhome-about{ background:#fff; padding:28px 0; border-top:1px solid var(--dx-mist); }
.dxhome-about__in{ display:flex; gap:20px; align-items:center; }
.dxhome-about__txt{ font-size:14px; color:var(--dx-steel); line-height:1.6; margin:0; }
.dxhome-about__todo{ color:var(--dx-fluid-700); }
.dxhome-about__btn{ flex:0 0 auto; border:1px solid var(--dx-line); border-radius:8px; padding:10px 18px; font-family:var(--dx-display); font-weight:600; font-size:14px; color:var(--dx-ink); white-space:nowrap; }
.dxhome-about__btn:hover{ border-color:var(--dx-fluid); color:var(--dx-fluid-700); }

.dxhome-cta{ background:var(--dx-ink); }
.dxhome-cta__in{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; padding:26px 24px; }
.dxhome-cta__eyebrow{ font-family:var(--dx-display); font-weight:600; color:var(--dx-fluid); font-size:12px; letter-spacing:.12em; margin-bottom:6px; }
.dxhome-cta__phone{ font-family:var(--dx-display); font-weight:700; font-size:28px; color:#F4F6F8; letter-spacing:.02em; }
.dxhome-cta__phone:hover{ color:var(--dx-fluid); }
.dxhome-cta__meta{ font-family:var(--dx-mono); font-size:12px; color:var(--dx-steel-200); margin-top:7px; }
.dxhome-cta__btn{ background:var(--dx-fluid); color:var(--dx-ink); border-radius:8px; padding:13px 24px; font-family:var(--dx-display); font-weight:600; font-size:14px; text-transform:uppercase; letter-spacing:.04em; }
.dxhome-cta__btn:hover{ background:var(--dx-fluid-700); color:#fff; }

@media (max-width:900px){
  .dxhome-branches,.dxhome-trust__grid,.dxhome-popular__grid{ grid-template-columns:1fr 1fr; }
  .dxhome-hero__title{ font-size:32px; }
}
@media (max-width:560px){
  .dxhome-branches{ grid-template-columns:1fr; }
  .dxhome-about__in,.dxhome-cta__in{ flex-direction:column; align-items:flex-start; }
}

/* ===================================================== SHOP / ARCHIVES == */
/* Full-width archives for now; the filter sidebar arrives with products. */
body.tax-product_cat #sidebar, body.post-type-archive-product #sidebar{ display:none!important; }
body.tax-product_cat #left-area, body.post-type-archive-product #left-area{ width:100%!important; padding:0!important; }

.woocommerce-breadcrumb{ font-family:var(--dx-mono); font-size:12px; color:var(--dx-steel); margin-bottom:14px; }
.woocommerce-breadcrumb a{ color:var(--dx-steel); }
.woocommerce-breadcrumb a:hover{ color:var(--dx-fluid-700); }

.woocommerce-products-header{ background:var(--dx-mist); border-radius:10px; padding:24px; margin:0 0 24px; }
.woocommerce-products-header__title, h1.page-title{ font-family:var(--dx-display)!important; font-weight:700!important; font-size:30px; color:var(--dx-ink); margin:0; }
.term-description{ color:var(--dx-steel); font-size:14px; line-height:1.6; margin-top:10px; max-width:760px; }
.term-description p{ margin:0; }

.woocommerce-result-count{ font-family:var(--dx-mono); font-size:12px; color:var(--dx-steel); }
.woocommerce .woocommerce-ordering select, .woocommerce select.orderby{ font-family:var(--dx-body); border:1px solid var(--dx-line)!important; border-radius:8px; padding:8px 12px; background:#fff; }

.woocommerce ul.products{ display:grid!important; grid-template-columns:repeat(4,1fr); gap:18px; margin:0 0 30px!important; padding:0; }
.woocommerce ul.products::before, .woocommerce ul.products::after{ display:none!important; }
.woocommerce ul.products li.product, .woocommerce ul.products li.product-category{ width:auto!important; margin:0!important; float:none!important; clear:none!important; }

.woocommerce ul.products li.product-category a{ display:block; background:#fff; border:1px solid var(--dx-line); border-top:3px solid var(--dx-fluid); border-radius:8px; padding:22px 16px; text-align:center; transition:transform .15s ease; }
.woocommerce ul.products li.product-category a:hover{ transform:translateY(-2px); }
.woocommerce ul.products li.product-category img{ display:block; width:auto; max-height:130px; margin:0 auto 12px; }
.woocommerce ul.products li.product-category h2.woocommerce-loop-category__title{ font-family:var(--dx-display)!important; font-weight:600!important; font-size:16px!important; color:var(--dx-ink); padding:0; margin:0; }
.woocommerce ul.products li.product-category .count{ display:block; font-family:var(--dx-mono); font-size:11px; color:var(--dx-steel); background:transparent; margin-top:6px; }

.woocommerce ul.products li.product{ background:#fff; border:1px solid var(--dx-line); border-radius:8px; padding:14px; text-align:center; }
.woocommerce ul.products li.product a img{ border-radius:6px; margin:0 auto 12px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-size:14px!important; padding:0 0 6px!important; }
.woocommerce ul.products li.product .price{ display:block; margin:0 0 12px; font-family:var(--dx-mono); }
.woocommerce ul.products li.product .button{ display:block!important; width:100%; margin:0; }

.woocommerce nav.woocommerce-pagination ul{ border:0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span{ font-family:var(--dx-mono); border-radius:6px; }
.woocommerce nav.woocommerce-pagination ul li span.current{ background:var(--dx-fluid)!important; color:var(--dx-ink)!important; }

.woocommerce-info{ border-top-color:var(--dx-fluid)!important; background:var(--dx-mist); color:var(--dx-ink); border-radius:8px; font-family:var(--dx-body); }
/* remove Divi's right-sidebar divider on full-width archives */
body.tax-product_cat #main-content .container:before, body.post-type-archive-product #main-content .container:before{ display:none!important; }

@media (max-width:980px){ .woocommerce ul.products{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:680px){ .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); } }
