/* ==========================================================================
   TAXISCHWECHAT.EU - projektove upravy nad dizajnovym kitom Waxking
   Vendor CSS (waxking.css) sa NIKDY needituje. Vsetky zmeny idu sem.
   ========================================================================== */

/* --------------------------------------------------------------------------
   01. Brand tokeny
   Akcentna farba je prevzata priamo z loga PG TRANSFERY (#ee5713),
   nie z kitu (#FF3600), aby web farebne sadol na logo klienta.
   -------------------------------------------------------------------------- */
:root{
    --accent-color      : #ee5713;
    --accent-color-dark : #cf450a;
    --accent-soft       : rgba(238, 87, 19, 0.12);
    --tsw-card          : #131313;
    --tsw-card-2        : #1a1a1a;
    --tsw-line          : rgba(255, 255, 255, 0.10);
    --tsw-line-strong   : rgba(255, 255, 255, 0.18);
    --tsw-success       : #35b37e;
}

/* --------------------------------------------------------------------------
   02. Slovenska typografia
   Kit aplikuje text-transform: capitalize/uppercase na desiatky tried.
   V slovencine je "Naše Služby" chyba, preto globalne vypiname vsetko.
   Vynimka (vedome, zdokumentovane): velke pismo ostava len na kratkych
   display nadpisoch sekcii a na malych kicker/badge popiskoch - to je
   vizualna identita kitu a v slovencine je to typograficky v poriadku.
   -------------------------------------------------------------------------- */
body,
body *{
    text-transform: none !important;
}

.section-title h1,
.section-title h2,
.page-header-box h1,
.section-title h3,
.hero-info-content h3,
.about-counter-box-prime h2,
.footer-links-ultimate h3,
.footer-contact-item-content-ultimate h3,
.tsw-kicker{
    text-transform: uppercase !important;
}

/* --------------------------------------------------------------------------
   03. Typograficka mierka pre slovencinu
   Slovenske nadpisy su dlhsie ako anglicke - kit ma h1 80px / h2 50px,
   co pri diakritike a dlhych slovach prerastalo cez layout.
   -------------------------------------------------------------------------- */
.section-title h1{ font-size: 62px; letter-spacing: -0.5px; }
.section-title h2{ font-size: 42px; letter-spacing: -0.3px; }
.page-header-box h1{ font-size: 52px; }
.section-title p{ max-width: 720px; }
.section-title-center p{ margin-left: auto; margin-right: auto; }

@media only screen and (max-width: 1200px){
    .section-title h1{ font-size: 48px; }
    .section-title h2{ font-size: 34px; }
    .page-header-box h1{ font-size: 40px; }
}
@media only screen and (max-width: 767px){
    .section-title h1{ font-size: 34px; }
    .section-title h2{ font-size: 27px; }
    .page-header-box h1{ font-size: 30px; }
}

/* --------------------------------------------------------------------------
   04. Hero a hlavicky podstranok - vlastne fotky klienta
   -------------------------------------------------------------------------- */
.hero-box{
    background-image: url('../images/obsah/hero-bg.jpg');
    background-position: center 62%;
}
.hero-box::before{
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.72) 42%, rgba(0,0,0,0.15) 100%);
    z-index: 0;
}
.hero-box .container{ position: relative; z-index: 1; }

.page-header{
    background-image: url('../images/obsah/page-header-bg.jpg');
    background-position: center center;
    padding: 220px 0 120px;
}
/* Kit tmavi hlavicku na 70 %. Nase fotky su uz tmave, pri 70 % z nich nezostane
   takmer nic - stacia 58 % a nadpis je stale plne citatelny. */
.page-header::before{ opacity: 58%; }
@media only screen and (max-width: 767px){
    .page-header{ padding: 150px 0 70px; }
}

/* --------------------------------------------------------------------------
   05. Tlacidla - doplnkovy "outline" variant + telefonne CTA
   -------------------------------------------------------------------------- */
