/* hederne-dřevo — Rychlá objednávka (objednávkový list). Complète h-site.css.
 * < 760 px : chaque ligne du tableau devient un bloc empilé (lisible à 320 px, sans défilement horizontal).
 * ≥ 760 px : tableau technique classique. Pas de gap sur flex. */

.q-links { margin-top: 14px; }
.q-links a { display: inline-block; margin: 6px 18px 0 0; }

.q-cat + .q-cat { margin-top: 36px; }
.q-cat__title { font-size: 24px; padding: 10px 0; border-bottom: 2px solid var(--ink); margin-bottom: 0; }

.q-table { border: 0; table-layout: auto; }
.q-ref { display: block; font: 600 11px/1.4 var(--mono); color: var(--mute); text-transform: uppercase; letter-spacing: .04em; margin-top: 3px; }
.q-name a { font-weight: 700; text-decoration: none; }
.q-name a:hover { text-decoration: underline; text-decoration-thickness: 2px; }
.q-net { color: var(--mute); font-size: 13px; }
.q-price b { font-weight: 800; }
.q-input { width: 96px; text-align: right; font-family: var(--mono); padding: 8px 10px; }
.q-input[disabled] { background: var(--gray); border-color: var(--gray-2); color: var(--mute); cursor: not-allowed; }
.q-table tr.is-picked td { background: var(--hi-2); }

/* ---- mobile : lignes empilées */
@media (max-width: 759px) {
  .q-table, .q-table tbody, .q-table tr, .q-table td, .q-table th.q-name { display: block; width: 100%; }
  .q-table thead { display: none; } /* chaque cellule porte son libellé (data-label / label) */
  .q-table tr { border-bottom: 2px solid var(--ink); padding: 12px 0; }
  .q-table td { border: 0; padding: 3px 0; text-align: left; }
  .q-table td.h-num { text-align: left; white-space: normal; }
  .q-table td[data-label] { display: flex; justify-content: space-between; align-items: baseline; font-size: 14px; }
  .q-table td[data-label]::before { content: attr(data-label); flex-shrink: 0; margin-right: 12px; font: 600 12px var(--mono); color: var(--mute); text-transform: uppercase; letter-spacing: .04em; }
  .q-table td.q-pack { text-align: right; }
  .q-table .q-name { border: 0; padding: 3px 0 6px; font-size: 16px; text-align: left; }
  .q-table td.q-qty { display: flex; justify-content: space-between; align-items: center; margin-top: 6px; }
  .q-qty__label { font: 700 12px var(--mono); text-transform: uppercase; letter-spacing: .04em; margin-right: 12px; }
  .q-table tr.is-picked { background: var(--hi-2); }
  .q-table tr.is-picked td, .q-table tr.is-picked th { background: transparent; }
}

/* ---- tableau */
@media (min-width: 760px) {
  .q-qty__label { display: none; }
  .q-table td { vertical-align: middle; }
  .q-table .q-name { width: 40%; vertical-align: middle; font-weight: 500; }
  .q-table td.q-qty { width: 120px; position: relative; overflow: hidden; }
  .q-table tbody tr:hover td, .q-table tbody tr:hover th { background: var(--gray); }
  .q-table tbody tr.is-picked:hover td { background: var(--hi-2); }
}

/* ---- barre d'envoi (collante en bas, sans JS elle reste simplement en fin de formulaire) */
.q-bar { position: -webkit-sticky; position: sticky; bottom: 0; z-index: 20; margin-top: 28px; background: #fff; border: 2px solid var(--ink); box-shadow: 0 -4px 0 var(--hi); padding: 12px; }
.q-bar__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
.q-estimate { margin: 0 16px 10px 0; font-family: var(--mono); }
.q-estimate__label { display: block; font: 600 12px var(--mono); text-transform: uppercase; letter-spacing: .04em; color: var(--mute); }
.q-estimate b { display: block; font-size: 22px; font-weight: 800; letter-spacing: -.02em; }
.q-estimate__net { display: block; font-size: 12px; color: var(--mute); }
.q-submit { width: 100%; margin-bottom: 4px; }
.q-bar__note { margin-top: 10px; }
.q-estimate b { font-size: 20px; }

@media (min-width: 600px) {
  .q-submit { width: auto; }
  .q-estimate { margin-bottom: 0; }
}

/* Onglet « Rychlá objednávka » actif : h-site.css lui donne fond jaune + texte jaune (illisible).
 * Correctif local (seule page où cet onglet est actif) — à reporter dans h-site.css. */
.h-tabs a.h-tab--pro.is-active { color: var(--ink); }
