/* ==========================================================================
   Nachozeno – dárkové poukazy (karty hodnot)
   --------------------------------------------------------------------------
   Jeden blok pro titulní stránku, obchod, Zážitkový dárek, Vánoce i
   produktovku poukazu. Vypisuje ho nz_lp_render_vouchers()
   (inc/nz-lp-helpers.php).

   Soubor je soběstačný – barvy si definuje sám, protože stránky, kde se
   blok objevuje, mají každá jiné tokeny (.nz-lp, .nz-ak, .nz-pd).
   ========================================================================== */

.nz-vc {
  --vc-yellow: #FFC510;
  --vc-yellow-soft: #FFF6D6;
  --vc-green: #116F36;
  --vc-green-soft: #E8F3EC;
  --vc-ink: #1A1A1A;
  --vc-soft: #55524C;
  --vc-line: #E7E2D8;
  --vc-white: #FFFFFF;
  --vc-radius: 18px;

  color: var(--vc-ink);
  scroll-margin-top: 90px;
}
.nz-vc *, .nz-vc *::before, .nz-vc *::after { box-sizing: border-box; }

/* --- Nadpis ------------------------------------------------------------- */
.nz-vc__head { max-width: 680px; margin: 0 auto clamp(20px, 3vw, 32px); text-align: center; }
.nz-vc__eyebrow {
  display: inline-block;
  margin: 0 0 10px;
  padding: 5px 12px;
  border-radius: 999px;
  background: var(--vc-green-soft);
  color: var(--vc-green);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
}
.nz-vc__title { margin: 0 0 8px; font-size: clamp(24px, 3.4vw, 34px); font-weight: 700; line-height: 1.15; letter-spacing: -.02em; }
.nz-vc__lead { margin: 0; font-size: 16.5px; line-height: 1.6; color: var(--vc-soft); }

/* --- Karty -------------------------------------------------------------- */
.nz-vc__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: clamp(10px, 2vw, 18px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 860px) {
  .nz-vc__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.nz-vc__card { margin: 0; }
.nz-vc__link {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  background: var(--vc-white);
  border: 1.5px solid var(--vc-line);
  border-radius: var(--vc-radius);
  color: inherit;
  text-decoration: none;
  transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.nz-vc__link:hover,
.nz-vc__link:focus-visible {
  border-color: var(--vc-yellow);
  transform: translateY(-2px);
  box-shadow: 0 2px 4px rgba(26,26,26,.06), 0 16px 40px rgba(26,26,26,.1);
}
.nz-vc__link:focus-visible { outline: 3px solid var(--vc-ink); outline-offset: 2px; }

/* Produktová fotka poukazu. Obrázky mají průhledné pozadí, takže krémový podklad. */
.nz-vc__media {
  display: block;
  aspect-ratio: 1 / 1;
  background: #F6F1E6;
  overflow: hidden;
}
.nz-lp .nz-vc__img,
.nz-vc__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform .25s ease;
}
.nz-vc__link:hover .nz-vc__img { transform: scale(1.04); }

/* Náhradní hlavička bez fotky: žlutý pruh s hodnotou a perforací jako vstupenka. */
.nz-vc__ticket {
  display: block;
  padding: clamp(16px, 2.4vw, 22px) clamp(16px, 2.4vw, 22px) 14px;
  background: var(--vc-yellow);
  border-bottom: 2px dashed rgba(26,26,26,.28);
}
.nz-vc__kicker { display: block; font-size: 12.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; opacity: .75; }
.nz-vc__value { display: block; font-size: clamp(26px, 3.6vw, 34px); font-weight: 700; line-height: 1.1; letter-spacing: -.02em; white-space: nowrap; }

.nz-vc__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 14px clamp(14px, 2.2vw, 20px) clamp(16px, 2.4vw, 20px);
}
.nz-vc__body .nz-vc__value { margin: 0 0 6px; font-size: clamp(22px, 2.8vw, 28px); }

.nz-vc__name { display: block; margin: 0 0 4px; font-size: 17px; font-weight: 700; line-height: 1.25; }
.nz-vc__note { display: block; margin: 0 0 14px; font-size: 14.5px; line-height: 1.45; color: var(--vc-soft); }
.nz-vc__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  font-size: 15px;
  font-weight: 700;
  color: var(--vc-green);
}
.nz-vc__cta svg { width: 16px; height: 16px; transition: transform .15s ease; }
.nz-vc__link:hover .nz-vc__cta svg { transform: translateX(3px); }

/* --- Ujištění pod kartami ------------------------------------------------ */
.nz-vc__trust {
  margin: clamp(16px, 2.4vw, 22px) 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 22px;
  font-size: 14.5px;
  color: var(--vc-soft);
}
.nz-vc__trust li { display: flex; align-items: center; gap: 7px; }
.nz-vc__trust li::before {
  content: "";
  flex: none;
  width: 16px; height: 16px;
  background: var(--vc-green);
  -webkit-mask: no-repeat center / 16px 16px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
          mask: no-repeat center / 16px 16px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}

/* --- Přepínač hodnot na produktovce poukazu ------------------------------
   Malé dlaždice nad cenou. Zobrazený poukaz je vybraný (žlutý), ostatní
   vedou na svůj produkt. */
.nz-vc--switch { margin: 0 0 16px; }
.nz-vc--switch .nz-vc__label { display: block; margin: 0 0 8px; font-size: 14px; font-weight: 700; }
.nz-vc--switch .nz-vc__list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.nz-vc--switch .nz-vc__link {
  overflow: visible;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 8px 6px;
  border-radius: 12px;
  text-align: center;
}
.nz-vc--switch .nz-vc__link:hover,
.nz-vc--switch .nz-vc__link:focus-visible { transform: none; box-shadow: none; }
.nz-vc--switch .nz-vc__value { font-size: 16px; }
.nz-vc--switch .nz-vc__name { margin: 0; font-size: 12.5px; font-weight: 500; color: var(--vc-soft); }
.nz-vc--switch .nz-vc__link[aria-current="page"] {
  background: var(--vc-yellow-soft);
  border-color: var(--vc-yellow);
  box-shadow: inset 0 0 0 1px var(--vc-yellow);
}
@media (max-width: 380px) {
  .nz-vc--switch .nz-vc__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