.btn-outline{
    position: relative;
    display: inline-block;
    font-family: var(--accent-font);
    font-size: 16px;
    font-weight: 700;
    line-height: 1em;
    color: var(--white-color);
    background: transparent;
    border: 1px solid var(--tsw-line-strong);
    border-radius: 100px;
    padding: 16px 26px;
    transition: all 0.35s ease-in-out;
}
.btn-outline:hover{
    color: var(--white-color);
    background: var(--accent-color);
    border-color: var(--accent-color);
}
.btn-outline i{ margin-right: 8px; color: var(--accent-color); transition: color 0.35s; }
.btn-outline:hover i{ color: var(--white-color); }

.tsw-btn-row{ display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.tsw-btn-row .btn-default{ margin-right: 50px; }

/* --------------------------------------------------------------------------
   06. Kicker / male popisky
   -------------------------------------------------------------------------- */
.tsw-kicker{
    display: inline-block;
    font-family: var(--accent-font);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    color: var(--accent-color);
    margin-bottom: 14px;
}

/* --------------------------------------------------------------------------
   08. CENNIKOVA TABULKA (podstranka Cennik)
   -------------------------------------------------------------------------- */
.tsw-table-wrap{
    background: var(--tsw-card);
    border: 1px solid var(--tsw-line);
    border-radius: 20px;
    padding: 10px;
    overflow-x: auto;
}
.tsw-table{
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
}
.tsw-table th,
.tsw-table td{
    text-align: left;
    padding: 18px 18px;
    border-bottom: 1px solid var(--tsw-line);
    vertical-align: middle;
}
.tsw-table thead th{
    font-family: var(--accent-font);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.6px;
    color: var(--white-color);
    text-transform: uppercase !important;
    white-space: nowrap;
}
.tsw-table thead th span{
    display: block;
    font-family: var(--default-font);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0;
    color: var(--text-color);
    text-transform: none !important;
    margin-top: 4px;
}
.tsw-table tbody tr:last-child td,
.tsw-table tbody tr:last-child th{ border-bottom: none; }
.tsw-table tbody tr:hover td{ background: rgba(255,255,255,0.025); }
.tsw-table .tsw-table__route{
    font-family: var(--accent-font);
    font-size: 16px;
    font-weight: 700;
    color: var(--white-color);
}
.tsw-table .tsw-table__route small{
    display: block;
    font-family: var(--default-font);
    font-size: 13px;
    font-weight: 400;
    color: var(--text-color);
    margin-top: 3px;
}
.tsw-table .tsw-price{
    font-family: var(--accent-font);
    font-size: 19px;
    font-weight: 700;
    color: var(--white-color);
    white-space: nowrap;
}
.tsw-table .tsw-price--na{
    font-family: var(--default-font);
    font-size: 13px;
    font-weight: 400;
    color: var(--text-color);
}
.tsw-table .tsw-price--todo{
    font-family: var(--default-font);
    font-size: 13px;
    font-weight: 700;
    color: #ffb020;
    background: rgba(255, 176, 32, 0.12);
    border: 1px dashed rgba(255, 176, 32, 0.5);
    border-radius: 6px;
    padding: 4px 8px;
    white-space: nowrap;
}
.tsw-table__cta a{
    display: inline-block;
    font-family: var(--accent-font);
    font-size: 14px;
    font-weight: 700;
    color: var(--white-color);
    background: rgba(255,255,255,0.06);
    border: 1px solid var(--tsw-line-strong);
    border-radius: 100px;
    padding: 10px 18px;
    white-space: nowrap;
    transition: all 0.3s;
}
.tsw-table__cta a:hover{ background: var(--accent-color); border-color: var(--accent-color); color: var(--white-color); }

.tsw-table--simple{ min-width: 520px; }
.tsw-table--simple td:last-child{ text-align: right; }

.tsw-scroll-hint{
    display: none;
    font-size: 13px;
    color: var(--text-color);
    margin-top: 12px;
}
@media only screen and (max-width: 991px){ .tsw-scroll-hint{ display: block; } }

/* --------------------------------------------------------------------------
   09. Poznamky / info bloky
   -------------------------------------------------------------------------- */
.tsw-note{
    background: var(--tsw-card);
    border: 1px solid var(--tsw-line);
    border-left: 3px solid var(--accent-color);
    border-radius: 14px;
    padding: 24px 26px;
    margin-top: 26px;
}
.tsw-note h3{
    font-size: 18px;
    color: var(--white-color);
    margin-bottom: 12px;
}
.tsw-note p{ margin-bottom: 10px; }
.tsw-note p:last-child{ margin-bottom: 0; }
.tsw-note ul{ margin: 0; padding: 0; list-style: none; }
.tsw-note ul li{
    position: relative;
    padding-left: 26px;
    margin-bottom: 10px;
    line-height: 1.6em;
}
.tsw-note ul li:last-child{ margin-bottom: 0; }
.tsw-note ul li::before{
    content: '\f00c';
    font-family: 'Font Awesome 7 Free', 'Font Awesome 6 Free', 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 1px;
    font-size: 12px;
    color: var(--accent-color);
}

/* --------------------------------------------------------------------------
   11. REZERVACNY FORMULAR
   Postaveny na kit module .book-appointment-form-box-ultimate.
   Doplname len to, co kit nema: popisky poli, prepinace smeru/rezimu,
   alert box, GDPR suhlas a tmavy color-scheme pre date/time inputy.
   -------------------------------------------------------------------------- */
.book-appointment-form-title-ultimate h3{ margin-bottom: 10px; }
.book-appointment-form-title-ultimate p{
    font-size: 15px;
    line-height: 1.6em;
    text-align: center;
    margin-bottom: 0;
}
.book-appointment-form-ultimate{ margin-top: 34px; }

.tsw-label{
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-color);
    margin-bottom: 7px;
}
.tsw-label .req{ color: var(--accent-color); }

