/* ==========================================================================
   VENIRA — produktový popis
   Sada bloků: úvod, split (foto + text), karta, mřížka dlaždic,
   tlačítko, kontaktní dlaždice, drobný text.
   Bloky jsou samostatné, lze je řadit v libovolném pořadí.
   ========================================================================== */

/* Globální design tokeny */
:root {
  --seop-venira-color-surface-soft: #F6F6F7;
  --seop-venira-color-surface-accent: #F5E2B9;
  --seop-venira-color-surface-card: #FFFFFF;
  --seop-venira-color-surface-image: #EAEAEA;
  --seop-venira-color-text-strong: #000000;
  --seop-venira-color-text-body: inherit;
  --seop-venira-color-text-muted: #6B6B68;
  --seop-venira-color-text-accent: #C6A56B;
  --seop-venira-color-cta: #000000;
  --seop-venira-color-cta-hover: #C6A56B;
  --seop-venira-color-cta-text: #FFFFFF;
  --seop-venira-radius-lg: 16px;
  --seop-venira-radius-md: 14px;
  --seop-venira-radius-sm: 4px;
  --seop-venira-radius-pill: 999px;
  --seop-venira-space-xs: 8px;
  --seop-venira-space-sm: 12px;
  --seop-venira-space-md: 18px;
  --seop-venira-space-lg: 28px;
  --seop-venira-space-xl: 30px;
  --seop-venira-space-2xl: 44px;
  --seop-venira-fs-eyebrow: 0.72em;
  --seop-venira-fs-title: 1.3em;
  --seop-venira-fs-lead: 1em;
  --seop-venira-fs-text: 0.95em;
  --seop-venira-fs-small: 0.88em;
  --seop-venira-lh-text: 1.75;
  --seop-venira-transition: 200ms ease;
}

/* Obal celého popisu: řídí svislý rytmus mezi bloky */
.seop-venira-pd {
  display: flex;
  flex-direction: column;
  gap: var(--_block-gap);
  width: 100%;
  font-family: inherit;
  font-size: inherit;
  color: var(--seop-venira-color-text-body);

  --_block-gap: var(--seop-venira-space-2xl);
}

.seop-venira-pd * {
  box-sizing: border-box;
}

/* --------------------------------------------------------------------------
   Sdílená typografie (používá se uvnitř všech bloků)
   -------------------------------------------------------------------------- */

.seop-venira-pd .seop-venira-title,
.type-post .seop-venira-pd .seop-venira-title,
.type-category .seop-venira-pd .seop-venira-title,
.type-page .seop-venira-pd .seop-venira-title,
.type-product .seop-venira-pd .seop-venira-title {
  display: block;
  padding: 0;
  margin: 0 0 var(--seop-venira-space-sm);
  background: none;
  font-family: inherit;
  font-size: var(--seop-venira-fs-title);
  font-weight: 700;
  line-height: 1.35;
  color: var(--seop-venira-color-text-strong);
}

.seop-venira-pd .seop-venira-text,
.type-post .seop-venira-pd .seop-venira-text,
.type-category .seop-venira-pd .seop-venira-text,
.type-page .seop-venira-pd .seop-venira-text,
.type-product .seop-venira-pd .seop-venira-text {
  display: block;
  padding: 0;
  margin: 0 0 var(--seop-venira-space-sm);
  font-family: inherit;
  font-size: var(--seop-venira-fs-text);
  line-height: var(--seop-venira-lh-text);
  color: var(--seop-venira-color-text-body);
}

.seop-venira-pd .seop-venira-text:last-child {
  margin-bottom: 0;
}

/* Perex pod hlavním nadpisem */
.seop-venira-pd .seop-venira-text--lead {
  font-size: var(--seop-venira-fs-lead);
}

/* Malý zlatý nadpis uvnitř bloku (Ranní rutina apod.) */
.seop-venira-pd .seop-venira-eyebrow {
  display: block;
  padding: 0;
  margin: 0 0 var(--seop-venira-space-xs);
  background: none;
  font-family: inherit;
  font-size: var(--seop-venira-fs-eyebrow);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.4;
  color: var(--seop-venira-color-text-accent);
}

/* Štítek nad hlavním nadpisem */
.seop-venira-pd .seop-venira-badge {
  display: inline-block;
  padding: 5px 13px;
  margin: 0 0 var(--seop-venira-space-sm);
  border-radius: var(--seop-venira-radius-pill);
  background: var(--seop-venira-color-surface-accent);
  font-size: var(--seop-venira-fs-eyebrow);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.4;
  color: var(--seop-venira-color-text-strong);
}

