/* ASC Calendar Widget Styles */
.asc-calendar-wrapper {
    position: relative;
    width: 100%;
    display: block;
}

.asc-calendar-embed {
    border: 1px solid rgb(216, 216, 216) !important;
    border-radius: 0;
    width: 100%;
    display: block;
    margin: 0 auto;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
    overflow: hidden; /* No scrolling - show full UI */
    min-height: 600px; /* Minimum height for full UI */
    max-height: 800px; /* Maximum height to prevent excessive sizing */
    /* Let OnceHub handle height and overflow via inline styles */
}

/* Remove weird underlines and text decorations */
.asc-calendar-embed,
.asc-calendar-embed *,
.asc-calendar-embed iframe,
.asc-calendar-embed div[data-so-page] {
    text-decoration: none !important;
    border-bottom: none !important;
    border: 1px solid rgb(216, 216, 216) !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Ensure proper border styling */
.asc-calendar-embed {
    border: 1px solid rgb(216, 216, 216) !important;
    border-radius: 0;
    overflow: hidden;
}

/* Remove any underline effects from OnceHub content */
.asc-calendar-embed iframe,
.asc-calendar-embed div[data-so-page],
.asc-calendar-embed a,
.asc-calendar-embed span,
.asc-calendar-embed div {
    text-decoration: none !important;
    border-bottom: none !important;
    text-decoration-line: none !important;
    text-decoration-style: none !important;
    text-decoration-color: transparent !important;
}

/* Ensure the wrapper has proper positioning */
.asc-calendar-wrapper {
    position: relative;
}

/* Responsive design - ensure full UI is visible on all devices */
@media (max-width: 1024px) {
    .asc-calendar-embed {
        min-width: 290px;
        max-width: 100%;
        min-height: 550px;
        max-height: 700px;
    }
}

@media (max-width: 768px) {
    .asc-calendar-embed {
        min-width: 290px;
        max-width: 100%;
        min-height: 500px;
        max-height: 650px;
    }
}

@media (max-width: 480px) {
    .asc-calendar-embed {
        min-width: 290px;
        max-width: 100%;
        min-height: 450px;
        max-height: 600px;
    }
}

/* Tablet landscape */
@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
    .asc-calendar-embed {
        min-height: 500px;
        max-height: 600px;
    }
}

/* Mobile landscape */
@media (max-width: 768px) and (orientation: landscape) {
    .asc-calendar-embed {
        min-height: 400px;
        max-height: 500px;
    }
}

/* Loading state */
.asc-calendar-embed:empty::before {
    content: "Loading calendar...";
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #666;
    font-style: italic;
}

/* Error state */
.asc-calendar-error {
    padding: 20px;
    background: #fff3cd;
    border: 1px solid #ffeaa7;
    color: #856404;
    text-align: center;
    border-radius: 4px;
}

/* Elementor editor styles */
.elementor-editor .asc-calendar-embed {
    min-height: 200px;
    background: #f8f9fa;
    border: 2px dashed #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
}

.elementor-editor .asc-calendar-embed::before {
    content: "Calendar Preview";
    font-weight: bold;
}
