/* Základné nastavenia a CSS premenné */
:root {
    --primary-color: #4CAF50; /* Hlavná zelená */
    --primary-color-darker: #388E3C; /* Tmavšia hlavná zelená pre hover */
    --secondary-color: #8BC34A; /* Svetlozelená - analogická */
    --accent-color: #009688; /* Modrozelená/Tyrkysová - analogická */
    --accent-color-darker: #00796B; /* Tmavšia akcentová pre hover */

    --text-color: #333333; /* Tmavá pre text na svetlom pozadí */
    --text-color-light: #FFFFFF; /* Svetlá pre text na tmavom pozadí */
    --text-color-subtle: #555555; /* Jemnejšia tmavá pre popisky */
    --text-on-primary: #FFFFFF; /* Text na primárnom farebnom pozadí */

    --background-color: #F4F7F6; /* Veľmi svetlá sivastozelená - eco-minimalizmus */
    --background-color-alt: #E8F5E9; /* Alternatívna svetlozelená pre sekcie */
    
    --glass-bg-light-card: rgba(255, 255, 255, 0.65); /* Pre karty na svetlom pozadí */
    --glass-bg-dark-overlay: rgba(0, 0, 0, 0.15); /* Pre prvky na tmavom prekrytí */
    --glass-bg-navbar: rgba(255, 255, 255, 0.75);
    --glass-blur: 10px; /* Miera rozmazania pre glassmorfizmus */

    --border-color: #D0D0D0;
    --border-color-light: rgba(255, 255, 255, 0.2); /* Pre glassmorfizmus na tmavom pozadí */
    --border-radius-small: 4px;
    --border-radius-medium: 8px;
    --border-radius-large: 16px;

    --shadow-soft: 0 4px 15px rgba(0, 0, 0, 0.08);
    --shadow-medium: 0 8px 25px rgba(0, 0, 0, 0.1);
    --shadow-strong: 0 10px 30px rgba(0, 0, 0, 0.12);

    --font-heading: 'Archivo Black', sans-serif;
    --font-body: 'Roboto', sans-serif;

    --navbar-height: 52px; /* Bulma default pre is-fixed-top */
    --section-padding-vertical: 4rem;
    --section-padding-horizontal: 1.5rem;
}

/* Globálne štýly a reset Bulmy */
html {
    scroll-behavior: smooth;
    background-color: var(--background-color); /* Pozadie pre celý dokument */
}

body {
    font-family: var(--font-body);
    color: var(--text-color);
    line-height: 1.65;
    font-size: 1rem; /* Bulma default je 1em (16px) */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.page-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    overflow-x: hidden; /* Zabraňuje horizontálnemu skrolovaniu */
}

.main-content {
    flex-grow: 1;
    padding-top: var(--navbar-height); 
}

/* Typografia */
h1, h2, h3, h4, h5, h6,
.title, .subtitle {
    font-family: var(--font-heading);
    color: var(--text-color); /* Zaistenie kontrastu */
    font-weight: normal; /* Archivo Black je už tučný */
}

.title { /* Bulma .title */
    color: #222222; /* Ešte tmavšia pre hlavné nadpisy */
    word-break: break-word;
}
.subtitle { /* Bulma .subtitle */
    color: var(--text-color-subtle);
    font-family: var(--font-body);
    font-weight: 400;
}

.section-title {
    margin-bottom: 2.5rem !important; /* Väčší odstup */
    text-shadow: 1px 1px 2px rgba(0,0,0,0.05);
    text-align: center;
}
.section-subtitle { /* Použité pre podnadpisy v content-page-container */
    font-family: var(--font-heading); /* Consistency with other headings */
    color: var(--primary-color);
    margin-top: 2em;
    margin-bottom: 1em;
}

p {
    margin-bottom: 1.25rem; /* Consistent paragraph spacing */
}

a {
    color: var(--primary-color);
    transition: color 0.3s ease;
}
a:hover {
    color: var(--primary-color-darker);
}

