/* ============================================================
   wp-armor.css — neutralizacija WordPress i WooCommerce defaulta
   ------------------------------------------------------------
   Verzija 2, pisana prema STVARNOM ispisu iz preglednika
   (css/00-global-styles-inline.css, 2. 8. 2026.), ne prema pretpostavci.

   Učitava se između `cee-fonts` i `cee` — vidi inc/enqueue.php.

   NAČELO: `!important` samo tamo gdje core koristi `!important`
   ili gdje ga specifičnost čini neizbježnim. Sve ostalo se rješava
   redoslijedom, jer je redoslijed sada ispravan.
   ============================================================ */


/* ============================================================
   1. BLOCK GAP — riješen na izvoru, ovdje samo mreža za pad
   ------------------------------------------------------------
   `theme.json` → settings.spacing.blockGap: null. Time WordPress
   više NE ispisuje ove tri rečenice, koje su bile korijen problema:

     :root :where(.is-layout-flow) > *        { margin-block-start:24px; margin-block-end:0 }
     :root :where(.is-layout-constrained) > * { margin-block-start:24px; margin-block-end:0 }
     :where(.wp-site-blocks) > *              { margin-block-start:24px; margin-block-end:0 }

   Specifičnost prve dvije je (0,1,0) — jača od `h2{margin-bottom:24px}`
   u cee.css, pa se protiv njih nije moglo boriti običnim pravilom.
   Zato se gase, a ne nadjačavaju.

   Posljedica: gube se i default gapovi na flex/grid layoutima.
   Vraćamo ih na NULTOJ specifičnosti, da ih cee.css i inline stilovi
   nadjačaju bez otpora.
   ============================================================ */
:where(.is-layout-flex){ gap: 24px; }
:where(.is-layout-grid){ gap: 24px; }

/* Sigurnosna mreža: ako netko vrati blockGap u theme.json,
   ova pravila i dalje drže vertikalu na nuli. Ista specifičnost
   kao core (0,1,0), a učitavaju se poslije. */
:root :where(.is-layout-flow) > *,
:root :where(.is-layout-constrained) > *{ margin-block-start: 0; }
:where(.wp-site-blocks) > *{ margin-block-start: 0; }


/* ============================================================
   2. ŠIRINE
   ------------------------------------------------------------
   contentSize 820px steže sve što nije `alignwide`/`alignfull`.
   To je namjerno za tekstualne stranice, ali sekcije dizajna
   moraju biti pune širine.
   ============================================================ */
.wp-site-blocks > .alignfull{ margin-inline: 0; }

/* Traka je puna širine, `.cee-wrap` iznutra radi ograničenje. */
.cee-section,
.cee-band,
.cee-band-panel,
.cee-band-green{ max-width: none; width: 100%; }


/* ============================================================
   3. RADIUSI I SJENE
   ------------------------------------------------------------
   Na ovom sajtu radius je 0. Sjena postoji točno jedna
   (--cee-shadow-card, pod karticom kalkulatora).
   ============================================================ */
.wp-block-button__link,
.wp-block-search__button,
.wp-element-button,
.wp-block-image img,
input, select, textarea, button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce ul.products li.product a img,
.woocommerce span.onsale,
.wc-block-components-button,
.wc-block-components-text-input input,
.formlayer-field input,
.formlayer-field select,
.formlayer-field textarea{
  border-radius: 0 !important;
  box-shadow: none !important;
}


/* ============================================================
   4. TIPOGRAFIJA
   ------------------------------------------------------------
   WooCommerce i pluginovi forsiraju vlastite obitelji i veličine.
   Sve nasljeđuje od tijela dokumenta.
   ============================================================ */
/* Woo stavlja svoje klase na <body>: `woocommerce` na stranicama trgovine,
   a `woocommerce-no-js` na svakoj. Svako pravilo koje pogodi <body> i kaže
   `font-family: inherit` natjera tijelo da naslijedi od <html>, gdje font nije
   postavljen — rezultat je preglednikov Times na cijeloj stranici. Zato je
   <body> izuzet iz nasljeđivanja i dobiva presetu izravno.
   `.woocommerce *` je uklonjen jer je, s klasom na tijelu, pogađao svaki
   element i gazio obitelj naslova iz theme.json. */
