/* =====================================================================
   OFFERIS PORTAL – TÉMA V2 (redesign podľa docs/redesign/mock-b-rovnaky-layout.html)

   - Rozloženie ostáva ako v Limitless šablóne, mení sa iba vizuál.
   - Všetko je pod triedou :where(.theme-v2) na <html> (src/global/Theme.js), takže
     téma v1 vyzerá presne ako predtým. Prepnutie: ?theme=v1 | ?theme=v2.
   - Farby tenanta prichádzajú ako CSS premenné z PT.applyThemeVars
     (portal_pcolor / portal_scolor). Žiadna farba tenanta tu nie je natvrdo.
   - Prefix :where(.theme-v2) nepridáva špecificitu, takže selektory majú rovnakú
     váhu ako v Limitless a vyhrávajú poradím načítania. portal_customCSS tenanta
     sa vkladá ako <style> až za týmto súborom, preto stále prebije aj tému v2.
   - Existujúce triedy sa nepremenovávajú ani neodstraňujú.
   - !important iba tam, kde treba prebiť inline štýl z JSX.
   ===================================================================== */

@font-face {
    font-family: "Manrope";
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url(../fonts/manrope/manrope-latin-ext.woff2) format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Manrope";
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url(../fonts/manrope/manrope-latin.woff2) format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- 1. tokeny ---------- */
:where(.theme-v2) {
    /* fallback, kým PT.applyThemeVars nenastaví farby tenanta */
    --pcolor: #4a5b6d;
    --pcolor-ink: #3f4d5d;
    --pcolor-soft: #f0f2f4;
    --pcolor-line: #cfd5db;
    --pcolor-ring: rgba(74, 91, 109, .16);
    --pcolor-contrast: #ffffff;
    --scolor: #3f3e3b;
    --scolor-contrast: #ffffff;

    --ground: #f3f4f6;
    --surface: #ffffff;
    --sub: #f8f9fa;
    --line: #e7e9ec;
    --line-2: #d5d9de;
    --ink: #17191c;
    --ink-2: #4c535a;
    --muted: #7c848c;
    --ok: #188a4f;
    --ok-soft: #e3f4ea;
    --warn: #a5670f;
    --warn-soft: #fbf1dc;
    --danger: #c62828;
    --danger-soft: #fdecec;
    --info: #2b6cb0;
    --info-soft: #e8f0fa;
    --r-lg: 14px;
    --r: 10px;
    --r-sm: 8px;
    --shadow: 0 1px 2px rgba(23, 25, 28, .04), 0 0 0 1px var(--line);
    --shadow-hover: 0 6px 18px rgba(23, 25, 28, .08), 0 0 0 1px var(--line-2);
    --shadow-pop: 0 16px 40px rgba(23, 25, 28, .16), 0 0 0 1px var(--line);
    --font: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* ---------- 2. typografia a základ ---------- */
:where(.theme-v2) body {
    font-family: var(--font);
    font-size: 14px;
    line-height: 1.5;
    color: var(--ink);
    background: var(--ground);
    -webkit-font-smoothing: antialiased;
}

:where(.theme-v2) h1, :where(.theme-v2) h2, :where(.theme-v2) h3, :where(.theme-v2) h4, :where(.theme-v2) h5, :where(.theme-v2) h6,
:where(.theme-v2) .h1, :where(.theme-v2) .h2, :where(.theme-v2) .h3, :where(.theme-v2) .h4, :where(.theme-v2) .h5, :where(.theme-v2) .h6,
:where(.theme-v2) input, :where(.theme-v2) button, :where(.theme-v2) select, :where(.theme-v2) textarea, :where(.theme-v2) .btn,
:where(.theme-v2) .form-control, :where(.theme-v2) .popover, :where(.theme-v2) .tooltip {
    font-family: var(--font);
}

:where(.theme-v2) h1, :where(.theme-v2) h2, :where(.theme-v2) h3, :where(.theme-v2) h4, :where(.theme-v2) h5, :where(.theme-v2) h6 {
    font-weight: 700;
    letter-spacing: -.01em;
}

:where(.theme-v2) .text-semibold {
    font-weight: 700;
}

:where(.theme-v2) .text-muted {
    color: var(--muted);
}

:where(.theme-v2) :focus-visible {
    outline: 2px solid var(--pcolor);
    outline-offset: 2px;
}

:where(.theme-v2) .content-wrapper {
    background: var(--ground);
}

/* ---------- 3. panely ---------- */
:where(.theme-v2) .panel {
    border: 0;
    border-radius: var(--r-lg);
    box-shadow: var(--shadow);
    background: var(--surface);
}

:where(.theme-v2) .panel[class*=border-top-] {
    border-top-width: 3px;
    border-top-style: solid;
}

:where(.theme-v2) .panel > .panel-heading {
    border-bottom: 1px solid var(--line);
    border-top-left-radius: var(--r-lg);
    border-top-right-radius: var(--r-lg);
    padding: 16px 20px;
}

:where(.theme-v2) .panel-title {
    font-weight: 800;
    color: var(--ink);
}

/* tlačidlá v hlavičke panelu (napr. Rýchla objednávka) zarovnané na riadok nadpisu,
   nie na celú výšku hlavičky s linkou pod nadpisom */
@media (min-width: 769px) {
    :where(.theme-v2) .panel > .panel-heading > .heading-elements {
        top: 16px;
        margin-top: 0;
        height: 32px;
        display: flex;
        align-items: center;
        gap: 8px;
    }
}

:where(.theme-v2) .panel > .panel-heading > .heading-elements > .btn {
    margin-top: 0;
    margin-bottom: 0;
}

:where(.theme-v2) .panel-footer {
    background: var(--sub);
    border-top: 1px solid var(--line);
    border-bottom-left-radius: var(--r-lg);
    border-bottom-right-radius: var(--r-lg);
}

:where(.theme-v2) .panel-flat > .panel-heading {
    border-bottom: 0;
}

:where(.theme-v2) .well {
    background: var(--sub);
    border: 0;
    border-radius: var(--r);
    box-shadow: none;
}

/* ---------- 4. tlačidlá ---------- */
:where(.theme-v2) .btn {
    border-radius: 999px;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 700;
    font-size: 13px;
    padding: 8px 16px;
    box-shadow: none;
    transition: background-color .15s, border-color .15s, box-shadow .15s, color .15s, filter .15s;
}

:where(.theme-v2) .btn-default,
:where(.theme-v2) .btn-light {
    background: var(--surface);
    border: 1px solid var(--line-2);
    color: var(--ink);
}

:where(.theme-v2) .btn-default:hover,
:where(.theme-v2) .btn-light:hover,
:where(.theme-v2) .btn-default:focus,
:where(.theme-v2) .btn-light:focus {
    background: var(--sub);
    border-color: #c5cad0;
    color: var(--ink);
}

/* tlačidlá s inline farbou tenanta ostávajú, len tmavnú pri hoveri */
:where(.theme-v2) .btn[style*="background"]:hover,
:where(.theme-v2) .btn-primary:hover {
    filter: brightness(.9);
}

:where(.theme-v2) .btn-primary {
    background: var(--pcolor);
    border-color: transparent;
    color: var(--pcolor-contrast);
}

:where(.theme-v2) .btn-primary:hover,
:where(.theme-v2) .btn-primary:focus,
:where(.theme-v2) .btn-primary:active {
    background: var(--pcolor);
    border-color: transparent;
    color: var(--pcolor-contrast);
}

:where(.theme-v2) .btn[style*="background"] {
    border-color: transparent;
}

/* farebné varianty: react-bootstrap pridáva aj btn-default, preto .btn.btn-* (vyššia váha) */
:where(.theme-v2) .btn.btn-success {
    background: var(--ok);
    border: 1px solid transparent;
    color: #fff;
}

:where(.theme-v2) .btn.btn-danger {
    background: var(--surface);
    border: 1px solid var(--line-2);
    color: var(--danger);
}

:where(.theme-v2) .btn.btn-danger:hover,
:where(.theme-v2) .btn.btn-danger:focus {
    background: var(--danger-soft);
    border-color: var(--danger-soft);
    color: var(--danger);
}

:where(.theme-v2) .btn.btn-warning {
    background: var(--warn);
    border: 1px solid transparent;
    color: #fff;
}

:where(.theme-v2) .btn.btn-info {
    background: var(--info);
    border: 1px solid transparent;
    color: #fff;
}

:where(.theme-v2) .btn.btn-success:hover,
:where(.theme-v2) .btn.btn-success:focus,
:where(.theme-v2) .btn.btn-warning:hover,
:where(.theme-v2) .btn.btn-info:hover {
    filter: brightness(.92);
    color: #fff;
}

:where(.theme-v2) .btn-sm, :where(.theme-v2) .btn-xs, :where(.theme-v2) .btn-xxs {
    padding: 5px 12px;
    font-size: 12.5px;
}

:where(.theme-v2) .btn-lg {
    padding: 11px 22px;
    font-size: 14px;
}

:where(.theme-v2) .btn.disabled, :where(.theme-v2) .btn[disabled] {
    opacity: .45;
}

:where(.theme-v2) .btn-group > .btn:not(:first-child):not(:last-child) {
    border-radius: 0;
}

:where(.theme-v2) .btn-group > .btn:first-child:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

:where(.theme-v2) .btn-group > .btn:last-child:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

/* modálne dialógy majú btn-group ako dve samostatné tlačidlá */
:where(.theme-v2) .modal .btn-group {
    display: inline-flex;
    gap: 8px;
}

:where(.theme-v2) .modal .btn-group > .btn {
    border-radius: 999px !important;
    float: none;
    margin-left: 0;
}

/* ---------- 5. formuláre ---------- */
:where(.theme-v2) .form-control {
    border: 1px solid var(--line-2);
    border-radius: var(--r-sm);
    background-color: var(--surface);
    color: var(--ink);
    font-size: 13.5px;
    height: 38px;
    padding: 7px 12px;
    box-shadow: none;
}

:where(.theme-v2) textarea.form-control {
    height: auto;
}

:where(.theme-v2) .form-control:focus {
    border-color: var(--pcolor);
    box-shadow: 0 0 0 3px var(--pcolor-ring);
    outline: 0;
}

:where(.theme-v2) .form-control[disabled],
:where(.theme-v2) fieldset[disabled] .form-control {
    background-color: var(--sub);
    color: var(--muted);
}

:where(.theme-v2) .input-sm, :where(.theme-v2) .form-control.input-sm {
    height: 32px;
    font-size: 12.5px;
}

:where(.theme-v2) select.form-control {
    -webkit-appearance: none;
    appearance: none;
    padding-right: 32px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237c848c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");
    background-repeat: no-repeat;
    background-position: right 12px center;
}

:where(.theme-v2) .input-group-addon {
    border-color: var(--line-2);
    background: var(--sub);
    color: var(--ink-2);
}

:where(.theme-v2) .input-group .form-control:first-child {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

:where(.theme-v2) .input-group .form-control:last-child {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

:where(.theme-v2) label, :where(.theme-v2) .control-label {
    color: var(--ink-2);
}

:where(.theme-v2) input[type=checkbox], :where(.theme-v2) input[type=radio] {
    accent-color: var(--pcolor);
}

:where(.theme-v2) .has-error .form-control {
    border-color: var(--danger);
}

:where(.theme-v2) .help-block {
    color: var(--muted);
}

:where(.theme-v2) .has-error .help-block, :where(.theme-v2) .has-error.help-block {
    color: var(--danger);
}

/* ---------- 6. tabuľky ---------- */
:where(.theme-v2) .table {
    font-size: 13.5px;
    color: var(--ink);
}

:where(.theme-v2) .table > thead > tr > th {
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--muted);
    background: var(--sub);
    border-bottom: 1px solid var(--line);
    white-space: nowrap;
}

:where(.theme-v2) .table > tbody > tr > td,
:where(.theme-v2) .table > tbody > tr > th,
:where(.theme-v2) .table > tfoot > tr > td,
:where(.theme-v2) .table > thead > tr > td {
    border-top: 1px solid var(--line);
    vertical-align: middle;
}

:where(.theme-v2) .table-hover > tbody > tr:hover > td,
:where(.theme-v2) .table-hover > tbody > tr:hover > th {
    background: #fbfbfc;
}

:where(.theme-v2) .table-striped > tbody > tr:nth-child(odd) {
    background: var(--sub);
}

:where(.theme-v2) .table-bordered,
:where(.theme-v2) .table-bordered > thead > tr > th,
:where(.theme-v2) .table-bordered > tbody > tr > td {
    border-color: var(--line);
}

:where(.theme-v2) .table-responsive {
    border: 0;
}

/* ---------- 7. stránkovanie, badge, label ---------- */
:where(.theme-v2) .pagination > li > a,
:where(.theme-v2) .pagination > li > span {
    border: 0;
    border-radius: 999px !important;
    min-width: 34px;
    height: 34px;
    line-height: 34px;
    padding: 0 10px;
    margin: 0 2px;
    text-align: center;
    color: var(--ink-2);
    font-weight: 700;
    background: transparent;
}

:where(.theme-v2) .pagination > li > a:hover {
    background: var(--sub);
    color: var(--ink);
}

:where(.theme-v2) .pagination > .active > a,
:where(.theme-v2) .pagination > .active > span,
:where(.theme-v2) .pagination > .active > a:hover,
:where(.theme-v2) .pagination > .active > a:focus {
    background: var(--ink);
    color: #fff;
}

:where(.theme-v2) .pagination .btn,
:where(.theme-v2) .page-selected {
    border-radius: 999px;
}

:where(.theme-v2) .badge, :where(.theme-v2) .label {
    border-radius: 999px;
    font-weight: 700;
    padding: 3px 9px;
}

/* ---------- 8. alerty ---------- */
:where(.theme-v2) .alert {
    border: 0;
    border-radius: var(--r);
    box-shadow: var(--shadow);
    padding: 13px 16px;
    font-size: 13.5px;
}

:where(.theme-v2) .alert.alert-styled-right:after,
:where(.theme-v2) .alert.alert-styled-left:after {
    display: none;
}

:where(.theme-v2) .alert.alert-styled-right {
    border-right: 0;
}

:where(.theme-v2) .alert-info {
    background: var(--surface);
    color: var(--ink-2);
    border-left: 4px solid var(--info);
}

:where(.theme-v2) .alert-info .text-semibold {
    color: var(--ink);
}

:where(.theme-v2) .alert-danger,
:where(.theme-v2) .alert.bg-danger {
    background: var(--danger-soft);
    color: #6d1a1a;
    border-left: 4px solid var(--danger);
    box-shadow: none;
}

:where(.theme-v2) .alert.bg-danger .text-semibold {
    color: #6d1a1a;
}

:where(.theme-v2) .alert-success {
    background: var(--ok-soft);
    color: #0f5132;
    border-left: 4px solid var(--ok);
    box-shadow: none;
}

:where(.theme-v2) .alert-warning {
    background: var(--warn-soft);
    color: #6b4309;
    border-left: 4px solid var(--warn);
    box-shadow: none;
}

/* ---------- 9. modaly ---------- */
:where(.theme-v2) .modal-backdrop.in {
    opacity: 1;
    background: rgba(23, 25, 28, .5);
}

:where(.theme-v2) .modal-content {
    border: 0;
    border-radius: var(--r-lg);
    box-shadow: 0 30px 70px rgba(0, 0, 0, .3);
    overflow: hidden;
}

/* hlavičky modalov majú v JSX inline farbu tenanta - v2 je jednotná biela hlavička */
:where(.theme-v2) .modal-header {
    background: var(--surface) !important;
    color: var(--ink) !important;
    border-bottom: 0;
    padding: 18px 22px 0;
}

:where(.theme-v2) .modal-header .modal-title,
:where(.theme-v2) .modal-header .modal-title label,
:where(.theme-v2) .modal-header label,
:where(.theme-v2) .modal-header h4,
:where(.theme-v2) .modal-header h5,
:where(.theme-v2) .modal-header h6 {
    color: var(--ink) !important;
    font-size: 19px;
    font-weight: 800;
}

:where(.theme-v2) .modal-header .close {
    color: var(--muted) !important;
    opacity: 1;
    text-shadow: none;
}

:where(.theme-v2) .modal-body {
    padding: 18px 22px;
    color: var(--ink-2);
}

:where(.theme-v2) .modal-footer {
    border-top: 0;
    padding: 0 22px 22px;
}

/* ---------- 10. taby a breadcrumb ---------- */
:where(.theme-v2) .nav-tabs {
    border-bottom: 1px solid var(--line);
}

:where(.theme-v2) .nav-tabs:before {
    display: none;
}

:where(.theme-v2) .nav-tabs > li > a {
    border: 0 !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0;
    margin-bottom: -1px;
    color: var(--muted);
    font-weight: 700;
    padding: 12px 16px;
    background: transparent !important;
}

:where(.theme-v2) .nav-tabs > li > a:hover {
    color: var(--ink);
}

:where(.theme-v2) .nav-tabs > li.active > a,
:where(.theme-v2) .nav-tabs > li.active > a:hover,
:where(.theme-v2) .nav-tabs > li.active > a:focus {
    color: var(--ink);
    border-bottom-color: var(--pcolor) !important;
}

:where(.theme-v2) .nav-tabs > li.active > a:after,
:where(.theme-v2) .nav-tabs > li.active > a:before {
    display: none;
}

:where(.theme-v2) .breadcrumb-line {
    background: var(--sub);
    border-bottom: 1px solid var(--line);
    min-height: 0;
}

:where(.theme-v2) .breadcrumb {
    font-size: 12.5px;
    color: var(--muted);
}

:where(.theme-v2) .breadcrumb > li > a {
    color: var(--ink-2);
    font-weight: 500;
}

:where(.theme-v2) .breadcrumb > .active {
    color: var(--muted);
}

/* ---------- 11. dropdowny, popovery ---------- */
:where(.theme-v2) .dropdown-menu {
    border: 0;
    border-radius: var(--r);
    box-shadow: var(--shadow-pop);
    padding: 6px;
}

:where(.theme-v2) .dropdown-menu > li > a {
    border-radius: var(--r-sm);
    padding: 8px 12px;
    color: var(--ink-2);
    font-weight: 500;
}

:where(.theme-v2) .dropdown-menu > li > a:hover {
    background: var(--sub);
    color: var(--ink);
}

:where(.theme-v2) .dropdown-menu .divider {
    background: var(--line);
    margin: 4px 0;
}

:where(.theme-v2) .popover {
    border: 0;
    border-radius: var(--r);
    box-shadow: var(--shadow-pop);
}

/* =====================================================================
   SHELL
   ===================================================================== */

/* ---------- 12. horný pruh (inline background = portal_pcolor ostáva) ---------- */
:where(.theme-v2) .navbar-top .navbar {
    border: 0;
    box-shadow: none;
}

/* obsah pruhu vertikálne na stred (v1 posúva košík paddingom o 15 px nadol) */
:where(.theme-v2) .navbar-top .navbar-header,
:where(.theme-v2) .navbar-top .secondary-menu {
    display: flex;
    align-items: center;
    height: 53px;
    padding-top: 0;
    padding-bottom: 0;
}

/* Limitless posúva hlavičku o -20 px doľava; v1 to vyrovnával okraj ul, ktorý tu je 0 */
:where(.theme-v2) .navbar-top .navbar-header {
    margin-left: 0;
}

:where(.theme-v2) .navbar-top .navbar-header > .navbar-nav,
:where(.theme-v2) .navbar-top .secondary-menu > .navbar-nav {
    display: flex;
    align-items: center;
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    float: none;
}

:where(.theme-v2) .navbar-top .navbar-header > .navbar-nav.visible-xs-block {
    display: none !important;
}

:where(.theme-v2) .navbar-top .secondary-menu > .navbar-nav {
    margin-left: auto;
}

:where(.theme-v2) .navbar-top .navbar-nav > li {
    display: flex;
    align-items: center;
}

:where(.theme-v2) .navbar-top .dropdown-user > .dropdown-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 12px 5px 5px;
    margin: 0;
    border-radius: 999px;
    line-height: 1.15;
}

/* hamburger (len mobil) */
@media (max-width: 991px) {
    :where(.theme-v2) .navbar-top .navbar-header > .navbar-nav.visible-xs-block {
        display: flex !important;
    }
}

:where(.theme-v2) .navbar-top .dropdown-user > .dropdown-toggle:hover,
:where(.theme-v2) .navbar-top .dropdown-user.open > .dropdown-toggle {
    background: rgba(255, 255, 255, .14);
}

:where(.theme-v2) .navbar-top .contact-name {
    font-size: 13.5px;
}

:where(.theme-v2) .navbar-top .company-name {
    font-size: 11.5px;
    line-height: 1.2;
    opacity: .85;
}

/* selektor musí prebiť Limitless .navbar-nav > .dropdown-user > a > span (padding 4,5 px) */
:where(.theme-v2) .navbar-nav > .dropdown-user > a > .user-initials,
:where(.theme-v2) .user-initials {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .22);
    display: grid;
    place-items: center;
    line-height: 1;
    text-align: center;
    padding: 0;
    margin: 0;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .02em;
    flex: none;
}

/* svetlá farba tenanta (navbar bez .navbar-inverse, text #333) */
:where(.theme-v2) .navbar:not(.navbar-inverse) .user-initials {
    background: rgba(0, 0, 0, .08);
}

:where(.theme-v2) .navbar:not(.navbar-inverse) .dropdown-user > .dropdown-toggle:hover,
:where(.theme-v2) .navbar:not(.navbar-inverse) .dropdown-user.open > .dropdown-toggle {
    background: rgba(0, 0, 0, .06);
}

/* vyhľadávanie: rovnaká výška a stred ako pilulka košíka */
:where(.theme-v2) .navbar-top .secondary-menu .hidden-xs.hidden-sm {
    align-items: center;
}

:where(.theme-v2) .navbar-top .rbt {
    margin-top: 0;
    height: 38px;
    border-radius: 999px;
    min-width: 340px;
    padding-left: 38px;
    padding-right: 14px;
    background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237c848c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='7'/><path d='m20 20-3.5-3.5'/></svg>") no-repeat 13px center;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .04);
}

:where(.theme-v2) .navbar-top .rbt input,
:where(.theme-v2) .navbar-top .rbt .rbt-input-main,
:where(.theme-v2) .navbar-top .rbt .form-control {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    height: 38px;
    padding-left: 0;
    color: var(--ink);
    font-size: 13.5px;
}

:where(.theme-v2) .rbt-menu.dropdown-menu {
    border-radius: var(--r);
    box-shadow: var(--shadow-pop);
}

/* okraj medzi položkami hlavičky (.secondary-menu li v offeris.css) zasiahne aj položky našepkávača;
   pri šírke 100 % potom pretečú a menu dostane vodorovný posuvník */
:where(.theme-v2) .navbar-top .secondary-menu .rbt-menu > li {
    margin-left: 0;
}

/* košík v hornom pruhu: biela pilulka s počtom položiek */
:where(.theme-v2) .top-basket {
    position: relative;
}

:where(.theme-v2) .top-basket > a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 38px;
    padding: 0 14px 0 12px;
    border-radius: 999px;
    background: #fff;
    color: var(--ink) !important;
    font-weight: 800;
    font-size: 13.5px;
    white-space: nowrap;
}