/* Globálne štýly pre tlačidlá */
.button, button, input[type='submit'], input[type='button'] {
    font-family: var(--font-body);
    font-weight: 700;
    border-radius: var(--border-radius-medium);
    padding: 0.75em 1.5em;
    transition: transform 0.2s ease-out, background-color 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid transparent;
    cursor: pointer;
    box-shadow: var(--shadow-soft);
}
.button:hover, button:hover, input[type='submit']:hover, input[type='button']:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-medium);
}
.button:active, button:active, input[type='submit']:active, input[type='button']:active {
    transform: translateY(0px);
    box-shadow: var(--shadow-soft);
}

/* Primárne tlačidlo (Bulma .is-primary) */
.button.is-primary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--text-on-primary);
}
.button.is-primary:hover {
    background-color: var(--primary-color-darker);
    border-color: var(--primary-color-darker);
}
.button.is-primary:focus:not(:active) {
    box-shadow: 0 0 0 0.125em rgba(76, 175, 80, 0.25); /* Focus ring */
}

/* Sekundárne/Akcentové tlačidlo (príklad) */
.button.is-accent {
    background-color: var(--accent-color);
    border-color: var(--accent-color);
    color: var(--text-on-primary);
}
.button.is-accent:hover {
    background-color: var(--accent-color-darker);
    border-color: var(--accent-color-darker);
}

/* Polia formulára */
.input, .textarea, .select select {
    border-radius: var(--border-radius-medium);
    border: 1px solid var(--border-color);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    background-color: rgba(255, 255, 255, 0.9); /* Mierne priehľadné */
    font-size: 1rem;
    padding: 0.75em 1em;
}
.input:focus, .textarea:focus, .select select:focus,
.input:active, .textarea:active, .select select:active {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.125em rgba(76, 175, 80, 0.25); /* Bulma-like focus */
}
.label { /* Bulma .label */
    color: var(--text-color);
    font-weight: 700;
    font-family: var(--font-body);
    margin-bottom: 0.5em;
}
.checkbox label, .radio label {
    font-family: var(--font-body);
}

/* Header a Navbar */
.header .navbar.is-fixed-top {
    background-color: var(--glass-bg-navbar);
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.navbar-item, .navbar-link {
    font-family: var(--font-body);
    font-weight: 700;
    color: var(--text-color);
    transition: color 0.3s ease, background-color 0.3s ease;
    padding: 0.5rem 1rem;
}
.navbar-item:hover, .navbar-link:hover,
.navbar-item.is-active, .navbar-link.is-active {
    background-color: transparent !important; /* Bulma override */
    color: var(--primary-color) !important;
}
.navbar-burger span {
    background-color: var(--primary-color);
    height: 2px; /* Tenšie čiary */
}
.logo-text {
    font-family: var(--font-heading);
    font-size: 1.6rem; /* Výraznejšie logo */
    color: var(--primary-color) !important;
    padding: 0.5rem 0.75rem;
}

@media screen and (max-width: 1023px) {
    .navbar-menu {
        background-color: rgba(250, 250, 250, 0.95); /* Menej priehľadné na mobiloch */
        backdrop-filter: blur(var(--glass-blur));
        box-shadow: 0 8px 16px rgba(10,10,10,.1);
        padding: .5rem 0;
        text-align: center;
        border-bottom-left-radius: var(--border-radius-medium);
        border-bottom-right-radius: var(--border-radius-medium);
    }
    .navbar-item {
        padding: 0.75rem 1rem;
    }
}


/* Hero sekcia */
.hero-section {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative; /* Pre parallax a overlay */
    color: var(--text-color-light); /* Text v Hero bude biely */
}
.hero-background-overlay { /* Overlay pre kontrast textu */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.35));
    z-index: 1;
}
.hero-body .container {
    position: relative;
    z-index: 2;
}
.hero-title {
    color: var(--text-color-light) !important; /* Striktne biela */
    font-size: clamp(2.5rem, 6vw, 4rem) !important; /* Responzívna veľkosť */
    margin-bottom: 0.5em !important;
    text-shadow: 2px 2px 6px rgba(0,0,0,0.6);
}
.hero-subtitle {
    color: var(--text-color-light) !important; /* Striktne biela */
    font-family: var(--font-body);
    font-size: clamp(1.1rem, 3vw, 1.5rem) !important;
    max-width: 750px; /* Obmedzenie šírky pre lepšiu čitateľnosť */
    margin: 0 auto 1.75em auto;
    line-height: 1.5;
    text-shadow: 1px 1px 4px rgba(0,0,0,0.6);
}
.hero-section .button.is-primary {
    padding: 0.8em 2em; /* Väčšie tlačidlo v Hero */
    font-size: 1.1rem;
}

