/* ==========================================================
   LOUB NATURAL
   Hlavní styl webu
========================================================== */

/* ==========================================================
   HOME - O NÁS
========================================================== */

.about-card{

    max-width:1100px;

    margin:auto;

    padding:65px 80px;

}

.about-card h2{

    margin-bottom:35px;

}

.about-card p{

    margin-bottom:24px;

    line-height:1.9;

    font-size:1.08rem;

}

/* ==========================================================
   BARVY
========================================================== */

:root{

    --bg:#f7f3ec;

    --card:#ffffff;

    --primary:#8b6b45;
    --primary-dark:#6d5235;

    --secondary:#d8c3a5;

    --text:#4b3a2f;
    --text-light:#7a6a5d;

    --border:#e7ddd0;

    --success:#89a06a;

    --danger:#b75252;

    --shadow:0 12px 35px rgba(0,0,0,.08);

    --radius:22px;

}



/* ==========================================================
   ZÁKLAD
========================================================== */

html{

    scroll-behavior:smooth;

}

body{

    background:var(--bg);

    color:var(--text);

    font-family:"Open Sans",sans-serif;

    line-height:1.7;

}

.main-content{

    min-height:75vh;

}

.container{

    max-width:1250px;

}



/* ==========================================================
   ODKAZY
========================================================== */

a{

    color:var(--primary);

    text-decoration:none;

    transition:.25s;

}

a:hover{

    color:var(--primary-dark);

}



/* ==========================================================
   NADPISY
========================================================== */

h1,h2,h3,h4,h5{

    font-family:"Cormorant Garamond",serif;

    color:var(--text);

    font-weight:600;

}

.page-title{

    font-size:3rem;

    margin-bottom:15px;

}

.page-subtitle{

    color:var(--text-light);

    font-size:1.1rem;

    max-width:700px;

    margin:auto;

}



/* ==========================================================
   NAVBAR
========================================================== */

.natural-navbar{

    background:white;

    box-shadow:0 3px 18px rgba(0,0,0,.05);

    border-bottom:1px solid var(--border);

    padding:12px 0;

}

.navbar-logo{

    width:52px;

    height:52px;

    object-fit:cover;

    border-radius:50%;

    margin-right:12px;

}

.navbar-title{

    font-size:1.5rem;

    font-family:"Cormorant Garamond",serif;

    color:var(--text);

    font-weight:700;

}

.nav-link{

    color:var(--text)!important;

    font-weight:600;

    margin:0 8px;

}

.nav-link:hover{

    color:var(--primary)!important;

}

.natural-dropdown{

    border:none;

    border-radius:18px;

    box-shadow:var(--shadow);

    padding:10px;

}

.dropdown-item{

    border-radius:10px;

    padding:10px 14px;

}

.dropdown-item:hover{

    background:#f6f0e8;

}



/* ==========================================================
   HERO
========================================================== */

.hero-section{

    padding:30px 0 45px;

}



/* ==========================================================
   KARTY
========================================================== */

.natural-card{

    background:var(--card);

    border-radius:var(--radius);

    padding:55px 65px;

    box-shadow:var(--shadow);

    border:none;

}
.natural-card p{

    margin-bottom:22px;

    line-height:1.9;

    font-size:1.05rem;

}

.natural-card p:last-child{

    margin-bottom:0;

}

.admin-card{

    background:white;

    border-radius:20px;

    padding:25px;

    box-shadow:var(--shadow);

}

.admin-card h5{

    margin-bottom:12px;

}



/* ==========================================================
   TLAČÍTKA
========================================================== */

.btn{

    border-radius:14px;

    transition:.25s;

}

.btn-natural{

    background:var(--primary);

    color:white;

    border:none;

    padding:12px 24px;

}

.btn-natural:hover{

    background:var(--primary-dark);

    color:white;

    transform:translateY(-2px);

}

.btn-natural-outline{

    border:2px solid var(--primary);

    color:var(--primary);

    background:white;

}

.btn-natural-outline:hover{

    background:var(--primary);

    color:white;

}

