/* Enhanced Slide Layer Interactions */
.burdpress-carousel.burdpress-carousel-enhanced .burdpress-slide-layer {
    position: relative;
    cursor: pointer;
    transition: all 0.3s ease;
}

.burdpress-carousel.burdpress-carousel-enhanced .burdpress-slide-layer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 2px solid transparent;
    pointer-events: none;
    transition: all 0.3s ease;
    z-index: 10;
}

.burdpress-carousel.burdpress-carousel-enhanced .burdpress-slide-hover::before {
    border-color: rgba(0, 123, 255, 0.5);
    box-shadow: 0 0 10px rgba(0, 123, 255, 0.3);
}

.burdpress-carousel.burdpress-carousel-enhanced .burdpress-slide-layer-active::before {
    border-color: #007bff;
    box-shadow: 0 0 15px rgba(0, 123, 255, 0.5);
}

.burdpress-carousel.burdpress-carousel-enhanced .burdpress-slide-layer-active::after {
    content: attr(data-slide-layer);
    position: absolute;
    top: 10px;
    right: 10px;
    background: #007bff;
    color: white;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: bold;
    z-index: 11;
    pointer-events: none;
}

/* Layer selection indicators only in editor */
.elementor-editor-active .burdpress-carousel.burdpress-carousel-enhanced .burdpress-slide-layer {
    outline: 1px dashed rgba(0, 123, 255, 0.3);
    outline-offset: -1px;
}

.elementor-editor-active .burdpress-carousel.burdpress-carousel-enhanced .burdpress-slide-layer:hover {
    outline-color: rgba(0, 123, 255, 0.6);
}

/* Enhanced Navigation Arrows */
.burdpress-carousel-arrow.square {
    border-radius: 0;
}

.burdpress-carousel-arrow.edge-cap {
    position: absolute;
    top: 0;
    height: 100%;
    width: 60px;
    border-radius: 0;
    background-color: rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(10px);
    transform: none;
}

.burdpress-carousel-arrow.edge-cap:hover {
    background-color: rgba(0, 0, 0, 0.4);
}

.burdpress-carousel-prev.edge-cap {
    left: 0;
}

.burdpress-carousel-next.edge-cap {
    right: 0;
}

.burdpress-carousel-arrow.edge-cap::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    background: rgba(255, 255, 255, 0.1);
}

.burdpress-carousel-prev.edge-cap::before {
    right: 0;
}

.burdpress-carousel-next.edge-cap::before {
    left: 0;
}

/* Enhanced Dots Styles */
/* Simple dots - no additional styling needed, let Elementor controls work */

/* Tapered Dots */
.burdpress-carousel-dots.tapered {
    display: flex;
    align-items: center;
    justify-content: center;
}

.burdpress-carousel-dots.tapered .burdpress-carousel-dot {
    transition: all 0.3s ease, transform 0.3s ease;
    transform: scale(0.8);
    opacity: 0.3;
}

.burdpress-carousel-dots.tapered .burdpress-carousel-dot.active {
    transform: scale(1);
    opacity: 1;
}

/* Adjacent dots */
.burdpress-carousel-dots.tapered .burdpress-carousel-dot.active + .burdpress-carousel-dot,
.burdpress-carousel-dots.tapered .burdpress-carousel-dot:has(+ .active) {
    transform: scale(0.9);
    opacity: 0.6;
}

/* Two dots away */
.burdpress-carousel-dots.tapered .burdpress-carousel-dot.active + .burdpress-carousel-dot + .burdpress-carousel-dot,
.burdpress-carousel-dots.tapered .burdpress-carousel-dot:has(+ .burdpress-carousel-dot + .active) {
    transform: scale(0.8);
    opacity: 0.4;
}

/* Override for simple dots style - remove any transform scaling */
.burdpress-carousel-dots.simple .burdpress-carousel-dot {
    transform: none !important;
    opacity: 1;
}

.burdpress-carousel-dots.simple .burdpress-carousel-dot.active {
    transform: none !important;
}

/* Lines Style Dots */
.burdpress-carousel-dots.lines .burdpress-carousel-dot {
    /* Size controlled by Elementor - just modify border radius */
    border-radius: 2px;
}

.burdpress-carousel-dots.lines .burdpress-carousel-dot.active {
    /* Let Elementor control the size, just remove transform */
    transform: none;
}

/* Content positioning adjustments */
.burdpress-carousel-slide[style*="flex-start"] .burdpress-carousel-content {
    margin: 0;
}

/* Gradient overlay support */
.burdpress-carousel[data-overlay-type="gradient"] .burdpress-carousel-slide-overlay {
    background-color: transparent !important;
}

/* Enhanced button styles */
.burdpress-carousel-link {
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.burdpress-carousel-link::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.1);
    transition: left 0.3s ease;
}

.burdpress-carousel-link:hover::before {
    left: 0;
}

/* CTA Button Base Styles */
.burdpress-slide-cta,
.burdpress-cta-button {
    display: inline-block;
    padding: 12px 24px;
    background-color: #007bff;
    color: #ffffff;
    text-decoration: none;
    border-radius: 6px;
    font-weight: 500;
    transition: all 0.3s ease;
    cursor: pointer;
    border: none;
    font-family: inherit;
    font-size: inherit;
    line-height: 1.5;
    text-align: center;
    vertical-align: middle;
    outline: none;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    /* Default box shadow that matches Elementor control default */
    box-shadow: none;
}

