/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/

/* GLOBAL STYLES */

.max-width-700 {
    max-width: 700px;
}

.max-width-800 {
    max-width: 800px;
}

.max-width-900 {
    max-width: 900px;
}

.fusion-content-boxes.content-boxes-icon-on-side .icon,
.fusion-content-boxes.content-boxes-icon-on-side .image {
    top: 50%;
    transform: translateY(-50%);
}

.insurance-logo img {
    border-radius: 5px;
}

/* HEADER */

header.fusion-sticky-transition {
    box-shadow: 0 0 10px rgba(0,0,0,0.08);
}

header div:has(a.fusion-button) {
    min-width: max-content !important;
}

header .header-navigation-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 15px;
}

/* HOMEPAGE */

.sluzba-column:hover .fusion-button {
    background-color: var(--awb-color4);
}

.sluzba-column:hover .fusion-button * {
    color: var(--awb-color1) !important;
}

.sluzba-column div:has(> a.fusion-button) {
    margin-top: auto;
}

#hero-google-review .ti-widget.ti-goog .ti-verified-by-row {
    text-align: center !important;
}

#hero-google-review .ti-rating.ti-rating-large,
.nowrap,
.nowrap > strong {
    color: var(--awb-color1) !important;
}

#hero-google-review .ti-large-logo img {
    filter: brightness(0) invert(1) !important;
}

#hero-google-review .ti-footer.ti-footer-grid.source-Google {
    margin-bottom: 10px !important;
}

#hero-google-review .ti-widget.ti-goog .ti-controls-line {
    background-color: rgb(255 255 255 / 35%);
}

#hero-google-review .ti-widget.ti-goog .ti-controls-line .dot {
    background: var(--awb-color1) !important;
}

/* FAQ */

.faq-section {
    --faq-accent: var(--awb-color3);
    --faq-accent-soft: var(--awb-color4);
    --faq-text: var(--awb-color10);
    --faq-text-soft: var(--awb-color10);
    --faq-card-bg: var(--awb-color1);
    --faq-border: rgba(20, 32, 46, 0.1);
    --faq-radius: 12px;

    .faq-list {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;

        > li {
            margin: 0;
            padding: 0;

            &::marker {
                content: "";
            }
        }
    }

    .faq-item {
        background-color: var(--faq-card-bg);
        border: 1px solid var(--faq-border);
        border-radius: var(--faq-radius);
        box-shadow: 0 4px 18px rgba(20, 32, 46, 0.06);
        overflow: hidden;

        &[open] .faq-icon {
            background-color: var(--awb-color6);
            color: var(--awb-color1);
            transform: rotate(45deg);
        }
    }

    .faq-question {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        padding: 1.2rem 1.4rem;
        cursor: pointer;
        user-select: none;
        list-style: none;

        &:hover .faq-icon {
            background-color: var(--awb-color6);
        }

        &::-webkit-details-marker,
        &::marker {
            display: none;
            content: "";
        }

        &:focus-visible {
            outline: 2px solid var(--faq-accent);
            outline-offset: -2px;
        }
    }

    .faq-question-text {
        margin: 0 !important;
        color: var(--faq-text);
        font-size: 1.025rem;
        line-height: 1.4;
    }

    .faq-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2rem;
        height: 2rem;
        flex-shrink: 0;
        border-radius: 50%;
        background-color: var(--faq-accent-soft);
        color: var(--faq-accent);
        transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
                    background-color 0.25s ease,
                    color 0.25s ease;

        svg {
            display: block;
            width: 1rem;
            height: 1rem;
        }
    }

    .faq-answer {
        padding: 0 1.4rem 1.2rem;
        color: var(--faq-text-soft);
        font-size: 0.95rem;
        line-height: 1.6;

        p:last-child {
            margin-bottom: 0;
        }
    }
}

@media (prefers-reduced-motion: reduce) {
    .faq-section .faq-icon {
        transition: none;
    }
}

.faq-answer-text a {
    font-weight: 500;
    text-decoration: underline !important;
}

a.faq-button {
    display: inline-block;
    padding: 10px 15px;
    background: var(--awb-color6);
    border-radius: 7px;
    font-weight: 500;
    text-decoration: none !important;
}

a.faq-button:hover {
    background: var(--awb-color4);
    color: var(--awb-color1);
    text-decoration: none !important;
}

/* FOOTER */

.footer-copyright-wrapper {
    margin-top: auto !important;
}

