/**
 * Eshop — hlavička, pätička a spoločné sekcie.
 *
 * Hodnoty sú prepísané 1:1 z inline štýlov v TabkyEshopHeader.dc.html
 * a TabkyFooter.dc.html. Handoff je high-fidelity, takže sa neupravujú.
 */

/*
 * POZOR na špecificitu obrázkov.
 *
 * WooCommerce má pravidlo `.woocommerce img, .woocommerce-page img { height:auto; max-width:100% }`
 * so špecificitou (0,1,1). Selektor s jedinou triedou (0,1,0) mu podľahne a obrázok
 * sa roztiahne na šírku rodiča — pri logu s natívnou šírkou 6357 px to znamená
 * niekoľkostonásobok. Preto sa pri obrázkoch píše `img.trieda`, nie len `.trieda`.
 */


/* ------------------------------------------------------------------ */
/*  Hlavička                                                           */
/* ------------------------------------------------------------------ */

.tk-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: var(--tk-bg);
    border-bottom: 1px solid var(--tk-border);
}

.tk-header__inner {
    max-width: var(--tk-max);
    margin: 0 auto;
    padding: 0 32px;
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.tk-header__logo {
    display: block;
    flex: 0 0 auto;
    text-decoration: none;
}

.tk-header__logo img {
    height: 22px;
    width: auto;
    display: block;
}

.tk-header__nav {
    display: flex;
    align-items: center;
    gap: 32px;
}

.tk-header__nav-link {
    font-size: 14px;
    font-weight: var(--tk-fw-bold);
    color: var(--tk-text-body);
    text-decoration: none;
}

.tk-header__nav-link:hover,
.tk-header__nav-link.is-current {
    color: var(--tk-indigo);
}

.tk-header__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
}

.tk-header__icon-btn,
.tk-header__hamburger {
    width: 44px;
    height: 44px;
    /* Astra dáva každému button padding 12px 24px — v 44 px tlačidle by ikone
       nezostalo miesto (SVG malo 0 px šírky, hamburger bol prázdny štvorec). */
    padding: 0;
    flex: 0 0 auto;
    border-radius: var(--tk-r-input);
    background: var(--tk-bg-alt);
    border: 1px solid var(--tk-border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--tk-text-muted);
    text-decoration: none;
    cursor: pointer;
}

.tk-header__hamburger {
    display: none;
    color: var(--tk-text-body);
}

.tk-header__cart {
    position: relative;
}

.tk-header__cart-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 19px;
    height: 19px;
    padding: 0 4px;
    border-radius: var(--tk-r-pill);
    background: var(--tk-indigo);
    color: #fff;
    font-size: 10px;
    font-weight: var(--tk-fw-heavy);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Prázdny košík odznak neukazuje — v prototype je celý schovaný. */
.tk-header__cart-badge.is-empty {
    display: none;
}

.tk-header__cta {
    display: inline-flex;
    align-items: center;
    padding: 12px 18px;
    border-radius: var(--tk-r-button);
    background: var(--tk-indigo);
    color: #fff;
    font-size: 13px;
    font-weight: var(--tk-fw-heavy);
    text-decoration: none;
    white-space: nowrap;
}

.tk-header__cta:hover {
    background: var(--tk-indigo-hover);
    color: #fff;
}

.tk-header__cta-icon {
    display: none;
}

.tk-header__dropdown {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 12px;
    border-top: 1px solid var(--tk-border);
    background: var(--tk-bg);
}

.tk-header__dropdown[hidden] {
    display: none;
}

.tk-header__dropdown-link {
    font-size: 15px;
    font-weight: var(--tk-fw-bold);
    color: var(--tk-text);
    text-decoration: none;
    padding: 14px 16px;
    border-radius: var(--tk-r-input);
}

.tk-header__dropdown-link:hover {
    background: var(--tk-bg-alt);
}

@media (max-width: 860px) {
    .tk-header__nav { display: none; }
    .tk-header__hamburger { display: flex; }
}

@media (max-width: 560px) {
    .tk-header__inner { padding: 0 16px; }
    .tk-header__cta-label { display: none; }
    .tk-header__cta-icon { display: block; }
    .tk-header__cta { padding: 12px 14px; }
}

/* ------------------------------------------------------------------ */
/*  Pätička                                                            */
/* ------------------------------------------------------------------ */

.tk-footer {
    background: var(--tk-navy);
    color: #fff;
}

.tk-footer__grid {
    max-width: var(--tk-max);
    margin: 0 auto;
    padding: 64px 32px 32px;
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 48px;
}

.tk-footer__brand img {
    height: 26px;
    width: auto;
    display: block;
}

.tk-footer__blurb {
    margin: 16px 0 0;
    font-size: 14px;
    line-height: 1.7;
    color: var(--tk-text-faint);
    max-width: 26em;
}

.tk-footer__social {
    display: flex;
    gap: 10px;
    margin-top: 24px;
}

.tk-footer__social-item {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: rgba(255, 255, 255, .06);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}

.tk-footer__social-item:hover {
    background: rgba(255, 255, 255, .12);
    color: #fff;
}

.tk-footer__col-title {
    font-size: 11px;
    font-weight: var(--tk-fw-heavy);
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--tk-text-soft);
    margin-bottom: 18px;
}