:where(.theme-v2) .top-basket > a .icon-cart {
    color: var(--pcolor);
    font-size: 18px;
    margin-right: 0;
}

:where(.theme-v2) .top-basket .basket-count {
    position: absolute;
    left: 24px;
    top: -5px;
    min-width: 18px;
    height: 18px;
    border-radius: 999px;
    background: var(--ink);
    color: #fff;
    font-size: 10.5px;
    font-weight: 800;
    display: grid;
    place-items: center;
    padding: 0 5px;
    line-height: 1;
}

/* hover popup košíka */
:where(.theme-v2) .basket-pop {
    border: 0;
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-pop);
    padding: 16px;
    color: var(--ink);
}

:where(.theme-v2) .basket-pop hr {
    border-color: var(--line);
    margin: 10px 0 0;
}

:where(.theme-v2) .basket-pop a b {
    font-weight: 700;
    color: var(--ink);
}

:where(.theme-v2) .basket-pop img.img-responsive {
    border-radius: var(--r-sm);
    background: var(--sub);
}

:where(.theme-v2) .basket-pop > .panel-body {
    background: var(--sub) !important;
    border-radius: var(--r);
    color: var(--ink-2);
}

/* ---------- 13. sidebar ---------- */
:where(.theme-v2) .sidebar-default,
:where(.theme-v2) .sidebar-default .sidebar-content {
    background: var(--surface);
}

