/* zoguveikals.lv — shop-only styles on top of zf-public-components.css + site.css (chat F). Prefix zv-. */
.zfp-alert--warning { color: var(--zf-text-primary); border-color: color-mix(in srgb, var(--zf-accent-2) 50%, transparent); background: var(--zf-accent-2-wash); }
.zfp-lead { font-size: var(--zfp-fs-lead); line-height: var(--zfp-lh-lead); color: var(--zf-text-secondary); max-width: 68ch; }

/* top bar: search + cart */
.zv-search { display: flex; align-items: stretch; gap: var(--zf-space-2); }
.zv-search input { min-width: 0; flex: 1 1 auto; height: 40px; padding: 0 var(--zf-space-3); border: 1px solid var(--zf-border-default); border-radius: var(--zf-radius-md); background: var(--zf-bg-inset); color: var(--zf-text-primary); font: inherit; font-size: var(--zf-fs-14); }
.zv-search button { flex: none; width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--zf-border-default); border-radius: var(--zf-radius-md); background: var(--zf-bg-surface); color: var(--zf-text-primary); cursor: pointer; }
.zv-search svg { width: 18px; height: 18px; }
.zv-search--top { display: none; }
@media (min-width: 1280px) { .zv-search--top { display: flex; width: 220px; } }
.zfp-drawer .zv-search { padding: var(--zf-space-4) var(--zfp-gutter) 0; }
.zv-search--page { max-width: 640px; }
.zv-search--page input { height: 48px; }
.zv-search--page .zfp-btn { flex: none; }
.zv-cartbtn { position: relative; display: inline-flex; align-items: center; gap: var(--zf-space-2); min-height: 44px; padding: 0 var(--zf-space-3);
  border-radius: var(--zf-radius-md); color: var(--zf-text-primary); text-decoration: none; border: 1px solid var(--zf-border-default); }
