/* HVC2 — overrides nad Travelor témou.
   Farby & ladenie idú sem; theme/main.css zostáva nedotknutý. */

/* Fonty s overenou podporou slovenskej diakritiky.
   Travelor používa Satoshi z cdnfonts.com bez latin-ext → diakritika padá na
   fallback. Ale pozor — nestačí, že font "má latin-ext": Philosopher aj Sofia
   ten súbor servujú, no glyfy pre mäkčeňe (č ľ ť ď ň ĺ ŕ) v ňom chýbajú,
   takže text vyzerá polámaný.
   Na želanie klienta (8. 10. 2026) pôvodná sada spred redizajnu:
     body    → Inter
     heading → Playfair Display (h2 tučne)
     script  → Yellowtail
   Všetky tri overené meraním šírky glyfov (áäčďéíĺľňóôŕšťúýž + verzálky).
   (Skúšané a vyradené: Montserrat + Cinzel, Open Sans + Montserrat.)
   Pri výmene fontu to zopakuj. */
:root {
    --body-font:      "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
    --heading-font:   "Playfair Display", "Source Serif Pro", Georgia, serif !important;
    --script-font:    "Yellowtail", "Playfair Display", cursive !important;
    --dmsans-font:    "Inter", sans-serif !important;
    --plusjakarta-font: "Inter", sans-serif !important;
}
body,
.font-body,
.font-dmsans {
    font-family: var(--body-font);
}
.font-heading,
h1, h2, h3, h4, h5, h6,
.banner-three-title,
.about-three-title,
.section-title {
    font-family: var(--heading-font);
}
/* Buttons & UI controls — držíme ich na body fonte (Inter) aby diakritika bola
   konzistentná aj pri "Čítať ďalej", "Detail", "Späť na všetkých" atď. */
.primary-btn,
.primary-btn.font-heading,
button,
.btn,
input, select, textarea,
.nav-menu__link,
.nav-submenu__link,
.footer-link,
.service-two-content a.font-heading,
.service-two-wrap a.font-heading,
.footer-copyright-social a {
    font-family: var(--body-font) !important;
}
.font-sofia { font-family: var(--script-font); font-style: normal; }

/* Žiadny capitalize transform nikde — Bootstrap utility .text-capitalize aj
   všetky priame `text-transform: capitalize` zo Travelor témy vypnúť. */
.text-capitalize,
.text-capitalize *,
[class*="text-capitalize"] {
    text-transform: none !important;
}
.banner-three-subtitle,
.banner-three-title,
.about-three-title,
.section-title,
.service-three-title,
.service-two-content h4,
.blog-three-title,
.about-three-paragraph,
h1, h2, h3, h4, h5, h6 {
    text-transform: none !important;
}

/* Korporátne farby podľa dizajn manuálu HVC. Skutočné hodnoty prichádzajú
   z local_config.php cez inline <style> v index_view.php; toto je fallback. */
:root {
    --hvc-primary:   #9e1d22;   /* vínová červená  CMYK 25 100 97 21 */
    --hvc-secondary: #28100d;   /* tmavá hnedočierna CMYK 56 75 71 80 */
    --hvc-accent:    #c9a44b;   /* zlatá (razba) — doplnková */
    --hvc-ink:       #231f20;   /* čierna 100 K — súvislý text */
    --hvc-surface:   #f8f4f2;   /* jemne teplá plocha pre striedavé sekcie */
}

/* Brand farba primárneho buttonu / odkazov */
.bg-main-600,
.btn.bg-main-600,
.primary-btn.bg-main-600 { background-color: var(--hvc-primary) !important; }

.bg-main-two-600 { background-color: var(--hvc-accent) !important; }

.text-main-600 { color: var(--hvc-secondary); }
.text-main-two-600 { color: var(--hvc-primary); }

a.hover-text-secondary:hover,
.hover-text-secondary:hover { color: var(--hvc-accent) !important; }

/* Hero pozadie — vrchné prelivy */
.banner-three-area {
    background-color: var(--hvc-primary);
    background-blend-mode: multiply;
}

/* Banner shape (banner-three-shape.png, 1920×75) — dekoratívny pruh prekrývajúci
   spodnú časť hero bannera. Posunutý dostatočne nízko aby vystupoval spod
   bannera ako "podlaha" a vizuálne uzavrel hero. */
.banner-three-shape-4 {
    width: 100%;
    height: auto;
    object-fit: cover;
    pointer-events: none;
    bottom: -65px !important;
    left: 0 !important;
    right: 0;
}

.error-area h1 { font-size: 6rem; line-height: 1; }

/* HVC logo */
.hvc-logo {
    display: block;
    max-height: 64px;
    width: auto;
    height: auto;
}
.hvc-logo--main { max-height: 64px; }
.hvc-logo--mobile { max-height: 56px; }
.hvc-logo--footer { max-height: 80px; }

/* Dotačné logá v päte */
.footer-grants .grant-logo {
    max-height: 80px;
    width: auto;
    height: auto;
}

/* Travelor v main.css renderuje vertikálne deliace čiary cez .footer-wrapper::before
   a ::after (1px stĺpiky na 24%/40%). Pri nasom 4-stĺpcovom layoute neseděli
   medzi gridy a vyzeralo to rušivo — vypíname ich. */
.footer-wrapper::before,
.footer-wrapper::after {
    display: none !important;
    content: none !important;
}
@media (max-width: 991.98px) {
    .hvc-logo--main { max-height: 48px; }
}

/* Skip link pre prístupnosť */
.skip-link {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px; height: 1px;
    overflow: hidden;
    z-index: 9999;
}
.skip-link:focus {
    left: 1rem; top: 1rem;
    width: auto; height: auto;
    padding: .5rem 1rem;
    background: var(--hvc-primary); color: #fff;
    border-radius: .5rem;
}

/* CMS HTML obsah — slušné default formátovanie */
.article-text h2,
.article-text h3,
.article-text h4 { margin-top: 1.5em; margin-bottom: .5em; }
.article-text p { margin-bottom: 1em; }
.article-text ul,
.article-text ol { padding-left: 1.5em; margin-bottom: 1em; }
.article-text img { max-width: 100%; height: auto; border-radius: .75rem; }
.article-text a { color: var(--hvc-primary); text-decoration: underline; }
.article-text a:hover { color: var(--hvc-accent); }

/* Sidebar karty na detaili vinára / podujatia */
.sidebar-card { border: 1px solid rgba(0,0,0,.06); }
.sidebar-card ul i { color: var(--hvc-primary); margin-right: .5rem; }

/* Sidebar pre detail článku (Travelor blog-details widgety) */
.article-sidebar .sidebar-widget {
    border: 1px solid rgba(0,0,0,.05);
}
.article-sidebar .sidebar-widget__title {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--hvc-secondary);
}
.article-sidebar .sidebar-thumb {
    display: block;
    width: 72px;
    height: 72px;
    flex: 0 0 72px;
}
.article-sidebar .sidebar-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .35s ease;
}
.article-sidebar .sidebar-thumb:hover img { transform: scale(1.06); }

.article-sidebar .catagori-link a small { font-size: .75rem; }

