/*
Theme Name: Fulfil.pl
Theme URI: https://fulfil.pl
Author: Fulfil.pl
Author URI: https://fulfil.pl
Description: Motyw WordPress dla fulfil.pl — fulfillment dla e-commerce. Dwujęzyczny (PL/EN), ACF, WPForms.
Version: 3.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fulfil
*/

/* ══════════════════════════════════════
   RESET & VARIABLES
   ══════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --cream:#eae8e1;
  --gold:#736635;
  --gold-light:#9a8a52;
  --gold-dark:#4e4322;
  --text:#2c2415;
  --muted:#6b5e3f;
  --white:#fff;
  --border:#cfc8b4;
  --shadow:rgba(115,102,53,.15);
}
html{scroll-behavior:smooth}
body{font-family:'Lato',sans-serif;background:var(--cream);color:var(--text);line-height:1.6}
h1,h2,h3,.logo-text,.stat-num{font-family:'Raleway',sans-serif}

/* ══════════════════════════════════════
   LANGUAGE SYSTEM
   ══════════════════════════════════════ */
/* Default: show PL, hide EN */
.len{display:none!important}
.lpl{display:inline!important}
/* When body has lang-en: swap */
body.lang-en .lpl{display:none!important}
body.lang-en .len{display:inline!important}
/* Block-level variants */
div.lpl,p.lpl{display:block!important}
div.len,p.len{display:none!important}
body.lang-en div.lpl,body.lang-en p.lpl{display:none!important}
body.lang-en div.len,body.lang-en p.len{display:block!important}

/* ── Language toggle switch ── */
.lang-switch-item{
  display:flex;align-items:center;gap:6px;
  margin:0 4px;
}
.lang-label{
  font-size:.75rem;font-weight:700;
  color:var(--muted);opacity:.5;
  cursor:pointer;user-select:none;
  transition:opacity .2s,color .2s;
}
.lang-label--active{
  opacity:1;color:var(--gold-dark);
}
.lang-toggle{
  position:relative;
  width:36px;height:20px;
  background:var(--border);
  border-radius:12px;border:none;
  cursor:pointer;padding:0;
  transition:background .25s;
  flex-shrink:0;
}
.lang-toggle-knob{
  position:absolute;top:2px;left:2px;
  width:16px;height:16px;
  background:var(--white);
  border-radius:50%;
  transition:transform .25s;
  box-shadow:0 1px 3px rgba(0,0,0,.15);
}
.lang-toggle--en{background:var(--gold)}
.lang-toggle--en .lang-toggle-knob{transform:translateX(16px)}

/* Mobile lang bar */
.mobile-lang-bar{
  display:flex;align-items:center;justify-content:center;
  gap:8px;padding:12px 32px 4px;
}

/* ══════════════════════════════════════
   WORDPRESS DEFAULTS OVERRIDE
   ══════════════════════════════════════ */
html{margin-top:0 !important}
#wpadminbar{position:fixed !important}

.wpforms-container .wpforms-form input[type=text],
.wpforms-container .wpforms-form input[type=email],
.wpforms-container .wpforms-form input[type=tel],
.wpforms-container .wpforms-form select,
.wpforms-container .wpforms-form textarea{
  border:2px solid var(--border) !important;border-radius:10px !important;
  padding:11px 14px !important;font-size:.93rem !important;
  color:var(--text) !important;font-family:'Lato',sans-serif !important;
  background:var(--cream) !important;transition:border-color .2s !important;
}
.wpforms-container .wpforms-form input:focus,
.wpforms-container .wpforms-form select:focus,
.wpforms-container .wpforms-form textarea:focus{
  border-color:var(--gold) !important;background:var(--white) !important;
}
.wpforms-container .wpforms-form button[type=submit],
.wpforms-container .wpforms-form .wpforms-submit{
  background:var(--gold) !important;color:var(--white) !important;
  border:none !important;border-radius:10px !important;
  padding:14px 32px !important;font-size:1rem !important;font-weight:700 !important;
  cursor:pointer !important;transition:background .2s !important;
  font-family:'Lato',sans-serif !important;width:100% !important;
}
.wpforms-container .wpforms-form button[type=submit]:hover,
.wpforms-container .wpforms-form .wpforms-submit:hover{
  background:var(--gold-dark) !important;
}