body{
  font-family: var(--wp--preset--font-family--body);
}
:not(body)[class^="woocommerce-"], :not(body)[class*=" woocommerce-"],
:not(body)[class^="wc-"], :not(body)[class*=" wc-"],
.formlayer-form, .formlayer-form *,
input, select, textarea, button{
  font-family: inherit;
}
button, input, select, textarea{ font-size: inherit; line-height: inherit; }

/* Core `fluid typography` je isključen u theme.json (typography.fluid:false),
   pa clamp() vrijednosti prolaze nedirnute. Veličine gasimo samo Woo-ovim
   vlastitim komponentama — `.woocommerce h1` bi, jer klasa stoji na <body>,
   poravnalo i naslove iz teme na 16px. */
.wc-block-components-title{ font-size: inherit; }


/* ============================================================
   5. GUMBI
   ------------------------------------------------------------
   Sve što je gumb dobiva oblik `.cee-btn`. Ovdje se gasi naslijeđeno;
   boja i hover dolaze iz cee.css.
   ============================================================ */
.wp-block-button__link,
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce button.button.alt,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button{
  background-image: none;
  border: 1px solid transparent;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 700;
  font-size: 13px;
  /* `normal`, ne 1 — artefakt gumbima ostavlja normalan prored. S `1` je
     prored jednak veličini fonta, pa su gumbi bili niži nego u dizajnu.
     Mjereno na 32 ekrana (08.10.2026.), najveće pojedinačno odstupanje. */
  line-height: normal;
  padding: 15px 26px;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}

/* Core računa padding gumba kroz em, pa se visina mijenja s veličinom
   fonta. Fiksiramo na vrijednost iz dizajn sustava. */
:root :where(.wp-element-button, .wp-block-button__link){
  padding: 15px 26px;
}


/* ============================================================
   6. FORME
   ------------------------------------------------------------
   `select.orderby` je na webshopu dolazio s crnim tekstom i sivim
   obrubom preglednika (provjera.mjs: rgb(0,0,0), rgb(118,118,118)).
   ============================================================ */
input[type="text"], input[type="email"], input[type="tel"],
input[type="number"], input[type="search"], input[type="url"],
select, textarea,
.woocommerce select.orderby,
.woocommerce-ordering select{
  color: var(--cee-ink);
  background-color: var(--cee-base);
  border: 1px solid var(--cee-hairline-strong);
  padding: 12px 14px;
  appearance: none;
}
::placeholder{ color: var(--cee-ink-muted); opacity: 1; }


/* ============================================================
   7. WOOCOMMERCE — obavijesti, oznake, cijene
   ============================================================ */
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message{
  border-top-color: var(--cee-green);
  background: var(--cee-panel);
  color: var(--cee-ink);
}
.woocommerce span.onsale{
  background: var(--cee-grad);
  color: var(--cee-on-green);
  min-width: 0; min-height: 0; line-height: 1;
  padding: 6px 10px; font-weight: 700; letter-spacing: .06em;
}
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price{ color: var(--cee-ink); font-weight: 600; }
.woocommerce .star-rating span::before{ color: var(--cee-green-light); }
.woocommerce .quantity input.qty{ text-align: center; }


/* ============================================================
   8. COOKIEADMIN (banner kolačića) — USPAVANO OD 20. 10. 2026.
   ------------------------------------------------------------
   *** Plugin je deaktiviran, pa ovi selektori trenutačno ne hvataju
   *** ništa. Namjerno se ne brišu: sajt nema analitike ni tragača, pa
   *** traka ne treba (PRODUKCIJA.md §2e), ali čim Google Analytics dođe
   *** na novi sajt, traka je opet obavezna i ovo je sprema odmah.
   *** Ako prođe duže vrijeme i analitike nema, slobodno obrisati.

   provjera.mjs ga je prijavljivao na SVAKOJ stranici: crni tekst,
   plavi gumb rgb(24,99,220), radius 4px, vlastita sjena.
   Plugin nije dio teme, ali je bio vidljiv korisniku i mora biti u
   sustavu. Njegov CSS je jak, pa je ovdje `!important` opravdan.
   ============================================================ */