/* Featured event banner v sidebare — pozadie + gradient overlay nad obrázkom. */
.sidebar-featured-event {
    background: var(--hvc-secondary);
    border: 1px solid rgba(0,0,0,.05);
}
.sidebar-featured-event a { color: #fff; text-decoration: none; }
.sidebar-featured-event img {
    aspect-ratio: 16/10;
    object-fit: cover;
    object-position: center;
}
.sidebar-featured-event__overlay {
    background: linear-gradient(180deg, transparent 0%, rgba(40, 16, 13, .92) 60%);
    margin-top: -120px;
    position: relative;
    z-index: 1;
}
.sidebar-featured-event__title {
    font-size: 1.15rem;
    line-height: 1.3;
}
.sidebar-featured-event__overlay .text-white-50 { color: rgba(255,255,255,.75) !important; }

/* Breadcrumb fallback (ak chýba breadcrumb-bg.jpg) */
.breadcrumb-area {
    background-color: var(--hvc-secondary);
    background-blend-mode: multiply;
}
.breadcrumb-area::before {
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(135deg, var(--hvc-secondary) 0%, var(--hvc-primary) 100%);
    opacity: .85; z-index: -1;
}

/* Card hovers */
.destination-three-wrapper { transition: transform .2s ease, box-shadow .2s ease; }
.destination-three-wrapper:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0,0,0,.08);
}

/* Karty "Zaujímavé miesta" — horizontálny layout (Travelor project-three-wrapper).
   Nastaví fixnú veľkosť thumbnailu, hover škálovanie. */
.attraction-card {
    background: #fff;
    border: 1px solid rgba(0,0,0,.05);
    transition: transform .2s ease, box-shadow .2s ease;
}
.attraction-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(0,0,0,.08);
}
.attraction-card .project-two-thumb {
    flex: 0 0 96px;
}
.attraction-card .project-two-thumb a {
    display: block;
    width: 96px;
    height: 96px;
    overflow: hidden;
    border-radius: 12px;
}
.attraction-card .project-two-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .35s ease;
}
.attraction-card:hover .project-two-thumb img {
    transform: scale(1.06);
}
.attraction-card .project-two-paragraph {
    color: var(--hvc-primary);
    font-size: .85rem;
}
.attraction-card .project-two-title { font-size: 1.25rem; line-height: 1.25; }

/* Karta vinára / podujatia — jednotná veľkosť thumbnaily.
   Rôzne pomery zdrojových fotiek crapneme cez object-fit: cover. */
.destination-three-wrapper .service-two-thumb {
    overflow: hidden;
    border-radius: .75rem;
    aspect-ratio: 4 / 3;
    background: var(--hvc-surface);
}
.destination-three-wrapper .service-two-thumb a {
    display: block;
    width: 100%;
    height: 100%;
}
.destination-three-wrapper .service-two-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .35s ease;
}
.destination-three-wrapper:hover .service-two-thumb img {
    transform: scale(1.03);
}

/* Tour-detail slider — fix výšku, aby pri rôznych pomeroch bol layout stabilný. */
.package-details-slide .swiper-slide img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* Galéria pod sliderom — všetky thumbs rovnaké. */
.article-text img,
.row .col-md-4 a > img,
.row .col-sm-6 a > img {
    /* ponechám default — túto klauzulu len ak treba prísnejšie unifikovať */
}
.row .col-md-4 a.d-block,
.row .col-sm-6 a.d-block {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: .75rem;
    display: block;
}
.row .col-md-4 a.d-block > img,
.row .col-sm-6 a.d-block > img {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center;
}

/* ============================================================
   HEADER — boxed layout
   Travelor renderuje header cez .container-fluid a rozťahuje ho na celú šírku.
   HVC drží header v .container (boxed), s väčším logom a výraznejším menu.
   ============================================================ */
.header .container { max-width: 1320px; }

.hvc-nav { min-height: 96px; padding: .5rem 0; }

/* Logo — z 64 px na 88 px. Menšie na tabletoch, aby menu malo miesto. */
.hvc-logo--main { max-height: 88px; }

/* Menu — Travelor default je 15px/medium a stráca sa. Zväčšené + prehľadnejšie
   stavy. Pozadie a pill-rounding zo šablóny sme zhodili, menu ide priamo na header. */
.hvc-nav .nav-menu {
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    margin: 0;
    list-style: none;
}
.hvc-nav .nav-menu__link {
    display: inline-block;
    padding: .75rem 1.1rem;
    font-size: 1.0625rem;      /* 17px */
    font-weight: 600;
    letter-spacing: -.01em;
    color: var(--hvc-secondary);
    text-decoration: none;
    border-radius: 999px;
    transition: color .18s ease, background-color .18s ease;
}
.hvc-nav .nav-menu__link:hover,
.hvc-nav .nav-menu__link:focus-visible {
    color: var(--hvc-primary);
    background: rgba(158, 29, 34, .07);
}
/* Aktívna položka — podčiarknutie brand farbou, nie iba odtieň textu.
   Farba sama o sebe nesmie byť jediný nositeľ informácie (WCAG 1.4.1). */
.hvc-nav .nav-menu__item.activePage > .nav-menu__link {
    color: var(--hvc-primary);
    background: rgba(158, 29, 34, .09);
}
.hvc-nav .nav-menu__item.activePage > .nav-menu__link::after {
    content: "";
    display: block;
    height: 2px;
    margin-top: .3rem;
    border-radius: 2px;
    background: var(--hvc-accent);
}

/* Hľadanie vpravo — v rámci kontajnera, nie na okraji okna. */
.hvc-search-btn {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .65rem 1.15rem;
    font-size: 1rem;
    font-weight: 600;
    color: var(--hvc-secondary);
    background: rgba(158, 29, 34, .07);
    border: 1px solid rgba(158, 29, 34, .12);
    border-radius: 999px;
    line-height: 1;
    transition: background-color .18s ease, color .18s ease;
}
.hvc-search-btn i { font-size: 1.25rem; }
.hvc-search-btn:hover,
.hvc-search-btn:focus-visible {
    background: var(--hvc-primary);
    border-color: var(--hvc-primary);
    color: #fff;
}

@media (max-width: 1199.98px) {
    .hvc-nav .nav-menu__link { padding: .6rem .7rem; font-size: 1rem; }
    .hvc-logo--main { max-height: 72px; }
}
@media (max-width: 991.98px) {
    .hvc-nav { min-height: 76px; }
    .hvc-logo--main { max-height: 56px; }
}

/* ============================================================
   VYHĽADÁVANIE — výsledková stránka
   ============================================================ */
.hvc-search-form__input {
    min-width: 0;
    padding: .95rem 1.25rem;
    font-size: 1.0625rem;
    color: var(--hvc-secondary);
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .14);
    border-radius: 999px;
}
.hvc-search-form__input:focus-visible {
    outline: 2px solid var(--hvc-primary);
    outline-offset: 2px;
    border-color: var(--hvc-primary);
}

