/*
Theme Name: Hello Elementor Child (MiniMe)
Description: Child tema za MiniMe in otroške reči. Brand tokeni in self-host fonti po docs/minime-brand-dizajn.md in assets/fonts/README.md.
Template: hello-elementor
Version: 1.5.0
Author: SKOL AI
Text Domain: hello-elementor-child
*/

/* ===== Fonti: self-host, variabilna woff2, latin + latin-ext (sumniki) ===== */
@font-face {
  font-family: "Playfair Display";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("fonts/playfair-display-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1EFF, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Playfair Display";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("fonts/playfair-display-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
  src: url("fonts/nunito-sans-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1EFF, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
  src: url("fonts/nunito-sans-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ===== MiniMe design tokeni (vir: docs/minime-brand-dizajn.md) =====
   Elementor Site Settings se ob gradnji strani (server/05) nastavijo na ISTE vrednosti. */
:root {
  /* barve */
  --mm-bg: #FAF6EF;          /* base bg: krem / ivory */
  --mm-surface: #FFFFFF;     /* surface: bela */
  --mm-gold: #B9924C;        /* primary / poudarki */
  --mm-gold-dark: #96753A;   /* hover in tekst na zlatem (kontrast) */
  --mm-gold-light: #D9C08D;  /* primary light */
  --mm-rose: #EFC9C4;        /* accent: nezna roza */
  --mm-sage: #C9D2BE;        /* accent 2 (redko): zajbelj */
  --mm-text: #2E2A26;        /* topel temno rjav */
  --mm-muted: #6E6558;       /* tekst muted */

  /* tipografija */
  --mm-font-serif: "Playfair Display", Georgia, serif;
  --mm-font-sans: "Nunito Sans", Arial, sans-serif;

  /* spacing lestvica */
  --mm-space-1: 4px;
  --mm-space-2: 8px;
  --mm-space-3: 16px;
  --mm-space-4: 24px;
  --mm-space-5: 32px;
  --mm-space-6: 48px;
  --mm-space-7: 64px;

  /* radiusi */
  --mm-radius: 12px;
  --mm-radius-pill: 999px;
}

/* ===== Osnova ===== */
body {
  background-color: var(--mm-bg);
  color: var(--mm-text);
  font-family: var(--mm-font-sans);
  font-size: 16px;
  line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--mm-font-serif);
  font-weight: 600;
  line-height: 1.25;
  color: var(--mm-text);
}

a { color: var(--mm-gold-dark); }
a:focus-visible, button:focus-visible { outline: 3px solid var(--mm-gold); outline-offset: 2px; }

/* ===== Gumbi (MiniMe tokeni; uporaba v vsebini strani) ===== */
.mm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 28px;
  border-radius: var(--mm-radius-pill);
  font-family: var(--mm-font-sans);
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease;
}
.mm-btn-primary { background: var(--mm-gold); color: #FFFFFF; border: 2px solid var(--mm-gold); }
.mm-btn-primary:hover { background: var(--mm-gold-dark); border-color: var(--mm-gold-dark); color: #FFFFFF; }
.mm-btn-secondary { background: transparent; color: var(--mm-gold-dark); border: 2px solid var(--mm-gold); }
.mm-btn-secondary:hover { background: var(--mm-gold); color: #FFFFFF; }
.mm-btn-vrsta { display: flex; flex-wrap: wrap; gap: var(--mm-space-3); margin: var(--mm-space-4) 0; }

/* ===== Add-on polje na strani izdelka (darilno zavijanje ipd.) ===== */
.mm-addon-field { margin: 0 0 var(--mm-space-3); }
.mm-addon-field label { display: inline-flex; align-items: center; gap: 8px; font-family: var(--mm-font-sans); color: var(--mm-text); cursor: pointer; }
.mm-addon-field input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--mm-gold); }
.mm-addon-note { color: var(--mm-gold-dark); font-weight: 600; }

/* ===== O nas: otroška fotografija ===== */
.mm-onas-otrostvo { margin: var(--mm-space-4) 0; max-width: 420px; }
/* brez obrobe: svetel rob okoli fotografije je odstranjen povsod (2026-07-29) */
.mm-onas-otrostvo img { width: 100%; height: auto; border-radius: var(--mm-radius); }
.mm-onas-otrostvo figcaption { margin-top: 8px; font-size: 14px; color: var(--mm-muted); font-style: italic; }

/* ===== Varnostno opozorilo 3+ (globalni blok na izdelkih figuric in razno) ===== */
.mm-varnostno-opozorilo {
  display: flex;
  gap: var(--mm-space-3);
  align-items: flex-start;
  background: var(--mm-rose);
  border-radius: var(--mm-radius);
  padding: var(--mm-space-3);
  margin: var(--mm-space-3) 0;
}
.mm-varnostno-opozorilo p {
  margin: 0;
  font-family: var(--mm-font-sans);
  font-size: 14px;
  line-height: 1.5;
  color: var(--mm-text);
}
.mm-varnostno-opozorilo .mm-material-info {
  margin-top: 6px;
  font-weight: 600;
}
.mm-oznaka-3plus {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 2px solid var(--mm-text);
  border-radius: 50%;
  background: var(--mm-surface);
  font-family: var(--mm-font-sans);
  font-weight: 700;
  font-size: 15px;
}

/* ===== CookieYes baner: preobleka na brand tokene (selektorji cky-*) =====
   GDPR: Sprejmem in Zavrnem sta enakovredno vidna gumba; CookieYes branding namerno OSTANE viden. */
.cky-consent-container .cky-consent-bar,
.cky-modal .cky-preference-center {
  background-color: var(--mm-bg) !important;
  border: 1px solid var(--mm-gold-light) !important;
  border-radius: var(--mm-radius) !important;
  box-shadow: 0 6px 24px rgba(46, 42, 38, 0.18) !important;
}
.cky-consent-container, .cky-consent-container p, .cky-consent-container span, .cky-consent-container a,
.cky-modal, .cky-modal p, .cky-modal span, .cky-modal a, .cky-modal button {
  font-family: var(--mm-font-sans) !important;
}
.cky-title {
  color: var(--mm-text) !important;
  font-family: var(--mm-font-serif) !important;
}
.cky-notice-des, .cky-notice-des p, .cky-preference-content-wrapper, .cky-accordion-header-des, .cky-gpc-desc {
  color: var(--mm-text) !important;
}
.cky-btn {
  border-radius: var(--mm-radius) !important;
  font-weight: 600 !important;
  padding: 10px 22px !important;
}
.cky-btn-accept {
  background-color: var(--mm-gold) !important;
  border: 2px solid var(--mm-gold) !important;
  color: #FFFFFF !important;
}
.cky-btn-accept:hover {
  background-color: var(--mm-gold-dark) !important;
  border-color: var(--mm-gold-dark) !important;
}
.cky-btn-reject {
  background-color: transparent !important;
  border: 2px solid var(--mm-gold) !important;
  color: var(--mm-gold-dark) !important;
}
.cky-btn-reject:hover {
  background-color: var(--mm-gold) !important;
  color: #FFFFFF !important;
}
.cky-btn-customize {
  background: transparent !important;
  border: none !important;
  color: var(--mm-muted) !important;
  text-decoration: underline !important;
}

/* ===== Header wordmark (markup v template-parts override) ===== */
.mm-wordmark { display: inline-block; text-decoration: none; text-align: center; }
.mm-wordmark .mm-wm-main {
  display: block;
  font-family: var(--mm-font-serif);
  font-weight: 600;
  font-size: 32px;
  line-height: 1.1;
  color: var(--mm-gold);
}
.mm-wordmark .mm-wm-sub {
  display: block;
  margin-top: 2px;
  font-family: var(--mm-font-sans);
  font-size: 12px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--mm-muted);
}

/* ===== Mini-cart v glavi ===== */
.mm-minicart { position: relative; display: flex; align-items: center; }
.mm-minicart-link { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 8px;
  text-decoration: none; color: var(--mm-text); font-family: var(--mm-font-sans); font-weight: 600; }
.mm-minicart-link svg { flex: none; }
.mm-minicart-count { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px;
  padding: 0 5px; border-radius: 999px; background: var(--mm-gold); color: #FFFFFF; font-size: 12px; font-weight: 700; }
.mm-minicart-total { font-size: 14px; color: var(--mm-muted); }
.mm-minicart-drop { position: absolute; top: 100%; right: 0; z-index: 40; min-width: 180px;
  background: var(--mm-surface); border: 1px solid var(--mm-gold-light); border-radius: var(--mm-radius);
  box-shadow: 0 6px 24px rgba(46, 42, 38, 0.16); padding: 8px; display: none; }
.mm-minicart:hover .mm-minicart-drop, .mm-minicart:focus-within .mm-minicart-drop { display: block; }
.mm-minicart-drop a { display: block; min-height: 40px; line-height: 40px; padding: 0 12px; border-radius: 8px;
  text-decoration: none; color: var(--mm-text); font-family: var(--mm-font-sans); }
.mm-minicart-drop a:hover { background: var(--mm-bg); color: var(--mm-gold-dark); }
.mm-minicart-drop .mm-minicart-checkout { background: var(--mm-gold); color: #FFFFFF; font-weight: 600; margin-top: 4px; text-align: center; }
.mm-minicart-drop .mm-minicart-checkout:hover { background: var(--mm-gold-dark); color: #FFFFFF; }

/* ===================================================================
   DOMOV (naslovnica) — scoped pod .mm-home; markup iz prototip/domov.html
   =================================================================== */
/* Varovalka: brez horizontalnega preliva na mobilnem */
/* overflow-x: clip SAMO na html (NE body): prepreči horizontalni preliv na korenu, a
   ne naredi body scroll vsebnika (kar bi ujelo navpični scroll in ubilo position:sticky).
   hidden ali overflow na body = zlomljen sticky + programski scroll. */
html { overflow-x: clip; scroll-padding-top: 84px; } /* scroll-padding: sidrišča (FAQ ipd.) ne skrije pripeta glava */
body { overflow-x: clip; }
.cky-consent-bar, .cky-preference-center { box-sizing: border-box !important; }
@media (max-width: 767px) {
  .cky-consent-container .cky-consent-bar { left: 12px !important; right: 12px !important; width: auto !important; max-width: calc(100vw - 24px) !important; }
  .cky-preference-center { max-width: calc(100vw - 24px) !important; }
}

.mm-home { color: var(--mm-text); font-family: var(--mm-font-sans); font-size: 16px; line-height: 1.6; }
.mm-home img { max-width: 100%; height: auto; display: block; }
.mm-home .mm-wrap { max-width: 1120px; margin: 0 auto; padding: 0 20px; }
.mm-home section { padding: 56px 0; }
.mm-home h1, .mm-home h2, .mm-home h3 { font-family: var(--mm-font-serif); font-weight: 600; line-height: 1.25; margin: 0; }
.mm-home h2 { font-size: 30px; color: var(--mm-gold); text-align: center; }
.mm-home a:focus-visible, .mm-home button:focus-visible { outline: 3px solid var(--mm-gold); outline-offset: 2px; }
.mm-sprig { display: block; margin: 14px auto 0; width: 120px; height: 20px; }

/* Gumbi */
.mm-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 28px;
  border-radius: var(--mm-radius-pill); font-family: var(--mm-font-sans); font-size: 16px; font-weight: 600;
  text-decoration: none; cursor: pointer; transition: background-color .2s ease, color .2s ease; }
.mm-btn-primary { background: var(--mm-gold); color: #FFFFFF; border: 2px solid var(--mm-gold); }
.mm-btn-primary:hover { background: var(--mm-gold-dark); border-color: var(--mm-gold-dark); }
.mm-btn-secondary { background: transparent; color: var(--mm-gold-dark); border: 2px solid var(--mm-gold); }
.mm-btn-secondary:hover { background: var(--mm-gold); color: #FFFFFF; }

/* Placeholder (krem) za manjkajoce fotografije */
.mm-ph { display: flex; align-items: center; justify-content: center; text-align: center;
  aspect-ratio: 4 / 3; background: linear-gradient(160deg, #FFFFFF 0%, var(--mm-bg) 100%);
  color: var(--mm-muted); font-size: 13px; }

/* 1. Hero */
.mm-hero { padding: 48px 0 56px; background: var(--mm-bg); }
.mm-hero-grid { display: grid; gap: 32px; align-items: center; }
.mm-hero-img { order: -1; }
.mm-hero-img img { border-radius: var(--mm-radius); aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.mm-hero h1 { font-size: 38px; color: var(--mm-text); }
.mm-hero .mm-lead { font-size: 18px; color: var(--mm-muted); margin: 18px 0 26px; max-width: 46ch; }
.mm-hero .mm-sprig { margin: 16px 0 0; }
.mm-trust { display: flex; align-items: center; gap: 8px; margin-top: 16px; color: var(--mm-muted); font-size: 14px; font-weight: 600; }
.mm-trust svg { flex: none; }

/* 2. Kategorije */
.mm-cats { background: var(--mm-surface); }
/* align-items: start — kartice niso nujno enako visoke (vsaka sledi svoji fotografiji),
   zato naj se poravnajo na vrh in ne raztegujejo. */
.mm-cat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 36px; align-items: start; }
.mm-cat-card { position: relative; display: flex; flex-direction: column; border-radius: var(--mm-radius); overflow: hidden;
  text-decoration: none; border: 1px solid var(--mm-gold-light); background: var(--mm-bg); transition: box-shadow .2s ease; }
/* Hover: dvig 3 px + mehka senca + rahel zoom slike. Transform ne vpliva na postavitev,
   zato brez CLS. Izklop pri prefers-reduced-motion (spodaj). */
.mm-cat-card { transition: transform .22s ease-out, box-shadow .22s ease-out; will-change: transform; }
.mm-cat-card:hover, .mm-cat-card:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(46, 42, 38, 0.14); }
.mm-cat-card:hover img, .mm-cat-card:focus-visible img { transform: scale(1.03); }
/* Cela fotografija (contain) na krem podlagi: izdelki so ročno delo, obrez jim je jemal
   kontekst. Enotno razmerje 4:3 za VSEH pet kartic -> mreža ostane poravnana.
   !important, ker imajo nekatere slike podedovan inline style iz prejšnje različice. */
/* Mreža po referenčni podobi: slika zapolni kartico (cover) v fiksni višini,
   zgornja vrstica nižja, spodnji dve višji. Naravna razmerja se tu NE uporabljajo
   (za razliko od vsebinskih blokov na O nas / Zakaj), ker mora mreža ostati poravnana. */
.mm-cat-card img, .mm-cat-card .mm-ph {
  flex: 0 0 auto; width: 100%;
  height: 260px !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  background: none; padding: 0;
  transition: transform .22s ease-out; }
@media (min-width: 768px) {
  .mm-cat-card img, .mm-cat-card .mm-ph { height: 300px !important; }
  /* Spodnja vrstica: POVRNJENO izvorno pravilo iz style.css.pre250.bak (vrstica 306):
     `flex: 1; aspect-ratio: 4 / 3; object-fit: cover; width: 100%;`
     Pri kartici širine 529 px da to višino slike 397 px (kartica 459 px) — natanko
     stanje pred poznejšimi popravki. Brez podlage in brez object-position; obrez je
     pri tem pričakovan. Zgornja vrstica ostaja na svojih 300 px / cover. */
  .mm-cat-card:nth-child(4) img, .mm-cat-card:nth-child(5) img,
  .mm-cat-card:nth-child(4) .mm-ph, .mm-cat-card:nth-child(5) .mm-ph {
    flex: 1;
    width: 100%;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;   /* kvadrat: slika sega niže, širina nespremenjena */
    object-fit: cover !important;
    background: none; }
}
/* Kader: figurice so v spodnjem delu portretne fotografije, zato spustimo izrez niže,
   da je vidna odprta škatla s figuricami (ne le pokrov). */
.mm-cat-card img[src*="paketek-figurice-odprta-skatla"] { object-position: center 62%; }
.mm-cat-card img[src*="slikanice-mogoce"] { object-position: center 30%; }
.mm-cat-name { margin-top: auto; text-align: center; font-family: var(--mm-font-serif); font-size: 20px; font-weight: 600;
  color: var(--mm-text); padding: 14px 10px; background: var(--mm-surface); }
.mm-cat-card:hover .mm-cat-name { color: var(--mm-gold-dark); }

/* 3. USP pas */
.mm-usp { background: var(--mm-bg); }
.mm-usp-grid { display: grid; gap: 32px; margin-top: 36px; text-align: center; }
.mm-usp-item svg { margin: 0 auto 12px; display: block; }
.mm-usp-item h3 { font-size: 20px; color: var(--mm-text); margin-bottom: 8px; }
.mm-usp-item p { margin: 0 auto; color: var(--mm-muted); max-width: 34ch; }

/* 4. Izpostavljeni izdelki (Woo shortcode oblecen) */
.mm-featured { background: var(--mm-surface); }
.mm-featured .mm-more { text-align: center; margin-top: 24px; }
.mm-featured .woocommerce { margin-top: 28px; }
/* Produktna mreza: 2 stolpca mobilno, 4 na desktopu (visja specificnost + !important, da premaga WooCommerce .columns-4 in prepreci horizontalni preliv) */
.mm-home .mm-featured ul.products { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 16px; margin: 28px 0 0; padding: 0; list-style: none; }
.mm-home .mm-featured ul.products::before, .mm-home .mm-featured ul.products::after { content: none !important; display: none !important; }
.mm-home .mm-featured ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; }
@media (min-width: 768px) { .mm-home .mm-featured ul.products { grid-template-columns: repeat(4, 1fr) !important; } }

/* 5. Vec kot igra */
.mm-vkc { background: var(--mm-bg); }
.mm-vkc-grid { display: grid; gap: 28px; margin-top: 36px; text-align: center; }
.mm-vkc-item svg { margin: 0 auto 12px; display: block; }
.mm-vkc-item h3 { font-size: 19px; color: var(--mm-text); margin-bottom: 6px; }
.mm-vkc-item p { margin: 0 auto; color: var(--mm-muted); max-width: 32ch; }
.mm-vkc .mm-more { text-align: center; margin-top: 28px; }

/* 6. Mini O nas */
.mm-about { background: var(--mm-surface); }
.mm-about-grid { display: grid; gap: 32px; align-items: center; margin-top: 24px; }
.mm-about-img .mm-ph, .mm-about-img img { border-radius: var(--mm-radius); aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.mm-about h2 { text-align: left; }
.mm-about .mm-sprig { margin: 14px 0 0; }
.mm-about p { color: var(--mm-text); max-width: 52ch; }
.mm-signature { display: flex; align-items: center; gap: 14px; margin: 20px 0 24px; }
.mm-signature img { width: 64px; height: 64px; border-radius: 50%; }
.mm-signature span { font-size: 14px; color: var(--mm-muted); }

/* 7. Instagram */
.mm-insta { background: var(--mm-bg); }
.mm-insta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 32px; }
.mm-insta-grid img, .mm-insta-grid .mm-ph { aspect-ratio: 1 / 1; border-radius: 8px; object-fit: cover; width: 100%; }
.mm-insta .mm-follow { text-align: center; margin-top: 24px; }

@media (min-width: 768px) {
  .mm-hero-grid { grid-template-columns: 1.05fr 1fr; }
  .mm-hero-img { order: 0; }
  .mm-hero h1 { font-size: 46px; }
  .mm-cat-grid { grid-template-columns: repeat(6, 1fr); }
  .mm-cat-card { grid-column: span 2; }
  .mm-cat-card:nth-child(4), .mm-cat-card:nth-child(5) { grid-column: span 3; }
  .mm-usp-grid { grid-template-columns: repeat(3, 1fr); }
  .mm-vkc-grid { grid-template-columns: repeat(3, 1fr); }
  .mm-about-grid { grid-template-columns: 2fr 3fr; }
  .mm-insta-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .mm-home * { transition: none !important; }
  /* Hover učinki (dvig + zoom) popolnoma izklopljeni; senca sme ostati, ker ne gre za gib. */
  .mm-cat-card, .mm-cat-card img,
  .woocommerce ul.products li.product,
  .woocommerce ul.products li.product a img { transition: none !important; }
  .mm-cat-card:hover, .mm-cat-card:focus-visible,
  .woocommerce ul.products li.product:hover,
  .woocommerce ul.products li.product:focus-within { transform: none !important; }
  .mm-cat-card:hover img, .mm-cat-card:focus-visible img,
  .woocommerce ul.products li.product:hover a img,
  .woocommerce ul.products li.product:focus-within a img { transform: none !important; }
  /* Isti izklop za slike v vsebini, portret na Domov, IG pas in galerijo izdelka. */
  .mm-zz-media, .mm-zz-media img, .mm-about-img, .mm-about-img img, .mm-insta-grid img,
  .woocommerce-product-gallery__image, .woocommerce-product-gallery__image img {
    transition: none !important; }
  .mm-zz-media:hover, .mm-zz-media:hover img,
  .mm-about-img:hover, .mm-about-img:hover img,
  .mm-insta-grid img:hover,
  .woocommerce-product-gallery__image:hover,
  .woocommerce-product-gallery__image:hover img { transform: none !important; }
}

/* ===================================================================
   NOGA (footer override, 3 stolpci)
   =================================================================== */
.mm-site-footer { background: var(--mm-bg); border-top: 2px solid var(--mm-gold-light); padding: 48px 0 24px; font-size: 15px; }
.mm-foot-wrap { max-width: 1120px; margin: 0 auto; padding: 0 20px; }
.mm-foot-grid { display: grid; gap: 32px; }
.mm-foot-col h3 { font-family: var(--mm-font-serif); font-size: 17px; color: var(--mm-gold-dark); margin: 0 0 12px; }
.mm-foot-col ul { list-style: none; margin: 0; padding: 0; }
.mm-foot-col ul a, .mm-foot-col .mm-cky-link { display: inline-flex; align-items: center; min-height: 40px;
  text-decoration: none; color: var(--mm-text); background: none; border: none; padding: 0; font: inherit; cursor: pointer; }
.mm-foot-col ul a:hover, .mm-foot-col .mm-cky-link:hover, .mm-foot-col p a:hover { color: var(--mm-gold-dark); }
.mm-foot-col p { color: var(--mm-muted); margin: 0 0 8px; }
.mm-foot-col p a { color: var(--mm-gold-dark); text-decoration: none; }
/* Varovalo: noga mora biti IDENTIČNA na vseh straneh (Domov, Woo arhivi, izdelek,
   košarica, blagajna, statične in pravne strani). Woo/Elementor pravila imajo višjo
   specifičnost od `.mm-foot-col ul a`, zato tu specifičnost izenačimo prek .mm-site-footer. */
.mm-site-footer .mm-foot-col ul a,
.mm-site-footer .mm-foot-col .mm-cky-link { color: var(--mm-text); }
.mm-site-footer .mm-foot-col ul a:hover,
.mm-site-footer .mm-foot-col .mm-cky-link:hover { color: var(--mm-gold-dark); }
.mm-site-footer .mm-foot-col p a { color: var(--mm-gold-dark); }
.mm-site-footer .mm-foot-col h3 { color: var(--mm-gold-dark); }

.mm-foot-socials { display: flex; gap: 12px; margin-top: 10px; }
.mm-foot-socials a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px;
  border: 1px solid var(--mm-gold-light); border-radius: 50%; }
.mm-foot-socials a:hover { background: var(--mm-gold); }
.mm-foot-socials a:hover svg { stroke: #FFFFFF; }
.mm-foot-copyright { text-align: center; color: var(--mm-muted); font-size: 13px; margin-top: 40px;
  border-top: 1px solid var(--mm-gold-light); padding-top: 18px;
  display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 4px 14px; }
.mm-foot-copyright p { margin: 0; }
/* Kredit izdelovalca: diskreten, enaka velikost kot copyright, zlat ob hoverju. */
.mm-foot-credit a { color: var(--mm-muted); text-decoration: none; border-bottom: 1px solid transparent;
  transition: color .2s ease, border-color .2s ease; }
.mm-foot-credit a:hover, .mm-foot-credit a:focus-visible { color: var(--mm-gold); border-bottom-color: var(--mm-gold); }
@media (min-width: 600px) {
  .mm-foot-credit::before { content: "·"; margin-right: 14px; color: var(--mm-gold-light); }
}
@media (min-width: 768px) {
  .mm-foot-grid { grid-template-columns: 1.4fr 1fr 1fr; }
}

/* ===================================================================
   Pravne / vsebinske strani (berljiv stolpec)
   =================================================================== */
.mm-legal { max-width: 760px; margin: 0 auto; padding: 40px 20px 64px; color: var(--mm-text); font-size: 16px; line-height: 1.7; }
/* O nas ni pravno besedilo, ampak predstavitvena stran z izmeničnimi bloki —
   zato ista širina kot /zakaj-barvanje-in-slikanice/ (1140 px), ne 760 px kot pravne strani. */
.mm-legal.mm-onas { max-width: 1140px; }
.mm-legal h1 { font-family: var(--mm-font-serif); font-weight: 600; color: var(--mm-text); font-size: 34px; line-height: 1.2; margin: 0 0 8px; }
.mm-legal h2 { font-family: var(--mm-font-serif); font-weight: 600; color: var(--mm-gold-dark); font-size: 22px; margin: 32px 0 10px; }
.mm-legal h3 { font-family: var(--mm-font-serif); font-weight: 600; color: var(--mm-text); font-size: 18px; margin: 24px 0 8px; }
.mm-legal p, .mm-legal li { color: var(--mm-text); }
.mm-legal a { color: var(--mm-gold-dark); }
.mm-legal ul { padding-left: 22px; }
.mm-legal table { width: 100%; border-collapse: collapse; margin: 16px 0; font-size: 15px; }
.mm-legal th, .mm-legal td { border: 1px solid var(--mm-gold-light); padding: 8px 10px; text-align: left; vertical-align: top; }
.mm-legal th { background: var(--mm-bg); font-family: var(--mm-font-sans); }
.mm-legal .mm-legal-intro { color: var(--mm-muted); }
.mm-legal > h2:first-child, .mm-legal .mm-onas-portret { margin-top: 0; }
.mm-onas-portret { max-width: 280px; margin: 0 0 20px; }
.mm-onas-portret .mm-ph { border-radius: var(--mm-radius); }

/* ===== Fluent Forms: brand ===== */
.fluentform .ff-btn-submit, .fluentform button[type="submit"] {
  background-color: var(--mm-gold) !important; border: 2px solid var(--mm-gold) !important; color: #FFFFFF !important;
  border-radius: var(--mm-radius) !important; font-family: var(--mm-font-sans) !important; font-weight: 600 !important;
  padding: 12px 28px !important; min-height: 48px; cursor: pointer; }
.fluentform .ff-btn-submit:hover, .fluentform button[type="submit"]:hover {
  background-color: var(--mm-gold-dark) !important; border-color: var(--mm-gold-dark) !important; }
.fluentform input:focus, .fluentform textarea:focus { border-color: var(--mm-gold) !important; box-shadow: 0 0 0 1px var(--mm-gold) !important; }

/* =========================================================================
   UI POLISH (server/17). Vse na brand tokene, brez novih knjižnic.
   ========================================================================= */

/* --- (c) Woo vijolična GLOBALNO ven: prepiši Woo/WP spremenljivke na tokene --- */
:root, .woocommerce, .woocommerce-page {
  --wc-primary: var(--mm-gold);
  --wc-primary-text: #FFFFFF;
  --wc-secondary: var(--mm-bg);
  --wc-secondary-text: var(--mm-text);
  --wc-highlight: var(--mm-gold-dark);
  --wc-content-bg: var(--mm-surface);
  --wc-subtext: var(--mm-muted);
  --wp--preset--color--vivid-purple: var(--mm-gold);
  --wp--preset--color--luminous-vivid-purple: var(--mm-gold);
}
/* Woo gumbi (vsi konteksti) na zlato */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce input.button.alt, .woocommerce #respond input#submit.alt,
.wc-block-components-button, .wp-element-button, .wp-block-button__link {
  background-color: var(--mm-gold) !important;
  border: 2px solid var(--mm-gold) !important;
  color: #FFFFFF !important;
  border-radius: var(--mm-radius) !important;
  font-family: var(--mm-font-sans) !important;
  font-weight: 600 !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce #respond input#submit:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover, .wc-block-components-button:hover, .wp-element-button:hover {
  background-color: var(--mm-gold-dark) !important;
  border-color: var(--mm-gold-dark) !important;
  color: #FFFFFF !important;
}
.woocommerce a.button.disabled, .woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled] {
  background-color: var(--mm-gold-light) !important; border-color: var(--mm-gold-light) !important; opacity: .6 !important; }
/* Woo linki + fokus.
   POZOR: pravilo mora veljati SAMO v vsebini. Prej je bilo vezano na body.woocommerce-page
   in je pobarvalo tudi povezave v nogi, zato je bila noga na Woo straneh zlata,
   na Domov pa črna. Zato omejeno na .site-main. */
.woocommerce .site-main a:not(.button):not(.mm-btn),
.site-main .woocommerce a:not(.button):not(.mm-btn),
.woocommerce-page .site-main a:not(.button):not(.mm-btn) { color: var(--mm-gold-dark); }
.woocommerce a:focus-visible, .woocommerce button:focus-visible, .woocommerce input:focus-visible,
.woocommerce select:focus-visible, .woocommerce textarea:focus-visible {
  outline: 3px solid var(--mm-gold) !important; outline-offset: 2px !important; }
.woocommerce input:focus, .woocommerce select:focus, .woocommerce textarea:focus {
  border-color: var(--mm-gold) !important; box-shadow: 0 0 0 1px var(--mm-gold) !important; }
/* Woo obvestila (message/info/error) na krem + zlata */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews {
  background: var(--mm-bg) !important; border-top: 3px solid var(--mm-gold) !important;
  border-radius: var(--mm-radius) !important; color: var(--mm-text) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--mm-gold) !important; }
.woocommerce-error { border-top-color: #B4443A !important; }
.woocommerce-error::before { color: #B4443A !important; }
/* Woo obvestilo "on sale" / badge */
.woocommerce span.onsale { background-color: var(--mm-rose) !important; color: var(--mm-text) !important; border-radius: var(--mm-radius-pill); }

/* --- (b) Dodaj v košarico gumbi --- */
.woocommerce .single_add_to_cart_button, .woocommerce a.add_to_cart_button,
.woocommerce ul.products li.product a.button {
  background-color: var(--mm-gold) !important; border: 2px solid var(--mm-gold) !important;
  color: #FFFFFF !important; border-radius: var(--mm-radius) !important;
  font-weight: 600 !important; min-height: 44px; padding: 10px 22px !important;
  transition: background-color .2s ease, border-color .2s ease; }
.woocommerce .single_add_to_cart_button:hover, .woocommerce a.add_to_cart_button:hover,
.woocommerce ul.products li.product a.button:hover {
  background-color: var(--mm-gold-dark) !important; border-color: var(--mm-gold-dark) !important; }

/* --- (a) Kupon polje: večje, vidnejše, ne kričeče --- */
.woocommerce-cart .mm-kupon-namig {
  margin: 0 0 8px; font-family: var(--mm-font-sans); font-size: 14px; color: var(--mm-muted); }
.woocommerce-cart table.shop_table td.actions .coupon {
  display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
  background: var(--mm-bg); border: 1px solid var(--mm-gold-light);
  border-radius: var(--mm-radius); padding: 14px; margin: 0 0 12px; }
.woocommerce-cart table.shop_table td.actions .coupon label { font-weight: 600; }
.woocommerce-cart table.shop_table td.actions .coupon .input-text {
  flex: 1 1 220px; min-height: 48px; padding: 10px 14px; font-size: 16px;
  border: 2px solid var(--mm-gold-light) !important; border-radius: var(--mm-radius) !important;
  background: var(--mm-surface); font-family: var(--mm-font-sans); }
.woocommerce-cart table.shop_table td.actions .coupon .input-text:focus {
  border-color: var(--mm-gold) !important; }
.woocommerce-cart table.shop_table td.actions .coupon .button {
  flex: 0 0 auto; min-height: 48px;
  background: transparent !important; color: var(--mm-gold-dark) !important;
  border: 2px solid var(--mm-gold) !important; }
.woocommerce-cart table.shop_table td.actions .coupon .button:hover {
  background: var(--mm-gold) !important; color: #FFFFFF !important; }

/* --- (g) Košarica: plus/minus količina --- */
.mm-qty { display: inline-flex; align-items: stretch; border: 2px solid var(--mm-gold-light);
  border-radius: var(--mm-radius); overflow: hidden; background: var(--mm-surface); }
.mm-qty-btn { width: 44px; min-height: 44px; border: 0; background: var(--mm-bg);
  color: var(--mm-gold-dark); font-size: 20px; font-weight: 700; line-height: 1; cursor: pointer;
  font-family: var(--mm-font-sans); transition: background-color .15s ease; }
.mm-qty-btn:hover { background: var(--mm-gold); color: #FFFFFF; }
.mm-qty .quantity { margin: 0 !important; }
.mm-qty input.qty { width: 56px; min-height: 44px; border: 0 !important; text-align: center;
  font-family: var(--mm-font-sans); font-size: 16px; background: var(--mm-surface); box-shadow: none !important; }
.mm-qty input.qty::-webkit-outer-spin-button, .mm-qty input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none; margin: 0; }
.mm-qty input.qty { -moz-appearance: textfield; appearance: textfield; }

/* --- (e) Sticky header, brez CLS --- */
#site-header.site-header {
  position: sticky; top: 0; z-index: 50;
  background: var(--mm-bg);
  transition: box-shadow .2s ease, padding .2s ease; }
#site-header.mm-header-compact {
  box-shadow: 0 2px 12px rgba(46, 42, 38, 0.10);
  padding-top: 6px; padding-bottom: 6px; }
#site-header.mm-header-compact .mm-wordmark .mm-wm-main { font-size: 24px; }
#site-header.mm-header-compact .mm-wordmark .mm-wm-sub { font-size: 10px; letter-spacing: 2px; }
.mm-wordmark .mm-wm-main, .mm-wordmark .mm-wm-sub { transition: font-size .2s ease; }
@media (max-width: 767px) {
  #site-header.site-header { padding-top: 8px; padding-bottom: 8px; }
  #site-header.mm-header-compact .mm-wordmark .mm-wm-main { font-size: 22px; }
}

/* --- (f) Mini-cart dropdown s postavkami --- */
.mm-minicart-drop { min-width: 300px !important; padding: 10px !important; }
.mm-minicart-items { margin: 0 0 8px; max-height: 260px; overflow-y: auto; }
.mm-minicart-item { display: flex; gap: 10px; align-items: center; padding: 8px 4px;
  border-bottom: 1px solid var(--mm-gold-light); }
.mm-minicart-item:last-child { border-bottom: 0; }
.mm-minicart-item img { width: 40px; height: 40px; object-fit: cover; border-radius: 8px; flex: none; }
.mm-minicart-item-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mm-minicart-item-name { font-family: var(--mm-font-sans); font-size: 13px; color: var(--mm-text);
  line-height: 1.3; overflow: hidden; text-overflow: ellipsis; display: -webkit-box;
  -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.mm-minicart-item-qty { font-size: 12px; color: var(--mm-muted); font-variant-numeric: tabular-nums; }
.mm-minicart-empty { padding: 10px 4px; font-size: 14px; color: var(--mm-muted); font-family: var(--mm-font-sans); }
.mm-minicart-drop .mm-minicart-checkout { background: var(--mm-gold); color: #FFFFFF !important; text-align: center; font-weight: 600; }
.mm-minicart-drop .mm-minicart-checkout:hover { background: var(--mm-gold-dark); }

/* --- (h) Blagajna 2 stolpca: grid NA form.checkout (brez dodatnih ovojnic; forma ostane cela) --- */
@media (min-width: 900px) {
  .woocommerce-checkout form.checkout {
    display: grid; grid-template-columns: minmax(0, 58fr) minmax(0, 42fr);
    grid-template-rows: auto 1fr; gap: 0 var(--mm-space-5); align-items: start; }
  .woocommerce-checkout form.checkout #customer_details { grid-column: 1; grid-row: 1 / 3; }
  .woocommerce-checkout form.checkout #order_review_heading { grid-column: 2; grid-row: 1; margin-top: 0; }
  .woocommerce-checkout form.checkout #order_review { grid-column: 2; grid-row: 2; position: sticky; top: 96px; }
}
/* desni stolpec kot kartica (povzetek + plačilo) */
.woocommerce-checkout #order_review {
  background: var(--mm-surface); border: 2px solid var(--mm-gold-light);
  border-radius: var(--mm-radius); padding: var(--mm-space-4); }
.woocommerce-checkout #order_review_heading { color: var(--mm-gold); }
/* mobile: povzetek NAD polji */
@media (max-width: 899px) {
  .woocommerce-checkout form.checkout { display: flex; flex-direction: column; }
  .woocommerce-checkout form.checkout #order_review_heading { order: -2; }
  .woocommerce-checkout form.checkout #order_review { order: -1; margin-bottom: var(--mm-space-4); }
}
/* (#7) mini sličica v povzetku naročila */
.woocommerce-checkout .mm-review-thumb { display: inline-block; vertical-align: middle; margin-right: 10px; }
.woocommerce-checkout .mm-review-thumb img { width: 44px; height: 44px; object-fit: cover; border-radius: 8px; display: inline-block; margin: 0; }
.woocommerce-checkout td.product-name { display: flex; align-items: center; }
/* opombe naročila na dno levega stolpca */
.woocommerce-checkout .woocommerce-additional-fields { margin-top: var(--mm-space-3); }
/* "Dostava na drug naslov" kot izbira pod podatki plačnika */
.woocommerce-checkout #ship-to-different-address {
  margin: var(--mm-space-3) 0 0; padding: 12px 14px;
  background: var(--mm-bg); border: 1px solid var(--mm-gold-light); border-radius: var(--mm-radius);
  font-size: 16px; }
.woocommerce-checkout #ship-to-different-address label { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font-weight: 600; }
.woocommerce-checkout #ship-to-different-address input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--mm-gold); }
.woocommerce-checkout .shipping_address { padding-top: var(--mm-space-3); }
.woocommerce-checkout .woocommerce-checkout-review-order-table { width: 100%; }
.woocommerce-checkout #payment { background: transparent !important; border-radius: var(--mm-radius); }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--mm-gold-light) !important; padding: 0 0 12px !important; }
.woocommerce-checkout #payment div.payment_box { background: var(--mm-bg) !important; border-radius: var(--mm-radius); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--mm-bg) !important; }

/* --- (i) Meni: en čist dropdown; figurice podkategorije vgnezdene (brez drugega flyouta) --- */
/* DESKTOP: hover flyout na 1. nivoju, toggle puščica skrita */
.site-navigation .menu-item-has-children { position: relative; }
.site-navigation .mm-submenu-toggle { display: none; }
.site-navigation > ul > .menu-item-has-children > .sub-menu {
  position: absolute; top: 100%; left: 0; z-index: 60; display: none;
  min-width: 240px; margin: 0; padding: 8px; list-style: none;
  background: var(--mm-surface); border: 1px solid var(--mm-gold-light);
  border-radius: var(--mm-radius); box-shadow: 0 6px 24px rgba(46, 42, 38, 0.14); }
.site-navigation > ul > .menu-item-has-children:hover > .sub-menu,
.site-navigation > ul > .menu-item-has-children:focus-within > .sub-menu { display: block; }
.site-navigation .sub-menu li { margin: 0; }
.site-navigation .sub-menu a { display: block; min-height: 40px; line-height: 1.3; padding: 9px 12px;
  border-radius: 8px; border-bottom: 0 !important; font-size: 15px; white-space: nowrap; color: var(--mm-text); }
.site-navigation .sub-menu a:hover { background: var(--mm-bg); color: var(--mm-gold-dark); }
/* figurice podkategorije: vedno vgnezden indentiran seznam, NE drugi flyout */
.site-navigation .sub-menu .sub-menu {
  position: static; display: block; box-shadow: none; border: 0;
  padding: 2px 0 4px 12px; min-width: 0; margin: 0; }
.site-navigation .sub-menu .sub-menu a { font-size: 14px; color: var(--mm-muted); min-height: 34px; padding: 6px 12px; }
.site-navigation .sub-menu .sub-menu a::before { content: "– "; color: var(--mm-gold-light); }

/* MOBILNI (Hello dropdown): accordion; toggle vidna, figurice vedno vgnezdene */
.site-navigation-dropdown .menu-item-has-children { position: relative; }
.site-navigation-dropdown .mm-submenu-toggle {
  display: inline-flex; align-items: center; justify-content: center;
  position: absolute; right: 0; top: 0; width: 48px; height: 48px;
  border: 0; background: transparent; color: var(--mm-gold-dark);
  font-size: 20px; cursor: pointer; line-height: 1; transition: transform .2s ease; z-index: 2; }
.site-navigation-dropdown .menu-item-has-children.mm-open > .mm-submenu-toggle { transform: rotate(180deg); }
/* 1. nivo skrit dokler ni mm-open */
.site-navigation-dropdown > ul > .menu-item-has-children > .sub-menu {
  display: none; position: static; box-shadow: none; border: 0;
  padding: 4px 0 4px 14px; min-width: 0; background: transparent; }
.site-navigation-dropdown > ul > .menu-item-has-children.mm-open > .sub-menu { display: block; }
/* Hello Elementor skriva postavke mobilnega podmenija z max-height:0 IN transform:scaleY(0)
   (lastna animacija, ki jo sproži njegov razred). Naš accordion uporablja .mm-open, zato
   obe omejitvi tu izrecno razveljavimo. Brez transform bi bil podmeni "odprt" in bi zavzel
   prostor, postavke pa bi ostale stisnjene na 0 px (neviden prazen blok). */
.site-navigation-dropdown .menu-item-has-children.mm-open .sub-menu li {
  max-height: none;
  transform: none;
}
/* 2. nivo (figurice podkat.) vedno viden znotraj odprtega 1. nivoja */
.site-navigation-dropdown .sub-menu .sub-menu { display: block; position: static; box-shadow: none; border: 0; padding: 0 0 0 14px; }
.site-navigation-dropdown .sub-menu .sub-menu a::before { content: "– "; color: var(--mm-gold-light); }

/* --- (#4) Mini-cart viden tudi na mobilnem (poleg hamburgerja) --- */
@media (max-width: 767px) {
  #site-header .header-inner { flex-wrap: nowrap; align-items: center; }
  #site-header .mm-minicart { order: 8; margin-left: auto; margin-right: 4px; }
  #site-header .site-navigation-toggle-holder { order: 9; }
  #site-header .mm-minicart-total { display: none; } /* prostor: ikona + število */
  #site-header .mm-minicart-drop { right: -8px; }
}

/* --- (#6) Produktna mreža: enake višine kartic, gumb poravnan na dno --- */
.woocommerce ul.products, .woocommerce-page ul.products {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin: 0 0 var(--mm-space-4); padding: 0; }
/* WooCommerce clearfix ::before/::after postaneta grid elementa (prazna 1. in zadnja celica) -> odstrani */
.woocommerce ul.products::before, .woocommerce ul.products::after,
.woocommerce-page ul.products::before, .woocommerce-page ul.products::after { content: none; display: none; }
@media (min-width: 768px) {
  .woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, 1fr); }
  .woocommerce ul.products.columns-4, .woocommerce ul.products.columns-5 { grid-template-columns: repeat(4, 1fr); }
}
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
  width: auto !important; margin: 0 !important; float: none !important;
  display: flex; flex-direction: column; height: 100%;
  background: var(--mm-surface); border: 1px solid var(--mm-gold-light);
  border-radius: var(--mm-radius); padding: 12px; text-align: center; transition: box-shadow .2s ease; }
/* Enak hover kot pri karticah kategorij: dvig 3 px, mehka senca, zoom slike 1.03.
   overflow: hidden zadrži povečano sliko znotraj kartice. */
.woocommerce ul.products li.product {
  overflow: hidden;
  transition: transform .22s ease-out, box-shadow .22s ease-out; }
.woocommerce ul.products li.product:hover,
.woocommerce ul.products li.product:focus-within {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(46, 42, 38, 0.14); }
.woocommerce ul.products li.product a img {
  border-radius: 8px; margin: 0 0 10px; aspect-ratio: 1 / 1; object-fit: cover; width: 100%;
  transition: transform .22s ease-out; }
.woocommerce ul.products li.product:hover a img,
.woocommerce ul.products li.product:focus-within a img { transform: scale(1.03); }
/* Naslov vedno natanko 2 vrstici: 3-vrstična imena so ceno in gumb potisnila
   niže od sosedov v isti vrstici (cik-cak). Daljša imena se odrežejo s tropičjem,
   celo ime ostane na strani izdelka. */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--mm-font-serif); font-size: 16px; line-height: 1.3; padding: 0;
  height: 2.6em; margin: 0 0 4px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; text-align: center; }