/* Sekcie s obrázkovým pozadím (Research, FAQ) */
.research-section, .faq-section {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
    padding: var(--section-padding-vertical) var(--section-padding-horizontal);
    color: var(--text-color-light); /* Predvolená farba textu pre tieto sekcie */
}
.research-background-overlay, .faq-background-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(0,0,0,0.65), rgba(0,0,0,0.75)); /* Tmavší overlay */
    z-index: 1;
}
.research-section .container, .faq-section .container {
    position: relative;
    z-index: 2;
}
/* Zabezpečenie, aby nadpisy a text v týchto sekciách boli biele */
.research-section .title, .research-section .subtitle, .research-section p, .research-section label,
.faq-section .title, .faq-section .subtitle, .faq-section p, .faq-section .button.faq-question {
    color: var(--text-color-light) !important;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
}
.research-section .label { /* Bulma .label */
    font-weight: 700;
}

/* Karty (Projects, Success Stories, External Links) */
.card {
    background-color: var(--glass-bg-light-card);
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
    border-radius: var(--border-radius-large); /* Výraznejšie zaoblenie */
    box-shadow: var(--shadow-medium);
    transition: transform 0.3s ease-out, box-shadow 0.3s ease-out;
    overflow: hidden;
    height: 100%; /* Pre jednotnú výšku v rámci Bulma .columns */
    display: flex; /* Požiadavka na flex pre kartu */
    flex-direction: column; /* Požiadavka na smerovanie */
    /* align-items: center;  -- Toto by centrovalo card-image a card-content bloky, ak sú užšie ako karta. Spravidla nie je žiadúce. Centrovanie obsahu riešime vnútri týchto blokov. */
}
.card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-strong);
}

.card .card-image { /* Bulma .card-image */
    /* align-items: center; -- nie sem, figure je blokový */
    /* display: flex; -- nie sem, figure je blokový */
    /* justify-content: center; -- nie sem */
}
.card .card-image .image { /* Bulma .image (figure) */
    display: block; /* Zaistí, že figure sa správa predvídateľne */
    /* text-align: center; -- pre centrovanie inline/inline-block img, ale img je zvyčajne block a 100% width */
}
/* Kontajner pre obrázok (figure.image v Bulme) */
.projects-section .card-image .image,
.external-links-section .card-image .image { /* Príklad pre špecifické sekcie ak je potrebná fixná výška */
    height: 200px; /* Pevná výška pre kontajner obrázka */
    overflow: hidden; /* Zaistí, že img neprečnieva */
}
.card .card-image img {
    display: block; /* Odstráni medzeru pod obrázkom */
    width: 100%;
    height: 100%; /* Vyplní kontajner (napr. figure s pevnou výškou) */
    object-fit: cover; /* Požiadavka */
    border-top-left-radius: var(--border-radius-large); /* Ak obrázok nie je vnútri iného elementu s border-radius */
    border-top-right-radius: var(--border-radius-large);
}
/* Ak karta nemá obrázok hore, zaoblíme celú kartu */
.card:not(:has(.card-image:first-child)) {
    border-radius: var(--border-radius-large);
}
.card .card-content {
    padding: 1.75rem; /* Viac priestoru */
    flex-grow: 1; /* Obsah karty sa roztiahne */
    display: flex;
    flex-direction: column;
}
.card .card-content .title { /* Nadpis v karte */
    font-family: var(--font-heading);
    color: var(--primary-color);
    margin-bottom: 0.75rem;
    font-size: 1.3rem; /* Mierne väčší */
}
.card .card-content .content { /* Bulma .content v karte */
    font-size: 0.95rem;
    color: var(--text-color-subtle);
    flex-grow: 1; /* Text zaberie dostupný priestor */
}
/* Centrovanie obsahu pre špecifické karty, ak je to explicitne potrebné */
.card.has-text-centered-content .card-content {
    text-align: center;
}
.card.has-centered-image .card-image { /* Ak by sme chceli centrovať samotný blok obrázka */
    margin-left: auto;
    margin-right: auto;
}


