/**
 * Modern Clean UI - Soft & Premium (De-Flatsome)
 * Round corners, remove lines, soft shadows.
 */

/* 1. GLOBAL LAYOUT & SPACING */
.product-container .row {
    margin-bottom: 50px !important;
    /* Spacing from footer/related */
}

/* Remove default Flatsome lines/borders */
.product-page .col-inner,
.product-page .product-gallery,
.product-page .product-info {
    border: none !important;
    box-shadow: none !important;
}

/* 2. GALLERY (Soft Look) */
.product-gallery .flickity-viewport,
.product-gallery .woocommerce-product-gallery__image img {
    border-radius: 20px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
}

.product-gallery .flex-control-thumbs li img {
    border-radius: 2px !important;
    border: 2px solid transparent !important;
    transition: all 0.3s ease;
}

.product-gallery .flex-control-thumbs li img.flex-active {
    border-color: #4caf50 !important;
    /* Green accent */
    transform: translateY(-2px);
}

/* 3. PRODUCT INFO AREA */
.product-info {
    padding: 20px !important;
}

.product_title {
    font-family: 'Inter', sans-serif !important;
    font-weight: 800 !important;
    font-size: 2rem !important;
    color: #2d3436 !important;
    letter-spacing: -0.5px;
}

.price {
    font-weight: 800 !important;
    color: #00b894 !important;
    /* Modern Mint/Green */
    font-size: 2.2rem !important;
    text-shadow: none !important;
}

/* 4. FEATURE BOX (No Borders, Soft Shadow) */
.wells-feature-box,
.product-page section[bg_color] {
    background: #fff !important;
    border: none !important;
    border-radius: 20px !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.06) !important;
    padding: 30px !important;
    margin: 25px 0 !important;
}

.wells-feature-header {
    margin-bottom: 20px;
    font-size: 1.2rem;
    font-weight: 700;
}

/* 5. INPUTS & BUTTONS (Round & Plump) */
input,
select,
textarea {
    border-radius: 2px !important;
    border: 1px solid #f1f2f6 !important;
    background: #fdfdfd !important;
    padding: 12px 15px !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.02) !important;
}

input:focus {
    border-color: #4caf50 !important;
    background: #fff !important;
}

button.single_add_to_cart_button,
.wells-buy-now-btn,
.wells-callback-trigger {
    border-radius: 2px !important;
    /* Pill shape */
    box-shadow: 0 10px 20px rgba(76, 175, 80, 0.25) !important;
    /* Soft colored shadow */
    border: none !important;
    transition: transform 0.2s, box-shadow 0.2s !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: none !important;
    /* Sentence case is more modern */
}

button.single_add_to_cart_button:hover,
.wells-buy-now-btn:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 15px 30px rgba(76, 175, 80, 0.35) !important;
}

/* 6. TABS (Floating Card Style) */
.woocommerce-tabs ul.tabs {
    border: none !important;
    background: transparent !important;
    gap: 15px !important;
    margin-bottom: 0 !important;
}

.woocommerce-tabs ul.tabs li {
    border: none !important;
    margin: 0 !important;
}

.woocommerce-tabs ul.tabs li a {
    border-radius: 2px !important;
    background: #f1f2f6 !important;
    color: #636e72 !important;
    padding: 10px 25px !important;
    transition: all 0.3s !important;
    font-weight: 600 !important;
}

.woocommerce-tabs ul.tabs li.active a {
    background: #4caf50 !important;
    color: #fff !important;
    box-shadow: 0 5px 15px rgba(76, 175, 80, 0.3) !important;
}

.woocommerce-Tabs-panel {
    background: #fff !important;
    border-radius: 20px !important;
    padding: 40px !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.03) !important;
    margin-top: 20px !important;
    border: none !important;
}

/* 7. RELATED PRODUCTS (Spacing & Cards) */
.related-products-wrapper,
.related.products {
    margin-top: 60px !important;
    padding-top: 40px !important;
    border-top: 1px dashed #e1e1e1 !important;
    /* Subtle separator */
}

.product-small.box {
    border-radius: 2px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05) !important;
    transition: transform 0.3s !important;
    border: none !important;
}

.product-small.box:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1) !important;
}

/* 8. TABLE STYLING (No Grid Lines) */
.shop_attributes th,
.shop_attributes td {
    border: none !important;
    border-bottom: 1px solid #f9f9f9 !important;
    padding: 15px !important;
}

.shop_attributes tr:nth-child(even) th,
.shop_attributes tr:nth-child(even) td {
    background: #fcfcfc !important;
    border-radius: 8px;
}
/* FIXED: Thumbnails Rounded */
.product-gallery .flex-control-thumbs li,
.product-gallery .flex-control-thumbs li img {
    border-radius: 2px !important;
    overflow: hidden !important;
}

