/*
Theme Name: KUIR Child
Theme URI: https://kuir.pl
Description: Child theme GeneratePress dla Kancelarii KUIR — branding granat/biel/złoto, premium kancelaryjny. CPT postępowania i oferty.
Author: Raich
Template: generatepress
Version: 1.0.0
Text Domain: kuir-child
*/

/* ===================== TOKENY / BRANDING ===================== */
:root{
  --kuir-granat:#0f2a4a;       /* głęboki granat (primary) */
  --kuir-granat-900:#0a1d34;   /* ciemniejszy */
  --kuir-granat-700:#163a63;
  --kuir-granat-50:#eef3f8;
  --kuir-zloto:#b8912f;        /* złoto (accent) */
  --kuir-zloto-600:#a07d24;
  --kuir-zloto-100:#f3ead3;
  --kuir-biel:#ffffff;
  --kuir-kremowy:#f8f7f4;      /* tło sekcji */
  --kuir-tekst:#1c2733;
  --kuir-tekst-muted:#5a6b7b;
  --kuir-linia:#e4e2db;
  --kuir-radius:4px;
  --kuir-maxw:1180px;
  --kuir-font-head:"Playfair Display", Georgia, "Times New Roman", serif;
  --kuir-font-body:"Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}

/* ===================== TYPOGRAFIA ===================== */
html,body{ overflow-x:hidden; max-width:100%; }
body{ font-family:var(--kuir-font-body); color:var(--kuir-tekst); font-size:17px; line-height:1.7; }
h1,h2,h3,h4,h5,h6,.entry-title,.widget-title{ font-family:var(--kuir-font-head); color:var(--kuir-granat); font-weight:700; line-height:1.2; letter-spacing:.005em; overflow-wrap:break-word; word-wrap:break-word; }
/* elementy gridu nie rozpychają się ponad kontener (długie słowa) */
.kuir-grid>*{ min-width:0; }
.kuir-case,.kuir-offer,.kuir-card{ min-width:0; }
h1{ font-size:2.6rem; } h2{ font-size:2rem; } h3{ font-size:1.5rem; }
a{ color:var(--kuir-granat-700); text-underline-offset:2px; }
a:hover{ color:var(--kuir-zloto-600); }
.kuir-lead{ font-size:1.18rem; color:var(--kuir-tekst-muted); }

/* akcent złota pod nagłówkami sekcji */
.kuir-section-title{ position:relative; margin-bottom:1.3em; }
.kuir-section-title::after{ content:""; display:block; width:68px; height:3px; background:var(--kuir-zloto); margin-top:.5rem; border-radius:2px; }
.kuir-section-title.is-center{ text-align:center; }
.kuir-section-title.is-center::after{ margin-left:auto; margin-right:auto; }

/* ===================== UKŁAD ===================== */
.kuir-wrap{ max-width:var(--kuir-maxw); margin-left:auto; margin-right:auto; padding-left:20px; padding-right:20px; }
/* Pełna szerokość kontenera GP dla naszych szablonów (bez bugu 100vw) */
.kuir-tpl #page.grid-container{ max-width:100%; padding-left:0; padding-right:0; }
.kuir-tpl #content.site-content{ padding-left:0; padding-right:0; display:block; }  /* GP .site-content jest flex — nasze sekcje muszą się układać pionowo */
.kuir-tpl #content.site-content > .content-area{ width:100%; float:none; }
.kuir-fullbleed, .kuir-section, .kuir-hero{ width:100%; box-sizing:border-box; display:block; }
.kuir-section{ padding:68px 0; }
.kuir-section.is-cream{ background:var(--kuir-kremowy); }
.kuir-section.is-granat{ background:var(--kuir-granat); color:#dfe8f1; }
.kuir-section.is-granat h1,.kuir-section.is-granat h2,.kuir-section.is-granat h3{ color:#fff; }
.kuir-section.is-granat a{ color:var(--kuir-zloto-100); }

/* ===================== PRZYCISKI ===================== */
.kuir-btn{ display:inline-block; font-family:var(--kuir-font-body); font-weight:600; font-size:.98rem;
  padding:13px 26px; border-radius:var(--kuir-radius); text-decoration:none; transition:all .18s ease; border:2px solid transparent; cursor:pointer; }
.kuir-btn-primary{ background:var(--kuir-granat); color:#fff !important; }
.kuir-btn-primary:hover{ background:var(--kuir-granat-900); }
.kuir-btn-gold{ background:var(--kuir-zloto); color:#1c1405 !important; }
.kuir-btn-gold:hover{ background:var(--kuir-zloto-600); color:#fff !important; }
.kuir-btn-ghost{ background:transparent; color:var(--kuir-granat) !important; border-color:var(--kuir-granat); }
.kuir-btn-ghost:hover{ background:var(--kuir-granat); color:#fff !important; }
.is-granat .kuir-btn-ghost,.kuir-hero .kuir-btn-ghost{ color:#fff !important; border-color:rgba(255,255,255,.6); }
.is-granat .kuir-btn-ghost:hover,.kuir-hero .kuir-btn-ghost:hover{ background:#fff; color:var(--kuir-granat) !important; }

/* ===================== HERO ===================== */
.kuir-hero{ background:linear-gradient(135deg,var(--kuir-granat-900),var(--kuir-granat) 60%,var(--kuir-granat-700)); color:#fff; padding:96px 0 84px; }
.kuir-hero h1{ color:#fff; font-size:3rem; max-width:18ch; }
.kuir-hero .kuir-lead{ color:#cdd9e6; max-width:62ch; margin-top:1rem; }
.kuir-hero .kuir-cta{ margin-top:2rem; display:flex; gap:14px; flex-wrap:wrap; }
.kuir-hero-eyebrow{ text-transform:uppercase; letter-spacing:.22em; font-size:.8rem; color:var(--kuir-zloto); font-weight:600; margin-bottom:1rem; }

/* ===================== KARTY / SIATKA ===================== */
.kuir-grid{ display:grid; gap:24px; }
.kuir-grid-3{ grid-template-columns:repeat(3,1fr); }
.kuir-grid-2{ grid-template-columns:repeat(2,1fr); }
.kuir-card{ background:#fff; border:1px solid var(--kuir-linia); border-radius:var(--kuir-radius); padding:30px 28px; transition:box-shadow .18s, transform .18s; }
.kuir-card:hover{ box-shadow:0 10px 34px rgba(15,42,74,.10); transform:translateY(-2px); }
.kuir-card .kuir-card-ico{ width:46px; height:46px; color:var(--kuir-zloto); margin-bottom:14px; }
.kuir-card h3{ font-size:1.25rem; margin:.1rem 0 .5rem; }

/* ===================== LISTA SPRAW / POSTĘPOWAŃ ===================== */
.kuir-filters{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 26px; }
.kuir-chip{ display:inline-block; padding:9px 18px; border:1px solid var(--kuir-linia); border-radius:999px; background:#fff;
  color:var(--kuir-granat); text-decoration:none; font-size:.92rem; font-weight:600; transition:all .15s; }
.kuir-chip:hover{ border-color:var(--kuir-granat); }
.kuir-chip.is-active{ background:var(--kuir-granat); color:#fff; border-color:var(--kuir-granat); }
.kuir-cases{ display:flex; flex-direction:column; gap:14px; }
.kuir-case{ background:#fff; border:1px solid var(--kuir-linia); border-left:4px solid var(--kuir-zloto); border-radius:var(--kuir-radius);
  padding:18px 22px; display:flex; flex-direction:column; gap:3px; }
.kuir-case .kuir-sygn{ font-weight:700; color:var(--kuir-granat); font-size:1.02rem; letter-spacing:.01em; }
.kuir-case .kuir-dluznik{ font-size:1.05rem; }
.kuir-case .kuir-sad{ color:var(--kuir-tekst-muted); font-size:.93rem; }
.kuir-case.is-zakonczone{ border-left-color:#9aa7b4; opacity:.92; }
.kuir-status-head{ font-family:var(--kuir-font-head); color:var(--kuir-granat); font-size:1.35rem; margin:34px 0 14px; padding-bottom:.3rem; border-bottom:2px solid var(--kuir-zloto-100); }
.kuir-count{ font-size:.85rem; font-weight:600; color:var(--kuir-tekst-muted); }

/* ===================== OFERTY ===================== */
.kuir-offer{ background:#fff; border:1px solid var(--kuir-linia); border-radius:var(--kuir-radius); padding:26px 26px; margin-bottom:22px; }
.kuir-offer-badge{ display:inline-block; font-size:.76rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em;
  padding:4px 11px; border-radius:3px; margin-bottom:10px; }
.kuir-badge-przetarg{ background:var(--kuir-granat); color:#fff; }
.kuir-badge-zaproszenie{ background:var(--kuir-zloto-100); color:var(--kuir-zloto-600); }
.kuir-offer h3{ margin:.1rem 0 .4rem; }
.kuir-offer-meta{ display:flex; flex-wrap:wrap; gap:18px; color:var(--kuir-tekst-muted); font-size:.92rem; margin:.5rem 0 1rem; }
.kuir-offer-meta b{ color:var(--kuir-granat); }
.kuir-offer-docs{ margin-top:14px; display:flex; flex-wrap:wrap; gap:10px; }
.kuir-doc{ display:inline-flex; align-items:center; gap:7px; font-size:.9rem; font-weight:600; padding:8px 14px;
  border:1px solid var(--kuir-linia); border-radius:var(--kuir-radius); text-decoration:none; color:var(--kuir-granat); background:var(--kuir-granat-50); }
.kuir-doc:hover{ border-color:var(--kuir-zloto); color:var(--kuir-zloto-600); }

/* ===================== DANE POSTĘPOWANIA (single) ===================== */
.kuir-datatable{ width:100%; border-collapse:collapse; margin:1.2rem 0; }
.kuir-datatable th,.kuir-datatable td{ text-align:left; padding:12px 14px; border-bottom:1px solid var(--kuir-linia); vertical-align:top; }
.kuir-datatable th{ width:220px; color:var(--kuir-tekst-muted); font-weight:600; font-family:var(--kuir-font-body); }

/* ===================== HEADER / FOOTER ===================== */
.kuir-topbar{ background:var(--kuir-granat-900); color:#c7d3df; font-size:.86rem; }
.kuir-topbar a{ color:#e7edf3; text-decoration:none; }
.kuir-topbar .kuir-wrap{ display:flex; justify-content:space-between; gap:18px; padding-top:8px; padding-bottom:8px; flex-wrap:wrap; }
.kuir-footer{ background:var(--kuir-granat-900); color:#aebccb; padding:56px 0 26px; font-size:.95rem; }
.kuir-footer h4{ color:#fff; font-family:var(--kuir-font-head); font-size:1.15rem; margin-bottom:.8rem; }
.kuir-footer a{ color:#cdd9e6; text-decoration:none; }
.kuir-footer a:hover{ color:var(--kuir-zloto-100); }
.kuir-footer-cols{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:36px; }
.kuir-footer-bottom{ border-top:1px solid rgba(255,255,255,.12); margin-top:34px; padding-top:18px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; color:#8a9bac; font-size:.85rem; }

/* GeneratePress nav akcenty */
.main-navigation .main-nav ul li a{ font-family:var(--kuir-font-body); font-weight:600; letter-spacing:.01em; }
.main-navigation{ border-bottom:3px solid var(--kuir-zloto); }

/* ===================== FORMULARZ KONTAKT ===================== */
.kuir-form{ max-width:640px; }
.kuir-form .kuir-row{ margin-bottom:16px; }
.kuir-form label{ display:block; font-weight:600; margin-bottom:6px; color:var(--kuir-granat); }
.kuir-form input[type=text],.kuir-form input[type=email],.kuir-form input[type=tel],.kuir-form textarea{
  width:100%; padding:12px 14px; border:1px solid var(--kuir-linia); border-radius:var(--kuir-radius); font:inherit; background:#fff; }
.kuir-form input:focus,.kuir-form textarea:focus{ outline:none; border-color:var(--kuir-granat); box-shadow:0 0 0 3px rgba(15,42,74,.08); }
.kuir-form .kuir-hp{ position:absolute; left:-9999px; top:-9999px; }
.kuir-rodo{ display:flex; gap:10px; align-items:flex-start; font-size:.9rem; color:var(--kuir-tekst-muted); }
.kuir-rodo input{ margin-top:4px; }
.kuir-note{ padding:14px 18px; border-radius:var(--kuir-radius); margin-bottom:18px; }
.kuir-note.ok{ background:#e9f6ee; color:#1c6b3a; border:1px solid #bfe3cc; }
.kuir-note.err{ background:#fcebe9; color:#8c2b20; border:1px solid #f0c3bd; }

/* ===================== RESPONSYWNOŚĆ ===================== */
@media (max-width:980px){
  .kuir-grid-3{ grid-template-columns:1fr 1fr; }
  .kuir-footer-cols{ grid-template-columns:1fr 1fr; }
  .kuir-hero h1{ font-size:2.3rem; } h1{ font-size:2.1rem; } h2{ font-size:1.7rem; }
}
@media (max-width:640px){
  body{ font-size:16px; }
  .kuir-section{ padding:46px 0; }
  .kuir-grid-3,.kuir-grid-2,.kuir-footer-cols{ grid-template-columns:1fr; }
  .kuir-hero{ padding:64px 0 56px; } .kuir-hero h1{ font-size:2rem; }
  .kuir-datatable th{ width:auto; display:block; border-bottom:none; padding-bottom:0; }
  .kuir-datatable td{ display:block; padding-top:4px; }
  .kuir-footer-bottom{ flex-direction:column; }
  .kuir-hero h1{ font-size:1.8rem; } h1{ font-size:1.8rem; } h2{ font-size:1.5rem; }
  .kuir-section-title.is-center{ font-size:1.5rem; }
  .kuir-hero .kuir-cta{ flex-direction:column; align-items:stretch; }
  .kuir-hero .kuir-btn,.kuir-section .kuir-cta .kuir-btn{ text-align:center; }
  .kuir-topbar .kuir-wrap{ flex-direction:column; gap:2px; font-size:.8rem; align-items:flex-start; }
  .kuir-topbar span:first-child{ display:none; }
  .kuir-offer-meta{ gap:8px; flex-direction:column; }
}
