/* responsive.css – Print a responsivní styly */

@media print {
  .wizard-header, .wizard-footer, .export-panel, .char-name-input, nav, footer { display: none !important; }
  .char-sheet { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; color: #000 !important; }
  .char-sheet__block { border: 1px solid #ccc; background: #fff !important; color: #000 !important; padding: 0.8rem; page-break-inside: avoid; }
  .char-sheet__block h3 { color: #333 !important; }
  .sheet-row__label { color: #555 !important; }
  .sheet-row__value { color: #000 !important; }
  .sheet-stat__value { color: #333 !important; }
  .sheet-stat { border: 1px solid #ccc !important; background: #f5f5f5 !important; }
  body { background: #fff !important; }
}

/* Tablet (≤ 900px) */
@media (max-width: 900px) {
  .builder-layout { padding: 0 1rem 1.5rem; }
  .stats-builder { max-width: 100%; }
  .char-sheet { grid-template-columns: 1fr; gap: 0.8rem; }
  .char-sheet__block--wide { grid-column: 1; }
  .sheet-stats { grid-template-columns: repeat(5, 1fr); }
  .sheet-skills { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
  .combat-group__body { flex-wrap: wrap; }
  .combat-item { min-width: 80px; }
}

/* Mobil (≤ 640px) */
@media (max-width: 640px) {
  .builder-layout { padding: 0 0.75rem 1.5rem; }
  .wizard-header { padding: 1.2rem 0 1rem; }
  .wizard-header__title { font-size: 1.3rem; margin-bottom: 1rem; }
  .wizard-progress__label { font-size: 0.58rem; }
  .wizard-progress__num { width: 26px; height: 26px; font-size: 0.72rem; }
  .wizard-progress__connector { min-width: 6px; max-width: 22px; }
  .race-grid { grid-template-columns: repeat(2, 1fr); gap: 0.7rem; }
  .class-grid { grid-template-columns: 1fr; }
  .subrace-grid { grid-template-columns: 1fr; }
  .spells-builder { grid-template-columns: 1fr; }
  .stat-control { grid-template-columns: 1fr auto; grid-template-rows: auto auto; gap: 0.4rem 0.5rem; padding: 0.6rem 0.75rem; }
  .stat-control__label { grid-column: 1 / -1; font-size: 0.85rem; }
  .stat-control__buttons { grid-row: 2; grid-column: 1; }
  .stat-control__roll { grid-row: 2; grid-column: 2; text-align: right; align-self: center; }
  .skill-row { grid-template-columns: 1fr auto; grid-template-rows: auto auto; gap: 0.3rem 0.6rem; padding: 0.5rem 0.75rem; }
  .skill-row__name { grid-column: 1 / -1; font-size: 0.85rem; }
  .tier-pip { width: 15px; height: 15px; }
  .char-name-input { flex-direction: column; align-items: flex-start; gap: 0.4rem; margin-bottom: 1.2rem; }
  .char-name-input input { width: 100%; }
  .sheet-stats { grid-template-columns: repeat(3, 1fr); gap: 0.35rem; }
  .sheet-stat__value { font-size: 1.2rem; }
  .sheet-skills { grid-template-columns: 1fr; }
  .sheet-skill-group-header { grid-column: 1; }
  .combat-item { min-width: 70px; padding: 0.5rem 0.3rem; }
  .combat-item__value { font-size: 1rem; }
  .combat-item__icon { font-size: 1.1rem; }
  .wizard-footer { flex-wrap: wrap; gap: 0.6rem; padding: 0.8rem 0; }
  .wizard-footer__info { order: 3; flex-basis: 100%; text-align: center; }
  .export-panel__buttons { flex-direction: column; align-items: stretch; }
  .abilities-builder { gap: 0.35rem; }
  .ability-card { padding: 0.7rem 0.8rem; }
}

/* Malý mobil (≤ 440px) */
@media (max-width: 440px) {
  .builder-layout { padding: 0 0.5rem 1rem; }
  .wizard-progress__label { font-size: 0.5rem; }
  .wizard-progress__num { width: 22px; height: 22px; font-size: 0.65rem; }
  .wizard-progress__connector { min-width: 4px; max-width: 14px; }
  .sheet-stats { grid-template-columns: repeat(5, 1fr); gap: 0.25rem; }
  .sheet-stat { padding: 0.4rem 0.2rem; }
  .sheet-stat__name { font-size: 0.58rem; }
  .sheet-stat__value { font-size: 1.1rem; }
  .sheet-stat__roll { font-size: 0.55rem; }
  .sheet-stat__hybrid-badge { font-size: 0.48rem; }
  .race-grid { grid-template-columns: 1fr; }
  .stat-control { padding: 0.5rem 0.6rem; }
  .stat-value { font-size: 1.2rem; }
  .stat-btn { width: 26px; height: 26px; font-size: 1rem; }
}
