body {
    color: #34364C;
    background-color: #FAF7F6;
    overflow-x: hidden;
    position: relative;
    width: 100%;
}

html {
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

.background-light{
    background-color: #E5D6CB;
}

.background-dark {
    background-color: #34364C;
}

/* Navbar */
/* Barvy a styl textu */
.navbar {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.navbar .nav-link {
    font-weight: 500; /* Polotučné písmo */
    font-size: 16px; /* Velikost textu */
    color: #34364C; /* Tmavě modrá barva */
    text-decoration: none; /* Žádné podtržení */
    padding: 8px 15px; /* Vnitřní odsazení */
    transition: none; /* Bez efektu při hoveru */
    text-align: right; /* Zajištění zarovnání textu v každé položce */
    padding-right: 15px; /* Přidání mezery mezi textem a pravým okrajem */
}

.navbar .nav-link img {
    border-radius: 50%;
    width: 24px;
    height: 24px;
    object-fit: cover;
    margin-top: -3px;
}

/* Větší mezery mezi položkami na desktopu */
.navbar-nav.gap-lg-4 .nav-item:not(:last-child) {
    margin-right: 20px; /* Větší mezera mezi položkami */
}

/* Hamburger menu ikona */
.navbar-toggler {
    border: none; /* Odstranění rámečku */
    box-shadow: none; /* Odstranění případného stínování */
    background-color: transparent; /* Zajištění průhledného pozadí */
}

.navbar-toggler:focus {
    outline: none !important;
    box-shadow: none !important;
}

@media (max-width: 767px) {
    .navbar {
        position: fixed; /* Navbar is fixed at the top */
        top: 0;
        left: 0;
        width: 100%;
        z-index: 1000; /* Above other content */
        background-color: rgba(255, 255, 255, 0.95); /* Stable background */
        box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow for visual separation */
    }

    /* Add padding to the body to account for the fixed navbar */
    body {
        padding-top: 56px; /* Matches the height of the navbar */
    }

    .navbar-collapse {
        position: absolute; /* Positioned above page content */
        top: 56px; /* Below the navbar */
        left: 0;
        width: 100%; /* Full width */
        z-index: 1025; /* Below navbar but above content */
        background-color: rgba(255, 255, 255, 1); /* Same background as navbar */
        margin-top: -5px;
    }
}

/* Ensure the navbar remains fixed at the top on small devices */
.navbar-fixed-top {
    position: fixed;
    top: 0;
}

/* Index */
#cover {
    background: url('../img/uvodni_foto.png') center center no-repeat;
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 90vh;
    max-height: 800px;
    display: flex;
    align-items: center;
}


@media (max-width: 768px) {
    #cover {
        display: none; /* Skryje header na malých obrazovkách */
    }

    .img-container {
        display: block;
        margin-top: 0; /* Odstraní mezery mezi navbar a img-container */
        background: url('../img/uvodni_foto.webp') 80% center no-repeat; /* Pouze pravá část jako pozadí */
        background-size: cover; /* Přizpůsobí pozadí */
        height: 65vh; /* Výška pozadí */
        width: 100%; /* Šířka pozadí */
    }
}

@media only screen and (min-device-width: 770px) and (max-device-width: 1366px) and (-webkit-min-device-pixel-ratio: 2) { 
    header#cover {
      background-position: 60% 50%; /* Adjust the percentage as needed */
    }
  }

#cover-small-screen {
    background-color: #34364C;
    color: white; /* Tmavě modrá barva */

}


@media (min-width: 769px) {
    #cover-small-screen {
        display: none; /* Skryje img-container na větších zařízeních */
    }
}

 /* For laptops (lg) - adjust heading sizes */
@media (max-width: 962px) {
    article.col-lg-7.col-md-8.col-sm-10.order-2 h1 {
      font-size: 2rem; /* Adjust as needed */
      line-height: 1.8; /* Adjust as needed */
    }
  
    article.col-lg-7.col-md-8.col-sm-10.order-2 h3 {
      font-size: 1.5rem; /* Adjust as needed */
      line-height: 0.8; /* Adjust as needed */
    }
  
    article.col-lg-7.col-md-8.col-sm-10.order-2 h4 {
      font-size: 1.2rem; /* Adjust as needed */
      line-height: 0.8; /* Adjust as needed */
    }
  } 