.tk-footer__links {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.tk-footer__link {
    font-size: 14px;
    color: var(--tk-border-muted);
    text-decoration: none;
}

.tk-footer__link:hover {
    color: #fff;
}

/*
 * Pripomenutie zákonnej zodpovednosti za vady — povinné na webovom sídle
 * od 27. 9. 2026. Je nad copyrightom a tlmenejšie než odkazy v stĺpcoch:
 * je to poučenie, nie navigácia.
 */
.tk-footer__legal {
    max-width: var(--tk-max);
    margin: 0 auto;
    padding: 18px 32px 0;
    font-size: 12px;
    line-height: 1.6;
    color: var(--tk-text-soft);
}

.tk-footer__legal a {
    color: inherit;
    text-decoration: underline;
}

.tk-footer__bottom {
    max-width: var(--tk-max);
    margin: 0 auto;
    padding: 24px 32px;
    border-top: 1px solid rgba(255, 255, 255, .08);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 12.5px;
    color: var(--tk-text-soft);
}

@media (max-width: 760px) {
    .tk-footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
        padding: 48px 24px 28px;
    }
}

@media (max-width: 480px) {
    .tk-footer__grid { grid-template-columns: 1fr; }
    .tk-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ------------------------------------------------------------------ */
/*  Hero                                                               */
/* ------------------------------------------------------------------ */

.tk-hero {
    background: var(--tk-navy);
    position: relative;
    overflow: hidden;
}

/* Radiálny svit vpravo hore — čisto dekoratívny, preto aria-hidden. */
.tk-hero__glow {
    position: absolute;
    top: -160px;
    right: -140px;
    width: 560px;
    height: 560px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(79, 70, 229, .22), transparent 68%);
}

.tk-hero__grid {
    max-width: var(--tk-max);
    margin: 0 auto;
    padding: 88px 32px 80px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .85fr);
    gap: 56px;
    align-items: center;
    position: relative;
    z-index: 2;
}

.tk-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 7px 15px;
    border-radius: 20px;
    background: rgba(79, 70, 229, .16);
    border: 1px solid rgba(129, 140, 248, .3);
    font-size: 12.5px;
    font-weight: var(--tk-fw-bold);
    color: #A5B4FC;
    margin-bottom: 26px;
}

.tk-hero__title {
    margin: 0;
    font-size: var(--tk-fs-hero);
    line-height: 1.08;
    letter-spacing: -.03em;
    font-weight: var(--tk-fw-black);
    color: #fff;
    max-width: 11.5em;
    text-wrap: balance;
}

.tk-hero__lead {
    margin: 22px 0 0;
    font-size: 17px;
    line-height: 1.65;
    color: #B6C0D9;
    max-width: 28em;
}

.tk-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}

.tk-hero__cta {
    padding: 16px 28px;
    font-size: 15px;
}

.tk-hero__cta.tk-btn--primary {
    box-shadow: 0 12px 28px rgba(79, 70, 229, .35);
}

.tk-hero__cta.tk-btn--ghost {
    padding: 16px 26px;
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .14);
}

.tk-hero__stats {
    display: flex;
    gap: 32px;
    margin-top: 44px;
    padding-top: 28px;
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.tk-hero__stat-value {
    font-size: 24px;
    font-weight: var(--tk-fw-black);
    color: #fff;
}

.tk-hero__stat-label {
    font-size: 12px;
    color: #7C89A8;
    margin-top: 2px;
}

.tk-hero__media {
    position: relative;
    aspect-ratio: 1 / 1;
    border-radius: var(--tk-r-panel);
    overflow: hidden;
    background: linear-gradient(160deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .01));
    border: 1px solid rgba(255, 255, 255, .08);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 36px;
}

/* Obsah panela je 3D tabuľka, štýly v plate3d.css. */

@media (max-width: 980px) {
    .tk-hero__grid {
        grid-template-columns: 1fr;
        padding: 56px 24px;
    }
}

/* Na telefóne je panel 1:1 široký ~340 px; 3D tabuľka s prepínačom sa doň zmestí len s menším odsadením. */
@media (max-width: 640px) {
    .tk-hero__media { padding: 20px; }
}

@media (max-width: 640px) {
    .tk-hero__title { font-size: 32px; }
    .tk-hero__stats { flex-wrap: wrap; gap: 20px; }
}

/* ------------------------------------------------------------------ */
/*  Sekcie                                                             */
/* ------------------------------------------------------------------ */

.tk-section--bordered { border-top: 1px solid var(--tk-border); }

.tk-section__head {
    text-align: center;
    margin-bottom: 52px;
}

.tk-section__head--split {
    text-align: left;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 36px;
    flex-wrap: wrap;
    gap: 12px;
}

.tk-section__eyebrow {
    font-size: 11.5px;
    font-weight: var(--tk-fw-heavy);
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--tk-indigo);
    margin-bottom: 10px;
}

.tk-section__title {
    margin: 0;
    font-size: 32px;
    font-weight: var(--tk-fw-black);
    letter-spacing: -.02em;
    color: var(--tk-text);
}

.tk-section__head--split .tk-section__title { font-size: 30px; }

.tk-section__aside {
    font-size: 13.5px;
    font-weight: var(--tk-fw-bold);
    color: var(--tk-text-faint);
}

/* ------------------------------------------------------------------ */
/*  Ako to funguje                                                     */
/* ------------------------------------------------------------------ */

.tk-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.tk-step {
    padding: 32px;
    border: 1px solid var(--tk-border);
    border-radius: var(--tk-r-panel);
    background: var(--tk-bg-alt);
}