:where(.theme-v2) .sidebar-default {
    border-right: 1px solid var(--line);
    box-shadow: none;
}

:where(.theme-v2) .sidebar-fix img.img-responsive.p-20 {
    border-radius: 8px;
}

:where(.theme-v2) .sidebar-category {
    border-bottom: 1px solid var(--line);
    padding: 6px 12px 10px;
}

/* hlavička sekcie: v1 má inline tint portal_pcolor + "0d" */
:where(.theme-v2) .sidebar-category .category-title {
    background: transparent !important;
    border-bottom: 0;
    padding: 10px 10px 6px;
}

:where(.theme-v2) .sidebar-category .category-title > span {
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--muted);
}

:where(.theme-v2) .sidebar-category .category-title .icons-list {
    right: 10px;
}

:where(.theme-v2) .sidebar-category .category-title .icons-list i {
    color: var(--muted);
    font-size: 14px;
}

:where(.theme-v2) .sidebar-default .navigation {
    padding: 0;
}

:where(.theme-v2) .sidebar-default .navigation li > a,
:where(.theme-v2) .sidebar-default .navigation-alt li > a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: var(--r-sm);
    color: var(--ink-2);
    font-size: 13.5px;
    font-weight: 500;
    min-height: 0;
    line-height: 1.4;
}

:where(.theme-v2) .sidebar-default .navigation li > a:hover,
:where(.theme-v2) .sidebar-default .navigation li > a:focus {
    background: var(--sub);
    color: var(--ink);
}

:where(.theme-v2) .sidebar-default .navigation li > a.active,
:where(.theme-v2) .sidebar-default .navigation li.active > a {
    background: var(--pcolor-soft);
    color: var(--pcolor-ink);
    font-weight: 700;
}

/* odkazy s inline farbou tenanta (Najčastejšie odoberané, Výrobcovia) */
:where(.theme-v2) .sidebar-default .navigation li > a[style*="color"] {
    font-weight: 700;
}

:where(.theme-v2) .sidebar-default .navigation li > a > i.menu-icon {
    float: none;
    top: 0;
    font-size: 15px;
    color: var(--muted);
    width: 16px;
    margin: 0;
    flex: none;
}

:where(.theme-v2) .sidebar-default .navigation li > a[style*="color"] > i.menu-icon {
    color: inherit;
}

:where(.theme-v2) .sidebar-default .navigation li > a.has-ul:after {
    margin-left: auto;
    position: static;
    color: var(--muted);
    transition: transform .2s ease-in-out;
}

/* rozbalená kategória: šípka nadol. CatalogueMenu nedáva li triedu active (rozbalenie je
   v stave Reactu), zbalené podmenu má inline display: none */
:where(.theme-v2) .sidebar-default .navigation li:has(> ul:not([style*="none"])) > a.has-ul:after {
    transform: rotate(90deg);
}

:where(.theme-v2) .sidebar-default .navigation li ul {
    background: transparent;
    padding: 2px 0 4px 16px;
}

:where(.theme-v2) .sidebar-default .navigation li ul li > a {
    font-size: 13px;
    padding: 6px 10px;
}

/* obchodník */
:where(.theme-v2) .sidebar-category > .media-list {
    margin: 4px 0 0;
}

:where(.theme-v2) .sidebar-category > .media-list > .media {
    display: flex;
    gap: 12px;
    padding: 12px;
    margin: 0;
    background: var(--sub);
    border-radius: var(--r);
}

:where(.theme-v2) .sidebar-category > .media-list > .media > .media-left {
    padding: 0;
}

:where(.theme-v2) .sidebar-category .media-logo {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    background: #e9ecef;
}

:where(.theme-v2) .sidebar-category .media-heading .text-semibold {
    font-size: 13.5px;
    color: var(--ink);
}

:where(.theme-v2) .sidebar-category .media-heading .text-muted,
:where(.theme-v2) .sidebar-category .media-heading .text-muted a {
    font-size: 12.5px;
    color: var(--ink-2);
}

:where(.theme-v2) .sidebar-category .media-heading .text-muted i {
    color: var(--muted);
    font-size: 12px;
}

/* ---------- 14. obsah a footer ---------- */
/* pätička na spodku obrazovky, keď je obsahu málo; pri dlhšom obsahu ostáva pod ním.
   .content-wrapper je v Limitless bunka tabuľky, tu flex stĺpec s výškou okna pod pruhom.
   Len v shelli B2B (.navbar-top), login má vlastný .content-wrapper. */
:where(.theme-v2) .navbar-top .page-content > .content-wrapper {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 50px);
}

:where(.theme-v2) .navbar-top .content-wrapper > .portal-footer-wrap {
    margin-top: auto;
}

:where(.theme-v2) .portal-footer,
:where(.theme-v2) .portal-footer-black {
    font-size: 13px;
    line-height: 1.65;
}

:where(.theme-v2) .portal-footer .p-10,
:where(.theme-v2) .portal-footer-black .p-10 {
    padding: 28px 24px 18px !important;
}

:where(.theme-v2) .portal-footer h2,
:where(.theme-v2) .portal-footer-black h2 {
    font-size: 15px;
    font-weight: 800;
    letter-spacing: .02em;
    margin: 0 0 10px;
}

:where(.theme-v2) .portal-footer h2 {
    color: #fff;
}

:where(.theme-v2) .portal-footer {
    color: rgba(255, 255, 255, .8);
}

:where(.theme-v2) .portal-second-footer {
    background: #1c1c1b;
    color: #9a9a97;
    font-size: 12px;
}

:where(.theme-v2) .portal-second-footer .pt-10 {
    padding-top: 10px;
    padding-bottom: 10px;
}

:where(.theme-v2) .portal-second-footer a {
    color: #9a9a97;
}

:where(.theme-v2) .portal-second-footer a:hover {
    color: #fff;
}

/* =====================================================================
   NÁSTENKA
   ===================================================================== */

/* Produkty (dlaždice kategórií) idú na koniec, dlaždice dokladov nad ne.
   Poradie v JSX sa nemení, len vizuálne cez flex order. */
:where(.theme-v2) .dashboard-row {
    display: flex;
    flex-wrap: wrap;
}

:where(.theme-v2) .dashboard-row:before,
:where(.theme-v2) .dashboard-row:after {
    display: none;
}

:where(.theme-v2) .dashboard-row > [class*=col-] {
    float: none;
    display: flex;
}

:where(.theme-v2) .dashboard-row > [class*=col-] > .panel {
    flex: 1;
}

:where(.theme-v2) .dashboard-row > .dashboard-products-col {
    order: 10;
}

@media (min-width: 1200px) {
    :where(.theme-v2) .dashboard-row > .col-lg-6 {
        width: 33.3333%;
    }
}

:where(.theme-v2) .dashboard-tile > .panel-heading {
    display: flex;
    align-items: center;
    gap: 16px;
    border-bottom: 0;
    padding: 20px 20px 10px;
}

:where(.theme-v2) .dashboard-tile > .panel-heading > h6.panel-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--ink);
    transition: color .15s;
}

:where(.theme-v2) .dashboard-tile:hover {
    box-shadow: var(--shadow-hover);
}

:where(.theme-v2) .dashboard-tile:not(.product-menu):hover > .panel-heading > h6.panel-title {
    color: var(--pcolor-ink);
}

:where(.theme-v2) .dashboard-tile .tile-icon {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    background: var(--pcolor-soft);
    color: var(--pcolor);
    display: grid;
    place-items: center;
    flex: none;
}

:where(.theme-v2) .dashboard-tile .tile-icon i {
    font-size: 30px;
}

:where(.theme-v2) .dashboard-tile > .panel-body {
    padding: 4px 20px 16px;
}

:where(.theme-v2) .dashboard-tile .media-list {
    margin: 0;
}

:where(.theme-v2) .dashboard-tile .media-list > li.link {
    margin: 0;
    padding: 8px 0;
    border-top: 1px solid var(--line);
    font-size: 13.5px;
}

:where(.theme-v2) .dashboard-tile .media-list > li.link:first-child {
    border-top: 0;
}

:where(.theme-v2) .dashboard-tile .media-list > li.link > a {
    display: flex;
    align-items: center;
    color: var(--ink-2);
    font-weight: 500;
}

:where(.theme-v2) .dashboard-tile .media-list > li.link > a:after {
    content: "\e9c3"; /* icomoon arrow-right13 */
    font-family: icomoon;
    font-size: 12px;
    margin-left: auto;
    padding-left: 8px;
    color: var(--muted);
}

:where(.theme-v2) .dashboard-tile .media-list > li.link > a:hover {
    color: var(--pcolor-ink);
}

/* v1 farbí dlaždice cez .quotation-menu, .order-menu ... - v2 jednotne */
:where(.theme-v2) .dashboard-tile.quotation-menu,
:where(.theme-v2) .dashboard-tile.product-menu,
:where(.theme-v2) .dashboard-tile.order-menu,
:where(.theme-v2) .dashboard-tile.invoice-menu,
:where(.theme-v2) .dashboard-tile.warehouse-menu,
:where(.theme-v2) .dashboard-tile.contact-menu,
:where(.theme-v2) .dashboard-tile.other-menu {
    background: var(--surface);
    border: 0;
    color: var(--ink);
    /* v1 má pevných 200 px; v2 podľa obsahu, v riadku rovnaká výška cez flex */
    height: auto;
}

:where(.theme-v2) .dashboard-tile.product-menu {
    background: transparent;
    box-shadow: none;
}

:where(.theme-v2) .dashboard-tile.product-menu:hover {
    box-shadow: none;
}

:where(.theme-v2) .dashboard-tile.product-menu > .panel-heading {
    padding: 8px 4px 12px;
}

:where(.theme-v2) .dashboard-tile.product-menu > .panel-body {
    padding: 0;
}

/* dlaždice kategórií */
:where(.theme-v2) .panel.catalogue {
    border-radius: var(--r);
    box-shadow: var(--shadow);
    margin-bottom: 12px;
    transition: box-shadow .15s, transform .15s;
}

:where(.theme-v2) a:hover > .panel.catalogue {
    box-shadow: var(--shadow-hover);
    transform: translateY(-1px);
}

:where(.theme-v2) .panel.catalogue > .panel-body {
    padding: 12px 14px !important;
    min-height: 62px;
}

:where(.theme-v2) .panel.catalogue .cat-thumb {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: var(--sub);
    overflow: hidden;
}