/* ══════════════════════════════════════
   NAV
   ══════════════════════════════════════ */
nav#main-nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  background:rgba(234,232,225,.96);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);height:68px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 48px;transition:box-shadow .3s;
}
nav#main-nav.scrolled{box-shadow:0 4px 24px var(--shadow)}

.logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.logo-img{width:42px;height:42px;object-fit:contain;border-radius:10px;display:block}
.logo-text{font-family:'Raleway',sans-serif;font-size:1.45rem;font-weight:800;color:var(--gold-dark);letter-spacing:.5px;white-space:nowrap;line-height:1}
.logo-text span{color:var(--gold)}
.logo-icon{display:none}
.custom-logo-link{display:contents}

.nav-links{display:flex;gap:28px;list-style:none;align-items:center;margin:0;padding:0}
.nav-links a{color:var(--muted);text-decoration:none;font-size:.93rem;font-weight:600;letter-spacing:.4px;transition:color .2s;position:relative;padding-bottom:3px;white-space:nowrap}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--gold);transition:width .25s}
.nav-links a:hover,.nav-links a.active{color:var(--gold)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}

.nav-cta{background:var(--gold);color:var(--white)!important;padding:9px 22px;border-radius:8px;font-weight:700!important;text-align:center;line-height:1}
.nav-cta::after{display:none!important}
.nav-cta:hover{background:var(--gold-dark)!important}

.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:4px;z-index:300;flex-shrink:0}
.hamburger span{display:block;height:2.5px;width:100%;background:var(--gold-dark);border-radius:2px;transition:transform .3s,opacity .3s}
.hamburger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

.mobile-menu{display:none;position:fixed;top:68px;left:0;right:0;background:rgba(234,232,225,.98);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);z-index:199;padding:0 0 24px;box-shadow:0 8px 32px var(--shadow);transform:translateY(-10px);opacity:0;transition:transform .3s,opacity .3s;pointer-events:none}
.mobile-menu.open{transform:translateY(0);opacity:1;pointer-events:auto}
.mobile-menu ul{list-style:none;display:flex;flex-direction:column;margin:0;padding:0}
.mobile-menu ul li a{display:block;padding:14px 32px;font-size:1.05rem;font-weight:600;color:var(--muted);text-decoration:none;border-bottom:1px solid var(--border);transition:background .15s,color .15s}
.mobile-menu ul li:last-child a{border-bottom:none}
.mobile-menu ul li a:hover{background:rgba(115,102,53,.07);color:var(--gold)}
.mobile-menu ul li a.nav-cta{margin:16px 32px 0;border-radius:10px;text-align:center;background:var(--gold);color:var(--white)!important;border:none;padding:12px 24px}
.mobile-menu ul li a.nav-cta:hover{background:var(--gold-dark)!important}

/* ══════════════════════════════════════
   HERO
   ══════════════════════════════════════ */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:100px 48px 60px;gap:60px;background:linear-gradient(135deg,var(--cream) 55%,#d5d0c0 100%)}
.hero.hero--has-bg{background-size:cover;background-position:center;background-repeat:no-repeat;position:relative}
.hero.hero--has-bg::before{content:'';position:absolute;inset:0;background:rgba(234,232,225,.82);z-index:0}
.hero.hero--has-bg>*{position:relative;z-index:1}
.hero-tag{display:inline-block;background:var(--gold);color:var(--white);border-radius:30px;padding:6px 18px;font-size:.8rem;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:22px}
.hero h1{font-size:3rem;font-weight:800;line-height:1.15;color:var(--gold-dark);margin-bottom:20px}
.hero h1 em{color:var(--gold);font-style:normal}
.hero p{font-size:1.06rem;color:var(--muted);line-height:1.75;margin-bottom:32px;max-width:480px}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:40px}
.btn{display:inline-block;padding:13px 28px;border-radius:10px;font-size:.95rem;font-weight:700;text-decoration:none;cursor:pointer;border:none;transition:all .2s;font-family:'Lato',sans-serif;text-align:center}
.btn-primary{background:var(--gold);color:var(--white)}
.btn-primary:hover{background:var(--gold-dark)}
.btn-outline{background:transparent;color:var(--gold);border:2px solid var(--gold)}
.btn-outline:hover{background:var(--gold);color:var(--white)}
.hero-stats{display:flex;gap:36px;flex-wrap:wrap}
.stat-num{font-size:2rem;font-weight:800;color:var(--gold)}
.stat-label{font-size:.8rem;color:var(--muted);line-height:1.35}
.hero-visual{display:flex;align-items:center;justify-content:center}
.hero-visual svg,.hero-visual img{width:100%;max-width:520px;height:auto}

