/* Approved Maritime - HivePress Featured Slider v1.0.2 */
.am-featured-slider {
    position: relative;
    --amfs-gap: 20px;
    --amfs-arrow-size: 42px;
    --amfs-control-offset: 10px;
    --amfs-slide-width: 280px;
}

.am-featured-slider.amfs-ready .hp-listings.hp-grid {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
}

.am-featured-slider.amfs-ready .hp-listings.hp-grid > .hp-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: var(--amfs-gap) !important;
    column-gap: var(--amfs-gap) !important;
    row-gap: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: max-content !important;
    min-width: 0 !important;
    max-width: none !important;
    will-change: transform;
}

/* Critical v1.0.2 fix: override ListingHive's hp-col-* sizing consistently. */
.am-featured-slider.amfs-ready .hp-listings.hp-grid > .hp-row > .hp-grid__item {
    box-sizing: border-box !important;
    display: block !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    flex-basis: var(--amfs-slide-width) !important;
    width: var(--amfs-slide-width) !important;
    min-width: var(--amfs-slide-width) !important;
    max-width: var(--amfs-slide-width) !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    float: none !important;
    height: auto;
}

.am-featured-slider.amfs-ready .hp-listings.hp-grid > .hp-row > .hp-grid__item > * {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}

.amfs-row-wrap {
    position: relative;
    width: 100%;
}

.amfs-row-wrap + .amfs-row-wrap {
    margin-top: var(--amfs-gap);
}

.amfs-nav {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 8;
}

.amfs-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: var(--amfs-arrow-size);
    height: var(--amfs-arrow-size);
    border: 1px solid rgba(0,0,0,.13) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.95) !important;
    color: #252525 !important;
    box-shadow: 0 3px 12px rgba(0,0,0,.12) !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer;
    pointer-events: auto;
    transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.amfs-button:hover {
    transform: translateY(-50%) scale(1.04);
    box-shadow: 0 5px 16px rgba(0,0,0,.17) !important;
}

.amfs-button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.amfs-button[disabled] {
    opacity: .35;
    cursor: default;
}

.amfs-button--prev { left: var(--amfs-control-offset); }
.amfs-button--next { right: var(--amfs-control-offset); }

.amfs-button svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.amfs-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 14px;
}

.amfs-dot {
    width: 8px;
    height: 8px;
    border: 0 !important;
    border-radius: 999px;
    background: currentColor !important;
    opacity: .23;
    padding: 0 !important;
    cursor: pointer;
    transition: width .2s ease, opacity .2s ease;
}

.amfs-dot.is-active { width: 22px; opacity: .72; }
.amfs-dragging, .amfs-dragging * { cursor: grabbing !important; user-select: none !important; }
.amfs-ready[data-amfs-swipe="1"] .hp-listings.hp-grid { touch-action: pan-y; }
.amfs-continuous .hp-listings.hp-grid > .hp-row { transition-timing-function: linear !important; }
.amfs-continuous .amfs-button, .amfs-continuous .amfs-pagination { display: none !important; }

/* Clones remain mouse/touch clickable when they are visible in an infinite loop. */
.amfs-clone { pointer-events: auto; }
.amfs-no-motion .hp-listings.hp-grid > .hp-row { transform: none !important; transition: none !important; }

@media (max-width: 767px) {
    .am-featured-slider {
        --amfs-arrow-size: 36px;
        --amfs-control-offset: 5px;
    }

    .am-featured-slider[data-amfs-mobile-arrows="0"] .amfs-button {
        display: none !important;
    }

    .am-featured-slider[data-amfs-mobile-arrows="1"] .amfs-button {
        display: flex !important;
    }

    .amfs-button svg {
        width: 15px;
        height: 15px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .am-featured-slider .hp-listings.hp-grid > .hp-row { transition-duration: .001ms !important; }
    .amfs-button { transition: none !important; }
}