:where(.theme-v2) .panel.catalogue .cat-title {
    color: var(--ink);
    font-weight: 700;
    font-size: 13.5px;
    line-height: 40px;
    padding-left: 0;
}

:where(.theme-v2) .panel.catalogue > .panel-body > .row {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0;
}

:where(.theme-v2) .panel.catalogue > .panel-body > .row:before,
:where(.theme-v2) .panel.catalogue > .panel-body > .row:after {
    display: none;
}

:where(.theme-v2) .panel.catalogue > .panel-body > .row > [class*=col-] {
    float: none;
    width: auto;
    padding: 0;
    min-width: 0;
}

:where(.theme-v2) .panel.catalogue > .panel-body > .row > [class*=col-]:first-child {
    flex: none;
}

:where(.theme-v2) .panel.catalogue > .panel-body > .row > [class*=col-]:last-child {
    flex: 1;
}

:where(.theme-v2) .panel.catalogue > .panel-body > .clearfix {
    display: none;
}

/* karta výrobcu (Producers.js) má rovnakú kostru .panel.catalogue, ale logo a názov sú
   v col-md-12 pod sebou; logo je absolútne pozicované, bez šírky by stĺpec mal 0 px */
:where(.theme-v2) .panel.catalogue > .panel-body > .row {
    flex-wrap: wrap;
}

:where(.theme-v2) .panel.catalogue > .panel-body > .row > .col-md-12 {
    flex: 1 1 100%;
    width: 100%;
}

:where(.theme-v2) .panel.catalogue .product-thumb {
    border-radius: var(--r-sm);
    overflow: hidden;
}

:where(.theme-v2) .panel.catalogue .product-thumb + * ,
:where(.theme-v2) .panel.catalogue .col-md-12 > .center {
    text-align: center;
    font-weight: 700;
    font-size: 13.5px;
    color: var(--ink);
}

/* =====================================================================
   KATALÓG
   ===================================================================== */

/* hlavný panel s hornou linkou (inline borderColor = portal_pcolor) */
:where(.theme-v2) .panel.border-top-xlg {
    border-top-width: 3px;
    overflow: hidden;
}

:where(.theme-v2) .panel.border-top-xlg > .panel-heading .panel-title {
    font-size: 21px;
    font-weight: 800;
}

/* prepínač zoznam / mriežka ako segmentový ovládač */
:where(.theme-v2) .product-toolbox .btn-group {
    display: inline-flex;
    gap: 2px;
    padding: 3px;
    background: var(--sub);
    border: 1px solid var(--line);
    border-radius: 999px;
}

:where(.theme-v2) .product-toolbox .btn-group > .btn {
    border: 0;
    border-radius: 999px !important;
    height: 30px;
    min-width: 34px;
    padding: 0 10px;
    margin: 0;
    background: transparent;
    color: var(--muted);
    float: none;
}

:where(.theme-v2) .product-toolbox .btn-group > .btn[style*="background"] {
    background: #fff !important;
    color: var(--ink) !important;
    box-shadow: 0 1px 3px rgba(23, 25, 28, .14);
    filter: none;
}

:where(.theme-v2) .product-toolbox .input-group.inline {
    margin-left: 24px;
}

:where(.theme-v2) .product-toolbox .input-group.inline label {
    font-size: 12.5px;
    font-weight: 500;
    color: var(--ink-2);
    padding-right: 10px;
}

:where(.theme-v2) .product-toolbox .input-group.inline .form-control {
    border-radius: var(--r-sm) !important;
    height: 34px;
    width: auto;
}

/* stepper množstva: tlačidlá −/+ okolo pôvodného input.amount-input */
:where(.theme-v2) .input-group.amount-group {
    display: flex;
    align-items: stretch;
    width: 100%;
}

:where(.theme-v2) .stepper-btn {
    width: 34px;
    flex: none;
    padding: 0;
    border: 1px solid var(--line-2);
    background: #fff;
    color: var(--ink-2);
    display: grid;
    place-items: center;
    cursor: pointer;
}

:where(.theme-v2) .stepper-btn:hover:not(:disabled) {
    background: var(--sub);
}

:where(.theme-v2) .stepper-btn:disabled {
    color: var(--line-2);
    cursor: not-allowed;
}

:where(.theme-v2) .stepper-btn i {
    font-size: 12px;
}

:where(.theme-v2) .stepper-minus {
    border-right: 0;
    border-radius: 999px 0 0 999px;
}

:where(.theme-v2) .stepper-plus {
    border-left: 0;
    border-radius: 0 999px 999px 0;
}

:where(.theme-v2) .stepper-btn + .amount-input,
:where(.theme-v2) .stepper-btn + input.form-control {
    width: 44px !important;
    min-width: 0;
    flex: none;
    height: 38px;
    padding: 0 2px;
    border: 1px solid var(--line-2) !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    text-align: center;
    font-weight: 700;
    box-shadow: none !important;
    -moz-appearance: textfield;
}

:where(.theme-v2) .stepper-btn + .amount-input::-webkit-outer-spin-button,
:where(.theme-v2) .stepper-btn + .amount-input::-webkit-inner-spin-button,
:where(.theme-v2) .stepper-btn + input.form-control::-webkit-outer-spin-button,
:where(.theme-v2) .stepper-btn + input.form-control::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

:where(.theme-v2) .input-group.amount-group > .input-group-btn {
    display: flex;
    width: auto;
    flex: 1;
    padding-left: 8px;
}

:where(.theme-v2) .input-group.amount-group > .input-group-btn > .btn {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 38px;
    padding: 0 14px;
    border-radius: 999px !important;
    margin: 0;
}

:where(.theme-v2) .btn .btn-text {
    font-weight: 700;
    white-space: nowrap;
}

:where(.theme-v2) .form-group-material {
    margin-bottom: 0;
}

/* dostupnosť ako štítok (inline color: green prebité) */
:where(.theme-v2) .product-warehouse-available,
:where(.theme-v2) .product-warehouse-unavailable {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 9px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 700;
    white-space: nowrap;
    line-height: 18px;
}

:where(.theme-v2) .product-warehouse-available {
    background: var(--ok-soft);
    color: var(--ok) !important;
}

:where(.theme-v2) .product-warehouse-unavailable {
    background: var(--warn-soft);
    color: var(--warn);
}

/* text nedostupnosti je ešte vo vnútornom <span>, gap štítka sa naň nevzťahuje */
:where(.theme-v2) .product-warehouse-unavailable > span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

:where(.theme-v2) .product-warehouse-available .icon,
:where(.theme-v2) .product-warehouse-unavailable .icon {
    font-size: 12px;
    margin-right: 0;
    color: inherit !important;
}

/* stuha zľavy -> štítok v rohu */
:where(.theme-v2) .discount {
    left: 12px;
    top: 12px;
    width: auto;
    height: auto;
    overflow: visible;
    text-align: left;
}

:where(.theme-v2) .discount span {
    position: static;
    transform: none;
    -webkit-transform: none;
    width: auto;
    display: inline-block;
    padding: 0 9px;
    line-height: 22px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 800;
    box-shadow: none;
}

:where(.theme-v2) .discount span:before,
:where(.theme-v2) .discount span:after {
    display: none;
}

:where(.theme-v2) .type-select:focus,
:where(.theme-v2) .type-select:focus-visible {
    outline: 0;
    border-color: var(--pcolor);
    box-shadow: 0 0 0 2px var(--pcolor-ring);
}

:where(.theme-v2) .type-select {
    height: 30px;
    border: 1px solid var(--line-2);
    border-radius: var(--r-sm);
    background: #fff;
    padding: 0 8px;
    font-size: 12.5px;
    color: var(--ink);
    max-width: 100%;
}

/* ---------- produktová dlaždica ---------- */
:where(.theme-v2) .panel.product-tile {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: box-shadow .15s;
}

:where(.theme-v2) .panel.product-tile:hover {
    box-shadow: var(--shadow-hover);
}

:where(.theme-v2) .panel.product-tile > a > .panel-body {
    position: relative;
    padding: 0;
    background: var(--sub);
}

:where(.theme-v2) .panel.product-tile .product-thumb {
    height: 280px;
    mix-blend-mode: multiply;
}

:where(.theme-v2) .panel.product-tile .product-thumb img {
    padding: 16px;
}

/* spodok dlaždice: v1 má inline ružový tint portal_pcolor + "0d" */
:where(.theme-v2) .panel.product-tile .panel-body-accent {
    background: var(--surface) !important;
    text-align: left;
    padding: 16px 18px 18px;
    flex: 1;
    height: auto !important;
    display: flex;
    flex-direction: column;
}

:where(.theme-v2) .panel.product-tile .panel-body-accent > div:first-child {
    height: auto !important;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 10px;
}

:where(.theme-v2) .panel.product-tile .product-name {
    font-size: 14.5px;
    font-weight: 700;
    line-height: 1.35;
    color: var(--ink);
    height: auto;
    min-height: 39px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

:where(.theme-v2) .panel.product-tile a:hover .product-name {
    color: var(--pcolor-ink);
}

/* ako v1 (height: 18px; overflow: hidden) je vidieť len prvý riadok: pri produkte s typmi
   výber typu na celú šírku, " | katalóg" sa zalomí a skryje; bez typov "obj. číslo | katalóg" */
/* 3 px okolo prvého riadku, aby výber typu nebol orezaný ani so zvýraznením pri fokuse;
   druhý riadok (od ~41 px) ostáva skrytý */
:where(.theme-v2) .panel.product-tile .product-info {
    height: auto;
    max-height: 36px;
    padding: 3px;
    line-height: 30px;
    overflow: hidden;
    margin: 0 -3px;
    font-size: 12.5px;
    color: var(--muted);
}

:where(.theme-v2) .panel.product-tile .product-info .type-select {
    vertical-align: middle;
}

:where(.theme-v2) .panel.product-tile .product-info a {
    color: var(--muted);
}

/* cena hore, pod ňou stepper + Pridať do košíka na celú šírku */
:where(.theme-v2) .panel.product-tile .panel-body-accent > span {
    margin-top: auto;
}

:where(.theme-v2) .panel.product-tile .panel-body-accent > span > .row {
    margin: 0;
}

:where(.theme-v2) .panel.product-tile .panel-body-accent > span > .row > [class*=col-] {
    display: flex;
    flex-direction: column;
    padding: 0;
    float: none;
    width: 100%;
}

:where(.theme-v2) .panel.product-tile .panel-body-accent > span > .row > [class*=col-] .row {
    display: contents;
}

:where(.theme-v2) .panel.product-tile .panel-body-accent > span > .row > [class*=col-] .row > [class*=col-] {
    float: none;
    width: 100%;
    padding: 0;
    min-height: 0;
}

:where(.theme-v2) .panel.product-tile .tile-buy-col {
    order: 10;
    margin-top: 12px;
}

:where(.theme-v2) .panel.product-tile h3.text-semibold {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -.02em;
}

:where(.theme-v2) .panel.product-tile .text-size-mini {
    font-size: 12px;
}

/* ---------- riadok v zozname produktov ---------- */
:where(.theme-v2) .table-responsive > .table {
    margin: 0;
}

:where(.theme-v2) .table.table-lg > tbody > tr > td {
    padding: 12px 14px;
}

:where(.theme-v2) .table td.td-main {
    position: relative;
}

:where(.theme-v2) .table td.td-main b {
    font-weight: 700;
}

/* bublina so zľavou naľavo od názvu (v JSX je pred odkazom s názvom); dlhý názov sa zalomí vedľa nej */
:where(.theme-v2) .table td.td-main .discount {
    position: static;
    float: left;
    margin: 0 8px 4px 0;
}

:where(.theme-v2) .table h3.text-semibold {
    font-size: 17px;
    font-weight: 800;
}

:where(.theme-v2) .table td.buy-cell {
    width: 1% !important;
    min-width: 210px;
}

:where(.theme-v2) .table td.buy-cell .input-group-btn > .btn {
    flex: none;
    width: 42px;
    padding: 0;
}

/* text „Pridať do košíka" ukazuje len karta na mobile (koniec súboru), v riadku stačí ikona */
:where(.theme-v2) .table td.buy-cell .btn .btn-text {
    display: none;
}

/* podkategórie */
:where(.theme-v2) .sub-catalogues .panel.catalogue {
    margin-bottom: 12px;
}

/* =====================================================================
   DETAIL PRODUKTU
   ===================================================================== */
:where(.theme-v2) .product-no-types h1,
:where(.theme-v2) .product-with-types h1,
:where(.theme-v2) .panel h1.no-margin-top {
    font-size: 26px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -.01em;
    color: var(--ink);
}

:where(.theme-v2) .picture-wrapper {
    border-radius: var(--r-lg);
    background: var(--sub);
    overflow: hidden;
}

:where(.theme-v2) .picture-wrapper .discount {
    left: 12px;
    top: 12px;
}

:where(.theme-v2) .product-pictures img,
:where(.theme-v2) .product-carousel .thumb img {
    border-radius: var(--r-sm);
}

:where(.theme-v2) .carousel .thumb {
    border-radius: var(--r-sm);
    border: 0 !important;
    box-shadow: 0 0 0 1px var(--line);
}

:where(.theme-v2) .carousel .thumb.selected,
:where(.theme-v2) .carousel .thumb:hover {
    box-shadow: 0 0 0 2px var(--pcolor);
}

/* hlavný obrázok na sivom podklade .picture-wrapper ako v mocku (v1 dáva slidu biele pozadie s !important) */
:where(.theme-v2) .product-carousel .carousel .slide {
    background: transparent !important;
}

/* šípky galérie: biele okrúhle tlačidlo s tieňom namiesto sivého obdĺžnika z v1.
   v1 (offeris.css) nastavuje pozadie a top/bottom cez !important, preto !important aj tu */
:where(.theme-v2) .product-carousel .carousel.carousel-slider .control-arrow {
    top: 50% !important;
    bottom: auto !important;
    width: 34px;
    height: 34px;
    margin-top: -17px;
    padding: 0;
    border-radius: 50%;
    background: #fff !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    opacity: 1;
    display: grid;
    place-items: center;
}

:where(.theme-v2) .product-carousel .carousel.carousel-slider .control-arrow:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
}

