/* Extra large devices (large desktops, less than 1400px) */
@media (max-width: 1400px) {
    /* Štýly pre extra veľké zariadenia */
}

/* Large devices (desktops, less than 1200px) */
@media (max-width: 1200px) {
    /* Štýly pre veľké zariadenia */
    .podakovanie h2 {
        margin-top: 25px;
        font-size: 55px;
        line-height: 65px;
    }

    .podakovanie h2 br {
        display:none;
    }

    .principy .princip span {
        font-size: 25px;
    }

    .principy .princip {
        font-size: 25px;
    }

    .navbar .nav-link {
        padding: .7rem .6rem !important;
        font-size: 14px;
    }

    .o-nas-motto blockquote {
        font-size: 40px;
    }

    .prices .price-box .description-small {
        font-size: 20px;
    }

    .image-backdrop-gallery .col-lg-4 {
        width: 50%;
    }


    .owl-carousel.sda-banner .owl-nav .owl-prev {
        position: absolute;
        left: 0px;
    }

    .owl-carousel.sda-banner .owl-nav .owl-next {
        position: absolute;
        right: 0px;
    }

    .owl-carousel.sda-banner .owl-nav {
        top: auto;
        z-index: 1;
    }
}

/* Medium devices (tablets, less than 992px) */
@media (max-width: 991px) {
    h1 {
        font-size: 40px;
        line-height: 55px;
    }

    header .owl-carousel .owl-item .item {
        height: auto;
    }

    header .item:has(.text-block-custom) h1 {
        font-size: 30px;
        line-height: 42px;
    }

    .owl-carousel .owl-item .fullscreen-video {
        width: 100%;;
    }

    header.banner-subpage .item:has(.text-block-custom) h1 {
        font-size: 40px;
        line-height: 42px;
    }

    header .owl-carousel .owl-item .item p {
        font-size: 22px;
        line-height: 28px;
    }

    .page-section.citat blockquote {
        font-size: 30px;
    }

    .principy .princip {
        font-size: 22px;
        padding: 40px 25px 10px 25px;
        margin-bottom: 60px;
        min-height: 225px;
        line-height: 35px;
    }

    .principy .princip span {
        font-size: 25px;
    }

    .principy .princip .button {
        font-size: 15px;
    }

    h2 {
        font-size: 30px;
        line-height: 45px;
    }

    .page-section.dakujeme .container .sign {
        /*font-size: 35px;*/
    }

    .page-section.dakujeme .container img {
        width: 230px;
    }

    .flip-counter-block .description {
        font-size: 35px;
    }

    footer h4 {
        font-size: 20px;
    }

    .navbar a.navbar-brand {
        padding-right: 15px;
    }

    .o-nas-motto blockquote {
        font-size: 35px;
    }

    .o-nas-piliere h3 {
        font-size: 20px;
        align-items: flex-start !important;
    }

    .floating-img-family {
        position: absolute;
        top: 0;
        width: 100%;
        max-width: 190px;
        left: auto;
        right: -50px;
        margin: 0 auto;
        top: 85px;
    }

    #map {
        height: 450px;
    }

    .tazkosti-citat blockquote {
        font-size:40px;
    }

    .pribehy-rodin .pribehy.owl-theme .owl-nav {
        /*display:none;*/
    }

    .pribehy.owl-theme .owl-nav {
        position: absolute;
        bottom: 0;
        top: auto;
        left: 0;
        right: 0;
        font-size: 16px;
        color: var(--color--white);
    }

    .pribehy-rodin .pribehy.owl-carousel .owl-nav .owl-prev {
        left: 25px;
    }

    .pribehy-rodin .pribehy.owl-carousel .owl-nav .owl-next {
        right: 25px;
    }

    .pribehy-rodin .pribehy .item .title {
        font-size: 20px;
    }

    .pribehy-rodin .pribehy .item .description {
        font-size: 13px;
        margin-top: 12px;
        margin-bottom: 12px;
    }

    .pribehy-rodin .pribehy .item blockquote {
        font-size: 20px;
    }

    .pribehy-rodin .item {
        padding: 30px;
    }

    .value-slider {
        padding: 25px;
    }

    .accordionFAQ .accordion-item h2 button {
        font-size: 16px;
        line-height: 25px;
        padding: 10px 12px 10px 25px;
    }

    .accordionFAQ .accordion-body {
        font-size: 15px;
    }

    .zakladatelia .zakladatel blockquote {
        font-size: 25px;
    }

    blockquote.citat {
        font-size: 30px;
    }

    .video-row.mobile-column {
        flex-direction: column !important;
    }

    .video-rows .video-row .video {
        margin: 0 0 25px 0 !important;
    }

    .image-backdrop-gallery .image-container .overlay {
        position: relative;
        bottom: auto;
        left: auto;
    }

    .image-backdrop-gallery .image-container {
        height: auto;
    }

    .image-backdrop-gallery .image-container .overlay p {
        font-size: 16px;
        padding: 15px;
    }

    .image-backdrop-gallery .col-lg-4 {
        width: 100%;
    }

    .kniha-bezvlaska img {
        max-width: 100%;
        min-width: 200px; /* nastav bezpečné minimum */
    }

    .kniha-bezvlaska .image-block {
        margin-right: 50px;
    }

    .kniha-bezvlaska .text-title {
        font-size: 30px;
    }

    .za-1-euro {
        font-size: 30px;
        padding: 30px 40px;
    }
}

