/*
Theme Name: Elektrozip
Theme URI: https://elektrozip.pl
Author: Elektrozip Sp. z o.o.
Description: Industrial construction theme for ELEKTROZIP TOOLS, MATERIALS & CONSTRUCTION. Tones of black, white, gray and yellow with a polished-oak header. Fully responsive and editable via the WordPress Customizer (colors and header image) and the page editor (text).
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
Text Domain: elektrozip
*/

/* ============================================================
   COLOR SYSTEM
   These defaults are overridden live by the Customizer.
   (Appearance > Customize > Elektrozip Colors)
   ============================================================ */
:root{
  --ez-black:#0f0f10;
  --ez-ink:#1a1a1a;
  --ez-charcoal:#2b2b2b;
  --ez-gray:#4a4a4a;
  --ez-gray-2:#8a8a8a;
  --ez-line:#d6d6d6;
  --ez-mist:#f3f3f3;
  --ez-white:#ffffff;
  --ez-yellow:#f5c518;
  --ez-yellow-dark:#d9a800;

  --ez-font-display:'Oswald','Arial Narrow',Helvetica,Arial,sans-serif;
  --ez-font-body:'Inter','Segoe UI',Helvetica,Arial,sans-serif;
  --ez-maxw:1180px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--ez-font-body);
  color:var(--ez-ink);
  background:var(--ez-white);
  line-height:1.65;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--ez-ink);text-decoration:none;}
.ez-wrap{max-width:var(--ez-maxw);margin:0 auto;padding:0 22px;}

h1,h2,h3,h4{font-family:var(--ez-font-display);font-weight:700;line-height:1.08;letter-spacing:.01em;margin:0 0 .5em;text-transform:uppercase;}
h1{font-size:clamp(2.1rem,5vw,3.5rem);}
h2{font-size:clamp(1.6rem,3.4vw,2.4rem);}
h3{font-size:1.25rem;}
p{margin:0 0 1.1em;}

/* ============================================================
   TOP BAR + NAV (sticky, common to all pages)
   ============================================================ */
.ez-topbar{
  background:var(--ez-black);
  color:var(--ez-mist);
  font-size:.82rem;
  letter-spacing:.04em;
}
.ez-topbar .ez-wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:38px;flex-wrap:wrap;}
.ez-topbar a{color:var(--ez-mist);}
.ez-topbar a:hover{color:var(--ez-yellow);}

.ez-header{
  position:sticky;top:0;z-index:1000;
  background:var(--ez-ink);
  border-bottom:3px solid var(--ez-yellow);
}
.ez-header .ez-wrap{display:flex;align-items:center;justify-content:space-between;min-height:74px;}
.ez-brand{display:flex;align-items:center;gap:12px;color:var(--ez-white);font-family:var(--ez-font-display);text-transform:uppercase;}
.ez-brand .ez-logo-mark{
  background:var(--ez-yellow);color:var(--ez-black);
  font-weight:700;font-size:1.15rem;line-height:1;
  padding:9px 11px;border-radius:3px;letter-spacing:.05em;
}
.ez-brand .ez-logo-text{display:flex;flex-direction:column;line-height:1.05;}
.ez-brand .ez-logo-text strong{font-size:1.25rem;letter-spacing:.06em;}
.ez-brand .ez-logo-text span{font-size:.6rem;color:var(--ez-yellow);letter-spacing:.22em;}

/* Menu */
.ez-nav ul{list-style:none;display:flex;gap:4px;margin:0;padding:0;}
.ez-nav a{
  display:block;color:var(--ez-mist);font-family:var(--ez-font-display);
  text-transform:uppercase;letter-spacing:.05em;font-size:.95rem;
  padding:10px 14px;border-radius:3px;transition:.15s;
}
.ez-nav a:hover,.ez-nav .current-menu-item>a,.ez-nav .current_page_item>a{
  background:var(--ez-yellow);color:var(--ez-black);
}
.ez-nav-toggle{
  display:none;background:none;border:2px solid var(--ez-yellow);
  color:var(--ez-yellow);font-family:var(--ez-font-display);text-transform:uppercase;
  letter-spacing:.08em;padding:8px 14px;border-radius:3px;cursor:pointer;font-size:.9rem;
}

/* ============================================================
   OAK BOARD HERO HEADER (common to all pages)
   ============================================================ */
.ez-hero{
  position:relative;
  min-height:300px;
  display:flex;align-items:center;
  background-color:var(--ez-charcoal);
  background-size:cover;background-position:center;
  border-bottom:6px solid var(--ez-yellow);
}
.ez-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,15,16,.78),rgba(15,15,16,.30));}
.ez-hero .ez-wrap{position:relative;z-index:2;padding-top:54px;padding-bottom:54px;}
.ez-hero .ez-eyebrow{color:var(--ez-yellow);font-family:var(--ez-font-display);letter-spacing:.28em;text-transform:uppercase;font-size:.78rem;margin-bottom:10px;}
.ez-hero h1{color:var(--ez-white);margin:0;text-shadow:0 2px 14px rgba(0,0,0,.5);}
.ez-hero p.ez-hero-sub{color:var(--ez-mist);max-width:640px;margin-top:14px;font-size:1.05rem;}
.ez-hero.ez-hero-home{min-height:460px;}