.tk-step__icon {
    width: 48px;
    height: 48px;
    border-radius: var(--tk-r-button);
    background: var(--tk-indigo-tint);
    color: var(--tk-indigo);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.tk-step__number {
    font-size: 12px;
    font-weight: var(--tk-fw-heavy);
    color: var(--tk-text-faint);
    margin-bottom: 6px;
}

.tk-step__title {
    font-size: 17px;
    font-weight: var(--tk-fw-heavy);
    color: var(--tk-text);
    margin-bottom: 8px;
}

.tk-step__text {
    font-size: 14px;
    line-height: 1.6;
    color: var(--tk-text-soft);
}

@media (max-width: 980px) {
    .tk-steps { grid-template-columns: 1fr; }
}

/* ------------------------------------------------------------------ */
/*  Mriežka produktov                                                  */
/* ------------------------------------------------------------------ */

.tk-product-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.tk-product-card {
    text-decoration: none;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--tk-border);
    border-radius: var(--tk-r-card);
    overflow: hidden;
    background: var(--tk-bg);
    transition: box-shadow .18s ease, border-color .18s ease;
}

.tk-product-card:hover {
    box-shadow: var(--tk-shadow-lift);
    border-color: var(--tk-indigo-border);
}

/* Diagonálne pruhy za produktom — z prototypu, nahrádzajú fotopozadie. */
.tk-product-card__media {
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: repeating-linear-gradient(135deg,
        var(--tk-bg-tint), var(--tk-bg-tint) 11px,
        var(--tk-divider) 11px, var(--tk-divider) 22px);
    padding: 16px;
}

.tk-product-card__media img {
    max-height: 150px;
    max-width: 100%;
    object-fit: contain;
}

/* Render tabuľky na svetlom pozadí vypĺňa celé médium, pruhy ani odsadenie netreba. */
.tk-product-card__media--photo {
    padding: 0;
    background: var(--tk-bg-tint);
    height: 250px;
}

.tk-product-card__media--photo img {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
}

.tk-product-card__body {
    padding: 18px 18px 20px;
    border-top: 1px solid var(--tk-border);
}

.tk-product-card__category {
    font-size: 10.5px;
    font-weight: var(--tk-fw-heavy);
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--tk-text-faint);
    margin-bottom: 6px;
}

.tk-product-card__name {
    font-size: 15px;
    font-weight: var(--tk-fw-heavy);
    color: var(--tk-text);
    line-height: 1.35;
}

.tk-product-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 14px;
    color: var(--tk-indigo);
}

.tk-product-card__price {
    font-size: 14.5px;
    font-weight: var(--tk-fw-black);
    color: var(--tk-indigo);
}

.tk-product-card__price del { opacity: .5; font-weight: var(--tk-fw-bold); }

.tk-product-soon {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: 1px dashed var(--tk-border-muted);
    border-radius: var(--tk-r-card);
    padding: 24px;
    gap: 10px;
}

.tk-product-soon__icon {
    width: 40px;
    height: 40px;
    border-radius: var(--tk-r-input);
    background: var(--tk-indigo-tint);
    color: var(--tk-indigo);
    display: flex;
    align-items: center;
    justify-content: center;
}

.tk-product-soon__title {
    font-size: 13.5px;
    font-weight: var(--tk-fw-heavy);
    color: var(--tk-text);
}

.tk-product-soon__text {
    font-size: 12.5px;
    color: var(--tk-text-faint);
}

@media (max-width: 980px) {
    .tk-product-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
    .tk-product-grid { grid-template-columns: 1fr; }
}

/* ------------------------------------------------------------------ */
/*  Referencia                                                         */
/* ------------------------------------------------------------------ */

.tk-testimonial__inner {
    max-width: 1000px;
    margin: 0 auto;
    padding-inline: 32px;
    text-align: center;
}

.tk-testimonial__stars {
    display: flex;
    justify-content: center;
    gap: 4px;
    margin-bottom: 18px;
}

.tk-testimonial__quote {
    font-size: 24px;
    font-weight: var(--tk-fw-bold);
    line-height: 1.5;
    color: var(--tk-text);
    max-width: 34em;
    margin: 0 auto;
}

.tk-testimonial__author {
    margin-top: 20px;
    font-size: 14px;
    font-weight: var(--tk-fw-bold);
    color: var(--tk-text-soft);
}

/* ------------------------------------------------------------------ */
/*  Tmavý CTA banner                                                   */
/* ------------------------------------------------------------------ */

.tk-cta-banner {
    background: var(--tk-navy);
    padding: 64px 32px;
}

