/*
 * ============================================================
 *  PANAKEI CUSTOM — VIZUÁLNY OVERRIDE
 *  Panakei.sk — prepíše štýl kategorie.css
 *  Verzia: 1.0 | Máj 2026
 * ============================================================
 *
 *  Tento súbor prepíše vizuálnu vrstvu kategorie.css.
 *  Používa ROVNAKÉ názvy tried — načítava sa PO kategorie.css.
 *  Funkčnosť (JS, accordion logika) ostáva nezmenená.
 *
 *  Dizajn vychádza z blog.css:
 *    — teplé zelené akcenty #8FCB50
 *    — jemné tiene a gradientové pozadia
 *    — border-radius: 12px
 *    — vzdušný, profesionálny dojem
 *
 *  Poradie načítania v Shoptet <head>:
 *    1. kategorie.css
 *    2. panakei-custom.css  ← tento súbor
 *    3. produkt.css
 *    4. blog.css
 *
 * ============================================================
 *  Farby:
 *    --pan-accent:        #8FCB50  zelená Panakei
 *    --pan-accent-dark:   #6aaa30  tmavšia zelená (hover)
 *    --pan-accent-soft:   #f6f8f3  jemné zelenkasté pozadie
 *    --pan-accent-border: rgba(143,203,80,0.25) zelený border
 *    --pan-text:          #24242e  hlavný text
 *    --pan-muted:         #6b7280  tlmený text
 *    --pan-shadow:        0 4px 16px rgba(0,0,0,0.06)
 * ============================================================
 */


/* =============================================================
   CSS PREMENNÉ — panakei custom
   ============================================================= */

:root {
  --pan-accent:         #8FCB50;
  --pan-accent-dark:    #6aaa30;
  --pan-accent-soft:    #f6f8f3;
  --pan-accent-border:  rgba(143, 203, 80, 0.25);
  --pan-accent-muted:   rgba(143, 203, 80, 0.12);

  --pan-text:           #24242e;
  --pan-muted:          #6b7280;
  --pan-border:         rgba(17, 24, 39, 0.10);
  --pan-border-solid:   #e8e8ea;

  --pan-bg-card:        #ffffff;
  --pan-bg-soft:        #f6f8f3;
  --pan-bg-pill:        #f4f4f6;
  --pan-bg-pill-hover:  #ebebee;

  --pan-radius:         12px;
  --pan-radius-pill:    999px;
  --pan-shadow:         0 4px 16px rgba(0, 0, 0, 0.06);
  --pan-shadow-hover:   0 8px 24px rgba(0, 0, 0, 0.10);

  --pan-font:           var(--font-primary, 'Poppins', sans-serif);
}


/* =============================================================
   1. ŠTÍTOK SEKCIE (.kat-stitek)
   Teplejší, subtílnejší — jemný zelený akcent namiesto šedého
   ============================================================= */

.kat-stitek {
  display:          inline-flex;
  align-items:      center;
  justify-content:  center;
  padding:          5px 14px;
  font-family:      var(--pan-font);
  font-size:        9px;
  font-weight:      600;
  text-transform:   uppercase;
  letter-spacing:   0.8px;
  line-height:      1;
  color:            var(--pan-muted);
  background-color: var(--pan-accent-soft);
  border:           1px solid var(--pan-accent-border);
  border-radius:    var(--pan-radius-pill);
  transition:       background-color 0.2s ease-in-out,
                    border-color     0.2s ease-in-out;
}

p:has(> .kat-stitek) {
  margin-bottom: 0 !important;
  margin-top:    0 !important;
}


/* =============================================================
   2. HLAVNÉ KATEGÓRIE (.kat-hlavni-*)
   Karty s ikonami — teplé, s jemným tieňom a zeleným hover
   ============================================================= */

.kat-hlavni-grid {
  display:         flex;
  flex-wrap:       wrap;
  gap:             10px;
  padding:         16px 0;
  list-style:      none;
  margin:          0;
  justify-content: flex-start;
}