.copyright > p {
    display: inline-flex;
    align-items: center;
}

.footer-img {
    display: inline-flex;
    align-items: center;
}

.footer-img img {
    margin: 0 .35em;
}

/* RESPO */

header .awb-menu_mobile-toggle {
    max-width: max-content;
}

.awb-menu_mobile-toggle > button {
    padding: 10px;
    margin-right: 76px;
    max-width: max-content;
    border-radius: 7px;
}

@media only screen and (max-width: 640px) {

    #hero h2,
    #hero h2 p {
        font-size: 15vw;
    }

    #hero-buttons > .fusion-column-wrapper {
        align-items: center;
        justify-content: center;
    }

    .fusion-content-boxes.has-flex-alignment {
        gap: 40px;
    }

    .copyright > p {
        display: unset;
        align-items: unset;
        font-size: 14px;
    }

    .fusion-sticky-transition .collapse-enabled.mobile-size-full-absolute:not(.mobile-mode-always-expanded) .awb-menu__main-ul {
        max-height: unset !important;
    }

}

/* BLOG */

ul.fusion-filters {
    max-width: max-content;
    margin: 0 auto 20px;
    gap: 5px;
    padding: 5px;
    border-radius: 7px;
}

li.fusion-filter {
    margin: 0;
    line-height: 1;
}

li.fusion-filter > a {
    padding: 10px 15px;
    background: transparent;
    color: var(--awb-color5);
    border-radius: 7px;
}

li.fusion-filter > a:hover {
    background: var(--awb-color3);
    color: var(--awb-color5) !important;
}

li.fusion-filter.fusion-active > a,
li.fusion-filter.fusion-active > a:hover {
    background: var(--awb-color7);
    color: var(--awb-color4) !important;
    font-weight: 600 !important;
}

/* =========================================================
   ODBORNÉ ČLÁNKY
   ========================================================= */

.clanok-obsah {
    --article-dark: var(--awb-color5);
    --article-blue: var(--awb-color4);
    --article-light-blue: var(--awb-color7);
    --article-orange: var(--awb-color6);
    --article-white: var(--awb-color1);
    --article-bg: var(--awb-color2);
    --article-border: rgba(6, 64, 90, 0.12);

    font-size: 17px;
    line-height: 1.75;
}

.clanok-obsah br {
    display: none;
}

/* TEXT */

.clanok-obsah p {
    margin-top: 0;
    margin-bottom: 20px;
}

.clanok-obsah .article-lead {
    margin-bottom: 36px;
    color: var(--article-dark);
    font-size: 20px;
    line-height: 1.6;
    font-weight: 500;
}

.clanok-obsah strong {
    color: var(--article-dark);
}

.clanok-obsah a {
    font-weight: 600;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

/* NADPISY */

.clanok-obsah > h2 {
    margin-top: 30px !important;
    margin-bottom: 20px !important;
    color: var(--article-dark);
    font-size: clamp(28px, 3vw, 36px) !important;
    line-height: 1.15 !important;
}

.clanok-obsah > h3 {
    margin-top: 34px !important;
    margin-bottom: 16px !important;
    color: var(--article-dark);
    font-size: clamp(21px, 2vw, 25px) !important;
    line-height: 1.25 !important;
}

/* ZOZNAMY V TELE ČLÁNKU */

.clanok-obsah > ul,
.clanok-obsah > ol {
    margin: 0 0 26px;
    padding-left: 26px;
}

.clanok-obsah > ul > li,
.clanok-obsah > ol > li {
    padding-left: 4px;
}

.clanok-obsah > ul > li::marker,
.clanok-obsah > ol > li::marker {
    color: var(--article-blue);
}

/* HLAVNÝ INFORMAČNÝ BOX */

.clanok-obsah .article-highlight {
    position: relative;
    margin: 32px 0 40px;
    padding: 26px 28px 26px 32px;
    background: var(--article-light-blue);
    border-left: 5px solid var(--article-blue);
    border-radius: 0 12px 12px 0;
}

.clanok-obsah .article-highlight p {
    margin: 0;
}

/* DÔLEŽITÉ UPOZORNENIE */

.clanok-obsah .article-notice {
    position: relative;
    margin: 32px 0 40px;
    padding: 26px 28px;
    background: rgba(255, 182, 72, 0.14);
    border: 1px solid rgba(255, 182, 72, 0.45);
    border-radius: 12px;
}

.clanok-obsah .article-notice p {
    margin: 0;
}

/* OBRÁZOK V ČLÁNKU */

.clanok-obsah .article-figure {
    margin: 42px 0;
}

.clanok-obsah .article-figure img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 15px;
}