/* Zvýraznění názvu složky, drží se řádku i při zalomení */
.seop-venira-pd .seop-venira-mark {
  display: inline;
  padding: 1px 5px;
  border-radius: var(--seop-venira-radius-sm);
  background: var(--seop-venira-color-surface-accent);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  font-size: inherit;
  font-weight: 700;
  line-height: inherit;
  color: var(--seop-venira-color-text-strong);
}

/* Zlatý akcent pro čísla a klíčové fráze */
.seop-venira-pd .seop-venira-accent {
  display: inline;
  font-size: inherit;
  font-weight: 700;
  line-height: inherit;
  color: var(--seop-venira-color-text-accent);
}

/* Tučný text jako běžné slovo ve větě */
.seop-venira-pd strong,
.seop-venira-pd b {
  display: inline;
  font-size: inherit;
  font-weight: 700;
  line-height: inherit;
  color: var(--seop-venira-color-text-strong);
}

/* Odkaz uvnitř textu */
.seop-venira-pd .seop-venira-link,
.type-post .seop-venira-pd .seop-venira-link,
.type-category .seop-venira-pd .seop-venira-link,
.type-page .seop-venira-pd .seop-venira-link,
.type-product .seop-venira-pd .seop-venira-link {
  display: inline;
  transition: color var(--seop-venira-transition);
  font-size: inherit;
  font-weight: 700;
  text-decoration: underline;
  color: var(--seop-venira-color-text-strong);
}

.seop-venira-pd .seop-venira-link:hover,
.seop-venira-pd .seop-venira-link:focus {
  color: var(--seop-venira-color-text-accent);
}

/* --------------------------------------------------------------------------
   Blok: úvod
   -------------------------------------------------------------------------- */

.seop-venira-intro {
  display: block;
  max-width: var(--_intro-width);
  margin: 0 auto;
  text-align: center;

  --_intro-width: 720px;
}

/* Varianta: úvod zarovnaný doleva přes celou šířku */
.seop-venira-intro--start {
  --_intro-width: none;
  margin: 0;
  text-align: left;
}

.seop-venira-intro .seop-venira-title {
  --seop-venira-fs-title: 1.55em;
}

/* --------------------------------------------------------------------------
   Blok: split (foto + text vedle sebe)
   -------------------------------------------------------------------------- */

.seop-venira-split {
  display: flex;
  flex-direction: var(--_dir);
  align-items: center;
  gap: var(--_gap);

  --_dir: row;
  --_gap: var(--seop-venira-space-lg);
  --_media-size: 45%;
  --_media-ratio: 4 / 5;
  --_media-fit: cover;
}

/* Varianta: foto vpravo */
.seop-venira-split--reverse {
  --_dir: row-reverse;
}

/* Varianta: menší foto pro dlouhý text */
.seop-venira-split--narrow {
  --_media-size: 34%;
  align-items: flex-start;
}

/* Varianta: foto na šířku */
.seop-venira-split--wide {
  --_media-ratio: 3 / 2;
}

/* Varianta: foto bez ořezu */
.seop-venira-split--contain {
  --_media-fit: contain;
}

.seop-venira-split__media {
  flex: 0 0 var(--_media-size);
  width: var(--_media-size);
  max-width: var(--_media-size);
  padding: 0;
  margin: 0;
  overflow: hidden;
  border-radius: var(--seop-venira-radius-lg);
  background: var(--seop-venira-color-surface-image);
}

.seop-venira-split__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: var(--_media-ratio);
  object-fit: var(--_media-fit);
  object-position: center;
  border-radius: var(--seop-venira-radius-lg);
}

.seop-venira-split__body {
  flex: 1 1 auto;
  min-width: 0;
}

/* --------------------------------------------------------------------------
   Blok: karta s podkladem (bez fotky)
   -------------------------------------------------------------------------- */

.seop-venira-card {
  display: block;
  padding: var(--seop-venira-space-xl);
  border-radius: var(--seop-venira-radius-lg);
  background: var(--_surface);

  --_surface: var(--seop-venira-color-surface-soft);
  --_tile-surface: var(--seop-venira-color-surface-card);
}

/* Varianta: béžová karta */
.seop-venira-card--accent {
  --_surface: var(--seop-venira-color-surface-accent);
}

/* --------------------------------------------------------------------------
   Blok: mřížka dlaždic (výčty, rutiny, kontakty)
   -------------------------------------------------------------------------- */