/* Success Stories Cards */
.success-card .media { /* Bulma .media */
    align-items: center; /* Zarovná avatar a text vertikálne */
}
.success-card .media-left {
    margin-right: 1.25rem;
}
.success-card .image-container img.is-rounded { /* Avatar */
    width: 80px; /* Väčší avatar */
    height: 80px;
    border: 3px solid var(--primary-color); /* Rámik vo farbe témy */
    box-shadow: var(--shadow-soft);
}
.success-card .card-title { /* Meno klienta */
    font-size: 1.2rem;
    color: var(--text-color);
}
.success-card .subtitle { /* @username */
    font-size: 0.9rem;
    color: var(--accent-color);
}

/* Resource Cards (External Links) */
.resource-card .card-title a {
    color: var(--primary-color);
    text-decoration: none;
}
.resource-card .card-title a:hover {
    color: var(--primary-color-darker);
    text-decoration: underline;
}
.resource-card .content.is-small {
    font-size: 0.85rem;
}

/* Image Gallery */
.gallery-title {
    margin-top: 3rem;
    margin-bottom: 1.5rem !important;
}
.gallery-section .image img, /* Ak by existovala samostatná sekcia */
.projects-section .columns.is-multiline.is-centered .image img { /* Cielenie na galériu v projektoch */
    border-radius: var(--border-radius-medium);
    box-shadow: var(--shadow-medium);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.projects-section .columns.is-multiline.is-centered .image img:hover {
    transform: scale(1.05);
    box-shadow: var(--shadow-strong);
}

/* Progress Bars (Research Section) */
.research-section .progress {
    margin-bottom: 1.25rem;
    height: 1.25rem;
    border-radius: var(--border-radius-small);
    background-color: rgba(255, 255, 255, 0.3); /* Svetlejšie pozadie pre progress bar */
}
.research-section .progress::-webkit-progress-value {
    background-color: var(--primary-color);
    border-radius: var(--border-radius-small);
    transition: width 1s ease-out; /* Pre animáciu cez JS */
}
.research-section .progress.is-success::-webkit-progress-value {
    background-color: var(--secondary-color);
}
.research-section .progress.is-info::-webkit-progress-value { /* Použité pre tretí progress bar */
    background-color: var(--accent-color);
}
.research-section .progress::-moz-progress-bar { /* Firefox */
    background-color: var(--primary-color);
    border-radius: var(--border-radius-small);
    transition: width 1s ease-out;
}
.research-section .progress.is-success::-moz-progress-bar {
    background-color: var(--secondary-color);
}
.research-section .progress.is-info::-moz-progress-bar {
    background-color: var(--accent-color);
}

/* FAQ Accordion (v FAQ sekcii) */
.faq-item {
    margin-bottom: 1rem;
    background: var(--glass-bg-dark-overlay); /* Glassmorfizmus na tmavom pozadí */
    backdrop-filter: blur(5px); /* Menej výrazný blur pre lepšiu čitateľnosť textu */
    -webkit-backdrop-filter: blur(5px);
    border-radius: var(--border-radius-medium);
    border: 1px solid var(--border-color-light);
    overflow: hidden; /* Dôležité pre animáciu odpovede */
}
.faq-question { /* Bulma .button.is-fullwidth */
    width: 100%;
    text-align: left;
    padding: 1rem 1.5rem;
    font-weight: 700; /* Roboto Bold */
    background-color: transparent; /* Tlačidlo je súčasťou glassmorphic prvku */
    /* color: var(--text-color-light) !important; -- už riešené globálne pre sekciu */
    border: none;
    cursor: pointer;
    font-size: 1.1rem;
    position: relative;
    display: flex; /* Pre zarovnanie textu a ikony */
    justify-content: space-between; /* Ikona na pravej strane */
    align-items: center;
    box-shadow: none; /* Odstránenie tieňa z Bulma .button */
}
.faq-question:hover {
    background-color: rgba(255, 255, 255, 0.05); /* Jemný hover efekt */
    transform: none; /* Zrušenie transformácie z globálneho .button:hover */
    box-shadow: none;
}
.faq-question::after { /* Ikona +/- */
    content: '+';
    font-size: 1.6rem; /* Väčšia ikona */
    font-weight: 300; /* Tenšia ikona */
    transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55); /* Bounce efekt */
}
.faq-question.is-active::after {
    content: '−'; /* Mínus */
    transform: rotate(180deg);
}
.faq-answer { /* Bulma .content */
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-in-out, padding 0.5s ease-in-out;
    padding: 0 1.5rem; /* Zmena paddingu z 0 na hodnotu */
    color: #E0E0E0; /* Svetlejší text pre odpoveď pre kontrast */
    background-color: rgba(0,0,0,0.15); /* Mierne tmavšie pozadie pre odpoveď */
    line-height: 1.6;
}
.faq-answer p:last-child {
    margin-bottom: 0; /* Odstráni spodný margin posledného odseku v odpovedi */
}
/* .faq-answer.is-active sa už nepoužíva, JS priamo mení štýly */

