/* Door Content Centering Fix - Aligns with page layout */

/* Center all door content */
.door-arch {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-end !important;
    text-align: center !important;
}

/* Door content centering */
.door-content {
    width: 100% !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px 15px !important;
}

/* Center all text elements within doors */
.door-content h3,
.door-content .door-time,
.door-content .door-subtitle,
.door-content p {
    text-align: center !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Center hover text */
.door-hover-text {
    text-align: center !important;
    width: 100% !important;
    padding: 10px !important;
    box-sizing: border-box !important;
}

/* Center all paragraphs in hover text */
.door-hover-text p {
    text-align: center !important;
    margin: 8px auto !important;
    width: 100% !important;
}

/* Center lists within doors */
.accommodation-list,
.explore-list {
    width: 100% !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
    list-style-position: inside !important;
    text-align: center !important;
}

.accommodation-list li,
.explore-list li {
    text-align: left !important;
    margin: 8px auto !important;
    max-width: 200px !important;
    list-style-position: outside !important;
}

/* Ensure door time and subtitle are centered */
.door-time {
    display: block !important;
    text-align: center !important;
    width: 100% !important;
    font-weight: 600 !important;
    margin: 5px 0 !important;
}

.door-subtitle {
    display: block !important;
    text-align: center !important;
    width: 100% !important;
    font-style: italic !important;
    opacity: 0.9 !important;
    margin-top: 5px !important;
}

/* Center the expand/collapse arrow */
.door-content::after {
    text-align: center !important;
    width: 100% !important;
    display: block !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .door-content {
        padding: 15px 10px !important;
    }

    .door-hover-text {
        padding: 8px !important;
    }

    .accommodation-list,
    .explore-list {
        padding: 0 15px !important;
    }
}

@media (max-width: 480px) {
    .door-content {
        padding: 12px 8px !important;
    }

    .door-content h3 {
        font-size: 1.1rem !important;
    }

    .door-time,
    .door-subtitle {
        font-size: 0.85rem !important;
    }

    .door-hover-text p {
        font-size: 0.75rem !important;
    }
}

/* Ensure expanded content stays centered */
.schedule-door.expanded .door-content,
.schedule-door.expanded .door-hover-text {
    text-align: center !important;
}

/* Override any conflicting styles */
.schedule-door * {
    text-align: center !important;
}

.schedule-door ul {
    text-align: left !important;
    display: inline-block !important;
}

/* Special handling for specific doors with unique content */
.schedule-door:nth-child(5) .door-content,
.schedule-door:nth-child(6) .door-content {
    text-align: center !important;
    align-items: center !important;
}

/* Ensure all door content is vertically and horizontally centered */
.door-arch > * {
    margin-left: auto !important;
    margin-right: auto !important;
}