.book-appointment-form-ultimate .form-control{
    color: var(--white-color);
    color-scheme: dark;
}
.book-appointment-form-ultimate .form-control:focus{ border-color: var(--accent-color); }
.book-appointment-form-ultimate .form-control::placeholder{ color: rgba(214,214,216,0.55); }
.book-appointment-form-ultimate textarea.form-control{ min-height: 110px; resize: vertical; }

/* Prepinac (smer cesty / typ objednavky) - kit taky modul nema. */
.tsw-switch{
    display: flex;
    gap: 8px;
    background: rgba(0,0,0,0.35);
    border: 1px solid var(--tsw-line);
    border-radius: 100px;
    padding: 6px;
    margin-bottom: 18px;
}
.tsw-switch input{ position: absolute; opacity: 0; pointer-events: none; }
.tsw-switch label{
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: var(--accent-font);
    font-size: 15px;
    font-weight: 700;
    color: var(--text-color);
    border-radius: 100px;
    padding: 13px 10px;
    margin: 0;
    cursor: pointer;
    text-align: center;
    transition: all 0.3s ease-in-out;
}
.tsw-switch label i{ font-size: 13px; }
.tsw-switch input:checked + label{ color: var(--white-color); background: var(--accent-color); }
.tsw-switch input:focus-visible + label{ outline: 2px solid var(--white-color); outline-offset: 2px; }

/* Pole "cislo letu" sa zobrazi len pri ceste z letiska. */
.tsw-field--flight{ display: none; }
.tsw-form-card.is-from-airport .tsw-field--flight{ display: block; }

.tsw-consent{
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 13.5px;
    line-height: 1.55em;
    color: var(--text-color);
    margin: 0 0 22px;
    cursor: pointer;
}
.tsw-consent input{ margin-top: 3px; accent-color: var(--accent-color); width: 17px; height: 17px; flex: 0 0 auto; }
.tsw-consent a{ color: var(--accent-color); text-decoration: underline; }