.tk-cta-banner__inner {
    max-width: var(--tk-max);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.tk-cta-banner__title {
    margin: 0;
    font-size: 28px;
    font-weight: var(--tk-fw-black);
    color: #fff;
    letter-spacing: -.02em;
}

.tk-cta-banner__text {
    margin: 10px 0 0;
    font-size: 14.5px;
    color: #B6C0D9;
}

.tk-cta-banner .tk-btn {
    padding: 16px 28px;
    font-size: 14.5px;
    white-space: nowrap;
}

/* ------------------------------------------------------------------ */
/*  Tmavé záhlavie podstránky                                          */
/* ------------------------------------------------------------------ */

.tk-page-hero {
    background: var(--tk-navy);
    padding: 72px 32px;
}

.tk-page-hero__inner {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.tk-page-hero__title {
    margin: 0 0 14px;
    font-size: var(--tk-fs-h1);
    font-weight: var(--tk-fw-black);
    letter-spacing: -.02em;
    color: #fff;
}

.tk-page-hero__lead {
    margin: 0;
    font-size: 15px;
    color: #B6C0D9;
    line-height: 1.6;
}

/* ------------------------------------------------------------------ */
/*  Formuláre a hlásenia                                               */
/* ------------------------------------------------------------------ */

.tk-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* .tk-form__label je v base.css — používa ho aj portál. */

.tk-form__trap {
    position: absolute;
    left: -9999px;
}

/* .tk-form__submit je v base.css — používa ho aj portál. */

/* .tk-notice a jeho varianty sú v base.css — hlásenia má aj portál. */

/* ------------------------------------------------------------------ */
/*  Pre firmy                                                          */
/* ------------------------------------------------------------------ */

/* Štýly .tk-b2b odstránené 6. 9. 2026 spolu so stránkou „Pre firmy". */

/* ------------------------------------------------------------------ */
/*  Drobčeková navigácia                                               */
/* ------------------------------------------------------------------ */

.tk-breadcrumb {
    font-size: 13px;
    color: var(--tk-text-faint);
    margin-bottom: 16px;
}

.tk-breadcrumb a {
    color: var(--tk-text-faint);
    text-decoration: none;
}

.tk-breadcrumb a:hover { color: var(--tk-indigo); }

.tk-crumb-sep { margin: 0 8px; }

.tk-breadcrumb__current {
    color: var(--tk-text);
    font-weight: var(--tk-fw-bold);
}

/* ------------------------------------------------------------------ */
/*  Výpis kategórie                                                    */
/* ------------------------------------------------------------------ */

.tk-archive {
    padding-top: 40px;
    padding-bottom: 90px;
}

.tk-archive__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 32px;
}

.tk-archive__title {
    margin: 0;
    font-size: 34px;
    font-weight: var(--tk-fw-black);
    letter-spacing: -.02em;
    color: var(--tk-text);
}

.tk-archive__subtitle {
    margin: 8px 0 0;
    font-size: 14.5px;
    color: var(--tk-text-soft);
}

.tk-product-grid--archive { gap: 22px; }

.tk-archive__empty {
    font-size: 15px;
    color: var(--tk-text-soft);
}

/* ------------------------------------------------------------------ */
/*  Detail produktu                                                    */
/* ------------------------------------------------------------------ */

.tk-visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.tk-product {
    padding-top: 40px;
    padding-bottom: 40px;
}

.tk-product__grid {
    display: grid;
    grid-template-columns: .95fr 1fr;
    gap: 56px;
}

/* Pruhované pozadie nahrádza fotoštúdio — je to zámer dizajnu, nie výplň. */
.tk-product__stage {
    border-radius: var(--tk-r-panel);
    background: repeating-linear-gradient(135deg,
        var(--tk-bg-tint), var(--tk-bg-tint) 11px,
        var(--tk-divider) 11px, var(--tk-divider) 22px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px;
    aspect-ratio: 1 / 1;
}

/* S 3D modelom je scéna štvorec so stĺpcom scéna + prepínač + nápoveda; užšie odsadenie, nech sa zmestí. */
.tk-product__stage--3d { padding: 32px; }

@media (max-width: 640px) {
    .tk-product__stage--3d { padding: 20px; }
}

img.tk-product__image {
    max-width: 82%;
    height: auto;
    filter: drop-shadow(0 24px 40px rgba(15, 23, 42, .18));
}

.tk-product__thumbs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-top: 16px;
}

.tk-product__thumb {
    border-radius: 16px;
    border: 2px solid transparent;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--tk-bg-alt);
    aspect-ratio: 1 / 1;
    cursor: pointer;
}

.tk-product__thumb.is-active { border-color: var(--tk-indigo); }

.tk-product__thumb img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.tk-product__eyebrow {
    font-size: 11.5px;
    font-weight: var(--tk-fw-heavy);
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--tk-indigo);
    margin-bottom: 12px;
}

.tk-product__title {
    margin: 0;
    font-size: 32px;
    font-weight: var(--tk-fw-black);
    letter-spacing: -.02em;
    color: var(--tk-text);
    line-height: 1.2;
}

.tk-product__rating {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
}

.tk-product__stars { display: flex; gap: 2px; }

.tk-product__rating-text {
    font-size: 13px;
    color: var(--tk-text-soft);
    font-weight: var(--tk-fw-bold);
}

.tk-product__price {
    font-size: 32px;
    font-weight: var(--tk-fw-black);
    color: var(--tk-text);
    margin-top: 22px;
}

.tk-product__price .woocommerce-Price-amount { color: var(--tk-text); }

.tk-product__desc {
    margin-top: 18px;
    font-size: 15px;
    line-height: 1.7;
    color: var(--tk-text-muted);
    max-width: 32em;
}

.tk-product__desc p { margin: 0 0 12px; }

/* --- Varianty ako pilulky --- */

.tk-pills {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.tk-pill-option {
    padding: 12px 20px;
    border-radius: var(--tk-r-input);
    font-size: 13px;
    font-weight: var(--tk-fw-heavy);
    border: 1.5px solid var(--tk-border-strong);
    background: var(--tk-bg);
    color: var(--tk-text-body);
    cursor: pointer;
    font-family: inherit;
}

.tk-pill-option.is-active {
    border-color: var(--tk-text);
    background: var(--tk-text);
    color: #fff;
}

/* --- Nastavenie cieľa presmerovania --- */

.tk-setup { margin-top: 24px; }

/*
 * Veta o aktivácii nahradila formulár na cieľ presmerovania (6. 9. 2026).
 * Štýly krokov nižšie zostávajú — sú funkčné a formulár sa dá vrátiť.
 */
.tk-setup__note {
    margin: 0;
    padding: 14px 16px;
    background: var(--tk-bg-alt);
    border: 1px solid var(--tk-border);
    border-radius: var(--tk-r-input);
    font-size: 13.5px;
    line-height: 1.65;
    color: var(--tk-text-body);
}

.tk-setup__label,
.tk-product .label {
    font-size: 12px;
    font-weight: var(--tk-fw-heavy);
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--tk-text-faint);
    margin-bottom: 10px;
}

.tk-setup__modes {
    display: flex;
    gap: 10px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}

