/* ═══════════════════════════════════════════
   LGM CAROUSEL v2 — Front-end Styles
   Fully scoped with !important for theme isolation.
   ═══════════════════════════════════════════ */

/* ─── HARD RESET ─── */

.lgm-carousel,
.lgm-carousel *,
.lgm-carousel *::before,
.lgm-carousel *::after {
    box-sizing: border-box !important;
    text-decoration: none !important;
    -webkit-font-smoothing: antialiased;
}
.lgm-carousel .lgm-read-more {
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}
.lgm-carousel a,
.lgm-carousel a:link,
.lgm-carousel a:visited,
.lgm-carousel a:hover,
.lgm-carousel a:active,
.lgm-carousel a:focus {
    text-decoration: none !important;
    color: inherit !important;
    outline: none !important;
    border: none !important;
    background: none !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent !important;
}
.lgm-carousel img {
    max-width: none !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.lgm-carousel h1,.lgm-carousel h2,.lgm-carousel h3,.lgm-carousel h4,.lgm-carousel h5,.lgm-carousel h6 {
    margin: 0 !important; padding: 0 !important; border: none !important;
    letter-spacing: normal !important; text-transform: none !important;
    font-family: inherit !important; line-height: 1.3 !important; color: inherit !important;
}
.lgm-carousel p { margin: 0 !important; padding: 0 !important; color: inherit !important; }
.lgm-carousel span { color: inherit !important; }
.lgm-carousel button { font-family: inherit !important; letter-spacing: normal !important; text-transform: none !important; }

/* ─── CONTAINER ─── */

.lgm-carousel {
    --lgm-width: 100%; --lgm-height: 400px; --lgm-radius: 8px;
    --lgm-items-lg: 4; --lgm-items-md: 2; --lgm-items-sm: 1;
    --lgm-gap-lg: 20px; --lgm-gap-md: 15px; --lgm-gap-sm: 10px;
    --lgm-overlay: rgba(0,0,0,0.45); --lgm-arrow-color: #fff;
    --lgm-dot-color: #fff; --lgm-dot-active: #e85d26;
    --lgm-cat-bg: #e85d26; --lgm-cat-color: #fff; --lgm-title-size: 18px;
    --lgm-panel-spacing: 0px; --lgm-arrows-spacing: 12px; --lgm-dots-spacing: 16px;

    position: relative !important;
    width: var(--lgm-width) !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: var(--lgm-panel-spacing, 0px) !important;
    border: none !important;
    background: transparent !important;
    float: none !important;
    clear: both !important;
    -webkit-user-select: none !important;
    user-select: none !important;
}

/* Inside arrows: overflow hidden on container */
.lgm-carousel.lgm-arrows-inside {
    overflow: hidden !important;
}
/* Outside arrows: need visible overflow + extra padding */
.lgm-carousel.lgm-arrows-outside {
    overflow: visible !important;
}

/* ─── TRACK ─── */

.lgm-carousel .lgm-track-wrapper {
    overflow: hidden !important;
    width: 100% !important;
    position: relative !important;
    padding: 0 !important; margin: 0 !important;
}
.lgm-carousel .lgm-track {
    display: flex !important;
    will-change: transform;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    margin: 0 !important; padding: 0 !important; list-style: none !important;
}
.lgm-carousel .lgm-track.lgm-dragging { transition: none !important; cursor: grabbing !important; }
.lgm-carousel .lgm-track:not(.lgm-dragging) { cursor: grab !important; }

/* ─── SLIDES ─── */

.lgm-carousel .lgm-slide {
    flex: 0 0 auto !important;
    padding: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important;
    list-style: none !important; border: none !important; background: transparent !important;
    float: none !important; min-height: 0 !important;
}

/* ─── CARD ─── */

.lgm-carousel .lgm-card {
    display: flex !important; flex-direction: column !important; position: relative !important;
    height: var(--lgm-height) !important; border-radius: var(--lgm-radius) !important;
    overflow: hidden !important; text-decoration: none !important; color: inherit !important;
    outline: none !important; padding: 0 !important; margin: 0 !important;
    border: none !important; background: transparent !important; transition: none !important;
}
.lgm-carousel .lgm-card:focus-visible { box-shadow: 0 0 0 3px var(--lgm-dot-active) !important; }
.lgm-carousel .lgm-card:hover { text-decoration: none !important; color: inherit !important; }
.lgm-carousel.lgm-shadow .lgm-card { box-shadow: 0 4px 20px rgba(0,0,0,0.25) !important; }

/* ─── IMAGE ─── */

.lgm-carousel .lgm-image-wrap {
    position: absolute !important; inset: 0 !important; overflow: hidden !important;
    padding: 0 !important; margin: 0 !important; border: none !important;
}
.lgm-carousel .lgm-image {
    width: 100% !important; height: 100% !important; object-fit: cover !important;
    display: block !important;
    transition: transform 0.5s ease, filter 0.5s ease, opacity 0.5s ease !important;
    border-radius: 0 !important; border: none !important; outline: none !important;
    box-shadow: none !important; padding: 0 !important; margin: 0 !important;
    max-width: none !important; max-height: none !important; min-width: 0 !important; min-height: 0 !important;
}
.lgm-carousel .lgm-no-image {
    width: 100% !important; height: 100% !important; display: flex !important;
    align-items: center !important; justify-content: center !important;
    background: #2a2a2a !important; color: #666 !important; font-size: 14px !important;
}

/* ─── OVERLAY ─── */

.lgm-carousel .lgm-overlay {
    position: absolute !important; inset: 0 !important;
    background: var(--lgm-overlay) !important;
    transition: opacity 0.4s ease !important;
    pointer-events: none !important; border: none !important; margin: 0 !important; padding: 0 !important;
}

/* ─── HOVER EFFECTS ─── */

.lgm-carousel.lgm-hover-zoom .lgm-card:hover .lgm-image { transform: scale(1.08) !important; }
.lgm-carousel.lgm-hover-zoom-out .lgm-image { transform: scale(1.08) !important; }
.lgm-carousel.lgm-hover-zoom-out .lgm-card:hover .lgm-image { transform: scale(1) !important; }
.lgm-carousel.lgm-hover-brighten .lgm-card:hover .lgm-image { filter: brightness(1.2) !important; }
.lgm-carousel.lgm-hover-darken .lgm-card:hover .lgm-overlay { opacity: 1.5 !important; }
.lgm-carousel.lgm-hover-blur .lgm-card:hover .lgm-image { filter: blur(3px) !important; }
.lgm-carousel.lgm-hover-grayscale .lgm-image { filter: grayscale(0) !important; }
.lgm-carousel.lgm-hover-grayscale .lgm-card:hover .lgm-image { filter: grayscale(1) !important; }
.lgm-carousel.lgm-hover-slide-up .lgm-caption-bottom { transform: translateY(20px) !important; opacity: 0 !important; transition: transform 0.4s ease, opacity 0.4s ease !important; }
.lgm-carousel.lgm-hover-slide-up .lgm-card:hover .lgm-caption-bottom { transform: translateY(0) !important; opacity: 1 !important; }

/* ─── CAPTION ─── */

.lgm-carousel .lgm-caption {
    position: relative !important; z-index: 2 !important; display: flex !important;
    flex-direction: column !important; height: 100% !important; padding: 16px !important;
    pointer-events: none !important; border: none !important; background: transparent !important; margin: 0 !important;
}
.lgm-carousel .lgm-caption > * { pointer-events: auto !important; }

.lgm-carousel.lgm-caption-overlay-bottom .lgm-caption { justify-content: space-between !important; }
.lgm-carousel.lgm-caption-overlay-top .lgm-caption { justify-content: flex-start !important; }
.lgm-carousel.lgm-caption-overlay-top .lgm-caption-bottom { margin-top: 8px !important; }
.lgm-carousel.lgm-caption-overlay-center .lgm-caption { justify-content: center !important; align-items: center !important; text-align: center !important; }

.lgm-carousel.lgm-caption-below .lgm-card { height: auto !important; }
.lgm-carousel.lgm-caption-below .lgm-image-wrap { position: relative !important; height: var(--lgm-height) !important; }
.lgm-carousel.lgm-caption-below .lgm-caption { position: relative !important; padding: 12px 4px !important; }

.lgm-carousel.lgm-caption-above .lgm-card { flex-direction: column-reverse !important; height: auto !important; }
.lgm-carousel.lgm-caption-above .lgm-image-wrap { position: relative !important; height: var(--lgm-height) !important; }
.lgm-carousel.lgm-caption-above .lgm-caption { position: relative !important; padding: 12px 4px !important; }

.lgm-carousel.lgm-caption-left .lgm-card, .lgm-carousel.lgm-caption-right .lgm-card { flex-direction: row !important; height: var(--lgm-height) !important; }
.lgm-carousel.lgm-caption-left .lgm-image-wrap, .lgm-carousel.lgm-caption-right .lgm-image-wrap { position: relative !important; width: 60% !important; flex-shrink: 0 !important; }
.lgm-carousel.lgm-caption-left .lgm-caption, .lgm-carousel.lgm-caption-right .lgm-caption { position: relative !important; width: 40% !important; justify-content: center !important; padding: 16px !important; }
.lgm-carousel.lgm-caption-right .lgm-card { flex-direction: row-reverse !important; }

/* ─── BADGES ─── */

.lgm-carousel .lgm-caption-top { display: flex !important; justify-content: space-between !important; align-items: flex-start !important; gap: 8px !important; margin: 0 !important; padding: 0 !important; }
.lgm-carousel .lgm-badge { display: inline-block !important; padding: 4px 10px !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; border-radius: 3px !important; line-height: 1.3 !important; margin: 0 !important; border: none !important; float: none !important; }
.lgm-carousel .lgm-cat-badge { background: var(--lgm-cat-bg) !important; color: var(--lgm-cat-color) !important; }
.lgm-carousel .lgm-cat-stack { display: flex !important; flex-direction: column !important; gap: 4px !important; align-items: flex-start !important; margin: 0 !important; padding: 0 !important; }
.lgm-carousel .lgm-year-badge { background: rgba(255,255,255,0.15) !important; color: rgba(255,255,255,0.85) !important; }

/* ─── TITLE / EXCERPT ─── */

.lgm-carousel .lgm-caption-bottom { margin-top: auto !important; padding: 0 !important; }
.lgm-carousel .lgm-title { margin: 0 0 4px !important; padding: 0 !important; font-size: var(--lgm-title-size) !important; font-weight: 700 !important; line-height: 1.3 !important; color: inherit !important; border: none !important; text-transform: none !important; letter-spacing: normal !important; }
.lgm-carousel .lgm-excerpt { margin: 4px 0 0 !important; padding: 0 !important; font-size: 13px !important; line-height: 1.5 !important; opacity: 0.85 !important; color: inherit !important; }
.lgm-carousel .lgm-read-more { display: inline-block !important; margin-top: 8px !important; font-size: 13px !important; font-weight: 600 !important; }

/* ─── CARD STYLE ─── */

.lgm-carousel.lgm-style-dark .lgm-caption,
.lgm-carousel.lgm-style-dark .lgm-caption a,
.lgm-carousel.lgm-style-dark .lgm-caption span,
.lgm-carousel.lgm-style-dark .lgm-caption h3,
.lgm-carousel.lgm-style-dark .lgm-caption p { color: #ffffff !important; }

.lgm-carousel.lgm-style-light .lgm-caption,
.lgm-carousel.lgm-style-light .lgm-caption a,
.lgm-carousel.lgm-style-light .lgm-caption span,
.lgm-carousel.lgm-style-light .lgm-caption h3,
.lgm-carousel.lgm-style-light .lgm-caption p { color: #1a1a1a !important; }
.lgm-carousel.lgm-style-light .lgm-year-badge { background: rgba(0,0,0,0.1) !important; color: rgba(0,0,0,0.7) !important; }

/* ═══════════════════════════════════════════
   ARROWS — Always visible, with position control
   ═══════════════════════════════════════════ */

.lgm-carousel .lgm-arrow {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    width: 40px !important; height: 40px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    background: rgba(0,0,0,0.5) !important;
    border: none !important; border-radius: 50% !important;
    color: var(--lgm-arrow-color) !important;
    cursor: pointer !important;
    transition: background 0.25s ease !important;
    opacity: 1 !important;
    visibility: visible !important;
    backdrop-filter: blur(4px) !important; -webkit-backdrop-filter: blur(4px) !important;
    padding: 0 !important; margin: 0 !important; outline: none !important; box-shadow: none !important;
    min-width: 0 !important; min-height: 0 !important; line-height: 1 !important;
    text-shadow: none !important; float: none !important;
    font-size: 0 !important;
}
.lgm-carousel .lgm-arrow:hover {
    background: rgba(0,0,0,0.75) !important;
    color: var(--lgm-arrow-color) !important;
    border: none !important; outline: none !important;
}
.lgm-carousel .lgm-arrow:focus-visible { box-shadow: 0 0 0 3px var(--lgm-dot-active) !important; }
.lgm-carousel .lgm-arrow svg { width: 20px !important; height: 20px !important; fill: none !important; stroke: currentColor !important; stroke-width: 2 !important; display: block !important; }

/* Inside positioning */
.lgm-carousel.lgm-arrows-inside .lgm-prev { left: var(--lgm-arrows-spacing) !important; right: auto !important; }
.lgm-carousel.lgm-arrows-inside .lgm-next { right: var(--lgm-arrows-spacing) !important; left: auto !important; }

/* Outside positioning */
.lgm-carousel.lgm-arrows-outside .lgm-prev { left: calc(-40px - var(--lgm-arrows-spacing)) !important; right: auto !important; }
.lgm-carousel.lgm-arrows-outside .lgm-next { right: calc(-40px - var(--lgm-arrows-spacing)) !important; left: auto !important; }

/* ═══════════════════════════════════════════
   DOTS — Always visible, with position control
   ═══════════════════════════════════════════ */

.lgm-carousel .lgm-dots {
    display: flex !important; justify-content: center !important; gap: 8px !important;
    margin: 0 !important; border: none !important; background: transparent !important; list-style: none !important;
    z-index: 10 !important;
}

/* Inside: absolute positioned at bottom of carousel */
.lgm-carousel.lgm-dots-inside .lgm-dots {
    position: absolute !important;
    bottom: var(--lgm-dots-spacing) !important;
    left: 0 !important; right: 0 !important;
    padding: 0 !important;
}

/* Outside: below the carousel */
.lgm-carousel.lgm-dots-outside .lgm-dots {
    position: relative !important;
    padding-top: var(--lgm-dots-spacing) !important;
    padding-bottom: 4px !important;
}

.lgm-carousel .lgm-dot {
    width: 10px !important; height: 10px !important;
    border-radius: 50% !important; border: none !important;
    background: var(--lgm-dot-color) !important;
    opacity: 0.4 !important;
    cursor: pointer !important;
    transition: opacity 0.25s ease, transform 0.25s ease, background 0.25s ease !important;
    padding: 0 !important; margin: 0 !important; outline: none !important; box-shadow: none !important;
    min-width: 0 !important; min-height: 0 !important; line-height: 0 !important; font-size: 0 !important; float: none !important;
    visibility: visible !important;
    display: block !important;
}
.lgm-carousel .lgm-dot:hover { opacity: 0.7 !important; }
.lgm-carousel .lgm-dot.active { background: var(--lgm-dot-active) !important; opacity: 1 !important; transform: scale(1.2) !important; }

/* ─── RESPONSIVE ─── */

@media (min-width: 1024px) {
    .lgm-carousel .lgm-slide { width: calc((100% - (var(--lgm-gap-lg) * (var(--lgm-items-lg) - 1))) / var(--lgm-items-lg)) !important; margin-right: var(--lgm-gap-lg) !important; }
}
@media (min-width: 768px) and (max-width: 1023px) {
    .lgm-carousel .lgm-slide { width: calc((100% - (var(--lgm-gap-md) * (var(--lgm-items-md) - 1))) / var(--lgm-items-md)) !important; margin-right: var(--lgm-gap-md) !important; }
}
@media (max-width: 767px) {
    .lgm-carousel .lgm-slide { width: calc((100% - (var(--lgm-gap-sm) * (var(--lgm-items-sm) - 1))) / var(--lgm-items-sm)) !important; margin-right: var(--lgm-gap-sm) !important; }
    .lgm-carousel .lgm-arrow { width: 34px !important; height: 34px !important; }
    .lgm-carousel .lgm-arrow svg { width: 16px !important; height: 16px !important; }
    /* On mobile, force arrows inside if outside */
    .lgm-carousel.lgm-arrows-outside .lgm-prev { left: 8px !important; }
    .lgm-carousel.lgm-arrows-outside .lgm-next { right: 8px !important; }
}

/* ─── RTL ─── */

.lgm-carousel[dir="rtl"] .lgm-track { direction: rtl !important; }
.lgm-carousel[dir="rtl"] .lgm-slide { margin-right: 0 !important; margin-left: var(--lgm-gap-lg) !important; }
@media (min-width: 768px) and (max-width: 1023px) { .lgm-carousel[dir="rtl"] .lgm-slide { margin-left: var(--lgm-gap-md) !important; } }
@media (max-width: 767px) { .lgm-carousel[dir="rtl"] .lgm-slide { margin-left: var(--lgm-gap-sm) !important; } }

/* ─── NO POSTS ─── */

.lgm-carousel .lgm-no-posts { text-align: center !important; padding: 40px 20px !important; opacity: 0.6 !important; font-style: italic !important; }