.tsw-alert:empty{ display: none; }
.tsw-alert .alert{
    font-size: 14.5px;
    line-height: 1.5em;
    border-radius: 12px;
    padding: 14px 18px;
    margin-bottom: 18px;
}
.tsw-alert .alert-danger{
    color: #ffb4a0;
    background: rgba(238, 87, 19, 0.14);
    border: 1px solid rgba(238, 87, 19, 0.45);
}
.tsw-status:empty{ display: none; }
.tsw-status .alert-success,
.tsw-status .errorMessage{
    display: block;
    font-size: 16px;
    line-height: 1.6em;
    color: var(--white-color);
    background: rgba(53, 179, 126, 0.14);
    border: 1px solid rgba(53, 179, 126, 0.45);
    border-radius: 14px;
    padding: 22px 24px;
    margin: 0;
}
.tsw-status .alert-success a{ color: var(--accent-color); }
.tsw-status .errorMessage{
    color: #ffb4a0 !important;
    background: rgba(238, 87, 19, 0.14);
    border-color: rgba(238, 87, 19, 0.45);
}

.tsw-form-trust{
    display: flex;
    flex-wrap: wrap;
    gap: 8px 22px;
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid var(--tsw-line);
}
.tsw-form-trust span{ display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text-color); }
.tsw-form-trust i{ color: var(--accent-color); font-size: 12px; }

/* --------------------------------------------------------------------------
   12. Zoznamy s odrazkami v obsahu
   -------------------------------------------------------------------------- */
.tsw-list{ margin: 0 0 26px; padding: 0; list-style: none; }
.tsw-list li{
    position: relative;
    font-size: 16px;
    line-height: 1.6em;
    color: var(--text-color);
    padding-left: 30px;
    margin-bottom: 12px;
}
.tsw-list li::before{
    content: '\f058';
    font-family: 'Font Awesome 7 Free', 'Font Awesome 6 Free', 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 2px;
    font-size: 15px;
    color: var(--accent-color);
}
.tsw-list li strong{ color: var(--white-color); font-weight: 600; }

/* --------------------------------------------------------------------------
   13. Sluzby - striedave riadky obrazok / text
   -------------------------------------------------------------------------- */
.tsw-service-row{ padding: 60px 0; border-bottom: 1px solid var(--tsw-line); }
.tsw-service-row:last-of-type{ border-bottom: none; }
.tsw-service-row figure{ margin: 0; border-radius: 20px; overflow: hidden; }
.tsw-service-row figure img{ width: 100%; height: auto; display: block; }
.tsw-service-row h2{ font-size: 32px; color: var(--white-color); margin-bottom: 16px; }
.tsw-service-row .tsw-kicker{ margin-bottom: 10px; }
@media only screen and (max-width: 991px){
    .tsw-service-row{ padding: 40px 0; }
    .tsw-service-row h2{ font-size: 26px; }
    .tsw-service-row figure{ margin-bottom: 26px; }
}

/* --------------------------------------------------------------------------
   14. Kontaktne karty
   -------------------------------------------------------------------------- */
.tsw-contact-card{
    height: 100%;
    background: var(--tsw-card);
    border: 1px solid var(--tsw-line);
    border-radius: 20px;
    padding: 30px 28px;
    margin-bottom: 24px;
}
.tsw-contact-card .icon-box{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    background: var(--accent-soft);
    border-radius: 50%;
    margin-bottom: 18px;
}
.tsw-contact-card .icon-box i{ font-size: 19px; color: var(--accent-color); }
.tsw-contact-card h3{ font-size: 18px; color: var(--white-color); margin-bottom: 10px; }
.tsw-contact-card p{ margin-bottom: 6px; line-height: 1.65em; }
.tsw-contact-card p:last-child{ margin-bottom: 0; }
.tsw-contact-card a{ color: var(--text-color); }
.tsw-contact-card a:hover{ color: var(--accent-color); }
.tsw-contact-card--accent{ background: var(--accent-color); border-color: var(--accent-color); }
.tsw-contact-card--accent .icon-box{ background: rgba(0,0,0,0.18); }
.tsw-contact-card--accent .icon-box i,
.tsw-contact-card--accent h3,
.tsw-contact-card--accent p,
.tsw-contact-card--accent a{ color: var(--white-color); }

