@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;800;900&display=swap');

/* Reguli generale */
.sf-slider-wrapper { width: 100% !important; background: transparent !important; line-height: 0 !important; position: relative; box-sizing: border-box; }
.sf-main-swiper { position: relative !important; width: 100%; overflow: hidden; margin: 0 auto !important; }
.sf-anchor-wrap { display: block !important; width: 100% !important; overflow: hidden !important; -webkit-mask-image: -webkit-radial-gradient(white, black); transform: translateZ(0); background: transparent !important; position: relative; }
.sf-core-img { width: 100% !important; height: auto !important; display: block !important; border: none !important; margin: 0 !important; }
.sf-desktop-view { display: block !important; }
.sf-mobile-view { display: none !important; }

/* Swiper Controls */
.sf-main-swiper .swiper-pagination { bottom: 15px !important; z-index: 10 !important; }
.sf-main-swiper .swiper-pagination-bullet { background: #fff !important; opacity: 0.6; width: 12px; height: 12px; margin: 0 10px !important; box-shadow: 0 0 4px rgba(0,0,0,0.3); }
.sf-main-swiper .swiper-pagination-bullet-active { background: #fff !important; opacity: 1; transform: scale(1.2); }

/* Ken Burns */
.sf-ken-burns-active .swiper-slide .sf-core-img { transform: scale(1); transition: transform 8s ease-out !important; will-change: transform; }
.sf-ken-burns-active .swiper-slide.swiper-slide-active .sf-core-img { transform: scale(1.08); }

/* Backdrop - GPU Acceleration Extreme pt a preveni lag-ul */
.sf-backdrop-wrap { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.sf-backdrop-layer { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 1; }
.sf-backdrop-dynamic_blur { 
    background-size: cover; 
    background-position: center; 
    filter: blur(40px); 
    opacity: 0.5; 
    transition: background-image 0.8s ease; 
    /* Forțare randare pe placa video (GPU) */
    transform: scale(1.2) translateZ(0); 
    will-change: transform, opacity;
    backface-visibility: hidden;
}
.sf-backdrop-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 70%, rgba(255,255,255,1) 98%); z-index: 2; transform: translateZ(0); }

/* Desktop View */
@media (min-width: 769px) {
    .sf-main-swiper { z-index: 2 !important; }
    .sf-has-backdrop { position: relative; width: 100% !important; z-index: 1; }
    .sf-has-backdrop .sf-main-swiper { box-shadow: 0 20px 50px rgba(0,0,0,0.25); }
}

/* Mobile View */
@media (max-width: 768px) {
    .sf-desktop-view { display: none !important; }
    .sf-mobile-view { display: block !important; }
    .sf-main-swiper .swiper-pagination { bottom: 10px !important; }
    .sf-backdrop-wrap { display: none !important; }
    .sf-mobile-fullwidth { width: 100% !important; padding: 0 !important; }
}

/* Progress bar & Counter */
.sf-main-swiper .sf-progress-bar { position: absolute; z-index: 25; overflow: hidden; background: rgba(255, 255, 255, 0.35); box-shadow: 0 0 6px rgba(255,255,255,0.3), inset 0 1px 0 rgba(255,255,255,0.3); border-radius: 9999px; transform: translateZ(0); }
.sf-main-swiper .sf-progress-bar.sf-progress-right { top: 25px; bottom: 25px; right: 15px; width: 2px; }
.sf-main-swiper .sf-progress-bar.sf-progress-right .sf-progress-bar-inner { top: 0; left: 0; width: 100%; height: 0%; background: linear-gradient(to bottom, #ffffff, #f0f0f0); box-shadow: 0 0 10px rgba(255, 255, 255, 0.85); transition: height 60ms linear; }
.sf-main-swiper .sf-progress-bar.sf-progress-top { top: 18px; left: 20px; right: 95px; height: 3px; }
.sf-main-swiper .sf-progress-bar.sf-progress-top .sf-progress-bar-inner { top: 0; left: 0; width: 0%; height: 100%; background: linear-gradient(to right, #ffffff, #f0f0f0); box-shadow: 0 0 10px rgba(255, 255, 255, 0.85); transition: width 60ms linear; }
.sf-main-swiper .sf-progress-bar.sf-progress-bottom { bottom: 15px; left: 20px; right: 20px; height: 3px; }
.sf-main-swiper .sf-progress-bar.sf-progress-bottom .sf-progress-bar-inner { top: 0; left: 0; width: 0%; height: 100%; background: linear-gradient(to right, #ffffff, #f0f0f0); box-shadow: 0 0 10px rgba(255, 255, 255, 0.85); transition: width 60ms linear; }
.sf-main-swiper .sf-progress-bar-inner { position: absolute; border-radius: 9999px; will-change: width, height; }

.sf-main-swiper .sf-slide-counter { position: absolute; top: 18px; right: 30px; background: rgba(255, 255, 255, 0.12); color: #ffffff; font-size: 13.5px; font-weight: 600; padding: 8px 16px; border-radius: 9999px; z-index: 25; letter-spacing: 1.3px; user-select: none; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid rgba(255, 255, 255, 0.22); box-shadow: 0 6px 24px rgba(0, 0, 0, 0.25); display: flex; align-items: center; gap: 6px; line-height: 1; transform: translateZ(0); }
.sf-main-swiper .sf-slide-counter span { opacity: 0.55; font-weight: 400; font-size: 13px; }

/* -------------------------------------------------------------
   BADGE PRET WOOCOMMERCE - SPLIT DESIGN (#fc4700 & Alb)
-------------------------------------------------------------- */
.sf-price-badge {
    position: absolute;
    z-index: 20;
    display: flex;
    flex-direction: column;
    border-radius: 16px;
    overflow: hidden; 
    box-shadow: 0 15px 40px rgba(0,0,0,0.25);
    pointer-events: none;
    min-width: 160px;
    font-family: 'Outfit', sans-serif !important;
    text-align: center;
    transform: translateZ(0); /* Anti-jitter pe animatii */
}

/* Pozitii Dinamice */
.sf-badge-pos-bottom-left { bottom: 45px; left: 45px; }
.sf-badge-pos-bottom-right { bottom: 45px; right: 45px; }
.sf-badge-pos-top-left { top: 65px; left: 45px; }
.sf-badge-pos-top-right { top: 65px; right: 45px; }

/* LINIA 1: Procentul Mare (Portocaliu) */
.sf-badge-row-pct {
    background-color: #fc4700;
    color: #ffffff;
    padding: 18px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.sf-badge-prefix {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 2px;
    opacity: 0.9;
    font-family: 'Outfit', sans-serif !important;
}

.sf-badge-pct-huge {
    font-size: 52px;
    font-weight: 700;
    letter-spacing: -1.5px;
    line-height: 1;
    font-family: 'Outfit', sans-serif !important;
}

/* LINIA 2: Preturi (Alb) */
.sf-badge-row-price {
    background-color: #ffffff;
    padding: 16px 24px;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 12px;
}

.sf-price-old {
    text-decoration: line-through;
    color: #a0a0a0;
    font-size: 18px;
    font-weight: 600;
    font-family: 'Outfit', sans-serif !important;
}

.sf-price-new {
    color: #fc4700;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.5px;
    font-family: 'Outfit', sans-serif !important;
}

.sf-badge-row-price.sf-no-sale {
    border-radius: 16px;
}

/* -------------------------------------------------------------
   Adaptare Badge pentru Mobil
-------------------------------------------------------------- */
@media (max-width: 768px) {
    .sf-price-badge {
        border-radius: 10px;
        min-width: 90px; 
        box-shadow: 0 8px 20px rgba(0,0,0,0.15);
    }
    
    .sf-badge-pos-bottom-left { bottom: 30px; left: 20px; }
    .sf-badge-pos-bottom-right { bottom: 30px; right: 30px; }
    .sf-badge-pos-top-left { top: 60px; left: 20px; }
    .sf-badge-pos-top-right { top: 60px; right: 30px; }
    
    .sf-badge-row-pct { padding: 8px 12px; }
    .sf-badge-prefix { font-size: 10px; }
    .sf-badge-pct-huge { font-size: 28px; letter-spacing: -1px; }
    
    .sf-badge-row-price { padding: 8px 12px; gap: 6px; }
    .sf-price-old { font-size: 13px; }
    .sf-price-new { font-size: 13px; }
}