.burdpress-slide-cta:hover,
.burdpress-cta-button:hover {
    background-color: #0056b3;
    color: #ffffff;
    text-decoration: none;
    transform: translateY(-2px);
    /* Default hover box shadow that matches Elementor control default */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.burdpress-slide-cta:active,
.burdpress-cta-button:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.burdpress-slide-cta:focus,
.burdpress-cta-button:focus {
    outline: 2px solid rgba(0, 123, 255, 0.5);
    outline-offset: 2px;
}

/* CTA Image Overlay */
.burdpress-carousel-cta-image {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 40%;
    height: 80%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center right;
    z-index: 1;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .burdpress-carousel-arrow.edge-cap {
        width: 40px;
    }
    
    .burdpress-carousel-cta-image {
        width: 30%;
        height: 60%;
    }
    
    /* Adjust content offset for mobile */
    .burdpress-carousel-content {
        transform: translateX(0) !important;
    }
}

/* Smooth transition for content position selector */
.burdpress-carousel-slide {
    transition: align-items 0.3s ease, justify-content 0.3s ease;
}

/* Better gradient overlay defaults */
.burdpress-carousel-slide-overlay[style*="gradient"] {
    opacity: 1;
}

/* Enhanced Ken Burns with different directions */
@keyframes kenburns-zoom-out {
    0% {
        transform: scale(1.2) translate(-5%, -5%);
    }
    100% {
        transform: scale(1) translate(0, 0);
    }
}

@keyframes kenburns-pan-left {
    0% {
        transform: scale(1.1) translate(5%, 0);
    }
    100% {
        transform: scale(1.1) translate(-5%, 0);
    }
}

@keyframes kenburns-pan-right {
    0% {
        transform: scale(1.1) translate(-5%, 0);
    }
    100% {
        transform: scale(1.1) translate(5%, 0);
    }
}

/* Apply different Ken Burns variations */
.burdpress-carousel[data-ken-burns="yes"] .burdpress-carousel-slide:nth-child(even).active .burdpress-carousel-slide-background {
    animation-name: kenburns-zoom-out;
}

.burdpress-carousel[data-ken-burns="yes"] .burdpress-carousel-slide:nth-child(3n).active .burdpress-carousel-slide-background {
    animation-name: kenburns-pan-left;
}

.burdpress-carousel[data-ken-burns="yes"] .burdpress-carousel-slide:nth-child(4n).active .burdpress-carousel-slide-background {
    animation-name: kenburns-pan-right;
}

/* ============================================
 * ENHANCED NESTED CAROUSEL STYLES
 * ============================================ */

/* Enhanced Carousel Container */
.burdpress-carousel-enhanced-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
}

.burdpress-carousel-enhanced {
    position: relative;
    width: 100%;
    height: 500px;
    overflow: hidden;
    border-radius: 0; /* Default to no border radius - controlled by Elementor */
}

/* Cube Effect Fixes */
.burdpress-carousel-enhanced .swiper-container-cube .swiper-slide {
    visibility: hidden;
}

.burdpress-carousel-enhanced .swiper-container-cube .swiper-slide-active,
.burdpress-carousel-enhanced .swiper-container-cube .swiper-slide-next,
.burdpress-carousel-enhanced .swiper-container-cube .swiper-slide-prev {
    visibility: visible;
}

.burdpress-carousel-enhanced .swiper-container-cube .swiper-cube-shadow {
    background: rgba(0, 0, 0, 0.6);
}

/* Improved cube slide positioning */
.burdpress-carousel-enhanced[data-effect="cube"] .swiper-slide {
    backface-visibility: hidden;
    transform-style: preserve-3d;
}

/* Fade Effect Fixes - Override Swiper's default stacking */
.burdpress-carousel-enhanced .swiper-container-fade .swiper-slide {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
}

.burdpress-carousel-enhanced .swiper-container-fade .swiper-slide-active {
    visibility: visible;
    opacity: 1;
    z-index: 2;
}

/* Swiper overrides for multiple slides */
.burdpress-carousel-enhanced.swiper {
    width: 100%;
    height: 100%;
}

.burdpress-carousel-enhanced .swiper-wrapper {
    display: flex;
    align-items: stretch;
}

.burdpress-carousel-enhanced .swiper-slide {
    height: auto;
    flex-shrink: 0;
    box-sizing: border-box;
}

/* Simplified Slides Container */
.burdpress-slides-container {
    position: relative;
    width: 100%;
    height: 100%;
}

.burdpress-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    z-index: 1;
}

.burdpress-slide.active {
    opacity: 1;
    z-index: 2;
}

/* Swiper Overrides */
.burdpress-carousel-enhanced .swiper-wrapper {
    height: 100%;
}

.burdpress-carousel-enhanced .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    position: relative;
}

/* Individual Slide Styles */
.burdpress-carousel-slide-item {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: inherit;
}

.burdpress-slide-inner {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Background Styles */
.burdpress-slide-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.burdpress-slide-image,
.burdpress-slide-color-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transition: transform 0.3s ease;
}

/* Ken Burns Effects for Nested Slides */
.ken-burns-zoom-in .burdpress-slide-image {
    animation: kenBurnsZoomIn 10s ease-in-out infinite alternate;
}

.ken-burns-zoom-out .burdpress-slide-image {
    animation: kenBurnsZoomOut 10s ease-in-out infinite alternate;
}

.ken-burns-zoom-in-left .burdpress-slide-image {
    animation: kenBurnsZoomInLeft 10s ease-in-out infinite alternate;
}

.ken-burns-zoom-in-right .burdpress-slide-image {
    animation: kenBurnsZoomInRight 10s ease-in-out infinite alternate;
}

@keyframes kenBurnsZoomIn {
    0% { transform: scale(1); }
    100% { transform: scale(1.1); }
}

@keyframes kenBurnsZoomOut {
    0% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

@keyframes kenBurnsZoomInLeft {
    0% { transform: scale(1) translateX(0); }
    100% { transform: scale(1.1) translateX(-20px); }
}

@keyframes kenBurnsZoomInRight {
    0% { transform: scale(1) translateX(0); }
    100% { transform: scale(1.1) translateX(20px); }
}

/* Overlay Styles */
.burdpress-slide-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background: rgba(0, 0, 0, 0.3);
}

/* Content Styles */
.burdpress-slide-content {
    position: relative;
    z-index: 3;
    text-align: center;
    color: white;
    padding: 40px;
    max-width: 800px;
    width: 100%;
}

.burdpress-slide-title {
    font-weight: 700;
    margin: 0;
    line-height: 1.2;
}

.burdpress-slide-subtitle {
    font-weight: 400;
    margin: 0;
    line-height: 1.5;
    opacity: 0.9;
}

