/* Embeddable calendar components (browser / event detail / carousel).
   Reuses widget cw-* classes; .ec-root supplies CSS variables without full .cw-page shell. */

.ec-root {
    --cw-bg: transparent;
    --cw-bg-image: none;
    --cw-text: #1e293b;
    --cw-text-muted: #64748b;
    --cw-link: #0b6e99;
    --cw-heading: #0c4a6e;
    --cw-accent: #0b6e99;
    --cw-header-bg: #ffffff;
    --cw-header-text: #0c4a6e;
    --cw-header-border: #e2e8f0;
    --cw-footer-text: #94a3b8;
    --cw-card-bg: #ffffff;
    --cw-card-border: #e2e8f0;
    --cw-card-radius: 1rem;
    --cw-card-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 12px 28px -14px rgba(15, 23, 42, .14);
    --cw-surface-bg: #f0f9ff;
    --cw-btn-bg: #0b6e99;
    --cw-btn-text: #ffffff;
    --cw-btn-secondary-bg: transparent;
    --cw-btn-secondary-text: #475569;
    --cw-control-bg: #ffffff;
    --cw-control-border: #cbd5e1;
    --cw-control-text: #0c4a6e;
    --cw-control-placeholder: #94a3b8;
    --cw-control-focus: color-mix(in srgb, var(--cw-accent) 28%, transparent);
    --cw-control-radius: .7rem;
    --cw-control-height: 2.4rem;
    --cw-success: #15803d;
    --cw-danger: #dc2626;
    --ec-grid-cols: 3;

    color: var(--cw-text);
    background: transparent;
}

.ec-root.ec-theme-oceanic,
.ec-root.ec-theme-default {
    --cw-accent: #0b6e99;
    --cw-link: #0b6e99;
    --cw-heading: #0c4a6e;
    --cw-btn-bg: #0b6e99;
    --cw-surface-bg: #f0f9ff;
}

/* Private-label San Antonio Flavor (burgundy / cream) */
.ec-root.ec-theme-san-antonio,
.ec-root.ec-theme-san-antonio-flavor {
    --cw-text: #3d2e2a;
    --cw-text-muted: #6b5b56;
    --cw-link: #8b0e04;
    --cw-heading: #1a1210;
    --cw-accent: #8b0e04;
    --cw-header-bg: #ffffff;
    --cw-header-text: #1a1210;
    --cw-header-border: #ede4d7;
    --cw-footer-text: #9a8a82;
    --cw-card-bg: #ffffff;
    --cw-card-border: #ede4d7;
    --cw-card-shadow: 0 1px 2px rgba(26, 18, 16, .05), 0 12px 28px -14px rgba(26, 18, 16, .14);
    --cw-surface-bg: #faf6f1;
    --cw-btn-bg: #8b0e04;
    --cw-btn-text: #ffffff;
    --cw-btn-secondary-text: #3d2e2a;
    --cw-control-bg: #ffffff;
    --cw-control-border: #d9cfc0;
    --cw-control-text: #1a1210;
    --cw-control-placeholder: #9a8a82;
}

.ec-browser .cw-events--grid.ec-events,
.ec-event-detail .cw-events--grid.ec-events {
    display: grid;
    grid-template-columns: repeat(var(--ec-grid-cols), minmax(0, 1fr));
    gap: 1rem;
}

@media (max-width: 991.98px) {
    .ec-browser .cw-events--grid.ec-events,
    .ec-event-detail .cw-events--grid.ec-events {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .ec-browser .cw-events--grid.ec-events,
    .ec-event-detail .cw-events--grid.ec-events {
        grid-template-columns: 1fr;
    }
}

.ec-pagination .pagination {
    justify-content: center;
}

.ec-carousel__card {
    color: inherit;
    transition: transform .15s ease, box-shadow .15s ease;
    overflow: hidden;
    border-radius: var(--cw-card-radius);
}

.ec-carousel__card:hover {
    transform: translateY(-2px);
    box-shadow: var(--cw-card-shadow);
    color: inherit;
}

.ec-carousel__card .card-img-top {
    aspect-ratio: 16 / 10;
    object-fit: cover;
    width: 100%;
}

.ec-carousel__placeholder {
    aspect-ratio: 16 / 10;
    background: var(--cw-surface-bg);
    color: var(--cw-accent);
}

.ec-carousel__all {
    border-color: var(--cw-accent);
    color: var(--cw-accent);
}

.ec-carousel__all:hover {
    background: var(--cw-accent);
    border-color: var(--cw-accent);
    color: #fff;
}