/* General */
.card {
    border: none;
    background-color: #fefefe;
    color: #34364C;
}

.card-img-top {
    width: 4em;
}

.fas, .fa, .far {
    font-size: 2em;
    color: #cc971d;
}


/*footer*/
footer .fas {
    font-size: 1em;
}

footer {
    padding-top: 20px;
    padding-bottom: 0px;
    margin-bottom:0px;
}

footer .map-container {
    border-radius: 8px;
    overflow: hidden;
}

footer hr {
    margin: 20px 0;
}

footer a {
    color:#2A9D8F;
}

footer a:hover {
    text-decoration: underline;
}


/* Články */
.blog .card {
    display: flex;
    flex-direction: column;
    background-color: white;
    height: 100%;
    box-shadow: 0 12px 16px rgba(0, 0, 0, 0.1); /* Přidání stínu */
    transition: transform 0.3s; /* Plynulý efekt na hover */
}


.blog .card-body {
    flex-grow: 1;
}

.blog .card-img-top {
    width: 100%; /* Šířka obrázku na 100% kontejneru */
    margin-top: 15px;
    object-fit: cover; /* Udržení poměru stran */
}

.blog .centered {
    text-align: center;
}

/* Custom styles for the Blog section */
.article {
    transition: transform 0.3s;
    margin-bottom: 30px; /* Space between articles */
}


.article-title {
    color: #34364C; /* Title color */
    font-size: 1.4rem; /* Font size for titles */
}

.article-text {
    color: #504d4d; /* Description text color */
}

.btn-custom-blog {
    background-color: #a8a8a8; 
    color: #fefefe; /* Light color for text */
    border-radius: 5px; /* Slightly rounded buttons */
    padding: 12px 25px; /* Padding for buttons */
    margin: 10px; /* Space between buttons */
}

.btn-custom-blog:hover {
    background-color: #34364C; /* Light green on hover */
    color: #fefefe; /* Light color for text */
}

.category {
    font-size: 0.9rem; /* Smaller font for category */
    color: #999; /* Light gray for category text */
}

.category-name {
    position: absolute;
    top: 5px;
    left: 10px;
    color: #fefefe; /* Text color */
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 0.8rem; /* Zmenšení velikosti písma */
    z-index: 1; /* Ensure it's above other content */
}

.category-name[data-color="green"] {
    background-color: #2A9D8F; /* Zelená */
}

.category-name[data-color="yellow"] {
    background-color: #dda92e; /* Žlutá */
}


/* Služby */
        .service-card {
            background-color: #fefefe; /* Light background for cards */
            padding: 30px; /* Increased padding inside cards */
            margin-bottom: 40px; /* Increased space between cards */
            height: auto; /* Allow cards to adjust height based on content */
        }

        .service-title {
            margin-top: 180px; /* Zajistí, že nadpis nebude zakryt navbar */
            padding-top: 20px; /* Dodatečný prostor pro estetiku */
            position: relative;

        }
        .service-card h5 {
            color: #34364C; /* Dark color for titles */
            font-size: 1.5rem; /* Increased title size */
            margin-top: 0; /* No top margin for titles */
            margin-bottom: 15px; /* Space below title */
            text-align: center; /* Center-align titles */
        }

        .service-card p {
            color: #34364C; /*description text */
            font-weight: 500; /* Tučný text */
            line-height: 1.5; /* Větší mezera mezi řádky */
            text-align: center; /* Center-align text */
            margin-bottom: 20px; /* Space below description */
        }

        .service-card .separator {
            border-top: 2px solid #34364C; /* Dark line */
            margin: 30px 0; /* Space above and below the line */
        }

        .service-card ul {
            padding-left: 0; /* Remove default padding */
            list-style: none;
        }

        .service-card li {
            position: relative; /* Position for the bullet */
            padding-left: 20px; /* Space for the bullet */
            margin-bottom: 15px; /* Space between list items */
            display: flex;
            align-items: flex-start;
            line-height: 1.5;
        }

        .service-card li::before {
            content: ""; /* No text content */
            position: absolute; /* Positioning of the bullet */
            left: 0; /* Position left */
            top: 0.6em; /* Adjusted to match text baseline */
            transform: translateY(-50%); /* Center the bullet */
            width: 10px; /* Width of the bullet */
            height: 10px; /* Height of the bullet */
            border-radius: 50%; /* Make it round */
            background-color: #34364C; /* Bullet color */
            flex-shrink: 0;
        }

        .btn-custom {
            background-color: #34364C; /* Dark blue color */
            color: #fefefe; /* Light color for text */
            border-radius: 5px; /* Slightly rounded buttons */
            padding: 12px 25px; /* Padding for buttons */
            margin: 5px; /* Space between buttons */
            font-size: 14px; /* Font size for buttons */
            transition: all 0.3s ease; /* Plynulý efekt při hoveru */
            -webkit-tap-highlight-color: transparent; /* Remove tap highlight on mobile */
        }

        .btn-custom:hover,
        .btn-custom:active,
        .btn-custom:focus {
            background-color: #2A9D8F !important;
            color: #fefefe !important;
            text-decoration: none !important;
        }

        a {
            color: #2A9D8F; /* Zde nastav novou barvu pro všechny odkazy */
            text-decoration: none; /* Bez podtržení */
        }
        
        a:hover {
            text-decoration: underline; /* Podtržení při hoveru */
        }