.tk-setup__mode {
    padding: 12px 20px;
    border-radius: var(--tk-r-input);
    font-size: 13px;
    font-weight: var(--tk-fw-heavy);
    border: 1.5px solid var(--tk-border-strong);
    background: var(--tk-bg);
    color: var(--tk-text-body);
    cursor: pointer;
}

.tk-setup__mode.is-active {
    border-color: var(--tk-text);
    background: var(--tk-text);
    color: #fff;
}

.tk-setup__mode input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.tk-setup__fields {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.tk-setup__fields[hidden] { display: none; }

.tk-setup__field-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
}

.tk-setup .tk-input {
    padding: 13px 15px;
    font-size: 13.5px;
}

/* --- Množstvo a tlačidlo do košíka --- */

.tk-product .quantity {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--tk-border-strong);
    border-radius: var(--tk-r-button);
    overflow: hidden;
    margin-right: 12px;
}

.tk-product .quantity input {
    width: 52px;
    height: 48px;
    text-align: center;
    font-size: 15px;
    font-weight: var(--tk-fw-heavy);
    color: var(--tk-text);
    border: 0;
    background: var(--tk-bg);
}

/*
 * Šípky, ktoré si prehliadač kreslí do number inputu, by vedľa vlastných
 * tlačidiel boli druhý ovládač na tú istú vec.
 */
.tk-product .quantity input::-webkit-outer-spin-button,
.tk-product .quantity input::-webkit-inner-spin-button,
.tk-cart-item .quantity input::-webkit-outer-spin-button,
.tk-cart-item .quantity input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.tk-product .quantity input[type="number"],
.tk-cart-item .quantity input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

/* Krokovač − 1 + ---------------------------------------------------- */

.tk-qty-btn {
    border: 0;
    background: var(--tk-bg-alt);
    color: #334155;
    font-family: inherit;
    font-weight: var(--tk-fw-heavy);
    cursor: pointer;
    line-height: 1;
}

.tk-qty-btn:hover { background: var(--tk-border-muted); }

.tk-product .quantity .tk-qty-btn {
    width: 44px;
    height: 48px;
    font-size: 18px;
}

.tk-cart-item .quantity .tk-qty-btn {
    width: 34px;
    height: 36px;
    font-size: 15px;
}

.tk-product__qty-label {
    margin-bottom: 10px;
}

.tk-product .single_add_to_cart_button {
    padding: 17px 20px;
    border-radius: var(--tk-r-button);
    background: var(--tk-indigo);
    color: #fff;
    font-size: 14.5px;
    font-weight: var(--tk-fw-heavy);
    border: 0;
    cursor: pointer;
    box-shadow: var(--tk-shadow-cta);
    margin-top: 24px;
    width: 100%;
}

.tk-product .single_add_to_cart_button:hover { background: var(--tk-indigo-hover); }

.tk-product__assurances {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 32px;
    padding-top: 28px;
    border-top: 1px solid var(--tk-border);
}

.tk-product__assurance {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    color: var(--tk-indigo);
}

.tk-product__assurance svg { flex: 0 0 auto; margin-top: 1px; }

.tk-product__assurance-title {
    font-size: 13px;
    font-weight: var(--tk-fw-heavy);
    color: var(--tk-text);
}

.tk-product__assurance-text {
    font-size: 12px;
    color: var(--tk-text-faint);
}

.tk-product__note {
    margin-top: 28px;
    padding: 20px 22px;
    border-radius: var(--tk-r-card-sm);
    background: var(--tk-bg-alt);
    border: 1px solid var(--tk-border);
}

.tk-product__note-title {
    font-size: 13px;
    font-weight: var(--tk-fw-heavy);
    color: var(--tk-text);
    margin-bottom: 6px;
}

.tk-product__note-text {
    font-size: 13px;
    line-height: 1.6;
    color: var(--tk-text-soft);
}

.tk-product__related {
    margin-top: 64px;
    border-top: 1px solid var(--tk-border);
    padding-top: 48px;
}

.tk-product__related-title {
    margin: 0 0 24px;
    font-size: 22px;
    font-weight: var(--tk-fw-black);
    color: var(--tk-text);
}

.tk-product-grid--related .tk-product-card__media { height: 150px; padding: 14px; }
.tk-product-grid--related .tk-product-card__media img { max-height: 120px; }
.tk-product-grid--related .tk-product-card__media--photo { height: 200px; padding: 0; }
.tk-product-grid--related .tk-product-card__media--photo img { max-height: none; }
.tk-product-soon--compact { padding: 20px; gap: 8px; }

@media (max-width: 980px) {
    .tk-product__grid { grid-template-columns: 1fr; gap: 32px; }
}

@media (max-width: 640px) {
    .tk-product .quantity input,
    .tk-product .quantity .tk-qty-btn { height: 44px; }
    .tk-product__assurances { grid-template-columns: 1fr; }
}

/* ------------------------------------------------------------------ */
/*  Košík                                                              */
/* ------------------------------------------------------------------ */

.tk-cart {
    max-width: 1100px;
    margin: 0 auto;
    padding: 44px 32px 100px;
}

.tk-cart__title {
    margin: 0 0 8px;
    font-size: 30px;
    font-weight: var(--tk-fw-black);
    letter-spacing: -.02em;
    color: var(--tk-text);
}

.tk-cart__count {
    margin: 0 0 36px;
    font-size: 14.5px;
    color: var(--tk-text-soft);
}

.tk-cart__cols {
    display: grid;
    /* minmax(0, …) — inak má stĺpec min-content šírku a na mobile pretečie. */
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    gap: 40px;
    align-items: start;
}

