/* Appartement Single Page Styles */



.appartement-single-container {

    max-width: 1200px;

    margin: 0 auto;

    padding: 20px;

    font-family: 'Arial', sans-serif;

}



/* Carousel Styles */

.appartement-details-carousel {

    margin-bottom: 30px;

    position: relative;

    height: auto;

}



.carousel-details-container {

    position: relative;

    overflow: hidden;

    border-radius: 8px;

    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);

}



.carousel-details-inner {

    display: flex;

    transition: transform 0.5s ease;

}



.carousel-details-item {

    flex: 0 0 100%;

    height: 500px;

}



.carousel-details-item img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}



.carousel-details-control {

    position: absolute;

    top: 50%;

    transform: translateY(-50%);

    width: 40px;

    height: 40px;

    background-color: rgba(255, 255, 255, 0.7);

    border-radius: 50%;

    border: none;

    cursor: pointer;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 24px;

    color: #333;

    z-index: 10;

}



.carousel-details-control.prev {

    left: 15px;

}



.carousel-details-control.next {

    right: 15px;

}



/* Appartement Title */

.appartement-details-title {

    font-size: 28px;

    color: #333;

    margin-bottom: 20px;

    font-weight: 600;

}



/* Appartement Details Section */

.appartement-details-section {

    background-color: #f9f9f9;

    border-radius: 8px;

    overflow: hidden;

    margin-bottom: 30px;

}



.description-box {

    border-bottom: 1px solid #e0e0e0;

    margin-bottom: 15px;

}



.description-box h3 {

    background-color: #f1f1f1;

    padding: 15px;

    margin: 0;

    font-size: 18px;

    cursor: pointer;

    display: flex;

    justify-content: space-between;

    align-items: center;

}



.toggle-icon {

    font-size: 20px;

    font-weight: bold;

    color: #666;

}



.description-content {

    padding: 15px;

    background-color: #fff;

    line-height: 1.6;

    color: #333;

}





/* Styles description */

.description-content {

    padding: 15px;

    background-color: #fff;

    line-height: 1.6;

    color: #333;

}



.description-content p {

    margin-bottom: 15px;

}



.description-content p:last-child {

    margin-bottom: 0;

}



.description-content strong,

.description-content b {

    font-weight: bold;

    color: #2c3e50;

}



.description-content em,

.description-content i {

    font-style: italic;

    color: #555;

}



/* Listes améliorées */

.description-content ul {

    list-style: disc;

    margin: 15px 0;

    padding-left: 25px;

}



.description-content ol {

    list-style: decimal;

    margin: 15px 0;

    padding-left: 25px;

}



.description-content li {

    margin-bottom: 8px;

    line-height: 1.5;

}



/* Citations */

.description-content blockquote {

    border-left: 4px solid #f5b042;

    margin: 20px 0;

    padding: 15px 20px;

    background-color: #f8f9fa;

    font-style: italic;

    color: #555;

}



/* Titres dans la description */

.description-content h1,

.description-content h2,

.description-content h3,

.description-content h4,

.description-content h5,

.description-content h6 {

    font-weight: bold;

    margin: 20px 0 10px 0;

    color: #2c3e50;

}



.description-content h1 { font-size: 1.8em; }

.description-content h2 { font-size: 1.5em; }

.description-content h3 { font-size: 1.3em; }

.description-content h4 { font-size: 1.1em; }



/* Liens dans la description */

.description-content a {

    color: #f5b042;

    text-decoration: underline;

}



.description-content a:hover {

    color: #e09621;

}



/* Tableaux dans la description */

.description-content table {

    width: 100%;

    border-collapse: collapse;

    margin: 15px 0;

}



.description-content th,

.description-content td {

    border: 1px solid #ddd;

    padding: 10px;

    text-align: left;

}



.description-content th {

    background-color: #f5b042;

    color: white;

    font-weight: bold;

}



.description-content td {

    background-color: #fff;

}



/* Code dans la description (si utilisé) */

.description-content code {

    background-color: #f4f4f4;

    padding: 2px 6px;

    border-radius: 3px;

    font-family: monospace;

    font-size: 0.9em;

}



.description-content pre {

    background-color: #f4f4f4;

    padding: 15px;

    border-radius: 5px;

    overflow-x: auto;

    margin: 15px 0;

}



/* Price Section */

.price-section {

    padding: 20px;

    background-color: #fff;

}



.price-section h2 {

    font-size: 24px;

    color: #333;

    margin-bottom: 20px;

    text-align: center;

}



/* Weekly Price Calendar Styles */

.weekly-price-calendar {

    margin-bottom: 30px;

    border-radius: 8px;

    overflow: hidden;

    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);

}



.week-price-item {

    display: flex;

    justify-content: space-between;

    align-items: center;

    padding: 15px 20px;

    border-bottom: 1px solid #e0e0e0;

    background-color: #fff;

    transition: background-color 0.2s ease;

}



.week-price-item:hover {

    background-color: #f8f9fa;

}



.week-price-item:last-child {

    border-bottom: none;

}



.week-dates {

    display: flex;

    align-items: center;

    font-size: 16px;

    color: #333;

}



.date-separator {

    margin: 0 10px;

    color: #666;

    font-weight: normal;

}



.week-price {

    font-size: 20px;

    font-weight: bold;

    color: #f5b042;

}



.price-amount {

    background-color: #BAA360;

    color: white;

    padding: 8px 15px;

    border-radius: 20px;

    font-size: 18px;

}



/* Ancien style de prix (fallback) */

.price-details {

    margin-bottom: 20px;

}



.price-row {

    display: flex;

    justify-content: center;

    padding: 10px 0;

    border-bottom: 1px solid #eee;

}



.price-value {

    color: #333;

    font-size: 24px;

    font-weight: bold;

}



.booking-button-container {

    text-align: center;

    margin-top: 30px;

}



.booking-button {

    display: inline-block;

    padding: 15px 40px;

    background-color: #BAA360;

    color: #fff;

    font-weight: bold;

    text-decoration: none;

    border-radius: 30px;

    transition: all 0.3s ease;

    font-size: 18px;

    box-shadow: 0 4px 15px rgba(245, 176, 66, 0.3);

}



.booking-button:hover {

    background-color: #e09621;

    transform: translateY(-2px);

    box-shadow: 0 6px 20px rgba(245, 176, 66, 0.4);

}



/* Responsive Styles */

@media (max-width: 768px) {

    .carousel-details-item {

        height: 300px;

    }

    

    .appartement-details-title {

        font-size: 24px;

    }

    

    .description-box h3 {

        font-size: 16px;

    }

    

    .price-section h2 {

        font-size: 20px;

    }

    

    .week-price-item {

        flex-direction: column;

        text-align: center;

        padding: 15px;

    }

    

    .week-dates {

        margin-bottom: 10px;

        flex-direction: column;

        gap: 5px;

    }

    

    .date-separator {

        transform: rotate(90deg);

        margin: 5px 0;

    }

    

    .price-amount {

        font-size: 16px;

        padding: 6px 12px;

    }



    

/* Responsive pour la description */

    .description-content {

        padding: 10px;

    }

    

    .description-content ul,

    .description-content ol {

        padding-left: 20px;

    }

    

    .description-content blockquote {

        padding: 10px 15px;

        margin: 15px 0;

    }

    

    .description-content table {

        font-size: 14px;

    }

    

    .description-content th,

    .description-content td {

        padding: 8px;

    }

}