/* Štýly pre obrázky v sekciách Vision, Careers, About Team, Map */
.vision-section .image-container img,
.careers-section .image-container img,
.about-page .image-container img, /* Ak .about-page je class na body */
.contacts-page .map-container .image-container img { /* Ak .contacts-page je class na body */
    border-radius: var(--border-radius-large);
    box-shadow: var(--shadow-medium);
    object-fit: cover; /* Zaistí, že obrázok vyplní kontajner a oreže sa */
    width: 100%;
    height: 100%;
}
.vision-section .image-container,
.careers-section .image-container,
.about-page .image-container,
.contacts-page .map-container .image-container {
    border-radius: var(--border-radius-large);
    overflow: hidden; /* Dôležité pre border-radius na img */
    display: block; /* Pre konzistentné správanie */
}
.map-container {
    margin-top: 3rem;
}
.map-container .image.is-16by9 { /* Bulma aspect ratio pre mapu */
    border-radius: var(--border-radius-large);
    overflow: hidden;
    box-shadow: var(--shadow-medium);
}


/* Modálne okno */
.modal-card {
    border-radius: var(--border-radius-large);
    background-color: var(--background-color);
    box-shadow: var(--shadow-strong);
    max-width: 640px; /* Obmedzenie šírky modálneho okna */
}
.modal-card-head, .modal-card-foot {
    background-color: rgba(245, 245, 245, 0.9); /* Mierne transparentné */
    backdrop-filter: blur(5px);
    border-color: var(--border-color);
    padding: 1.25rem 1.5rem;
}
.modal-card-head {
    border-top-left-radius: var(--border-radius-large);
    border-top-right-radius: var(--border-radius-large);
}
.modal-card-foot {
    border-bottom-left-radius: var(--border-radius-large);
    border-bottom-right-radius: var(--border-radius-large);
}
.modal-card-title {
    font-family: var(--font-heading);
    color: var(--primary-color);
    font-size: 1.5rem;
}
.modal-card-body {
    padding: 1.5rem;
    font-size: 1rem;
    line-height: 1.7;
}