.hvc-search-results { list-style: none; padding: 0; margin: 0; }
.hvc-search-result {
    padding: 1.5rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, .08);
}
.hvc-search-result:first-child { border-top: 1px solid rgba(0, 0, 0, .08); }
.hvc-search-result__link { text-decoration: none; display: block; }
.hvc-search-result__type {
    display: inline-block;
    margin-bottom: .4rem;
    padding: .2rem .7rem;
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--hvc-primary);
    background: rgba(201, 164, 75, .18);
    border-radius: 999px;
}
.hvc-search-result__title {
    display: block;
    font-family: var(--heading-font);
    font-size: 1.4rem;
    line-height: 1.3;
    color: var(--hvc-secondary);
}
.hvc-search-result__link:hover .hvc-search-result__title,
.hvc-search-result__link:focus-visible .hvc-search-result__title { color: var(--hvc-primary); }
.hvc-search-result__place { margin: .35rem 0 0; font-size: .9rem; color: var(--hvc-primary); }
.hvc-search-result__anot { margin: .5rem 0 0; color: #4a4a4a; }
.hvc-search-result mark {
    padding: 0 .12em;
    color: inherit;
    background: rgba(201, 164, 75, .38);
    border-radius: .2em;
}
.hvc-search-empty { padding: 2rem 0; }
.hvc-search-empty ul { list-style: none; padding: 0; margin: 0; }

/* ============================================================
   PRÍSTUPNOSŤ — globálne
   ============================================================ */
/* Viditeľný focus na všetkom, čo sa dá ovládať klávesnicou. Travelor téma
   focus outline na viacerých miestach potláča — vraciame ho späť (WCAG 2.4.7). */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid var(--hvc-accent);
    outline-offset: 2px;
    border-radius: .25rem;
}

/* Rešpektuj systémové "obmedziť pohyb" — AOS/GSAP animácie vypneme (WCAG 2.3.3). */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
        scroll-behavior: auto !important;
    }
    [data-aos] {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ============================================================
   RÝCHLY FILTER VINÁROV
   ============================================================ */
.hvc-filter {
    margin-bottom: 2.5rem;
    padding: 1.5rem;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .07);
    border-radius: 1.25rem;
    box-shadow: 0 6px 24px rgba(0, 0, 0, .04);
}
.hvc-filter__row {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    /* flex-end by zarovnalo policka podľa ich výšky — stačilo by, aby jedno malo
       popisok na dva riadky a celý riadok sa rozsype. stretch + label s pevnou
       výškou drží inputy na jednej linke. */
    align-items: stretch;
}
.hvc-filter__field { display: flex; flex-direction: column; justify-content: flex-end; }
.hvc-filter__field { flex: 1 1 180px; min-width: 0; }
.hvc-filter__field--search { flex: 2 1 280px; }
.hvc-filter__field--reset { flex: 0 0 auto; }

.hvc-filter__label {
    display: block;
    margin-bottom: .4rem;
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--hvc-secondary);
}
.hvc-filter__input-wrap { position: relative; }
.hvc-filter__input-wrap i {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.2rem;
    color: var(--hvc-primary);
    pointer-events: none;
}
.hvc-filter__input,
.hvc-filter__select {
    width: 100%;
    padding: .8rem 1rem;
    font-size: 1rem;
    font-family: var(--body-font);
    color: var(--hvc-secondary);
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .16);
    border-radius: .75rem;
    appearance: none;
}
.hvc-filter__input { padding-left: 2.9rem; }
.hvc-filter__select {
    /* Vlastná šípka — inline SVG, žiadny externý asset. */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%239e1d22'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 14px;
    padding-right: 2.5rem;
}
.hvc-filter__input:focus-visible,
.hvc-filter__select:focus-visible {
    outline: 3px solid var(--hvc-accent);
    outline-offset: 1px;
    border-color: var(--hvc-primary);
}
.hvc-filter__hint {
    margin: .75rem 0 0;
    font-size: .85rem;
    color: #6b6b6b;
}
.hvc-filter__reset {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .8rem 1.2rem;
    font-size: .95rem;
    font-weight: 600;
    color: var(--hvc-primary);
    background: transparent;
    border: 1px solid rgba(158, 29, 34, .3);
    border-radius: .75rem;
}
.hvc-filter__reset:hover { background: rgba(158, 29, 34, .07); }
.hvc-filter__count {
    margin: 1rem 0 0;
    font-weight: 600;
    color: var(--hvc-primary);
}
.hvc-filter__count:empty { margin: 0; }
.hvc-filter__empty {
    margin: 1rem 0 0;
    padding: 1rem 1.25rem;
    color: var(--hvc-secondary);
    background: rgba(201, 164, 75, .14);
    border-radius: .75rem;
}
/* „Len práve otvorené“ — natívny checkbox, popisok vyzerá ako tlačidlo
   v rovnakej výške ako inputy filtra. */