.tk-cart__items {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.tk-cart-item {
    display: flex;
    gap: 18px;
    padding: 20px;
    border: 1px solid var(--tk-border);
    border-radius: 20px;
}

.tk-cart-item__media {
    width: 96px;
    height: 96px;
    flex: 0 0 auto;
    border-radius: var(--tk-r-button);
    background: repeating-linear-gradient(135deg,
        var(--tk-bg-tint), var(--tk-bg-tint) 8px,
        var(--tk-divider) 8px, var(--tk-divider) 16px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
}

.tk-cart-item__media img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.tk-cart-item__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 12px;
}

.tk-cart-item__name {
    font-size: 15px;
    font-weight: var(--tk-fw-heavy);
    color: var(--tk-text);
}

.tk-cart-item__name a {
    color: inherit;
    text-decoration: none;
}

.tk-cart-item__meta {
    font-size: 12.5px;
    color: var(--tk-text-faint);
    margin-top: 4px;
}

.tk-cart-item__meta p { margin: 2px 0; }

.tk-cart-item__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.tk-cart-item .quantity {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--tk-border-strong);
    border-radius: var(--tk-r-input);
    overflow: hidden;
}

.tk-cart-item .quantity input {
    width: 40px;
    height: 36px;
    text-align: center;
    font-size: 13.5px;
    font-weight: var(--tk-fw-heavy);
    color: var(--tk-text);
    border: 0;
    background: var(--tk-bg);
}

.tk-cart-item__total {
    font-size: 15px;
    font-weight: var(--tk-fw-black);
    color: var(--tk-text);
}

.tk-cart-item__remove {
    align-self: flex-start;
    color: var(--tk-border-muted);
    background: none;
    border: none;
    cursor: pointer;
    padding: 2px;
    line-height: 0;
}

.tk-cart-item__remove:hover { color: var(--tk-danger); }

.tk-cart__actions {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 8px;
    flex-wrap: wrap;
}

.tk-cart__continue {
    font-size: 13.5px;
    font-weight: var(--tk-fw-heavy);
    text-decoration: none;
}

.tk-cart__update {
    margin-left: auto;
    padding: 10px 16px;
    border-radius: var(--tk-r-input);
    border: 1px solid var(--tk-border-strong);
    background: var(--tk-bg-alt);
    font-size: 12.5px;
    font-weight: var(--tk-fw-heavy);
    color: var(--tk-text-body);
    cursor: pointer;
    font-family: inherit;
}

/* ------------------------------------------------------------------ */
/*  Súhrn objednávky                                                   */
/* ------------------------------------------------------------------ */

.tk-summary {
    border: 1px solid var(--tk-border);
    border-radius: var(--tk-r-card);
    padding: 28px;
    position: sticky;
    top: 96px;
    background: var(--tk-bg);
}

.tk-summary__title {
    font-size: 14px;
    font-weight: var(--tk-fw-heavy);
    color: var(--tk-text);
    margin-bottom: 20px;
}

.tk-summary__row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-size: 13.5px;
    color: var(--tk-text-soft);
    margin-bottom: 10px;
}

.tk-summary__value {
    font-weight: var(--tk-fw-bold);
    color: var(--tk-text);
    text-align: right;
}

.tk-summary__row--coupon .tk-summary__value { color: var(--tk-green); }

.tk-summary__coupon {
    display: flex;
    gap: 8px;
    margin: 18px 0;
}

.tk-summary__coupon .tk-input {
    flex: 1;
    padding: 12px 14px;
    font-size: 13px;
}

.tk-summary__coupon-btn {
    padding: 0 18px;
    border-radius: var(--tk-r-input);
    border: 1px solid var(--tk-border-strong);
    background: var(--tk-bg-alt);
    font-size: 12.5px;
    font-weight: var(--tk-fw-heavy);
    color: var(--tk-text-body);
    cursor: pointer;
    font-family: inherit;
    white-space: nowrap;
}

.tk-summary__total {
    display: flex;
    justify-content: space-between;
    font-size: 16px;
    font-weight: var(--tk-fw-black);
    color: var(--tk-text);
    padding-top: 16px;
    border-top: 1px solid var(--tk-border);
    margin-bottom: 22px;
}

.tk-summary .checkout-button,
.tk-summary .wc-proceed-to-checkout a {
    display: block;
    text-align: center;
    padding: 16px;
    border-radius: var(--tk-r-button);
    background: var(--tk-indigo);
    color: #fff;
    font-size: 14px;
    font-weight: var(--tk-fw-heavy);
    text-decoration: none;
    box-shadow: var(--tk-shadow-cta);
}

@media (max-width: 640px) {
    .tk-cart { padding: 32px 18px 64px; }
    .tk-cart__cols { grid-template-columns: minmax(0, 1fr); }
    .tk-cart-item__row { flex-wrap: wrap; }
    .tk-cart-item .quantity input { width: 44px; height: 44px; }
    .tk-summary { position: static; }
}

/* ------------------------------------------------------------------ */
/*  Checkout                                                           */
/* ------------------------------------------------------------------ */

.woocommerce-checkout .tk-main {
    max-width: var(--tk-max-narrow);
    margin: 0 auto;
    padding: 44px 32px 100px;
}

.woocommerce-checkout .tk-main > .woocommerce {
    display: block;
}

.woocommerce-checkout form.checkout {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    gap: 48px;
    align-items: start;
}

/*
 * Formulár má vďaka vlastnej šablóne (`woocommerce/checkout/form-checkout.php`)
 * presne dva prvky — ľavý stĺpec s údajmi a pravý so súhrnom. Nadpis je vnútri
 * pravého, takže sa od súhrnu nemá ako oddeliť.
 */
.woocommerce-checkout .tk-checkout__main  { grid-column: 1; }
.woocommerce-checkout .tk-checkout__aside { grid-column: 2; }