.burdpress-slide-link {
    display: inline-block;
    padding: 12px 24px;
    background: rgba(255, 255, 255, 0.2);
    color: white;
    text-decoration: none;
    border-radius: 6px;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.burdpress-slide-link:hover {
    background: rgba(255, 255, 255, 0.3);
    color: white;
    text-decoration: none;
    transform: translateY(-2px);
}

/* CTA Button Styles */
.burdpress-slide-cta,
.burdpress-cta-button {
    display: inline-block;
    padding: 12px 24px;
    background: #007bff;
    color: white;
    text-decoration: none;
    border-radius: 6px;
    transition: all 0.3s ease;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.4;
    border: none;
    cursor: pointer;
    margin-top: 1rem;
}

.burdpress-slide-cta:hover,
.burdpress-cta-button:hover {
    background: var(--cta-hover-bg-color, #0056b3);
    color: var(--cta-hover-text-color, white);
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 123, 255, 0.3);
}

/* CTA Button inherits global content positioning and justification */
.burdpress-carousel-enhanced .burdpress-slide-content .burdpress-slide-cta,
.burdpress-carousel-enhanced .burdpress-slide-content .burdpress-cta-button {
    /* Inherit text alignment from parent content container */
    display: inline-block;
    /* Make sure button transforms don't interfere with global content positioning */
    position: relative;
}

/* Make CTA button respect global text alignment */
.burdpress-carousel-enhanced .burdpress-slide-content {
    /* Content inherits alignment from style controls */
}

.burdpress-carousel-enhanced .burdpress-slide-content .burdpress-slide-cta:hover,
.burdpress-carousel-enhanced .burdpress-slide-content .burdpress-cta-button:hover {
    /* Maintain global positioning on hover by combining with parent transform */
    transform: translateY(-2px);
    /* Ensure button follows parent content container positioning */
    position: relative;
}

/* Enhanced Navigation Styles for Nested Carousel */
.burdpress-carousel-enhanced .burdpress-carousel-arrow {
    position: absolute;
    top: 50%;
    width: 50px;
    height: 50px;
    margin-top: -25px;
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    z-index: 10;
}

.burdpress-carousel-enhanced .burdpress-carousel-prev {
    left: 20px;
}

.burdpress-carousel-enhanced .burdpress-carousel-next {
    right: 20px;
}

.burdpress-carousel-enhanced .burdpress-carousel-arrow:hover {
    background: rgba(0, 0, 0, 0.7);
    transform: translateY(-50%) scale(1.1);
}

/* Legacy Swiper Navigation Styles */
.burdpress-carousel-enhanced .swiper-button-next,
.burdpress-carousel-enhanced .swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 50px;
    height: 50px;
    margin-top: -25px;
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border-radius: 50%;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
}

.burdpress-carousel-enhanced .swiper-button-next:after,
.burdpress-carousel-enhanced .swiper-button-prev:after {
    font-family: 'eicons';
    font-size: 20px;
    font-weight: 900;
}

.burdpress-carousel-enhanced .swiper-button-prev:after {
    content: '\e87e';
}

.burdpress-carousel-enhanced .swiper-button-next:after {
    content: '\e87d';
}

.burdpress-carousel-enhanced .swiper-button-next:hover,
.burdpress-carousel-enhanced .swiper-button-prev:hover {
    background: rgba(0, 0, 0, 0.7);
    transform: scale(1.1);
}

/* Pagination Styles for Nested Carousel */
.burdpress-carousel-enhanced .burdpress-carousel-dots {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 10;
}

.burdpress-carousel-enhanced .burdpress-carousel-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.4);
    cursor: pointer;
    transition: all 0.3s ease;
}

.burdpress-carousel-enhanced .burdpress-carousel-dot.active {
    background: white;
    transform: scale(1.2);
}

.burdpress-carousel-enhanced .burdpress-carousel-dot:hover {
    background: rgba(255, 255, 255, 0.8);
}

/* Enhanced Swiper Pagination Styles */
.burdpress-carousel-enhanced .swiper-pagination {
    bottom: 20px;
    text-align: center;
    z-index: 10;
    position: absolute;
    width: 100%;
}

.burdpress-carousel-enhanced .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background: rgba(255, 255, 255, 0.4);
    opacity: 1;
    margin: 0 4px;
    transition: all 0.3s ease;
    cursor: pointer;
    border-radius: 50%;
    display: inline-block;
    border: none;
    outline: none;
}

.burdpress-carousel-enhanced .swiper-pagination-bullet-active {
    background: white;
    transform: scale(1.2);
}

.burdpress-carousel-enhanced .swiper-pagination-bullet:hover {
    background: rgba(255, 255, 255, 0.8);
    transform: scale(1.1);
}

.burdpress-carousel-enhanced .swiper-pagination-bullet:focus {
    outline: 2px solid rgba(255, 255, 255, 0.8);
    outline-offset: 2px;
}

/* Ensure bullets are clickable and accessible */
.burdpress-carousel-enhanced .swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer;
}

.burdpress-carousel-enhanced .swiper-pagination-bullet-active:hover {
    transform: scale(1.2);
}

/* Editor-specific styles for nested carousel */
.elementor-editor-active .burdpress-carousel-enhanced {
    pointer-events: none;
}

.elementor-editor-active .burdpress-carousel-enhanced .swiper-slide {
    pointer-events: auto;
}

