/* ================================================================
   BBG Calendar — Neumorphic / Stripe-clarity override
   Loaded on general-calendar page via ?v2=1
   Overrides calendar.css with soft-UI neumorphic shadows,
   no borders, and a muted surface background.
   ================================================================ */

/* ================================================================
   TOKEN OVERRIDES — neumorphic surface
   ================================================================ */
.bbg-cal {
    /* Neumorphic shadow pair */
    --neu-d:          #c5cbd7;
    --neu-l:          #ffffff;

    background: #e8ecf2 !important;
}


/* ================================================================
   HERO — sunken / pressed neumorphic container
   ================================================================ */
.bbg-cal-hero {
    border-radius: 20px !important;
    margin: 8px 24px 0 !important;
    overflow: hidden !important;
    box-shadow: none !important;
    border: none !important;
    position: relative !important;
}

/* Sunken inset shadow — on top of the overlay */
.bbg-cal-hero::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: inherit !important;
    z-index: 3 !important;
    pointer-events: none !important;
    box-shadow:
        inset  0  8px 18px rgba(0, 0, 0, .45),
        inset  0 -4px 12px rgba(0, 0, 0, .15),
        inset  6px 0 14px  rgba(0, 0, 0, .18),
        inset -6px 0 14px  rgba(0, 0, 0, .18) !important;
}

/* Outer lip */
.bbg-cal-hero {
    outline: 2px solid rgba(0, 0, 0, .06) !important;
    outline-offset: -2px !important;
}


/* ================================================================
   MAIN SPLIT — neumorphic container
   ================================================================ */
.bbg-cal-main {
    border-radius: 16px !important;
    margin: 24px 24px 0 !important;
    overflow: hidden !important;
    box-shadow: 8px 8px 22px #c5cbd7, -8px -8px 22px #ffffff !important;
    border: none !important;
    background-color: #e8ecf2 !important;
}


/* ================================================================
   LEFT COLUMN — card list panel
   ================================================================ */
.bbg-cal-list-wrap {
    background: #1a2a4a !important;
    box-shadow: inset -3px 0 10px rgba(0, 0, 0, .15) !important;
}

/* Filter select — extruded pill on dark */
.bbg-cal-filters__select {
    background: #e8ecf2 !important;
    border: none !important;
    border-radius: 12px !important;
    box-shadow: 3px 3px 8px rgba(0, 0, 0, .30),
               -3px -3px 8px rgba(255, 255, 255, .05) !important;
    transition: box-shadow 0.25s ease !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath fill='%231A5EA8' d='M5 7L1 3h8z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 8px center !important;
}

.bbg-cal-filters__select:hover,
.bbg-cal-filters__select:focus {
    box-shadow: inset 2px 2px 5px rgba(0, 0, 0, .20),
                inset -2px -2px 5px rgba(255, 255, 255, .04),
                0 0 0 2px rgba(26, 94, 168, 0.3) !important;
    background-color: #e0e4eb !important;
    border-color: transparent !important;
}

/* Group label — subtle */
.bbg-cal-group-label {
    color: rgba(255, 255, 255, 0.35) !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .3) !important;
}


/* ================================================================
   EVENT CARDS — extruded on dark surface
   ================================================================ */
.bbg-cal-card {
    background: #e8ecf2 !important;
    border: none !important;
    border-radius: 14px !important;
    box-shadow: 4px 4px 12px rgba(0, 0, 0, .30),
               -4px -4px 12px rgba(255, 255, 255, .04) !important;
    transition: transform 0.35s cubic-bezier(.4,0,.2,1),
                box-shadow 0.35s ease !important;
}

.bbg-cal-card.is-focused {
    box-shadow: 6px 6px 18px rgba(0, 0, 0, .35),
               -6px -6px 18px rgba(255, 255, 255, .05) !important;
    outline: 2px solid rgba(26, 94, 168, 0.6) !important;
    outline-offset: 2px !important;
}