.tsw-map{
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid var(--tsw-line);
    line-height: 0;
}
.tsw-map iframe{ width: 100%; height: 460px; border: 0; filter: grayscale(1) invert(0.92) contrast(0.85); }

/* --------------------------------------------------------------------------
   15. Hlavicka - telefon + jazykovy prepinac
   -------------------------------------------------------------------------- */
.navbar-brand img{ height: 34px; width: auto; }
.header-btn{ display: flex; align-items: center; gap: 18px; }
.tsw-header-phone{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--accent-font);
    font-size: 16px;
    font-weight: 700;
    color: var(--white-color);
    white-space: nowrap;
    transition: color 0.3s;
}
.tsw-header-phone i{ color: var(--accent-color); }
.tsw-header-phone:hover{ color: var(--accent-color); }
@media only screen and (max-width: 1350px){ .tsw-header-phone span{ display: none; } }

/* --------------------------------------------------------------------------
   16. Mobilna lista s CTA (volat / rezervovat)
   -------------------------------------------------------------------------- */
.tsw-sticky-cta{ display: none; }
@media only screen and (max-width: 767px){
    .tsw-sticky-cta{
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 99;
        display: flex;
        gap: 10px;
        background: rgba(10,10,10,0.96);
        border-top: 1px solid var(--tsw-line);
        padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
        backdrop-filter: blur(8px);
    }
    .tsw-sticky-cta a{
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        font-family: var(--accent-font);
        font-size: 15px;
        font-weight: 700;
        color: var(--white-color);
        border-radius: 100px;
        padding: 14px 10px;
    }
    .tsw-sticky-cta .tsw-cta-call{ background: rgba(255,255,255,0.08); border: 1px solid var(--tsw-line-strong); }
    .tsw-sticky-cta .tsw-cta-book{ background: var(--accent-color); }
    body{ padding-bottom: 76px; }
}

/* --------------------------------------------------------------------------
   17. Drobnosti
   -------------------------------------------------------------------------- */
.tsw-anchor{ scroll-margin-top: 120px; }
.tsw-mb-0{ margin-bottom: 0 !important; }
.tsw-center{ text-align: center; }
.tsw-payments img{ max-width: 260px; height: auto; opacity: 0.9; }
.tsw-section-space{ padding: 100px 0; }
.tsw-section-space-top{ padding-top: 100px; }
@media only screen and (max-width: 767px){
    .tsw-section-space{ padding: 60px 0; }
    .tsw-section-space-top{ padding-top: 60px; }
}

/* Galeria - jednotny pomer stran nahladov */
.photo-gallery figure img{ aspect-ratio: 3 / 2; object-fit: cover; width: 100%; }

/* Sekcia s fotografiou na pozadi */
.tsw-band{
    position: relative;
    background: url('../images/obsah/cta-band.jpg') no-repeat center center;
    background-size: cover;
    border-radius: 20px;
    max-width: 1880px;
    margin: 0 auto;
    padding: 110px 0;
    overflow: hidden;
}
.tsw-band::before{
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,0.90) 0%, rgba(0,0,0,0.68) 55%, rgba(0,0,0,0.25) 100%);
}
.tsw-band .container{ position: relative; z-index: 1; }
.tsw-band--cennik{ background-image: url('../images/obsah/cennik-band.jpg'); }

