* {
    box-sizing: border-box;
    margin: 0px;
    padding: 0px;
}
body{
    background-color:darkblue;
    font-family: Arial, sans-serif;
    color: white;
    min-width: 300px;
}
nav {
    text-align: right;
    background-color:white ;
    padding: 25px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    position: relative;
}
.hamburger {
    display: none;
    font-size: 30px;
    cursor: pointer;
    color: black;
    margin-left: auto;
}
.nav-links {
    display: flex;
    margin: 0 10px ;
}
a {
    margin: 0 10px ;
    text-decoration: none;
    color: black;
    font-weight: bold;
    padding: 5px;
}
img {
    height: 40px;
    position: absolute;
    top: 15px;
    left: 20px;
}
footer, footer p {
    color: black;
}
footer{
    background-color: white;
    color: black;
    padding: 30px 20px;
    text-align: center;
}
.paticka-mrizka {
    display: grid;
    grid-template: "adresa zastupce kontakt" / 1fr 1fr 1fr;
    gap: 20px;
    max-width: 800px;
    margin: 20px auto 0;
}
.paticka-mrizka h4 {
    color: darkblue;
    margin-bottom: 10px;
}
.paticka-mrizka p {
    line-height: 1.5;
}
.copy-paticka{
   font-size: 12px;
}



/* Styles for index.html */
.uvodni-sekce {
    text-align: center;
    padding: 50px 20px;
}
.uvodni-sekce h1 {
    margin-bottom: 20px;
    color: white;
}
.uvodni-sekce p {
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
    color: white;
}
.sluzby-sekce {
    padding: 50px 20px;
    background-color: #f0f0f0;
    color: black;
    text-align: center;
}
.sluzby-sekce h2 {
    margin-bottom: 30px;
    color: darkblue;
}
/* Grid kontejner */
.sluzby-mrizka {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); 
    gap: 20px; 
}
.sluzba-karta, .karta  {
    background-color: white;
    padding: 25px;
    border-radius: 10px;
    text-align: center;
    box-shadow: 0 4px 8px rgba(15, 0, 150, 0.2);
    transition: transform 0.2s;
}
 .karta1 {
    background-color: white;
    padding: 25px;
    border-radius: 10px;
    text-align: center;
    box-shadow: 0 4px 8px rgba(15, 0, 150, 0.2);
    transition: transform 0.2s;
}

.karta:hover,
.sluzba-karta:hover {
    transform: translateY(-5px);
}

.karta h3,
.sluzba-karta h3 {
    margin-bottom: 15px;
    color: darkblue;
}

