/* Hidramat v1.0.7: a single typographic and interaction layer. */
body, body button, body input, body textarea, body select, body .wp-site-blocks, body .woocommerce, body .hp-cart-drawer, body .hp-cart-status {
  font-family: 'Manrope', Arial, sans-serif !important;
}
body :where(h1,h2,h3,h4,h5,h6,p,a,span,strong,small,label,li,td,th,blockquote) { font-family: 'Manrope',Arial,sans-serif !important; }
.hm-logo, .hm-footer-wordmark { font-weight: 800 !important; }
@media (min-width: 1180px) {
  .hm-header { position: relative; justify-content: space-between; }
  .hm-header .hm-nav { position: absolute; left: 50%; transform: translateX(-50%); margin: 0; }
  .hm-header .hm-head-actions { margin-left: auto; }
}
body.woocommerce-account:not(.logged-in) .hp-account-auth-switcher { gap: 9px !important; padding: 0 !important; border-radius: 10px !important; background: transparent !important; }
body.woocommerce-account:not(.logged-in) .hp-account-auth-switcher button,
body.woocommerce-account:not(.logged-in) .hp-account-auth-switcher button.is-active { min-height: 46px !important; border-radius: 9px !important; background: #e9f2ed !important; color: #002d24 !important; box-shadow: none !important; font-family: 'Manrope',Arial,sans-serif !important; font-weight: 700 !important; }
body.woocommerce-account:not(.logged-in) .hp-account-auth-switcher button.is-active { background: #002d24 !important; color: #fff !important; }
body.woocommerce-account:not(.logged-in) #customer_login button,
body.woocommerce-account:not(.logged-in) #customer_login .button { border-radius: 9px !important; font-family: 'Manrope',Arial,sans-serif !important; }
body.woocommerce-account:not(.logged-in) .hp-account-auth-visual { position: relative; overflow: hidden; }
body.woocommerce-account:not(.logged-in) .hp-account-auth-visual .hm-login-banner-video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
body.woocommerce-account:not(.logged-in) .hp-account-auth-visual .hm-login-banner-video + .hp-account-auth-brand { display: none; }
.hm-footer-stage3 .hm-footer-deck { z-index: 3; }
.hm-footer-stage3 .hm-footer-feature, .hm-footer-stage3 .hm-footer-info { box-shadow: 0 34px 42px rgba(0,37,28,.22), 0 6px 14px rgba(0,37,28,.07); }
.hm-footer-wordmark { width: 100%; margin: -28px 0 -24px; font-size: clamp(95px,18.6vw,410px); font-weight: 800; letter-spacing: -.085em; }
.hm-footer-wordmark span { color: #b7fa5b; }
.hp-cart-status { background: #fff !important; color: #002d24 !important; border: 1px solid #dbe8df !important; border-radius: 17px !important; box-shadow: 0 17px 40px rgba(0,45,36,.17) !important; animation: none !important; backdrop-filter: none !important; }
.hp-cart-status:hover { box-shadow: 0 22px 48px rgba(0,45,36,.21) !important; }
.hp-cart-status::before { display: none; }
.hp-cart-status strong { color: #002d24 !important; }
.hp-cart-status small { color: #536d60 !important; }
.hp-cart-status-icon { background: #eff8f0 !important; }
.hp-cart-status b { background: #002d24 !important; color: #fff !important; border-radius: 9px !important; }
.hm-specialist-layer[hidden] { display: none !important; }
.hm-specialist-layer { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: center; padding: 20px; }
.hm-specialist-backdrop { position: absolute; inset: 0; background: rgba(0,29,23,.72); backdrop-filter: blur(7px); }
.hm-specialist-card { position: relative; width: min(620px,100%); max-height: min(820px,calc(100dvh - 40px)); overflow-y: auto; border-radius: 20px; background: #fff; box-shadow: 0 32px 90px rgba(0,30,23,.35); }
.hm-specialist-card .hm-lead-form { border: 0; border-radius: 20px 20px 0 0; box-shadow: none; padding: clamp(28px,4vw,44px); }
.hm-specialist-close { position: absolute; top: 12px; right: 14px; z-index: 1; display: grid; place-items: center; width: 38px; height: 38px; border: 0; border-radius: 9px; background: #eaf3ed; color: #002d24; cursor: pointer; font-size: 26px; }
.hm-specialist-social { display: flex; justify-content: space-between; gap: 14px; align-items: center; padding: 18px clamp(28px,4vw,44px) 24px; border-top: 1px solid #e3ede6; color: #526b5c; font-size: 13px; }
.hm-specialist-social a { display: inline-flex; align-items: center; gap: 7px; color: #002d24; font-weight: 800; text-decoration: none; }
.hm-specialist-social svg { width: 17px; }
.hm-lead-feedback { margin: 12px 0 0; color: #ad3e34; font-size: 13px; }
body.hm-contact-open { overflow: hidden; }
/* Full-width catalogue: six useful cards, rather than six compressed thumbnails. */
body .hp-shop-catalog-layout, body .hp-shop-page-shell > .wc-block-store-notices { box-sizing: border-box; width: calc(100% - 48px); max-width: 1860px; margin-inline: auto; }
body .hp-shop-catalog-layout { gap: clamp(20px,2vw,36px); }
body .hp-shop-filter-column { flex-basis: 230px !important; max-width: 230px; }
body .hp-shop-products-column { min-width: 0; }
html body .hp-shop-query .hp-product-grid { gap: 34px clamp(12px,1.2vw,22px) !important; }
body .hp-shop-query .hp-product-grid figure, body .hp-shop-query .hp-product-grid .wp-block-woocommerce-product-image { height: clamp(160px,15vw,240px); margin-bottom: 15px !important; }
body .hp-shop-query .hp-product-grid .wp-block-post-title { font-size: clamp(13px,1vw,16px) !important; }
@media (min-width: 1440px) {
  html body.hp-shop-model-1 .hp-shop-query .hp-product-grid, html body.hp-shop-model-2 .hp-shop-query .hp-product-grid, html body.hp-shop-model-3 .hp-shop-query .hp-product-grid { grid-template-columns: repeat(6,minmax(0,1fr)) !important; }
}
@media (min-width: 1024px) and (max-width: 1439px) {
  html body.hp-shop-model-1 .hp-shop-query .hp-product-grid, html body.hp-shop-model-2 .hp-shop-query .hp-product-grid, html body.hp-shop-model-3 .hp-shop-query .hp-product-grid { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
}
@media (min-width: 700px) and (max-width: 1023px) {
  body .hp-shop-filter-column { flex-basis: 205px !important; max-width: 205px; }
  html body.hp-shop-model-1 .hp-shop-query .hp-product-grid, html body.hp-shop-model-2 .hp-shop-query .hp-product-grid, html body.hp-shop-model-3 .hp-shop-query .hp-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
}
@media (max-width: 600px) {
  .hm-footer-wordmark { font-size: 18.6vw; margin-top: 22px; }
  .hm-specialist-layer { padding: 12px; }
  .hm-specialist-card { max-height: calc(100dvh - 24px); border-radius: 15px; }
  .hm-specialist-social { align-items: flex-start; flex-direction: column; }
  body .hp-shop-catalog-layout, body .hp-shop-page-shell > .wc-block-store-notices { width: calc(100% - 34px); }
}