/* Layer Indicators for Editor */
.burdpress-layer-indicator {
    position: absolute;
    top: 5px;
    left: 5px;
    background: rgba(0, 123, 255, 0.9);
    color: white;
    padding: 4px 8px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: bold;
    z-index: 1000;
    cursor: pointer;
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

.burdpress-layer-indicator:hover {
    opacity: 1;
}

/* Slide Selection Highlight */
.burdpress-slide-selected {
    outline: 2px solid #007bff;
    outline-offset: -2px;
}

/* Loading States */
.burdpress-carousel-enhanced.loading {
    opacity: 0.7;
}

.burdpress-carousel-enhanced.loading:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    z-index: 999;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Responsive Design for Nested Carousel */
@media (max-width: 768px) {
    .burdpress-slide-content {
        padding: 20px;
    }
    
    /* Font size controlled by Elementor typography controls */
    
    /* Font size controlled by Elementor typography controls */
    
    .burdpress-carousel-enhanced .swiper-button-next,
    .burdpress-carousel-enhanced .swiper-button-prev {
        width: 40px;
        height: 40px;
        margin-top: -20px;
    }
    
    .burdpress-carousel-enhanced .swiper-button-next:after,
    .burdpress-carousel-enhanced .swiper-button-prev:after {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .burdpress-slide-content {
        padding: 15px;
    }
    
    /* Title spacing controlled by Elementor controls */
    
    /* Subtitle spacing controlled by Elementor controls */
    
    .burdpress-slide-link {
        padding: 10px 20px;
        font-size: 0.9rem;
    }
    
    .burdpress-carousel-enhanced .swiper-pagination {
        bottom: 10px;
    }
    
    .burdpress-carousel-enhanced .swiper-pagination-bullet {
        width: 10px;
        height: 10px;
        margin: 0 3px;
    }
}

/* Accessibility Improvements */
.burdpress-carousel-enhanced .swiper-button-next:focus,
.burdpress-carousel-enhanced .swiper-button-prev:focus {
    outline: 2px solid #007bff;
    outline-offset: 2px;
}

.burdpress-carousel-enhanced .swiper-pagination-bullet:focus {
    outline: 2px solid #007bff;
    outline-offset: 2px;
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
    .burdpress-slide-image,
    .burdpress-slide-link,
    .animated {
        animation: none !important;
        transition: none !important;
    }
}

/* ============================================
 * ENHANCED DESIGN TEMPLATES - MODERN OVERLAYS
 * ============================================ */

/* Template Overlay Base */
.burdpress-template-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 1;
    overflow: hidden;
}

/* Template-specific overlays with distinct visual identity */

/* 🔮 Glassmorphism Overlay - Premium Glass Effect */
.burdpress-overlay-glassmorphism {
    background: linear-gradient(135deg, 
        rgba(59, 130, 246, 0.2) 0%, 
        rgba(147, 197, 253, 0.1) 25%,
        transparent 50%, 
        rgba(59, 130, 246, 0.15) 75%,
        rgba(147, 197, 253, 0.25) 100%);
    backdrop-filter: blur(8px) saturate(1.5);
    -webkit-backdrop-filter: blur(8px) saturate(1.5);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.burdpress-overlay-glassmorphism::before {
    content: '';
    position: absolute;
    top: -20%;
    right: -20%;
    width: 60%;
    height: 80%;
    background: radial-gradient(ellipse at center, 
        rgba(255, 255, 255, 0.15) 0%, 
        rgba(59, 130, 246, 0.08) 40%,
        transparent 70%);
    border-radius: 50%;
    transform: rotate(-15deg);
    animation: glassmorphFloat 8s ease-in-out infinite;
}

.burdpress-overlay-glassmorphism::after {
    content: '';
    position: absolute;
    bottom: -30%;
    left: -15%;
    width: 50%;
    height: 60%;
    background: radial-gradient(circle, 
        rgba(147, 197, 253, 0.2) 0%, 
        rgba(59, 130, 246, 0.1) 50%,
        transparent 80%);
    border-radius: 50%;
    animation: glassmorphFloat 6s ease-in-out infinite reverse;
}

@keyframes glassmorphFloat {
    0%, 100% { transform: rotate(-15deg) translateY(0px) scale(1); }
    50% { transform: rotate(-15deg) translateY(-15px) scale(1.05); }
}

/* 🎯 Neumorphism Overlay - Soft Depth & Light */
.burdpress-overlay-neumorphism {
    background: linear-gradient(145deg, 
        rgba(255, 255, 255, 0.15) 0%, 
        rgba(240, 240, 240, 0.08) 25%,
        rgba(0, 0, 0, 0.03) 50%, 
        rgba(255, 255, 255, 0.1) 75%,
        rgba(240, 240, 240, 0.12) 100%);
    box-shadow: 
        inset 0 1px 0 rgba(255, 255, 255, 0.2),
        inset 0 -1px 0 rgba(0, 0, 0, 0.1);
}

.burdpress-overlay-neumorphism::before {
    content: '';
    position: absolute;
    top: 10%;
    left: -20%;
    width: 60%;
    height: 60%;
    background: radial-gradient(circle, 
        rgba(255, 255, 255, 0.15) 0%, 
        rgba(255, 255, 255, 0.05) 30%, 
        transparent 70%);
    border-radius: 50%;
    animation: softGlow 8s ease-in-out infinite;
}

.burdpress-overlay-neumorphism::after {
    content: '';
    position: absolute;
    bottom: 10%;
    right: -20%;
    width: 70%;
    height: 50%;
    background: radial-gradient(ellipse, 
        rgba(0, 0, 0, 0.08) 0%, 
        rgba(0, 0, 0, 0.02) 40%, 
        transparent 70%);
    border-radius: 50%;
    animation: softGlow 8s ease-in-out infinite reverse;
}

@keyframes softGlow {
    0%, 100% { opacity: 0.6; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.1); }
}

/* 🌙 Dark Mode Overlay - Sophisticated Dark Elegance */
.burdpress-overlay-dark_mode {
    background: linear-gradient(135deg, 
        rgba(16, 16, 16, 0.3) 0%, 
        rgba(32, 32, 32, 0.2) 25%,
        transparent 50%, 
        rgba(64, 64, 64, 0.15) 75%,
        rgba(16, 16, 16, 0.25) 100%);
    box-shadow: inset 0 0 50px rgba(0, 0, 0, 0.2);
}

.burdpress-overlay-dark_mode::before {
    content: '';
    position: absolute;
    top: 20%;
    right: 20%;
    width: 100px;
    height: 100px;
    background: radial-gradient(circle, 
        rgba(255, 255, 255, 0.1) 0%, 
        rgba(255, 255, 255, 0.05) 30%,
        transparent 70%);
    border-radius: 50%;
    animation: darkModeGlow 12s ease-in-out infinite;
}

.burdpress-overlay-dark_mode::after {
    content: '';
    position: absolute;
    bottom: 30%;
    left: 15%;
    width: 80px;
    height: 80px;
    background: radial-gradient(circle, 
        rgba(128, 128, 128, 0.08) 0%, 
        rgba(64, 64, 64, 0.04) 40%,
        transparent 70%);
    border-radius: 50%;
    animation: darkModeGlow 8s ease-in-out infinite reverse;
}

@keyframes darkModeGlow {
    0%, 100% { opacity: 0.6; transform: scale(1) rotate(0deg); }
    50% { opacity: 1; transform: scale(1.2) rotate(10deg); }
}

/* ⚡ Neon Glow Overlay - Vibrant Electric Energy */
.burdpress-overlay-neon_glow {
    background: 
        radial-gradient(circle at 25% 25%, 
            rgba(0, 255, 255, 0.15) 0%, 
            transparent 50%), 
        radial-gradient(circle at 75% 75%, 
            rgba(255, 0, 255, 0.12) 0%, 
            transparent 45%),
        linear-gradient(45deg, 
            rgba(0, 255, 255, 0.05) 0%,
            transparent 30%,
            rgba(255, 0, 255, 0.08) 70%,
            transparent 100%);
    box-shadow: 
        0 0 30px rgba(0, 255, 255, 0.1),
        0 0 60px rgba(255, 0, 255, 0.08);
}

.burdpress-overlay-neon_glow::before {
    content: '';
    position: absolute;
    top: 30%;
    left: 20%;
    width: 3px;
    height: 40%;
    background: linear-gradient(180deg, 
        transparent 0%, 
        rgba(0, 255, 255, 0.8) 20%, 
        rgba(0, 255, 255, 0.4) 50%, 
        rgba(255, 0, 255, 0.6) 80%,
        transparent 100%);
    box-shadow: 
        0 0 15px rgba(0, 255, 255, 0.5),
        0 0 30px rgba(0, 255, 255, 0.3);
    animation: neonPulse 2s ease-in-out infinite;
}

.burdpress-overlay-neon_glow::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 25%;
    width: 2px;
    height: 30%;
    background: linear-gradient(180deg, 
        transparent 0%, 
        rgba(255, 0, 255, 0.9) 30%, 
        rgba(255, 0, 255, 0.5) 60%,
        rgba(0, 255, 255, 0.7) 90%,
        transparent 100%);
    box-shadow: 
        0 0 12px rgba(255, 0, 255, 0.4),
        0 0 25px rgba(255, 0, 255, 0.2);
    animation: neonPulse 2.5s ease-in-out infinite reverse;
}