.clanok-obsah .article-figure figcaption {
    margin-top: 10px;
    color: rgba(6, 64, 90, 0.72);
    font-size: 14px;
    line-height: 1.5;
}

/* POROVNÁVACIA TABUĽKA */

.clanok-obsah .article-table-wrap {
    width: 100%;
    overflow-x: auto;
    margin: 28px 0 42px;
    background: var(--article-white);
    border: 1px solid var(--article-border);
    border-radius: 14px;
    -webkit-overflow-scrolling: touch;
}

.clanok-obsah .article-table-wrap table {
    width: 100%;
    min-width: 680px;
    margin: 0;
    background: transparent;
    border: 0;
    border-collapse: collapse;
}

.clanok-obsah .article-table-wrap th,
.clanok-obsah .article-table-wrap td {
    padding: 15px 18px;
    border: 0;
    border-bottom: 1px solid var(--article-border);
    text-align: left;
    vertical-align: top;
    line-height: 1.45;
}

.clanok-obsah .article-table-wrap thead th {
    background: var(--article-dark);
    color: var(--article-white);
    font-weight: 700;
}

.clanok-obsah .article-table-wrap thead th:first-child {
    border-radius: 13px 0 0 0;
}

.clanok-obsah .article-table-wrap thead th:last-child {
    border-radius: 0 13px 0 0;
}

.clanok-obsah .article-table-wrap tbody th {
    width: 40%;
    background: rgba(206, 238, 255, 0.28);
    color: var(--article-dark);
    font-weight: 700;
}

.clanok-obsah .article-table-wrap tbody tr:last-child th,
.clanok-obsah .article-table-wrap tbody tr:last-child td {
    border-bottom: 0;
}

/* CTA V ČLÁNKU */

.clanok-obsah .article-cta {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin: 44px 0 0;
    padding: 30px 30px 10px;
    background: linear-gradient(135deg, var(--article-blue) 0%, var(--article-dark) 100%);
    border-radius: 15px;
    color: var(--article-white);
}

.clanok-obsah .article-cta__content {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.clanok-obsah .article-cta__title {
    display: block;
    margin: 0;
    color: var(--article-white);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.3;
}

.clanok-obsah .article-cta__text {
    display: block;
    margin: 0;
    color: var(--article-white);
    font-size: 17px;
    line-height: 1.5;
}

.clanok-obsah .article-cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-shrink: 0;
    padding: 15px 25px;
    background: var(--awb-color6);
    color: var(--awb-color5);
    border-radius: 7px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none !important;
    transition: background-color .2s ease, transform .2s ease;
}

.clanok-obsah .article-cta__button:hover {
    background: var(--awb-color1);
    color: var(--awb-color4) !important;
}

.clanok-obsah .article-cta__button:focus-visible {
    outline: 3px solid var(--awb-color6);
    outline-offset: 3px;
}

.clanok-obsah .article-cta__button i {
    color: inherit;
    font-size: 16px;
}

/* FAQ HEADER V ČLÁNKU */

.clanok-obsah .article-faq-header {
    width: 100%;
    max-width: 700px;
    margin: 70px auto 30px;
    text-align: center;
}

.clanok-obsah .article-faq-kicker {
    margin: 0 0 22px;
    color: var(--awb-color4);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .25em;
    text-transform: uppercase;
}

.clanok-obsah .article-faq-header h2 {
    margin: 0 !important;
    color: var(--awb-color5);
    font-size: 48px !important;
    line-height: 1.1 !important;
}

/* FAQ V ČLÁNKU – IDENTICKÉ S HOMEPAGE */

.clanok-obsah .faq-section {
    width: 100%;
    margin: 0 auto !important;
    font-size: initial;
    line-height: normal;
}

.clanok-obsah .faq-section .faq-question-text {
    margin: 0 !important;
    color: var(--faq-text);
    font-size: 1.025rem !important;
    line-height: 1.4 !important;
    font-weight: 600;
}

.clanok-obsah .faq-section h3 {
    margin: 0 !important;
}

.clanok-obsah .faq-section .faq-list {
    margin: 0 !important;
    padding: 0 !important;
}