.hvc-filter__field--open {
    flex: 0 0 auto;
    position: relative;
    flex-direction: row;
    align-items: flex-end;
}
.hvc-filter__check-input {
    position: absolute;
    left: 1rem;
    bottom: 1.15rem;
    width: 1.1rem;
    height: 1.1rem;
    margin: 0;
    accent-color: var(--hvc-primary);
}
.hvc-filter__check {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .8rem 1.2rem .8rem 2.7rem;
    font-size: .95rem;
    font-weight: 600;
    color: var(--hvc-secondary);
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .16);
    border-radius: .75rem;
    cursor: pointer;
    white-space: nowrap;
}
.hvc-filter__check i { font-size: 1.15rem; color: #1f6b3a; }
.hvc-filter__check-input:checked + .hvc-filter__check {
    border-color: #1f6b3a;
    background: #eaf5ee;
}
.hvc-filter__check-input:focus-visible + .hvc-filter__check {
    outline: 3px solid var(--hvc-accent);
    outline-offset: 1px;
}
.hvc-filter__check-input:disabled + .hvc-filter__check {
    cursor: not-allowed;
    opacity: .6;
}
.hvc-filter__check-count { font-weight: 400; }

/* ============================================================
   OTVORENOSŤ VINÁRSTVA (štítok v karte a na detaile)
   ============================================================
   Stav nesie vždy text + ikona, farba je len doplnok (WCAG 1.4.1).
   Biela na zelenej #1f7a3e (5.4:1) aj sivá #555 na #f1efeb majú kontrast > 4.5:1. */
.hvc-open-status {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin: 0 0 1rem;
    padding: .3rem .75rem;
    font-size: .85rem;
    font-weight: 600;
    line-height: 1.3;
    border-radius: 999px;
}
.hvc-open-status i { font-size: 1.05rem; }
.hvc-open-status--open   { color: #fff;    background: #1f7a3e; }
.hvc-open-status--soon   { color: #7a4a00; background: #fbf0d9; }
.hvc-open-status--closed { color: #555;    background: #f1efeb; }
.hvc-open-status--lg {
    margin-bottom: 2rem;
    padding: .5rem 1rem;
    font-size: 1rem;
}
.hvc-open-status--lg i { font-size: 1.3rem; }

/* [hidden] musí naozaj skrývať aj prvky s display z Bootstrapu. */
.hvc-winery-item[hidden],
.hvc-filter [hidden],
[data-filter-role="expand"][hidden] { display: none !important; }

/* Sekčný "eyebrow" nadpisok. V Travelor markupe to bol <h6>, čo rozbíjalo
   osnovu nadpisov (h6 → h2 → h4). Je to dekorácia, nie nadpis, takže je z toho
   <p class="section-subtitle"> a vzhľad dorovnáva toto pravidlo. */
p.section-subtitle {
    display: block;
    margin-bottom: 1rem;
    line-height: 1.3;
    color: var(--hvc-primary);
}

/* ============================================================
   HLAVIČKA STRÁNKY (nadpis + omrvinky)
   Nahrádza Travelor "breadcrumb-area" s celoplošným hero obrázkom.
   Boxed blok hneď pod menu: H1 hore, cesta pod ním.
   ============================================================ */
:root {
    /* Presnú hodnotu doplni app.js po zmeraní hlavičky; toto je fallback. */
    --hvc-header-h: 162px;
}
.hvc-page-head {
    /* Odsadenie o výšku hlavičky — viď syncHeaderOffset() v app.js. */
    padding: calc(var(--hvc-header-h) + 3rem) 0 2rem;
    border-bottom: 1px solid rgba(0, 0, 0, .07);
}
.hvc-page-head__eyebrow {
    margin: 0 0 .35rem;
    font-size: 1.35rem;
    color: var(--hvc-primary);
}
.hvc-page-head__title {
    margin: 0 0 .75rem;
    font-family: var(--heading-font);
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1.12;
    font-weight: 400;
    color: var(--hvc-secondary);
}
.hvc-breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: .95rem;
}
.hvc-breadcrumb__item + .hvc-breadcrumb__item::before {
    content: "/";
    margin-right: .5rem;
    color: rgba(0, 0, 0, .3);
}
.hvc-breadcrumb__item a { color: var(--hvc-primary); text-decoration: none; }
.hvc-breadcrumb__item a:hover { text-decoration: underline; }
.hvc-breadcrumb__item span { color: #6b6b6b; }

@media (max-width: 767.98px) {
    .hvc-page-head { padding: calc(var(--hvc-header-h) + 1.5rem) 0 1.5rem; }
}

/* Slider na detaile — pôvodne container-fluid, čo ho roztiahlo cez celú šírku
   okna. Teraz je len o kúsok širší ako .container a nikdy nepretečie viewport. */
.hvc-wide {
    width: 100%;
    max-width: 1560px;
    margin-inline: auto;
    padding-inline: 1rem;
}


/* Súvisiace sekcie pod detailom (vinári v okolí, z blogu) */
.hvc-related { background: rgba(0, 0, 0, .015); }
.hvc-related + .hvc-related { background: transparent; }
.hvc-related__note {
    margin: .5rem 0 0;
    font-size: .88rem;
    color: #6b6b6b;
}
.hvc-related .blog-three-thumb {
    aspect-ratio: 16 / 10;
    background: var(--hvc-surface);
}
.hvc-related .blog-three-thumb img {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center;
}

/* ============================================================
   POZADIA A HĹBKA
   Stránka má krémový podklad, obsahové karty biele s jemným tieňom,
   päta o odtieň tmavšia — aby sa vizuálne oddelila od obsahu.
   ============================================================ */
body,
.home-three-bg { background-color: #fff; }

/* Karty (vinári, podujatia, blog, sidebar) — biele + tieň. */
.destination-three-wrapper,
.service-two-wrapper,
.blog-three-wrap,
.attraction-card,
.sidebar-card,
.hvc-filter {
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(40, 16, 13, .04), 0 8px 24px rgba(40, 16, 13, .06);
}
.destination-three-wrapper:hover,
.blog-three-wrap:hover,
.attraction-card:hover {
    box-shadow: 0 4px 8px rgba(40, 16, 13, .06), 0 16px 40px rgba(40, 16, 13, .10);
}
/* .blog-three-wrap je v téme len obal bez pozadia — dorovnáme mu odsadenie,
   inak by tieň obopínal aj text tesne pri okraji. */
.blog-three-wrap {
    padding: 1rem 1rem 1.75rem;
    border-radius: .75rem;
}

/* Päta — viď sekciu „PÄTA podľa dizajn manuálu“ na konci súboru. */

/* ============================================================
   ODKAZY
   Všetky odkazy v obsahu sú podčiarknuté bodkovane. Vylúčené je menu,
   tlačidlá a odkazy, ktoré obaľujú obrázok (podčiarknutie pod fotkou
   vyzerá ako chyba). Kontrast: #6b6b6b nesplní 4.5:1 na krémovom
   podklade, preto ide text piet na brand bordó.
   ============================================================ */
a {
    text-decoration: underline;
    text-decoration-style: dotted;
    text-underline-offset: .22em;
    text-decoration-thickness: 1px;
}
/* Bez podčiarknutia: navigácia, tlačidlá, sociálne ikony, obalové odkazy fotiek. */
.nav-menu__link,
.primary-btn,
.btn,
.hvc-search-btn,
.hvc-breadcrumb__list a,
.skip-link,
.footer .footer-col-one ul a,
.service-two-thumb a,
.blog-three-thumb a,
.project-two-thumb a,
.package-details-slide a,
.gallery__item,
.mobile-menu__logo,
.logo a,
.search_logo a,
.hvc-search-result__link,
a[class*="tw-w-"] {
    text-decoration: none;
}
/* Samostatne: v CSS jeden nepodporovany selektor zneplatni celý zoznam,
   takže :has() nesmie byť v jednom pravidle s ostatnými výnimkami. */
a:has(> img:only-child) { text-decoration: none; }
/* Pri prejdení myšou a pri fokuse je podčiarknutie plné — jasná spätná väzba. */
a:hover,
a:focus-visible { text-decoration-style: solid; }

/* Odkazy v päte — čitateľný kontrast (téma ich mala na svetlej šedej). */
.footer-link,
.footer-copyright-text {
    color: var(--hvc-secondary);
}
.footer-link:hover,
.footer-link:focus-visible { color: var(--hvc-primary); }
.footer-link--upper {
    font-size: .82rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.footer-copyright-text { font-size: .92rem; }
.footer-copyright-text .footer-link { margin-left: .5rem; }

/* Podpis dodávateľa */
.ktp-vendor {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-left: .75rem;
    color: var(--hvc-secondary);
    font-size: .92rem;
}
.ktp-vendor-icon { width: 16px; height: 16px; flex: 0 0 16px; }

/* ============================================================
   SLIDER NA DETAILE — menej agresívny orez
   21:9 rezal z fotiek priveľa; 16:9 (mobil 4:3) nechá viac obrazu.
   ============================================================ */
.package-details-slide .swiper-slide img {
    aspect-ratio: 16 / 9;
    max-height: 720px;
}
@media (max-width: 767.98px) {
    .package-details-slide .swiper-slide img { aspect-ratio: 4 / 3; }
}

/* ============================================================
   OPRAVA: karta vinára/podujatia pretekala zo stĺpca
   Travelor má `.destination-three-wrapper { width: 447px }` — pevné pixely.
   Pri 3 stĺpcoch sa to náhodou zmestilo, pri 4 (col-xxl-3 ≈ 357px) karta
   prečnievala do suseda a karty sa prekrývali. Šírku viaže na stĺpec.
   ============================================================ */
.destination-three-wrapper,
.service-two-wrapper {
    width: 100%;
    max-width: 100%;
}

/* ============================================================
   BOXED: biely obsah aj hlavička
   Dizajn manuál stavia na bielej ploche + vínovej červenej. Základné logo
   (tmavý text, červený monogram) je určené na biele pozadie, preto je
   hlavička biela; päta je vínová (viď koniec súboru).
   ============================================================ */
body,
.home-three-bg { background-color: #fff; }

/* Travelor dáva .fixed-header `var(--neutral-50)`, čo je #e9f8ff (bledomodrá).
   To sem farebne nepatrí, preto obe prepisujeme. */
.header,
.header.fixed-header {
    background-color: #fff;
}
.header.fixed-header {
    box-shadow: 0 4px 16px rgba(40, 16, 13, .10);
}

/* Karty sú teraz biele na bielom — samotný tieň je málo, pridávame jemný obrys. */
.destination-three-wrapper,
.service-two-wrapper,
.blog-three-wrap,
.attraction-card,
.sidebar-card,
.hvc-filter {
    border: 1px solid rgba(40, 16, 13, .07);
}

/* Podpis dodávateľa v päte — inline-flex sa lepil na baseline riadku a text
   vyskakoval nad ostatné. Zarovnáme ho na stred riadku. */
.footer-copyright-text {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .25rem .75rem;
}
.footer-copyright-text .footer-link { margin-left: 0; }
.ktp-vendor {
    margin-left: 0;
    line-height: 1;
}
.ktp-vendor-icon { display: block; }

/* Striedavá sekcia — jemne tmavšia než biely obsah, bez bannera a parallaxu.
   Používa ju sekcia „Podujatia v regióne" na home, aby sa vizuálne oddelila
   od susedných sekcií. */
.hvc-section--alt {
    background-color: var(--hvc-surface);
    border-top: 1px solid rgba(40, 16, 13, .05);
    border-bottom: 1px solid rgba(40, 16, 13, .05);
}

/* ============================================================
   HLAVIČKA — doladenie
   ============================================================ */
/* Na home je pod hlavičkou hero, takže krémový pruh tam len prekáža —
   hlavička splýva s pozadím stránky. Sticky stav ostáva krémový,
   inak by text pri scrollovaní plával nad obsahom. */
body.page-home .header:not(.fixed-header) {
    background-color: transparent;
}

/* Travelor kreslí pod menu 1px linku (.header-menu .nav-menu { border-bottom }).
   Nechcená — preč. */
.header-menu .nav-menu,
.hvc-nav .nav-menu {
    border-bottom: 0 !important;
}

/* Položky menu na stred medzi logom a hľadaním. */
.hvc-nav .nav-menu {
    justify-content: center;
}

/* ScrollSmoother je zhodený (viď app.js), takže <header> je zase v normálnom
   toku a obsah sa mu nepodlieza — odsadenie hlavičky už netreba. */
:root { --hvc-header-h: 0px; }
.hvc-page-head { padding-top: 3rem; }
@media (max-width: 767.98px) {
    .hvc-page-head { padding-top: 2rem; }
}

/* ============================================================
   KARTY — menšie nadpisy
   Názvy vinárstiev a podujatí boli pri 4 stĺpcoch príliš veľké
   a lámali sa na tri riadky.
   ============================================================ */
.destination-three-wrapper .service-two-content h3,
.service-two-wrapper .service-two-content h3 {
    font-size: 1.25rem;
    line-height: 1.25;
}
.hvc-related .blog-three-title,
.blog-three-wrap .blog-three-title {
    font-size: 1.2rem;
    line-height: 1.3;
}

/* ============================================================
   NORMÁLNY TOK STRÁNKY
   GSAP ScrollSmoother obalí #scrollSmoother-container do
   `.ScrollSmoother-wrapper` s `position: fixed; inset: 0`. Tým celý obsah
   vypadne z toku a nalezie na <header>, ktorý je mimo kontajnera — menu sa
   ocitne na hero obrázku a hlavička detailu zmizne pod menu.
   `ScrollSmoother.kill()` na to nestačí (wrapper po sebe nechá a
   `ScrollTrigger.refresh()` ho vie oživiť), preto to zaisťujeme tu.
   ============================================================ */
.ScrollSmoother-wrapper {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
}
#scrollSmoother-container {
    transform: none !important;
    will-change: auto !important;
}

/* Hero nalepený na menu. Travelor dáva `.banner-three-space` horné odsadenie
   115px (a na užších obrazovkách 0) — na home to len odtláčalo banner od
   hlavičky. Nulujeme na všetkých šírkach. */
.banner-three-space {
    padding-block-start: 0 !important;
    padding-top: 0 !important;
}

/* Názvy v kartách tučné.
   `!important` je tu nutné — Travelor dáva na tieto nadpisy bootstrapovú
   utilitu `.fw-normal`, ktorá už sama nesie `font-weight: 400 !important`. */
.destination-three-wrapper .service-two-content h3,
.service-two-wrapper .service-two-content h3,
.blog-three-wrap .blog-three-title,
.hvc-related .blog-three-title,
.attraction-card .project-two-title {
    font-weight: 700 !important;
}
.destination-three-wrapper .service-two-content h3 a,
.service-two-wrapper .service-two-content h3 a,
.blog-three-wrap .blog-three-title a,
.attraction-card .project-two-title a {
    font-weight: inherit;
}

/* ============================================================
   ODKRÝVANIE SEKCIÍ — náhrada za AOS
   AOS ostáva načítané (je súčasťou témy), ale jeho pravidlá prebíjame —
   po zabití ScrollSmoothera nevedelo spoľahlivo doplniť .aos-animate
   a sekcie zostávali neviditeľné. Odkrývanie rieši IntersectionObserver
   v app.js, ktorý pridáva .hvc-revealed.
   ============================================================ */
[data-aos] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .5s ease, transform .5s ease;
    /* AOS si na niektoré typy dáva vlastné transformy — prebijeme ich. */
    transition-delay: 0s !important;
}
[data-aos].hvc-revealed,
[data-aos].aos-animate {
    opacity: 1 !important;
    transform: none !important;
    /* aos.css dáva [data-aos^=fade] pointer-events:none a vracia ho až s .aos-animate —
       bez tohto by odkrytá karta bola vidno, ale nedalo by sa na ňu kliknúť. */
    pointer-events: auto !important;
}

/* Používateľ s obmedzeným pohybom dostane obsah rovno, bez prechodu. */
@media (prefers-reduced-motion: reduce) {
    [data-aos] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        pointer-events: auto !important;
    }
}

/* ============================================================
   MEDZERA MEDZI HLAVIČKOU STRÁNKY A OBSAHOM
   Travelor dáva obsahovým sekciám `py-140` (140 px hore aj dole). Hneď pod
   hlavičkou stránky to spolu s jej spodným odsadením robilo ~170 px prázdna.
   Sekcii tesne za hlavičkou preto horné odsadenie stiahneme; spodné jej
   ostáva, aby sa obsah nelepil na pätu.
   ============================================================ */
.hvc-page-head {
    padding-bottom: 1.25rem;
}
.hvc-page-head + section,
.hvc-page-head + div > section:first-child {
    padding-top: 10px !important;
}

/* ============================================================
   LIGHTBOX
   Vlastný, bez knižnice — spúšťajú ho prvky s data-lightbox.
   ============================================================ */
.hvc-zoom {
    display: block;
    padding: 0;
    border: 0;
    background: none;
    width: 100%;
    cursor: zoom-in;
}
.hvc-zoom img { display: block; }

.hvc-lb {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 2rem clamp(1rem, 5vw, 5rem);
    background: rgba(40, 16, 13, .94);
    backdrop-filter: blur(4px);
}
.hvc-lb[hidden] { display: none; }
/* Kým je lightbox otvorený, stránka pod ním nescrolluje. */
body.hvc-lb-open { overflow: hidden; }

.hvc-lb__figure {
    margin: 0;
    max-width: 100%;
    max-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.hvc-lb__img {
    max-width: 100%;
    max-height: 85vh;
    width: auto;
    height: auto;
    border-radius: .75rem;
    box-shadow: 0 24px 64px rgba(0, 0, 0, .5);
}

.hvc-lb__close,
.hvc-lb__nav {
    flex: 0 0 auto;
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: #fff;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 999px;
    transition: background-color .18s ease;
}
.hvc-lb__close:hover,
.hvc-lb__nav:hover { background: rgba(255, 255, 255, .28); }
.hvc-lb__close {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
}
.hvc-lb__nav[hidden] { display: none; }

.hvc-lb__count {
    position: absolute;
    bottom: 1.25rem;
    left: 0;
    right: 0;
    margin: 0;
    text-align: center;
    color: rgba(255, 255, 255, .8);
    font-size: .9rem;
}
.hvc-lb__count:empty { display: none; }

@media (max-width: 575.98px) {
    .hvc-lb { padding: 1rem .5rem 3rem; gap: .25rem; }
    .hvc-lb__close, .hvc-lb__nav { width: 40px; height: 40px; font-size: 1.25rem; }
}

/* Home „O nás“ — téma zaobľuje len obal malej fotky, obrázok pretŕča do štvorca */
.about-three-thumb-two { overflow: hidden; }
.about-three-thumb-two > img { display: block; border-radius: 50%; }

/* ==========================================================================
   Mapa regiónu Hont (partial_content/hont_map.php)
   ========================================================================== */
.hvc-map-section { background: var(--hvc-surface); }
.hvc-map svg { display: block; width: 100%; height: auto; max-height: 82vh; }
.hvc-map-outline path { fill: none; stroke: var(--hvc-secondary); stroke-width: 7; stroke-linejoin: round; }
.hvc-map-munis path { fill: #fff; stroke: #e3d3d0; stroke-width: 1.5; stroke-linejoin: round; }
.hvc-map-munis path:hover { fill: #f6e8e8; }
.hvc-map-river path { fill: none; stroke: #4f8fbf; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.hvc-map-dot circle {
    fill: var(--hvc-primary); stroke: #fff; stroke-width: 3;
    transition: r .15s ease, fill .15s ease;
}
.hvc-map-dot:hover circle, .hvc-map-dot.is-active circle { fill: var(--hvc-accent); r: 13; }
.hvc-map-labels text {
    font: 600 24px/1 "Playfair Display", Georgia, serif;
    fill: var(--hvc-secondary);
    paint-order: stroke; stroke: #fff; stroke-width: 6px; stroke-linejoin: round;
    pointer-events: none;
}
.hvc-map-labels text.is-active { fill: var(--hvc-primary); text-decoration: underline; }
.hvc-map-credit { font-size: .8125rem; color: #5a4a47; margin-top: .5rem; }
.hvc-map-credit a { color: inherit; text-decoration: underline; }

.hvc-map-list { columns: 2 14rem; column-gap: 2rem; }
/* Zoznam bez max-height — pri obmedzenej výške multi-column pretiekol do ďalšieho
   stĺpca a vznikol vodorovný posuvník. Výšku bloku určuje zoznam, mapa sa prispôsobí. */
/* Vedľa seba (od 992 px) má mapa výšku zoznamu vinárov: výšku riadku určuje zoznam,
   SVG dostane flex-basis 0 a natiahne sa len do nej (viewBox drží pomer strán).
   Spodná hranica 480 px, aby sa pri krátkom zozname mapa nescvrkla. */
@media (min-width: 992px) {
    .row[data-hvc-map] { align-items: stretch !important; }
    [data-hvc-map] .hvc-map { display: flex; flex-direction: column; height: 100%; }
    [data-hvc-map] .hvc-map svg { flex: 1 1 0; min-height: 480px; height: auto; max-height: none; }
}
.hvc-map-list-obec {
    break-after: avoid;
    font-size: 1.125rem; margin: 0 0 .35rem; color: var(--hvc-secondary);
}
.hvc-map-list-count { font-weight: 400; font-size: .9em; color: #5a4a47; }
.hvc-map-list ul { break-inside: avoid; margin-bottom: 1.25rem; }
.hvc-map-list li { margin-bottom: .2rem; }
.hvc-map-list a { color: var(--hvc-secondary); text-decoration: none; border-bottom: 1px solid transparent; }
.hvc-map-list a:hover, .hvc-map-list a.is-active { color: var(--hvc-primary); border-bottom-color: currentColor; }
@media (prefers-reduced-motion: reduce) { .hvc-map-dot circle { transition: none; } }

/* ==========================================================================
   VIZUÁLNA IDENTITA PODĽA DIZAJN MANUÁLU HVC (work/dizajn-manual, 10/2026)
   Základné farby: vínová #9e1d22 + tmavá #28100d, čierna #231f20 na text,
   zlatá len ako doplnok (razba). Plochy biele, päta vínová s vlnou.
   Logá: hvc-logo.svg (biele pozadie), hvc-logo-red.svg (červené pozadie),
   hvc-logo-dark.svg (tmavé pozadie), hvc-monogram.svg (favicon).
   ========================================================================== */
:root {
    /* Téma skladá text z HSL zložiek — modrosivé tóny témy nahradíme teplými. */
    --body: 8 10% 26%;
    --paragraph: 8 8% 30%;
    --heading-color: 7 51% 10%;
    --neutral-50: #f8f4f2;
    --hvc-gold-light: #f1dca3;   /* svetlá zlatá — text na vínovej / tmavej */
    --hvc-gold-gradient: linear-gradient(135deg, #f6e5a6 0%, #d8b062 45%, #a8732e 100%);
    --hvc-wave-h: clamp(40px, 7vw, 110px);
}

body { color: var(--hvc-ink); }
::selection { background: var(--hvc-primary); color: #fff; }

/* Nadpisy — tmavá korporátna farba. Hrúbku, riadkovanie a prestrkanie h2
   necháva na téme (ako pred redizajnom, želanie klienta 8. 10. 2026). */
h1, h2, h3, h4, h5, h6,
.section-title,
.about-three-title {
    color: var(--hvc-secondary);
}
/* Téma má riadkovanie 100 % a GSAP char-animation reže riadky — odsekávalo
   spodky „j y p g“. Hrúbka a veľkosť ostávajú z témy, pridávame len riadkovanie. */
.section-title,
.about-three-title { line-height: 1.2 !important; }
.hvc-page-head__title { font-weight: 500; }
.hvc-page-head__eyebrow { font-size: .95rem; }

/* Tlačidlá: všetky vínové s bielym textom (kontrast 8:1), hover tmavý #28100d.
   Views používajú pre sekundárne tlačidlá triedy témy .bg-main-two-600.text-main-600 —
   prefarbujeme ich tu, nie vo views. Zlatá ostáva len na štítkoch a linkách. */
.primary-btn.bg-main-600:hover,
.primary-btn.bg-main-600:focus-visible { background-color: var(--hvc-secondary) !important; }
.bg-main-two-600 { background-color: var(--hvc-accent) !important; }
.bg-main-two-600.text-main-600,
.bg-main-two-600 .text-main-600 { color: var(--hvc-secondary) !important; }
.primary-btn.bg-main-two-600 { background-color: var(--hvc-primary) !important; }
.primary-btn.bg-main-two-600.text-main-600 { color: #fff !important; }
.primary-btn.bg-main-two-600::before { background-color: var(--hvc-secondary); }
.primary-btn.bg-main-two-600:focus-visible { background-color: var(--hvc-secondary) !important; }

/* Hlavička — biela plocha, väčšie logo (kruhový text musí ostať čitateľný). */
.hvc-nav { min-height: 124px; }
.hvc-logo--main { max-height: 108px; }
.header { border-bottom: 1px solid rgba(40, 16, 13, .06); }
body.page-home .header:not(.fixed-header) { background-color: #fff; border-bottom: 0; }
.hvc-nav .nav-menu__link { color: var(--hvc-secondary); }
.hvc-nav .nav-menu__item.activePage > .nav-menu__link::after { background: var(--hvc-primary); }
@media (max-width: 1199.98px) { .hvc-logo--main { max-height: 88px; } }
@media (max-width: 991.98px)  { .hvc-nav { min-height: 88px; } .hvc-logo--main { max-height: 72px; } }

/* Hlavička podstránky — tenká zlatá linka pod H1 ako v manuáli. */
.hvc-page-head__title::after {
    content: "";
    display: block;
    width: 64px;
    height: 3px;
    margin-top: .75rem;
    border-radius: 3px;
    background: var(--hvc-gold-gradient);
}

/* Karty — názvy tmavé, hover vínový. */
.service-two-content h3 a,
.blog-three-title a,
.project-two-title a { color: var(--hvc-secondary); }
.service-two-content h3 a:hover,
.blog-three-title a:hover,
.project-two-title a:hover { color: var(--hvc-primary); }

/* ==========================================================================
   PÄTA podľa dizajn manuálu — vínová plocha s vlnou, tmavá spodná lišta
   ========================================================================== */
.footer {
    /* Horný pruh výšky vlny je priehľadný, vlna ho vyplní. */
    padding-top: var(--hvc-wave-h);
    background: linear-gradient(to bottom, transparent var(--hvc-wave-h), var(--hvc-primary) var(--hvc-wave-h));
    border-top: 0;
    color: #fff;
}
.hvc-footer-wave {
    position: absolute;
    top: 1px;
    left: 0;
    right: 0;
    height: var(--hvc-wave-h);
    line-height: 0;
    color: var(--hvc-primary);
    pointer-events: none;
}
.hvc-footer-wave svg { display: block; width: 100%; height: 100%; fill: currentColor; }

.footer p,
.footer li,
.footer .text-main-600,
.footer .footer-link,
.footer .footer-copyright-text,
.footer .ktp-vendor { color: #fff !important; }
.footer h3,
.footer .text-main-two-600,
.footer .footer-col i { color: var(--hvc-gold-light) !important; }
.footer .footer-link:hover,
.footer .footer-col a:hover { color: var(--hvc-gold-light) !important; }
/* Zlatý focus by na vínovej nemal kontrast 3:1 — v päte je biely. */
.footer a:focus-visible { outline-color: #fff; }

/* Sociálne ikony — biely štvorec, vínová ikona. */
.footer .footer-col-one ul a {
    color: var(--hvc-primary) !important;
    border: 0;
    transition: background-color .18s ease, color .18s ease;
}
.footer .footer-col-one ul a:hover {
    background: var(--hvc-secondary) !important;
    color: #fff !important;
}

/* Logá donorov sú farebné — dostanú bielu plochu. */
.footer-grants { border-top: 1px solid rgba(255, 255, 255, .18) !important; }
.hvc-grants-logos {
    padding: 1.25rem 2rem;
    background: #fff;
    border-radius: 1rem;
}
.footer-grants .grant-logo { max-height: 64px; }

.hvc-footer-bottom { background: var(--hvc-secondary); }
.hvc-footer-bottom .footer-link:hover { color: var(--hvc-gold-light) !important; }

/* Päta — doladenie: väčšie logo (ochranná zóna = voľné okolie), bez linky pod vlnou. */
.footer .footer-wrapper { border: 0 !important; }
.footer .hvc-logo--footer { max-height: 150px; }

/* Bootstrap odkazy — modrá #0661e9 nahradená vínovou. */
:root {
    --bs-link-color: #9e1d22;
    --bs-link-color-rgb: 158, 29, 34;
    --bs-link-hover-color: #28100d;
    --bs-link-hover-color-rgb: 40, 16, 13;
}

/* Ikona lokality v kartách — téma ju má modrú #015FC9. */
.service-two-location i { color: var(--hvc-primary); }
.service-two-location,
.service-two-paragraph { color: #5a4a47; }

/* Tlačidlo „hore“ — téma ho kreslí cez mix-blend-mode: difference, na vínovej
   päte z toho vyšla tyrkysová. Vraciame pevné farby. */
.progress-wrap {
    mix-blend-mode: normal;
    background-color: #fff;
    box-shadow: inset 0 0 0 2px rgba(40, 16, 13, .15), 0 4px 14px rgba(40, 16, 13, .25);
}
.progress-wrap::after { color: var(--hvc-primary) !important; }
.progress-wrap svg.progress-circle path { stroke: var(--hvc-primary); }

/* GSAP char-animation témy posúva písmená nadpisov pred odkrytím o 100 px
   doprava — na mobile tým vznikal vodorovný scroll. `clip` (nie `hidden`)
   nevytvára scroll kontajner, takže sticky hlavička funguje ďalej. */
html, body { overflow-x: clip; }

/* ==========================================================================
   PODKLAD STRÁNKY — jemne béžové okraje, biely „list“ v šírke obsahu.
   Pás kreslíme gradientom na hlavičke, <main> a hornom okraji päty, takže
   netreba meniť markup. Šírka listu = max-width .container (Bootstrap, nad 1400 px
   téma 1430 px) + 48 px.
   Pod 768 px je list na celú šírku (béžový okraj by len ukrajoval miesto).
   ========================================================================== */
:root {
    --hvc-page: #f3ece3;          /* jemná béžová mimo obsahu */
    --hvc-footer-bg: #861a1e;     /* päta — o odtieň tmavšia vínová než #9e1d22 */
    --hvc-sheet-w: 100%;
}
@media (min-width: 768px)  { :root { --hvc-sheet-w: 768px; } }
@media (min-width: 992px)  { :root { --hvc-sheet-w: 1008px; } }
@media (min-width: 1200px) { :root { --hvc-sheet-w: 1188px; } }
@media (min-width: 1400px) { :root { --hvc-sheet-w: 1478px; } }  /* téma tu má .container 1430 px */

html, body { background-color: var(--hvc-page); }

.header,
.header.fixed-header,
body.page-home .header:not(.fixed-header),
main,
.hvc-section--alt,
.hvc-map-section {
    --hvc-sheet-c: #fff;
    background: linear-gradient(90deg,
        var(--hvc-page) calc(50% - var(--hvc-sheet-w) / 2),
        var(--hvc-sheet-c) 0 calc(50% + var(--hvc-sheet-w) / 2),
        var(--hvc-page) 0) !important;
}
/* Striedavé sekcie ostávajú o odtieň teplejšie, ale len v rámci listu. */
.hvc-section--alt,
.hvc-map-section { --hvc-sheet-c: var(--hvc-surface); border-top: 0; border-bottom: 0; }

/* Päta — tmavšia vínová; nad vlnou pokračuje biely list. */
.footer {
    --hvc-sheet-c: #fff;
    background:
        linear-gradient(to bottom, transparent var(--hvc-wave-h), var(--hvc-footer-bg) var(--hvc-wave-h)),
        linear-gradient(90deg,
            var(--hvc-page) calc(50% - var(--hvc-sheet-w) / 2),
            var(--hvc-sheet-c) 0 calc(50% + var(--hvc-sheet-w) / 2),
            var(--hvc-page) 0);
}
.hvc-footer-wave { color: var(--hvc-footer-bg); }

/* „O nás“ na home — téma kladie eyebrow a text vedľa seba s veľkou medzerou;
   na mobile tak textu ostane úzky stĺpec a tlačidlo sa láme uprostred slova. */
@media (max-width: 575.98px) {
    .about-three-wrapper > .d-flex { flex-direction: column; gap: 0 !important; }
}
.primary-btn { white-space: nowrap; }

/* Hero na home — presahuje .container najviac o 30 % voľného okraja na každej strane:
   šírka = kontajner + 0,3 × (okno − kontajner). --hvc-container = max-width .container
   (nad 1400 px téma 1430 px). Pod 768 px ostáva odsadenie témy. */
:root { --hvc-container: 100%; }
@media (min-width: 768px)  { :root { --hvc-container: 720px; } }
@media (min-width: 992px)  { :root { --hvc-container: 960px; } }
@media (min-width: 1200px) { :root { --hvc-container: 1140px; } }
@media (min-width: 1400px) { :root { --hvc-container: min(1430px, 100%); } }
@media (min-width: 768px) {
    .banner-three-space { padding-inline: 0 !important; }
    .banner-three-space > .banner-three-area {
        width: calc(var(--hvc-container) + (100% - var(--hvc-container)) * .3);
        margin-inline: auto;
    }
}

/* Zúbkovaný spodok fotky — namiesto krémového pásu témy (banner-three-shape-4)
   je spodný okraj fotky vystrihnutý maskou, takže pod ním presvitá pozadie stránky.
   banner-torn-mask.png = alfa hrana z banner-three-shape.png + 225 px nepriehľadnej
   plochy nad ňou (1920×300). Horná vrstva (plný gradient) končí 4vw nad spodkom —
   vždy vnútri nepriehľadnej časti masky, nikdy pod hranou. */
.banner-three-shape-4 { display: none; }
.banner-three-area {
    -webkit-mask:
        linear-gradient(#000 0 0) top / 100% calc(100% - 4vw) no-repeat,
        url("../images/banner/banner-torn-mask.png") bottom / 100% auto no-repeat;
    mask:
        linear-gradient(#000 0 0) top / 100% calc(100% - 4vw) no-repeat,
        url("../images/banner/banner-torn-mask.png") bottom / 100% auto no-repeat;
}

/* Širší kontajner na veľkých monitoroch — 1600 px od okna 1700 px (pod tým téma 1430 px).
   Hlavička ide s obsahom, aby logo lícovalo s ľavým okrajom sekcií.
   Biely list (--hvc-sheet-w) aj presah hero (--hvc-container) sa prepočítajú samy. */
@media (min-width: 1700px) {
    :root { --hvc-container: 1600px; --hvc-sheet-w: 1648px; }
    .container,
    .header .container { max-width: 1600px; }
}

/* Cookie lišta (partial_content/cookie_consent.php) — fixne dole, nie modálne okno.
   Obe tlačidlá majú rovnakú váhu: odmietnuť musí byť rovnako ľahké ako prijať. */
.hvc-consent {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 1050;
    background: #fff;
    color: var(--hvc-ink);
    border-top: 3px solid var(--hvc-primary);
    box-shadow: 0 -6px 24px rgba(40, 16, 13, .18);
}
.hvc-consent[hidden] { display: none; }
.hvc-consent__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 1.25rem 16px;
    display: flex;
    align-items: center;
    gap: 1rem 2rem;
    flex-wrap: wrap;
}
.hvc-consent__text { flex: 1 1 420px; }
.hvc-consent__title {
    font-size: 1.25rem;
    margin: 0 0 .35rem;
    color: var(--hvc-secondary);
}
.hvc-consent__desc { margin: 0; font-size: .95rem; line-height: 1.5; }
.hvc-consent__desc a { color: var(--hvc-primary); text-decoration: underline; }
.hvc-consent__actions { display: flex; gap: .75rem; flex-wrap: wrap; }
.hvc-consent__actions--page { margin: 1rem 0 1.5rem; }
.hvc-consent__btn {
    min-width: 10rem;
    padding: .75rem 1.25rem;
    border: 2px solid var(--hvc-primary);
    border-radius: .5rem;
    background: var(--hvc-primary);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    transition: background-color .15s, border-color .15s;
}
.hvc-consent__btn:hover { background: var(--hvc-secondary); border-color: var(--hvc-secondary); }
.hvc-consent__btn:focus-visible { outline: 3px solid var(--hvc-accent); outline-offset: 2px; }
@media (max-width: 575.98px) {
    .hvc-consent__actions { width: 100%; }
    .hvc-consent__btn { flex: 1 1 0; min-width: 0; }
}

/* Tabuľka cookies na /zasady-cookies */
.hvc-cookie-table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.hvc-cookie-table th,
.hvc-cookie-table td { padding: .65rem .75rem; border-bottom: 1px solid #e6ddd5; text-align: left; vertical-align: top; }
.hvc-cookie-table thead th { color: var(--hvc-secondary); border-bottom-width: 2px; }
.hvc-cookie-table tbody th { font-weight: 400; white-space: nowrap; }
.hvc-cookie-table th:nth-child(3),
.hvc-cookie-table td:nth-child(3) { white-space: nowrap; }
.hvc-cookie-table code,
.article-text code { color: var(--hvc-secondary); }
