/* hederne-dřevo — pages de contenu (doprava, platba, FAQ, rady, oblíbené, stav objednávky, doklad, odhlášení, 404,
 * odstoupení, reklamace). Complète h-site.css. Sans gap sur flex, sans aspect-ratio / clamp / inset. */

/* ---------------------------------------------------------------- en-tête de page (titres plus sobres que la vitrine) */
.h-pg-head h1 { font-size: 36px; }
.h-pg-head .h-lead { margin-top: 14px; }
.h-pg-head--center { text-align: center; }
.h-pg-head--center .h-lead { margin-left: auto; margin-right: auto; }
.h-pg-404 { font: 800 96px/0.9 var(--mono); letter-spacing: -.06em; }
.h-pg-body { padding-top: 24px; }
.h-pg-body > * + * { margin-top: 24px; }
.h-pg-body h2 { font-size: 24px; }

/* ---------------------------------------------------------------- cartes d'information (doprava) */
.h-pg-cards { display: grid; grid-template-columns: minmax(0, 1fr); grid-gap: 0; gap: 0; border: 2px solid var(--ink); }
.h-pg-cards > div { padding: 16px; border-top: 2px solid var(--ink); }
.h-pg-cards > div:first-child { border-top: 0; }
.h-pg-cards b { display: block; font-weight: 800; font-size: 17px; margin-bottom: 6px; }
.h-pg-cards .h-pg-no { display: block; font: 700 12px var(--mono); letter-spacing: .1em; margin-bottom: 8px; }
.h-pg-cards > div:last-child { background: var(--hi); }
.h-table .h-pg-price { text-align: right; font-family: var(--mono); white-space: nowrap; }
.h-table s { font-weight: 500; }

/* ---------------------------------------------------------------- étapes numérotées (platba) */
.h-pg-steps { list-style: none; counter-reset: hstep; border-top: 2px solid var(--ink); padding-left: 0 !important; }
.h-pg-steps li { counter-increment: hstep; position: relative; padding: 16px 0 16px 58px; border-bottom: 1px solid var(--ink); min-height: 72px; }
.h-pg-steps li + li { margin-top: 0; }
.h-pg-steps li::before { content: '0' counter(hstep); position: absolute; left: 0; top: 16px; width: 42px; height: 42px; line-height: 38px; text-align: center; border: 2px solid var(--ink); background: var(--hi); font: 800 16px/38px var(--mono); }
.h-pg-steps b { display: block; font-size: 17px; }
.h-pg-steps span { display: block; color: var(--mute); font-size: 15px; margin-top: 4px; }

/* ---------------------------------------------------------------- liste d'articles (rady) */
.h-pg-articles { list-style: none; border-top: 2px solid var(--ink); }
.h-pg-articles a { display: block; text-decoration: none; padding: 18px 0; border-bottom: 2px solid var(--ink); }
.h-pg-articles a:hover b { background: var(--hi); }
.h-pg-articles b { display: inline; font: 800 21px/1.2 var(--sans); letter-spacing: -.02em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.h-pg-articles .h-pg-excerpt { display: block; color: #2B2B2B; font-size: 15px; margin-top: 8px; max-width: 70ch; }
.h-pg-articles .h-pg-date { display: block; font: 600 12px var(--mono); color: var(--mute); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 6px; }
.h-pg-chips a { display: inline-block; margin: 0 6px 8px 0; padding: 8px 12px; border: 2px solid var(--ink); font: 700 13px var(--mono); text-transform: uppercase; letter-spacing: .03em; text-decoration: none; background: #fff; }
.h-pg-chips a:hover { background: var(--hi); }
.h-pg-cta .h-btn { margin-top: 14px; }

/* ---------------------------------------------------------------- grille produits (oblíbené) */
.h-pg-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-gap: 20px 12px; gap: 20px 12px; }
.h-pg-remove { margin-top: 8px; font-size: 14px; color: var(--err); }

/* ---------------------------------------------------------------- suivi de commande */
.h-pg-progress { list-style: none; display: grid; grid-template-columns: minmax(0, 1fr); grid-gap: 0; gap: 0; counter-reset: hps; border: 2px solid var(--ink); margin: 18px 0; }
.h-pg-progress li { counter-increment: hps; padding: 10px 12px; font: 700 13px var(--mono); text-transform: uppercase; letter-spacing: .03em; color: var(--mute); border-top: 1px solid var(--ink); }
.h-pg-progress li:first-child { border-top: 0; }
.h-pg-progress li::before { content: counter(hps) ' / '; }
.h-pg-progress .is-done { color: var(--ink); background: var(--gray); }
.h-pg-progress .is-done::after { content: ' ✓'; }
.h-pg-progress .is-current { color: var(--ink); background: var(--hi); }

/* ---------------------------------------------------------------- envoi de fichier, confirmation */
.h-pg-upload { display: block; border: 2px dashed var(--ink); background: var(--gray); padding: 16px; cursor: pointer; }
.h-pg-upload b { font-family: var(--mono); text-transform: uppercase; font-size: 14px; letter-spacing: .04em; }
.h-pg-upload input[type=file] { display: block; width: 100%; max-width: 100%; font-size: 15px; margin-top: 10px; }
.h-pg-done { display: grid; grid-template-columns: 44px minmax(0, 1fr); grid-gap: 14px; gap: 14px; align-items: start; }
.h-pg-done__icon { width: 44px; height: 44px; line-height: 40px; text-align: center; border: 2px solid var(--ink); background: var(--hi); font: 800 22px/40px var(--mono); }
.h-pg-done h1 { font-size: 32px; }
.h-pg-done .h-lead { margin-top: 10px; }
.h-pg-box h1 { font-size: 32px; }
.h-pg-box .h-lead { margin-top: 12px; }
.h-pg-box form { margin-top: 0; }

/* ---------------------------------------------------------------- ≥ 600 px */
@media (min-width: 600px) {
  .h-pg-head h1 { font-size: 52px; }
  .h-pg-404 { font-size: 160px; }
  .h-pg-progress { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .h-pg-progress li { border-top: 0; border-left: 1px solid var(--ink); }
  .h-pg-progress li:first-child { border-left: 0; }
  .h-pg-done h1, .h-pg-box h1 { font-size: 40px; }
}

/* ---------------------------------------------------------------- ≥ 900 px */
@media (min-width: 900px) {
  .h-pg-head h1 { font-size: 68px; }
  .h-pg-body { padding-top: 36px; }
  .h-pg-body > * + * { margin-top: 32px; }
  .h-pg-body h2 { font-size: 30px; }
  .h-pg-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .h-pg-cards > div { border-top: 0; border-left: 2px solid var(--ink); padding: 20px; }
  .h-pg-cards > div:first-child { border-left: 0; }
  .h-pg-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-gap: 28px 20px; gap: 28px 20px; }
  .h-pg-articles b { font-size: 26px; }
}
@media (min-width: 1200px) {
  .h-pg-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media print {
  .h-pg-upload { display: none !important; }
}

/* case à cocher dans un .h-field (odstoupení) : neutralise le style « libellé mono » de .h-field label */
.h-field label.h-check { display: grid; font: 600 16px/1.45 var(--sans); text-transform: none; letter-spacing: 0; margin-bottom: 0; }