.kat-hlavni-item {
  flex:          0 0 var(--kat-hlavni-w, 112px);
  margin-bottom: 4px !important;
}

.kat-hlavni-link {
  display:          flex;
  flex-direction:   column;
  align-items:      center;
  justify-content:  center;
  background:       linear-gradient(180deg, var(--pan-accent-soft), #ffffff);
  border:           1px solid var(--pan-accent-border);
  border-radius:    var(--pan-radius);
  padding:          14px 8px 12px;
  height:           var(--kat-hlavni-h, 145px);
  text-decoration:  none !important;
  box-shadow:       var(--pan-shadow);
  transition:       background    0.2s ease-in-out,
                    border-color  0.2s ease-in-out,
                    box-shadow    0.2s ease-in-out,
                    transform     0.2s ease-in-out;
  box-sizing:       border-box;
}

.kat-hlavni-link:hover {
  background:   linear-gradient(180deg, #edf5e4, #f6f8f3);
  border-color: var(--pan-accent);
  box-shadow:   var(--pan-shadow-hover);
  transform:    translateY(-2px);
}

.kat-hlavni-link:focus-visible {
  outline:        2px solid var(--pan-accent);
  outline-offset: 2px;
  border-radius:  var(--pan-radius);
}

.kat-hlavni-img-wrapper {
  display:         flex;
  align-items:     center;
  justify-content: center;
  height:          var(--kat-hlavni-img-h, 65px);
  width:           100%;
  margin-bottom:   10px;
}

.kat-hlavni-img-wrapper img {
  max-height:  100%;
  max-width:   100%;
  object-fit:  contain;
  display:     block;
}

.kat-hlavni-label {
  color:         var(--pan-text);
  font-size:     var(--kat-hlavni-label-size, 12px);
  font-family:   var(--pan-font);
  font-weight:   700;
  text-align:    center;
  line-height:   1.25;
  margin:        0;
  word-wrap:     break-word;
  overflow-wrap: break-word;
}

/* Blog varianta */
.kat-hlavni-link-blog {
  background: linear-gradient(180deg, #fff5f5, #ffffff);
  border-color: rgba(220, 100, 100, 0.25);
}

.kat-hlavni-link-blog:hover {
  background:   linear-gradient(180deg, #ffe8e8, #fff5f5);
  border-color: #e08080;
}

/* Mobil */
@media (max-width: 767px) {
  .kat-hlavni-grid {
    gap: 8px;
  }

  .kat-hlavni-item {
    flex:      0 0 calc(33.333% - 6px);
    min-width: 0;
  }

  .kat-hlavni-link {
    height:        var(--kat-hlavni-h-mobile, 120px);
    padding:       10px 6px 8px;
    border-radius: 10px;
  }

  .kat-hlavni-img-wrapper {
    height: var(--kat-hlavni-img-h-mobile, 50px);
  }

  .kat-hlavni-label {
    font-size: var(--kat-hlavni-label-size-mob, 10px);
  }
}


/* =============================================================
   3. PARAMETRICKÉ KATEGÓRIE (.kat-parametricka-*)
   Pill tagy — teplejšie, s jemným tieňom
   ============================================================= */

.kat-parametricka-grid {
  display:         flex;
  flex-wrap:       wrap;
  gap:             8px;
  padding:         12px 0;
  list-style:      none;
  margin:          0;
}

.kat-parametricka-link {
  display:          inline-flex;
  align-items:      center;
  padding:          7px 15px;
  background-color: var(--pan-bg-pill);
  border:           1px solid var(--pan-border-solid);
  border-radius:    var(--pan-radius-pill);
  font-family:      var(--pan-font);
  font-size:        11.5px;
  font-weight:      500;
  color:            var(--pan-text);
  text-decoration:  none !important;
  white-space:      nowrap;
  box-shadow:       0 1px 3px rgba(0, 0, 0, 0.05);
  transition:       background-color 0.2s ease-in-out,
                    border-color     0.2s ease-in-out,
                    color            0.2s ease-in-out,
                    box-shadow       0.2s ease-in-out;
}

.kat-parametricka-link:hover {
  background-color: var(--pan-bg-pill-hover);
  border-color:     var(--pan-accent);
  color:            var(--pan-accent-dark);
  box-shadow:       0 2px 8px rgba(143, 203, 80, 0.15);
}

.kat-parametricka-link:focus-visible {
  outline:        2px solid var(--pan-accent);
  outline-offset: 2px;
}

/* Blog varianta */
.kat-parametricka-link-blog {
  background-color: #fff0f0;
  border-color:     rgba(220, 100, 100, 0.2);
}

.kat-parametricka-link-blog:hover {
  background-color: #ffe0e0;
  border-color:     #e08080;
  color:            #c05050;
}

@media (max-width: 767px) {
  .kat-parametricka-link {
    font-size: 10.5px;
    padding:   6px 12px;
  }
}


/* =============================================================
   4. TIP BOX (.kat-tip)
   Zelenkavý, konzistentný s blogom
   ============================================================= */

.kat-tip {
  position:         relative;
  background:       linear-gradient(180deg, var(--pan-accent-soft), #ffffff);
  border:           1px solid var(--pan-accent-border);
  border-left:      3px solid var(--pan-accent);
  border-radius:    var(--pan-radius);
  padding:          12px 16px 12px 44px;
  font-size:        14px;
  line-height:      1.7;
  color:            var(--pan-text);
  margin:           16px 0;
  box-shadow:       var(--pan-shadow);
}

.kat-tip::before {
  content:     '💡';
  position:    absolute;
  left:        14px;
  top:         13px;
  font-size:   16px;
  line-height: 1;
}


/* =============================================================
   5. FAQ (.kat-faq-*)
   Vzdušnejší, bližší k blogu — jemné tiene, zelené akcenty
   ============================================================= */

.kat-faq {
  margin:  40px 0 20px;
  padding: 0;
}

.kat-faq__nadpis {
  font-family: var(--pan-font);
  font-size:   20px;
  font-weight: 700;
  color:       var(--pan-text);
  margin:      0 0 14px;
  padding:     0;
}

.kat-faq__seznam {
  display:        flex;
  flex-direction: column;
  gap:            8px;
  margin:         0;
  padding:        0;
}

/* Jedna položka */
.kat-faq__polozka {
  border:        1px solid var(--pan-border-solid);
  border-radius: var(--pan-radius);
  background:    var(--pan-bg-card);
  overflow:      hidden;
  box-shadow:    var(--pan-shadow);
  transition:    border-color 0.15s ease-in-out,
                 box-shadow   0.15s ease-in-out;
}

.kat-faq__polozka:has(.kat-faq__otazka[aria-expanded="true"]) {
  border-color: var(--pan-accent-border);
  box-shadow:   0 4px 20px rgba(143, 203, 80, 0.12);
}

/* Tlačítko otázky */
.kat-faq__otazka {
  display:       flex;
  align-items:   center;
  gap:           12px;
  width:         100%;
  box-sizing:    border-box;
  padding:       16px 18px;
  background:    none;
  border:        none;
  cursor:        pointer;
  text-align:    left;
  font-family:   var(--pan-font);
  font-size:     15px;
  font-weight:   600;
  line-height:   1.4;
  color:         var(--pan-text);
  transition:    color 0.15s ease-in-out;
  min-width:     0;
  overflow-wrap: break-word;
  word-break:    break-word;
}

.kat-faq__otazka:hover {
  color: var(--pan-accent-dark);
}

.kat-faq__otazka:focus-visible {
  outline:        2px solid var(--pan-accent);
  outline-offset: -2px;
  border-radius:  var(--pan-radius);
}

/* Ikona — krúžok s + / × */
.kat-faq__ikona {
  flex-shrink:   0;
  display:       inline-flex;
  align-items:   center;
  justify-content: center;
  width:         28px;
  height:        28px;
  border:        1px solid var(--pan-border-solid);
  border-radius: 50%;
  background:    var(--pan-accent-soft);
  position:      relative;
  transition:    transform      0.25s ease-in-out,
                 border-color   0.15s ease-in-out,
                 background     0.15s ease-in-out;
}

/* Šipka dole — CSS trick */
.kat-faq__ikona::after {
  content:       '';
  position:      absolute;
  top:           50%;
  left:          50%;
  width:         7px;
  height:        7px;
  border-right:  2px solid var(--pan-muted);
  border-bottom: 2px solid var(--pan-muted);
  transform:     translate(-50%, -65%) rotate(45deg);
  transition:    border-color 0.15s ease-in-out,
                 transform    0.25s ease-in-out;
}

/* Rozbalený stav */
.kat-faq__otazka[aria-expanded="true"] .kat-faq__ikona {
  border-color: var(--pan-accent);
  background:   var(--pan-accent);
}

.kat-faq__otazka[aria-expanded="true"] .kat-faq__ikona::after {
  border-color: #ffffff;
  transform:    translate(-50%, -30%) rotate(225deg);
}

.kat-faq__otazka:hover .kat-faq__ikona {
  border-color: var(--pan-accent);
  background:   var(--pan-accent-muted);
}

.kat-faq__otazka:hover .kat-faq__ikona::after {
  border-color: var(--pan-accent-dark);
}

/* Skrytie odpovede */
.kat-faq__polozka.je-zabaleno .kat-faq__odpoved {
  display: none;
}

/* Odpoveď */
.kat-faq__odpoved {
  margin:      0;
  padding:     0 18px 18px 58px;
  font-family: var(--pan-font);
  font-size:   14px;
  line-height: 1.75;
  color:       var(--pan-text);
  border-top:  1px solid var(--pan-border-solid);
  background:  linear-gradient(180deg, var(--pan-accent-soft), #ffffff);
}

.kat-faq__odpoved p {
  margin:     10px 0 0;
  padding:    0;
}

.kat-faq__odpoved p:first-child {
  margin-top: 14px;
}

.kat-faq__odpoved p:last-child {
  margin-bottom: 0;
}

.kat-faq__odpoved a {
  color:           var(--pan-accent-dark);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.kat-faq__odpoved a:hover {
  text-decoration: none;
}

/* Mobil */
@media (max-width: 767px) {
  .kat-faq__nadpis {
    font-size: 17px;
  }

  .kat-faq__otazka {
    font-size: 14px;
    padding:   13px 14px;
    gap:       10px;
  }

  .kat-faq__ikona {
    width:  26px;
    height: 26px;
  }

  .kat-faq__odpoved {
    font-size: 13px;
    padding:   0 14px 14px 50px;
  }
}

@media (max-width: 1280px) and (min-width: 768px) {
  .kat-faq__otazka {
    font-size: 14px;
  }
}


/* =============================================================
   6. SPRIEVODCA VÝBEROM (.kat-pruvodce-*)
   Konzistentný s FAQ štýlom
   ============================================================= */

.kat-pruvodce {
  margin:        32px 0 16px;
  border:        1px solid var(--pan-border-solid);
  border-radius: var(--pan-radius);
  background:    var(--pan-bg-card);
  overflow:      hidden;
  box-shadow:    var(--pan-shadow);
  transition:    border-color 0.15s ease-in-out,
                 box-shadow   0.15s ease-in-out;
}

.kat-pruvodce:not(.je-zabaleno) {
  border-color: var(--pan-accent-border);
  box-shadow:   0 4px 20px rgba(143, 203, 80, 0.10);
}

.kat-pruvodce__hlavicka {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  gap:             12px;
  width:           100%;
  box-sizing:      border-box;
  padding:         18px 20px;
  background:      linear-gradient(180deg, var(--pan-accent-soft), #ffffff);
  border:          none;
  cursor:          pointer;
  text-align:      left;
  transition:      background 0.15s ease-in-out;
}

.kat-pruvodce__hlavicka:hover {
  background: linear-gradient(180deg, #edf5e4, var(--pan-accent-soft));
}

.kat-pruvodce__hlavicka:focus-visible {
  outline:        2px solid var(--pan-accent);
  outline-offset: -2px;
  border-radius:  var(--pan-radius);
}

.kat-pruvodce__titulek {
  display:       flex;
  align-items:   center;
  gap:           10px;
  font-family:   var(--pan-font);
  font-size:     16px;
  font-weight:   700;
  line-height:   1.3;
  color:         var(--pan-text);
  transition:    color 0.15s ease-in-out;
  min-width:     0;
  overflow-wrap: break-word;
  word-break:    break-word;
}

.kat-pruvodce__hlavicka:hover .kat-pruvodce__titulek {
  color: var(--pan-accent-dark);
}

.kat-pruvodce__ikona-kniha {
  flex-shrink:     0;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           34px;
  height:          34px;
  border-radius:   10px;
  background:      var(--pan-accent);
  font-size:       16px;
  line-height:     1;
  box-shadow:      0 2px 8px rgba(143, 203, 80, 0.3);
}

.kat-pruvodce__ikona-kniha::before {
  content: '📋';
}

/* Šipka */
.kat-pruvodce__ikona {
  flex-shrink:   0;
  display:       inline-flex;
  align-items:   center;
  justify-content: center;
  width:         28px;
  height:        28px;
  border:        1px solid var(--pan-border-solid);
  border-radius: 50%;
  background:    #ffffff;
  position:      relative;
  transition:    transform      0.25s ease-in-out,
                 border-color   0.15s ease-in-out,
                 background     0.15s ease-in-out;
}

.kat-pruvodce__ikona::after {
  content:       '';
  position:      absolute;
  top:           50%;
  left:          50%;
  width:         7px;
  height:        7px;
  border-right:  2px solid var(--pan-muted);
  border-bottom: 2px solid var(--pan-muted);
  transform:     translate(-50%, -65%) rotate(45deg);
  transition:    border-color 0.15s ease-in-out,
                 transform    0.25s ease-in-out;
}

.kat-pruvodce:not(.je-zabaleno) .kat-pruvodce__ikona {
  border-color: var(--pan-accent);
  background:   var(--pan-accent);
}

.kat-pruvodce:not(.je-zabaleno) .kat-pruvodce__ikona::after {
  border-color: #ffffff;
  transform:    translate(-50%, -30%) rotate(225deg);
}

.kat-pruvodce__hlavicka:hover .kat-pruvodce__ikona {
  border-color: var(--pan-accent);
}

.kat-pruvodce__hlavicka:hover .kat-pruvodce__ikona::after {
  border-color: var(--pan-accent-dark);
}

/* Skrytie obsahu */
.kat-pruvodce.je-zabaleno .kat-pruvodce__obsah {
  display: none;
}

.kat-pruvodce__obsah {
  padding:    0 20px 24px;
  border-top: 1px solid var(--pan-border-solid);
}

.kat-pruvodce__krok {
  padding-top: 24px;
}

.kat-pruvodce__krok + .kat-pruvodce__krok {
  border-top: 1px solid var(--pan-border-solid);
}

.kat-pruvodce__krok-nadpis {
  display:     flex;
  align-items: center;
  gap:         10px;
  font-family: var(--pan-font);
  font-size:   15px;
  font-weight: 700;
  color:       var(--pan-text);
  margin:      0 0 12px;
  padding:     0;
}

/* Číslo kroku — zelený krúžok */
.kat-pruvodce__cislo {
  flex-shrink:     0;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           28px;
  height:          28px;
  border-radius:   50%;
  background:      var(--pan-accent);
  color:           #ffffff;
  font-size:       13px;
  font-weight:     700;
  line-height:     1;
  box-shadow:      0 2px 6px rgba(143, 203, 80, 0.35);
}

.kat-pruvodce__obsah p {
  font-family: var(--pan-font);
  font-size:   14px;
  line-height: 1.75;
  color:       var(--pan-text);
  margin:      0 0 12px;
}

.kat-pruvodce__obsah p:last-child {
  margin-bottom: 0;
}

.kat-pruvodce__seznam {
  margin:      0 0 12px;
  padding:     0 0 0 20px;
  font-family: var(--pan-font);
  font-size:   14px;
  line-height: 1.75;
  color:       var(--pan-text);
}

.kat-pruvodce__seznam li {
  margin-bottom: 6px;
}

/* Mobil */
@media (max-width: 767px) {
  .kat-pruvodce__hlavicka {
    padding: 14px 16px;
  }

  .kat-pruvodce__titulek {
    font-size: 14px;
  }

  .kat-pruvodce__ikona-kniha {
    width:  30px;
    height: 30px;
    font-size: 14px;
  }

  .kat-pruvodce__obsah {
    padding: 0 14px 18px;
  }

  .kat-pruvodce__krok {
    padding-top: 18px;
  }

  .kat-pruvodce__krok-nadpis {
    font-size: 14px;
  }

  .kat-pruvodce__obsah p,
  .kat-pruvodce__seznam {
    font-size: 13px;
  }
}


/* =============================================================
   7. HERO / IDENTITA (.kat-identita-*)
   Zelený ľavý pruh — konzistentný s blogom
   ============================================================= */

.kat-identita {
  margin:        32px 0 16px;
  padding:       20px 24px;
  border:        1px solid var(--pan-accent-border);
  border-radius: var(--pan-radius);
  background:    linear-gradient(180deg, var(--pan-accent-soft), #ffffff 70%);
  border-left:   4px solid var(--pan-accent);
  box-shadow:    var(--pan-shadow);
  position:      relative;
  overflow:      hidden;
}

.kat-identita__text {
  margin-bottom: 16px;
}

.kat-identita__text p {
  font-family: var(--pan-font);
  font-size:   14px;
  line-height: 1.8;
  color:       var(--pan-text);
  margin:      0 0 8px;
}

.kat-identita__text p:last-child {
  margin-bottom: 0;
}

.kat-identita__text a {
  color:           var(--pan-accent-dark);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.kat-identita__text a:hover {
  text-decoration: none;
}

/* Benefity */
.kat-identita__benefity {
  display:     flex;
  flex-wrap:   wrap;
  gap:         8px;
  list-style:  none;
  margin:      0;
  padding:     16px 0 0;
  border-top:  1px solid var(--pan-accent-border);
}

.kat-identita__benefit {
  display:          inline-flex;
  align-items:      center;
  gap:              7px;
  padding:          7px 14px;
  background:       #ffffff;
  border:           1px solid var(--pan-border-solid);
  border-radius:    var(--pan-radius-pill);
  font-family:      var(--pan-font);
  font-size:        13px;
  font-weight:      500;
  color:            var(--pan-text);
  white-space:      nowrap;
  box-shadow:       0 1px 3px rgba(0, 0, 0, 0.05);
  transition:       border-color  0.2s ease-in-out,
                    box-shadow    0.2s ease-in-out;
}

.kat-identita__benefit:hover {
  border-color: var(--pan-accent-border);
  box-shadow:   0 2px 8px rgba(143, 203, 80, 0.12);
}

.kat-identita__benefit-ikona {
  font-size:   15px;
  line-height: 1;
  flex-shrink: 0;
}

/* Mobil */
@media (max-width: 767px) {
  .kat-identita {
    padding:          14px 16px;
    border-left-width: 3px;
  }

  .kat-identita__text p {
    font-size: 13px;
  }

  .kat-identita__benefit {
    font-size: 12px;
    padding:   5px 11px;
  }
}


/* =============================================================
   8. SKRYTIE NAJPREDÁVANEJŠÍCH
   ============================================================= */

.type-category .products-top-wrapper {
  display: none;
}


/* =============================================================
   PRÍSTUPNOSŤ
   ============================================================= */

@media (prefers-reduced-motion: reduce) {
  .kat-hlavni-link,
  .kat-parametricka-link,
  .kat-faq__polozka,
  .kat-pruvodce {
    transition: none !important;
  }
}