/* Plugin daje istom elementu dvije širine: `.cookieadmin_law_container` 25 %,
   a `.cookieadmin_box` (JS je dodaje po layoutu) 90/45/35/30 % po medijskim
   upitima. Kutija zato skače 346 → 446 → 340 px između 768 i 1440. Jedna
   širina za sve širine ekrana; 360 px je mjera s 1440 px. */
.cookieadmin_law_container{
  width: min(360px, calc(100vw - 30px)) !important;
}
.cookieadmin_consent_inside,
.cookieadmin_notice_con,
.cookieadmin_notice_con p,
.cookieadmin_notice_con b{
  color: var(--cee-ink) !important;
  font-family: inherit !important;
}
/* Tekst obavijesti piše CEE; duga riječ ili adresa ne smije izaći iz kutije. */
.cookieadmin_notice_con,
.cookieadmin_notice_con p,
#cookieadmin_notice_title{
  overflow-wrap: anywhere !important;
}
.cookieadmin_consent_inside{
  background: var(--cee-base) !important;
  border: 1px solid var(--cee-hairline-strong) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.cookieadmin_btn{
  border-radius: 0 !important;
  font-family: inherit !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  padding: 13px 22px !important;
  border: 1px solid transparent !important;
  transition: background .2s ease, border-color .2s ease, color .2s ease !important;
}
.cookieadmin_accept_btn{
  background: var(--cee-grad) !important;
  color: var(--cee-on-green) !important;
}
.cookieadmin_accept_btn:hover{ background: var(--cee-grad-hover) !important; }
.cookieadmin_reject_btn,
.cookieadmin_customize_btn{
  background: transparent !important;
  border-color: var(--cee-hairline-strong) !important;
  color: var(--cee-ink) !important;
}
.cookieadmin_reject_btn:hover,
.cookieadmin_customize_btn:hover{ border-color: var(--cee-green) !important; }


/* ============================================================
   9. SLIKE
   ============================================================ */
img, video{ max-width: 100%; height: auto; }
figure{ margin: 0; }
.wp-block-image img{ vertical-align: top; }


/* ============================================================
   10. FOKUS — vidljiv, jednobojan, bez plavog prstena preglednika
   ============================================================ */
:focus-visible{ outline: 2px solid var(--cee-green); outline-offset: 2px; }
.cee-section--green :focus-visible,
.cee-band-green :focus-visible{ outline-color: #FFFFFF; }


/* ============================================================
   11. ADMIN BAR — sticky header se lomi kad je prisutan
   ============================================================ */
/* Ljepljiv je omotač zaglavlja (snalaženje, 8. 10.), pa pomak za administratorsku
   traku ide na njega. Na .cee-header (sada position:relative) gurao je glavni red
   32 px dolje preko trake teme, vidljivo samo prijavljenima. */
body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: calc(32px - var(--cee-topbar-h, 0px)); }
body.admin-bar .wp-site-blocks > header.wp-block-template-part.je-skriveno { top: calc(32px - var(--cee-topbar-h, 0px) - var(--cee-header-h, 56px)); }
@media screen and (max-width: 782px) {
  body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: calc(46px - var(--cee-topbar-h, 0px)); }
  body.admin-bar .wp-site-blocks > header.wp-block-template-part.je-skriveno { top: calc(46px - var(--cee-topbar-h, 0px) - var(--cee-header-h, 56px)); }
}
/* Ispod 600 px administratorska traka nije fiksna nego odlazi sa skrolom. */
@media screen and (max-width: 600px) {
  body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: calc(-1 * var(--cee-topbar-h, 0px)); }
  body.admin-bar .wp-site-blocks > header.wp-block-template-part.je-skriveno { top: calc(-1 * (var(--cee-topbar-h, 0px) + var(--cee-header-h, 56px))); }
}


/* ============================================================
   12. EMOJI — skripta je ugašena u enqueue.php, ovo je ostatak
   ============================================================ */
img.wp-smiley, img.emoji{ display: none; }
