/* =====================================================
   HIDE DEFAULT WOO VARIATION DROPDOWNS
===================================================== */
table.variations{
    display:none !important;
}


/* =====================================================
   ATTRIBUTE WRAPPER
===================================================== */
.swpc-attribute{
    margin-bottom:30px;
}

.swpc-attribute h4{
    font-weight:800;
    letter-spacing:.5px;
    margin-bottom:14px;
}


/* =====================================================
   COLOR SELECTOR
===================================================== */
.swpc-options{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}

.swpc-color{
    background:#f2de00;
    border:2px solid transparent;
    padding:12px 24px;
    font-weight:700;
    cursor:pointer;
    transition:all .25s ease;
    border-radius:6px;
}

.swpc-color:hover{
    transform:translateY(-2px);
}

/* ACTIVE COLOR (Demo Style) */
.swpc-color.active{
    background:#111;
    color:#fff;
    border-color:#ff6a00;
    box-shadow:0 0 0 3px rgba(255,106,0,.25);
}


/* =====================================================
   SIZE GRID (MATCH DEMO STRUCTURE)
===================================================== */
.swpc-size-options{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:22px;
    margin-top:20px;
}


/* =====================================================
   SIZE CARD
===================================================== */
.swpc-size-card{
    width:100%;
    background:#f3f3f3;
    border:2px solid #e3e3e3;
    padding:18px 16px 20px 16px;
    text-align:center;
    transition:all .25s ease;
    border-radius:4px;
}

.swpc-size-card:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 22px rgba(0,0,0,.08);
}

/* ACTIVE SIZE (qty > 0) */
.swpc-size-card.active{
    border-color:#ff6a00;
    background:#fff4ec;
}


/* =====================================================
   SIZE TITLE
===================================================== */
.swpc-size-title{
    font-size:20px;
    font-weight:800;
    margin-bottom:14px;
}


/* =====================================================
   QUANTITY CONTROL (STABLE VERSION)
===================================================== */
.swpc-qty{
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:48px;
    border:1px solid #dcdcdc;
    background:#fff;
    padding:0 8px;
}

/* RESET ELEMENTOR/WOO BUTTON STYLES */
.swpc-qty button{
    appearance:none;
    border:none;
    background:transparent;
    width:40px;
    height:40px;
    font-size:22px;
    font-weight:700;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:1;
    padding:0;
}

/* hover feedback */
.swpc-qty button:hover{
    background:#f3f3f3;
    border-radius:4px;
}


/* INPUT FIELD */
.swpc-qty input{
    appearance:textfield;
    border:none;
    width:50px;
    text-align:center;
    font-size:18px;
    font-weight:700;
    background:transparent;
    outline:none;
}

/* remove browser arrows */
.swpc-qty input::-webkit-inner-spin-button,
.swpc-qty input::-webkit-outer-spin-button{
    -webkit-appearance:none;
    margin:0;
}


/* =====================================================
   STOCK TEXT
===================================================== */
.swpc-stock{
    margin-top:12px;
    font-size:14px;
    color:#777;
}


/* =====================================================
   RESPONSIVE (LIKE DEMO SITE)
===================================================== */
@media(max-width:1200px){
    .swpc-size-options{
        grid-template-columns:repeat(3,1fr);
    }
}

@media(max-width:900px){
    .swpc-size-options{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:520px){
    .swpc-size-options{
        grid-template-columns:repeat(1,1fr);
    }
}