/* Small devices (landscape phones, less than 768px) */
@media (max-width: 768px) {
    header .owl-carousel .owl-item .item blockquote.banner-blockquote p {
        font-size: 26px;
        line-height: 32px;
    }

    h1 {
        font-size: 35px;
    }

    header .item:has(.text-block-custom) h1 {
        font-size: 26px;
        line-height: 37px;
    }

    header.banner-subpage .item:has(.text-block-custom) h1 {
        font-size: 35px;
        line-height: 42px;
    }

    header.banner-subpage .item {
        height: 300px !important;
    }

    .tazkosti .text-larger {
        font-size: 22px;
    }

    header .owl-carousel .owl-item .item p {
        font-size: 20px;
    }

    .principy .princip {
        font-size: 30px;
        line-height: 40px;
    }

    .principy .princip span {
        font-size: 35px;
        line-height: 45px;
    }

    .dakujeme .container, .container-sm {
        max-width: 100% ;
        padding: 0 25px;
    }

    .page-section.dakujeme .container img {
        width: 150px;
    }

    .page-section.dakujeme .container .sign {
        /*margin-top: 15px;*/
    }

    .flip-counter-block .description {
        font-size: 28px;
    }

    .bg-index-mobil {
        width: 125px;
    }

    .flip-counter {
        zoom: 0.8;
        -moz-transform: scale(0.7)
    }

    .referencie .owl-theme .owl-nav {
        display:none;
    }
    .podakovanie h2 {
        font-size: 45px;
        line-height: 55px;
    }

    .o-nas-motto blockquote {
        font-size: 25px;
    }

    blockquote.citat {
        font-size: 25px;
    }

    .bg-image {
        display:none;
    }

    .vypovede.owl-carousel .owl-nav {
        /*display:none;*/
    }

    .prices .price-box .description-small {
        font-size: 25px;
    }

    .tazkosti-citat blockquote {
        font-size: 30px;
    }

    .tazkosti {
        font-size: 16px;
    }

    .vizia {
        font-size: 30px;
        line-height: 40px;
    }

    .pribehy-rodin .pribehy .item img.picture {
        height: 200px;
        width: 200px;
        margin: 0;
    }

    .pribehy-rodin .pribehy .item .position-relative::after {
        display:none;
    }

    .pribehy-rodin .pribehy .item .mobile-column {
        align-items: center !important;
    }

    .pribehy-rodin .pribehy .item .position-relative {
        margin-bottom: 35px;
    }

    .contact .contact-info {
        padding: 30px 15px 20px;
        top: 0;
        margin-top: 50px;
        box-shadow: none !important;
    }

    .contact .contact-link {
        font-size: 25px;
    }

    .mobile-column {
        flex-direction: column !important;
    }

    .znamy-anjel .title {
        font-size: 30px;
    }

    .znamy-anjel blockquote {
        font-size: 25px;
    }

    .kniha-bezvlaska img {
        width: 100%;
        max-width: 250px;
    }

    .kniha-bezvlaska .image-block {
       margin: 0 0 25px 0 !important;text-align: center;
    }

    .kniha-bezvlaska .text-title {
        font-size: 25px;
    }

    table thead th {
        font-size: 12px;
    }

    table tbody td {
        font-size: 12px;
    }

    .percenta-z-dane .percenta-link {
        height: 100px;
        font-size: 20px;
    }

    .percenta-citat {
        padding: 25px;
    }

    .percenta-citat blockquote {
        font-size: 25px;
    }

    .cisla .cislo {
        padding: 60px 25px 28px 25px;
        min-height: auto;
    }

    .contact .contact-info {
        margin-bottom: 0;
    }

    .button-mobile-smaller {
        font-size: 15px;
    }

    .article-base-image {
        height: 350px !important;
    }

    .citat-bigger {
        font-size: 35px;
    }

    .zakladatelia .zakladatel {
        margin-bottom: 30px;
    }
}

