/*
Theme Name: KP Construction — Astra Child
Theme URI: https://kpconstruction.pl/
Description: Motyw potomny Astra z brandingiem KP Construction Rev 4.0 — kolory, typografia, clip-path "plate", style WooCommerce (sklep, kategoria, produkt, koszyk).
Author: KP Construction Sp. z o.o.
Author URI: https://kpconstruction.pl/
Template: astra
Version: 1.0.0
Text Domain: astra-child-kp
*/

/* ═══════════════════════════════════════════════
   KP CONSTRUCTION — BRAND STYLESHEET
   Based on Brand Identity System Rev 4.0 — 2025
   ═══════════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box}

:root{
  --bg:#F1F0EC; --bg2:#E8E7E2; --white:#FFFFFF;
  --ink:#0A0A0A; --ink2:#1C1C1C; --mid:#5A5A5A; --pale:#AAAAAA;
  --rule:rgba(0,0,0,0.07);
  --power:#CC1B1B; --plant:#15692E; --profit:#9B7600; --protect:#132B4E; --process:#364E5C;
  --cut:16px;
}

html,body{background:var(--bg);color:var(--ink);font-family:'Barlow',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.45}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit}

/* Industrial plate clip-path — SIGNATURE brand shape */
.plate{clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)))}
.plate-sm{--cut:10px;clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)))}
.plate-xs{--cut:6px;clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)))}

/* Typography */
.dsp{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-style:italic;letter-spacing:-.02em;line-height:.92;text-transform:uppercase}
.ovl{font-size:10px;font-weight:700;letter-spacing:5px;text-transform:uppercase;color:var(--pale)}
.tag{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-style:italic;letter-spacing:.5px;text-transform:uppercase}

.wrap{max-width:1260px;margin:0 auto;padding:0 28px}