.karta p,
.sluzba-karta p {
    margin-bottom: 10px;
    color: #666;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    nav {
        padding: 20px 20px;
    }
    .hamburger {
        display:flex;
    }
    .nav-links {
        display: none;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: white;
        padding: 10px 10px;
        box-shadow: 0 4px 6px rgba(0,0,0,0.1);
       
    }
    .sluzba-karta:hover {
    transform: translateY(-5px);
}
    .nav-links a {
        margin: 10px 20px;
        border-bottom: 2px solid  rgb(230, 228, 228);
    }
    #menu-toggle:checked ~ .nav-links {
    display: flex;
    }

    .uvodni-sekce h1 {
        font-size: 1.6rem;
    }

    .uvodni-sekce p {
        font-size: 0.95rem;
    }

    .sluzby-mrizka {
        grid-template:
            "sluzba1"
            "sluzba2"
            "sluzba3" / 2fr;
    }

    .sluzby-sekce {
        padding: 30px 16px;
    }

    .paticka-mrizka {
        grid-template:
            "adresa"
            "zastupce"
            "kontakt" / 1fr;
        gap: 16px;
    }

    .uvodni-sekce-kontakt h1 {
        font-size: 1.8rem;
    }

    .kontakt-karty {
        grid-template:
            "kontakt1"
            "kontakt2"
            "kontakt3" / 1fr;
    }

    .kontakt-formular-blok {
        grid-template: "text" / 1fr;
        padding: 20px;
    }
}
.uvodni-sekce {
    text-align: center;
    padding: 50px 20px;
}
.uvodni-sekce h1 {
    margin-bottom: 20px;
}
.uvodni-sekce p {
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}
.cenik-sekce {
    padding: 50px 20px;
    background-color: #f0f0f0;
}
.cenik-mrizka {
    display: grid;
    grid-template: "cenik1 cenik2 cenik3"
     "cenik4 cenik5 cenik6" ;
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
}
.cenik-karta1 {
    grid-area: cenik1;
}
.cenik-karta2 {
    grid-area: cenik2;
}
.cenik-karta3 {
    grid-area: cenik3;
}
.cenik-karta4 {
    grid-area: cenik4;
}
.cenik-karta5 {
    grid-area: cenik5;
}
.cenik-karta6 {
    grid-area: cenik6;
}
.cena {
    font-size: 24px;
    font-weight: bold;
    color: darkblue;
}
.recenze {
    padding: 50px 20px;
    background: linear-gradient(135deg, #f5f7fa 0%, #e9ecef 100%);
    text-align: center;
}
.recenze h3 {
    margin-bottom: 10px;
    font-size: 28px;
    color: darkblue;
}
.recenze p {
    margin-bottom: 30px;
    color: #555;
    font-size: 16px;
}
.recenze form {
    max-width: 600px;
    margin: 0 auto;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    background-color: white;
    padding: 30px;
    border-radius: 10px;
    
}
.recenze input,
.recenze textarea {
    padding: 12px 15px;
    border: 2px solid #e0e0e0;
    border-radius: 6px;
    font-size: 16px;
    font-family: Arial, sans-serif;
    transition: border-color 0.3s, box-shadow 0.3s;
}
.recenze input:focus,
.recenze textarea:focus {
    outline: none;
    border-color: darkblue;
    box-shadow: 0 0 10px rgba(15, 0, 150, 0.2);
}
.recenze textarea {
    height: 120px;
    resize: vertical;
}
.recenze button {
    padding: 12px 24px;
    background-color: darkblue;
    color: white;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.2s, box-shadow 0.3s;
    box-shadow: 0 2px 8px rgba(15, 0, 150, 0.2);
}
.recenze button:hover {
    background-color: #000080;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(15, 0, 150, 0.3);
}
.recenze button:active {
    transform: translateY(0);
}
.uvodni-sekce-kontakt {
    text-align: center;
    padding: 60px 20px 30px;
}
.uvodni-sekce-kontakt h1 {
    color: white;
    margin-bottom: 15px;
}
.uvodni-sekce-kontakt p {
    color: white;
    max-width: 720px;
    margin: 0 auto;
    line-height: 1.6;
}
.kontakt-sekce {
    padding: 20px 20px 60px;
}
.kontakt-obsah {
    max-width: 1100px;
    margin: 0 auto;
}
.kontakt-karty {
    display: grid;
    grid-template:
        "kontakt1 kontakt2 kontakt3" / 1fr 1fr 1fr;
    gap: 20px;
    margin-bottom: 30px;
}
.kontakt-karta1 {
    grid-area: kontakt1;
}
.kontakt-karta2 {
    grid-area: kontakt2;
}
.kontakt-karta2 {
    grid-area: kontakt3;
}
.kontakt-karta h3 {
    color: darkblue;
    margin-bottom: 10px;
}
.kontakt-karta p {
    color: black;
    margin-bottom: 8px;
}
.kontakt-karta span {
    color: #555;
    font-size: 14px;
}
.kontakt-karta a {
    color: darkblue;
    margin: 0;
}
.kontakt-formular-blok {
    display: grid;
    grid-template: "text" / 1fr;
    gap: 25px;
    align-items: start;
    background-color: #f5f7fa;
    border-radius: 14px;
    padding: 30px;
}
.kontakt-text {
    grid-area: text;
}
.kontakt-text h2 {
    color: darkblue;
    margin-bottom: 12px;
}
.kontakt-text p {
    color: #333;
    line-height: 1.6;
}
.kontakt-formular {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.kontakt-formular label {
    color: darkblue;
    font-weight: bold;
}
.kontakt-formular input,
.kontakt-formular textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #cfd8e3;
    border-radius: 8px;
    font-size: 15px;
    font-family: Arial, sans-serif;
}
.kontakt-formular textarea {
    min-height: 140px;
    resize: vertical;
}
.kontakt-formular button {
    padding: 12px 18px;
    background-color: darkblue;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
}
.kontakt-formular button:hover {
    background-color: #000080;
}
.uvodni-sekce {
    text-align: center;
    padding: 50px 20px;
    max-width: 800px;
    margin: 0 auto;
}
.uvodni-sekce h1 {
    margin-bottom: 20px;
    color: white;
    font-size: 2.5em;
}
.uvodni-sekce p {
    line-height: 1.6;
    margin-bottom: 30px;
    color: white;
}
.uvodni-sekce section {
    margin-bottom: 40px;
    text-align: left;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.uvodni-sekce h2 {
    color: darkblue;
    margin-bottom: 15px;
    font-size: 1.8em;
}
.uvodni-sekce ul, .uvodni-sekce ol {
    padding-left: 20px;
    color: #333;
}
.uvodni-sekce li {
    margin-bottom: 8px;
    line-height: 1.5;
}
.uvodni-sekce section p {
    color: #333;
    line-height: 1.6;
}
 h1 + p {
    font-weight: bold;
}
.coumim{
    text-align: center;
}
.o-nas-sekce {
    padding: 20px;
    max-width: 800px;
    margin: 0 auto;
}

.o-nas-sekce .uvod {
    text-align: center;
    padding: 50px 20px;
    background-color: darkblue;
    color: white;
    margin-bottom: 40px;
}

.o-nas-sekce .uvod h1 {
    margin-bottom: 20px;
    color: white;
}

.o-nas-sekce .uvod p {
    max-width: 800px;
    margin: 0 auto;
    line-height: 1.6;
    color: white;
}

.o-nas-sekce section {
    margin-bottom: 40px;
    padding: 30px;
    background-color: #f8f9fa;
    border-radius: 10px;
}

.o-nas-sekce h2 {
    color: darkblue;
    margin-bottom: 20px;
    text-align: center;
}

.o-nas-sekce ul, .o-nas-sekce ol {
    max-width: 600px;
    margin: 0 auto;
    padding-left: 20px;
}

.o-nas-sekce li {
    margin-bottom: 10px;
    line-height: 1.5;
    color: #333;
}

.o-nas-sekce section p {
    text-align: center;
    color: #555;
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto;
}

@media screen and (max-width: 992px) {
    .sluzby-mrizka {
        grid-template:
             "sluzba1" 
             "sluzba2"
             "sluzba3" / 1fr;
    }

    .cenik-mrizka {
        grid-template:
            "cenik1 cenik2"
            "cenik3 cenik4"
            "cenik5 cenik6" / 1fr 1fr;
    }

    .kontakt-karty {
        grid-template:
            "kontakt1 kontakt2"
            "kontakt3 kontakt3" / 1fr 1fr;
    }
}

@media screen and (max-width: 990px) {
    .cenik-sekce, .recenze, .o-nas-sekce {
        padding: 30px 16px;
    }

    .cenik-mrizka {
        grid-template:
            "cenik1"
            "cenik2"
            "cenik3"
            "cenik4"
            "cenik5"
            "cenik6" / 1fr;
    }

    .cenik-karta, .cenik-karta1, .cenik-karta2, .cenik-karta3, .cenik-karta4, .cenik-karta5, .cenik-karta6 {
        padding: 20px;
    }

    .recenze h3 {
        font-size: 22px;
    }

    .recenze p {
        font-size: 15px;
    }

    .recenze form {
        padding: 20px;
    }

    .o-nas-sekce .uvod {
        padding: 35px 16px;
        margin-bottom: 25px;
    }

    .o-nas-sekce .uvod h1 {
        font-size: 1.9rem;
    }

    .o-nas-sekce section {
        padding: 20px;
        margin-bottom: 20px;
    }

    .o-nas-sekce h2 {
        font-size: 1.35rem;
    }
}

@media screen and (max-width: 480px) {
    nav {
        padding: 16px 12px;
    }

    img {
        height: 32px;
        top: 20px;
        left: 12px;
    }

    .uvodni-sekce, .uvodni-sekce-kontakt,  .o-nas-sekce .uvod {
        padding-left: 14px;
        padding-right: 14px;
    }

    .uvodni-sekce h1, .uvodni-sekce-kontakt h1, .o-nas-sekce .uvod h1 {
        font-size: 1.6rem;
    }

    .sluzba-karta1, .sluzba-karta2, .sluzba-karta3, .sluzba-karta4, .kontakt-karta, .cenik-karta, .cenik-karta1, .cenik-karta2, .cenik-karta3, .cenik-karta4, .cenik-karta5, .cenik-karta6 {
        padding: 16px;
    }

    .kontakt-karty {
        grid-template:
            "kontakt1"
            "kontakt2"
            "kontakt3" / 1fr;
    }

    .kontakt-formular-blok {
        padding: 16px;
    }

    .o-nas-sekce ul,
    .o-nas-sekce ol {
        padding-left: 18px;
    }
}
.vypsani p {
    background-color: white;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 15px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    line-height: 1.6;
    color: #333;
    border-left: 4px solid darkblue;
}

.vypsani {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
}