/* ============================================================
   BUTTONS
   ============================================================ */
.ez-btn{
  display:inline-block;background:var(--ez-yellow);color:var(--ez-black);
  font-family:var(--ez-font-display);text-transform:uppercase;letter-spacing:.06em;
  font-weight:700;padding:14px 28px;border-radius:3px;border:none;cursor:pointer;
  transition:.15s;font-size:1rem;
}
.ez-btn:hover{background:var(--ez-yellow-dark);transform:translateY(-1px);}
.ez-btn-ghost{background:transparent;color:var(--ez-white);border:2px solid var(--ez-yellow);}
.ez-btn-ghost:hover{background:var(--ez-yellow);color:var(--ez-black);}
.ez-btn-sm{padding:10px 18px;font-size:.85rem;}

/* ============================================================
   SECTIONS / LAYOUT HELPERS
   ============================================================ */
.ez-section{padding:72px 0;}
.ez-section.alt{background:var(--ez-mist);}
.ez-section.dark{background:var(--ez-black);color:var(--ez-mist);}
.ez-section.dark h1,.ez-section.dark h2,.ez-section.dark h3{color:var(--ez-white);}
.ez-section.dark .ez-lead{color:var(--ez-line);}
.ez-eyebrow{color:var(--ez-yellow-dark);font-family:var(--ez-font-display);letter-spacing:.22em;text-transform:uppercase;font-size:.78rem;margin-bottom:8px;}
.ez-section.dark .ez-eyebrow{color:var(--ez-yellow);}
.ez-lead{font-size:1.18rem;color:var(--ez-gray);max-width:760px;}
.ez-prose{max-width:780px;}
.ez-prose p{font-size:1.06rem;color:var(--ez-charcoal);}
.ez-section.dark .ez-prose p{color:var(--ez-line);}

.ez-grid{display:grid;gap:26px;}
.ez-grid-2{grid-template-columns:repeat(2,1fr);}
.ez-grid-3{grid-template-columns:repeat(3,1fr);}
.ez-grid-4{grid-template-columns:repeat(4,1fr);}

.ez-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.ez-split img{border-radius:5px;width:100%;object-fit:cover;box-shadow:0 14px 40px rgba(0,0,0,.18);}

.ez-figure{border-radius:5px;overflow:hidden;box-shadow:0 12px 34px rgba(0,0,0,.16);}
.ez-figure img{width:100%;aspect-ratio:3/2;object-fit:cover;}

/* Feature cards */
.ez-card{background:var(--ez-white);border:1px solid var(--ez-line);border-radius:6px;padding:30px 26px;transition:.18s;}
.ez-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.12);border-color:var(--ez-yellow);}
.ez-card .ez-num{font-family:var(--ez-font-display);font-size:.9rem;color:var(--ez-yellow-dark);letter-spacing:.18em;}
.ez-card h3{margin:.4em 0 .35em;}

/* Stats strip */
.ez-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:center;}
.ez-stat strong{display:block;font-family:var(--ez-font-display);font-size:2.6rem;color:var(--ez-yellow);}
.ez-stat span{color:var(--ez-line);text-transform:uppercase;letter-spacing:.1em;font-size:.82rem;}

/* ============================================================
   PRODUCT / CATEGORY CARDS (Tools & Materials)
   ============================================================ */
.ez-vat-note{
  background:#fff7d6;border:1px solid var(--ez-yellow);color:var(--ez-charcoal);
  border-radius:5px;padding:14px 18px;font-size:.95rem;margin-bottom:34px;
}
.ez-vat-note strong{color:var(--ez-ink);}
.ez-products{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.ez-product{
  background:var(--ez-white);border:1px solid var(--ez-line);border-radius:6px;
  overflow:hidden;display:flex;flex-direction:column;transition:.18s;
}
.ez-product:hover{box-shadow:0 16px 40px rgba(0,0,0,.13);border-color:var(--ez-yellow);}
.ez-product .ez-thumb{aspect-ratio:1/1;background:var(--ez-mist);overflow:hidden;}
.ez-product .ez-thumb img{width:100%;height:100%;object-fit:cover;}
.ez-product .ez-pbody{padding:18px 18px 22px;display:flex;flex-direction:column;flex:1;}
.ez-product .ez-cat{font-family:var(--ez-font-display);font-size:.72rem;letter-spacing:.14em;color:var(--ez-gray-2);text-transform:uppercase;}
.ez-product h3{font-size:1.05rem;margin:.3em 0 .2em;text-transform:none;font-family:var(--ez-font-body);font-weight:700;}
.ez-product .ez-desc{font-size:.92rem;color:var(--ez-gray);flex:1;}
.ez-product .ez-price{font-family:var(--ez-font-display);font-size:1.5rem;color:var(--ez-ink);margin:10px 0 4px;}
.ez-product .ez-price small{font-size:.7rem;color:var(--ez-gray-2);letter-spacing:.06em;}
.ez-product .ez-btn{margin-top:14px;text-align:center;}

.ez-catnav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px;}
.ez-catnav a{background:var(--ez-ink);color:var(--ez-mist);padding:8px 16px;border-radius:30px;font-family:var(--ez-font-display);letter-spacing:.05em;text-transform:uppercase;font-size:.82rem;}
.ez-catnav a:hover{background:var(--ez-yellow);color:var(--ez-black);}
.ez-cat-block{margin-bottom:54px;scroll-margin-top:120px;}
.ez-cat-block h2{border-bottom:3px solid var(--ez-yellow);padding-bottom:10px;display:inline-block;}

