/*
 Theme Name:   Diani Zuri Resort Child
 Theme URI:    https://dianizuriresort.com/
 Description:  Child theme for OceanWP, customized for Diani Zuri Resort
 Author:       Tvůj tým / jméno
 Author URI:   https://dianizuriresort.com/
 Template:     oceanwp
 Version:      1.0.0
 Text Domain:  dianizuriresort-child
*/

/* Vlastní CSS můžeš psát sem */
/* --- Fonts --- */
/* Import Google Fonts - Roboto and a complementary font like Noto Serif or Playfair Display */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Adamina&family=Roboto+Slab:wght@100..900&display=swap');

body {
    font-family: 'Roboto', sans-serif;
    color: #333; /* Dark earthy grey */
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', serif; /* A more elegant, slightly contrasting font for headings */
    color: #2a2a2a; /* Deeper dark for headings */
    font-weight: 700;
}

/* --- General Layout --- */

.container-single{
    padding-top: 160px;
}



/* --- Article & Header --- */
.single-apartment {
    background-color: #ffffff;
    border-radius: 12px; /* Softly rounded corners */
    overflow: hidden; /* Ensures borders/shadows contain content */
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1); /* Pronounced, elegant shadow */
}

.entry-header {
    padding: 30px;
    background-color: #fdfaf5; /* Creamy background for header */
    border-bottom: 2px solid #D4B64A;
    text-align: center;
}

.entry-title {
    font-size: 3.2em; /* Larger, prominent title */
    margin-bottom: 10px;
    letter-spacing: 1px;
    color: #4a3c31; /* Warm dark brown */
}

.apartment-subtitle {
    font-size: 1.5em; /* Subtitle size */
    color: #8c7b6f; /* Muted brown */
    font-weight: 400;
    margin-top: 0;
}


/* --- Dvousloupcový layout pro galerii a popis --- */
.gallery-description {
    display: flex; /* <-- Klíčové: Umožňuje flexbox */
    flex-wrap: wrap; /* Umožní zalomení pod sebe na menších obrazovkách */
    gap: 40px; /* Mezera mezi galerií a popisem */
    align-items: flex-start; /* Zarovnání obsahu na začátek sloupce */
    margin-bottom: 40px; /* Mezera pod tímto dvousloupcovým blokem */
}

.apartment-gallery {
    flex: 2; /* Galerie zabere 2 díly prostoru */
    min-width: 400px; /* Minimální šířka galerie, než se zalomí */
    padding: 0; /* Zajištění, že shortcode galerie si určí vlastní padding */
}

.apartment-description {
    flex: 2; /* Popis zabere 2 díly prostoru */
    min-width: 300px; /* Minimální šířka popisu, než se zalomí */
    line-height: 1.8; /* Lepší čitelnost */
    font-size: 1.1em; /* Lehce větší text */
    color: #555;
    text-align: left; /* Text popisu by měl být zarovnán doleva */
    /* Margin-bottom zde již nepotřebujeme, mezera je dána gap v gallery-description */
}

.apartment-details{
    flex: 2; /* Detaily zabírají 1 díl prostoru */
    min-width: 300px; /* Minimální šířka detailů, než se zalomí */
    padding: 20px;
}


/* --- Apartment Content Sections --- */
.apartment-content {
    padding: 30px; /* Padding for the main content block */
    display: flex;
    flex-direction: column;
    gap: 40px; /* More space between sections */
    text-align: center; /* Centered text for a more elegant look */
}



.apartment-section {
    background-color: #fff;
    border: 1px solid #e8e8e0; /* Softer, natural border */
    border-radius: 10px; /* Consistent rounding */
    padding: 30px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.07); /* Lighter shadow for inner sections */
    position: relative; /* For potential background elements */
    overflow: hidden;
}

.apartment-section h3 {
    font-size: 1.8em; /* Section title size */
    color: #6a4a2b; /* Warm earthy brown for section titles */
    margin-top: 0;
    margin-bottom: 25px;
    text-transform: uppercase;
    font-weight: 700;
    position: relative;
    padding-bottom: 15px;
    letter-spacing: 0.8px;
}