@keyframes neonPulse {
    0%, 100% { opacity: 0.6; transform: scaleY(0.9); }
    50% { opacity: 1; transform: scaleY(1.1); }
}

/* ✨ Minimal Clean Overlay - Pure Modern Elegance */
.burdpress-overlay-minimal_clean {
    background: linear-gradient(135deg, 
        rgba(255, 255, 255, 0.05) 0%, 
        rgba(250, 250, 250, 0.02) 25%,
        transparent 50%, 
        rgba(255, 255, 255, 0.03) 75%,
        rgba(248, 248, 248, 0.06) 100%);
}

.burdpress-overlay-minimal_clean::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 80% 20%, 
            rgba(255, 255, 255, 0.1) 0%, 
            transparent 40%),
        radial-gradient(circle at 20% 80%, 
            rgba(255, 255, 255, 0.08) 0%, 
            transparent 35%);
}

.burdpress-overlay-minimal_clean::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1px;
    height: 60%;
    background: linear-gradient(180deg,
        transparent 0%,
        rgba(255, 255, 255, 0.15) 20%,
        rgba(255, 255, 255, 0.08) 50%,
        rgba(255, 255, 255, 0.15) 80%,
        transparent 100%);
    transform: translate(-50%, -50%) rotate(25deg);
    animation: minimalShimmer 6s ease-in-out infinite;
}

@keyframes minimalShimmer {
    0%, 100% { opacity: 0.4; transform: translate(-50%, -50%) rotate(25deg) scaleY(0.8); }
    50% { opacity: 0.8; transform: translate(-50%, -50%) rotate(25deg) scaleY(1.2); }
}

/* 🌊 Liquid Metal Overlay - Premium Chrome Effect */
.burdpress-overlay-liquid_metal {
    background: 
        linear-gradient(135deg,
            rgba(192, 192, 192, 0.2) 0%,
            rgba(255, 255, 255, 0.15) 25%,
            rgba(169, 169, 169, 0.1) 50%,
            rgba(211, 211, 211, 0.18) 75%,
            rgba(192, 192, 192, 0.12) 100%),
        radial-gradient(ellipse at 30% 20%, 
            rgba(255, 255, 255, 0.2) 0%, 
            transparent 60%), 
        radial-gradient(ellipse at 70% 80%, 
            rgba(192, 192, 192, 0.15) 0%, 
            transparent 50%);
    box-shadow: 
        inset 0 1px 0 rgba(255, 255, 255, 0.4),
        inset 0 -1px 0 rgba(0, 0, 0, 0.1);
}

.burdpress-overlay-liquid_metal::before {
    content: '';
    position: absolute;
    top: 30%;
    left: 60%;
    width: 120px;
    height: 40px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(255, 255, 255, 0.3) 20%, 
        rgba(255, 255, 255, 0.6) 50%, 
        rgba(255, 255, 255, 0.3) 80%, 
        transparent 100%);
    border-radius: 20px;
    transform: rotate(-25deg);
    animation: metalShine 8s ease-in-out infinite;
}

.burdpress-overlay-liquid_metal::after {
    content: '';
    position: absolute;
    bottom: 40%;
    left: 20%;
    width: 80px;
    height: 25px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(192, 192, 192, 0.4) 25%, 
        rgba(255, 255, 255, 0.5) 50%, 
        rgba(211, 211, 211, 0.3) 75%, 
        transparent 100%);
    border-radius: 15px;
    transform: rotate(15deg);
    animation: metalShine 10s ease-in-out infinite reverse;
}

@keyframes metalShine {
    0%, 100% { 
        opacity: 0.4; 
        transform: rotate(-25deg) translateX(-20px) scaleX(0.8); 
    }
    50% { 
        opacity: 1; 
        transform: rotate(-25deg) translateX(20px) scaleX(1.2); 
    }
}

/* 🌅 Hero Gradient Overlay - Inspired by Modern Design */
.burdpress-overlay-hero_gradient {
    background: linear-gradient(135deg,
        rgba(255, 154, 0, 0.2) 0%,
        rgba(255, 119, 48, 0.15) 25%,
        rgba(255, 94, 77, 0.12) 50%,
        rgba(255, 64, 129, 0.1) 75%,
        rgba(245, 0, 87, 0.08) 100%);
    backdrop-filter: saturate(1.8) contrast(1.2);
    -webkit-backdrop-filter: saturate(1.8) contrast(1.2);
}

