/* TIPIDI redesign 2026 – výběr z tipidi-kosik.css pro: t-minicart, t-mline, t-added, t-freeship, t-mempty, t-qty--sm, t-remove, t-totals, t-line__brand, t-line__meta, t-toast.
   GENEROVANÝ SOUBOR: needitovat ručně, vytváří tools/redesign/extract-css.mjs (viz hlavička nástroje). */
:root { --t-err: #8a2c2c; --t-err-wash: #fbf2f2; --t-warn: #6e4500; --t-warn-wash: #fbf4e6; --t-ok-wash: #eef5f0; --t-line-img: 7.5rem; }
.t-freeship { display: grid; gap: 0.5rem; font-size: var(--t-fs-small); color: var(--t-fg); }
.t-freeship b { font-weight: var(--t-w-strong); color: var(--t-fg-strong); }
.t-freeship__bar { position: relative; height: 4px; border-radius: 2px; background: var(--t-line); overflow: hidden; }
.t-freeship__bar i { position: absolute; inset: 0 auto 0 0; width: var(--t-p, 0%); border-radius: 2px; background: var(--t-plum); transition: width var(--t-dur) var(--t-ease); }
.t-freeship.is-done .t-freeship__bar i { background: var(--t-ok); }
.t-freeship .t-icon { width: 1.125rem; height: 1.125rem; vertical-align: -0.2em; margin-right: 0.375rem; color: var(--t-plum); }
.t-freeship.is-done .t-icon { color: var(--t-ok); }
.t-line__brand { font-size: var(--t-fs-label); letter-spacing: 0.16em; text-transform: uppercase; color: var(--t-fg-muted); }
.t-line__meta { font-size: var(--t-fs-small); color: var(--t-fg-muted); }
.t-qty--sm { grid-template-columns: 2.75rem 2.25rem 2.75rem; height: 2.875rem; font-weight: var(--t-w-strong); }
.t-qty--sm button { color: var(--t-fg-strong); border-radius: var(--t-radius); }
.t-qty--sm button:hover { background: var(--t-plum-wash); }
.t-qty--sm button:disabled { color: var(--t-line-strong); cursor: default; background: none; }
.t-qty--sm input { width: 100%; height: 100%; border: 0; padding: 0; background: none; text-align: center; font: inherit; font-variant-numeric: tabular-nums; color: var(--t-fg-strong); -moz-appearance: textfield; }
.t-qty--sm input::-webkit-inner-spin-button { -webkit-appearance: none; }
.t-remove { display: inline-flex; align-items: center; gap: 0.375rem; min-height: var(--t-control-sm); padding: 0 0.5rem; border: 0; border-radius: var(--t-radius); background: none; font-size: var(--t-fs-small); color: var(--t-fg-muted); text-decoration: underline; text-decoration-color: var(--t-line-strong); text-underline-offset: 0.28em; }
.t-remove:hover { color: var(--t-err); text-decoration-color: currentColor; }
.t-remove .t-icon { width: 1rem; height: 1rem; }
.t-cartmain > .t-freeship { padding: 1rem 1.25rem; border-radius: var(--t-radius); background: var(--t-surface-quiet); }
.t-totals { display: grid; gap: 0.5rem; padding-top: 1rem; border-top: 1px solid var(--t-line); font-size: var(--t-fs-small); }
.t-totals > div { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.t-totals dt { color: var(--t-fg); }
.t-totals dt small { display: block; font-size: 0.8125rem; color: var(--t-fg-muted); }
.t-totals dd { font-weight: 500; color: var(--t-fg-strong); white-space: nowrap; font-variant-numeric: tabular-nums; text-align: right; }
.t-totals .is-discount dd { color: var(--t-ok); }
.t-totals .is-free dd { color: var(--t-ok); }
.t-totals .is-grand { margin-top: 0.5rem; padding-top: 0.875rem; border-top: 1px solid var(--t-line); }
.t-totals .is-grand dt { font-size: 1rem; font-weight: var(--t-w-strong); color: var(--t-fg-strong); }
.t-totals .is-grand dt small { font-weight: var(--t-w-body); }
.t-totals .is-grand dd { font-size: 1.5rem; font-weight: var(--t-w-strong); letter-spacing: -0.01em; }
.t-toast { position: fixed; z-index: 60; left: 50%; bottom: 1.5rem; display: flex; align-items: center; gap: 1rem; max-width: calc(100vw - 2rem); padding: 0.5rem 0.5rem 0.5rem 1.125rem; border-radius: var(--t-radius); background: var(--t-ink-text); color: var(--t-white); font-size: var(--t-fs-small); transform: translate(-50%, 1rem); opacity: 0; visibility: hidden; transition: opacity var(--t-dur) var(--t-ease), transform var(--t-dur) var(--t-ease), visibility 0s linear var(--t-dur); --t-focus: var(--t-white); }
.t-toast.is-on { opacity: 1; visibility: visible; transform: translate(-50%, 0); transition-delay: 0s; }
.t-toast button { min-height: var(--t-control-sm); padding: 0 0.875rem; border: 1px solid rgba(255, 255, 255, 0.5); border-radius: var(--t-radius); background: none; color: var(--t-white); font-weight: 500; }
.t-toast button:hover { border-color: var(--t-white); }
.t-minicart { width: min(28rem, 94vw); }
.t-minicart .t-drawer__body { display: grid; align-content: start; gap: 1rem; padding-top: 1rem; }
.t-minicart .t-drawer__foot { grid-template-columns: 1fr; gap: 0.625rem; padding-top: 1rem; }
.t-minicart .t-totals { padding-top: 0; border-top: 0; }
.t-minicart .t-totals .is-grand { margin-top: 0.25rem; }
.t-minicart .t-totals .is-grand dd { font-size: 1.25rem; }
.t-minicart__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }
.t-minicart__btns .t-btn--primary { grid-column: 1 / -1; }
.t-minicart__btns .t-linkbtn { justify-self: center; }
.t-added { display: flex; align-items: center; gap: 0.625rem; padding: 0.75rem 1rem; border-radius: var(--t-radius); background: var(--t-ok-wash); font-size: var(--t-fs-small); font-weight: 500; color: var(--t-fg-strong); }
.t-added .t-icon { width: 1.25rem; height: 1.25rem; color: var(--t-ok); }
.t-mline { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: 0.875rem; padding-block: 0.75rem; border-bottom: 1px solid var(--t-line); }
.t-mline:first-of-type { border-top: 1px solid var(--t-line); }
.t-mline__img { display: flex; align-items: flex-end; justify-content: center; height: 5.5rem; }
.t-mline__img img { height: 100%; width: auto; max-width: 70%; object-fit: contain; }
.t-mline__body { display: grid; gap: 0.125rem; min-width: 0; font-size: var(--t-fs-small); line-height: 1.35; }
.t-mline__body a { font-size: 0.9375rem; font-weight: var(--t-w-name); color: var(--t-fg-strong); text-decoration: none; }
.t-mline__body a:hover { color: var(--t-plum); text-decoration: underline; text-underline-offset: 0.2em; }
.t-mline__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem; margin-top: 0.375rem; }
.t-mline__row b { font-weight: var(--t-w-strong); white-space: nowrap; }
.t-mline.is-new { position: relative; }
.t-mline__new { justify-self: start; margin-bottom: 0.125rem; padding: 0.125rem 0.5rem; border-radius: var(--t-radius-sm); background: var(--t-plum); color: var(--t-white); font-size: 0.75rem; font-weight: 560; }
.t-mline .t-qty--sm { grid-template-columns: 2.75rem 1.75rem 2.75rem; }
.t-minicart__more { font-size: var(--t-fs-small); color: var(--t-fg-muted); }
.t-mempty { display: grid; justify-items: center; gap: 0.75rem; padding: 2.5rem 0.5rem 1rem; text-align: center; }
.t-mempty .t-icon { width: 2.5rem; height: 2.5rem; color: var(--t-plum); stroke-width: 1.2; }
.t-mempty h3 { font-size: var(--t-fs-h3); }
.t-mempty p { color: var(--t-fg-muted); font-size: var(--t-fs-small); max-width: 20rem; }
.t-mempty__links { display: grid; gap: 0.5rem; width: 100%; margin-top: 0.75rem; }
@media (max-width: 640px) {
  .t-remove span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .t-remove { width: var(--t-control-sm); justify-content: center; padding: 0; }
  .t-remove .t-icon { width: 1.25rem; height: 1.25rem; }
  .t-cartmain > .t-freeship { margin-inline: calc(var(--t-gutter) * -1); border-radius: 0; padding-inline: var(--t-gutter); }
  .t-minicart__btns { grid-template-columns: 1fr; }
  .t-toast { bottom: calc(5.75rem + env(safe-area-inset-bottom)); }
}
.t-totals > div[hidden] { display: none; }
.t-orderbox .t-btn, .t-co__next .t-btn, .t-status__acts .t-btn, .t-minicart__btns .t-btn { white-space: normal; text-align: center; line-height: 1.3; padding-block: 0.625rem; }
@media (max-width: 640px) {
  .t-minicart { width: 100%; }
}