.apartment-section h3::after {
    content: '';
    display: block;
    width: 60px; /* Short underline for title */
    height: 3px;
    background-color: #D4B64A; /* Earthy orange accent */
    position: absolute;
    bottom: 0;
    left: 0;
    border-radius: 2px;
}

/* --- Amenities Grid --- */
.amenities-grid {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); /* Adjusted for more space */
    gap: 20px; /* More space between items */
}

.amenities-grid li {
    display: flex;
    align-items: flex-start; /* Align text to top if multiline */
    font-size: 1.05em;
    color: #5d5d5d;
    background-color: #fefcf9; /* Very light background for items */
    padding: 15px 20px;
    border-radius: 8px;
    border: 1px solid #f0f0e8; /* Subtle border */
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out; /* Smooth hover */
}

.amenities-grid li:hover {
    transform: translateY(-3px); /* Lift on hover */
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1);
}

.amenities-grid li i {
    margin-right: 15px;
    color: #D4B64A; 
    font-size: 1.8em;
    min-width: 30px; 
    text-align: center;
    line-height: 1; 
}

/* --- Pricing List --- */
.pricing-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pricing-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px dashed #e0e0d8; /* Soft dashed line */
}

.pricing-list li:last-child {
    border-bottom: none;
}

.pricing-list .price-tier {
    font-weight: 500;
    color: #3a3a3a;
    font-size: 1.15em;
    display: flex;
    align-items: center;
}

.pricing-list .price-tier i {
    margin-right: 12px;
    color: #8c7b6f; /* Muted brown for price tier icons */
    font-size: 1.5em;
}

.pricing-list .price-value {
    font-size: 1.6em; /* Larger price numbers */
    color: #D4B64A; /* Earthy orange for price */
    font-weight: bold;
    letter-spacing: 0.5px;
}

/* --- Booking Calendar Section --- */
.apartment-calendar-section h3 {
    color: #6a4a2b; /* Same as other section titles */
}

.apartment-calendar-section h3::after {
    background-color: #D4B64A; /* Same as other section titles */
}

.calendar-heading{
    font-size: 1.8em; /* Section title size */

}
/* Responsive Adjustments */
@media (max-width: 1024px) {
    .entry-title {
        font-size: 2.8em;
    }
    .apartment-subtitle {
        font-size: 1.3em;
    }
    .amenities-grid {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    }
}

@media (max-width: 768px) {
    .entry-title {
        font-size: 2.2em;
    }
    .apartment-subtitle {
        font-size: 1.1em;
    }
    .apartment-section {
        padding: 20px;
    }
    .amenities-grid {
        grid-template-columns: 1fr; /* Single column on smaller screens */
        gap: 15px;
    }
    .amenities-grid li {
        font-size: 1em;
        padding: 12px 15px;
    }
    .amenities-grid li i {
        font-size: 1.5em;
    }
    .pricing-list .price-value {
        font-size: 1.4em;
    }
}

@media (max-width: 480px) {
    .entry-header {
        padding: 20px;
    }
    .entry-title {
        font-size: 1.8em;
    }
    .apartment-subtitle {
        font-size: 1em;
    }
    .apartment-content {
        padding: 20px;
        gap: 30px;
    }
    .apartment-section h3 {
        font-size: 1.5em;
        margin-bottom: 15px;
        padding-bottom: 8px;
    }
    .apartment-section h3::after {
        width: 40px;
        height: 2px;
    }
}

.calendar-title{
    font-family: 'Roboto', sans-serif ;
    text-transform: uppercase;
}

.eshb-details-page{
    padding-top: 150px;
}


.eshb-search{
    padding: 20px;
}

.search-result-heading{
    text-align: center;
    padding-top: 170px;
    padding-bottom: 10px;

}
.search-heading{
    font-family: 'Roboto', sans-serif ;
    font-size: 40px;
    font-weight: 400;
    text-align: center;
}