/* Fakturačné a doručovacie údaje idú pod sebou, nie vedľa seba. */
.woocommerce-checkout .col2-set { display: block; }

/* Nadpis súhrnu je popis nad kartou, nie ďalšia karta — WooCommerce mu dáva
   vlastný rám a odsadenie, ktoré tu pôsobí ako druhý box nad tým skutočným. */
.woocommerce-checkout #order_review_heading {
    /* Astra: `form #order_review_heading:not(.elementor… #order_review_heading)`
       má v selektore dve ID — čisto špecificitou sa prebiť nedá. Nastavuje
       border, padding aj margin (staršie verzie aj font), preto všetko tu. */
    border: 0 !important;
    padding: 0 !important;
    margin: 0 0 16px !important;
    font-size: 13px !important;
    background: none;
}

/*
 * Vypnutie natívneho rozloženia WooCommerce.
 *
 * WooCommerce si pokladňu skladá vlastnými floatmi a percentami — `#customer_details`
 * aj `#order_review` dostanú `width: 48%`, rovnako `.col-1` a `.col-2` vnútri
 * fakturačných údajov. V našej mriežke sa float ignoruje, ale percentá nie:
 * stĺpec tak dostane polovicu svojej vlastnej šírky. Súhrn objednávky sa potom
 * láme po slabikách („Ospr / aved / lňuje") a fakturačné polia zaberú tretinu
 * miesta, ktoré majú. Overené 1. 9. 2026 na živej pokladni.
 */
/*
 * `!important` je tu vedomé a ohraničené na päť deklarácií rozloženia.
 * WooCommerce si tie šírky nastavuje z vlastného súboru a bežná špecificita
 * ich neprebila; plošné `!important` v projekte nechceme (v ECIPe sa tým
 * skončilo pri bloku resetov, ktorý sa nedal udržiavať), ale tu ide o súboj
 * s cudzím pluginom, kde je to jediná spoľahlivá cesta.
 */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .col2-set,
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
    width: auto !important;
    float: none !important;
    max-width: none !important;
}


.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
    font-size: 13px;
    font-weight: var(--tk-fw-heavy);
    color: var(--tk-indigo);
    text-transform: uppercase;
    letter-spacing: .06em;
    margin: 0 0 16px;
}

/* „Odoslať na inú adresu?" je h3 obalujúce checkbox — má vyzerať ako
   „Vytvoriť účet?" o riadok vyššie, nie ako nadpis sekcie verzálkami. */
.woocommerce-checkout #ship-to-different-address {
    font-size: 14px;
    font-weight: var(--tk-fw-semi);
    color: var(--tk-text);
    text-transform: none;
    letter-spacing: 0;
    margin: 0 0 8px;
}

.woocommerce-checkout .form-row {
    margin: 0 0 14px;
    padding: 0;
}

.woocommerce-checkout .input-text,
.woocommerce-checkout select {
    width: 100%;
    padding: 14px 16px;
    border-radius: var(--tk-r-input);
    border: 1px solid var(--tk-border-strong);
    font-size: 13.5px;
    font-family: inherit;
    color: var(--tk-text);
    background: var(--tk-bg);
}

.woocommerce-checkout label {
    font-size: 12.5px;
    font-weight: var(--tk-fw-semi);
    color: var(--tk-text-muted);
    display: block;
    margin-bottom: 6px;
}

/* Súhrn vpravo drží tvar karty ako v košíku. */
.woocommerce-checkout #order_review {
    border: 1px solid var(--tk-border);
    border-radius: var(--tk-r-card);
    padding: 28px;
    position: sticky;
    top: 96px;
    background: var(--tk-bg);
}

.woocommerce-checkout #order_review table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13.5px;
}

.woocommerce-checkout #order_review th,
.woocommerce-checkout #order_review td {
    padding: 8px 0;
    text-align: left;
    color: var(--tk-text-soft);
    font-weight: var(--tk-fw-body);
}

.woocommerce-checkout #order_review td { text-align: right; color: var(--tk-text); font-weight: var(--tk-fw-bold); }

.woocommerce-checkout .order-total th,
.woocommerce-checkout .order-total td {
    font-size: 16px;
    font-weight: var(--tk-fw-black);
    color: var(--tk-text);
    padding-top: 16px;
    border-top: 1px solid var(--tk-border);
}

/* --- Voľba dopravy ako karty s logom dopravcu --- */

/*
 * Bunka s dopravou sa vymyká zarovnaniu súhrnu.
 *
 * `#order_review td` je zarovnané doprava, lebo v ňom stoja sumy. Zoznam
 * dopravcov je ale text s logom — pri zarovnaní doprava sa „Packeta – výdajné
 * miesto: 3,70 €" zlomilo na štyri riadky a logo skončilo inde než názov.
 */
/*
 * Doprava potrebuje celú šírku karty.
 *
 * V riadku sú dve bunky — popis „Doprava" a zoznam dopravcov. Popis si berie
 * polovicu, takže na názov s logom a cenou zostane asi 150 px a „Packeta –
 * výdajné miesto: 3,70 €" sa zlomí na štyri riadky. Riadok preto skladáme
 * pod seba: popis hore, dopravcovia pod ním cez celú šírku.
 */
.woocommerce-checkout #order_review .woocommerce-shipping-totals th,
.woocommerce-checkout #order_review .woocommerce-shipping-totals td {
    display: block;
    width: auto;
    text-align: left;
    padding: 8px 0 0;
}

/* Názov produktu je text, nie suma — patrí doľava, na rozdiel od cien. */
.woocommerce-checkout #order_review td.product-name {
    text-align: left;
    padding-right: 12px;
}

.woocommerce-checkout ul#shipping_method,
.tk-cart ul#shipping_method {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