:where(.theme-v2) .product-carousel .carousel.carousel-slider .control-prev.control-arrow {
    left: 10px;
}

:where(.theme-v2) .product-carousel .carousel.carousel-slider .control-next.control-arrow {
    right: 10px;
}

/* trojuholník knižnice nahradí chevron */
:where(.theme-v2) .product-carousel .carousel.carousel-slider .control-arrow:before {
    width: 8px;
    height: 8px;
    margin: 0;
    border: 0;
    border-top: 2px solid var(--ink-2);
    border-right: 2px solid var(--ink-2);
}

:where(.theme-v2) .product-carousel .carousel.carousel-slider .control-next.control-arrow:before {
    transform: translateX(-2px) rotate(45deg);
}

:where(.theme-v2) .product-carousel .carousel.carousel-slider .control-prev.control-arrow:before {
    transform: translateX(2px) rotate(-135deg);
}

/* rámik vybraného náhľadu (box-shadow 2 px) by .thumbs-wrapper s overflow: hidden zhora orezal */
:where(.theme-v2) .carousel .thumbs-wrapper {
    padding-top: 3px;
}

:where(.theme-v2) .product-no-types .obadge,
:where(.theme-v2) .product-with-types .obadge {
    border-radius: 999px;
}

/* cenový blok (price-row) */
:where(.theme-v2) .price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 16px 0;
    margin: 20px 0 0;
    padding: 18px 20px;
    background: var(--sub);
    border-radius: var(--r-lg);
}

:where(.theme-v2) .price-row:before,
:where(.theme-v2) .price-row:after {
    display: none;
}

:where(.theme-v2) .price-row > [class*=col-] {
    float: none;
    padding: 0;
}

:where(.theme-v2) .price-row > .pt-20 {
    padding-top: 0 !important;
    display: flex;
    justify-content: flex-end;
    margin-left: auto;
}

:where(.theme-v2) .price-row .price {
    /* offeris.css .price má margin-top 20 px - v cenovom bloku zbytočná medzera navrchu */
    margin-top: 0;
    font-size: 12.5px;
    color: var(--muted);
    line-height: 1.6;
}

:where(.theme-v2) .price-row .price b {
    color: var(--ink-2);
}

:where(.theme-v2) .price-row .main-price,
:where(.theme-v2) .panel .price .main-price {
    display: inline-block;
    font-size: 30px;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.1;
    margin-top: 8px;
}

:where(.theme-v2) .price-row .main-price + div,
:where(.theme-v2) .price-row .main-price ~ div {
    font-size: 13.5px;
    color: var(--ink-2);
}

:where(.theme-v2) .price-row .amount-group {
    max-width: 380px;
}

:where(.theme-v2) .price-row .stepper-btn,
:where(.theme-v2) .price-row .stepper-btn + .amount-input,
:where(.theme-v2) .price-row .amount-group > .input-group-btn > .btn {
    height: 44px;
}

:where(.theme-v2) .price-row .stepper-btn {
    width: 38px;
}

:where(.theme-v2) .price-row .stepper-btn + .amount-input {
    width: 48px !important;
}

:where(.theme-v2) .price-row .amount-group > .input-group-btn > .btn {
    font-size: 14px;
    padding: 0 20px;
}

:where(.theme-v2) .unavailable-text {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border-radius: 999px;
    background: var(--warn-soft);
    color: var(--warn);
    font-weight: 700;
    font-size: 13px;
}

/* varianty (typy) */
:where(.theme-v2) .type-tile > .row {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 4px 12px;
    align-items: center;
    margin: 6px 12px 6px 0;
    padding: 12px;
    border: 0;
    border-radius: var(--r);
    background: #fff;
    box-shadow: 0 0 0 1px var(--line-2);
    text-align: left;
    position: relative;
    height: auto;
    transition: box-shadow .15s, background-color .15s;
}

:where(.theme-v2) .type-tile > .row:before,
:where(.theme-v2) .type-tile > .row:after {
    display: none;
}

:where(.theme-v2) .type-tile > .row:hover {
    box-shadow: 0 0 0 1px #b8bec5;
}

/* aktívny typ: v1 má inline borderColor portal_pcolor */
:where(.theme-v2) .type-tile > .row.active {
    border: 0 !important;
    box-shadow: 0 0 0 2px var(--pcolor);
    background: var(--pcolor-soft);
}

:where(.theme-v2) .type-tile > .row.active:after {
    content: "";
    display: block;
    position: absolute;
    right: 10px;
    top: 10px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--pcolor) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='m5 12 5 5 9-10'/></svg>") center/11px no-repeat;
}

:where(.theme-v2) .type-tile > .row > [class*=col-] {
    float: none;
    width: auto;
    padding: 0;
}

:where(.theme-v2) .type-tile > .row > [class*=col-]:first-child {
    grid-row: span 3;
    height: 56px;
    display: grid;
    place-items: center;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
}

:where(.theme-v2) .type-tile > .row > [class*=col-]:first-child img {
    max-height: 56px !important;
}

:where(.theme-v2) .type-tile > .row strong {
    font-size: 13px;
    line-height: 1.3;
    font-weight: 700;
    padding-right: 18px;
    display: block;
}

:where(.theme-v2) .type-tile > .row .text-size-large {
    font-size: 14px;
    font-weight: 800;
}

/* vlastnosti */
:where(.theme-v2) .panel .table-xs,
:where(.theme-v2) .panel .properties-table {
    border-radius: var(--r);
    overflow: hidden;
    box-shadow: 0 0 0 1px var(--line);
}

/* taby detailu */
:where(.theme-v2) .nav.nav-tabs.product-tabs {
    margin-top: 12px;
}

:where(.theme-v2) .nav-tabs > li > a {
    text-transform: none;
    font-size: 13.5px;
}

/* =====================================================================
   KOŠÍK
   ===================================================================== */
:where(.theme-v2) .basket-amount {
    display: flex;
    align-items: stretch;
    width: max-content;
}

:where(.theme-v2) .basket-amount .stepper-btn {
    height: 34px;
    width: 30px;
}

:where(.theme-v2) .basket-amount .stepper-btn + .form-control {
    height: 34px;
    width: 46px !important;
}

:where(.theme-v2) .basket-amount .form-control[disabled] {
    background: var(--sub);
}

:where(.theme-v2) .btn.basket-remove {
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--muted);
}

:where(.theme-v2) .btn.basket-remove:hover {
    background: var(--danger-soft);
    color: var(--danger);
}

:where(.theme-v2) .panel hr {
    border-color: var(--line);
}

/* doprava ako voliteľné karty (rovnaký type-tile ako varianty, iné rozloženie) */
:where(.theme-v2) .transports h5 {
    font-size: 15px;
    font-weight: 800;
    margin-bottom: 10px;
}

:where(.theme-v2) .transports .type-tile {
    float: none;
    width: 100%;
}

:where(.theme-v2) .transports .type-tile > .row {
    grid-template-columns: 1fr auto;
    margin: 0 0 8px;
    padding: 14px 46px 14px 16px;
}

:where(.theme-v2) .transports .type-tile > .row > [class*=col-]:first-child {
    grid-row: auto;
    height: auto;
    display: block;
    background: transparent;
    font-weight: 700;
    text-align: left;
}

:where(.theme-v2) .transports .transport-price {
    font-size: 16px;
    font-weight: 800;
    color: var(--ink);
    text-align: right;
}

/* sumár: v1 má inline tint portal_pcolor + "2e" */
:where(.theme-v2) .summary-finalPrices {
    background: var(--sub) !important;
    border-radius: var(--r-lg);
    overflow: hidden;
}

:where(.theme-v2) .summary-finalPrices > tbody > tr > td {
    border-top: 0;
    padding: 7px 18px;
    color: var(--ink-2);
}

:where(.theme-v2) .summary-finalPrices > tbody > tr:first-child > td {
    padding-top: 14px;
}

:where(.theme-v2) .summary-finalPrices > tbody > tr:last-child > td {
    padding-bottom: 14px;
}

:where(.theme-v2) .summary-finalPrices > tbody > tr > td.text-right {
    color: var(--ink);
    font-weight: 800;
}

/* formulár potvrdenia objednávky */
:where(.theme-v2) .panel h3,
:where(.theme-v2) .panel h4,
:where(.theme-v2) .panel h5 {
    font-weight: 800;
}

/* prázdne stavy (košík, zoznamy bez záznamov): v1 má inline tint portal_pcolor + "4e" */
:where(.theme-v2) .empty-state {
    background: var(--sub) !important;
    border-radius: var(--r);
    margin: 0 20px 20px;
    color: var(--ink-2);
    font-size: 15px !important;
}

:where(.theme-v2) .basket-pop > .empty-state {
    margin: 0;
}

/* DMS dlaždice: v1 má inline tint portal_pcolor + "0d" */
:where(.theme-v2) .panel-body-accent {
    background: var(--surface) !important;
}

/* hover košík v hornom pruhu */
:where(.theme-v2) .basket-pop .basket-pop-row {
    display: grid;
    grid-template-columns: 44px 1fr auto 34px;
    gap: 12px;
    align-items: center;
    margin: 0;
}

:where(.theme-v2) .basket-pop .basket-pop-row:before,
:where(.theme-v2) .basket-pop .basket-pop-row:after {
    display: none;
}

:where(.theme-v2) .basket-pop .basket-pop-row > [class*=col-] {
    float: none;
    width: auto;
    padding: 0;
    min-width: 0;
}