/* Tlačítka v header sekci */
.btn-custom {
    background-color: #34364C; /* Tmavě modrá barva */
    color: #fefefe; /* Světlý text */
    border-radius: 5px; /* Mírně zaoblené okraje */
    padding: 12px 66px; /* Větší vnitřní odsazení */
    margin: 5px; /* Prostor mezi tlačítky */
    font-size: 16px; /* Velikost textu */
    font-weight: 500; /* Polotučné písmo */
    transition: all 0.3s ease; /* Plynulý efekt při hoveru */
}

.btn-custom:hover {
    background-color: #2A9D8F; /* Zelená barva na hover */
    color: #fefefe; /* Světlý text */
    text-decoration: none;
}

/* Zarovnání tlačítek */
.button-container {
    display: flex;
    flex-wrap: wrap; /* Na menších zařízeních tlačítka stackují */
    justify-content: flex-start; /* Tlačítka zarovnána vlevo */
}

/* Aktivní stav (kliknutí) */
.btn-custom:active,
.btn-custom:focus {
    background-color: #2A9D8F; /* Zelená barva */
    color: #fefefe; /* Světlý text */
    outline: none; /* Odstranění rámečku při focusu */
}

/* Odstranění defaultních focus a active efektů */
.btn-custom:focus-visible {
    outline: none;
}

/* Button styling */
.btn-custom-green {
    background-color: #2A9D8F;
    color: white;
    padding: 8px 20px;
    border-radius: 5px;
    border: none;
    transition: background-color 0.3s ease;
}

.btn-custom-green:hover {
    background-color: #1e7268;
    color: white;
}

/* Improve tablet layout */
@media (min-width: 768px) and (max-width: 991px) {
    .blog .card {
        height: 100%;
    }
    
    .article {
        width: 50%; /* 2 cards per row on tablets */
    }
    
    .blog .card-img-top {
        height: 180px; /* Slightly smaller images on tablets */
    }
    
    .article-title {
        font-size: 1.2rem; /* Smaller title on tablets */
    }
    
    .article-text {
        font-size: 0.9rem; /* Smaller text on tablets */
    }
}

/* Touch device optimizations */
@media (hover: none) {
    .btn-custom:active {
        background-color: #2A9D8F !important;
        color: #fefefe !important;
    }
}

.law-firm-link {
    display: inline;
    word-break: break-word;
    white-space: normal;
    hyphens: auto;
}

.law-firm-container {
    display: flex;
    flex-wrap: nowrap;
    align-items: baseline;
    max-width: 100%;
}

.law-firm-text {
    white-space: normal;
    margin-right: 4px;
}

.law-firm-link {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 300px;
}

@media (max-width: 768px) {
    .law-firm-container {
        flex-direction: column;
    }
    .law-firm-link {
        max-width: 100%;
        white-space: normal;
    }
}



