.swgo-wrapper{
    margin:20px 0;
    border:1px solid #ececec;
    border-radius:16px;
    background:#fff;
    overflow:hidden;
    box-shadow:0 8px 24px rgba(0,0,0,.04);
}

.swgo-top{
    padding:22px;
    background:linear-gradient(135deg,#f9faf9,#ffffff);
    border-bottom:1px solid #f3f3f3;
}

.swgo-top h3{
    margin:0;
    font-size:22px;
    color:#222;
}

.swgo-top p{
    margin:6px 0 0;
    color:#666;
    font-size:14px;
    line-height:1.6;
}

.swgo-section{
    padding:22px;
}

.swgo-section + .swgo-section{
    border-top:1px solid #f1f1f1;
}

.swgo-section-title{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:10px;
    font-size:17px;
    font-weight:700;
    color:#222;
}

.swgo-section-title span{
    font-size:12px;
    font-weight:700;
    padding:6px 12px;
    border-radius:50px;
    background:#edf7ed;
    color:#2e4f2c;
}

.swgo-section-note{
    margin:0 0 16px;
    color:#666;
    font-size:13px;
    line-height:1.6;
}

.swgo-checkbox{
    display:flex !important;
    align-items:center;
    gap:10px;
    padding:14px;
    background:#f9faf9;
    border:1px solid #e6ece6;
    border-radius:12px;
    cursor:pointer;
    margin-bottom:16px;
}

.swgo-checkbox input{
    width:auto !important;
    margin:0;
}

.swgo-card-fields{
    display:none;
}

.swgo-wrapper label{
    display:block;
    margin-bottom:8px;
    font-weight:600;
    color:#222;
}

.swgo-wrapper select,
.swgo-wrapper textarea,
.swgo-wrapper input[type="file"]{
    width:100%;
    border:1px solid #ddd;
    border-radius:12px;
    padding:12px;
    font-size:14px;
    background:#fff;
}

.swgo-wrapper textarea{
    resize:vertical;
    min-height:110px;
}

#gift_message_note{
    display:block;
    margin-top:8px;
    color:#777;
    font-size:12px;
}

.frame-photo-upload{
    display:none;
    margin-top:15px;
}

#swgo-preview-image{
    width:100%;
    max-width:220px;
    border-radius:14px;
    margin-top:15px;
    border:1px solid #eee;
}

/* MINI CART DESIGN */

.woocommerce-mini-cart .swgo-message-box{
    font-size:12px;
    padding:10px;
}

.woocommerce-mini-cart .swgo-photo-preview img{
    width:80px;
    height:80px;
    border-radius:8px;
}

.woocommerce-mini-cart .variation,
.widget_shopping_cart_content .variation{
    background:#f5eac4;
    border-radius:9px;
    padding:12px;
    margin-top:5px;
}

.woocommerce-mini-cart-item{
    padding-bottom:18px !important;
    margin-bottom:18px !important;
    border-bottom:1px solid #f1f1f1;
}

/* CHECKOUT PAGE */

.woocommerce-checkout-review-order .swgo-photo-preview img{
    width:85px;
    height:85px;
}

/* ORDER DETAILS PAGE */

.woocommerce-table__line-item .swgo-photo-preview img{
    width:90px;
    height:90px;
}
.swgo-cart-photo-inline{
    margin-top:12px;
}

.swgo-cart-photo-inline img{
    width:95px;
    height:95px;
    object-fit:cover;
    border-radius:16px;
    border:2px solid #fff;
    box-shadow:0 6px 18px rgba(0,0,0,.12);
    transition:.3s ease;
    background:#fff;
}

.swgo-cart-photo-inline img:hover{
    transform:scale(1.04);
}

.woocommerce-checkout-review-order .swgo-cart-photo-inline img{
    width:80px;
    height:80px;
}

.widget_shopping_cart .swgo-cart-photo-inline img{
    width:70px;
    height:70px;
    border-radius:12px;
}