/* HydroFire Promotions 0.2.1 — styling deliberately scoped to promo cards only. */
.hfp-wrap{font-family:Manrope,Arial,sans-serif;color:#0b2341;max-width:1360px;margin:0 auto;padding:36px 22px 54px;box-sizing:border-box}
.hfp-wrap *{box-sizing:border-box}
.hfp-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:25px}
.hfp-heading h2{font-family:inherit;font-size:clamp(29px,3.5vw,43px);margin:5px 0 8px;line-height:1.1;color:#061c33;font-weight:900}
.hfp-heading p{margin:0;color:#63758a}
.hfp-heading .hfp-kicker{font-size:11px;letter-spacing:1.8px;color:#ed6c18;font-weight:900}
.hfp-all{color:#d95100;text-decoration:none;font-weight:850;white-space:nowrap}
.hfp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.hfp-card{position:relative;background:#fff;border:1px solid #e8edf4;border-radius:8px;padding:18px;box-shadow:0 12px 28px rgba(11,35,65,.055);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;display:flex;flex-direction:column;min-width:0}
.hfp-card:hover{transform:translateY(-3px);border-color:#d8e4f1;box-shadow:0 18px 40px rgba(11,35,65,.10)}
.hfp-image{height:150px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;text-decoration:none}
.hfp-image img{max-width:100%;max-height:145px;width:auto;height:auto;object-fit:contain;display:block}
.hfp-discount{position:absolute;top:12px;left:12px;background:#ff6b00;color:#fff;padding:6px 9px;border-radius:7px;font-size:12px;font-weight:900;z-index:1}
.hfp-card h3{font-family:inherit;font-size:14px;line-height:1.32;font-weight:900;text-align:center;color:#061c33;margin:0;min-height:44px}
.hfp-card h3 a{color:inherit;text-decoration:none}
.hfp-sku{text-align:center;font-size:11px;color:#7b8b9e;margin-top:10px}
.hfp-price{margin:12px 0 16px;color:#ff6b00;font-size:15px;line-height:1.4;font-weight:900;text-align:center;margin-top:auto}
.hfp-price del{color:#94a3b8;font-size:12px;font-weight:700;white-space:nowrap}
.hfp-price ins{color:#ff6b00;text-decoration:none}
.hfp-view{min-height:38px;display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid #ffd0b0;border-radius:7px;color:#ff6b00;background:#fff;text-decoration:none;font-size:12px;font-weight:900;text-transform:uppercase;transition:background .2s ease,color .2s ease,border-color .2s ease}
.hfp-view:hover,.hfp-view:focus-visible{background:#ff6b00;color:#fff;border-color:#ff6b00}
.hfp-pager{display:flex;justify-content:center;gap:25px;margin-top:28px}.hfp-pager a{color:#e56b12;font-weight:800}
.hfp-empty{padding:25px;background:#f5f7fa;border-radius:12px}.hfp-home{padding-top:50px;padding-bottom:50px}
@media(min-width:768px) and (max-width:1180px){.hfp-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.hfp-card{padding:14px;border-radius:12px}.hfp-image{height:118px;margin-bottom:12px}.hfp-image img{max-height:112px}.hfp-card h3{font-size:12px}.hfp-price{font-size:13px}}
@media(max-width:767px){.hfp-wrap{padding:28px 12px}.hfp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hfp-card{padding:12px;border-radius:12px}.hfp-image{height:112px;margin-bottom:10px}.hfp-image img{max-height:106px}.hfp-card h3{font-size:11px;line-height:1.24;min-height:42px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.hfp-price{font-size:12px}.hfp-heading{flex-direction:column;align-items:start}.hfp-view{font-size:11px;padding:4px}}
/* Live menu styling is dormant until explicitly enabled in plugin settings. */
.hf-main-nav a.hfp-nav,.hf-products-nav a.hfp-nav,.hf-mobile-drawer-nav a.hfp-nav,.hf-products-mobile-drawer-nav a.hfp-nav{color:#e66a13!important;font-weight:900!important}

.hfp-price .woocommerce-Price-amount{white-space:nowrap}
.hfp-price .hfp-current{color:#ff6b00}

.hfp-variation-note{display:block;margin-top:5px;font-size:10px;line-height:1.3;font-weight:500;color:#64748b}

/* Compact one-row header for the promotions page only. No global theme selectors. */
.hfp-site-head{font-family:Manrope,Arial,sans-serif;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:#f3f4f6;color:#061c33;position:relative;z-index:20;box-sizing:border-box;border-bottom:1px solid #e2e8f0}
.hfp-site-head *{box-sizing:border-box}
.hfp-site-header{max-width:1800px;min-height:74px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:8px clamp(24px,6.5vw,140px);position:relative}
.hfp-site-brand-row{display:contents}
.hfp-site-brand{display:block;width:clamp(250px,20vw,310px);flex:0 0 auto;line-height:0}
.hfp-site-brand img{display:block;width:100%;height:auto;object-fit:contain}
.hfp-site-nav{display:flex;gap:clamp(16px,2.35vw,42px);align-items:center;justify-content:flex-end;flex:1;min-width:0;margin:0;padding:0;border:0}
.hfp-site-nav a{color:#0b2341;text-transform:uppercase;letter-spacing:.2px;text-decoration:none;font-size:clamp(11px,1vw,15px);font-weight:850;white-space:nowrap;padding:17px 0;border-bottom:3px solid transparent}
.hfp-site-nav a:hover,.hfp-site-nav a[aria-current="page"]{color:#ff6b00;border-bottom-color:#ff6b00}
.hfp-site-actions{display:none}
.hfp-site-mobile-menu{display:none}
@media(max-width:1100px){
 .hfp-site-header{min-height:67px;padding:8px 22px;gap:15px}
 .hfp-site-brand{width:clamp(170px,23vw,225px)}
 .hfp-site-nav{gap:clamp(9px,1.5vw,19px)}
 .hfp-site-nav a{font-size:11px}
}
@media(max-width:850px){
 .hfp-site-header{min-height:68px;padding:9px 17px;gap:12px}
 .hfp-site-brand{width:min(225px,53vw)}
 .hfp-site-nav{display:none}
 .hfp-site-actions{display:block;position:absolute;right:83px;top:50%;transform:translateY(-50%)}
 .hfp-site-actions a{display:flex;align-items:center;justify-content:center;width:37px;height:37px;border:1px solid #dce7f2;border-radius:10px;background:#fff;text-decoration:none;font-size:20px}
 .hfp-site-mobile-menu{display:block;margin-left:auto;position:relative;z-index:22}
 .hfp-site-mobile-menu summary{list-style:none;display:flex;align-items:center;gap:5px;background:#fff;border:1px solid #dce7f2;border-radius:10px;padding:9px;color:#061c33;font-size:11px;font-weight:900;cursor:pointer}
 .hfp-site-mobile-menu summary::-webkit-details-marker{display:none}
 .hfp-site-mobile-menu summary span{font-size:19px}
 .hfp-site-mobile-menu nav{position:absolute;right:0;top:100%;margin-top:8px;width:min(280px,85vw);background:#fff;border:1px solid #e5ebf3;border-radius:12px;box-shadow:0 15px 35px rgba(6,28,51,.15);padding:7px;display:flex;flex-direction:column}
 .hfp-site-mobile-menu nav a{color:#061c33;font-weight:800;text-decoration:none;padding:11px 12px;border-radius:8px}
 .hfp-site-mobile-menu nav a[aria-current="page"],.hfp-site-mobile-menu nav a:hover{background:#fff3eb;color:#f16b0b}
}

/* v0.2.8 – Promotions page ONLY: price sidebar and bottom contact band. */
.hfp-page{max-width:1500px}
.hfp-catalog-layout{display:grid;grid-template-columns:245px minmax(0,1fr);align-items:start;gap:23px}
.hfp-price-filter{border:1px solid #e4ebf3;background:#fff;border-radius:12px;padding:18px 13px;box-shadow:0 8px 26px rgba(8,34,61,.045)}
.hfp-price-filter h3{margin:0 6px 13px;font-size:17px;color:#092540;font-weight:900}
.hfp-price-ranges{display:flex;flex-direction:column;gap:3px;max-height:650px;overflow:auto;overscroll-behavior:contain}
.hfp-price-range{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border-radius:8px;color:#203955;text-decoration:none;font-weight:750;font-size:13px}
.hfp-price-range:hover,.hfp-price-range.is-active{background:#fff1e6;color:#e85b00}
.hfp-range-count{border-radius:12px;padding:2px 7px;min-width:28px;text-align:center;background:#f2f5f9;color:#677b92;font-size:11px}
.hfp-catalog-main{min-width:0}
.hfp-footer{width:100vw;max-width:100vw;position:relative;left:50%;margin-left:-50vw;margin-top:32px;background:#071f39;color:#fff;font-family:Manrope,Arial,sans-serif;padding:48px 25px 35px;box-sizing:border-box}
.hfp-footer *{box-sizing:border-box}
.hfp-footer-inner{max-width:1600px;margin:0 auto}
.hfp-footer-info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;text-align:center;padding-bottom:46px;border-bottom:1px solid rgba(255,255,255,.2)}
.hfp-footer-contact{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:16px;overflow-wrap:anywhere}
.hfp-footer-contact strong{font-size:18px}
.hfp-footer-contact a{color:#fff;text-decoration:none}
.hfp-footer-symbol{width:68px;height:68px;background:#ff6b00;border-radius:50%;display:grid;place-items:center;font-size:28px;color:#fff;margin-bottom:5px}
.hfp-footer-legal{display:flex;justify-content:center;flex-wrap:wrap;gap:32px;margin-top:30px}
.hfp-footer-legal a{color:#fff;text-decoration:none;font-weight:800}
.hfp-footer-legal a:hover,.hfp-footer-contact a:hover{text-decoration:underline}
.hfp-footer-copy{text-align:center;margin:28px 0 0;font-weight:700}
@media(max-width:1050px){.hfp-catalog-layout{grid-template-columns:205px minmax(0,1fr);gap:15px}.hfp-catalog-main .hfp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hfp-footer-contact{font-size:13px}}
@media(max-width:767px){.hfp-catalog-layout{grid-template-columns:1fr}.hfp-price-filter{padding:13px}.hfp-price-ranges{max-height:185px}.hfp-catalog-main .hfp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hfp-footer{padding:35px 18px 27px}.hfp-footer-info{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:27px;padding-bottom:32px}.hfp-footer-symbol{width:56px;height:56px}.hfp-footer-legal{gap:16px}.hfp-footer-legal a{font-size:13px}.hfp-footer-copy{font-size:12px}}

/* v0.2.9 legal quick views, scoped to promotions footer only. */
.hfp-legal-overlay[hidden]{display:none!important}
.hfp-legal-overlay{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box;color:#061c33}
.hfp-legal-shade{position:absolute;inset:0;background:rgba(3,17,34,.75)}
.hfp-legal-dialog{position:relative;z-index:1;width:min(760px,96vw);max-height:88vh;background:#fff;border-radius:18px;box-shadow:0 28px 85px rgba(0,0,0,.3);display:flex;flex-direction:column;overflow:hidden;outline:none}
.hfp-legal-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 24px;border-bottom:1px solid #e6edf5}
.hfp-legal-head h2{margin:0;color:#061c33;font-size:25px;font-weight:900}
.hfp-legal-x{border:0;border-radius:10px;background:#f1f5f9;color:#061c33;font-size:28px;line-height:1;width:40px;height:40px;cursor:pointer}
.hfp-legal-body{padding:22px 26px;overflow:auto;overscroll-behavior:contain;color:#273b54;font-size:15px;line-height:1.65}
.hfp-legal-body h1,.hfp-legal-body h2,.hfp-legal-body h3{color:#061c33}
.hfp-legal-actions{border-top:1px solid #e6edf5;padding:15px 24px;display:flex}
.hfp-legal-actions button{width:100%;padding:13px;background:#ff6b00;color:#fff;border:0;border-radius:10px;font-weight:800;cursor:pointer}
body.hfp-legal-locked{overflow:hidden!important}
@media(max-width:600px){.hfp-legal-head{padding:14px 17px}.hfp-legal-head h2{font-size:19px}.hfp-legal-body{padding:18px;font-size:14px}}

/* v0.2.11 — category-first promotion browsing; confined to the shortcode. */
.hfp-cat-breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 24px;font-size:13px;color:#60758c}
.hfp-cat-breadcrumbs a{color:#27709d;text-decoration:none;font-weight:800}
.hfp-cat-breadcrumbs a:hover{text-decoration:underline}
.hfp-cat-breadcrumbs strong{color:#102c47}
.hfp-cat-intro{margin:0 0 20px}
.hfp-cat-intro h3{font-size:clamp(21px,2.4vw,27px);font-weight:900;margin:0 0 7px;color:#0b2341}
.hfp-cat-intro p{color:#63758a;margin:0;font-size:14px}
.hfp-cat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}
.hfp-cat-card{display:flex;min-width:0;align-items:center;flex-direction:column;gap:10px;padding:18px 13px 17px;border:1px solid #e5edf5;background:#fff;border-radius:13px;text-align:center;text-decoration:none!important;color:#0b2341!important;box-shadow:0 9px 25px rgba(11,35,65,.055);transition:transform .2s,box-shadow .2s,border-color .2s}
.hfp-cat-card:hover{transform:translateY(-3px);border-color:#bcd8eb;box-shadow:0 15px 32px rgba(11,35,65,.11)}
.hfp-cat-image{width:100%;height:155px;display:flex;align-items:center;justify-content:center}
.hfp-cat-image img{max-width:100%;max-height:150px;width:auto;height:auto;object-fit:contain;display:block}
.hfp-cat-card strong{font-size:15px;line-height:1.3}
.hfp-cat-card small{color:#657a8d;font-size:12px}
.hfp-cat-direct .hfp-cat-image{font-size:60px;color:#ff6b00}
@media(max-width:1000px){.hfp-cat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.hfp-cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.hfp-cat-card{padding:12px 8px}.hfp-cat-image{height:112px}.hfp-cat-image img{max-height:108px}.hfp-cat-card strong{font-size:13px}}

/* v0.2.13: wide promotional banner replaces page title block; homepage is untouched. */
.hfp-page>.hfp-ad-banner{width:100%;aspect-ratio:4/1;min-height:180px;max-height:370px;margin:0 0 22px;border-radius:20px;overflow:hidden;box-shadow:0 12px 32px rgba(11,35,65,.07)}
.hfp-page>.hfp-ad-banner-filled{background:#edf3f8}
.hfp-page>.hfp-ad-banner-filled img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hfp-page>.hfp-ad-banner-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(115deg,#ecf3f8 0%,#e8edf5 45%,#e9f2fb 100%);border:2px dashed #bdccdd;box-shadow:none}
.hfp-page>.hfp-ad-banner-placeholder span{color:#61788e;font-size:clamp(15px,2vw,23px);font-weight:800;letter-spacing:.1px}
@media(max-width:767px){.hfp-page>.hfp-ad-banner{aspect-ratio:2.1/1;min-height:130px;max-height:none;margin-bottom:18px;border-radius:13px}.hfp-page>.hfp-ad-banner-placeholder span{font-size:13px}}

/* v0.2.15 — full-width navy breadcrumb inside the promotions content. */
.hfp-page .hfp-cat-breadcrumbs{
  display:flex;
  width:100%;
  box-sizing:border-box;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  min-height:44px;
  margin:0 0 26px;
  padding:10px 19px;
  border-radius:8px;
  background:#0b2948;
  color:#f4c79b;
  font-size:14px;
  font-weight:800;
  line-height:1.5;
}
.hfp-page .hfp-cat-breadcrumbs a{
  color:#fff;
  font-weight:800;
  text-decoration:none;
}
.hfp-page .hfp-cat-breadcrumbs a:hover,
.hfp-page .hfp-cat-breadcrumbs a:focus-visible{
  color:#f4c79b;
  text-decoration:underline;
}
.hfp-page .hfp-cat-breadcrumbs strong{
  color:#f4c79b;
  font-weight:800;
}
.hfp-page .hfp-cat-breadcrumbs span[aria-hidden="true"]{
  color:#bfd0e3;
  font-weight:800;
}
@media(max-width:767px){
  .hfp-page .hfp-cat-breadcrumbs{min-height:40px;padding:9px 13px;font-size:12px;gap:7px;margin-bottom:20px;}
}

/* v0.2.17: unobtrusive back control only in the leaf product category heading. */
.hfp-page .hfp-cat-intro-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.hfp-page .hfp-cat-intro-heading h3{margin:0}
.hfp-page .hfp-cat-back{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:9px 20px;border-radius:10px;background:#f47721;color:#fff!important;text-decoration:none!important;font-weight:800;font-size:14px;line-height:1.25;box-shadow:0 5px 15px rgba(244,119,33,.17);transition:background .2s,transform .2s;white-space:nowrap}
.hfp-page .hfp-cat-back:hover,.hfp-page .hfp-cat-back:focus-visible{background:#d95c0a;color:#fff!important;transform:translateY(-1px)}
.hfp-page .hfp-cat-intro-with-back p{margin-top:10px}
@media(max-width:650px){.hfp-page .hfp-cat-intro-heading{align-items:flex-start}.hfp-page .hfp-cat-back{min-height:36px;padding:8px 14px;font-size:13px}}

/* v0.2.18: Back button under the description, left aligned, at every nested category level. */
.hfp-page .hfp-cat-intro .hfp-cat-back{display:table;width:max-content;max-width:100%;margin:16px 0 0 0;box-sizing:border-box;}