/* Featured card — accent left bar, neumorphic */
.bbg-cal-card--featured {
    border-left: 3px solid #1A5EA8 !important;
    background: linear-gradient(90deg, rgba(26,94,168,0.08) 0%, #e8ecf2 40%) !important;
}

/* Thumbnail — sunken well */
.bbg-cal-card__thumb {
    box-shadow: inset 2px 2px 6px rgba(0, 0, 0, .12),
                inset -2px -2px 6px rgba(255, 255, 255, .04) !important;
    border-radius: 14px 0 0 14px !important;
}

/* Card text colors on light neumorphic surface */
.bbg-cal-card__name {
    color: #0a1b3d !important;
}

.bbg-cal-card__edition-name {
    color: #6b7a94 !important;
}

.bbg-cal-card__date {
    color: #6b7a94 !important;
}

/* Time badge — extruded pill */
.bbg-cal-card__time {
    background: #e8ecf2 !important;
    border: none !important;
    box-shadow: 2px 2px 6px #c5cbd7, -2px -2px 6px #ffffff !important;
    color: #1A5EA8 !important;
}

/* Status badges — extruded */
.bbg-cal-status {
    box-shadow: 2px 2px 6px rgba(0, 0, 0, .15),
               -2px -2px 6px rgba(255, 255, 255, .06) !important;
    border: none !important;
}


/* ================================================================
   RIGHT COLUMN — detail panel
   ================================================================ */
.bbg-cal-detail {
    background: #e8ecf2 !important;
    border-left: none !important;
    box-shadow: inset 3px 0 10px rgba(197, 203, 215, 0.4) !important;
}

/* Placeholder text */
.bbg-cal-detail__placeholder {
    color: #8a95a8 !important;
}

/* Cover thumbnail — sunken well */
.bbg-cal-detail__thumb-wrap {
    box-shadow: inset 3px 3px 8px #c5cbd7, inset -3px -3px 8px #ffffff !important;
    background: #e0e4eb !important;
    border: none !important;
}

/* Header */
.bbg-cal-detail__header {
    border-bottom-color: rgba(197, 203, 215, 0.4) !important;
}

.bbg-cal-detail__title {
    color: #0a1b3d !important;
}

.bbg-cal-detail__edition {
    color: #1A5EA8 !important;
}

/* Sections */
.bbg-cal-detail__section {
    border-bottom-color: rgba(197, 203, 215, 0.4) !important;
}

.bbg-cal-detail__section-label {
    color: #8a95a8 !important;
}

/* Meta chips — extruded */
.bbg-cal-detail__meta-item {
    background: #e8ecf2 !important;
    border: none !important;
    border-radius: 10px !important;
    box-shadow: 3px 3px 8px #c5cbd7, -3px -3px 8px #ffffff !important;
    color: #3a4a64 !important;
}

/* Tags — extruded pills */
.bbg-cal-tag {
    background: #e8ecf2 !important;
    border: none !important;
    box-shadow: 3px 3px 8px #c5cbd7, -3px -3px 8px #ffffff !important;
    color: #1A5EA8 !important;
}

/* Description */
.bbg-cal-detail__desc {
    color: #4a5568 !important;
}

/* Agenda rows */
.bbg-cal-detail__agenda-row {
    border-bottom-color: rgba(197, 203, 215, 0.3) !important;
}

.bbg-cal-detail__agenda-time {
    color: #1A5EA8 !important;
}

.bbg-cal-detail__agenda-title {
    color: #0a1b3d !important;
}

.bbg-cal-detail__agenda-type {
    background: #e8ecf2 !important;
    border: none !important;
    box-shadow: 2px 2px 5px #c5cbd7, -2px -2px 5px #ffffff !important;
    color: #6b7a94 !important;
}

.bbg-cal-detail__agenda-desc {
    color: #6b7a94 !important;
}

/* Info grid */
.bbg-cal-detail__info-row {
    border-bottom-color: rgba(197, 203, 215, 0.3) !important;
}

.bbg-cal-detail__info-key {
    color: #8a95a8 !important;
}

.bbg-cal-detail__info-val {
    color: #0a1b3d !important;
}

/* Participant list */
.bbg-cal-detail__plist-item {
    border-bottom-color: rgba(197, 203, 215, 0.3) !important;
}

.bbg-cal-detail__plist-name {
    color: #0a1b3d !important;
}

.bbg-cal-detail__plist-type {
    color: #8a95a8 !important;
}

.bbg-cal-detail__plist-img {
    border: none !important;
    box-shadow: 2px 2px 5px #c5cbd7, -2px -2px 5px #ffffff !important;
    border-radius: 6px !important;
}

/* Map frame — sunken well */
.bbg-cal-detail__map-frame {
    border: none !important;
    box-shadow: inset 3px 3px 7px #c5cbd7, inset -3px -3px 7px #ffffff !important;
    background: #e0e4eb !important;
}


/* ================================================================
   BUTTONS — extruded with press state
   ================================================================ */
.bbg-cal-btn {
    border-radius: 12px !important;
    transition: box-shadow 0.25s ease, transform 0.25s ease !important;
}

.bbg-cal-btn--filled {
    background: #e8ecf2 !important;
    color: #001845 !important;
    border: none !important;
    box-shadow: 5px 5px 14px #c5cbd7, -5px -5px 14px #ffffff !important;
}

.bbg-cal-btn--filled:hover {
    background: #e8ecf2 !important;
    border-color: transparent !important;
    box-shadow: 6px 6px 18px #c5cbd7, -6px -6px 18px #ffffff !important;
    transform: translateY(-1px) !important;
}

.bbg-cal-btn--filled:active {
    transform: translateY(0) !important;
    box-shadow: inset 3px 3px 7px #c5cbd7, inset -3px -3px 7px #ffffff !important;
}

.bbg-cal-btn--outline {
    background: #e8ecf2 !important;
    color: #1A5EA8 !important;
    border: none !important;
    box-shadow: 4px 4px 10px #c5cbd7, -4px -4px 10px #ffffff !important;
}

.bbg-cal-btn--outline:hover {
    background: #e8ecf2 !important;
    border-color: transparent !important;
    box-shadow: 5px 5px 14px #c5cbd7, -5px -5px 14px #ffffff !important;
    transform: translateY(-1px) !important;
}

.bbg-cal-btn--outline:active {
    transform: translateY(0) !important;
    box-shadow: inset 3px 3px 7px #c5cbd7, inset -3px -3px 7px #ffffff !important;
}

.bbg-cal-btn--map {
    background: #e8ecf2 !important;
    color: #1A5EA8 !important;
    border: none !important;
    box-shadow: 3px 3px 8px #c5cbd7, -3px -3px 8px #ffffff !important;
}

.bbg-cal-btn--map:hover {
    box-shadow: inset 3px 3px 7px #c5cbd7, inset -3px -3px 7px #ffffff !important;
    background: #e8ecf2 !important;
    border-color: transparent !important;
}


/* ================================================================
   GALLERY SUB-COLUMN — neumorphic
   ================================================================ */
.bbg-cal-detail__col--gallery {
    background: #e2e6ed !important;
    border-left: none !important;
    box-shadow: inset 3px 0 8px rgba(197, 203, 215, 0.5) !important;
}

.bbg-cal-detail__gallery-label {
    color: #8a95a8 !important;
}

.bbg-cal-detail__event-gallery img {
    border-radius: 8px !important;
    box-shadow: 3px 3px 8px #c5cbd7, -3px -3px 8px #ffffff !important;
    opacity: 1 !important;
}

.bbg-cal-detail__event-gallery img:hover {
    box-shadow: inset 2px 2px 5px #c5cbd7, inset -2px -2px 5px #ffffff !important;
}

/* "View all photos" link — neumorphic */
.bbg-cal-gallery-view-all {
    background: #e8ecf2 !important;
    border: none !important;
    box-shadow: 2px 2px 6px #c5cbd7, -2px -2px 6px #ffffff !important;
    color: #1A5EA8 !important;
}
.bbg-cal-gallery-view-all:hover {
    box-shadow: inset 2px 2px 5px #c5cbd7, inset -2px -2px 5px #ffffff !important;
    background: #e8ecf2 !important;
    color: #1A5EA8 !important;
}


/* ================================================================
   LIGHTBOX — keep dark, add soft shadow
   ================================================================ */
.bbg-cal-lightbox__img {
    box-shadow: 0 12px 48px rgba(0, 0, 0, .6) !important;
    border-radius: 10px !important;
}

.bbg-cal-lightbox__close {
    background: #e8ecf2 !important;
    color: #001845 !important;
    border: none !important;
    box-shadow: 3px 3px 8px rgba(0, 0, 0, .3),
               -3px -3px 8px rgba(255, 255, 255, .06) !important;
    border-radius: 50% !important;
    opacity: 1 !important;
}

.bbg-cal-lightbox__close:hover {
    box-shadow: inset 3px 3px 7px rgba(0, 0, 0, .15),
                inset -3px -3px 7px rgba(255, 255, 255, .6) !important;
}

.bbg-cal-lightbox__prev,
.bbg-cal-lightbox__next {
    background: #e8ecf2 !important;
    color: #001845 !important;
    border: none !important;
    box-shadow: 4px 4px 10px rgba(0, 0, 0, .25),
               -4px -4px 10px rgba(255, 255, 255, .05) !important;
}

.bbg-cal-lightbox__prev:hover,
.bbg-cal-lightbox__next:hover {
    box-shadow: inset 3px 3px 7px rgba(0, 0, 0, .15),
                inset -3px -3px 7px rgba(255, 255, 255, .6) !important;
    background: #e8ecf2 !important;
}


/* ================================================================
   EMPTY STATE — sunken well
   ================================================================ */
.bbg-cal-empty {
    background: #e8ecf2 !important;
    border-radius: 16px !important;
    box-shadow: inset 3px 3px 7px #c5cbd7, inset -3px -3px 7px #ffffff !important;
}

.bbg-cal-empty p {
    color: #8a95a8 !important;
}


/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width: 767px) {
    .bbg-cal-hero {
        margin: 4px 12px 0 !important;
        border-radius: 14px !important;
    }

    .bbg-cal-main {
        margin: 16px 12px 0 !important;
        border-radius: 14px !important;
    }

    .bbg-cal-card {
        border-radius: 12px !important;
    }

    .bbg-cal-card__thumb {
        border-radius: 12px 0 0 12px !important;
    }
}

@media (max-width: 480px) {
    .bbg-cal-hero {
        margin: 4px 8px 0 !important;
        border-radius: 12px !important;
    }

    .bbg-cal-main {
        margin: 12px 8px 0 !important;
        border-radius: 12px !important;
    }
}