.btn-danger{

    border-radius:14px;

}



/* ==========================================================
   ALERTY
========================================================== */

.alert{

    border:none;

    border-radius:18px;

    box-shadow:0 5px 20px rgba(0,0,0,.05);

}

/* ==========================================================
   GALERIE
========================================================== */

.gallery-card{

    background:var(--card);

    border-radius:22px;

    overflow:hidden;

    box-shadow:var(--shadow);

    transition:.3s;

}

.gallery-card:hover{

    transform:translateY(-5px);

}

.gallery-image{

    width:100%;

    height:280px;

    object-fit:cover;

    display:block;

}

.gallery-admin{

    padding:14px;

    display:flex;

    justify-content:center;

    gap:10px;

}

.gallery-caption{

    padding:15px;

    text-align:center;

    font-weight:600;

}



/* ==========================================================
   DETAIL OBRÁZKU
========================================================== */

.detail-image-wrapper{

    text-align:center;

}

.detail-image{

    max-width:100%;

    max-height:700px;

    border-radius:22px;

    box-shadow:var(--shadow);

}



/* ==========================================================
   INFO ŘÁDKY
========================================================== */

.info-row{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:14px 0;

    border-bottom:1px solid var(--border);

}

.info-row:last-child{

    border-bottom:none;

}

.info-label{

    font-weight:600;

}

.natural-link{

    color:var(--primary);

    font-weight:600;

}

.natural-link:hover{

    color:var(--primary-dark);

}



/* ==========================================================
   PROCEDURY
========================================================== */

.list-group-flush{

    border:none;

}

.list-group-flush .border-bottom{

    border-color:var(--border)!important;

}

.service-item{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:18px 0;

    border-bottom:1px solid var(--border);

}

.service-item:last-child{

    border-bottom:none;

}

.service-link{

    font-size:1.1rem;

    font-weight:600;

    color:var(--text);

}

.service-link:hover{

    color:var(--primary);

}

.service-controls{

    display:flex;

    gap:10px;

}



/* ==========================================================
   DETAIL PROCEDURY
========================================================== */

.procedure-description{

    line-height:1.9;

    font-size:1.05rem;

}

.detail-info{

    display:flex;

    gap:40px;

    margin-bottom:25px;

    flex-wrap:wrap;

}

.info-item{

    background:#faf8f4;

    padding:15px 22px;

    border-radius:15px;

}



/* ==========================================================
   FORMULÁŘE
========================================================== */

.form-card{

    border:none;

    border-radius:22px;

    overflow:hidden;

    box-shadow:var(--shadow);

}

.form-header{

    background:var(--primary);

    color:white;

    padding:25px;

}

.form-header h2{

    color:white;

    margin:0;

}

.form-control{

    border-radius:14px;

    border:1px solid var(--border);

    padding:12px 15px;

}

.form-control:focus{

    border-color:var(--primary);

    box-shadow:none;

}

textarea.form-control{

    min-height:180px;

}

.form-check-input:checked{

    background:var(--primary);

    border-color:var(--primary);

}



/* ==========================================================
   VYHLEDÁVÁNÍ
========================================================== */

.search-card{

    background:white;

    border-radius:18px;

    padding:25px;

    box-shadow:var(--shadow);

    margin-bottom:35px;

}

.search-result-link{

    display:block;

    padding:14px;

    border-radius:12px;

    color:var(--text);

    transition:.25s;

}

.search-result-link:hover{

    background:#f5efe6;

    color:var(--primary);

}

.empty-result{

    color:var(--text-light);

}



/* ==========================================================
   NOVINKY
========================================================== */

.news-card{

    background:white;

    border-radius:22px;

    padding:30px;

    box-shadow:var(--shadow);

    margin-bottom:35px;

}

.news-image{

    width:100%;

    border-radius:18px;

    object-fit:cover;

}

.news-main-image{

    max-width:100%;

    border-radius:22px;

    box-shadow:var(--shadow);

}

.news-title{

    margin-bottom:10px;

}

.news-date{

    color:var(--text-light);

    margin-bottom:18px;

}