/* ══════════════════════════════════════
   SECTIONS
   ══════════════════════════════════════ */
section{padding:88px 48px}
.container{max-width:1100px;margin:0 auto}
.section-label{display:inline-block;border:1.5px solid var(--gold);color:var(--gold);border-radius:20px;padding:4px 14px;font-size:.77rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:12px}
.section-title{font-size:2rem;font-weight:800;color:var(--gold-dark);margin-bottom:10px}
.section-sub{color:var(--muted);font-size:1rem;max-width:580px;line-height:1.65;margin-bottom:48px}
.section-header{text-align:center}
.section-header .section-sub{margin:0 auto 48px}

/* ══════════════════════════════════════
   ABOUT
   ══════════════════════════════════════ */
.about-section{background:var(--white)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.about-visual{border-radius:20px;overflow:hidden;height:400px;background:var(--cream);display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}
.about-visual svg,.about-visual img{width:90%;max-width:380px;height:auto;object-fit:contain}
.about-text p{color:var(--muted);line-height:1.78;margin-bottom:16px;font-size:.97rem}
.about-text p strong{color:var(--gold-dark)}
.about-highlight{background:var(--cream);border-left:4px solid var(--gold);border-radius:0 10px 10px 0;padding:16px 20px;margin:24px 0;font-style:italic;color:var(--muted);font-size:.95rem;line-height:1.6}

/* ══════════════════════════════════════
   WHY FULFILLMENT
   ══════════════════════════════════════ */
.why-section{background:var(--cream)}
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.benefit-card{background:var(--white);border-radius:16px;padding:28px 24px;border:1px solid var(--border);transition:box-shadow .25s,transform .25s}
.benefit-card:hover{box-shadow:0 10px 36px var(--shadow);transform:translateY(-5px)}
.benefit-icon{font-size:2.2rem;margin-bottom:14px;display:block}
.benefit-title{font-size:1rem;font-weight:700;color:var(--gold-dark);margin-bottom:8px;font-family:'Raleway',sans-serif}
.benefit-desc{font-size:.87rem;color:var(--muted);line-height:1.62}

/* ══════════════════════════════════════
   WHY US
   ══════════════════════════════════════ */
.whyus-section{background:var(--gold-dark);padding:88px 48px}
.whyus-section .section-title{color:var(--cream)}
.whyus-section .section-label{border-color:rgba(234,232,225,.35);color:rgba(234,232,225,.7)}
.whyus-section .section-sub{color:rgba(234,232,225,.65);margin:0 auto 48px}
.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.feature-card{background:rgba(234,232,225,.07);border:1px solid rgba(234,232,225,.13);border-radius:14px;padding:24px 20px;text-align:center;transition:background .25s}
.feature-card:hover{background:rgba(234,232,225,.13)}
.feature-icon{font-size:1.8rem;margin-bottom:12px;display:block}
.feature-title{font-size:.92rem;font-weight:700;color:var(--cream);margin-bottom:6px;font-family:'Raleway',sans-serif}
.feature-desc{font-size:.8rem;color:rgba(234,232,225,.58);line-height:1.55}

/* ══════════════════════════════════════
   PRICING — responsive table fix
   ══════════════════════════════════════ */
.pricing-section{background:var(--white)}
.pricing-table-wrap{margin-bottom:20px;border-radius:14px;border:1px solid var(--border);box-shadow:0 4px 20px var(--shadow);overflow:hidden}
table{width:100%;border-collapse:collapse;font-size:.93rem}
thead{background:var(--gold-dark);color:var(--white)}
thead th{padding:15px 20px;text-align:left;font-weight:700;font-family:'Raleway',sans-serif}
thead th:first-child{border-radius:13px 0 0 0}
thead th:last-child{border-radius:0 13px 0 0;text-align:right}
tbody tr{border-bottom:1px solid var(--border);transition:background .15s}
tbody tr:last-child{border-bottom:none}
tbody tr:hover{background:#f5f3ee}
tbody tr:nth-child(even){background:var(--cream)}
tbody td{padding:14px 20px;color:var(--text);vertical-align:middle}
tbody td:last-child{text-align:right;white-space:nowrap}
.dims{font-size:.78rem;color:var(--muted);display:block;margin-top:2px}
.price-tag{font-weight:800;color:var(--gold);font-size:1.05rem}
.price-unit{font-size:.78rem;color:var(--muted)}
.pricing-note{background:var(--cream);border-radius:10px;padding:14px 20px;font-size:.84rem;color:var(--muted);text-align:center;border:1px solid var(--border);margin-top:16px}
.currency-bar{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.currency-bar label{font-size:.83rem;font-weight:700;color:var(--gold-dark)}
.currency-btns{display:flex;gap:6px}
.cur-btn{background:var(--cream);border:2px solid var(--border);border-radius:8px;padding:5px 14px;font-size:.83rem;font-weight:700;cursor:pointer;color:var(--muted);transition:all .2s;font-family:'Lato',sans-serif;text-align:center}
.cur-btn.active{background:var(--gold);border-color:var(--gold);color:var(--white)}
.rate-info{font-size:.76rem;color:var(--muted);display:flex;align-items:center;gap:5px}
.rate-info .dot{width:7px;height:7px;border-radius:50%;background:#aaa;display:inline-block}
.rate-info .dot.dot-ok{background:#27ae60}
.rate-loading{font-size:.76rem;color:var(--muted);font-style:italic}

/* ══════════════════════════════════════
   CALCULATOR
   ══════════════════════════════════════ */
.calc-section{background:var(--cream)}
.calc-tabs{display:flex;gap:10px;justify-content:center;margin-bottom:32px}
.tab-btn{background:var(--white);border:2px solid var(--border);border-radius:10px;padding:10px 28px;font-size:.92rem;font-weight:700;cursor:pointer;color:var(--muted);transition:all .2s;font-family:'Lato',sans-serif;text-align:center}
.tab-btn.active{background:var(--gold);border-color:var(--gold);color:var(--white)}
.calc-panel{display:none}
.calc-panel.active{display:block}
.calc-card{background:var(--white);border-radius:18px;padding:36px 32px;box-shadow:0 4px 28px var(--shadow);max-width:800px;margin:0 auto;border:1px solid var(--border)}
.calc-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:22px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:.85rem;font-weight:700;color:var(--gold-dark)}
.hint{font-size:.76rem;color:var(--muted);margin-top:-2px}
.slider-wrap{display:flex;align-items:center;gap:12px}
input[type=range]{flex:1;accent-color:var(--gold);cursor:pointer}
.num-input{width:85px;border:2px solid var(--border);border-radius:8px;padding:7px 10px;font-size:.93rem;color:var(--text);text-align:right;outline:none;transition:border-color .2s}
.num-input:focus{border-color:var(--gold)}
.calc-divider{border:none;border-top:1px solid var(--border);margin:18px 0}

.calc-result{background:linear-gradient(135deg,var(--gold-dark),var(--gold-light));border-radius:14px;padding:26px 28px;color:var(--white);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;margin-top:26px}
.rlabel{font-size:.9rem;color:rgba(255,255,255,.75)}
.total{font-size:2.2rem;font-weight:800;font-family:'Raleway',sans-serif}
.total span{font-size:1rem;font-weight:400}
.breakdown{margin-top:8px;font-size:.8rem;color:rgba(255,255,255,.65);line-height:1.8}
.note-row{background:rgba(115,102,53,.08);border-left:4px solid var(--gold);border-radius:0 8px 8px 0;padding:10px 14px;font-size:.83rem;color:var(--gold-dark);margin-bottom:22px}

/* ══════════════════════════════════════
   CONTACT
   ══════════════════════════════════════ */
.contact-section{background:var(--white)}
.contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:start}
.contact-info h3{font-size:1.4rem;font-weight:800;color:var(--gold-dark);margin-bottom:14px;font-family:'Raleway',sans-serif}
.contact-info>p{color:var(--muted);font-size:.95rem;line-height:1.65;margin-bottom:24px}
.contact-detail{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:.95rem;color:var(--text)}
.contact-detail a{color:var(--text);text-decoration:none;transition:color .2s}
.contact-detail a:hover{color:var(--gold)}
.contact-ico{width:38px;height:38px;background:var(--cream);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;border:1px solid var(--border)}
.info-box{background:var(--cream);border-radius:14px;padding:22px;margin-top:28px;border:1px solid var(--border)}
.info-box h4{font-size:.85rem;font-weight:700;color:var(--gold-dark);margin-bottom:12px;font-family:'Raleway',sans-serif;text-transform:uppercase;letter-spacing:.5px}
.info-box li{font-size:.85rem;color:var(--muted);margin-bottom:7px;padding-left:16px;position:relative;list-style:none}
.info-box li::before{content:'✓';position:absolute;left:0;color:var(--gold);font-weight:700}

/* ══════════════════════════════════════
   PRIVACY POLICY PAGE
   ══════════════════════════════════════ */
.page-section{background:var(--white);min-height:80vh}
.privacy-content h2{font-size:1.2rem;font-weight:700;color:var(--gold-dark);margin:28px 0 10px;font-family:'Raleway',sans-serif}
.privacy-content p{color:var(--muted);line-height:1.75;margin-bottom:14px;font-size:.93rem}
.privacy-content a{color:var(--gold);text-decoration:underline}
.privacy-content strong{color:var(--gold-dark)}

/* ══════════════════════════════════════
   FOOTER
   ══════════════════════════════════════ */
footer.site-footer{background:var(--gold-dark);color:rgba(234,232,225,.6);padding:36px 48px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
.footer-logo{font-size:1.3rem;font-weight:800;color:var(--cream);font-family:'Raleway',sans-serif;letter-spacing:1px}
.footer-logo span{color:var(--gold-light)}
footer.site-footer p{font-size:.83rem}
footer.site-footer a{color:var(--gold-light);text-decoration:none;transition:color .2s}
footer.site-footer a:hover{color:var(--cream)}

/* ══════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════ */
@media(max-width:960px){
  .hero{grid-template-columns:1fr;padding:100px 28px 60px}
  .about-grid,.contact-grid{grid-template-columns:1fr}
  .benefits-grid{grid-template-columns:1fr 1fr}
  .features-grid{grid-template-columns:1fr 1fr}
  .hero h1{font-size:2.3rem}
}
@media(max-width:768px){
  nav#main-nav{padding:0 20px;height:60px}
  .nav-links{display:none}
  .hamburger{display:flex}
  .mobile-menu{display:block;top:60px}
  .logo-img{width:34px;height:34px}
  .logo-text{font-size:1.2rem}
  .logo{gap:8px}

  /* Pricing table → card layout on mobile */
  .pricing-table-wrap{border:none;box-shadow:none;border-radius:0}
  table,thead,tbody,th,td,tr{display:block}
  thead{display:none}
  tbody tr{
    background:var(--white)!important;
    border:1px solid var(--border);
    border-radius:14px;
    margin-bottom:12px;
    padding:18px 20px;
    box-shadow:0 2px 10px var(--shadow);
  }
  tbody td{
    padding:4px 0;text-align:left!important;
    display:flex;justify-content:space-between;align-items:center;
  }
  tbody td:first-child{
    margin-bottom:6px;
  }
  tbody td:last-child{
    margin-top:8px;padding-top:10px;
    border-top:1px solid var(--border);
  }
}
@media(max-width:600px){
  section{padding:64px 20px}
  .benefits-grid,.features-grid{grid-template-columns:1fr}
  .calc-row{grid-template-columns:1fr}
  .calc-tabs{flex-direction:column;gap:6px}
  .hero-btns{flex-direction:column}
  footer.site-footer{flex-direction:column;text-align:center;padding:28px 20px}
  .currency-bar{justify-content:center}
}
@media(max-width:400px){
  nav#main-nav{padding:0 16px}
  .logo-img{width:30px;height:30px}
  .logo-text{font-size:1.1rem}
  .logo{gap:6px}
}