.zv-cartbtn:hover { background: var(--zf-bg-surface-hover); }
.zv-cartbtn svg { width: 20px; height: 20px; }
.zv-cartbtn__label { font-size: var(--zf-fs-14); }
/* phones: the word stays for screen readers (the link's name), the icon carries it visually */
@media (max-width: 767px) { .zv-cartbtn__label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; } }
.zv-cartbtn__n { min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; display: inline-grid; place-items: center;
  background: var(--zf-accent-2); color: #14100a; font-size: var(--zf-fs-12); font-weight: var(--zf-fw-semibold); }

/* home */
.zv-hero { padding-block: clamp(40px, 8vw, 96px); background: radial-gradient(120% 120% at 100% 0%, var(--zf-accent-wash) 0%, transparent 55%); }
.zv-hero__title { font-size: var(--zfp-fs-h1); line-height: var(--zfp-lh-h1); max-width: 20ch; }
.zv-hero__lead { margin-top: var(--zf-space-4); }
.zv-steps { display: grid; gap: var(--zfp-grid-gap); }
@media (min-width: 768px) { .zv-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.zf-step { padding: var(--zf-space-6); background: var(--zf-bg-surface); border: 1px solid var(--zf-border-subtle); border-radius: var(--zf-radius-lg); }
.zf-step h3 { margin-top: var(--zf-space-3); }
.zf-step p { margin-top: var(--zf-space-2); color: var(--zf-text-secondary); }
.zv-steps__n { width: 36px; height: 36px; border-radius: 18px; display: grid; place-items: center; background: var(--zf-accent-wash); color: var(--zf-accent-on-wash); font-weight: var(--zf-fw-semibold); }

/* tiles + product grid */
.zv-tiles, .zv-grid { display: grid; gap: var(--zfp-grid-gap); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 768px) { .zv-tiles, .zv-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .zv-tiles, .zv-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.zv-tile .zfp-card__media { aspect-ratio: 4 / 3; }
.zv-card .zfp-card__title { font-size: var(--zf-fs-14); line-height: var(--zf-lh-14); overflow-wrap: anywhere; }
@media (min-width: 768px) { .zv-card .zfp-card__title { font-size: var(--zf-fs-16); line-height: var(--zf-lh-16, 1.45); } }
.zv-card .zfp-price__value { font-size: var(--zf-fs-20); }
.zv-noimg { display: grid; place-items: center; gap: var(--zf-space-2); width: 100%; height: 100%; background: var(--zf-bg-inset); color: var(--zf-text-muted); font-size: var(--zf-fs-13); }
.zv-noimg img { width: 56px; height: 56px; object-fit: contain; opacity: .45; }
.zfp-gallery__main.zv-noimg img { width: 120px; height: 120px; }

/* category */
.zv-crumbs ol { flex-wrap: wrap; }
.zv-subcats ul { display: flex; flex-wrap: wrap; gap: var(--zf-space-2); }
.zv-subcats .zfp-chip { text-decoration: none; }
.zv-subcats__n { color: var(--zf-text-muted); font-size: var(--zf-fs-12); }
.zv-sort { display: flex; flex-wrap: wrap; align-items: center; gap: var(--zf-space-3); }
.zv-sort .zfp-select { width: auto; min-width: 0; max-width: 100%; }

/* product */
.zfp-gallery__thumb { display: block; }
.zv-desc { max-width: 80ch; }

/* cart */
.zv-cart, .zv-checkout { display: grid; gap: var(--zf-space-8); }
@media (min-width: 1024px) { .zv-cart, .zv-checkout { grid-template-columns: minmax(0, 1fr) 360px; align-items: start; } }
.zv-lines { display: grid; gap: var(--zf-space-3); }
.zv-line { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; grid-template-areas: "img main rm" "qty qty sum"; gap: var(--zf-space-3);
  align-items: center; padding: var(--zf-space-4); background: var(--zf-bg-surface); border: 1px solid var(--zf-border-subtle); border-radius: var(--zf-radius-lg); }
@media (min-width: 768px) { .zv-line { grid-template-columns: 80px minmax(0, 1fr) auto auto auto; grid-template-areas: "img main qty sum rm"; } }
.zv-line__img { grid-area: img; width: 64px; height: 64px; border-radius: var(--zf-radius-md); overflow: hidden; background: var(--zf-bg-inset); }
@media (min-width: 768px) { .zv-line__img { width: 80px; height: 80px; } }
.zv-line__img img { width: 100%; height: 100%; object-fit: cover; }
.zv-line__main { grid-area: main; min-width: 0; }
.zv-line__title { color: var(--zf-text-primary); font-weight: var(--zf-fw-medium); overflow-wrap: anywhere; }
.zv-line__unit { margin-top: var(--zf-space-1); font-size: var(--zf-fs-13); color: var(--zf-text-muted); }
.zv-line__qty { grid-area: qty; display: flex; flex-wrap: wrap; gap: var(--zf-space-2); align-items: center; }
.zv-line__sum { grid-area: sum; justify-self: end; font-weight: var(--zf-fw-semibold); font-variant-numeric: tabular-nums; white-space: nowrap; }
.zv-line__rm { grid-area: rm; justify-self: end; }
.zv-iconbtn { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--zf-border-default); border-radius: var(--zf-radius-md); background: transparent; color: var(--zf-text-secondary); cursor: pointer; }
.zv-iconbtn:hover { color: var(--zf-text-primary); background: var(--zf-bg-surface-hover); }
.zv-iconbtn svg { width: 18px; height: 18px; }
.zv-summary { padding: var(--zf-space-6); background: var(--zf-bg-surface); border: 1px solid var(--zf-border-subtle); border-radius: var(--zf-radius-lg); }
@media (min-width: 1024px) { .zv-summary { position: sticky; top: calc(var(--zfp-topbar-h) + var(--zf-space-4)); } }
.zv-totals { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--zf-space-2) var(--zf-space-4); margin: 0; font-variant-numeric: tabular-nums; }
.zv-totals dt { color: var(--zf-text-secondary); }
.zv-totals dd { margin: 0; text-align: right; white-space: nowrap; }
.zv-totals__grand { font-size: var(--zf-fs-20); font-weight: var(--zf-fw-semibold); color: var(--zf-text-primary) !important; padding-top: var(--zf-space-2); border-top: 1px solid var(--zf-border-subtle); }
.zv-summary .zfp-hint { margin-top: var(--zf-space-3); }
.zv-mini { display: grid; gap: var(--zf-space-2); margin: var(--zf-space-4) 0; font-size: var(--zf-fs-14); }
.zv-mini li { display: flex; justify-content: space-between; gap: var(--zf-space-3); }
.zv-mini li span:first-child { min-width: 0; overflow-wrap: anywhere; color: var(--zf-text-secondary); }
.zv-mini li span:last-child { white-space: nowrap; }

/* order form */
.zv-orderform { display: grid; gap: var(--zf-space-6); max-width: 640px; }
.zv-fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: var(--zf-space-4); min-width: 0; }
.zv-fieldset legend { margin-bottom: var(--zf-space-2); padding: 0; }
.zv-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