/* Kontajner pre obsahové stránky (About, Privacy, Terms, Contacts) */
.content-page-container {
    max-width: 960px; /* Bulma default je 960px pre .container */
    margin: 0 auto;
    padding: var(--section-padding-vertical) var(--section-padding-horizontal);
    background: rgba(255, 255, 255, 0.9); /* Jemne priehľadné pre textové stránky */
    border-radius: var(--border-radius-large);
    box-shadow: var(--shadow-medium);
    margin-top: 2rem; /* Odstup od navbaru/hero */
    margin-bottom: 2rem;
}
.content-page-container .title.is-1 { /* Hlavný nadpis stránky */
    margin-bottom: 1.5rem;
}
.content-page-container .content h2, 
.content-page-container .content h3 { /* Podnadpisy v obsahu */
    font-family: var(--font-heading);
    color: var(--primary-color);
    margin-top: 2em;
    margin-bottom: 0.8em;
}
.content-page-container .content p,
.content-page-container .content li {
    font-size: 1.05rem; /* Mierne väčší text pre lepšiu čitateľnosť dlhých textov */
    margin-bottom: 1.2em;
    color: var(--text-color);
}
.content-page-container .content ul {
    list-style: disc;
    padding-left: 2em;
}

/* Špecifické pre stránky Privacy a Terms */
body.privacy-page .content-page-container,
body.terms-page .content-page-container {
    padding-top: 3rem; /* Väčší odstup zhora, ak je main-content padding-top=52px */
    /* Celkový odstup od vrchu viewportu bude 52px (navbar) + tento padding */
}

/* Stránka Success.html */
body.success-page {
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* Celá výška viewportu */
}
body.success-page .page-wrapper,
body.success-page .main-content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}
body.success-page .section { /* Sekcia obsahujúca .content-page-container */
    flex-grow: 1;
    display: flex;
    align-items: center; /* Vertikálne centrovanie */
    justify-content: center; /* Horizontálne centrovanie */
    width: 100%;
}
body.success-page .content-page-container {
    text-align: center;
    background: transparent; /* Žiadne pozadie karty */
    box-shadow: none; /* Žiadny tieň */
    padding: 2rem; /* Menší padding, keďže je centrované */
    margin-top: 0; /* Reset marginu */
    margin-bottom: 0;
    max-width: 700px; /* Obmedzenie šírky */
}
body.success-page .image.is-128x128 { /* Ikona úspechu */
    margin-bottom: 2rem !important; /* Väčší odstup pod ikonou */
}
body.success-page .title.is-1 {
    font-size: 2.2rem; /* Primeraná veľkosť pre potvrdenie */
}
body.success-page .subtitle.is-4 {
    font-size: 1.2rem;
    margin-bottom: 1.5rem;
}


/* Päta stránky */
.footer-section {
    background-color: #2A3B4D; /* Tmavšia, sofistikovaná modrosivá */
    color: #A7B4C2; /* Svetlejšia sivá pre text */
    padding: 3.5rem var(--section-padding-horizontal) 2.5rem;
    font-size: 0.95rem;
}
.footer-section .footer-title strong {
    color: var(--text-color-light);
    font-family: var(--font-heading);
    font-size: 1.25rem;
    margin-bottom: 1rem;
    display: block;
}
.footer-section p {
    margin-bottom: 0.75rem;
}
.footer-section a {
    color: var(--secondary-color); /* Výraznejšia farba pre odkazy v päte */
    transition: color 0.3s ease, text-decoration 0.3s ease;
    text-decoration: none;
}
.footer-section a:hover {
    color: var(--primary-color);
    text-decoration: underline;
}
.footer-section .content.has-text-centered p {
    color: #8A9AAB; /* Ešte jemnejšia farba pre copyright */
    font-size: 0.9rem;
    margin-top: 2.5rem; /* Odstup pre copyright */
}
/* Štýly pre sociálne odkazy v päte (textové) */
.footer-section .column:last-child p a { /* Ak sú sociálne odkazy v poslednom stĺpci */
    display: inline-block; /* Umožní margin a padding */
    padding: 0.25rem 0; /* Malý vertikálny padding */
    font-weight: 500; /* Mierne tučnejšie */
}