.seop-venira-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--_item-size), 1fr));
  gap: var(--seop-venira-space-sm);
  margin: var(--seop-venira-space-md) 0 0;

  --_item-size: 230px;
  --_tile-surface: var(--seop-venira-color-surface-soft);
}

/* Varianta: širší dlaždice */
.seop-venira-grid--wide {
  --_item-size: 300px;
}

/* Varianta: jeden sloupec */
.seop-venira-grid--stack {
  --_item-size: 100%;
}

/* Mřížka vložená do karty má bílé dlaždice */
.seop-venira-card .seop-venira-grid {
  --_tile-surface: var(--seop-venira-color-surface-card);
}

.seop-venira-grid__tile {
  display: block;
  padding: var(--seop-venira-space-md);
  border-radius: var(--seop-venira-radius-md);
  background: var(--_tile-surface);
  font-size: var(--seop-venira-fs-small);
  line-height: 1.65;
  color: var(--seop-venira-color-text-body);
}

.seop-venira-grid__tile .seop-venira-text {
  font-size: inherit;
  line-height: inherit;
}

/* Klikací dlaždice (telefon, e-mail) */
a.seop-venira-grid__tile,
.type-post a.seop-venira-grid__tile,
.type-category a.seop-venira-grid__tile,
.type-page a.seop-venira-grid__tile,
.type-product a.seop-venira-grid__tile {
  transition: background var(--seop-venira-transition);
  text-decoration: none;
  color: var(--seop-venira-color-text-body);
}

a.seop-venira-grid__tile:hover,
a.seop-venira-grid__tile:focus {
  background: var(--seop-venira-color-surface-accent);
}

.seop-venira-grid__tile strong {
  display: block;
  margin: 0 0 4px;
  font-size: 1.05em;
}

/* --------------------------------------------------------------------------
   Blok: tlačítko
   -------------------------------------------------------------------------- */

.seop-venira-pd .seop-venira-btn,
.type-post .seop-venira-pd .seop-venira-btn,
.type-category .seop-venira-pd .seop-venira-btn,
.type-page .seop-venira-pd .seop-venira-btn,
.type-product .seop-venira-pd .seop-venira-btn {
  display: inline-block;
  min-height: 44px;
  padding: 13px 24px;
  margin: var(--seop-venira-space-md) 0 0;
  transition: background var(--seop-venira-transition), color var(--seop-venira-transition);
  border-radius: 10px;
  background: var(--seop-venira-color-cta);
  font-size: var(--seop-venira-fs-small);
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  color: var(--seop-venira-color-cta-text);
}

.seop-venira-pd .seop-venira-btn:hover,
.seop-venira-pd .seop-venira-btn:focus {
  background: var(--seop-venira-color-cta-hover);
  color: var(--seop-venira-color-text-strong);
}

/* --------------------------------------------------------------------------
   Blok: drobný text (upozornění, skladování)
   -------------------------------------------------------------------------- */

.seop-venira-note {
  display: block;
  padding: 0;
  margin: 0;
  font-size: var(--seop-venira-fs-small);
  line-height: 1.8;
  color: var(--seop-venira-color-text-muted);
}

.seop-venira-note strong {
  color: var(--seop-venira-color-text-strong);
}

/* --------------------------------------------------------------------------
   Responzivita
   -------------------------------------------------------------------------- */

@media (max-width: 767px) {
  .seop-venira-pd {
    --_block-gap: var(--seop-venira-space-lg);
    --seop-venira-space-xl: 20px;
  }

  .seop-venira-split {
    --_dir: column;
    --_gap: var(--seop-venira-space-md);
    --_media-size: 100%;
    align-items: stretch;
  }

  .seop-venira-split--reverse,
  .seop-venira-split--narrow {
    --_dir: column;
    --_media-size: 100%;
    align-items: stretch;
  }

  .seop-venira-grid {
    --_item-size: 100%;
  }

  .seop-venira-intro .seop-venira-title {
    --seop-venira-fs-title: 1.3em;
  }

  .seop-venira-pd .seop-venira-title {
    --seop-venira-fs-title: 1.15em;
  }

  .seop-venira-pd .seop-venira-btn {
    display: block;
    text-align: center;
  }
}

@media (min-width: 768px) {
  .seop-venira-split {
    --_gap: var(--seop-venira-space-lg);
  }
}

@media (min-width: 992px) {
  .seop-venira-grid {
    --_item-size: 240px;
  }
}

@media (min-width: 1200px) {
  .seop-venira-pd {
    --_block-gap: var(--seop-venira-space-2xl);
  }

  .seop-venira-split {
    --_gap: var(--seop-venira-space-xl);
  }
}