/* ============================================================
   PIZZA KRABICE — theme override (nacita se PO shop.css)
   Paleta z design/pizza-krabice-web/style.css. Nove komponenty
   maji prefix pk- aby nekolidovaly se shop.css. Paleta se meni
   globalne pres :root (pretintuje i ostatni stranky).
   ============================================================ */
:root{
  /* KARTON4U — magenta brand (dle karton4you.cz) */
  --brown:#262626; --brown-light:#3a3a3a; --kraft:#cc0066; --cream:#ffffff;
  --primary:#cc0066; --primary-dark:#a80257; --green:#cc0066; --green-dark:#a80257;
  --accent:#cc0066; --accent-dark:#a80257; --gold:#cc0066;
  --orange:#cc0066; --red:#cc0066;
  --bg:#ffffff; --surface:#ffffff; --bg-light:#f3f3f3;
  --border:#e6e6e6; --text:#2b2b2b; --text-muted:#6b6b6b; --muted:#6b6b6b;
  --secondary:#262626;
}
body{ background:var(--cream); color:var(--text); }
.pk-topbar{ background:#cc0066 !important; }
.pk-header{ background:#cc0066 !important; }
.pk-nav{ background:#cc0066 !important; }
.pk-nav a:hover, .pk-nav a.active{ background:#a80257 !important; }

/* === KARTON4U header (dle karton4you.cz): magenta pruh, vycentrovane logo v bilem boxu === */
.k4-header{ background:#cc0066; position:relative; }
.k4-header-inner{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; min-height:74px; gap:18px; }
.k4-nav{ display:flex; gap:26px; align-items:center; }
.k4-nav-left{ justify-self:start; }
.k4-nav-right{ justify-self:end; }
.k4-navlinks{ display:flex; gap:26px; align-items:center; }
.k4-nav a{ color:#fff; font-weight:700; text-transform:uppercase; font-size:14px; letter-spacing:.03em; white-space:nowrap; }
.k4-nav a:hover{ opacity:.82; }
.k4-logo{ justify-self:center; align-self:start; position:relative; z-index:6; }
.k4-logo img{ display:block; width:118px; height:auto; background:#fff; padding:10px 16px 14px; box-shadow:0 8px 18px rgba(0,0,0,.18); }
.k4-search-btn{ background:none; border:0; color:#fff; cursor:pointer; padding:4px; display:inline-flex; }
.k4-header .hamburger{ display:none; color:#fff; background:none; border:0; cursor:pointer; }
@media(max-width:900px){
  .k4-header-inner{ grid-template-columns:1fr auto 1fr; min-height:58px; }
  .k4-navlinks{ display:none; }
  .k4-header .hamburger{ display:inline-flex; }
  .k4-logo{ align-self:center; }
  .k4-logo img{ width:84px; padding:6px 10px; }
}
.qty-min-note{ margin:0 0 10px; color:var(--green-dark); font-size:.92rem; font-weight:600; }
/* karton: text-only hero + kategorie karty */
.pk-hero-text-only{ grid-template-columns:1fr; max-width:820px; }
.pk-cat-card{ align-items:center; justify-content:flex-start; gap:8px; text-decoration:none; transition:transform .12s, box-shadow .12s; }
.pk-cat-card:hover{ transform:translateY(-3px); box-shadow:0 14px 30px rgba(45,29,23,.14); }
.pk-cat-ico{ font-size:48px; line-height:1; }
.pk-cat-card h3{ font-size:18px; min-height:2.4em; display:flex; align-items:center; }
.pk-values{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.pk-value{ background:#fff; border:1px solid var(--border); border-radius:10px; box-shadow:0 8px 22px rgba(0,0,0,.06); padding:30px 24px; text-align:center; }
.pk-value .pk-cat-ico{ font-size:46px; }
.pk-value h3{ margin:12px 0 8px; color:var(--text); font-size:20px; }
.pk-value p{ color:var(--muted); margin:0; line-height:1.6; }
@media(max-width:900px){ .pk-values{ grid-template-columns:1fr; } }
/* qty stepper — pryc nativni sipky (nahoru/dolu) */
.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.qty-input{ -moz-appearance:textfield; appearance:textfield; }
/* dodaci lhuta + dotaz */
.delivery-line{ margin:6px 0 12px; color:var(--text-muted); font-size:.95rem; }
.delivery-line strong{ color:var(--text); }
.product-inquiry{ margin-top:18px; padding-top:16px; border-top:1px solid var(--border); }
.product-inquiry p{ margin:0 0 10px; color:var(--text-muted); font-size:.95rem; }
.price-bezdph small{ color:var(--text-muted); font-weight:400; font-size:.55em; }

/* === Poptávkový / dotazový modal === */
.inquiry-modal[hidden]{ display:none; }
.inquiry-modal{ position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; padding:18px; }
.inquiry-overlay{ position:absolute; inset:0; background:rgba(45,29,23,.55); backdrop-filter:blur(2px); }
.inquiry-dialog{ position:relative; background:#fff; border-radius:12px; box-shadow:0 24px 60px rgba(45,29,23,.3); width:min(520px,100%); max-height:92vh; overflow:auto; padding:28px 26px; }
.inquiry-close{ position:absolute; top:10px; right:12px; border:0; background:none; font-size:30px; line-height:1; color:var(--muted); cursor:pointer; }
.inquiry-close:hover{ color:var(--brown); }
.inquiry-dialog h3{ margin:0 0 8px; color:var(--brown); font-size:1.45rem; }
.inquiry-intro{ margin:0 0 16px; color:var(--text-muted); }
.inquiry-form{ display:flex; flex-direction:column; gap:11px; }
.inquiry-row{ display:flex; gap:11px; }
.inquiry-form input, .inquiry-form textarea{ width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:8px; font-size:15px; font-family:inherit; }
.inquiry-form input:focus, .inquiry-form textarea:focus{ outline:none; border-color:var(--green); box-shadow:0 0 0 3px rgba(95,143,34,.15); }
.inquiry-cta{ justify-content:center; margin-top:4px; }
.inquiry-status{ margin:8px 0 0; padding:10px 12px; border-radius:8px; font-size:.92rem; }
.inquiry-status.is-ok{ background:#eaf4dd; color:var(--green-dark); }
.inquiry-status.is-err{ background:#fdecea; color:#b5462f; }
.inquiry-or{ text-align:center; color:var(--muted); font-size:.85rem; margin:18px 0 10px; position:relative; }
.inquiry-contacts{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px 22px; justify-content:center; }
.inquiry-contacts li{ display:inline-flex; align-items:center; gap:8px; color:var(--brown); font-weight:600; }
.inquiry-contacts a{ color:var(--green-dark); }
@media (max-width:520px){ .inquiry-row{ flex-direction:column; } }
.pk-container{ width:min(1180px, calc(100% - 32px)); margin:0 auto; }

/* ---- Topbar (tmave hneda lista) ---- */
.pk-topbar{ background:var(--brown); color:#fff; font-size:13.5px; }
.pk-topbar-inner{ display:flex; justify-content:space-between; align-items:center; gap:16px; padding:9px 0; }
.pk-topbar-usps{ display:flex; gap:22px; flex-wrap:wrap; }
.pk-topbar a{ color:#fff; }

/* ---- Header (kraft gradient) ---- */
.pk-header{ background:#c9955a url('/img/theme/pk-kraft-pattern.png') center/cover; padding:22px 0; }
.pk-header-inner{ display:grid; grid-template-columns:210px 1fr auto; gap:26px; align-items:center; }
.pk-logo img{ max-height:76px; object-fit:contain; background:#fff; padding:5px 5px; border-radius:5px; box-shadow:0 4px 14px rgba(45,29,23,.12); }
.pk-header-inner{ grid-template-columns:330px 1fr auto; }
.pk-search{ display:flex; max-width:560px; }
.pk-search input{ width:100%; padding:14px 16px; border:0; border-radius:6px 0 0 6px; font-size:15px; }
.pk-search button{ border:0; background:var(--brown); color:#fff; padding:0 24px; font-weight:700; text-transform:uppercase; border-radius:0 6px 6px 0; cursor:pointer; display:flex; align-items:center; }
.pk-actions{ display:flex; gap:16px; align-items:center; font-weight:700; color:var(--brown); }
.pk-actions a{ display:inline-flex; gap:7px; align-items:center; }
.pk-actions .pk-cart{ background:var(--brown); color:#fff; padding:11px 16px; border-radius:6px; }
.pk-actions .pk-cart .cart-badge{ background:var(--orange); color:#fff; border-radius:999px; padding:1px 7px; font-size:12px; margin-left:4px; }

/* ---- Nav (tmave hneda, aktivni zelena) ---- */
.pk-nav{ background:var(--brown); }
.pk-nav-inner{ display:flex; justify-content:center; gap:2px; flex-wrap:wrap; }
.pk-nav a{ color:#fff; padding:15px 26px; font-weight:700; text-transform:uppercase; font-size:13.5px; }
.pk-nav a:hover, .pk-nav a.active{ background:var(--green); }

/* ---- Buttons ---- */
.pk-btn{ display:inline-flex; align-items:center; gap:8px; background:var(--green); color:#fff; padding:16px 28px; border-radius:6px; font-weight:700; text-transform:uppercase; cursor:pointer; border:0; }
.pk-btn:hover{ background:var(--green-dark); }
.pk-btn-ghost{ background:transparent; border:2px solid var(--green); color:var(--green); }
.pk-btn-ghost:hover{ background:var(--green); color:#fff; }
.pk-small-btn{ display:inline-flex; align-items:center; justify-content:center; background:var(--green); color:#fff; padding:10px 20px; border-radius:6px; font-weight:700; text-transform:uppercase; font-size:13px; }
.pk-small-btn:hover{ background:var(--green-dark); }

/* ---- Hero ---- */
.pk-hero{ background:#fff; padding:58px 0; overflow:hidden; }
.pk-hero-inner{ display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:40px; }
.pk-hero h1{ margin:0 0 14px; font-size:clamp(40px,6vw,66px); line-height:.97; color:var(--brown); font-weight:800; }
.pk-hero h1 span{ color:var(--orange); display:block; }
.pk-hero p{ font-size:20px; line-height:1.5; max-width:520px; color:var(--text); }
.pk-points{ display:flex; flex-wrap:wrap; gap:18px; margin:24px 0; font-weight:700; }
.pk-points span::before{ content:"✔ "; color:var(--green); }
.pk-hero-img img{ border-radius:14px; box-shadow:0 15px 35px rgba(45,29,23,.12); }

/* ---- Sections / grids ---- */
.pk-section{ padding:54px 0; background:#fff; }
.pk-section.muted{ background:var(--cream); }
.pk-section h2{ margin:0 0 28px; text-align:center; font-size:32px; color:var(--brown); }
.pk-section h2 em{ color:var(--orange); font-style:normal; }
.pk-cat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.pk-prod-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.pk-card{ background:#fff; border:1px solid var(--border); border-radius:10px; box-shadow:0 8px 22px rgba(45,29,23,.08); padding:20px; text-align:center; display:flex; flex-direction:column; }
.pk-card img{ height:165px; object-fit:contain; margin:0 auto 14px; width:100%; }
.pk-card h3{ margin:0 0 6px; font-size:22px; color:var(--brown); }
.pk-card p{ color:var(--muted); margin:0 0 12px; flex:1; }
.pk-card strong{ display:block; margin:10px 0 14px; font-size:17px; color:var(--green); }

/* ---- Promo bloky (potisk / vyroba na miru) ---- */
.pk-promo-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.pk-promo{ background:#fff; border:1px solid var(--border); border-radius:10px; box-shadow:0 8px 22px rgba(45,29,23,.08); padding:28px; display:flex; gap:22px; align-items:center; }
.pk-promo img{ width:150px; height:120px; object-fit:contain; flex:0 0 auto; }
.pk-promo h3{ margin:0 0 8px; font-size:22px; color:var(--brown); }
.pk-promo h3 span{ color:var(--green); display:block; }
.pk-promo p{ margin:0 0 14px; color:var(--muted); }

/* ---- CTA band ---- */
.pk-cta{ background:var(--green); color:#fff; padding:38px 0; }
.pk-cta-inner{ display:flex; align-items:center; justify-content:space-between; gap:26px; flex-wrap:wrap; }
.pk-cta h2{ margin:0; font-size:27px; }
.pk-cta p{ margin:6px 0 0; }
.pk-cta .pk-btn{ background:#fff; color:var(--green); }
.pk-cta .pk-btn:hover{ background:#f0f0f0; }

/* ---- Footer ---- */
.pk-footer{ background:var(--brown); color:#fff; padding:46px 0 0; }
.pk-footer-grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.3fr; gap:34px; }
.pk-footer h3{ margin-top:0; color:#fff; font-size:17px; text-transform:uppercase; letter-spacing:.02em; }
.pk-footer a{ display:block; color:#e9d8c7; margin-bottom:9px; }
.pk-footer a:hover{ color:#fff; }
.pk-footer p, .pk-footer span{ color:#e9d8c7; line-height:1.7; display:block; }
.pk-footer-bottom{ border-top:1px solid rgba(255,255,255,.12); margin-top:30px; padding:16px 0; font-size:13px; color:#cbb9a7; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.pk-footer-bottom a{ display:inline; color:#cbb9a7; }

@media (max-width:900px){
  .pk-header-inner, .pk-hero-inner, .pk-footer-grid, .pk-promo-grid{ grid-template-columns:1fr; }
  .pk-cat-grid, .pk-prod-grid{ grid-template-columns:repeat(2,1fr); }
  .pk-cta-inner{ flex-direction:column; align-items:flex-start; }
  .pk-actions{ justify-content:space-between; }
}
@media (max-width:560px){
  .pk-topbar-inner{ flex-direction:column; gap:4px; text-align:center; }
  .pk-topbar-usps{ justify-content:center; gap:14px; }
  .pk-cat-grid, .pk-prod-grid{ grid-template-columns:1fr; }
  .pk-promo{ flex-direction:column; text-align:center; }
}