/* --------------------------------------------------------------------------
   18. Kicker nad nadpisom sekcie
   Kit používa <h3> pre malý popisok NAD <h2>, čo rozbíja hierarchiu nadpisov
   (h3 pred h2). Používame preto <p class="section-kicker"> s rovnakým vzhľadom.
   -------------------------------------------------------------------------- */
.section-title .section-kicker{
    position: relative;
    display: inline-block;
    font-family: var(--accent-font);
    font-size: 14px;
    font-weight: 700;
    line-height: normal;
    color: var(--primary-color);
    background: var(--secondary-color) url('../images/icon-sub-heading.svg') no-repeat;
    background-position: center left 16px;
    background-size: 16px auto;
    border: 1px solid var(--divider-color);
    border-radius: 100px;
    padding: 11px 16px 9px 42px;
    margin: 0 0 20px;
    text-transform: uppercase !important;
}

/* --------------------------------------------------------------------------
   19. Kit doplnky - slovenske texty a drobne korekcie
   -------------------------------------------------------------------------- */
/* Kit ma na zvyraznenej cenovej karte anglicku stuzku "popular". */
.pricing-item.highlighted-box::after{
    content: 'najžiadanejšia';
    font-size: 12px;
    letter-spacing: 0.06em;
    width: 200px;
    right: -56px;
}

/* Kit pozadia nahradene vlastnymi fotkami klienta. */
.service-cta-box-ultimate{ background-image: url('../images/obsah/cta-box.jpg'); }
.how-it-work-prime{ background-image: url('../images/obsah/ako-to-funguje-bg.jpg'); }

/* Karta vozidla: kit pouziva <span> ako preskrtnutu povodnu cenu, u nas je
   to doplnkovy udaj (wifi v cene) - preskrtnutie rusime. */
.product-item-content-prime p span{
    text-decoration-line: none;
    color: var(--accent-color);
}
/* Fotky vozidiel su siroke PNG bez pozadia - kitovy limit 220px je maly. */
.product-item-image-prime img{ max-width: 100%; }
.product-item-image-prime{ margin-bottom: 26px; }

/* Referencie: v kite su v swiper karuseli (rovnaka vyska automaticky),
   u nas su v statickej mriezke - dorovnavame vysku kariet. */
.testimonial-item-ultimate{ height: calc(100% - 30px); margin-bottom: 30px; }

/* Karta vozidla na podstranke Vozovy park - kit nema popisny text pod cenou. */
.tsw-vehicle-desc{ border-top: 1px solid var(--tsw-line); margin-top: 20px; padding-top: 18px; }
.tsw-vehicle-desc p{ font-size: 14px; line-height: 1.65em; margin: 0; }

/* Kontaktny formular: kit centruje obsah karty na vysku stlpca - u nas je
   lavy stlpec vyssi, takze by formular "plaval" v strede. Zarovnavame hore. */
.page-contact-us .contact-form{ align-content: start; }
.page-contact-us .contact-form-title h2{ margin-bottom: 8px; }
.page-contact-us .contact-form-title p{ margin-bottom: 30px; font-size: 15px; }

/* Karta vozidla: doplnkovy udaj nesmie zalamovat uprostred. */
.product-item-content-prime p span{ white-space: nowrap; }

/* --------------------------------------------------------------------------
   20. Cisla a ceny nie su nadpisy
   Kit pouziva <h2> pre cenu na cenovej karte, pocitadla a hodnotenie.
   Semanticky to nie su nadpisy a rozbijalo to hierarchiu (h3 -> h2 a spat),
   preto su v sablonach ako <p class="tsw-num"> s prevzatym vzhladom.
   -------------------------------------------------------------------------- */
