/*
 * Vzorkovník (taxonómia: kolekcia)
 * Cieľ: zapadnúť do existujúceho dizajnu bez agresívnych globálnych zásahov.
 */

/* Základné helpery – používame len vlastné prefixované triedy */
.vzorkovnik-page .shop-hero__description p:last-child { margin-bottom: 0; }

.vzorkovnik-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 0 6px;
}

.vzorkovnik-toolbar__hint{
  opacity:.85;
  font-size:14px;
  line-height:1.3;
}

.vzorkovnik-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:22px;
  padding:18px 0 34px;
}

@media (max-width: 1100px){
  .vzorkovnik-grid{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px){
  .vzorkovnik-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; }
}
@media (max-width: 520px){
  .vzorkovnik-grid{ grid-template-columns:1fr; }
}

/* Karta – snažíme sa využiť existujúce typografie a farby, ale doplníme rozloženie */
.vzorkovnik-card{
  display:flex;
  flex-direction:column;
  text-decoration:none;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  transition:transform .18s ease, box-shadow .18s ease;
}
.vzorkovnik-card:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(0,0,0,.10);
}

.vzorkovnik-card__media{
  position:relative;
  aspect-ratio: 4 / 3;
  background:rgba(0,0,0,.03);
}

.vzorkovnik-card__media img,
.vzorkovnik-card__img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.vzorkovnik-card__img--placeholder{
  background:linear-gradient(135deg, rgba(0,0,0,.03), rgba(0,0,0,.08));
}

.vzorkovnik-card__body{
  padding:14px 14px 16px;
}

.vzorkovnik-card__title{
  font-weight:600;
  line-height:1.2;
  margin:0;
}

.vzorkovnik-card__meta{
  margin-top:8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  opacity:.85;
  font-size:13px;
}

.vzorkovnik-pill{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(0,0,0,.06);
  font-size:12px;
}

/* Detail farby */
.vzorkovnik-detail{
  display:grid;
  grid-template-columns: minmax(260px, 440px) 1fr;
  gap:26px;
  padding:18px 0 38px;
}
@media (max-width: 860px){
  .vzorkovnik-detail{ grid-template-columns:1fr; }
}

.vzorkovnik-detail__media{
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.10);
  background:rgba(0,0,0,.03);
}

.vzorkovnik-detail__media img,
.vzorkovnik-detail__media .vzorkovnik-card__img{
  width:100%;
  height:auto;
  display:block;
}

.vzorkovnik-detail__content{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.vzorkovnik-detail__desc{
  opacity:.95;
}

/* CTA blok pre posledný produkt */
.vzorkovnik-apply{
  margin-top:6px;
  padding:16px;
  border-radius:16px;
  border:1px solid rgba(0,0,0,.10);
  background:rgba(0,0,0,.02);
}

.vzorkovnik-apply__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

.vzorkovnik-apply__product{
  display:flex;
  align-items:center;
  gap:12px;
}

.vzorkovnik-apply__thumb img{ border-radius:10px; display:block; }

.vzorkovnik-apply__title{ font-weight:600; line-height:1.2; }
.vzorkovnik-apply__sub{ font-size:13px; opacity:.8; }

/* Tlačidlá – ak téma definuje .home-products__button, využijeme ho; inak fallback */
.vzorkovnik-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.14);
  background:#111;
  color:#fff;
  text-decoration:none;
  cursor:pointer;
}
.vzorkovnik-btn:hover{ filter:brightness(1.06); }

.vzorkovnik-btn--ghost{
  background:transparent;
  color:inherit;
}

/* Ak téma nemá definované .home-products__button (napr. v tomto exporte),
   dáme aspoň slušný fallback len pre vzorkovník stránky. */
.vzorkovnik-page .home-products__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.14);
  background:#111;
  color:#fff;
  text-decoration:none;
  cursor:pointer;
  line-height:1;
}
.vzorkovnik-page .home-products__button:hover{ filter:brightness(1.06); }

