/**
 * Experience Action Slider
 * Sticky bottom slider for mobile with CTAs replacing Things To Do Actions widget
 * Matches mobile bottom nav styling
 */

.lifelist-experience-action-slider {
    box-sizing: border-box;
    display: none !important; /* Hidden by default, shown on mobile */
    flex-direction: column; /* Stack swiper and pagination vertically */
    align-items: center !important;
    border-top: 1px solid #EBEBEB !important;
    position: fixed !important;
    bottom: 0 !important;
    height: 84px !important; /* Reduced to more compact Airbnb-style proportions */
    left: 0 !important;
    right: 0 !important;
    contain: paint !important;
    background: #ffffff !important;
    transition: transform 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955), visibility 0.2s !important;
    z-index: 9998 !important; /* Below mobile nav (9999) */
    padding: 0 8px !important;
    box-shadow: 0 -2px 4px rgba(0,0,0,0.08);
}

/* Show on mobile only */
@media (max-width: 768px) {
    .lifelist-experience-action-slider {
        display: flex !important;
    }
}

/* Swiper container */
.experience-action-swiper {
    width: 100%;
    flex: 1; /* Take available space */
    overflow: hidden; /* Hide overflow for clean slides */
    position: relative;
}

.experience-action-swiper .swiper-wrapper {
    align-items: center;
    height: 100%;
}

.experience-action-swiper .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    gap: 12px;
    width: 100%; /* Ensure full width per slide */
    flex-shrink: 0; /* Prevent slide compression */
    box-sizing: border-box;
    border: none !important; /* Remove dotted borders */
    outline: none !important;
}

/* Slide text (left side) - Airbnb secondary text sizing */
.action-slide__text {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0; /* Allow text to shrink */
}

.action-slide__primary {
    font-size: 1rem; /* 16px - increased from 14px for better readability */
    line-height: 1.3;
    color: #222222;
    font-weight: 600;
}

.action-slide__secondary {
    font-size: 0.875rem; /* 14px - increased from 12px for better readability */
    line-height: 1.25rem; /* 20px */
    color: #6A6A6A; /* Airbnb secondary color */
    font-weight: 400;
}

/* Action button (right side) - Airbnb-style sizing */
.action-slide__button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 24px;
    background: var(--gradient-primary);
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 1rem; /* 16px - matches Airbnb primary text */
    font-weight: 700;
    line-height: 1.5rem; /* 24px line height */
    white-space: nowrap;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    box-shadow: 0 2px 8px rgba(102, 126, 234, 0.25);
    flex-shrink: 0; /* Prevent button from shrinking */
    min-width: 110px; /* Ensure consistent button width */
}

.action-slide__button:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.35);
}

.action-slide__button i {
    font-size: 18px;
}

/* Individual button gradients - complementary colors */
.action-btn-stamp {
    background: var(--gradient-green);
    box-shadow: 0 2px 8px rgba(17, 153, 142, 0.25);
}

.action-btn-stamp:hover {
    box-shadow: 0 4px 12px rgba(17, 153, 142, 0.35);
}

.action-btn-like {
    background: var(--gradient-pink);
    box-shadow: 0 2px 8px rgba(240, 147, 251, 0.25);
}

.action-btn-like:hover {
    box-shadow: 0 4px 12px rgba(240, 147, 251, 0.35);
}

.action-btn-lifelist {
    background: var(--gradient-teal);
    box-shadow: 0 2px 8px rgba(67, 233, 123, 0.25);
}

.action-btn-lifelist:hover {
    box-shadow: 0 4px 12px rgba(67, 233, 123, 0.35);
}

.action-btn-book {
    background: var(--gradient-primary);
    box-shadow: 0 2px 8px rgba(102, 126, 234, 0.25);
}

.action-btn-book:hover {
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.35);
}

.action-btn-edit {
    background: var(--gradient-orange);
    box-shadow: 0 2px 8px rgba(250, 112, 154, 0.25);
}

.action-btn-edit:hover {
    box-shadow: 0 4px 12px rgba(250, 112, 154, 0.35);
}

/* Pagination dots (above slides, separate section) */
.lifelist-experience-action-slider .slider-pagination {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: auto;
    margin: 0;
    padding: 8px 0;
    text-align: center;
    z-index: 10;
    background: transparent;
    height: 24px; /* Fixed height for pagination area */
}

.lifelist-experience-action-slider .swiper-pagination-bullet {
    width: 6px;
    height: 6px;
    background: rgba(102, 126, 234, 0.3); /* Gradient color with opacity */
    opacity: 1;
    margin: 0 3px;
    transition: all 0.3s ease;
}

.lifelist-experience-action-slider .swiper-pagination-bullet-active {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    width: 20px;
    height: 6px;
    border-radius: 3px;
}

/* Safe area insets for notched devices */
@supports (padding: env(safe-area-inset-bottom)) {
    .lifelist-experience-action-slider {
        padding-bottom: 0 !important;
        height: calc(84px + env(safe-area-inset-bottom)) !important;
    }
}

/* Pagination - positioned above slider */
.experience-slider-pagination {
    position: fixed;
    bottom: 84px !important; /* Sits at the top edge of 84px slider */
    left: 0;
    right: 0;
    z-index: 9999; /* Above slider (9998) */
    text-align: center;
    padding: 8px 0;
    height: auto;
    background: transparent;
    pointer-events: none; /* Allow clicks through container */
}

.experience-slider-pagination .swiper-pagination-bullet {
    pointer-events: auto; /* Enable clicks on bullets */
    width: 6px;
    height: 6px;
    margin: 0 4px;
    border-radius: 50%;
    background: rgba(102, 126, 234, 0.3); /* Semi-transparent gradient start */
    opacity: 1;
    transition: all 0.3s ease;
}

.experience-slider-pagination .swiper-pagination-bullet-active {
    width: 20px;
    border-radius: 3px;
    background: var(--gradient-primary);
}

/* Add bottom padding to page content to prevent overlap */
@media (max-width: 768px) {
    body.has-experience-action-slider {
        padding-bottom: 95px !important;
    }
}