.tsw-num{
    font-family: var(--accent-font);
    font-weight: 700;
    line-height: 1.2em;
    color: var(--primary-color);
    margin: 0;
}
.pricing-item-price .tsw-num{ font-size: 50px; }
.pricing-item-price .tsw-num sub{
    font-family: var(--default-font);
    font-size: 16px;
    font-weight: 400;
    bottom: 0;
}
.about-counter-box-prime .tsw-num{ font-size: 80px; }
.hero-rating-box .hero-info-content .tsw-num{ font-size: 60px; }

/* Karta pod hero: nadpis je h2 (kvoli hierarchii nadpisov), vzhlad ostava
   ako kitovy h3 v tej istej karte. */
.hero-details-box .hero-info-content h2{
    font-size: 20px;
    line-height: 1.4em;
    margin: 0;
}
/* Pocitadlo "24 500+" sa pri 80px zalamovalo na dva riadky. */
.about-counter-box-prime .tsw-num{ font-size: 54px; white-space: nowrap; }
.book-appointment-ultimate{ background-image: url('../images/obsah/rezervacia-bg.jpg'); }

/* Referencie v statickej mriezke: mena autorov zarovnat na spodok kariet. */
.testimonial-item-ultimate{ display: flex; flex-direction: column; }
.testimonial-body-ultimate{ display: flex; flex-direction: column; flex: 1; }
.testimonial-content-ultimate{ flex: 1; }

/* Honeypot proti robotom - musi byt v DOM, ale neviditelny pre cloveka.
   Zamerne NIE display:none (niektore boty taketo polia preskakuju). */
.tsw-hp{
    position: absolute !important;
    left: -9999px !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* --------------------------------------------------------------------------
   21. Rozmery obrazkov (CLS) vs. kitove CSS
   Do sablon sme doplnili width/height atributy kvoli CLS. Tam, kde kit nastavuje
   iba sirku (napr. `width:100%; max-width:85px`) a vysku nechava na prirodzenom
   pomere, by sa atribut height stal skutocnou vyskou a obrazok by sa roztiahol.
   Preto vsade, kde kit vysku neurcuje, explicitne dopocitavame `height: auto`.
   -------------------------------------------------------------------------- */
.service-issue-info-image img,
.product-item-image-prime img,
.about-footer-ultimate img,
.footer-logo-ultimate img,
.navbar-brand img,
.tsw-payments img{
    height: auto;
}

/* Poistka: obrazok s width/height atributmi, ktoremu kit neurcuje vysku ani
   aspect-ratio, by sa pri zuzenom kontajneri deformoval (sirka klesne cez
   `img{max-width:100%}`, ale atribut height ostane). */
.tsw-hp img,
.service-issue-info-image img,
.product-item-image-prime img,
.footer-logo-ultimate img,
.navbar-brand img,
.tsw-payments img{
    height: auto;
}

/* --------------------------------------------------------------------------
   22. Aktivna polozka menu
   Bootstrap dava `.navbar-nav .nav-link.active` farbu `--bs-navbar-active-color`,
   co je na svetlej teme takmer cierna - na nasej tmavej hlavicke ju nebolo vidno.
   Aktivna polozka ma rovnaku akcentnu farbu ako hover v kite.
   Plati aj pre mobilne menu, ktore slicknav klonuje z #menu.
   -------------------------------------------------------------------------- */
.main-menu .navbar-nav .nav-link.active,
.slicknav_nav .nav-link.active,
.slicknav_nav a.active{
    color: var(--accent-color) !important;
}

/* --------------------------------------------------------------------------
   23. Plynuly prechod hlavicky podstranky do pozadia
   Kit konci fotku v hlavicke ostrou vodorovnou hranou. Prechod nadol do farby
   pozadia stranky rez odstrani a fotka sa "rozplynie" do obsahu.
   `::before` (tmave prekrytie) ma z-index 1, obsah 2 - gradient patri medzi ne.
   -------------------------------------------------------------------------- */
.page-header::after{
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 46%;
    background: linear-gradient(to bottom,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.45) 58%,
        var(--bg-color) 100%);
    pointer-events: none;
    z-index: 1;
}