/* ───── TOPBAR ───── */
.kp-topbar{background:var(--ink);color:#fff;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:500;position:relative}
.kp-topbar::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--power) 0 20%,var(--plant) 20% 40%,var(--profit) 40% 60%,var(--protect) 60% 80%,var(--process) 80% 100%)}
.kp-topbar-inner{display:flex;justify-content:space-between;align-items:center;padding:10px 28px;max-width:1260px;margin:0 auto;flex-wrap:wrap;gap:12px}
.kp-topbar span{opacity:.7}
.kp-topbar strong{opacity:1;color:#fff;font-weight:700}
.kp-topbar .sep{opacity:.2;margin:0 10px}

/* ───── BUTTONS (override WooCommerce + Astra) ───── */
.btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt{
  display:inline-flex;align-items:center;gap:10px;padding:16px 30px;
  font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:800;font-style:italic;
  letter-spacing:2px;text-transform:uppercase;cursor:pointer;border:none;
  transition:transform .15s, background .2s;
  --cut:12px;
  background:var(--power);color:#fff;border-radius:0;
  clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)));
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.btn:hover{background:#A61515;color:#fff;transform:translateY(-1px)}

.btn-sm{padding:10px 20px;font-size:12px}
.btn-power{background:var(--power);color:#fff}
.btn-power:hover{background:#A61515}
.btn-protect{background:var(--protect);color:#fff}
.btn-protect:hover{background:#0E2240}
.btn-light{background:#fff;color:var(--ink);border:1.5px solid var(--ink)}
.btn-light:hover{background:var(--bg2)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:var(--power)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff}

/* ───── SECTION HEAD ───── */
.sec-head{display:flex;align-items:center;gap:14px;margin-bottom:36px}
.sec-n{font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:700;font-style:italic;letter-spacing:2px;color:var(--pale)}
.sec-l{flex:1;height:1px;background:var(--rule)}
.sec-t{font-size:11px;font-weight:700;letter-spacing:5px;text-transform:uppercase;color:var(--mid)}

/* ───── SPECTRUM BAR ───── */
.spectrum{height:4px;background:linear-gradient(90deg,var(--power) 0 20%,var(--plant) 20% 40%,var(--profit) 40% 60%,var(--protect) 60% 80%,var(--process) 80% 100%)}
.spectrum-thin{height:2px;background:linear-gradient(90deg,var(--power) 0 20%,var(--plant) 20% 40%,var(--profit) 40% 60%,var(--protect) 60% 80%,var(--process) 80% 100%)}

/* ───── PRODUCT CARD — WOOCOMMERCE OVERRIDES ───── */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  background:#fff;border:1px solid var(--rule);position:relative;
  display:flex;flex-direction:column;
  transition:transform .2s, box-shadow .2s, border-color .2s;
  overflow:hidden;padding:0;
}
.woocommerce ul.products li.product::before{
  content:'';position:absolute;top:0;left:-4px;right:-4px;height:3px;
  background:var(--power);transform:skewX(-20deg) translateX(4px);z-index:3;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.08);border-color:var(--ink)
}
.woocommerce ul.products li.product a img{
  aspect-ratio:1;object-fit:contain;background:var(--bg2);margin:0;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:'Barlow',sans-serif;font-size:14px;font-weight:600;
  line-height:1.35;color:var(--ink);padding:18px 20px 6px;
}
.woocommerce ul.products li.product .price{
  font-family:'Barlow Condensed',sans-serif;font-size:24px;font-weight:900;font-style:italic;
  line-height:1;letter-spacing:-.5px;color:var(--power);
  padding:0 20px 14px;border-top:1px solid var(--rule);margin-top:14px;padding-top:14px;
}
.woocommerce ul.products li.product .price ins{background:none;color:var(--power);text-decoration:none;font-weight:900}
.woocommerce ul.products li.product .price del{font-size:11px;font-weight:500;color:var(--pale)}
.woocommerce ul.products li.product .onsale{
  position:absolute;top:12px;left:12px;padding:5px 12px;
  font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:900;font-style:italic;
  letter-spacing:2px;text-transform:uppercase;z-index:2;
  background:var(--profit);color:#fff;border-radius:0;min-height:auto;line-height:1.2;margin:0;
}

/* Page titles */
.woocommerce .woocommerce-products-header__title,
.woocommerce-page .woocommerce-products-header__title,
.entry-title, .page-title{
  font-family:'Barlow Condensed',sans-serif;font-size:56px;font-weight:900;font-style:italic;
  line-height:.95;letter-spacing:-1.5px;text-transform:uppercase;margin-bottom:10px;
}

/* Single product */
.woocommerce div.product .product_title{
  font-family:'Barlow Condensed',sans-serif;font-size:42px;font-weight:900;font-style:italic;
  line-height:.95;letter-spacing:-1px;text-transform:uppercase;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-family:'Barlow Condensed',sans-serif;font-size:36px;font-weight:900;font-style:italic;
  color:var(--power);letter-spacing:-.5px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{
  background:var(--ink);color:#fff;border-color:var(--ink);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#fff}

/* Cart */
.woocommerce table.shop_table{
  border:1px solid var(--rule);border-radius:0;background:#fff;
}
.woocommerce table.shop_table th{
  font-family:'Barlow Condensed',sans-serif;font-weight:900;font-style:italic;
  letter-spacing:2px;text-transform:uppercase;font-size:12px;
}
.woocommerce-cart .cart-collaterals .cart_totals h2,
.woocommerce-checkout h3{
  font-family:'Barlow Condensed',sans-serif;font-weight:900;font-style:italic;
  text-transform:uppercase;letter-spacing:.5px;
}

/* Badges KP style for sale */
.kp-badge{position:absolute;top:12px;left:12px;padding:5px 12px;
  font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:900;font-style:italic;
  letter-spacing:2px;text-transform:uppercase;z-index:2;color:#fff}
.kp-badge.new{background:var(--power)}
.kp-badge.hit{background:var(--ink)}
.kp-badge.sale{background:var(--profit)}

/* Breadcrumbs */
.woocommerce .woocommerce-breadcrumb{
  padding:18px 0;font-size:12px;color:var(--mid);letter-spacing:1px;
}
.woocommerce .woocommerce-breadcrumb a{color:var(--mid)}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--power)}

/* Messages */
.woocommerce-message,
.woocommerce-info{
  border-top-color:var(--power);background:#fff;
}
.woocommerce-error{border-top-color:var(--power);background:#fff}

/* ═══════════════════════════════════════════════
   HIDE ASTRA DEFAULT HEADER + FOOTER
   ═══════════════════════════════════════════════ */
header.site-header,
.ast-above-header-bar,
.ast-below-header,
footer.site-footer,
.site-below-footer-wrap,
.site-primary-footer-wrap,
.ast-primary-header-bar{
  display:none !important;
}

/* ═══════════════════════════════════════════════
   KP HEADER (injected via wp_body_open)
   ═══════════════════════════════════════════════ */
header.kp-header{
  background:var(--white);border-bottom:1px solid var(--rule);
  position:sticky;top:0;z-index:40;
}
.kp-header .hdr{display:flex;align-items:center;gap:36px;padding:22px 0}
.kp-header .logo{display:flex;align-items:center;gap:16px;flex-shrink:0;text-decoration:none;color:var(--ink)}
.kp-header .logo-mark svg{display:block}
.kp-header .logo-div{width:1px;height:42px;background:rgba(0,0,0,.1)}
.kp-header .logo-name{display:flex;flex-direction:column;gap:2px}
.kp-header .logo-wm1{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:900;font-style:italic;letter-spacing:.2px;line-height:1;text-transform:uppercase;color:var(--ink)}
.kp-header .logo-wm2{font-size:9px;font-weight:500;letter-spacing:4px;text-transform:uppercase;color:var(--pale)}
.kp-header .kp-milwaukee-ad{height:44px;width:auto;display:block;object-fit:contain;flex-shrink:0}

.kp-header .search{flex:1;max-width:560px;display:flex;border:1.5px solid var(--ink);background:#fff}
.kp-header .search input[type=search]{flex:1;padding:12px 16px;border:none;outline:none;background:transparent;font-family:'Barlow',sans-serif;font-size:14px;color:var(--ink);width:100%}
.kp-header .search input[type=search]::placeholder{color:var(--pale)}
.kp-header .search button{
  background:var(--ink);color:#fff;border:none;padding:0 22px;
  font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:800;font-style:italic;
  letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:background .2s;
  clip-path:none;
}
.kp-header .search button:hover{background:var(--power)}

.kp-header .hdr-actions{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600}
.kp-header .hdr-actions a{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--ink);position:relative;transition:color .2s;text-decoration:none}
.kp-header .hdr-actions a:hover{color:var(--power)}
.kp-header .hdr-actions .ico{font-size:18px;letter-spacing:0}
.kp-header .cart-badge{position:absolute;top:-6px;right:-10px;background:var(--power);color:#fff;font-size:9px;font-weight:800;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;letter-spacing:0}

/* ───── KP NAV ───── */
.kp-nav.main{background:var(--ink);color:#fff}
.kp-nav .nav-inner{display:flex;align-items:stretch;max-width:1260px;margin:0 auto;padding:0 28px}
.kp-nav .nav-inner a{padding:16px 22px;font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:800;font-style:italic;letter-spacing:1px;text-transform:uppercase;color:#fff;transition:border-color .2s;display:flex;align-items:center;gap:8px;border-bottom:3px solid transparent;text-decoration:none}
.kp-nav .nav-inner a:hover{border-bottom-color:var(--power)}
.kp-nav .nav-inner a.is-active{border-bottom-color:var(--power)}
.kp-nav .nav-inner a .dot{width:7px;height:7px;border-radius:50%;display:inline-block}
.kp-nav .nav-inner .sp{flex:1}

/* ═══════════════════════════════════════════════
   KP FOOTER (injected via wp_footer)
   ═══════════════════════════════════════════════ */
footer.kp-footer{background:#050505;color:rgba(255,255,255,.7);font-size:13px;margin-top:80px}
.kp-footer .foot-milwaukee{display:flex;align-items:center;gap:32px;padding:34px 0 28px;border-bottom:1px solid rgba(255,255,255,.08);flex-wrap:wrap}
.kp-footer .foot-milwaukee img{display:block;object-fit:contain;max-width:200px;height:auto}
.kp-footer .foot-milwaukee img:first-child{max-width:220px;filter:brightness(1.05)}
.kp-footer .foot-milwaukee-text{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.4);flex:1;min-width:220px;font-weight:500}
.kp-footer .foot-top{padding:50px 0 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:50px}
.kp-footer .foot-logo{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.kp-footer .foot-wm{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:900;font-style:italic;color:#fff;text-transform:uppercase;letter-spacing:.3px;line-height:1}
.kp-footer .foot-sub{font-size:9px;color:rgba(255,255,255,.3);letter-spacing:3px;text-transform:uppercase;margin-top:3px}
.kp-footer p{line-height:1.6;color:rgba(255,255,255,.55);font-size:13px;margin-bottom:14px}
.kp-footer .foot-meta{font-size:11px;color:rgba(255,255,255,.35);letter-spacing:1px;line-height:1.7}
.kp-footer h4{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:900;font-style:italic;letter-spacing:2px;text-transform:uppercase;color:#fff;margin-bottom:18px}
.kp-footer ul{list-style:none;display:flex;flex-direction:column;gap:8px;padding:0;margin:0}
.kp-footer a{color:rgba(255,255,255,.6);transition:color .2s;text-decoration:none}
.kp-footer a:hover{color:var(--power)}
.kp-footer .foot-soc{display:flex;gap:8px;margin-top:18px}
.kp-footer .foot-soc a{width:34px;height:34px;background:rgba(255,255,255,.06);display:grid;place-items:center;color:#fff;font-family:'Barlow Condensed',sans-serif;font-weight:900;font-style:italic}
.kp-footer .foot-soc a:hover{background:var(--power);color:#fff}
.kp-footer .foot-bot{border-top:1px solid rgba(255,255,255,.08);padding:22px 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:center;font-size:11px;letter-spacing:1.5px;color:rgba(255,255,255,.4);text-transform:uppercase}
.kp-footer .pay-chips{display:flex;gap:6px;flex-wrap:wrap}
.kp-footer .pay-chips span{background:rgba(255,255,255,.06);padding:6px 12px;font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;font-style:italic;letter-spacing:1.5px;color:rgba(255,255,255,.6)}

/* ───── RESPONSIVE ───── */
@media (max-width: 900px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{grid-template-columns:1fr 1fr}
  .woocommerce div.product .product_title{font-size:32px}
  .entry-title,.page-title{font-size:38px}
  .kp-header .hdr{flex-wrap:wrap;gap:18px}
  .kp-header .search{order:3;width:100%;max-width:none}
  .kp-footer .foot-top{grid-template-columns:1fr 1fr;gap:24px}
  .kp-nav .nav-inner{overflow-x:auto}
  .kp-nav .nav-inner a{padding:14px 16px;font-size:13px;white-space:nowrap}
}
@media (max-width: 600px){
  .entry-title,.page-title{font-size:32px}
  .kp-footer .foot-top{grid-template-columns:1fr}
}