#shipping_method li {
    border: 1px solid var(--tk-border-strong);
    border-radius: var(--tk-r-input);
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
}

#shipping_method li:has(input:checked) {
    border-color: var(--tk-indigo);
    background: var(--tk-indigo-tint);
}

.tk-carrier {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

img.tk-carrier__logo {
    height: 18px;
    width: auto;
    flex: 0 0 auto;
}

/* --- Platobné metódy --- */

.woocommerce-checkout .wc_payment_methods {
    list-style: none;
    margin: 0 0 18px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.woocommerce-checkout .wc_payment_method {
    border: 1px solid var(--tk-border-strong);
    border-radius: var(--tk-r-input);
    padding: 12px 14px;
}

.woocommerce-checkout .wc_payment_method:has(input:checked) {
    border-color: var(--tk-indigo);
    background: var(--tk-indigo-tint);
}

.woocommerce-checkout #place_order {
    width: 100%;
    padding: 16px;
    border-radius: var(--tk-r-button);
    background: var(--tk-indigo);
    color: #fff;
    font-size: 14px;
    font-weight: var(--tk-fw-heavy);
    border: 0;
    cursor: pointer;
    box-shadow: var(--tk-shadow-cta);
    font-family: inherit;
}

@media (max-width: 980px) {
    .woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    /* Bez tohto by `.tk-checkout__aside { grid-column: 2 }` vytvoril implicitný
       druhý stĺpec a na mobile by boli formulár aj súhrn natlačené vedľa seba. */
    .woocommerce-checkout .tk-checkout__main,
    .woocommerce-checkout .tk-checkout__aside { grid-column: 1; }
    .woocommerce-checkout #order_review { position: static; }
}

@media (max-width: 640px) {
    .woocommerce-checkout .tk-main { padding: 32px 18px 64px; }
}

/* ------------------------------------------------------------------ */
/*  Zjednotenie WooCommerce prvkov s dizajnom                          */
/* ------------------------------------------------------------------ */

/*
 * WooCommerce má vlastnú modrú a vlastné tvary tlačidiel. Prepisujeme ich
 * na indigo z dizajnu. Špecificita musí prebiť `.woocommerce a.button` (0,1,2),
 * preto sú selektory takto podrobné.
 */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    background: var(--tk-indigo);
    color: #fff;
    border-radius: var(--tk-r-button);
    padding: 14px 22px;
    font-family: inherit;
    font-size: 14px;
    font-weight: var(--tk-fw-bold);
    line-height: 1;
    border: 0;
    text-decoration: none;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
    background: var(--tk-indigo-hover);
    color: #fff;
}

/*
 * Hlásenia WooCommerce (chyby, info) v našej farebnosti. Astra má vlastné
 * pravidlo `.entry-content .woocommerce-info { padding: 1em 2em 1em 3.5em }`
 * s vyššou špecificitou – bez varianty s `.entry-content` ostáva vľavo
 * prázdne miesto po ikone, ktorú skrývame.
 */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.entry-content .woocommerce-message,
.entry-content .woocommerce-info,
.entry-content .woocommerce-error {
    border-top: 0;
    border-radius: var(--tk-r-input);
    padding: 14px 18px;
    font-size: 14px;
    background: var(--tk-indigo-tint);
    color: var(--tk-text-body);
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    display: none;
}

/*
 * Hlásenie ako riadok: text vľavo, tlačidlo („Zobraziť košík") vpravo ako malá
 * pilulka. WooCommerce dáva tlačidlu float a Astra veľkosť bežného tlačidla,
 * takže bez tohto sedelo v rohu ako cudzí prvok. Po pridaní do košíka
 * WooCommerce hlásenie zameria – predvolený modrý rám prehliadača preč.
 */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    line-height: 1.5;
}

.woocommerce-message:focus,
.woocommerce-info:focus,
.woocommerce-error:focus,
.woocommerce-notices-wrapper:focus { outline: 0; }

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button,
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-error .button {
    float: none;
    order: 2;
    margin: 0;
    /* Astra dáva `.button` rozmery s !important, inak by pilulka mala 15/30 px. */
    padding: 9px 16px !important;
    border: 0;
    border-radius: var(--tk-r-pill);
    background: var(--tk-indigo);
    color: #fff;
    font-size: 13px !important;
    font-weight: var(--tk-fw-bold);
    line-height: 1.2 !important;
    text-decoration: none;
    white-space: nowrap;
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover { background: var(--tk-indigo-hover); color: #fff; }

/* Zoznam chýb (pokladňa) – odrážky preč, každá chyba na riadok. */
.woocommerce-error { display: block; }
.woocommerce-error li { margin: 0 0 6px; }
.woocommerce-error li:last-child { margin: 0; }

.woocommerce-notices-wrapper:not(:empty) { margin-bottom: 24px; }

.woocommerce-message,
.entry-content .woocommerce-message { background: var(--tk-green-bg); color: var(--tk-green); }
.woocommerce-error,
.entry-content .woocommerce-error { background: #FEF2F2; color: var(--tk-danger); }

/*
 * Astra pridáva okolo obsahu vlastné odsadenie a svetlý pruh, ktorý pod
 * tmavou pätičkou vytvára biely prúžok. Naše šablóny si rozostupy riešia samy.
 */
.ast-separate-container .site-content,
.ast-separate-container .ast-container,
.ast-page-builder-template .site-content > .ast-container {
    padding: 0;
    margin: 0;
    max-width: none;
}

.ast-separate-container #primary,
.ast-separate-container .site-main,
.ast-separate-container article.page {
    margin: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
    border: 0;
}

.site-content,
#content {
    background: var(--tk-bg);
}