.eshb-item-grid{
    padding-top: 50px;
    padding-bottom: 100px;
}



.gallery-heading-div{
    margin-top: 5px;

}
.gallery-heading{
    margin: 0px;
    padding: 15px;
    font-weight: 400;
    color: #181818;
    font-family: 'Roboto Slab', sans-serif ;
    font-size: 35px;
    text-align: center;
}

.eshb-container{
    padding-top: 30px !important;
}
.accommodation-heading{
    margin: 0px;
    padding: 25px;
    font-weight: 400;
    color: #D4B64A;
    font-family: 'Roboto', sans-serif ;
    font-size: 40px;
    text-align: center;
}


/* --- Tlačítka --- */
.eshb-primary-button {
    display: inline-block; /* Aby se dalo nastavit padding a rozměry */
    background-color: #D4B64A; /* Zlatá barva z obrázku */
    color: #ffffff; /* Bílý text */
    padding: 10px 10px; /* Větší padding pro lepší vzhled */
    border: none; /* Odstranění výchozího ohraničení */
    border-radius: 8px; /* Jemně zaoblené rohy */
    font-family: 'Roboto', sans-serif; /* Nebo 'Roboto Slab' pokud chcete */
    font-size: 10px; /* Větší text */
    font-weight: 400; /* Střední váha písma */
    text-transform: uppercase; /* Všechna písmena velká */
    letter-spacing: 1.5px; /* Lehké rozestupy mezi písmeny */
    text-decoration: none; /* Odstranění podtržení odkazu */
    cursor: pointer;
    transition: background-color 0.3s ease, box-shadow 0.3s ease, transform 0.2s ease;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); /* Jemný stín pro 3D efekt */
}

.eshb-primary-button:hover {
    background-color: #c0a040; /* Mírně tmavší zlatá při najetí myší */
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3); /* Výraznější stín při najetí */
    transform: translateY(-2px); /* Lehké zvednutí tlačítka */
    color: #ffffff; /* Zajištění, že text zůstane bílý */
}

.eshb-primary-button i {
    margin-right: 10px; /* Mezera mezi ikonou a textem */
}

/* Kontejner pro zarovnání tlačítka na střed */
.eshb-back-button-container {
    text-align: center; /* Zarovná tlačítko na střed */
    margin-top: 10px; /* Mezera nad tlačítkem */
    margin-bottom: 25px; /* Mezera pod tlačítkem */
}

#eshb-contents{
    padding-bottom: 40px !important;
}

.eshb-search-error{
    text-align: center;
}

#eshb-contents{
    font-family: 'Roboto', sans-serif;
}

.eshb-single-title{
    font-family: 'Roboto Slab', sans-serif !important;
}

.eshb-archive-header {
    padding-top: 120px;
    text-align: center;
    margin-bottom: 30px;
}

.archive-header{
    font-family: 'Roboto Slab', sans-serif;
    font-size: 40px;
    font-weight: 400;
    color: #D4B64A;
    margin: 0;
}






/*heading off all-apartments*/
/* --- Styly pro JavaScriptem přidaný nadpis "All Apartments" --- */
/* Tato pravidla cílí na element <h2> s třídou 'all-apartments-heading',
   který je přidán pomocí JavaScriptu. */
.all-apartments-heading {
    font-family: 'Playfair Display', serif; /* Použijeme font 'Playfair Display', který je elegantní a hodí se k nadpisům. */
                                           /* Ujistěte se, že tento font je importován na začátku vašeho style.css. */
    font-size: 2.5em; /* Velikost písma, 'em' jednotka je relativní k velikosti písma rodiče. */
    color: #2a2a2a; /* Tmavě šedá barva textu. */
    text-align: center; /* Nadpis bude zarovnán na střed. */
    margin-top: 30px; /* Vnější horní odsazení nad nadpisem. */
    margin-bottom: 20px; /* Vnější dolní odsazení pod nadpisem. */
    font-weight: 700; /* Váha písma: tučné. */
    text-transform: uppercase; /* Všechna písmena v nadpisu budou velká. */
    letter-spacing: 1px; /* Lehké rozestupy mezi písmeny pro lepší vizuální oddělení. */
    padding-bottom: -50px;
    padding-top: 100px;
}