/* Mini blok pri add-to-cart */
.single-product-vzorkovnik{
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 14px;
  background: rgba(0,0,0,.02);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.single-product-vzorkovnik__label{
  font-weight:600;
  opacity:.9;
}

.single-product-vzorkovnik__value{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.single-product-vzorkovnik__change{
  text-decoration:none;
  border-bottom:1px solid rgba(0,0,0,.25);
}

/* ------------------------------------------------------------
 * VZORKOVNÍK – LOOP NADRADENÝCH KOLEKCIÍ (iba /vzorkovnik/)
 * Dizajn podľa screenshotu: 3 stĺpce, štvorcový obrázok, šípka v kruhu,
 * text "Kolekcia <strong>Názov</strong>" + stránkovanie (15 / strana)
 * ------------------------------------------------------------ */

.vzorkovnik-page{
  /* Skús sa napojiť na farby z témy / WP presetov, inak fallback */
  --vz-accent: var(--postele-lara-accent, var(--wp--preset--color--primary, var(--wp--preset--color--accent, #5b8a74)));
  --vz-accent-dark: var(--postele-lara-accent-dark, var(--wp--preset--color--secondary, var(--wp--preset--color--contrast, #1f3f37)));
}

.vzorkovnik-parent-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:64px 84px;
  padding:22px 0 10px;
}

@media (max-width: 1100px){
  .vzorkovnik-parent-grid{ gap:42px 44px; }
}
@media (max-width: 860px){
  .vzorkovnik-parent-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:28px 26px; }
}
@media (max-width: 520px){
  .vzorkovnik-parent-grid{ grid-template-columns:1fr; }
}

.vzorkovnik-parent-card{
  display:block;
  text-decoration:none;
  color:inherit;
}

.vzorkovnik-parent-card__media{ position:relative; }

.vzorkovnik-parent-card__image{
  aspect-ratio: 1 / 1;
  border-radius:18px;
  overflow:hidden;
  background:rgba(0,0,0,.03);
}

.vzorkovnik-parent-card__image img,
.vzorkovnik-parent-card__image .vzorkovnik-card__img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.vzorkovnik-parent-card__placeholder{
  display:block;
  width:100%;
  height:100%;
  background:linear-gradient(135deg, rgba(0,0,0,.03), rgba(0,0,0,.10));
}

.vzorkovnik-parent-card__title{
  margin-top:14px;
  font-size:18px;
  line-height:1.25;
}

.vzorkovnik-parent-card__k{ font-weight:400; opacity:.85; margin-right:6px; }
.vzorkovnik-parent-card__n{ font-weight:700; }

/* Kruhové prvky (šípka + stránkovanie) */
.vzorkovnik-circle{
  width:54px;
  height:54px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: var(--vz-accent);
  color:#fff;
  text-decoration:none;
  border:0;
  line-height:1;
}

.vzorkovnik-parent-card__go{
  position:absolute;
  right:14px;
  bottom:-18px;
  pointer-events:none; /* celé je klikateľné ako link */
}

.vzorkovnik-parent-card:hover .vzorkovnik-parent-card__image img{
  transform:scale(1.02);
  transition:transform .25s ease;
}

.vzorkovnik-pagination{
  display:flex;
  justify-content:center;
  padding:34px 0 8px;
}
.vzorkovnik-pagination__inner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}

.vzorkovnik-pagination__btn{ font-size:16px; }

.vzorkovnik-pagination__btn.is-active{ background: var(--vz-accent-dark); }

.vzorkovnik-pagination__btn.is-disabled{ opacity:.35; pointer-events:none; }

/* ------------------------------------------------------------
 * VZORKOVNÍK – LOOP KONKRÉTNYCH FARIEB (child termy v skupine)
 * Dizajn podľa screenshotu: štvorcový swatch, overlay dole:
 * - ľavo button "Vybrať"
 * - vpravo text "Látka: {oznacenie}"
 * Pozn.: konkrétna farba už nemá podstránku, výber prebieha priamo v loope.
 * ------------------------------------------------------------ */

.vzorkovnik-swatches-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:28px;
  padding:18px 0 34px;
}

@media (max-width: 1200px){
  .vzorkovnik-swatches-grid{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 860px){
  .vzorkovnik-swatches-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px; }
}
@media (max-width: 520px){
  .vzorkovnik-swatches-grid{ grid-template-columns:1fr; }
}

.vzorkovnik-swatch-card{
  display:block;
}

.vzorkovnik-swatch-card__media{
  position:relative;
}

.vzorkovnik-swatch-card__image{
  aspect-ratio: 1 / 1;
  border-radius:18px;
  overflow:hidden;
  background:rgba(0,0,0,.03);
}

.vzorkovnik-swatch-card__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.vzorkovnik-swatch-card__placeholder{
  display:block;
  width:100%;
  height:100%;
  background:linear-gradient(135deg, rgba(0,0,0,.03), rgba(0,0,0,.10));
}

.vzorkovnik-swatch-card__overlay{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  pointer-events:none; /* klikateľné má byť iba tlačidlo */
}

.vzorkovnik-swatch-card__overlay-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.vzorkovnik-swatch-card__left,
.vzorkovnik-swatch-card__right{
  display:flex;
  align-items:center;
}

.vzorkovnik-swatch-card__form{
  margin:0;
  pointer-events:auto;
}

.vzorkovnik-swatch-card__btn{
  appearance:none;
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  height:44px;
  padding:0 32px;
  font-size:16px;
  line-height:1;
  cursor:pointer;
  background: var(--vz-accent);
  color:#fff;
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}

.vzorkovnik-swatch-card__btn:hover{ filter:brightness(1.04); }

.vzorkovnik-swatch-card__btn.is-disabled{
  opacity:.55;
  cursor:not-allowed;
  box-shadow:none;
}

/* text "Látka: ..." */
.vzorkovnik-swatch-card__code{
  font-size:16px;
  line-height:1;
  opacity:.95;
  white-space:nowrap;
  text-shadow:0 2px 12px rgba(0,0,0,.30);
}

/* automatický variant podľa tmavosti obrázka (doplní JS) */
.vzorkovnik-swatch-card.is-light .vzorkovnik-swatch-card__code{
  color: rgba(20, 40, 35, .75);
  text-shadow:none;
}

.vzorkovnik-swatch-card.is-dark .vzorkovnik-swatch-card__code{
  color: rgba(255,255,255,.88);
}

.vzorkovnik-swatch-card.is-dark .vzorkovnik-swatch-card__btn{
  background:#fff;
  color: var(--vz-accent-dark);
  border-color: rgba(255,255,255,.65);
}

/* Popis nadradenej skupiny nad výpisom farieb */
.vzorkovnik-group-desc{
  max-width: 860px;
  margin: 14px 0 26px;
  font-size: 16px;
  line-height: 1.6;
  opacity: .88;
}

.vzorkovnik-group-desc p{ margin: 0 0 10px; }
.vzorkovnik-group-desc p:last-child{ margin-bottom: 0; }

/* Layout pre popis + video */
.vzorkovnik-group-top{
  display:grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 520px);
  gap: 26px;
  align-items:start;
  margin: 14px 0 26px;
}

.vzorkovnik-group-desc-wrap{
  min-width: 0;
}

/* Na desktop nechaj popis bez max-width (rieši grid),
   na mobile ho budeme zbalovať. */
.vzorkovnik-group-top .vzorkovnik-group-desc{
  margin: 0;
  max-width: none;
}

.vzorkovnik-desc-toggle{
  display:none;
  margin-top: 10px;
  border: 0;
  background: transparent;
  padding: 0;
  color: var(--vz-accent-dark);
  font-weight: 600;
  cursor: pointer;
  text-decoration: underline;
}

.vzorkovnik-group-video{
  min-width: 0;
}

.vzorkovnik-video{
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(0,0,0,.03);
  aspect-ratio: 1 / 1;
  box-shadow: 0 20px 40px rgba(12, 29, 25, 0.10);
}

.vzorkovnik-video__el{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display:block;
  object-fit: cover;
}

.vzorkovnik-video__play{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  background: rgba(0,0,0,.25);
  cursor:pointer;
}

.vzorkovnik-video__play-icon{
  width: 66px;
  height: 66px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: #111;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 26px;
  line-height: 1;
  box-shadow: 0 10px 22px rgba(0,0,0,.18);
}

.vzorkovnik-video.is-playing .vzorkovnik-video__play{ display:none; }

@media (max-width: 860px){
  .vzorkovnik-group-top{ grid-template-columns: 1fr; }

  /* Popis – zbalený na výšku (JS pridá .is-collapsed) */
  .vzorkovnik-group-desc.is-collapsed{
    max-height: 140px;
    overflow: hidden;
    position: relative;
  }
  .vzorkovnik-group-desc.is-collapsed::after{
    content:'';
    position:absolute;
    left:0; right:0; bottom:0;
    height: 46px;
    background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));
    pointer-events:none;
  }
  .vzorkovnik-group-desc.is-expanded{
    max-height: none;
  }
  .vzorkovnik-group-desc.is-expanded::after{ display:none; }

  .vzorkovnik-desc-toggle{ display: inline-flex; }
}