:where(.theme-v2) .basket-pop .basket-pop-row > [class*=col-]:first-child img {
    width: 44px;
    height: 44px;
    object-fit: contain;
}

:where(.theme-v2) .basket-pop .basket-pop-row .row {
    font-size: 12px;
    color: var(--muted);
}

:where(.theme-v2) .basket-pop .basket-pop-row a b {
    font-size: 13px;
}

:where(.theme-v2) .basket-pop .basket-pop-row .btn {
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--muted);
}

:where(.theme-v2) .basket-pop .basket-pop-row .btn:hover {
    background: var(--danger-soft);
    color: var(--danger);
}

:where(.theme-v2) .basket-pop > div[style*="float"] {
    padding-top: 14px;
}

/* =====================================================================
   LOGIN
   ===================================================================== */
:where(.theme-v2) .login-form {
    width: 400px;
    max-width: calc(100% - 32px);
    margin: 32px auto;
    padding: 24px 24px 28px;
    border-radius: var(--r-lg);
    box-shadow: var(--shadow);
}

:where(.theme-v2) .login-form img.center-block {
    border-radius: 8px;
}

:where(.theme-v2) .login-form h5.content-group {
    font-size: 16px;
    font-weight: 800;
    margin: 16px 0;
}

/* Zákazník / Obchodník ako segmentový prepínač */
:where(.theme-v2) .login-form .nav-tabs {
    display: flex;
    padding: 3px;
    margin-bottom: 18px;
    background: var(--sub);
    border: 1px solid var(--line);
    border-radius: 999px;
}

:where(.theme-v2) .login-form .nav-tabs > li {
    flex: 1;
    float: none;
    display: block;
    width: auto;
    margin: 0;
}

:where(.theme-v2) .login-form .nav-tabs > li > a {
    height: 34px;
    line-height: 34px;
    padding: 0 10px;
    margin: 0;
    text-align: center;
    border-radius: 999px !important;
    border-bottom: 0 !important;
    color: var(--muted);
}

:where(.theme-v2) .login-form .nav-tabs > li.active > a,
:where(.theme-v2) .login-form .nav-tabs > li.active > a:hover,
:where(.theme-v2) .login-form .nav-tabs > li.active > a:focus {
    background: #fff !important;
    color: var(--ink);
    box-shadow: 0 1px 3px rgba(23, 25, 28, .14);
}

:where(.theme-v2) .login-form .has-feedback-left .form-control {
    height: 42px;
    padding-left: 38px;
}

:where(.theme-v2) .login-form .has-feedback-left .form-control-feedback {
    height: 42px;
    line-height: 42px;
    width: 38px;
}

:where(.theme-v2) .login-form h5.bg-danger {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    background: var(--danger-soft) !important;
    color: var(--danger) !important;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
}

:where(.theme-v2) .login-form .btn {
    height: 44px;
    font-size: 14px;
    margin-top: 8px;
}

/* =====================================================================
   DETAIL DOKLADU (objednávka, ponuka, faktúra, dodací list)
   ===================================================================== */

/* hlavičky sekcií Dodávateľ / Odberateľ: v1 má inline linku v portal_pcolor */
:where(.theme-v2) .panel h5.border-bottom {
    border-bottom: 1px solid var(--line) !important;
    padding-bottom: 8px;
    margin-bottom: 12px;
    font-size: 15px;
    font-weight: 800;
    color: var(--ink);
}

/* ostatné nadpisy sekcií v hlavičke dokladu (napr. Dodacia adresa) rovnako */
:where(.theme-v2) .panel-body h5.no-margin-bottom {
    font-size: 15px;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 6px !important;
}

:where(.theme-v2) .head-title {
    font-size: 15px;
    font-weight: 800;
}

:where(.theme-v2) .head-border-dashed {
    border-top: 1px solid var(--line);
}

@media (min-width: 768px) {
    :where(.theme-v2) .head-border-left-dashed {
        border-left: 1px solid var(--line);
    }
}

/* Zobraziť viac / menej pri položke: v1 má ružový inline tint portal_pcolor + "2e" */
:where(.theme-v2) h6.item-more-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: auto !important;
    max-width: max-content;
    height: 30px;
    margin: 6px auto 0 !important;
    padding: 0 14px;
    border: 1px solid var(--line-2);
    border-radius: 999px;
    background: var(--surface) !important;
    color: var(--ink-2);
    font-size: 12.5px;
    font-weight: 700;
    transition: background-color .15s, color .15s;
}

:where(.theme-v2) h6.item-more-toggle:hover {
    background: var(--sub) !important;
    color: var(--ink);
}

:where(.theme-v2) h6.item-more-toggle .icon {
    font-size: 12px;
    margin-right: 0;
}

/* ---------- pravý panel dokladu ---------- */
:where(.theme-v2) .document-sidebar,
:where(.theme-v2) .document-sidebar .sidebar-content {
    background: transparent;
    border: 0;
    box-shadow: none;
}

:where(.theme-v2) .document-sidebar .sidebar-content {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-left: 12px;
}

:where(.theme-v2) .document-sidebar .sidebar-content > .row {
    margin: 0;
}

:where(.theme-v2) .document-sidebar .sidebar-content > .row > [class*=col-] {
    padding: 0;
}

/* sekcie ako karty */
:where(.theme-v2) .document-sidebar .sidebar-category {
    background: var(--surface);
    border: 0;
    border-radius: var(--r-lg);
    box-shadow: var(--shadow);
    margin: 0 !important;
    padding: 6px 12px 12px;
}

/* tlačidlá: v1 sú veľké plávajúce bloky s ikonou nad textom (btn-float-lg) */
:where(.theme-v2) .document-sidebar .btn-float {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    height: 46px;
    padding: 0 18px;
    margin: 0;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    box-shadow: none;
}

:where(.theme-v2) .document-sidebar .btn-float > i {
    display: inline-block;
    font-size: 18px;
    margin: 0;
    top: 0;
}

:where(.theme-v2) .document-sidebar .btn-float > span {
    display: inline;
    margin: 0;
    padding: 0;
    font-size: 14px;
}

/* Stiahnuť PDF ako sekundárne tlačidlo */
:where(.theme-v2) .document-sidebar .btn-float.bg-danger-800 {
    background: var(--surface);
    border: 1px solid var(--line-2);
    color: var(--ink);
}

:where(.theme-v2) .document-sidebar .btn-float.bg-danger-800:hover {
    background: var(--sub);
    filter: none;
}

:where(.theme-v2) .document-sidebar .btn-float.bg-danger-800 > i {
    color: var(--danger);
}

/* hlavná akcia (Opakovať objednávku, Schváliť ponuku) */
:where(.theme-v2) .document-sidebar .btn-float.bg-success {
    background: var(--ok);
    border: 0;
    color: #fff;
}

:where(.theme-v2) .document-sidebar .btn-float.bg-success:hover {
    filter: brightness(.92);
}

/* stav Schválené (bez akcie) */
:where(.theme-v2) .document-sidebar div.btn-float.text-success {
    background: var(--ok-soft);
    color: var(--ok);
    border: 0;
    cursor: default;
}

/* súvisiace dokumenty */
:where(.theme-v2) .document-sidebar .media-list .media-body.pl-20 {
    padding-left: 10px !important;
}

:where(.theme-v2) .document-sidebar .media-list .media-heading a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--ink-2);
    font-weight: 700;
}

:where(.theme-v2) .document-sidebar .media-list .media-heading a:hover {
    color: var(--pcolor-ink);
}

:where(.theme-v2) .document-sidebar .media-list .media-heading a > i {
    color: var(--muted);
    margin-right: 0;
}

/* ---------- komunikácia (chat) ---------- */
:where(.theme-v2) .document-sidebar ul.chat {
    padding: 4px 0 0 !important;
    margin: 0;
}

:where(.theme-v2) .chat .media {
    border-bottom: 0;
    padding: 0;
    margin: 0 0 12px;
}

:where(.theme-v2) .chat .media-annotation {
    color: var(--muted);
    font-size: 11.5px;
}

:where(.theme-v2) .chat .media-heading .text-size-large {
    font-size: 12.5px;
    color: var(--ink);
}

:where(.theme-v2) .chat-logo {
    width: 32px;
    height: 32px;
    padding: 0;
    border-radius: 50%;
    object-fit: cover;
    background: var(--sub);
}

/* vlastná správa ostáva vo farbe tenanta (inline), len tvar bubliny */
:where(.theme-v2) .speech-bubble-right,
:where(.theme-v2) .speech-bubble-left {
    border-radius: 14px;
    padding: 8px 12px;
    font-size: 13px;
    line-height: 1.45;
    margin-top: 4px;
}

:where(.theme-v2) .speech-bubble-right {
    border-top-right-radius: 4px;
}

:where(.theme-v2) .speech-bubble-left {
    border-top-left-radius: 4px;
    /* prijatá správa: v1 má inline tint portal_pcolor + "4e" */
    background: var(--sub) !important;
    border-color: var(--sub) !important;
    color: var(--ink);
    box-shadow: inset 0 0 0 1px var(--line);
}

:where(.theme-v2) .speech-bubble-right:after,
:where(.theme-v2) .speech-bubble-left:after {
    display: none;
}

/* nová správa: textarea na celú šírku, pod ňou meno + Odoslať v jednom riadku */
:where(.theme-v2) .chat .new-message {
    margin-top: 8px !important;
    padding: 12px;
    background: var(--sub);
    border-radius: var(--r);
}

:where(.theme-v2) .chat .new-message > .row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0;
}

:where(.theme-v2) .chat .new-message > .row:before,
:where(.theme-v2) .chat .new-message > .row:after {
    display: none;
}

:where(.theme-v2) .chat .new-message > .row > [class*=col-] {
    float: none;
    padding: 0;
    width: auto;
}

:where(.theme-v2) .chat .new-message > .row > .col-md-12 {
    flex: 0 0 100%;
}

:where(.theme-v2) .chat .new-message > .row > .col-md-7 {
    flex: 1;
    min-width: 0;
}

:where(.theme-v2) .chat .new-message > .row > .col-md-5 {
    flex: none;
}

:where(.theme-v2) .chat .new-message textarea.form-control {
    min-height: 72px;
    resize: vertical;
}

:where(.theme-v2) .chat .new-message .form-control[disabled] {
    background: var(--surface);
    color: var(--ink-2);
}

:where(.theme-v2) .chat .new-message .btn {
    float: none !important;
    margin: 0 !important;
    height: 38px;
    padding: 0 18px;
    background: var(--pcolor);
    border: 0;
    color: var(--pcolor-contrast);
}

/* =====================================================================
   ZOZNAMY DOKLADOV
   ===================================================================== */

/* číslo dokladu (aj firma v zozname zákazníkov) má v JSX inline modrú #1E88E5 na span-e
   vnútri odkazu - v2 farba tenanta; ostatné odkazy v tabuľkách (názvy produktov) nemeníme */
:where(.theme-v2) .content-wrapper .table a:not(.btn) > span[style*="color"] {
    color: var(--pcolor-ink) !important;
    font-weight: 700;
}