/* Extra small devices (phones, less than 576px) */
@media (max-width: 600px) {
    .mb-5 {
        margin-bottom: 2rem !important;
    }

    .pb-5 {
        padding-bottom: 2rem !important;
    }

    header .owl-carousel .owl-item .item .container .text-block {
        padding: 0 15px;
    }

    .page-section.citat blockquote {
        font-size: 25px;
    }

    .page-section {
        padding: 25px 0px 15px;
    }

    .page-section.dakujeme .container img {
        width: 125px;
        margin: 0 0 25px 0;
    }

    h1 {
        font-size: 25px;
        line-height: 40px;
    }

    .page-section.dakujeme .container .sign {
        /*font-size: 28px;*/
    }

    .page-section.dakujeme {
        position: relative;
        padding: 200px 0 0;
    }

    h2 {
        font-size: 30px;
        line-height: 40px;
    }

    .flip-counter-block .description {
        font-size: 22px;
    }

    .flip-counter {
        zoom: 0.7;
        -moz-transform: scale(0.7);
    }

    .social-row {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        gap: 10px;
        justify-content: flex-start;
    }

    .social-row .cell,
    .social-row .social-cell {
       width: auto;
       flex-shrink: 0;
       display: inline-block;
    }

    /* Ensure social icons display horizontally on all screen sizes */
    footer .social-row {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
    }

    footer .social-row .social-cell {
        display: inline-block !important;
        float: none !important;
        margin: 0 5px !important;
        width: auto !important;
        flex: 0 0 auto !important;
    }

    footer .social-row .social-icon {
        display: inline-block !important;
        margin: 0 5px !important;
        float: none !important;
    }

    /* Additional override for any potential vertical stacking */
    footer .col-lg-2 .social-row {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
    }

    footer .col-lg-2 .social-row .social-cell {
        display: inline-block !important;
        float: none !important;
        vertical-align: top !important;
    }

    /* Force horizontal layout for social icons */
    footer .col-lg-2 {
        display: block !important;
    }

    footer .col-lg-2 .social-row {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    footer .col-lg-2 .social-row .social-cell {
        display: inline-block !important;
        float: none !important;
        vertical-align: top !important;
        width: auto !important;
        flex: 0 0 auto !important;
        margin: 0 5px !important;
    }

    footer .col-lg-2 .social-row .social-cell .social-icon {
        display: inline-block !important;
        margin: 0 5px !important;
        float: none !important;
    }

    /* New simplified social icons container */
    .social-icons-container {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 10px !important;
        width: 100% !important;
    }

    .social-icons-container .social-icon {
        display: inline-block !important;
        margin: 0 5px !important;
        float: none !important;
        flex-shrink: 0 !important;
    }

    /* Ensure horizontal layout on all screen sizes */
    footer .col-lg-2 .social-icons-container {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    /* ULTIMATE SOCIAL ICONS FIX - Force single line on ALL screen sizes */
    .social-icons-container,
    footer .social-icons-container,
    .col-lg-2 .social-icons-container,
    .col-md-6 .social-icons-container,
    .col-sm-12 .social-icons-container,
    div[class*="col-"] .social-icons-container {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 10px !important;
        width: 100% !important;
        min-width: 0 !important;
        white-space: nowrap !important;
        overflow: visible !important;
    }

    .social-icons-container .social-icon,
    footer .social-icons-container .social-icon,
    .col-lg-2 .social-icons-container .social-icon,
    .col-md-6 .social-icons-container .social-icon,
    .col-sm-12 .social-icons-container .social-icon,
    div[class*="col-"] .social-icons-container .social-icon {
        display: inline-block !important;
        margin: 0 5px !important;
        float: none !important;
        flex-shrink: 0 !important;
        min-width: 0 !important;
        width: auto !important;
        white-space: nowrap !important;
    }

    /* Force single line on ALL screen sizes with universal media query */
    @media (min-width: 0px) {
        .social-icons-container,
        footer .social-icons-container,
        .col-lg-2 .social-icons-container,
        .col-md-6 .social-icons-container,
        .col-sm-12 .social-icons-container,
        div[class*="col-"] .social-icons-container {
            display: flex !important;
            flex-direction: row !important;
            flex-wrap: nowrap !important;
            align-items: center !important;
            justify-content: flex-start !important;
            gap: 10px !important;
            width: 100% !important;
            min-width: 0 !important;
            white-space: nowrap !important;
            overflow: visible !important;
        }

        .social-icons-container .social-icon,
        footer .social-icons-container .social-icon,
        .col-lg-2 .social-icons-container .social-icon,
        .col-md-6 .social-icons-container .social-icon,
        .col-sm-12 .social-icons-container .social-icon,
        div[class*="col-"] .social-icons-container .social-icon {
            display: inline-block !important;
            margin: 0 5px !important;
            float: none !important;
            flex-shrink: 0 !important;
            min-width: 0 !important;
            width: auto !important;
            white-space: nowrap !important;
        }
    }

    .principy .princip {
        font-size: 20px;
        line-height: 40px;
    }

    .principy .princip span {
        font-size: 28px;
        line-height: 45px;
    }

    br {
        /* display:none; */
    }

    footer .social-icon {
        border-radius: .625rem;
        padding: 10px;
        margin: 5px;
    }

    .flip-counter-block {
        width: 100%;
    }

    .flip-counters {
        padding-bottom: 50px;
    }

    .podakovanie h2 {
        font-size: 30px;
        line-height: 43px;
    }

    .podakovanie h2 .sign img {
        margin-left: 10px !important;
        height: 45px !important;
        width: auto !important;
    }

    .vizia {
        font-size: 26px;
        line-height: 35px;
    }

    .znamy-anjel {
        flex-direction: column;
    }

    .znamy-anjel .image-block {
        width: 150px;
        text-align:center;
        margin-right: 0;
        margin-bottom: 25px;
    }

    .za-1-euro {
        font-size: 25px;
        padding: 25;
    }

    .vizia {
        margin: 0 auto 15px;
    }

    .image-bg-color img.picture {
        top: 0;
    }

    .nav-tabs .nav-link {
        font-size: 15px;
    }

    .modal-dialog {
        max-width: 92vw;
    }
    .modal-content {
        padding: 15px !important;
    }

    .video-rows .video-row .video {
        min-width: 300px;
    }

    .video-rows .video-row {
        margin-bottom: 35px;
    }

    header.banner-subpage .item:has(.text-block-custom) h1 {
        text-align: center;
    }

    .donation-btn {
        padding: 8px 0;
        width: 75px;
    }

    .sda-form-block {
        padding: 40px 40px;
    }

    .video-button-block {
        bottom: 10px;
        right: auto;
        left: 10px;
    }

    .video-button-block .button {
        font-size: 12px;
        font-weight: 800;
    }

    header .owl-carousel .owl-item .item .container {
        padding: 150px 15px 0;
    }

    .podakovanie,
    .podakovanie .sign {
        text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.8);
    }

    header.banner-subpage h1 {
        padding-bottom: 25px;
    }

    .bg-image-heard {
        right: -5px;
        top: -80px;
    }

    .citat-bigger {
        font-size: 27px;
    }

    .vypovede.owl-carousel .owl-nav .owl-prev {
        left: -10px;
    }

    .vypovede.owl-carousel .owl-nav .owl-next {
        right: -10px;
    }
}

@media (max-width: 768px) {
    .page-header {
        padding: 5px 0 !important;
    }
}