.burdpress-overlay-hero_gradient::before {
    content: '';
    position: absolute;
    top: -30%;
    right: -20%;
    width: 80%;
    height: 120%;
    background: radial-gradient(ellipse at center,
        rgba(255, 193, 7, 0.15) 0%,
        rgba(255, 152, 0, 0.08) 40%,
        transparent 70%);
    animation: heroGlow 10s ease-in-out infinite;
}

.burdpress-overlay-hero_gradient::after {
    content: '';
    position: absolute;
    bottom: -20%;
    left: -10%;
    width: 60%;
    height: 80%;
    background: radial-gradient(ellipse at center,
        rgba(255, 87, 34, 0.12) 0%,
        rgba(255, 64, 129, 0.06) 50%,
        transparent 70%);
    animation: heroGlow 8s ease-in-out infinite reverse;
}

@keyframes heroGlow {
    0%, 100% { 
        opacity: 0.6; 
        transform: scale(1) rotate(0deg); 
    }
    50% { 
        opacity: 1; 
        transform: scale(1.1) rotate(5deg); 
    }
}

/* 🔮 Glassmorphism Template */
.burdpress-template-glassmorphism {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

.burdpress-template-glassmorphism .swiper-button-prev,
.burdpress-template-glassmorphism .swiper-button-next {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: rgba(255, 255, 255, 0.9);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.burdpress-template-glassmorphism .swiper-button-prev:hover,
.burdpress-template-glassmorphism .swiper-button-next:hover {
    background: rgba(255, 255, 255, 0.25);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

.burdpress-template-glassmorphism .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.burdpress-template-glassmorphism .swiper-pagination-bullet-active {
    background: rgba(255, 255, 255, 0.8);
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.4);
}

/* 🎯 Neumorphism Template */
.burdpress-template-neumorphism {
    background: #e0e5ec;
    border-radius: 20px;
    box-shadow: 
        20px 20px 40px #bebebe,
        -20px -20px 40px #ffffff;
}

.burdpress-template-neumorphism .swiper-button-prev,
.burdpress-template-neumorphism .swiper-button-next {
    background: #e0e5ec;
    color: #666;
    border-radius: 50%;
    box-shadow: 
        8px 8px 16px #bebebe,
        -8px -8px 16px #ffffff;
    border: none;
}

.burdpress-template-neumorphism .swiper-button-prev:hover,
.burdpress-template-neumorphism .swiper-button-next:hover {
    box-shadow: 
        inset 8px 8px 16px #bebebe,
        inset -8px -8px 16px #ffffff;
}

.burdpress-template-neumorphism .swiper-pagination-bullet {
    background: #e0e5ec;
    box-shadow: 
        4px 4px 8px #bebebe,
        -4px -4px 8px #ffffff;
}

.burdpress-template-neumorphism .swiper-pagination-bullet-active {
    box-shadow: 
        inset 4px 4px 8px #bebebe,
        inset -4px -4px 8px #ffffff;
    background: linear-gradient(145deg, #cacaca, #f0f0f0);
}

/* 🌙 Dark Mode Elegant Template */
.burdpress-template-dark_mode {
    background: linear-gradient(145deg, #1a1a1a, #2d2d2d);
    border-radius: 15px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.burdpress-template-dark_mode .swiper-button-prev,
.burdpress-template-dark_mode .swiper-button-next {
    background: linear-gradient(145deg, #2d2d2d, #1a1a1a);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.burdpress-template-dark_mode .swiper-button-prev:hover,
.burdpress-template-dark_mode .swiper-button-next:hover {
    background: linear-gradient(145deg, #3d3d3d, #2a2a2a);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
    transform: translateY(-1px);
}

.burdpress-template-dark_mode .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.burdpress-template-dark_mode .swiper-pagination-bullet-active {
    background: #ffffff;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
}

/* ⚡ Neon Glow Template */
.burdpress-template-neon_glow {
    background: #0a0a0a;
    border-radius: 15px;
    border: 2px solid #00ffff;
    box-shadow: 
        0 0 20px rgba(0, 255, 255, 0.3),
        inset 0 0 20px rgba(0, 255, 255, 0.1);
}

.burdpress-template-neon_glow .swiper-button-prev,
.burdpress-template-neon_glow .swiper-button-next {
    background: rgba(0, 255, 255, 0.1);
    color: #00ffff;
    border: 2px solid #00ffff;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.4);
    transition: all 0.3s ease;
}

.burdpress-template-neon_glow .swiper-button-prev:hover,
.burdpress-template-neon_glow .swiper-button-next:hover {
    background: rgba(0, 255, 255, 0.2);
    box-shadow: 
        0 0 25px rgba(0, 255, 255, 0.6),
        inset 0 0 10px rgba(0, 255, 255, 0.2);
    transform: scale(1.05);
}

.burdpress-template-neon_glow .swiper-pagination-bullet {
    background: rgba(0, 255, 255, 0.3);
    border: 1px solid #00ffff;
    box-shadow: 0 0 8px rgba(0, 255, 255, 0.3);
}

.burdpress-template-neon_glow .swiper-pagination-bullet-active {
    background: #00ffff;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.7);
}

/* ✨ Minimal Clean Template */
.burdpress-template-minimal_clean {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.burdpress-template-minimal_clean .swiper-button-prev,
.burdpress-template-minimal_clean .swiper-button-next {
    background: #ffffff;
    color: #333333;
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    transition: all 0.2s ease;
}

.burdpress-template-minimal_clean .swiper-button-prev:hover,
.burdpress-template-minimal_clean .swiper-button-next:hover {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.12);
    transform: translateY(-1px);
}

.burdpress-template-minimal_clean .swiper-pagination-bullet {
    background: rgba(0, 0, 0, 0.2);
    transition: all 0.2s ease;
}

.burdpress-template-minimal_clean .swiper-pagination-bullet-active {
    background: #333333;
}

/* 🌊 Liquid Metal Template */
.burdpress-template-liquid_metal {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 20px;
    box-shadow: 
        0 10px 30px rgba(102, 126, 234, 0.3),
        0 1px 0 rgba(255, 255, 255, 0.2) inset;
    position: relative;
    overflow: hidden;
}

.burdpress-template-liquid_metal::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
    animation: shimmer 3s infinite;
}

@keyframes shimmer {
    0% { left: -100%; }
    100% { left: 100%; }
}

.burdpress-template-liquid_metal .swiper-button-prev,
.burdpress-template-liquid_metal .swiper-button-next {
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
}

.burdpress-template-liquid_metal .swiper-button-prev:hover,
.burdpress-template-liquid_metal .swiper-button-next:hover {
    background: rgba(255, 255, 255, 0.3);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
    transform: translateY(-2px) scale(1.05);
}

.burdpress-template-liquid_metal .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.burdpress-template-liquid_metal .swiper-pagination-bullet-active {
    background: #ffffff;
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.5);
}

/* Template-specific animations and effects */
.burdpress-template-glassmorphism .swiper-button-prev,
.burdpress-template-glassmorphism .swiper-button-next,
.burdpress-template-liquid_metal .swiper-button-prev,
.burdpress-template-liquid_metal .swiper-button-next {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.burdpress-template-neumorphism .swiper-button-prev,
.burdpress-template-neumorphism .swiper-button-next {
    transition: all 0.2s ease;
}

.burdpress-template-neon_glow .swiper-button-prev:after,
.burdpress-template-neon_glow .swiper-button-next:after {
    text-shadow: 0 0 5px currentColor;
}

/* ========================================
   Enhanced Arrow Customizations
======================================== */

/* Arrow Background Types */

/* Default: No glassmorphism unless explicitly enabled */
.burdpress-carousel-enhanced .swiper-button-prev,
.burdpress-carousel-enhanced .swiper-button-next {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

/* Apply glassmorphism only when enabled */
.burdpress-arrow-glassmorphism .swiper-button-prev,
.burdpress-arrow-glassmorphism .swiper-button-next {
    /* Blur amount controlled by PHP control with dynamic selectors */
    /* Dynamic styles will override these base styles */
}

/* None Background Type - Remove default backgrounds */
.burdpress-arrow-bg-none .swiper-button-prev,
.burdpress-arrow-bg-none .swiper-button-next {
    background: transparent !important;
    background-color: transparent !important;
    border: none;
    box-shadow: none;
}

/* Stacked Background Type - Default floating style */
.burdpress-arrow-bg-stacked .swiper-button-prev,
.burdpress-arrow-bg-stacked .swiper-button-next {
    /* Uses existing background styles - no additional changes needed */
}

/* Endcap Background Type - Full height background */
.burdpress-arrow-bg-endcap .swiper-button-prev,
.burdpress-arrow-bg-endcap .swiper-button-next {
    position: absolute;
    top: 0 !important;
    bottom: 0 !important;
    height: 100% !important;
    width: 60px; /* Default, overridden by CSS variables */
    border-radius: 0 !important;
    margin: 0 !important;
    transform: none !important;
    display: flex;
    align-items: center;
}

/* Apply blur only when glassmorphism is enabled */
.burdpress-arrow-glassmorphism.burdpress-arrow-bg-endcap .swiper-button-prev,
.burdpress-arrow-glassmorphism.burdpress-arrow-bg-endcap .swiper-button-next {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.burdpress-arrow-bg-endcap .swiper-button-prev {
    left: 0 !important;
    justify-content: flex-end;
    padding-right: 15px;
}

.burdpress-arrow-bg-endcap .swiper-button-next {
    right: 0 !important;
    justify-content: flex-start;
    padding-left: 15px;
}

/* Ensure arrows are centered within endcap */
.burdpress-arrow-bg-endcap .swiper-button-prev:after,
.burdpress-arrow-bg-endcap .swiper-button-next:after {
    position: relative;
    top: auto;
    margin-top: 0;
}

/* Add subtle edge line for endcap */
.burdpress-arrow-bg-endcap .swiper-button-prev::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 1px;
    background: rgba(255, 255, 255, 0.1);
}

.burdpress-arrow-bg-endcap .swiper-button-next::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 1px;
    background: rgba(255, 255, 255, 0.1);
}

/* Arrow Shape Types */

/* Stroke Triangle - Default Swiper style (no changes needed) */
.burdpress-arrow-shape-stroke .swiper-button-prev:after,
.burdpress-arrow-shape-stroke .swiper-button-next:after {
    /* Uses default Swiper triangle styles */
}

/* Filled Triangle */
.burdpress-arrow-shape-filled .swiper-button-prev:after,
.burdpress-arrow-shape-filled .swiper-button-next:after {
    content: '';
    width: 0;
    height: 0;
    border: none;
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.burdpress-arrow-shape-filled .swiper-button-prev:after {
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-right: 12px solid currentColor;
    margin-left: -2px;
}

.burdpress-arrow-shape-filled .swiper-button-next:after {
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 12px solid currentColor;
    margin-left: 2px;
}

/* Custom SVG Arrows */
.burdpress-arrow-shape-custom_svg .swiper-button-prev:after,
.burdpress-arrow-shape-custom_svg .swiper-button-next:after {
    content: '';
    width: 20px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* SVG Transformations */

/* Mirror SVG for opposite arrows */
.burdpress-custom-svg-arrows.burdpress-mirror-svg .swiper-button-next:after {
    transform: translate(-50%, -50%) scaleX(-1);
}

/* Global horizontal flip */
.burdpress-custom-svg-arrows.burdpress-flip-horizontal .swiper-button-prev:after,
.burdpress-custom-svg-arrows.burdpress-flip-horizontal .swiper-button-next:after {
    transform: translate(-50%, -50%) scaleX(-1);
}

/* Combine mirror and horizontal flip for next arrow */
.burdpress-custom-svg-arrows.burdpress-mirror-svg.burdpress-flip-horizontal .swiper-button-next:after {
    transform: translate(-50%, -50%) scaleX(1); /* Cancel out the mirror */
}

/* Global vertical flip */
.burdpress-custom-svg-arrows.burdpress-flip-vertical .swiper-button-prev:after,
.burdpress-custom-svg-arrows.burdpress-flip-vertical .swiper-button-next:after {
    transform: translate(-50%, -50%) scaleY(-1);
}

/* Combine mirror and vertical flip for next arrow */
.burdpress-custom-svg-arrows.burdpress-mirror-svg.burdpress-flip-vertical .swiper-button-next:after {
    transform: translate(-50%, -50%) scaleX(-1) scaleY(-1);
}

/* Combine horizontal and vertical flip */
.burdpress-custom-svg-arrows.burdpress-flip-horizontal.burdpress-flip-vertical .swiper-button-prev:after,
.burdpress-custom-svg-arrows.burdpress-flip-horizontal.burdpress-flip-vertical .swiper-button-next:after {
    transform: translate(-50%, -50%) scaleX(-1) scaleY(-1);
}

/* Combine all three: mirror, horizontal, and vertical */
.burdpress-custom-svg-arrows.burdpress-mirror-svg.burdpress-flip-horizontal.burdpress-flip-vertical .swiper-button-next:after {
    transform: translate(-50%, -50%) scaleY(-1); /* Only vertical flip remains */
}

/* Responsive adjustments for endcap arrows */
@media (max-width: 768px) {
    .burdpress-arrow-bg-endcap .swiper-button-prev,
    .burdpress-arrow-bg-endcap .swiper-button-next {
        width: 50px;
    }
}

@media (max-width: 480px) {
    .burdpress-arrow-bg-endcap .swiper-button-prev,
    .burdpress-arrow-bg-endcap .swiper-button-next {
        width: 40px;
    }
}

/* ========================================
   Enhanced Pagination Dots
======================================== */

/* Fix overflow clipping for dots container */
.burdpress-carousel-enhanced .swiper-pagination {
    overflow: visible !important;
    z-index: 10;
    padding: 10px 0;
}

/* Allow pagination to be transformed for centering */
.burdpress-dots-centered .swiper-pagination {
    position: absolute;
    left: 0;
    right: 0;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Ensure swiper container allows overflow for pagination */
.burdpress-carousel-enhanced {
    overflow: visible !important;
    position: relative;
}

.burdpress-carousel-enhanced .swiper {
    overflow: visible !important;
    position: static;
}

/* But contain endcap arrows within border radius */
.burdpress-arrow-bg-endcap.burdpress-carousel-enhanced {
    overflow: hidden !important;
}

.burdpress-arrow-bg-endcap .swiper {
    overflow: hidden !important;
}

/* Prevent clipping of dot shadows and size changes */
.burdpress-carousel-enhanced .swiper-pagination-bullets {
    overflow: visible !important;
}

/* Base dot styling with transitions */
.burdpress-carousel-enhanced .swiper-pagination-bullet {
    transition: all 0.3s ease;
    position: relative;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

/* Apply glassmorphism only when enabled */
.burdpress-dots-glassmorphism .swiper-pagination-bullet {
    /* Blur amount controlled by PHP control with dynamic selectors */
    /* Dynamic styles will override these base styles */
}

/* Centered Active Dot Mode */
.burdpress-dots-centered .swiper-pagination {
    /* Don't change the display or positioning of the pagination container */
    /* The centering happens on the bullets container inside */
}

.burdpress-dots-centered .swiper-pagination-bullets {
    display: inline-flex;
    align-items: center;
    position: relative;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Dot Tapering Styles */
.burdpress-dots-tapered .swiper-pagination-bullet {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Apply tapering dynamically - will be handled by JavaScript */
.burdpress-dots-tapered .swiper-pagination-bullet[data-taper-level="1"] {
    transform: scale(0.9);
}

.burdpress-dots-tapered .swiper-pagination-bullet[data-taper-level="2"] {
    transform: scale(0.8);
}

.burdpress-dots-tapered .swiper-pagination-bullet[data-taper-level="3"] {
    transform: scale(0.7);
}

.burdpress-dots-tapered .swiper-pagination-bullet[data-taper-level="4"] {
    transform: scale(0.6);
}

.burdpress-dots-tapered .swiper-pagination-bullet[data-taper-level="5"] {
    transform: scale(0.5);
}

/* Opacity tapering */
.burdpress-dots-taper-opacity .swiper-pagination-bullet[data-taper-level="1"] {
    opacity: 0.85;
}

.burdpress-dots-taper-opacity .swiper-pagination-bullet[data-taper-level="2"] {
    opacity: 0.7;
}

.burdpress-dots-taper-opacity .swiper-pagination-bullet[data-taper-level="3"] {
    opacity: 0.55;
}

.burdpress-dots-taper-opacity .swiper-pagination-bullet[data-taper-level="4"] {
    opacity: 0.4;
}

.burdpress-dots-taper-opacity .swiper-pagination-bullet[data-taper-level="5"] {
    opacity: 0.3;
}

/* Ensure active dot is always full size and opacity */
.burdpress-dots-tapered .swiper-pagination-bullet-active,
.burdpress-dots-taper-opacity .swiper-pagination-bullet-active {
    transform: scale(1) !important;
    opacity: 1 !important;
}


/* Enhanced dot hover states */
.burdpress-carousel-enhanced .swiper-pagination-bullet:hover {
    transform: scale(1.2);
}

.burdpress-dots-tapered .swiper-pagination-bullet:hover {
    transform: scale(1.1) !important;
}

/* Ensure proper z-indexing for dots */
.burdpress-carousel-enhanced .swiper-pagination-bullet {
    z-index: 1;
}

.burdpress-carousel-enhanced .swiper-pagination-bullet-active {
    z-index: 2;
}

/* Mobile responsiveness for dots */
@media (max-width: 768px) {
    .burdpress-carousel-enhanced .swiper-pagination {
        padding: 8px 0;
    }
}

/* ========================================
   Focus Outline Controls
======================================== */

/* Hide focus outlines when disabled */
.burdpress-hide-arrow-focus .swiper-button-prev:focus,
.burdpress-hide-arrow-focus .swiper-button-next:focus {
    outline: none !important;
}

.burdpress-hide-dots-focus .swiper-pagination-bullet:focus {
    outline: none !important;
}

/* Default focus outline styles (when enabled) */
.burdpress-carousel-enhanced .swiper-button-prev:focus,
.burdpress-carousel-enhanced .swiper-button-next:focus,
.burdpress-carousel-enhanced .swiper-pagination-bullet:focus {
    outline-style: solid;
}

/* ========================================
   Global Content Positioning and Offset
======================================== */

/* Default offset values */
.burdpress-carousel-enhanced .burdpress-slide-content {
    --horizontal-offset: 0px;
    --vertical-offset: 0px;
    transform: translate(var(--horizontal-offset), var(--vertical-offset)) !important;
}

/* Ensure transform is applied on frontend */
.elementor-widget-burdpress-widgets-carousel .burdpress-carousel-enhanced .burdpress-slide-content {
    transform: translate(var(--horizontal-offset), var(--vertical-offset)) !important;
}

