/**
 * Booking Calendar Block Styles
 * 
 * Place this file in: theme/assets/css/booking-calendar.css
 * Or add these styles to your existing stylesheet
 */

/* ================================
   Container & Background
   ================================ */
.booking-weeks {
    background-color: rgb(41, 29, 21);
    padding: 60px 20px;
}

/* ================================
   Header Section
   ================================ */
.booking-weeks .grid_row_content_before {
    text-align: center;
    margin-bottom: 40px;
}

.booking-weeks .grid_row_content_before h2 {
    color: #f8f6f3;
    font-size: 2.5rem;
    margin-bottom: 10px;
}

.booking-weeks .grid_row_content_before h4 {
    color: #e0d5c7;
    font-size: 1.25rem;
    font-weight: 400;
    margin-bottom: 20px;
}

.booking-weeks .heading-seperator {
    margin: 0 auto;
}

/* ================================
   Grid Layout - 4 Columns
   ================================ */
.booking-weeks .grid_row_content {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ================================
   Individual Week Cards
   ================================ */
.booking-weeks .grid_column_content {
    background: #ca8622;
    border: 2px solid #e0d5c7;
    border-radius: 8px;
    padding: 20px;
    text-align: center;
}

/* Week Date Heading */
.booking-weeks .grid_column_content h3 {
    font-size: 1.35rem;
    color: #f8f6f3;
    margin-bottom: 15px;
    font-weight: 600;
    position: relative;
    padding-bottom: 30px;
}

/* Decorative line under date */
.booking-weeks .grid_column_content h3:after {
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    bottom: 0;
    background: url('/wp-content/uploads/2023/12/header-bottom-line-1.png') no-repeat center;
    width: 100%;
    height: 24px;
    margin: 0 auto;
}

/* Availability Badge - Base Styles */
.booking-weeks .grid_column_content h4 {
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 15px 10px;
    border-radius: 8px;
    border: 2px solid #f8f6f3;
    color: #f8f6f3;
    margin: 0;
}

/* ================================
   Availability Status Colors
   ================================ */

/* Available - Bright Green */
.booking-weeks [data-availability="available"] h4 {
    background: #579f2a;
}

/* Limited - Dark Green */
.booking-weeks [data-availability="limited"] h4 {
    background: #2b5013;
}

/* Full - Muted Red/Rose */
.booking-weeks [data-availability="full"] h4 {
    background: #c75a5a;
}

/* ================================
   Responsive Breakpoints
   ================================ */

/* Tablet - 2 columns */
@media (max-width: 992px) {
    .booking-weeks .grid_row_content {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .booking-weeks .grid_row_content_before h2 {
        font-size: 2rem;
    }
}

/* Mobile - 1 column */
@media (max-width: 576px) {
    .booking-weeks .grid_row_content {
        grid-template-columns: 1fr;
        padding: 0 10px;
    }
    
    .booking-weeks {
        padding: 40px 10px;
    }
    
    .booking-weeks .grid_row_content_before h2 {
        font-size: 1.75rem;
    }
    
    .booking-weeks .grid_row_content_before h4 {
        font-size: 1rem;
    }
}

/* ================================
   Editor Placeholder
   ================================ */
.booking-weeks-placeholder {
    text-align: center;
    padding: 40px;
    color: #e0d5c7;
    font-style: italic;
}
