/**
 * Accessories Slider – Frontend styles
 * Enqueued after Swiper; keep same look/behavior as previous inline CSS.
 */
/* ===== Base layout ===== */
.acc-wrapper { margin-top: 10px; padding: 20px 0; }

/* ===== Intro heading + text above slider (desktop) ===== */
.acc-intro { margin-bottom: 10px; text-align: center; padding-bottom: 24px; }
.acc-intro-title { display: block; margin: 0 0 10px 0; color: rgb(33, 29, 26); font-family: "Comme", sans-serif; font-size: 28px; font-weight: 500; line-height: 1.2; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; }
.acc-intro-text { display: block; margin: 0; color: rgb(33, 29, 26); font-family: "Montserrat", sans-serif; font-size: 16px; line-height: 1.5; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; }

/* Wrapper for mobile horizontal scroll (no-op on desktop) */
.acc-icons-scroll-wrap { position: relative; z-index: 10; }

.acc-icons { display:flex; justify-content:center; gap:24px; list-style:none; padding:28px 0 0; margin:0; flex-wrap:wrap; position:relative; z-index:10; }
.acc-icons li { text-align:center; }
.acc-btn { display:block; text-decoration:none; color:inherit; }
.acc-btn[data-target] { cursor:pointer; pointer-events:auto; }
.acc-btn:not([data-target]) { cursor:default; pointer-events:auto; }
.acc-icon-box { width:86px; height:86px; background:#fff; border-radius:18px; display:flex; align-items:center; justify-content:center; border:2px solid #e6e6e6; position:relative; transition:all .22s ease; margin:0 auto; margin-bottom:7px; }
.acc-icon-box.active { border-color:#FC5C02; background:#fff8f0; transform:translateY(-4px); box-shadow:0 8px 18px rgba(0,0,0,0.06); }
.acc-icon { width:44px; height:44px; object-fit:contain; }
.acc-title { width: 86px; margin-top:8px !important; font-size:13px; font-weight:600; color:#333; }

/* built-in styling - now clickable but styled green */
.acc-btn.builtin .acc-icon-box,
.acc-icon-box.builtin {
    border-color:#27ae60 !important;
    background:#eaffea !important;
    box-shadow:0 8px 24px rgba(39,174,96,0.08);
}
.acc-btn.builtin .acc-title,
.acc-title.builtin-title {
    color:#27ae60 !important;
    font-weight:700;
}

.acc-check { position:absolute; top:-8px; right:-8px; background:#27ae60; color:#fff; border-radius:50%; width:26px; height:26px; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; box-shadow:0 2px 6px rgba(0,0,0,0.15); }

/* products area / skeleton preloader */
.acc-products-area { position:relative; margin-top:8px; min-height:370px; }
.acc-initial-loader {
    position:absolute; top:0; right:0; bottom:0; left:0;
    background:#fff;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    z-index:40;
    border-radius:10px;
    padding:8px 40px 50px;
    box-sizing:border-box;
}
.acc-initial-loader .acc-preloader-skeleton { flex:1; min-height:0; }
.acc-products-area.acc-slider-loaded .acc-initial-loader { display:none; }

/* Skeleton preloader – row of card placeholders (matches Swiper layout) */
.acc-preloader-skeleton {
    display:flex;
    flex-wrap:nowrap;
    gap:12px;
    align-items:stretch;
    min-height:370px;
}
.acc-preloader-card {
    flex:0 0 auto;
    width:100%;
    min-height:370px;
    display:flex;
    flex-direction:column;
    border-radius:12px;
    border:1px solid #eee;
    background:#fff;
    overflow:hidden;
    box-sizing:border-box;
}
.acc-preloader-card-img {
    width:100%;
    height:180px;
    flex-shrink:0;
    background:linear-gradient(105deg, #f0f0f0 0%, #f0f0f0 40%, #e8e8e8 50%, #f0f0f0 60%, #f0f0f0 100%);
    background-size:200% 100%;
    animation:acc-shimmer 1.2s ease-in-out infinite;
}
.acc-preloader-card-body {
    padding:12px;
    display:flex;
    flex-direction:column;
    gap:8px;
    flex:1;
    min-height:0;
}
.acc-preloader-line {
    height:14px;
    border-radius:4px;
    background:linear-gradient(105deg, #f0f0f0 0%, #f0f0f0 40%, #e8e8e8 50%, #f0f0f0 60%, #f0f0f0 100%);
    background-size:200% 100%;
    animation:acc-shimmer 1.2s ease-in-out infinite;
}
.acc-preloader-line.acc-preloader-title { max-width:90%; height:16px; }
.acc-preloader-line.acc-preloader-short { max-width:60%; }

/* Preloader card widths – match Swiper breakpoints (spaceBetween: 12) */
@media (max-width: 479px) {
    .acc-preloader-card:nth-child(n+2) { display:none; }
    .acc-preloader-card { width:100%; }
}
@media (min-width: 480px) {
    .acc-preloader-card { width: calc((100% - 12px) / 2); }
}
@media (min-width: 768px) {
    .acc-preloader-card { width: calc((100% - 36px) / 4); }
}

/* Lazy placeholder – contains same skeleton when category is loading */
.acc-lazy-placeholder {
    min-height:370px;
    padding:8px 40px 50px;
    box-sizing:border-box;
}
.acc-lazy-placeholder .acc-preloader-skeleton { min-height:354px; }
@media (max-width: 767px) {
    .acc-initial-loader { padding:8px 16px 40px; }
    .acc-lazy-placeholder { padding:8px 16px 40px; }
    /* Keep skeleton visible: fit within products-area min-height on mobile */
    .acc-initial-loader .acc-preloader-skeleton,
    .acc-lazy-placeholder .acc-preloader-skeleton { min-height:260px; }
    .acc-preloader-card { min-height:260px; }
}
/* Swiper-friendly: visibility/opacity so Swiper can measure; only active panel in flow */
.acc-products {
    position:absolute;
    top:0; left:0; right:0;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transition: opacity 0.22s ease, visibility 0.22s ease;
}
.acc-products.active {
    position:relative;
    visibility:visible;
    opacity:1;
    pointer-events:auto;
}
.acc-loading-overlay { position:absolute; top:0; right:0; bottom:0; left:0; background:rgba(255,255,255,0.6); display:flex; align-items:center; justify-content:center; z-index:30; backdrop-filter:blur(3px); opacity:0; visibility:hidden; transition:opacity .1s; border-radius:10px; pointer-events:none; }
.acc-loading-overlay.show { opacity:1; visibility:visible; }
/* Spinner no longer used: skeleton is the only loading state; hide so cached JS cannot show circle */
.acc-loading-overlay .acc-spinner { display:none !important; }
.acc-spinner { width:46px; height:46px; border-radius:50%; border:5px solid rgba(0,0,0,0.08); border-top-color:#FC5C02; animation:acc-rot 1s linear infinite; }
@keyframes acc-rot { to { transform:rotate(360deg); } }

/* ===== Swiper / card – desktop ===== */
.acc-swiper {
    padding:8px 40px 50px;
    position:relative;
    overflow:hidden;
    width:100%;
    box-sizing:border-box;
    /* Let browser give horizontal touch to Swiper, vertical to page (reduces stuck swipes on mobile) */
    touch-action:pan-y;
}
.acc-swiper .swiper-wrapper { display:flex; flex-wrap:nowrap; margin-bottom:40px; }

.swiper-slide {
    height:auto !important;
    display:flex !important;
    align-items:stretch !important;
    box-sizing:border-box;
    flex-shrink: 0 !important;
}
/* Slide width + spacing by breakpoint so skeleton/cards match (spaceBetween: 12) */
.acc-swiper .swiper-slide {
    width: 100%;
    margin-right: 12px;
}
.acc-swiper .swiper-slide:last-child {
    margin-right: 0;
}
@media (min-width: 480px) {
    .acc-swiper .swiper-slide {
        width: calc((100% - 12px) / 2);
    }
}
@media (min-width: 768px) {
    .acc-swiper .swiper-slide {
        width: calc((100% - 36px) / 4);
    }
}

.acc-item {
    width:100%;
    display:flex;
    flex-direction:column;
    border-radius:12px;
    border:1px solid #eee;
    background:#fff;
    overflow:hidden;
    min-height:370px;
}

/* Built-in product card styling */
.acc-item.builtin-product {
    border-color:#27ae60;
    background:#f9fff9;
}
.acc-builtin-badge {
    background:#27ae60;
    color:#fff;
    padding:6px 12px;
    text-align:center;
    font-size:12px;
    font-weight:700;
    letter-spacing:0.3px;
}

/* fixed-height slot; image scales with object-fit contain (no crop; letterboxing on sides/top as needed) */
.acc-item-image {
    position:relative;
    height:180px;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    background:#fafafa;
    border-bottom:1px solid #f0f0f0;
    overflow:hidden;
}
.acc-item-image img {
    width:100%;
    height:100%;
    object-fit:contain;
    opacity:0;
    transition:opacity .25s ease;
}
.acc-item-image.acc-loaded img,
.acc-item-image img.acc-loaded {
    opacity:1;
}

/* Variation image swap: short crossfade (JS toggles opacity; see syncAccVariationImage) */
.acc-item-image img.acc-var-img-crossfade {
    transition: opacity 0.1s ease;
}
@media (prefers-reduced-motion: reduce) {
    .acc-item-image img.acc-var-img-crossfade {
        transition: none;
    }
}
/* Skeleton: image area */
.acc-item-image .acc-skeleton-img {
    position:absolute;
    top:0; right:0; bottom:0; left:0;
    background:linear-gradient(105deg, #f0f0f0 0%, #f0f0f0 40%, #e8e8e8 50%, #f0f0f0 60%, #f0f0f0 100%);
    background-size:200% 100%;
    animation:acc-shimmer 1.2s ease-in-out infinite;
}
.acc-item-image.acc-loaded .acc-skeleton-img { display:none; }
/* Skeleton: content lines */
.acc-item-content .acc-skeleton-line {
    height:14px;
    background:linear-gradient(105deg, #f0f0f0 0%, #f0f0f0 40%, #e8e8e8 50%, #f0f0f0 60%, #f0f0f0 100%);
    background-size:200% 100%;
    animation:acc-shimmer 1.2s ease-in-out infinite;
    border-radius:4px;
}
.acc-item-content .acc-skeleton-line.acc-skeleton-title { max-width:90%; height:16px; }
.acc-item-content .acc-skeleton-line.acc-skeleton-link { max-width:60%; height:12px; margin-top:4px; }
.acc-item.acc-card-loaded .acc-item-content .acc-skeleton-line { display:none; }
.acc-item.acc-card-loaded .acc-item-content .acc-skeleton-content { display:flex; flex-direction:column; flex-grow:1; min-height:0; }
.acc-item .acc-item-content .acc-skeleton-content { display:none; }
@keyframes acc-shimmer {
    0% { background-position:200% 0; }
    100% { background-position:-200% 0; }
}

.acc-item-content {
    padding:12px;
    display:flex;
    flex-direction:column;
    gap:8px;
    flex-grow:1;
    min-height:0;
}

.acc-item h4 {
    margin:0;
    font-size:13px;
    font-weight:600;
    color:#333;
    line-height:1.3;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-wrap: break-word;
    max-height: 3.9em;
}

.acc-see-more {
    font-size:12px;
    color:#FC5C02;
    text-decoration:underline;
    display:inline-block;
    margin-top:4px;
}
.acc-see-more:hover {
    color:#e65a00;
}

.acc-price { color:#999; font-weight:700; font-size:15px; margin-bottom:10px; }
.acc-variation-select { margin-bottom:10px; }
.acc-variation-select select { width:100%; padding:7px; border:1px solid #ddd; border-radius:6px; font-size:13px; }
.acc-add-to-cart { margin-top:auto; display:flex; gap:8px; flex-shrink:0; }
.acc-add-to-cart .button { background:#FC5C02; color:#fff; border:none; padding:9px 12px; border-radius:8px; font-weight:700; cursor:pointer; flex:1; text-align:center; font-size:15px; }
.acc-add-to-cart .button.loading { opacity:.7; pointer-events:none; }
.acc-add-to-cart .button:hover { background:#e65a00 !important; color:#fff !important; }
.no-products { height:370px; display:flex; align-items:center; justify-content:center; background:#fbfbfb; border:1px solid #eee; border-radius:10px; padding:20px; text-align:center; color:#666; }

.swiper-pagination-bullet-active { background-color:#FC5C02 !important; }
.acc-swiper .swiper-pagination-bullet {
    width: 10px !important;
    height: 10px !important;
    opacity: 0.4 !important;
    transform: none !important;
    margin: 0 5px !important;
}
.acc-swiper .swiper-pagination-bullet-active {
    opacity: 1 !important;
}

.acc-add-to-cart .added_to_cart,
.acc-add-to-cart .added_to_cart.wc-forward,
.cart-notice { display:none !important; }

/* arrows */
.acc-swiper .swiper-button-next,
.acc-swiper .swiper-button-prev {
    width:42px !important;
    height:42px !important;
    background:#FC5C02 !important;
    border-radius:50% !important;
    color:#fff !important;
    box-shadow:0 6px 15px rgba(0,0,0,0.15);
}
.acc-swiper .swiper-button-next:after,
.acc-swiper .swiper-button-prev:after {
    font-size:18px !important;
    font-weight:700 !important;
    color:#fff !important;
}
.acc-swiper .swiper-button-prev { left:10px !important; }
.acc-swiper .swiper-button-next { right:10px !important; }
.acc-swiper .swiper-pagination { bottom:20px !important; }
.acc-swiper .swiper-button-next:hover,
.acc-swiper .swiper-button-prev:hover { background:#ff6e1c !important; }

/* Single product: hide arrows and pagination */
.acc-swiper.acc-swiper-single-slide .swiper-button-next,
.acc-swiper.acc-swiper-single-slide .swiper-button-prev,
.acc-swiper.acc-swiper-single-slide .swiper-pagination {
    display: none !important;
}

/* ===== Modal styles ===== */
.acc-modal-overlay {
    position:fixed;
    top:0; right:0; bottom:0; left:0;
    background:rgba(0,0,0,0.55);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:9999;
}
.acc-modal-overlay.acc-modal-open {
    display:flex;
}
.acc-modal {
    background:#fff;
    border-radius:12px;
    max-width:640px;
    width:90%;
    max-height:80vh;
    box-shadow:0 20px 60px rgba(0,0,0,0.25);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    position:relative;
}
.acc-modal-header {
    padding:16px 20px;
    border-bottom:1px solid #eee;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}
.acc-modal-title {
    font-size:18px;
    font-weight:700;
    margin:0;
    color:#222;
}
.acc-modal-close {
    border:none;
    background:transparent;
    font-size:20px !important;
    border-radius: 3px !important;
    line-height:1;
    cursor:pointer;
    color:#999;
    padding:4px;
}
.acc-modal-close:hover {
    color:#333;
}
.acc-modal-body {
    padding:16px 20px 18px;
    overflow-y:auto;
}
.acc-modal-section-title {
    font-size:14px;
    font-weight:700;
    margin:0 0 6px;
    color:#333;
    text-transform:uppercase;
    letter-spacing:0.03em;
}
.acc-modal-description {
    font-size:14px;
    color:#444;
    line-height:1.5;
    margin-bottom:14px;
}
.acc-modal-description p {
    margin:0 0 8px;
    font-size:14px;
    line-height:1.5;
}
.acc-modal-description strong,
.acc-modal-description b {
    font-weight:600;
}
.acc-modal-description ul,
.acc-modal-description ol {
    margin:0 0 8px;
    padding-left:1.25em;
}
.acc-modal-description li {
    margin-bottom:4px;
}
.acc-modal-specs {
    font-size:13px;
    color:#444;
    line-height:1.5;
    border-top:1px solid #f0f0f0;
    padding-top:10px;
}
.acc-modal-specs ul {
    margin:0;
    padding-left:18px;
}
.acc-modal-specs li {
    margin-bottom:4px;
}

@media (max-width:480px) {
    .acc-modal {
        width:94%;
        max-height:85vh;
    }
    .acc-modal-title {
        font-size:16px;
    }
    .acc-modal-body {
        padding:14px 16px 16px;
    }
}

/* ===== Mobile UX: horizontal scroll categories + auto-height cards ===== */
@media (max-width:760px) {
    .acc-wrapper {
        padding:10px 0;
        margin-top:10px;
    }

    /* Horizontal scroll container: smooth touch scroll + snap */
    .acc-icons-scroll-wrap {
        margin: 0 -4px; /* bleed to edges for full-bleed scroll feel */
        padding: 10px 0 8px; /* small gap before scrollbar so it visually belongs to categories */
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 14px;
        /* Subtle edge fade to suggest more content */
        mask-image: linear-gradient(to right, transparent 0, black 20px, black calc(100% - 20px), transparent 100%);
        -webkit-mask-image: linear-gradient(to right, transparent 0, black 20px, black calc(100% - 20px), transparent 100%);
    }
    /* Pill-shaped scrollbar – light grey thumb, subtle track */
    .acc-icons-scroll-wrap::-webkit-scrollbar {
        height: 8px;
    }
    .acc-icons-scroll-wrap::-webkit-scrollbar-track {
        background: rgba(0, 0, 0, 0.05);
        border-radius: 999px;
        margin: 0 14px;
    }
    .acc-icons-scroll-wrap::-webkit-scrollbar-thumb {
        background: rgba(0, 0, 0, 0.18);
        border-radius: 999px;
        transition: background 0.2s ease;
    }
    .acc-icons-scroll-wrap::-webkit-scrollbar-thumb:hover {
        background: rgba(0, 0, 0, 0.28);
    }
    .acc-icons-scroll-wrap::-webkit-scrollbar-thumb:active {
        background: rgba(0, 0, 0, 0.35);
    }
    @supports (scrollbar-width: thin) {
        .acc-icons-scroll-wrap {
            scrollbar-width: thin;
            scrollbar-color: rgba(0, 0, 0, 0.22) rgba(0, 0, 0, 0.06);
        }
    }

    .acc-icons {
        display: flex !important;
        flex-wrap: nowrap !important;
        flex-direction: row !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        padding: 2px 14px 4px !important;
        margin: 0 !important;
        width: max-content !important;
        min-width: 100% !important;
        max-width: none !important;
        list-style: none !important;
    }

    .acc-icons li {
        flex: 0 0 auto !important;
        width: 78px !important;
        min-width: 78px !important;
        max-width: none !important;
        margin: 0 !important;
        scroll-snap-align: start;
        scroll-snap-stop: normal;
    }

    .acc-icon-box {
        width: 72px !important;
        max-width: 72px !important;
        height: 72px !important;
        min-height: 72px !important;
        margin: 0 auto 7px auto !important;
        padding: 0 !important;
        border-radius: 16px !important;
        position: relative !important;
        aspect-ratio: 1 / 1 !important;
    }
    @supports (aspect-ratio: 1 / 1) {
        .acc-icon-box {
            height: 72px !important;
            aspect-ratio: 1 / 1 !important;
        }
    }

    .acc-icon {
        width: 40px !important;
        height: 40px !important;
        max-width: 40px !important;
        max-height: 40px !important;
    }

    .acc-title {
        width: 78px !important;
        max-width: 78px !important;
        font-size: 11px !important;
        margin-top: 6px !important;
        line-height: 1.2;
        white-space: normal;
        word-wrap: break-word;
        overflow-wrap: break-word;
        overflow: visible;
        text-align: center;
    }

    .acc-products-area {
        min-height: 320px; /* keep space so initial loader and lazy placeholder skeletons are visible */
        margin-top: 12px !important; /* tight gap so scrollbar reads as part of category strip, not slider */
        overflow-x: hidden; /* prevent horizontal scroll competing with Swiper touch */
        overflow-y: hidden; /* no vertical scroll inside block; only page scrolls */
    }

    .acc-swiper {
        touch-action: pan-y; /* horizontal swipe = Swiper only; vertical = page scroll */
        -webkit-overflow-scrolling: auto; /* avoid conflict with category strip's touch scrolling */
        overflow-x: hidden;
        overflow-y: hidden; /* prevent swiper from getting its own vertical scroll on mobile */
    }
    .swiper-slide {
        height:auto !important;
        align-items:stretch !important;
    }
    .acc-item {
        height:100%;
        min-height:0;
        display:flex;
        flex-direction:column;
    }
    .acc-item-image {
        height:160px;
        max-height:none;
        padding:0;
    }
    .acc-item-image img {
        width:100%;
        height:100%;
        object-fit:contain;
    }

    .acc-item-content {
        flex:1 1 auto;
        display:flex;
        flex-direction:column;
        gap:6px;
    }

    .acc-item h4 {
        height:auto;
        max-height:none;
        overflow:visible;
        text-overflow:clip;
        line-height:1.3;
        word-break:break-word;
        font-size:13px;
    }

    .acc-price {
        font-size:14px;
        margin-bottom:10px;
    }

    .acc-add-to-cart {
        margin-top:auto;
        display:flex;
        gap:8px;
    }
    .acc-add-to-cart .button {
        font-size:14px;
        padding:8px 10px;
        white-space:normal;
        line-height:1.2;
    }

    .acc-swiper .swiper-button-next,
    .acc-swiper .swiper-button-prev {
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:40px !important;
        height:40px !important;
        top: calc(50% - 30px) !important;
        transform:translateY(-50%);
        z-index: 20 !important;
        cursor: pointer !important;
        pointer-events: auto !important;
    }
    .acc-swiper .swiper-button-next:after,
    .acc-swiper .swiper-button-prev:after {
        pointer-events: none !important;
    }
    .acc-swiper { padding-bottom:25px; }
    .acc-swiper .swiper-button-prev { left:5px !important; }
    .acc-swiper .swiper-button-next { right:5px !important; }
    .acc-swiper .swiper-pagination { bottom:8px !important; }
    .acc-swiper .swiper-pagination-bullet {
        min-width: 32px !important;
        min-height: 32px !important;
        padding: 11px !important;
        margin: 0 3px !important;
        box-sizing: border-box !important;
    }

    .acc-swiper.acc-swiper-single-slide .swiper-button-next,
    .acc-swiper.acc-swiper-single-slide .swiper-button-prev,
    .acc-swiper.acc-swiper-single-slide .swiper-pagination {
        display: none !important;
    }

    .acc-add-to-cart { margin-top: auto; }

    .no-products {
        height:auto;
        min-height:160px;
    }

    .acc-intro { margin-bottom: 10px; padding-bottom: 20px; }
    .acc-intro-title { font-size: 22px; font-weight: 500; margin-bottom: 8px; }
    .acc-intro-text { font-size: 14px; }
}

/* ===== IMPROVED UX STYLES ===== */
.acc-cart-feedback {
    animation: acc-fadeSlideIn 0.3s ease;
}
@keyframes acc-fadeSlideIn {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

.acc-var-select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    background: white;
    cursor: pointer;
    transition: border-color 0.22s ease;
}
.acc-var-select:focus {
    outline: none;
    border-color: #FC5C02;
}
.acc-var-select:disabled {
    background: #f5f5f5;
    cursor: not-allowed;
    opacity: 0.6;
}
.acc-var-select.acc-select-error {
    border-color: #c33 !important;
}

.acc-slider-error {
    animation: acc-fadeIn 0.3s ease;
}
@keyframes acc-fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.acc-add-to-cart .button:not(:disabled):hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(252, 92, 2, 0.25);
}
.acc-add-to-cart .button:not(:disabled):active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(252, 92, 2, 0.25);
}

.acc-item {
    transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.acc-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

@media (prefers-reduced-motion: reduce) {
    .acc-item, .acc-add-to-cart .button, .acc-var-select,
    .acc-cart-feedback, .acc-slider-error, .acc-spinner,
    .acc-preloader-card-img, .acc-preloader-line {
        animation: none !important;
        transition: none !important;
    }
}

.button:focus {
    outline: 2px solid #FC5C02;
    outline-offset: 2px;
}
.acc-btn:focus {
    outline: none;
}

.acc-fallback-error {
    animation: acc-fadeIn 0.3s ease;
}