.woocommerce ul.products li.product .price {
  margin-top: auto; color: var(--mm-muted); font-weight: 700; font-variant-numeric: tabular-nums; padding-top: 6px; }
.woocommerce ul.products li.product .price del { color: var(--mm-muted); opacity: .6; font-weight: 400; }
.woocommerce ul.products li.product .price ins { color: var(--mm-rose); text-decoration: none; }
.woocommerce ul.products li.product .button, .woocommerce ul.products li.product .added_to_cart {
  margin-top: 10px; width: 100%; }
.woocommerce ul.products li.product .onsale { position: absolute; }

/* --- (#8) CookieYes preference center: brand slog, vsi gumbi enako vidni --- */
.cky-preference-center {
  background: var(--mm-bg) !important; border: 1px solid var(--mm-gold-light) !important;
  border-radius: var(--mm-radius) !important; font-family: var(--mm-font-sans) !important; }
.cky-preference-title, .cky-preference-header .cky-preference-title {
  color: var(--mm-text) !important; font-family: var(--mm-font-serif) !important; }
.cky-preference-content-wrapper, .cky-accordion-header-des, .cky-preference-content-wrapper p,
.cky-gpc-wrapper .cky-always-active { color: var(--mm-text) !important; }
.cky-accordion-header .cky-accordion-btn { color: var(--mm-text) !important; font-family: var(--mm-font-serif) !important; }
.cky-preference-center .cky-switch input:checked + label,
.cky-preference-center input[type="checkbox"] { accent-color: var(--mm-gold) !important; }
.cky-prefrence-btn-wrapper .cky-btn, .cky-preference-center .cky-btn {
  border-radius: var(--mm-radius) !important; font-weight: 600 !important; font-family: var(--mm-font-sans) !important;
  min-height: 44px !important; flex: 1 1 auto !important; }