.news-buttons{

    display:flex;

    gap:12px;

    flex-wrap:wrap;

}

/* ==========================================================
   KONTAKT
========================================================== */

.contact-info p{

    display:flex;

    align-items:center;

    gap:10px;

    margin-bottom:18px;

    font-size:1.05rem;

}

.contact-info i{

    width:22px;

    color:var(--brown);

}

.contact-image{

    width:100%;

    height:180px;

    object-fit:cover;

    border-radius:18px;

    transition:.35s;

    box-shadow:0 8px 22px rgba(0,0,0,.08);

}

.contact-image:hover{

    transform:scale(1.03);

}

.natural-input{

    border-radius:14px;

    padding:12px 18px;

}

textarea.natural-input{

    min-height:170px;

    resize:vertical;

}



/* ==========================================================
   GDPR
========================================================== */

.gdpr-section{

    margin-bottom:50px;

}

.gdpr-section h2,
.gdpr-section h3{

    margin-bottom:18px;

}

.natural-list{

    padding-left:20px;

}

.natural-list li{

    margin-bottom:14px;

}



/* ==========================================================
   TABULKY
========================================================== */

table{

    width:100%;

    border-collapse:collapse;

}

table th{

    background:#f5efe6;

}

table th,
table td{

    padding:14px;

    border:1px solid var(--border);

}



/* ==========================================================
   STRÁNKOVÁNÍ
========================================================== */

.pagination{

    gap:8px;

}

.page-link{

    border:none;

    border-radius:12px;

    color:var(--primary);

    min-width:42px;

    text-align:center;

}

.page-link:hover{

    background:var(--primary);

    color:white;

}

.page-item.active .page-link{

    background:var(--primary);

    border:none;

}

.pagination-info{

    margin-top:18px;

    text-align:center;

    color:var(--text-light);

}



/* ==========================================================
   FOOTER
========================================================== */

.footer-custom{

    background:white;

    margin-top:70px;

    border-top:1px solid var(--border);

}

.footer-content{

    text-align:center;

    padding:40px 0;

}

.footer-content h5{

    margin-bottom:15px;

}

.footer-content p{

    color:var(--text-light);

    margin-bottom:10px;

}



/* ==========================================================
   EMPTY STATE
========================================================== */

.empty-state{

    background:white;

    padding:45px;

    border-radius:20px;

    text-align:center;

    box-shadow:var(--shadow);

}



/* ==========================================================
   ADMIN
========================================================== */

.gallery-admin{

    display:flex;

    justify-content:center;

    gap:12px;

}

.admin-actions{

    display:flex;

    justify-content:center;

    gap:15px;

    flex-wrap:wrap;

}



/* ==========================================================
   ANIMACE
========================================================== */

.gallery-card,
.natural-card,
.news-card,
.btn{

    transition:.25s;

}

.natural-card:hover{

    transform:translateY(-3px);

}



/* ==========================================================
   MOBIL
========================================================== */

@media (max-width:992px){

    .page-title{

        font-size:2.4rem;

    }

    .navbar-title{

        font-size:1.3rem;

    }

    .detail-info{

        flex-direction:column;

        gap:15px;

    }

}



@media (max-width:768px){

    .container{

        padding-left:18px;

        padding-right:18px;

    }

    .page-title{

        font-size:2rem;

    }

    .page-subtitle{

        font-size:1rem;

    }

    .natural-card{

    padding:28px 24px;

    }

    .gallery-image{

        height:220px;

    }

    .news-card{

        padding:22px;

    }

    .btn{

        width:100%;

    }

    .service-item{

        flex-direction:column;

        align-items:flex-start;

        gap:15px;

    }

    .info-row{

        flex-direction:column;

        align-items:flex-start;

        gap:6px;

    }

}



@media (max-width:576px){

    .navbar-logo{

        width:42px;

        height:42px;

    }

    .page-title{

        font-size:1.8rem;

    }

    .gallery-image{

        height:190px;

    }

    .footer-content{

        padding:30px 10px;

    }