:where(.theme-v2) .content-wrapper .table a:not(.btn):hover > span[style*="color"] {
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* stav dokladu ako štítok */
:where(.theme-v2) .stateBox {
    display: inline-flex;
    align-items: center;
    height: 24px;
    padding: 0 10px;
    margin: 2px 0;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

:where(.theme-v2) .document-progress-state {
    background: var(--warn-soft);
    color: var(--warn);
}

:where(.theme-v2) .document-end-state {
    background: var(--ok-soft);
    color: var(--ok);
}

/* filter nad zoznamom dokladov / zákazníkov: polia vedľa seba, tlačidlá hneď za nimi
   (v1 je to 12-stĺpcová mriežka, tlačidlá sú v poslednom stĺpci úplne vpravo) */
@media (min-width: 768px) {
    :where(.theme-v2) .document-filter {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        gap: 12px 16px;
        margin: 0 0 16px;
        padding: 0 !important;
    }

    :where(.theme-v2) .document-filter:before,
    :where(.theme-v2) .document-filter:after {
        display: none;
    }

    :where(.theme-v2) .document-filter > [class*=col-] {
        float: none;
        width: auto;
        flex: 0 1 200px;
        min-width: 140px;
        padding: 0;
    }

    :where(.theme-v2) .document-filter > .filter-date {
        flex: 0 1 320px;
    }

    :where(.theme-v2) .document-filter > .filter-spacer {
        display: none;
    }

    :where(.theme-v2) .document-filter > [class*=col-] > .row {
        margin: 0;
    }

    :where(.theme-v2) .document-filter > [class*=col-] > .row > [class*=col-] {
        padding: 0;
    }

    /* Od / Do vedľa seba s medzerou */
    :where(.theme-v2) .document-filter > .filter-date > .row:last-child {
        display: flex;
        gap: 8px;
    }

    :where(.theme-v2) .document-filter > .filter-date > .row:last-child:before,
    :where(.theme-v2) .document-filter > .filter-date > .row:last-child:after {
        display: none;
    }

    :where(.theme-v2) .document-filter > .filter-date > .row:last-child > [class*=col-] {
        flex: 1;
        width: auto;
        float: none;
    }

    :where(.theme-v2) .document-filter .form-group {
        margin-bottom: 0;
    }

    /* tlačidlá: prázdny riadok nad nimi a odsadzovací stĺpec netreba */
    :where(.theme-v2) .document-filter > .filter-actions {
        flex: none;
        min-width: 0;
    }

    :where(.theme-v2) .document-filter > .filter-actions > .row:first-child,
    :where(.theme-v2) .document-filter > .filter-actions > .row > [class*=col-]:first-child {
        display: none;
    }

    :where(.theme-v2) .document-filter > .filter-actions > .row:last-child {
        display: flex;
        gap: 8px;
    }

    :where(.theme-v2) .document-filter > .filter-actions > .row:last-child:before,
    :where(.theme-v2) .document-filter > .filter-actions > .row:last-child:after {
        display: none;
    }

    :where(.theme-v2) .document-filter > .filter-actions > .row > [class*=col-] {
        float: none;
        width: auto;
    }

    :where(.theme-v2) .document-filter > .filter-actions .btn {
        height: 38px;
    }
}

/* popisky polí filtra */
:where(.theme-v2) .document-filter > [class*=col-] > .row:first-child {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--ink-2);
    margin-bottom: 6px;
}

/* mobil: polia pod sebou, ale bez prázdnych odsadzovacích riadkov nad tlačidlami */
@media (max-width: 767px) {
    :where(.theme-v2) .document-filter > .filter-spacer,
    :where(.theme-v2) .document-filter > .filter-actions > .row:first-child,
    :where(.theme-v2) .document-filter > .filter-actions > .row > [class*=col-]:first-child {
        display: none;
    }

    :where(.theme-v2) .document-filter > .filter-actions > .row:last-child {
        display: flex;
        gap: 8px;
        margin: 4px 0 16px;
    }

    :where(.theme-v2) .document-filter > .filter-actions > .row:last-child:before,
    :where(.theme-v2) .document-filter > .filter-actions > .row:last-child:after {
        display: none;
    }

    :where(.theme-v2) .document-filter > .filter-actions > .row > [class*=col-] {
        float: none;
        width: auto;
        padding: 0;
    }
}

/* =====================================================================
   FORMULÁR OSOBY (obchodník: Pridať / Upraviť osobu, ContactModal + LabeledInput)
   v1 má plávajúci hint vnútri poľa, ktorý po kliknutí vyskočí nad pole;
   v2 má popis stále nad poľom ako ostatné formuláre. Logika LabeledInput sa nemení.
   ===================================================================== */
:where(.theme-v2) .floating-label-container {
    padding-top: 0;
    margin-bottom: 10px;
}

:where(.theme-v2) .floating-label-container > span,
:where(.theme-v2) .floating-label-container > span.active {
    position: static;
    display: block;
    margin: 0 0 4px;
    font-size: 12.5px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--ink-2);
    transition: none;
    cursor: pointer;
}

/* nadpisy sekcií Adresa / Doručovacia adresa / Ostatné */
:where(.theme-v2) .modal-body h5.pl-10 {
    padding-left: 0 !important;
    /* stĺpec s nadpisom nemá odsadenie ako stĺpce s poľami (8 px) */
    margin: 4px 8px 8px;
    padding-top: 10px;
    border-top: 1px solid var(--line);
    font-size: 15px;
    font-weight: 800;
    color: var(--ink);
}

/* select krajiny v rovnakom rytme ako polia */
:where(.theme-v2) .modal-body select.form-control {
    margin-bottom: 10px;
}

/* na širokej obrazovke Adresa (riadky 3-6) a Doručovacia adresa (7-10) vedľa seba,
   aby sa formulár zmestil bez scrollovania; poradie riadkov je dané ContactModal.js */
@media (min-width: 992px) {
    :where(.theme-v2) .contact-form {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        column-gap: 16px;
        margin-bottom: 0;
    }

    :where(.theme-v2) .contact-form > .row {
        grid-column: 1 / -1;
        margin-left: -8px;
        margin-right: -8px;
    }

    :where(.theme-v2) .contact-form > .row:nth-child(n+3):nth-child(-n+6) {
        grid-column: 1;
    }

    :where(.theme-v2) .contact-form > .row:nth-child(n+7):nth-child(-n+10) {
        grid-column: 2;
    }

    :where(.theme-v2) .contact-form > .row:nth-child(3),
    :where(.theme-v2) .contact-form > .row:nth-child(7) { grid-row: 3; }
    :where(.theme-v2) .contact-form > .row:nth-child(4),
    :where(.theme-v2) .contact-form > .row:nth-child(8) { grid-row: 4; }
    :where(.theme-v2) .contact-form > .row:nth-child(5),
    :where(.theme-v2) .contact-form > .row:nth-child(9) { grid-row: 5; }
    :where(.theme-v2) .contact-form > .row:nth-child(6),
    :where(.theme-v2) .contact-form > .row:nth-child(10) { grid-row: 6; }
}

/* =====================================================================
   MOBIL – doladenie (nástenka, horný pruh, pätička, detail produktu)
   ===================================================================== */

/* odkazy v dlaždiciach: offeris.css (max-width 1024) z nich robí sivé rámčeky */
:where(.theme-v2) .dashboard-tile .media-list > li.link {
    border: 0;
    border-top: 1px solid var(--line);
    border-radius: 0;
    background: none;
    font-size: 13.5px;
    margin: 0;
    padding: 8px 0;
}

:where(.theme-v2) .dashboard-tile .media-list > li.link:first-child {
    border-top: 0;
}