/* Animačné triedy pre JavaScript (Motion One) */
.animate-on-scroll {
    opacity: 0;
    /* transform: translateY(30px); -- toto bude riešiť Motion One */
}
/* .is-visible class sa už nepoužíva, Motion One to rieši interne */


/* Pomocné triedy */
.has-text-primary { color: var(--primary-color) !important; }
.has-text-accent { color: var(--accent-color) !important; }
.has-background-primary { background-color: var(--primary-color) !important; }
.has-background-accent { background-color: var(--accent-color) !important; }

/* Read more link style */
.read-more-link {
    display: inline-block;
    margin-top: 1rem;
    color: var(--accent-color);
    font-weight: 700; /* Tučnejšie pre "čítať viac" */
    text-decoration: none;
    position: relative; /* Pre animáciu šípky */
    transition: color 0.3s ease;
    padding: 0.25em 0; /* Malý padding pre lepšie klikanie */
    font-size: 0.95rem;
}
.read-more-link::after {
    content: '→';
    font-family: sans-serif; /* Zaistí konzistentnú šípku */
    margin-left: 0.5em;
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    display: inline-block; /* Pre transformáciu */
}
.read-more-link:hover {
    color: var(--primary-color);
}
.read-more-link:hover::after {
    transform: translateX(6px); /* Pohyb šípky */
}

/* Doplnenie pre card-image, aby obrázky neprečnievali, ak má karta zaoblené rohy a obrázok je prvý alebo posledný prvok */
.card .card-image:first-child img {
    border-top-left-radius: var(--border-radius-large);
    border-top-right-radius: var(--border-radius-large);
    border-bottom-left-radius: 0; /* Reset, ak by bol jediný */
    border-bottom-right-radius: 0;
}
.card .card-image:last-child img {
    border-bottom-left-radius: var(--border-radius-large);
    border-bottom-right-radius: var(--border-radius-large);
    border-top-left-radius: 0; /* Reset, ak by bol jediný */
    border-top-right-radius: 0;
}
/* Ak je card-image jediným dieťaťom, zaoblí všetky rohy */
.card .card-image:only-child img {
    border-radius: var(--border-radius-large);
}

/* Korekcia pre Bulma .columns.is-vcentered na mobiloch pre Vision a Careers */
@media screen and (max-width: 768px) {
    .vision-section .columns.is-vcentered .column:first-child, /* Textový stĺpec */
    .careers-section .columns.is-vcentered .column:last-child { /* Textový stĺpec v Careers */
        order: 1; /* Text prvý */
    }
    .vision-section .columns.is-vcentered .column:last-child, /* Obrázkový stĺpec */
    .careers-section .columns.is-vcentered .column:first-child { /* Obrázkový stĺpec v Careers */
        order: 2; /* Obrázok druhý */
        margin-top: 1.5rem; /* Pridanie medzery, ak je obrázok pod textom */
    }
}

/* Cookie Consent Popup - štýly sú v HTML, toto je len pre prípad potreby doplnenia */
#cookieConsentPopup {
    /* Štýly sú definované inline v HTML pre jednoduchosť a požiadavky */
    /* Napr. font-family: var(--font-body); ak by bolo treba */
}
#cookieConsentPopup p {
    margin-bottom: 10px !important; /* Override default p margin if needed */
}
#cookieConsentPopup a {
    color: var(--primary-color) !important; /* Lepšia viditeľnosť odkazu */
}
#acceptCookieConsent {
    background-color: var(--primary-color) !important; /* Konzistencia s témou */
    font-weight: 700;
}
#acceptCookieConsent:hover {
    background-color: var(--primary-color-darker) !important;
}


/* Final check on contrasts and readability */
/* Ensure high contrast for all text elements, especially on glassmorphic backgrounds or image overlays */
/* Dark text on light glass: var(--text-color) */
/* Light text on dark glass/overlays: var(--text-color-light) */
*{
    opacity: 1 !important;
}