/* ============================================================================
   PRyard market – přizpůsobení šablony Materialize (Bootstrap 5), pilot 10/2026
   Načítá se až po vendor/css/core.css. Žádný Sass build: barvy se mění
   přepsáním CSS proměnných Bootstrapu (stejně to dělá konfigurátor šablony).
   Role: navy #1a3977 = admin, obchodník, inzerent; vínová #7b1a3a = vydavatel,
   copywriter (atribut data-role na <html>).
   ========================================================================== */

:root,
[data-bs-theme=light],
[data-bs-theme=dark] {
    /* systémové písmo jako ve starém adminu (Windows = Segoe UI, Mac = San Francisco); Inter z Google Fonts je na Windows bez hintingu rozmazaný (Martin 24. 10. 2026) */
    --bs-font-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --pry-navy: #1a3977;
    --pry-navy-rgb: 26, 57, 119;
    --pry-wine: #7b1a3a;
    --pry-wine-rgb: 123, 26, 58;
    --pry-ink: #101010;

    --bs-primary: var(--pry-navy);
    --bs-primary-rgb: var(--pry-navy-rgb);
    --bs-primary-bg-subtle: color-mix(in sRGB, #fff 84%, var(--pry-navy));
    --bs-primary-border-subtle: rgba(var(--pry-navy-rgb), 0.39);
    --bs-primary-text-emphasis: #12284f;
    --bs-primary-contrast: #fff;

    --bs-link-color: var(--pry-navy);
    --bs-link-color-rgb: var(--pry-navy-rgb);
    --bs-link-hover-color: #0f2350;
    --bs-link-hover-color-rgb: 15, 35, 80;
    --bs-custom-link-color: var(--pry-navy);
}

[data-role=publisher],
[data-role=copywriter] {
    --bs-primary: var(--pry-wine);
    --bs-primary-rgb: var(--pry-wine-rgb);
    --bs-primary-bg-subtle: color-mix(in sRGB, #fff 84%, var(--pry-wine));
    --bs-primary-border-subtle: rgba(var(--pry-wine-rgb), 0.39);
    --bs-primary-text-emphasis: #4d1024;
    --bs-link-color: var(--pry-wine);
    --bs-link-color-rgb: var(--pry-wine-rgb);
    --bs-link-hover-color: #4d1024;
    --bs-link-hover-color-rgb: 77, 16, 36;
    --bs-custom-link-color: var(--pry-wine);
}

/* ---------------------------------------------------------------------------
   Signální zelená (Martin 22. 10. 2026): šablona má fosforovou #72e128, market
   používá tlumenou #2e7d32 (provize P:, tlačítka Proplaceno, toast Hotovo, validace).
   -------------------------------------------------------------------------- */
:root,
[data-bs-theme=light],
[data-bs-theme=dark] {
    --bs-success: #2e7d32;
    --bs-success-rgb: 46, 125, 50;
    --bs-success-bg-subtle: color-mix(in sRGB, #fff 84%, #2e7d32);
    --bs-success-border-subtle: rgba(46, 125, 50, 0.39);
    --bs-success-text-emphasis: #1b5e20;
    --bs-success-contrast: #fff;
    --bs-form-valid-color: #2e7d32;
    --bs-form-valid-border-color: #2e7d32;
}

/* ---------------------------------------------------------------------------
   Písmo (Martin 22. 10. 2026): základní text černý, šedá jen doplňky,
   na barevném podkladu (menu, tlačítka, štítky, toasty) bílá.
   -------------------------------------------------------------------------- */
:root,
[data-bs-theme=light] {
    --bs-body-color: var(--pry-ink);
    --bs-body-color-rgb: 16, 16, 16;
    --bs-heading-color: var(--pry-ink);
    --bs-emphasis-color: var(--pry-ink);
    --bs-emphasis-color-rgb: 16, 16, 16;
    --bs-secondary-color: #6b6f80;
    --bs-secondary-color-rgb: 107, 111, 128;
}

/* ---------------------------------------------------------------------------
   Levé menu: výchozí světlé jako v demu šablony (Martin 23. 10. 2026), text černý,
   aktivní položka = pilulka v barvě role. Polotmavá varianta v barvě role zůstává
   na porovnání (?menu=dark → data-semidark-menu="true" na <html>).
   -------------------------------------------------------------------------- */
html:not([data-semidark-menu=true]) {
    --bs-menu-bg: var(--bs-paper-bg);
    --bs-menu-bg-rgb: var(--bs-paper-bg-rgb);
    --bs-menu-color: var(--pry-ink);
    --bs-menu-hover-color: var(--pry-ink);
    --bs-menu-item-icon-color: var(--pry-ink);
    --bs-menu-box-shadow: 0 0 10px color-mix(in sRGB, #262b43 12%, #fff);
}

/* menu jako karta: bílé pozadí se stínem (Martin 23. 10. 2026: „staré levé menu mělo bílé pozadí jako karta“) */
html:not([data-semidark-menu=true]) .layout-menu {
    box-shadow: var(--bs-menu-box-shadow);
}

[data-semidark-menu=true] {
    --bs-menu-bg: var(--bs-primary);
    --bs-menu-bg-rgb: var(--bs-primary-rgb);
    --bs-menu-color: #fff;
    --bs-menu-color-rgb: 255, 255, 255;
    --bs-menu-hover-bg: rgba(255, 255, 255, 0.1);
    --bs-menu-hover-color: #fff;
    --bs-menu-active-bg: #fff;
    --bs-menu-active-color: var(--bs-primary);
    --bs-menu-active-toggle-bg: rgba(255, 255, 255, 0.1);
    --bs-menu-sub-active-bg: rgba(255, 255, 255, 0.14);
    --bs-menu-sub-active-color: #fff;
    --bs-menu-item-icon-color: #fff;
    --bs-menu-header-color: rgba(255, 255, 255, 0.75);
    --bs-menu-box-shadow: 0 0.125rem 0.625rem 0 rgba(16, 17, 33, 0.3);
}

[data-semidark-menu=true] .menu-vertical .menu-header .menu-header-text {
    color: rgba(255, 255, 255, 0.75);
}

[data-semidark-menu=true] .menu-vertical .menu-item.active > .menu-link:not(.menu-toggle) .menu-icon {
    color: var(--bs-primary);
}

/* logo: bílá verze na tmavém menu, černá na světlém */
.app-brand {
    height: 64px;
    padding-left: 1.25rem;
}

.app-brand-link {
    overflow: hidden;
}

.app-brand-img {
    display: block;
    height: 30px;
    width: auto;
    max-width: 100%;
}

[data-semidark-menu=true] .app-brand-img-light,
html:not([data-semidark-menu=true]) .app-brand-img-dark {
    display: none;
}

[data-semidark-menu=true] .app-brand-img-dark,
html:not([data-semidark-menu=true]) .app-brand-img-light {
    display: block;
}

[data-semidark-menu=true] .layout-menu .layout-menu-toggle {
    color: #fff;
}

/* číselné štítky v menu: světlá pilulka na tmavém menu, barevná na světlém */
.menu-badge {
    margin-left: auto;
    font-size: 0.75rem;
    min-width: 1.5rem;
    padding: 0.2rem 0.45rem;
}

[data-semidark-menu=true] .menu-badge.menu-badge-default {
    background: rgba(255, 255, 255, 0.92);
    color: var(--bs-primary);
}

html:not([data-semidark-menu=true]) .menu-badge.menu-badge-default {
    background: var(--bs-primary);
    color: #fff;
}

.menu-vertical .menu-item .menu-link > .menu-badge {
    flex-shrink: 0;
}

/* Barevné ikony v menu podle funkce jako ve starém marketu (Martin 23. 10. 2026), jen ve světlém menu;
   na aktivní položce (pilulka v barvě role) jsou ikony bílé */
html:not([data-semidark-menu=true]) .menu-vertical .menu-link .menu-icon.menu-ico-dashboard { color: #1976d2; } /* modrá - přehled */
html:not([data-semidark-menu=true]) .menu-vertical .menu-link .menu-icon.menu-ico-catalog   { color: #1976d2; } /* modrá - katalog, stránky, e-maily */
html:not([data-semidark-menu=true]) .menu-vertical .menu-link .menu-icon.menu-ico-create    { color: #2e7d32; } /* zelená - nové, vytvořit */
html:not([data-semidark-menu=true]) .menu-vertical .menu-link .menu-icon.menu-ico-order     { color: #c62828; } /* červená - objednávky, košíky, inzerenti */
html:not([data-semidark-menu=true]) .menu-vertical .menu-link .menu-icon.menu-ico-articles  { color: #00796b; } /* teal - články */
html:not([data-semidark-menu=true]) .menu-vertical .menu-link .menu-icon.menu-ico-archive   { color: #9e9e9e; } /* šedá - archiv */
html:not([data-semidark-menu=true]) .menu-vertical .menu-link .menu-icon.menu-ico-money     { color: #f57c00; } /* amber - peníze */
html:not([data-semidark-menu=true]) .menu-vertical .menu-link .menu-icon.menu-ico-settings  { color: #616161; } /* tmavě šedá - nastavení */
html:not([data-semidark-menu=true]) .menu-vertical .menu-link .menu-icon.menu-ico-support   { color: #0288d1; } /* cyan - podpora, komunikace */
html:not([data-semidark-menu=true]) .menu-vertical .menu-link .menu-icon.menu-ico-alert     { color: #e65100; } /* deep orange - varování */
html:not([data-semidark-menu=true]) .menu-vertical .menu-item.active > .menu-link:not(.menu-toggle) .menu-icon[class*="menu-ico-"] { color: #fff; }

/* menu je dlouhé (admin ~45 položek): o něco hustší řádky než v šabloně */
.menu-vertical .menu-inner > .menu-item > .menu-link {
    padding-top: 0.45rem;
    padding-bottom: 0.45rem;
}

.menu-vertical .menu-header {
    margin-top: 0.75rem;
}

/* ---------------------------------------------------------------------------
   Horní lišta: v barvě role s bílým písmem jako ve starém marketu
   (Martin 23. 10. 2026: „horní navbar býval barevný a měl bílé písmo“)
   -------------------------------------------------------------------------- */
.layout-navbar,
.layout-navbar-fixed .window-scrolled .layout-navbar {
    background-color: var(--bs-primary);
    color: #fff;
    box-shadow: var(--bs-box-shadow-sm);
}

.layout-navbar .nav-link,
.layout-navbar .navbar-page-title,
.layout-navbar .navbar-amount,
.layout-navbar .navbar-cart,
.layout-navbar .navbar-user-email,
.layout-navbar .navbar-search-icon {
    color: #fff !important;
}

.layout-navbar .nav-link:hover,
.layout-navbar .nav-link:focus {
    color: rgba(255, 255, 255, 0.85) !important;
}

.layout-navbar .form-control {
    background-color: transparent;
    color: #fff;
}

.layout-navbar .form-control::placeholder {
    color: rgba(255, 255, 255, 0.7);
}

.layout-navbar .form-control:focus {
    box-shadow: none;
}

.layout-navbar .avatar .avatar-initial {
    background-color: #fff;
    color: var(--bs-primary);
}

/* bílá tlačítka s písmem v barvě role (Vyplatit peníze apod.) */
.layout-navbar .btn-primary {
    --bs-btn-bg: #fff;
    --bs-btn-color: var(--bs-primary);
    --bs-btn-border-color: #fff;
    --bs-btn-hover-bg: #eef1f8;
    --bs-btn-hover-color: var(--bs-primary);
    --bs-btn-hover-border-color: #eef1f8;
    --bs-btn-active-bg: #e3e8f3;
    --bs-btn-active-color: var(--bs-primary);
    --bs-btn-active-border-color: #e3e8f3;
}

/* Vršek jako ve starém marketu (Martin 23. 10. 2026): jednobarevný pruh v barvě role od kraje ke kraji
   = prostor nad menu s bílým logem + lišta bez odsazení (šablona dává 1,5rem okraje) a bez zaoblení */
.app-brand {
    background-color: var(--bs-primary);
}

.app-brand-img-dark {
    display: block !important;
}

.app-brand-img-light {
    display: none !important;
}

.layout-menu-collapsed:not(.layout-menu-hover) .layout-menu .app-brand-img-dark {
    display: none !important;
}

.layout-menu .layout-menu-toggle {
    color: #fff !important;
}

.layout-navbar.navbar-detached {
    margin-inline: 0 !important;
    padding-inline: 1.5rem !important;
    border-radius: 0 !important;
}

.layout-navbar-fixed .layout-navbar.navbar-detached {
    inline-size: calc(100% - var(--bs-menu-width)) !important;
}

.layout-navbar-fixed.layout-menu-collapsed .layout-navbar.navbar-detached,
.layout-menu-collapsed .layout-navbar.navbar-detached {
    inline-size: calc(100% - var(--bs-menu-collapsed-width)) !important;
}

.layout-navbar-fixed .modal-open .layout-navbar.navbar-detached,
.layout-navbar-fixed.swal2-shown .layout-navbar.navbar-detached {
    inline-size: calc(100% - 16.25rem - var(--bs-scrollbar-width)) !important;
}

@media (max-width: 1199.98px) {
    .layout-navbar-fixed .layout-navbar.navbar-detached {
        inline-size: 100% !important;
    }
}

/* ---------------------------------------------------------------------------
   Horní lišta – prvky
   -------------------------------------------------------------------------- */
.navbar-page-title {
    color: var(--bs-heading-color);
    font-weight: 500;
}

.navbar-amount {
    color: var(--bs-heading-color);
    font-weight: 500;
    white-space: nowrap;
}

/* košík inzerenta: prázdný = ikona + slovo Košík, s položkami = bublina s počtem + cena bez DPH */
.navbar-cart {
    color: var(--bs-heading-color);
    white-space: nowrap;
}

.navbar-cart .navbar-cart-badge {
    position: absolute;
    top: -0.45rem;
    right: -0.55rem;
    font-size: 0.65rem;
    padding: 0.15rem 0.35rem;
    display: none;
}

.navbar-cart.navbar-cart-filled .navbar-cart-badge {
    display: inline-block;
}

.navbar-cart.navbar-cart-filled .navbar-cart-label,
.navbar-cart:not(.navbar-cart-filled) .navbar-cart-amount {
    display: none;
}

.navbar-cart.navbar-cart-filled {
    font-weight: 600;
}

.navbar-user-email {
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--bs-heading-color);
}

/* ---------------------------------------------------------------------------
   Obsah: drobečky s titulkem, karty, tabulky admina (hustší)
   -------------------------------------------------------------------------- */
/* šablona kapitalizuje každé slovo v tlačítkách (text-transform: capitalize), v češtině to vadí */
.btn,
.nav-tabs .nav-link,
.nav-pills .nav-link {
    text-transform: none;
}

/* záložky v hlavičce karty: obsah záložky nesmí vyjet pod lištu záložek */
.card-header-tabs {
    margin-bottom: 0;
}

.card-header-tabs .nav-link {
    margin-bottom: -1px;
}

.card > .tab-content > .tab-pane,
.card-body > .tab-content > .tab-pane {
    padding-top: 0.75rem;
}

.page-head {
    margin-bottom: 1.25rem;
}

.page-head .breadcrumb {
    margin-bottom: 0;
}

.card-header .card-title {
    margin-bottom: 0;
}

.card + .card,
.row + .row {
    margin-top: 0;
}

.table-admin > :not(caption) > * > * {
    padding: 0.4rem 0.6rem;
    vertical-align: top;
}

/* méně šedé (Martin 23. 10. 2026): hlavička bílá (šablona ji barví přes --bs-table-header-bg-color #f5f5f7),
   pruhy řádků jen 3 % místo 6 %. Hlavička tabulek TMAVÁ (Martin 23. 10. 2026, thead.table-dark), ?thead=light = světlá */
.table-admin {
    --bs-table-striped-bg: color-mix(in sRGB, var(--bs-base-color) 3%, var(--bs-paper-bg));
    --bs-table-header-bg-color: var(--bs-paper-bg);
}

.table-admin thead th {
    white-space: nowrap;
}

.table-admin thead:not(.table-dark) th {
    border-block-end-color: var(--bs-border-color) !important;
}

/* tmavá hlavička v barvě role jako lišta (Martin 23. 10. 2026), ne šedofialová #312d4b ze šablony */
.table-admin thead.table-dark {
    --bs-table-bg: var(--bs-primary);
    --bs-table-color: #fff;
    --bs-table-border-color: rgba(255, 255, 255, 0.18);
}

.table-admin thead.table-dark th {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.18);
}

.table-admin ol,
.table-admin ul {
    margin-bottom: 0;
    padding-left: 1.1rem;
}

.icon-link {
    color: var(--bs-secondary-color);
    vertical-align: middle;
}

.icon-link:hover {
    color: var(--bs-primary);
}

/* skryté položky seznamů odkryje tlačítko .pry-expand (pryard.js) */
.pry-hidden {
    display: none !important;
}

/* řádky „Popisek: hodnota“ v kartách detailu */
.info-lines p {
    margin-bottom: 0.25rem;
}

.info-lines h6 {
    margin-bottom: 0.5rem;
}

/* druhý řádek seznamu účtů (historie + CRM) */
.table-admin tr.row-detail > td {
    font-size: 0.8125rem;
    border-top: 0;
}

.text-expired {
    color: var(--bs-danger);
    font-weight: 600;
}

/* klikací řádky tabulek (data-href) */
.clickable-row {
    cursor: pointer;
}

/* toasty vpravo nahoře, pod lištou; barevné toasty mají průhledné záhlaví (šablona nechává bílé s bílým textem) */
.pry-toasts {
    z-index: 1090;
    top: 4.5rem !important;
}

.bs-toast[class*="bg-"] .toast-header {
    background-color: transparent;
    border-bottom-color: rgba(255, 255, 255, 0.35);
}

.bs-toast[class*="bg-"] .toast-header .btn-close {
    filter: brightness(0) invert(1);
    opacity: 0.8;
}

/* upozornění s formulářem (chybí měna / telefon) */
.alert form .form-check-inline {
    margin-right: 1.25rem;
}

/* CTI: pole počítadla znaků */
.cti-count {
    color: var(--bs-secondary-color);
}

/* Historie obchodu (časová osa): první řádek datum v pevné šířce + název události, detail (ceny, zpráva, přílohy) odsazený pod název (Martin 24. 10.) */
.pry-timeline-date { min-width: 5.5rem; }
.pry-timeline-detail { margin: .15rem 0 0 calc(5.5rem + .5rem); }

/* ===== lišta košíku v katalozích inzerenta (v2/_cart-bar.html): přilepená pod pevnou horní lištou ===== */
.pry-cart-bar {
    position: sticky;
    top: calc(var(--bs-navbar-height, 4rem) + 0.75rem);
    z-index: 20;
}

/* ===== hodnocení obchodu hvězdičkami (přehled inzerenta, v2/dashboard-advertiser.html): skrytá radia, hvězdy v DOM 5→1,
   row-reverse je ukáže 1→5 a sourozenecký selektor podbarví i hvězdy vlevo ===== */
.pry-rating { display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; gap: 0.25rem; }
.pry-rating input { position: absolute; opacity: 0; width: 0; height: 0; }
.pry-rating label { cursor: pointer; margin: 0; line-height: 1; color: #c9ccd3; }
.pry-rating label .icon-base { font-size: 2rem; width: 2rem; height: 2rem; }
.pry-rating label:hover, .pry-rating label:hover ~ label, .pry-rating input:checked ~ label { color: #fdb528; }

/* ===== fotka copywritera nebo kolečko s iniciálou (v2/_avatar.html) ===== */
.pry-avatar { width: 40px; height: 40px; object-fit: cover; flex-shrink: 0; vertical-align: middle; }
.pry-avatar-lg { width: 64px; height: 64px; }
.pry-avatar-initial { display: inline-flex; align-items: center; justify-content: center; font-weight: 600; color: #fff; }
.pry-avatar-lg.pry-avatar-initial { font-size: 1.5rem; }
.pry-avatar-0 { background: var(--pry-navy); }
.pry-avatar-1 { background: #2e7d32; }
.pry-avatar-2 { background: var(--pry-wine); }
.pry-avatar-3 { background: #0d6e8f; }
.pry-avatar-4 { background: #8a5a00; }
.pry-avatar-5 { background: #5b3fa0; }