@media (max-width: 767px) {
    /* stĺpce nástenky (flex) na celú šírku, inak majú šírku podľa obsahu */
    :where(.theme-v2) .dashboard-row > [class*=col-] {
        width: 100%;
    }

    :where(.theme-v2) .dashboard-tile > .panel-heading {
        padding: 16px 16px 8px;
        gap: 12px;
    }

    :where(.theme-v2) .dashboard-tile .tile-icon {
        width: 48px;
        height: 48px;
        border-radius: 14px;
    }

    :where(.theme-v2) .dashboard-tile .tile-icon i {
        font-size: 22px;
    }

    :where(.theme-v2) .dashboard-tile > .panel-body {
        padding: 0 16px 12px;
    }

    :where(.theme-v2) .dashboard-tile > .panel-heading > h6.panel-title {
        font-size: 16px;
    }

    /* horný pruh: meno a firma sa skrátia, košík ostane na obrazovke */
    :where(.theme-v2) .navbar-top .navbar {
        display: flex;
        align-items: center;
    }

    :where(.theme-v2) .navbar-top .navbar-header {
        flex: 0 1 auto;
        min-width: 0;
        float: none;
    }

    :where(.theme-v2) .navbar-top .secondary-menu {
        flex: none;
        margin-left: auto;
        float: none;
    }

    :where(.theme-v2) .navbar-top .navbar-header > .navbar-nav,
    :where(.theme-v2) .navbar-top .navbar-header .dropdown-user,
    :where(.theme-v2) .navbar-top .dropdown-user > .dropdown-toggle {
        min-width: 0;
    }

    :where(.theme-v2) .navbar-top .dropdown-user > .dropdown-toggle > span:not(.user-initials) {
        min-width: 0;
        overflow: hidden;
    }

    :where(.theme-v2) .navbar-top .contact-name,
    :where(.theme-v2) .navbar-top .company-name {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    :where(.theme-v2) .navbar-top .secondary-menu li {
        margin-left: 10px;
    }

    /* pätička: zarovnanie do bloku robí na úzkom displeji diery medzi slovami */
    :where(.theme-v2) .portal-footer .text-justify,
    :where(.theme-v2) .portal-footer-black .text-justify {
        text-align: left;
    }

    :where(.theme-v2) .portal-footer .p-10,
    :where(.theme-v2) .portal-footer-black .p-10 {
        padding: 20px 16px 8px !important;
    }

    /* ---------- detail produktu ---------- */
    :where(.theme-v2) .product-carousel .slide div {
        height: 300px;
    }

    :where(.theme-v2) .panel h1.no-margin-top {
        font-size: 21px;
    }

    /* logo výrobcu menšie */
    :where(.theme-v2) .product-with-types > .row > .text-right,
    :where(.theme-v2) .product-no-types > .row > .text-right {
        text-align: left;
        margin-top: 8px;
    }

    :where(.theme-v2) .product-with-types > .row > .text-right img,
    :where(.theme-v2) .product-no-types > .row > .text-right img {
        max-height: 56px;
        width: auto;
    }

    /* cenový blok: cena nad nákupom, stepper + tlačidlo na celú šírku */
    :where(.theme-v2) .price-row {
        padding: 16px;
    }

    :where(.theme-v2) .price-row > [class*=col-] {
        width: 100%;
    }

    :where(.theme-v2) .price-row > .pt-20 {
        justify-content: stretch;
        margin-left: 0;
    }

    :where(.theme-v2) .price-row .form-group-material {
        width: 100%;
    }

    :where(.theme-v2) .price-row .amount-group {
        max-width: none;
    }

    :where(.theme-v2) .price-row .main-price {
        font-size: 26px;
    }

    /* varianty na celú šírku (v1: pevných 250 px) */
    :where(.theme-v2) .type-tile {
        float: none;
        width: 100%;
    }

    :where(.theme-v2) .type-tile > .row {
        margin: 6px 0;
    }

    /* záložky: Limitless ich pod 769 px robí zvislým zoznamom s tieňom */
    :where(.theme-v2) .nav.nav-tabs.product-tabs {
        display: flex;
        overflow-x: auto;
        box-shadow: none;
        border: 0;
        border-bottom: 1px solid var(--line);
        background: transparent;
        padding: 0;
        margin-bottom: 16px;
    }

    :where(.theme-v2) .nav.nav-tabs.product-tabs > li {
        float: none;
        flex: none;
        border: 0;
    }

    :where(.theme-v2) .nav.nav-tabs.product-tabs > li > a {
        white-space: nowrap;
        padding: 12px 14px;
    }
}

/* zväčšenie obrázka (react-image-lightbox): knižnica dáva overlayu inline z-index 1000,
   horný pruh (.navbar-fixed-top) má 1030 a prekrýval lištu s krížikom na zavretie */
:where(.theme-v2) .ReactModal__Overlay {
    z-index: 2000 !important;
}

:where(.theme-v2) .ril__toolbar {
    background: rgba(0, 0, 0, .55);
}

:where(.theme-v2) .ril__closeButton,
:where(.theme-v2) .ril__zoomInButton,
:where(.theme-v2) .ril__zoomOutButton {
    width: 44px;
    height: 44px;
    background-size: 22px;
}

/* =====================================================================
   TABUĽKY NA MOBILE (Mock C, docs/redesign/mock-c-mobil-tabulky.html)
   Pod 768 px sa riadok zoznamu produktov (ProductRow, tr.product-row), položka košíka
   (tr.basket-item) a položka dokladu (tbody s tr.item-row) zobrazia ako karta.
   JSX ostáva tabuľkou; cenové bunky nesú text hlavičky stĺpca v data-label, ktorý
   sa vypíše cez :before. Žiadne nové dáta ani texty.
   ===================================================================== */
@media (max-width: 767px) {
    /* ---------- spoločné: tabuľka bez hlavičky, karty pod sebou ---------- */
    :where(.theme-v2) .table-responsive:has(> .table > tbody > tr:is(.product-row, .basket-item, .item-row)) {
        overflow: visible;
        border: 0;
        margin-bottom: 0;
    }

    :where(.theme-v2) .table:has(> tbody > tr:is(.product-row, .basket-item, .item-row)) > thead {
        display: none;
    }

    :where(.theme-v2) .table:has(> tbody > tr:is(.product-row, .basket-item, .item-row)),
    :where(.theme-v2) .table:has(> tbody > tr:is(.product-row, .basket-item, .item-row)) > tbody {
        display: block;
        width: 100%;
    }

    /* Bootstrap dáva bunkám v .table-responsive nowrap; buy-cell má inline šírku.
       :has je v :where, aby spoločné pravidlá mali nízku váhu a konkrétne bunky ich prebili */
    :where(.theme-v2) .table-responsive > .table:where(:has(> tbody > tr:is(.product-row, .basket-item, .item-row))) > tbody > tr > td {
        display: block;
        width: auto !important;
        min-width: 0;
        padding: 0;
        border: 0;
        white-space: normal;
        text-align: left;
    }

    :where(.theme-v2) .table:where(:has(> tbody > tr:is(.product-row, .basket-item, .item-row))) > tbody > tr > td[data-label]:not([data-label=""]):before {
        content: attr(data-label);
        display: block;
        font-size: 11.5px;
        font-weight: 500;
        line-height: 1.35;
        color: var(--muted);
    }

    :where(.theme-v2) .table > tbody > tr:is(.product-row, .basket-item) {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        margin-bottom: 10px;
        padding: 12px;
        border: 1px solid var(--line);
        border-radius: var(--r);
        background: var(--surface);
    }

    /* ---------- zoznam produktov ---------- */
    :where(.theme-v2) .table > tbody > tr.product-row {
        gap: 10px;
    }

    :where(.theme-v2) .table-responsive > .table > tbody > tr.product-row > td.td-main {
        grid-column: 1 / -1;
        padding-left: 0 !important; /* .td-main v offeris.css má 30 px s !important */
        font-size: 14px;
        line-height: 1.3;
    }

    :where(.theme-v2) .table > tbody > tr.product-row > td.pr-type {
        grid-column: 1 / -1;
    }

    :where(.theme-v2) .table > tbody > tr.product-row > td.pr-type .type-select {
        width: 100%;
    }

    :where(.theme-v2) .table > tbody > tr.product-row > td.pr-cat,
    :where(.theme-v2) .table > tbody > tr.product-row > td.pr-cat a {
        font-size: 12px;
        color: var(--muted);
    }

    :where(.theme-v2) .table > tbody > tr.product-row > td.pr-stock {
        justify-self: end;
        font-size: 12px;
    }

    :where(.theme-v2) .table > tbody > tr.product-row > td.pr-price {
        align-self: end;
    }

    :where(.theme-v2) .table > tbody > tr.product-row > td.pr-price h3.text-semibold {
        font-size: 20px;
        line-height: 1.1;
    }

    :where(.theme-v2) .table-responsive > .table > tbody > tr.product-row > td.pr-vat {
        align-self: end;
        text-align: right;
        font-size: 12px;
    }

    :where(.theme-v2) .table > tbody > tr.product-row > td.buy-cell {
        grid-column: 1 / -1;
    }

    :where(.theme-v2) .table > tbody > tr.product-row > td.buy-cell .form-group {
        margin: 0;
    }

    :where(.theme-v2) .table > tbody > tr.product-row > td.buy-cell .input-group-btn > .btn {
        flex: 1;
        width: auto;
        padding: 0 14px;
    }

    :where(.theme-v2) .table > tbody > tr.product-row > td.buy-cell .btn .btn-text {
        display: inline;
    }

    /* produkt sa už nepredáva: názov, číslo, katalóg, text a náhrady pod sebou */
    :where(.theme-v2) .table > tbody > tr.product-row-replaced > td {
        grid-column: 1 / -1;
    }

    /* ---------- košík ---------- */
    :where(.theme-v2) .table > tbody > tr.basket-item {
        position: relative;
    }

    :where(.theme-v2) .table > tbody > tr.basket-item > td.bi-no {
        position: absolute;
        top: 12px;
        left: 12px;
        font-weight: 700;
        color: var(--muted);
    }

    :where(.theme-v2) .table > tbody > tr.basket-item > td.bi-name {
        grid-column: 1 / -1;
        padding-left: 22px;
        margin-bottom: 4px;
        line-height: 1.3;
    }

    :where(.theme-v2) .table > tbody > tr.basket-item > td.bi-meta,
    :where(.theme-v2) .table > tbody > tr.basket-item > td.bi-meta a {
        margin-bottom: 10px;
        font-size: 12px;
        color: var(--muted);
    }

    /* cenový blok: popisok nad hodnotou po dvoch, súčty na celú šírku */
    :where(.theme-v2) .table > tbody > tr.basket-item > td:is(.bi-price, .bi-total) {
        padding: 8px 10px;
        background: var(--sub);
        font-weight: 700;
    }

    /* prvá cena začína nový riadok, aj keď je výrobca vypnutý a číslo je v riadku samo */
    :where(.theme-v2) .table > tbody > tr.basket-item > td.bi-amount + td.bi-price {
        grid-column-start: 1;
        border-top-left-radius: var(--r-sm);
    }

    :where(.theme-v2) .table > tbody > tr.basket-item > td.bi-amount + td.bi-price + td.bi-price {
        border-top-right-radius: var(--r-sm);
    }

    :where(.theme-v2) .table > tbody > tr.basket-item > td.bi-total {
        grid-column: 1 / -1;
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        gap: 10px;
    }

    :where(.theme-v2) .table > tbody > tr.basket-item > td.bi-price + td.bi-total {
        border-top: 1px solid var(--line);
    }

    :where(.theme-v2) .table > tbody > tr.basket-item > td.bi-total:has(+ td.bi-remove) {
        border-radius: 0 0 var(--r-sm) var(--r-sm);
    }

    :where(.theme-v2) .table > tbody > tr.basket-item > td.bi-total:before {
        display: inline;
    }

    :where(.theme-v2) .table > tbody > tr.basket-item > td:is(.bi-amount, .bi-remove) {
        order: 1;
        margin-top: 10px;
    }

    :where(.theme-v2) .table-responsive > .table > tbody > tr.basket-item > td.bi-amount {
        grid-column: 1;
        padding-right: 0 !important; /* .pr-20 z Limitless má !important */
    }

    :where(.theme-v2) .table > tbody > tr.basket-item > td.bi-remove {
        grid-column: 2;
        justify-self: end;
        align-self: center;
    }

    :where(.theme-v2) .table > tbody > tr.basket-item .basket-amount .stepper-btn,
    :where(.theme-v2) .table > tbody > tr.basket-item .basket-amount .stepper-btn + .form-control {
        height: 38px;
    }

    :where(.theme-v2) .table > tbody > tr.basket-item .btn.basket-remove {
        width: 38px;
        height: 38px;
        border: 1px solid var(--line-2);
    }

    /* ---------- položky dokladu: karta = tbody položky ---------- */
    :where(.theme-v2) .items-table:has(> tbody > tr.item-row) > tbody {
        margin-bottom: 10px;
        padding: 12px;
        border: 1px solid var(--line);
        border-radius: var(--r);
        background: var(--surface);
    }

    :where(.theme-v2) .items-table:has(> tbody > tr.item-row) > tbody.dotted {
        margin-left: 12px;
        border-style: dashed;
    }

    /* :nth-child(n) kvôli váhe pravidla .items-table tbody tr:first-child (orámovanie) z offeris.css */
    :where(.theme-v2) .items-table:where(:has(> tbody > tr.item-row)) > tbody > tr:nth-child(n) {
        display: block;
        border: 0;
    }

    /* ceny na sivom podklade riadku; číslo a názov ho prekryjú bielou */
    :where(.theme-v2) .items-table > tbody > tr.item-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        background: var(--sub);
        border-radius: var(--r-sm);
        overflow: hidden;
    }

    :where(.theme-v2) .table-responsive > .items-table > tbody > tr.item-row > td[data-label] {
        padding: 8px 10px;
        font-weight: 700;
    }

    :where(.theme-v2) .table-responsive > .items-table > tbody > tr.item-row > td:is(.item-name, .item-col-item_number, .item-claim) {
        grid-column: 1 / -1;
        background: var(--surface);
    }

    :where(.theme-v2) .table-responsive > .items-table > tbody > tr.item-row > td.item-col-item_number {
        order: -2;
        padding: 0 0 2px;
        font-size: 12px;
        font-weight: 500;
        color: var(--muted);
    }

    :where(.theme-v2) .items-table > tbody > tr.item-row > td.item-col-item_number:before {
        display: none;
    }

    :where(.theme-v2) .table-responsive > .items-table > tbody > tr.item-row > td.item-name {
        order: -1;
        padding-bottom: 10px;
        line-height: 1.3;
    }

    :where(.theme-v2) .items-table > tbody > tr.item-row > td:is(.item-col-item_price_total, .item-col-item_price_incl_vat) {
        order: 1;
        grid-column: 1 / -1;
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        gap: 10px;
        border-top: 1px solid var(--line);
    }

    :where(.theme-v2) .items-table > tbody > tr.item-row > td:is(.item-col-item_price_total, .item-col-item_price_incl_vat):before {
        display: inline;
    }

    :where(.theme-v2) .items-table > tbody > tr.item-row > td.item-col-item_price_incl_vat {
        font-size: 15px;
    }

    :where(.theme-v2) .table-responsive > .items-table > tbody > tr.item-row > td.item-claim {
        order: 2;
        padding-top: 8px;
    }

    /* popis a obrázok položky, „Zobraziť viac" */
    :where(.theme-v2) .table-responsive > .items-table > tbody > tr:is(.item-desc-row, .item-details-row) > td {
        padding-top: 10px;
    }

    :where(.theme-v2) .items-table > tbody > tr.item-desc-row img {
        max-width: 120px;
        margin-bottom: 8px;
    }

    /* poznámka a medzisúčet: prázdne bunky stĺpcov sa nezobrazia */
    :where(.theme-v2) .items-table > tbody > tr > td.item-empty {
        display: none;
    }

    :where(.theme-v2) .items-table > tbody > tr.subcount {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 6px 16px;
    }
}

/* obrázok košíka v modáli (pridané do košíka, poďakovanie za objednávku/dopyt): pod 992 px je
   stĺpec Col md=3 na celú šírku a obrázok by bol veľký a pri ľavom okraji */
@media (max-width: 991px) {
    :where(.theme-v2) .modal-body .modal-basket-img {
        width: 120px;
        margin: 0 auto 12px;
    }
}
