/* ==========================================================================
   Heavy Parts Industrial — main.css
   Colors reference CSS vars set in style.css / overridden live via
   Appearance > Customize > Brand Colors (see inc/customizer.php).
   ========================================================================== */

*{box-sizing:border-box;}
body{
  margin:0;
  font-family:"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:#222;
  line-height:1.6;
  background:#fff;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--hp-navy);text-decoration:none;}
a:hover{color:var(--hp-yellow-dark);}
h1,h2,h3,h4{font-weight:700;line-height:1.25;margin:0 0 .5em;color:var(--hp-navy);}
.hp-container{max-width:var(--hp-max);margin:0 auto;padding:0 20px;}
.screen-reader-text{position:absolute;left:-9999px;}
.hp-btn{
  display:inline-block;padding:12px 28px;border-radius:var(--hp-radius);
  font-weight:700;text-transform:uppercase;font-size:.85rem;letter-spacing:.03em;
  transition:transform .15s ease, box-shadow .15s ease;
}
.hp-btn-accent{background:var(--hp-yellow);color:var(--hp-navy);}
.hp-btn-accent:hover{background:var(--hp-yellow-dark);color:#fff;transform:translateY(-1px);}

/* ---------------- Top bar ---------------- */
.hp-topbar{background:var(--hp-navy);color:#cfd8e0;font-size:.85rem;}
.hp-topbar-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:8px 0;gap:10px;}
.hp-topbar-left{display:flex;gap:20px;flex-wrap:wrap;}
.hp-phone{color:#fff;font-weight:600;}
.hp-phone-label{color:var(--hp-yellow);font-weight:400;margin-right:4px;}
.hp-topbar-right{display:flex;align-items:center;gap:16px;}
.hp-social-list{display:flex;gap:10px;list-style:none;margin:0;padding:0;}
.hp-social-list a{
  color:#fff;background:rgba(255,255,255,.12);width:26px;height:26px;
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:0; /* icon font intentionally omitted; replace with SVG set of choice */
}
.hp-social-list a::before{content:"•";font-size:14px;}

/* ---------------- Masthead ---------------- */
.hp-masthead{background:#fff;border-bottom:1px solid var(--hp-border);position:relative;}
.hp-masthead-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:24px;}
.hp-site-title{font-size:1.4rem;font-weight:800;color:var(--hp-navy);}
.hp-header-cta{
  background:var(--hp-yellow);color:var(--hp-navy);padding:10px 22px;border-radius:var(--hp-radius);
  font-weight:700;white-space:nowrap;
}
.hp-header-cta:hover{background:var(--hp-yellow-dark);color:#fff;}
.hp-menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:6px;}
.hp-menu-toggle span{display:block;width:24px;height:3px;background:var(--hp-navy);margin:5px 0;}

/* Primary nav / mega menu */
.hp-primary-nav{flex:1;}
.hp-menu{display:flex;gap:26px;list-style:none;margin:0;padding:0;flex-wrap:wrap;}
.hp-menu > li{position:relative;}
.hp-menu > li > a{
  display:block;padding:10px 0;font-weight:600;color:var(--hp-navy);text-transform:uppercase;font-size:.9rem;
}
.hp-menu > li > a:hover{color:var(--hp-yellow-dark);}
.hp-menu ul{
  list-style:none;margin:0;padding:14px;position:absolute;top:100%;left:0;
  background:#fff;border:1px solid var(--hp-border);border-radius:var(--hp-radius);
  min-width:240px;box-shadow:0 12px 24px rgba(0,0,0,.12);opacity:0;visibility:hidden;
  transform:translateY(6px);transition:all .15s ease;z-index:50;
}
.hp-menu li:hover > ul{opacity:1;visibility:visible;transform:translateY(0);}
.hp-menu ul li a{display:block;padding:8px 6px;font-size:.88rem;color:#333;text-transform:none;font-weight:400;}
.hp-menu ul li a:hover{color:var(--hp-yellow-dark);}
.hp-menu ul ul{top:0;left:100%;}

/* ---------------- Hero ---------------- */
.hp-hero{
  background:var(--hp-navy) center/cover no-repeat;color:#fff;padding:90px 0 100px;text-align:center;
}
.hp-hero-title{color:#fff;font-size:2.6rem;margin-bottom:.3em;}
.hp-hero-subtitle{font-size:1.15rem;max-width:640px;margin:0 auto 1.6em;color:#e6ecf1;}
.hp-hero-search{
  max-width:520px;margin:2em auto 0;display:flex;background:#fff;border-radius:var(--hp-radius);overflow:hidden;
}
.hp-hero-search input{flex:1;border:0;padding:14px 16px;font-size:1rem;}
.hp-hero-search button{border:0;background:var(--hp-yellow);color:var(--hp-navy);padding:0 22px;font-weight:700;cursor:pointer;}

/* ---------------- Sections ---------------- */
.hp-section{padding:64px 0;}
.hp-section:nth-of-type(even){background:var(--hp-gray);}
.hp-section-title{font-size:1.9rem;text-align:center;margin-bottom:36px;}
.hp-section-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:24px;}
.hp-link-more{font-weight:700;color:var(--hp-navy);}

/* Tile grid */
.hp-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:24px;}
.hp-tile{background:#fff;border:1px solid var(--hp-border);border-radius:var(--hp-radius);overflow:hidden;transition:box-shadow .15s ease, transform .15s ease;}
.hp-tile:hover{box-shadow:0 14px 28px rgba(13,36,54,.12);transform:translateY(-3px);}
.hp-tile-media img,.hp-tile-placeholder{width:100%;height:160px;object-fit:cover;background:var(--hp-gray);}
.hp-tile-title{padding:14px 16px 4px;font-size:1.05rem;}
.hp-tile-sublinks{list-style:none;margin:0;padding:0 16px 16px;font-size:.85rem;}
.hp-tile-sublinks li{padding:3px 0;border-top:1px dashed var(--hp-border);}
.hp-tile-sublinks li:first-child{border-top:0;}

/* Promo banners */
.hp-promo{padding:56px 0;}
.hp-promo-inner{display:flex;align-items:center;gap:48px;flex-wrap:wrap;}
.hp-promo--image-left .hp-promo-inner{flex-direction:row-reverse;}
.hp-promo-media{flex:1 1 420px;}
.hp-promo-media img{border-radius:var(--hp-radius);}
.hp-promo-copy{flex:1 1 380px;}
.hp-promo--full-bleed{background:var(--hp-navy) center/cover no-repeat;color:#fff;text-align:center;padding:90px 0;}
.hp-promo--full-bleed .hp-promo-copy h2,.hp-promo--full-bleed .hp-promo-copy{color:#fff;}
.hp-promo--full-bleed .hp-promo-inner{justify-content:center;}
.hp-promo--full-bleed .hp-promo-copy{max-width:640px;margin:0 auto;}

/* News grid */
.hp-news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;}
.hp-news-card{background:#fff;border:1px solid var(--hp-border);border-radius:var(--hp-radius);overflow:hidden;}
.hp-news-body{padding:16px 18px;}
.hp-news-body time{font-size:.8rem;color:var(--hp-gray-dark);text-transform:uppercase;}

/* Blog / page / archive */
.hp-with-sidebar{display:grid;grid-template-columns:2.5fr 1fr;gap:40px;padding:48px 0;}
.hp-post-card{margin-bottom:36px;padding-bottom:28px;border-bottom:1px solid var(--hp-border);}
.hp-post-card-media img{border-radius:var(--hp-radius);margin-bottom:14px;}
.hp-page,.hp-entry{padding:48px 0;}
.hp-entry-content{max-width:760px;}
.hp-sidebar .hp-widget{margin-bottom:28px;}

/* Newsletter strip */
.hp-newsletter-strip{background:var(--hp-navy-light);color:#fff;padding:36px 0;}
.hp-newsletter-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;}
.hp-newsletter-inner h3{color:#fff;margin:0;}
.hp-newsletter-form{display:flex;gap:0;}
.hp-newsletter-form input{border:0;padding:12px 16px;min-width:260px;border-radius:var(--hp-radius) 0 0 var(--hp-radius);}
.hp-newsletter-form button{border:0;background:var(--hp-yellow);color:var(--hp-navy);font-weight:700;padding:0 22px;border-radius:0 var(--hp-radius) var(--hp-radius) 0;cursor:pointer;}
.hp-newsletter-msg{margin-top:8px;font-size:.85rem;}
.hp-newsletter-msg.hp-success{color:#8fe3a3;}
.hp-newsletter-msg.hp-error{color:#ffb3b3;}

/* Footer */
.hp-footer{background:var(--hp-navy);color:#c9d3db;}
.hp-footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;padding:48px 0 24px;}
.hp-footer-title{color:#fff;font-size:1rem;text-transform:uppercase;letter-spacing:.04em;}
.hp-footer a{color:#c9d3db;}
.hp-footer a:hover{color:var(--hp-yellow);}
.hp-footer-menu-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-top:1px solid rgba(255,255,255,.1);flex-wrap:wrap;gap:14px;}
.hp-footer-menu{list-style:none;display:flex;gap:18px;margin:0;padding:0;flex-wrap:wrap;}
.hp-footer-bottom{background:rgba(0,0,0,.2);padding:14px 0;font-size:.8rem;text-align:center;}

/* Responsive */
@media (max-width:900px){
  .hp-menu-toggle{display:block;}
  .hp-primary-nav{
    display:none;position:absolute;top:100%;left:0;right:0;background:#fff;
    border-top:1px solid var(--hp-border);padding:12px 20px;box-shadow:0 12px 20px rgba(0,0,0,.08);
  }
  .hp-primary-nav.is-open{display:block;}
  .hp-menu{flex-direction:column;gap:4px;}
  .hp-menu ul{position:static;box-shadow:none;border:0;padding-left:14px;opacity:1;visibility:visible;transform:none;display:none;}
  .hp-menu li.is-open > ul{display:block;}
  .hp-with-sidebar{grid-template-columns:1fr;}
  .hp-footer-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
  .hp-hero-title{font-size:1.9rem;}
  .hp-footer-grid{grid-template-columns:1fr;}
  .hp-newsletter-form{flex-direction:column;width:100%;}
  .hp-newsletter-form input,.hp-newsletter-form button{border-radius:var(--hp-radius);width:100%;}
}