/* "Shrani nastavitve" + "Sprejmi vse": polna zlata */
.cky-btn-preferences, .cky-btn-confirm, .cky-preference-center .cky-btn-accept {
  background: var(--mm-gold) !important; border: 2px solid var(--mm-gold) !important; color: #FFFFFF !important; }
.cky-btn-preferences:hover, .cky-btn-confirm:hover, .cky-preference-center .cky-btn-accept:hover {
  background: var(--mm-gold-dark) !important; border-color: var(--mm-gold-dark) !important; }
/* "Zavrnem vse": obrobljen, enako viden */
.cky-preference-center .cky-btn-reject {
  background: transparent !important; border: 2px solid var(--mm-gold) !important; color: var(--mm-gold-dark) !important; }
.cky-preference-center .cky-btn-reject:hover { background: var(--mm-gold) !important; color: #FFFFFF !important; }

/* --- (L1f) Tapljive tarče >= 44px na mobilnem (blagajna gumb + polja, qty, sort) --- */
@media (max-width: 767px) {
  .woocommerce #place_order,
  .woocommerce-checkout #place_order,
  .woocommerce form .form-row input.input-text,
  .woocommerce form .form-row .select2-selection,
  .woocommerce-page form .form-row input.input-text,
  .woocommerce .quantity input.qty,
  .woocommerce-ordering select,
  .woocommerce #coupon_code,
  .woocommerce button[name="apply_coupon"] {
    min-height: 44px;
  }
  .woocommerce form .form-row select { min-height: 44px; }
}

/* --- HERO karusel: ročni preklop 5 slik s pikicami (brez samodejnega vrtenja) --- */
.mm-hero-slider { position: relative; }
/* Fiksno razmerje vsebnika: ob menjavi slike ni premika postavitve (CLS 0). */
.mm-hero-slides {
  position: relative; width: 100%; aspect-ratio: 3 / 4;
  border-radius: var(--mm-radius); overflow: hidden; background: var(--mm-bg); }
.mm-hero-slide {
  position: absolute; inset: 0; display: none; }
.mm-hero-slide.is-active { display: block; }
.mm-hero-slide img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: var(--mm-radius); }
.mm-hero-dots { display: flex; justify-content: center; gap: 4px; margin-top: 10px; }
/* Tapna površina 44 px (pikica je manjša, a tarča polna). */
.mm-hero-dot {
  width: 44px; height: 44px; padding: 0; border: 0; background: transparent;
  cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
/* Hello Elementor barva VSE gumbe ob hover/focus z rgb(204,51,102) (roza).
   Pikica je <button>, zato je dobila roza krog. Enaka specifičnost, a naš stylesheet
   se nalozi za Hello, zato zadostuje brez !important. */
.mm-hero-dot:hover, .mm-hero-dot:focus, .mm-hero-dot:active,
.mm-hero-dot:focus-visible { background: transparent; color: inherit; }
.mm-hero-dot::before {
  content: ""; width: 10px; height: 10px; border-radius: 50%;
  background: var(--mm-muted); opacity: .45; transition: background-color .2s ease, opacity .2s ease, transform .2s ease; }
.mm-hero-dot:hover::before { opacity: .75; }
.mm-hero-dot.is-active::before { background: var(--mm-gold); opacity: 1; transform: scale(1.25); }
.mm-hero-dot:focus-visible { outline: 2px solid var(--mm-gold-dark); outline-offset: -6px; border-radius: 50%; }

/* --- Tekstovna navigacija po kategorijah (arhivi) --- */
/* DESKTOP: ozek levi stolpec. Grid postavimo na .site-main, ker so vsi Woo elementi
   njegovi NEPOSREDNI otroci — tako se izognemo ovojnicam, ki bi lahko razbile DOM. */
.mm-cat-nav { margin: 0 0 var(--mm-space-4); }
.mm-cat-nav-title {
  font-family: var(--mm-font-serif); font-size: 18px; color: var(--mm-text);
  margin: 0 0 12px; padding: 0 0 10px; border-bottom: 1px solid var(--mm-gold-light); }
.mm-cat-nav-list, .mm-cat-nav-sub { list-style: none; margin: 0; padding: 0; }
.mm-cat-nav-item { margin: 0; }
.mm-cat-nav-link {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  min-height: 44px; padding: 8px 10px; border-radius: 8px;
  font-family: var(--mm-font-sans); font-size: 16px; line-height: 1.35;
  color: var(--mm-text); text-decoration: none; border-bottom: 0 !important;
  transition: color .15s ease, background-color .15s ease; }
.mm-cat-nav-link:hover { color: var(--mm-gold-dark); background: var(--mm-bg); }
.mm-cat-nav-link.is-current { color: var(--mm-gold-dark); font-weight: 700; }
.mm-cat-nav-count { color: var(--mm-muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.mm-cat-nav-link.is-current .mm-cat-nav-count { color: var(--mm-gold); }
.mm-cat-nav-sub { margin: 0 0 4px 12px; padding-left: 10px; border-left: 1px solid var(--mm-gold-light); }
.mm-cat-nav-sub .mm-cat-nav-link { font-size: 15px; color: var(--mm-muted); min-height: 40px; }
.mm-cat-nav-sub .mm-cat-nav-link:hover,
.mm-cat-nav-sub .mm-cat-nav-link.is-current { color: var(--mm-gold-dark); }
.mm-cat-nav-link:focus-visible { outline: 2px solid var(--mm-gold-dark); outline-offset: 2px; }

@media (min-width: 900px) {
  /* Grid na .site-main (vsi Woo elementi so njegovi neposredni otroci, brez ovojnic).
     Vrstni red otrok je na obeh tipih arhiva enak in navigacija je vedno 3. otrok,
     zato jo postavimo EKSPLICITNO (grid-row: 3 / 100). Z `span` + samodejnim
     postavljanjem bi kazalec skočil pod navigacijo in desni stolpec bi se odmaknil
     navzdol; float pa tudi ne gre, ker ul.products kot grid ustvari BFC in se floatu umakne. */
  .archive .site-main {
    display: grid; grid-template-columns: 216px minmax(0, 1fr);
    column-gap: 44px; align-items: start; }
  .archive .site-main > .woocommerce-breadcrumb,
  .archive .site-main > .woocommerce-products-header { grid-column: 1 / -1; }
  .archive .site-main > .mm-cat-nav {
    grid-column: 1; grid-row: 3 / 100; position: sticky; top: 96px; margin: 0; }
  .archive .site-main > .woocommerce-notices-wrapper,
  .archive .site-main > .term-description,
  .archive .site-main > .woocommerce-result-count,
  .archive .site-main > .woocommerce-ordering,
  .archive .site-main > ul.products,
  .archive .site-main > .woocommerce-pagination,
  .archive .site-main > .woocommerce-no-products-found { grid-column: 2; }
  /* na desktopu naj bo tarča enako velika kot na mobilnem */
  .mm-cat-nav-sub .mm-cat-nav-link { min-height: 44px; }
}

/* MOBILNO: brez stolpca, vodoravni drseči chipi nad izdelki (tarča >= 44 px). */
@media (max-width: 899px) {
  .mm-cat-nav { margin: 0 0 var(--mm-space-3); }
  .mm-cat-nav-title { font-size: 16px; border-bottom: 0; padding: 0; margin: 0 0 8px; }
  .mm-cat-nav-list {
    display: flex; gap: 8px; overflow-x: auto; padding: 2px 0 8px;
    scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
  .mm-cat-nav-list::-webkit-scrollbar { height: 0; }
  /* li se sploščijo, da so povezave (in podkategorije) neposredni flex elementi */
  .mm-cat-nav-item, .mm-cat-nav-sub, .mm-cat-nav-sub li { display: contents; }
  .mm-cat-nav-link { flex: 0 0 auto; scroll-snap-align: start; }
  .mm-cat-nav-link {
    min-height: 44px; padding: 8px 16px; white-space: nowrap;
    border: 1px solid var(--mm-gold-light); border-radius: var(--mm-radius-pill);
    background: var(--mm-surface); }
  .mm-cat-nav-link.is-current {
    background: var(--mm-gold); border-color: var(--mm-gold); color: #FFFFFF; }
  .mm-cat-nav-link.is-current .mm-cat-nav-count { color: rgba(255, 255, 255, .85); }
  /* podkategorija kot lažji chip, da se loči od glavnih kategorij */
  .mm-cat-nav-sub .mm-cat-nav-link {
    font-size: 15px; color: var(--mm-muted); background: var(--mm-bg); }
  .mm-cat-nav-sub .mm-cat-nav-link.is-current { color: #FFFFFF; }
}
/* ===== IZMENIČNI RITEM (zig-zag): O nas + Zakaj barvanje =====
   Ena družina: isti razmiki, ista obravnava slik, isti tipografski ritem.
   Naslov razdelka živi V BESEDILNEM STOLPCU in je poravnan z vrhom slike. */
.mm-zz { display: grid; gap: var(--mm-space-4); margin: 0 0 var(--mm-space-5); }
.mm-zz-media { margin: 0; }
/* Vsaka fotografija ohrani SVOJE naravno razmerje: brez aspect-ratio in brez
   object-fit. Ker okvir sledi sliki, ni ne obrezovanja ne krem/belega pasu.
   Velikost omejujeta samo širina stolpca in strop višine.
   (Prej sta se izmenjevala cover -> obrez in contain -> rob; oboje je bila
   posledica vsiljenega razmerja okvirja.) */
.mm-zz-media img {
  display: block;
  width: auto; height: auto;
  max-width: 100%;
  margin: 0 auto;
  border-radius: var(--mm-radius);
  box-shadow: 0 8px 28px rgba(46, 42, 38, 0.10); }
.mm-zz-media figcaption {
  margin-top: 10px; color: var(--mm-muted); font-size: 14px; line-height: 1.5; text-align: center; }
.mm-zz-txt > :first-child { margin-top: 0; }   /* naslov poravnan z vrhom slike */
.mm-zz-txt > :last-child { margin-bottom: 0; }
.mm-zz-txt h2, .mm-zz-txt h3 {
  font-family: var(--mm-font-serif); color: var(--mm-text); margin: 0 0 var(--mm-space-2); }
.mm-zz-txt h2 { font-size: clamp(24px, 3.2vw, 32px); line-height: 1.2; }
.mm-zz-txt h3 { font-size: clamp(19px, 2.4vw, 23px); line-height: 1.25; }
.mm-zz-txt p, .mm-zz-txt li { color: var(--mm-text); line-height: 1.7; }
.mm-zz-txt p { margin: 0 0 var(--mm-space-2); }
.mm-zz-txt ul { margin: 0 0 var(--mm-space-2); padding-left: 1.15em; }
.mm-zz-txt li { margin: 0 0 6px; }

/* MOBILNO (privzeto): slika NAD besedilom, enoten razmik med bloki. */
.mm-zz-media { order: 1; }
.mm-zz-txt { order: 2; }

/* Uvodni blok nima naslova in ima kratko besedilo: večja "lead" tipografija,
   da uvod tudi vizualno nosi težo. */
.mm-zz-lead p { font-size: 19px; line-height: 1.75; color: var(--mm-text); }

@media (min-width: 860px) {
  /* VSI bloki poravnani na vrh (align-items: start), na obeh straneh enako:
     besedilo se začne v isti liniji kot slika, zato nad njim ni prazne luknje.
     Centriranje je bilo opuščeno 2026-07-29 — puščalo je neenakomeren ritem. */
  .mm-zz { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--mm-space-5); align-items: start; }
  .mm-zz-center { align-items: start; }
  /* Strop višine SAMO na desktopu: portretna slika bi sicer v stolpcu 534 px zrasla
     na ~800 px in blok bi presegel zaslon. Na mobilnem stropa ni (polna širina). */
  .mm-zz-media img { max-height: 480px; }
  /* slika levo */
  .mm-zz-media-left .mm-zz-media { order: 1; grid-column: 1; }
  .mm-zz-media-left .mm-zz-txt   { order: 2; grid-column: 2; }
  /* slika desno */
  .mm-zz-media-right .mm-zz-media { order: 2; grid-column: 2; }
  .mm-zz-media-right .mm-zz-txt   { order: 1; grid-column: 1; }
}
/* Vsebina, ki teče čez celo širino med bloki (zaključek, CTA, FAQ) */
.mm-zz-full { margin: 0 0 var(--mm-space-5); }

/* --- Enoten hover za VSE slike na strani (isti prehod kot pri karticah) ---
   Dvig 3 px + mehka senca + zoom 1.03, 220 ms ease-out. overflow: hidden na ovoju
   zadrži povečano sliko znotraj zaobljenega roba. Izklop pri reduced-motion (spodaj). */
.mm-zz-media, .mm-about-img, .mm-insta-grid img, .woocommerce-product-gallery__image {
  overflow: hidden; border-radius: var(--mm-radius); }
.mm-zz-media img, .mm-about-img img, .mm-insta-grid img,
.woocommerce-product-gallery__image img {
  transition: transform .22s ease-out; }
.mm-zz-media, .mm-about-img, .mm-insta-grid img, .woocommerce-product-gallery__image {
  transition: transform .22s ease-out, box-shadow .22s ease-out; }
.mm-zz-media:hover, .mm-about-img:hover,
.mm-insta-grid img:hover, .woocommerce-product-gallery__image:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(46, 42, 38, 0.14); }
.mm-zz-media:hover img, .mm-about-img:hover img,
.woocommerce-product-gallery__image:hover img { transform: scale(1.03); }
.mm-insta-grid img:hover { transform: translateY(-3px) scale(1.03); }

/* --- FAQ: vsako vprašanje v svoji kartici --- */
.mm-faq { display: grid; gap: var(--mm-space-3); margin: var(--mm-space-3) 0 var(--mm-space-5); }
.mm-faq-item {
  background: var(--mm-surface);
  border: 1px solid var(--mm-gold-light);
  border-radius: var(--mm-radius);
  padding: 22px 24px;
  box-shadow: 0 4px 18px rgba(46, 42, 38, 0.06); }
.mm-faq-item h3 {
  font-family: var(--mm-font-serif); font-size: 19px; line-height: 1.3;
  color: var(--mm-text); margin: 0 0 10px; }
.mm-faq-item p { margin: 0; color: var(--mm-text); line-height: 1.7; }
@media (min-width: 860px) {
  .mm-faq-item { padding: 26px 30px; }
}

/* Fotografije na /zakaj-barvanje-in-slikanice/ zdaj uporabljajo skupni zig-zag vzorec
   (.mm-zz) zgoraj — float postavitev je bila 2026-07-28 opuščena, ker naslovi razdelkov
   sodijo v besedilni stolpec, ne čez celo širino. */

/* Opomba o unikatnosti (lovilci sanj) — mehka, ne kričeča kot varnostno opozorilo */
.mm-unikat-opomba {
  margin: 12px 0 0; padding: 10px 14px; border-left: 3px solid var(--mm-gold-light);
  background: var(--mm-bg); border-radius: 0 8px 8px 0;
  color: var(--mm-muted); font-size: 15px; line-height: 1.5; }

/* Naslov "Kategorije" nad mrežo kartic */
.mm-cat-heading {
  font-family: var(--mm-font-serif); font-size: 22px; color: var(--mm-text);
  margin: 0 0 var(--mm-space-3); }

/* --- (L1e) Branded 404 (child template-parts/404.php) --- */
.mm-404 { max-width: 640px; margin: 0 auto; padding: var(--mm-space-6, 48px) 20px; text-align: center; }
.mm-404 .mm-404-title { font-family: var(--mm-font-serif); color: var(--mm-text); font-size: clamp(28px, 6vw, 40px); margin: 0 0 12px; }
.mm-404 .mm-404-lead { color: var(--mm-muted); font-size: 17px; line-height: 1.6; margin: 0 0 28px; }
.mm-404 .mm-btn-vrsta { justify-content: center; }
