/* Global - Content pages */
.subpage {
    color: var(--shop-ink);
    background: #fff;
    font-family: var(--shop-font);
    min-width: 0;
}
.subpage > .container {
    width: min(100% - 80px, 1320px);
    max-width: 1320px;
    padding: 36px 0 56px !important;
}
.subpage h1 { font-size: clamp(28px, 3vw, 38px); font-weight: 600; line-height: 1.2; letter-spacing: -.025em; margin-bottom: 20px; }
.subpage h2 { font-size: 24px; font-weight: 600; line-height: 1.3; }
.subpage :is(p, li, label, input, textarea, select) { font-size: 16px; }
.subpage :is(.small, small, .breadcrumb) { font-size: 14px; }
.subpage .breadcrumb { margin-bottom: 24px; }
.subpage .breadcrumb a { color: var(--shop-muted); text-underline-offset: 3px; }
.subpage .text-secondary { color: #62675e !important; }
.subpage :is(.card, .bg-white.border, .table-responsive.border) { border-color: var(--shop-line) !important; border-radius: 3px !important; box-shadow: none !important; }
.subpage .card-header { background: var(--shop-paper); border-color: var(--shop-line); padding: 16px 20px; }
.subpage .card-body { padding: 24px; }
.subpage .form-control, .subpage .form-select { min-height: 46px; border-radius: 3px; border-color: #b8bdb2; background-color: #fff; }
.subpage .form-control:focus, .subpage .form-select:focus { border-color: var(--main-color); box-shadow: 0 0 0 3px rgb(55 65 45 / 10%); }
.subpage .form-control.is-invalid { border-color: #b43232; }
.subpage .invalid-feedback { font-size: 14px; }
.subpage .form-label { margin-bottom: 7px; font-weight: 600; }
.subpage .btn { min-height: 44px; padding: 10px 18px; font-size: 16px; font-weight: 600; line-height: 1.4; border-radius: 3px; box-shadow: none; }
.subpage :is(.btn-danger, .btn-success, .btn-dark) { color: #fff; background: var(--main-color); border-color: var(--main-color); }
.subpage :is(.btn-danger, .btn-success, .btn-dark):hover { color: #fff; background: #252f20; border-color: #252f20; }
.subpage :is(.btn-outline-danger, .btn-outline-secondary, .btn-outline-dark) { color: var(--shop-ink); background: #fff; border-color: #a5ad9e; }
.subpage :is(.btn-outline-danger, .btn-outline-secondary, .btn-outline-dark):hover { color: var(--shop-ink); background: #eef0e9; border-color: var(--main-color); }
.subpage .alert { padding: 16px 20px; border-radius: 3px; font-size: 16px; }
.subpage .alert-light { color: #62675e; background: var(--shop-paper); border-color: var(--shop-line); }
.subpage .content-page-body { font-size: 16px; line-height: 1.75; overflow-wrap: anywhere; }
.subpage .content-page-body img { max-width: 100%; height: auto; }
.subpage-service > .container { max-width: 780px !important; min-height: 350px; }
.subpage-service > .container > :is(.card, .bg-white.border) { padding: 24px !important; background: var(--shop-paper) !important; }
.subpage-service > .container > .card > .card-body { padding: 0 !important; }
.subpage-service > .container > form { width: 100%; max-width: 100% !important; margin-inline: 0; padding: 20px !important; background: var(--shop-paper) !important; }
.subpage-service .font-monospace { font-family: var(--shop-font) !important; font-weight: 600; letter-spacing: .08em; overflow-wrap: anywhere; }
.subpage-service :is(.fs-4, .fs-3) { color: var(--main-color); }
.subpage-returns > .container { max-width: 1080px; }
.subpage-returns .table { --bs-table-bg: #fff; --bs-table-border-color: var(--shop-line); font-size: 16px; }
.subpage-returns .table :is(th, td) { padding: 16px; }
.subpage-returns .table thead th { background: var(--shop-paper); font-size: 14px; font-weight: 600; }
.subpage-returns .table td:first-child { min-width: 220px; }
.subpage-returns [data-returns-total] { color: var(--main-color); font-size: 24px; }
.subpage-returns .table-responsive { max-width: 100%; }
.subpage-report .table :is(th, td) { padding: 12px 20px; }
.subpage-report .table { --bs-table-border-color: var(--shop-line); }
.subpage-report code { font: inherit; color: inherit; overflow-wrap: anywhere; }
.subpage-catalog > .container > p { max-width: 760px; }
.subpage-catalog .catalog-filters { border-color: var(--shop-line) !important; border-radius: 3px !important; background: var(--shop-paper) !important; }
.subpage-catalog .catalog-filters label { display: inline-flex; align-items: center; justify-content: center; min-width: 46px; }
.subpage-catalog .catalog-filters label:has(input:checked) { color: #fff; background: var(--main-color); border-color: var(--main-color); }
.subpage-catalog .product-card { border: 1px solid var(--shop-line) !important; border-radius: 3px; box-shadow: none !important; overflow: hidden; }
.subpage-catalog .product-card .card-body { padding: 16px; }
.subpage-catalog .product-image-wrap { aspect-ratio: 1; background: var(--shop-paper); overflow: hidden; }
.subpage-catalog .product-image { width: 100%; height: 100%; object-fit: contain; }
.subpage-catalog .product-card h2 { font-size: 16px; }
.subpage-catalog .product-card .fw-semibold { font-size: 20px; }
.subpage-recovery > .container:first-child { max-width: 920px; padding-bottom: 36px !important; }
.subpage-recovery > .container:first-child > p { max-width: 700px; line-height: 1.7; }
.subpage-recovery > .container:first-child > .btn { margin: 4px 8px 4px 0; }
.subpage-recovery .home-category-card { background: var(--shop-paper); border-color: var(--shop-line); border-radius: 3px; box-shadow: none; }
.subpage-recovery .lead { font-size: 18px; }
.not-found-page .subpage-recovery > .container:first-child { text-align: center; }
.not-found-page .subpage-recovery > .container:first-child img { max-width: 100%; height: auto; }
.not-found-page .subpage-recovery > .container:first-child > p { margin-inline: auto; }
@media (max-width: 767px) {
    .subpage > .container { width: calc(100% - 32px); padding: 24px 0 36px !important; }
    .subpage h1 { font-size: 28px; }
    .subpage h2 { font-size: 22px; }
    .subpage .card-body { padding: 20px; }
    .subpage-service > .container > :is(.card, .bg-white.border, form) { padding: 20px !important; }
    .subpage-returns .table :is(th, td) { padding: 12px; }
    .subpage-returns .table td:first-child { min-width: 180px; }
    .subpage-returns :is(.bg-white.p-4, .content-page-body.p-4) { padding: 20px !important; }
    .subpage-report .table :is(th, td) { padding: 10px 12px; }
    .subpage-catalog .product-card .card-body { padding: 12px; }
    .subpage-catalog .product-card .btn { padding-inline: 8px; font-size: 14px; }
    .subpage-recovery form[role="search"] { flex-wrap: wrap; }
    .subpage-recovery form[role="search"] .form-control { flex: 1 1 200px; width: 0; }
}
@media print {
    .subpage-returns > .container { width: 100%; max-width: none; padding: 0 !important; }
    .subpage-returns .table-responsive { overflow: visible; }
}

/* Zľavy: karty ako v bežnej kategórii a menší filter veľkostí na mobile (poznámka klienta 3. 11. 2026). */
.discounts-index-page .product-card .card-body { text-align: center; }
body.discounts-index-page .product-card .heading-box .heading { margin-bottom: 4px; font-size: 15px; font-weight: 500; line-height: 1.4; letter-spacing: 0; }
@media (max-width: 767px) {
    .discounts-index-page .catalog-filters { padding: 10px !important; }
    .discounts-index-page .catalog-filters .gap-2 { gap: 5px !important; }
    .discounts-index-page .catalog-filters strong { width: 100%; font-size: 13px; }
    .discounts-index-page .catalog-filters .btn { min-height: 0; padding: 3px 7px; font-size: 11px; line-height: 1.4; }
}