.clanok-obsah .faq-section .faq-list > li {
    margin: 0 !important;
    padding: 0 !important;
}

.clanok-obsah .faq-section .faq-list > li::marker {
    content: "";
}

.clanok-obsah .faq-section .faq-answer {
    font-size: .95rem;
    line-height: 1.6;
}

.clanok-obsah .faq-section .faq-answer p {
    margin-top: 0;
}

.clanok-obsah .faq-section .faq-answer p:last-child {
    margin-bottom: 0;
}

.clanok-obsah .faq-section .faq-answer-text a {
    font-weight: 500;
}

/* ODBORNÉ ZDROJE */

.clanok-obsah .article-sources {
    margin-top: 20px;
    padding: 24px 28px 24px 48px;
    background: var(--article-white);
    border: 1px solid var(--article-border);
    border-radius: 12px;
}

.clanok-obsah .article-sources li {
    margin-bottom: 14px;
}

.clanok-obsah .article-sources li:last-child {
    margin-bottom: 0;
}

/* MEDICÍNSKA POZNÁMKA */

.clanok-obsah .article-medical-note {
    margin-top: 28px;
    padding-top: 18px;
    border-top: 1px solid var(--article-border);
    color: rgba(6, 64, 90, 0.72);
}

.clanok-obsah .article-medical-note small {
    font-size: 13px;
    line-height: 1.55;
}

/* TABLET */

@media (max-width: 1024px) {

    .clanok-obsah {
        font-size: 16px;
    }

    .clanok-obsah .article-lead {
        font-size: 18px;
    }

}

/* MOBIL */

@media (max-width: 640px) {

    .clanok-obsah {
        font-size: 16px;
        line-height: 1.7;
    }

    .clanok-obsah .article-lead {
        margin-bottom: 30px;
        font-size: 18px;
        line-height: 1.55;
    }

    .clanok-obsah > h2 {
        margin-top: 30px !important;
        margin-bottom: 16px !important;
    }

    .clanok-obsah > h3 {
        margin-top: 28px !important;
    }

    .clanok-obsah .article-highlight,
    .clanok-obsah .article-notice {
        margin: 26px 0 32px;
        padding: 20px;
    }

    .clanok-obsah .article-highlight {
        padding-left: 22px;
    }

    .clanok-obsah .article-figure {
        margin: 32px 0;
    }

    .clanok-obsah .article-table-wrap {
        margin: 24px 0 34px;
        border-radius: 10px;
    }

    .clanok-obsah .article-table-wrap th,
    .clanok-obsah .article-table-wrap td {
        padding: 13px 14px;
    }

    .clanok-obsah .article-cta {
        flex-direction: column;
        align-items: flex-start;
        gap: 22px;
        margin-top: 34px;
        padding: 24px 22px;
    }

    .clanok-obsah .article-cta__title {
        font-size: 19px;
    }

    .clanok-obsah .article-cta__text {
        font-size: 16px;
    }

    .clanok-obsah .article-cta__button {
        width: 100%;
        padding: 13px 18px;
    }

    .clanok-obsah .article-faq-header {
        margin-top: 55px;
        margin-bottom: 25px;
    }

    .clanok-obsah .article-faq-kicker {
        margin-bottom: 18px;
        font-size: 14px;
    }

    .clanok-obsah .article-faq-header h2 {
        font-size: 34px !important;
    }

    .clanok-obsah .article-sources {
        padding: 20px 20px 20px 40px;
    }

}

/* AUTOR ČLÁNKU */

.clanok-obsah .article-author-box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;

    margin: 0 0 30px;
    padding: 16px 20px;

    background: var(--article-white);
    border: 1px solid var(--article-border);
    border-radius: 10px;

    font-size: 15px;
    line-height: 1.5;
}

.clanok-obsah .article-author-box__label {
    color: rgba(6, 64, 90, 0.65);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.clanok-obsah .article-author-box__name {
    color: var(--article-blue);
    font-weight: 700;
    text-decoration: none;
}

.clanok-obsah .article-author-box__name:hover {
    text-decoration: underline;
}

.clanok-obsah .article-author-box__text {
    flex-basis: 100%;
    color: rgba(6, 64, 90, 0.78);
    font-size: 14px;
}

@media only screen and (max-width: 640px) {

    .fusion-title h1.fusion-title-heading {
        font-size: 11vw !important;
    }
	
	#hero .fusion-title h1.fusion-title-heading {
		font-size: 16px !important;
	}

}