/* ============================================================
   CONTACT PAGE
   ============================================================ */
.ez-contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:46px;align-items:start;}
.ez-contact-card{background:var(--ez-ink);color:var(--ez-mist);border-radius:6px;padding:34px 30px;}
.ez-contact-card h3{color:var(--ez-white);}
.ez-contact-card .ez-row{display:flex;gap:14px;margin-bottom:18px;align-items:flex-start;}
.ez-contact-card .ez-row .ez-ico{color:var(--ez-yellow);font-size:1.2rem;min-width:24px;}
.ez-contact-card a{color:var(--ez-yellow);}
.ez-form-box{background:var(--ez-white);border:1px solid var(--ez-line);border-radius:6px;padding:34px 30px;}

/* Contact Form 7 styling (applies when plugin shortcode is added) */
.wpcf7 label{display:block;font-weight:600;margin-bottom:18px;color:var(--ez-charcoal);}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],
.wpcf7 textarea,.wpcf7 select{
  width:100%;margin-top:6px;padding:12px 14px;border:1px solid var(--ez-line);
  border-radius:4px;font-family:var(--ez-font-body);font-size:1rem;background:var(--ez-white);
}
.wpcf7 input:focus,.wpcf7 textarea:focus,.wpcf7 select:focus{outline:none;border-color:var(--ez-yellow);box-shadow:0 0 0 3px rgba(245,197,24,.25);}
.wpcf7 input[type=submit]{
  background:var(--ez-yellow);color:var(--ez-black);border:none;font-family:var(--ez-font-display);
  text-transform:uppercase;letter-spacing:.06em;font-weight:700;padding:14px 30px;border-radius:3px;cursor:pointer;font-size:1rem;
}
.wpcf7 input[type=submit]:hover{background:var(--ez-yellow-dark);}

/* Fallback static form (shown if Contact Form 7 is not installed) */
.ez-fallback-form label{display:block;font-weight:600;margin-bottom:16px;color:var(--ez-charcoal);}
.ez-fallback-form input,.ez-fallback-form textarea,.ez-fallback-form select{
  width:100%;margin-top:6px;padding:12px 14px;border:1px solid var(--ez-line);border-radius:4px;font-size:1rem;font-family:var(--ez-font-body);
}

/* ============================================================
   FOOTER
   ============================================================ */
.ez-footer{background:var(--ez-black);color:var(--ez-gray-2);padding:54px 0 26px;font-size:.95rem;}
.ez-footer h4{color:var(--ez-white);font-size:1.05rem;}
.ez-footer .ez-grid{grid-template-columns:1.4fr 1fr 1fr;gap:40px;}
.ez-footer a{color:var(--ez-gray-2);}
.ez-footer a:hover{color:var(--ez-yellow);}
.ez-footer ul{list-style:none;padding:0;margin:0;}
.ez-footer ul li{margin-bottom:9px;}
.ez-footer .ez-foot-brand strong{color:var(--ez-yellow);font-family:var(--ez-font-display);letter-spacing:.06em;font-size:1.2rem;}
.ez-footer-bottom{border-top:1px solid #2a2a2a;margin-top:36px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.82rem;color:#666;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:980px){
  .ez-grid-4{grid-template-columns:repeat(2,1fr);}
  .ez-products{grid-template-columns:repeat(2,1fr);}
  .ez-contact-grid{grid-template-columns:1fr;}
}
@media(max-width:760px){
  body{font-size:16px;}
  .ez-nav{
    position:absolute;top:74px;left:0;right:0;background:var(--ez-ink);
    border-bottom:3px solid var(--ez-yellow);display:none;
  }
  .ez-nav.open{display:block;}
  .ez-nav ul{flex-direction:column;gap:0;padding:8px;}
  .ez-nav a{padding:14px;border-radius:4px;}
  .ez-nav-toggle{display:inline-block;}
  .ez-grid-2,.ez-grid-3,.ez-grid-4,.ez-products{grid-template-columns:1fr;}
  .ez-split{grid-template-columns:1fr;gap:28px;}
  .ez-stats{grid-template-columns:1fr;gap:22px;}
  .ez-footer .ez-grid{grid-template-columns:1fr;}
  .ez-section{padding:52px 0;}
  .ez-topbar .ez-wrap{justify-content:center;}
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important;}
}