.mabel-bhi-businesshours tr td{ 
    font-family: 'Roboto Slab', sans-serif;
    text-align: center;
    font-size: 15px;
    color: #2a2a2a; /* Tmavě šedá barva textu. */

}

.mb-bhi-oc-text{
    font-size: 25px;
    font-family: 'Roboto', sans-serif;
    text-transform: uppercase;
    color: white;
}

.mb-bhi-closed{
    background-color: rgb(165, 0, 0);
    padding: 10px;
}

.mb-bhi-open{
    background-color: rgb(0, 97, 0);
    padding: 10px;

}

.em-view-container{
    padding-top: 150px;
}

.em-event-bookings {
    padding-top: 50px;
    font-family: 'Roboto slab', sans-serif;
}

.em-event-content{
    padding-bottom: 50px !important;
    font-family: 'Roboto', sans-serif !important;
    color: #333; /* Tmavě šedá barva textu pro lepší čitelnost */
}

.em-event-title{
    padding-bottom: 50px !important;
}

.em-login-trigger{
    display: none !important; /* Skryje přihlašovací tlačítko */
}

/* --- Responzivní úpravy pro nadpis "All Apartments" --- */
/* Tyto @media pravidla zajistí, že nadpis bude vypadat dobře na různých velikostech obrazovek. */

/* Styly pro obrazovky s maximální šířkou 1024px (např. tablety na šířku) */
@media (max-width: 1024px) {
    .all-apartments-heading {
        font-size: 2.2em; /* Mírně menší velikost písma. */
    }
}

/* Styly pro obrazovky s maximální šířkou 768px (např. tablety na výšku, menší laptopy) */
@media (max-width: 768px) {
    .all-apartments-heading {
        font-size: 1.8em; /* Ještě menší velikost písma. */
        margin-top: 20px; /* Upravené odsazení. */
        margin-bottom: 15px;
    }
}

/* Styly pro obrazovky s maximální šířkou 480px (např. mobilní telefony) */
@media (max-width: 480px) {
    .all-apartments-heading {
        font-size: 1.4em; /* Nejmenší velikost písma pro nejmenší obrazovky. */
        margin-top: 15px;
        margin-bottom: 10px;
    }
}



/* 🎨 Základní fonty a barvy */
.em-event-header h1,
.em-event-bookings h2,
.em-item-meta h3 {
  font-family: 'Roboto', sans-serif; /* nebo tvůj font */
  font-weight: 600;
  color: #222;
}

.em-event-title {
  font-size: 2rem;
  margin-bottom: 0.5em;
}

.em-item-meta,
.em-event-content,
.em-event-bookings {
  font-family: 'Roboto', sans-serif;
  color: #333;
  line-height: 1.6;
  font-size: 15px;
}

/* 📌 Meta řádky */
.em-item-meta-line {
  padding: 4px 0;
  display: flex;
  align-items: center;
  gap: 6px;
}

.em-item-meta-line .em-icon {
  color: #0073aa; /* primární barva webu */
  font-size: 14px;
}

/* 🔴 Zrušená akce */
.em-event-cancelled {
  font-family: 'Roboto', sans-serif;
  background: none;
  color: #c00;
  font-weight: bold;
  padding: 8px 0;
  border-bottom: 2px solid #c00;
  margin-bottom: 15px;
}

/* 📱 Responsivita */
@media (max-width: 768px) {
  .em-event-title {
    font-size: 1.6rem;
  }
}

.em-container-view.em-event {
  padding-top: 0 !important;
}

[data-view="calendar"] {
    padding-top: 0 !important;
}