.product-gallery .flex-control-thumbs li {
    margin-bottom: 10px !important; /* Spacing between verts */
}

/* FIXED: Wells Quantity Selector (Pill Shape) */
.wells-qty-wrap {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #f8f9fa !important;
    border-radius: 2px !important;
    border: 1px solid #e1e4e8 !important;
    overflow: hidden !important;
    height: 50px !important; /* Match Button Height */
    box-shadow: 0 4px 10px rgba(0,0,0,0.03) !important;
}

.wells-qty-btn {
    width: 40px !important;
    height: 100% !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 18px !important;
    color: #666 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important; /* Reset existing pill radius on buttons */
}

.wells-qty-btn:hover {
    background: #e9ecef !important;
    color: #333 !important;
    transform: none !important; /* No jump */
}

.wells-qty-input {
    width: 45px !important;
    height: 100% !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: center !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    color: #333 !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

/* Remove Arrows from Number Input */
.wells-qty-input::-webkit-outer-spin-button,
.wells-qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.wells-qty-input[type=number] {
  -moz-appearance: textfield;
}

/* Align Purchase Row */
.wells-purchase-row {
    display: flex !important;
    gap: 15px !important;
    align-items: center !important;
}

/* FIXED V2: Quantity Selector - Seamless Pill */
.wells-qty-wrap {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;           /* White background */
    border: 1px solid #ddd !important;     /* Single wrapper border */
    border-radius: 2px !important;        /* Pill shape */
    height: 50px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05) !important;
    width: 140px !important;               /* Fixed width */
}

.wells-qty-btn {
    width: 40px !important;
    height: 100% !important;
    border: none !important;
    background: transparent !important;    /* Transparent */
    font-size: 20px !important;
    color: #555 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
}

.wells-qty-btn:hover {
    background: #f5f5f5 !important;
    color: #000 !important;
}

.wells-qty-input {
    flex: 1 !important;
    height: 100% !important;
    border: none !important;               /* No border */
    border-left: 1px solid #f0f0f0 !important;  /* Subtle dividers */
    border-right: 1px solid #f0f0f0 !important;
    background: transparent !important;
    text-align: center !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    color: #333 !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* FIXED V3: User Requested Tech Specs + Height Alignment */
.wells-qty-wrap {
    height: 64px !important; /* User requested height match */
    width: auto !important;
    border-radius: 64px !important; /* Fully round based on height */
    padding: 0 5px !important;
    background: #fff !important;
}

.wells-qty-input {
    -webkit-appearance: textfield !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
    border-radius: 0 !important;
    font-size: 1.2rem !important; /* Larger font for 64px height */
    max-width: 3em !important;
    text-align: center !important;
    width: 3em !important;
    height: 100% !important; /* Fill container */
    border: none !important;
    border-left: 1px solid #eee !important;
    border-right: 1px solid #eee !important;
    background: transparent !important;
}

.wells-qty-btn {
    height: 100% !important;
    width: 45px !important;
    font-size: 24px !important;
    color: #333 !important;
}

/* Match CTA Buttons to New Height */
.wells-buy-now-btn,
button.single_add_to_cart_button {
    height: 64px !important;
    border-radius: 64px !important;
    font-size: 1.1rem !important;
}

/* FIXED: Clean Review Section (No Borders) */
#reviews, 
#review_form_wrapper, 
#review_form,
.comment-respond {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#comments,
#respond {
    border: none !important;
    box-shadow: none !important;
}

/* Fix Input Form Borders */
#commentform {
    border: none !important;
    padding: 20px !important;
    background: #fdfdfd !important;
    border-radius: 20px !important;
    box-shadow: 0 5px 20px rgba(0,0,0,0.03) !important;
}

/* Remove green borders from validation/default inputs */
.comment-form-rating,
.comment-form-comment,
.comment-form-author,
.comment-form-email {
    border: none !important;
}

.comment-form input, 
.comment-form textarea {
    border: 1px solid #f0f0f0 !important;
    box-shadow: none !important;
}

.comment-form input:focus, 
.comment-form textarea:focus {
    border-color: #4caf50 !important;
    box-shadow: 0 5px 15px rgba(76, 175, 80, 0.1) !important;
}

/* FIXED: Tab Panels Clean (User Request) */
.product-page .nav-tabs + .tab-panels {
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.product-page .tab-panels .panel {
    background: transparent !important;
    padding: 20px 0 !important;
}

/* Ensure all modern styles are scoped to single product only */
/* (Note: existing styles are already scoped with .product-page or .product-info, but reinforcing here) */
.single-product .woocommerce-Tabs-panel {
    background: transparent !important;
    box-shadow: none !important;
    padding: 10px 0 !important;
    margin-top: 0 !important;
}
