
/* FORCE CART CONTAINER WIDTH */
.docentsound-cart-wrapper {
    max-width: 1150px !important;
    margin: 0 auto !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

/* Fix for Cart Block - if shortcode override fails */
.wp-block-woocommerce-cart {
    max-width: 1150px !important;
    margin: 0 auto !important;
}

.woocommerce-cart .woocommerce {
    max-width: 1150px !important;
    margin: 0 auto !important;
}

/* Ensure images in cart are small */
.woocommerce-cart-form__cart-item img {
    max-width: 80px !important;
    height: auto !important;
}

/* GLOBAL QUANTITY INPUT STYLES (Cart & Single Product) - COMMENTED OUT TO USE TAILWIND IN TEMPLATE */
/*
.woocommerce .quantity {
    display: inline-flex !important;
    align-items: center;
    border: 2px solid #e5e7eb;
    border-radius: 9999px;
    padding: 4px 8px;
    background: #fff;
    width: auto;
    flex-shrink: 0;
    margin: 0 auto; 
}

.woocommerce .quantity .qty-btn {
    width: 28px;
    height: 28px;
    background: transparent;
    border: none;
    font-size: 1.25rem;
    font-weight: 700;
    color: #6b7280;
    cursor: pointer;
    display: flex !important;
    align-items: center;
    justify-content: center;
    transition: color 0.2s;
    line-height: 1;
}

.woocommerce .quantity .qty-btn:hover {
    color: #d60000;
}

.woocommerce .quantity input.qty {
    border: none !important;
    background: transparent !important;
    width: 40px !important;
    height: 28px !important;
    padding: 0 !important;
    text-align: center;
    font-size: 1rem !important;
    font-weight: 800 !important;
    color: #111827 !important;
    -moz-appearance: textfield;
    appearance: textfield;
    box-shadow: none !important;
}
*/

/* Hide browser spinners GLOBALLY */
.woocommerce .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .quantity input.qty::-webkit-inner-spin-button,
input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Ensure buttons are visible - COMMENTED OUT FOR TAILWIND COMPATIBILITY */
/*
.woocommerce .quantity button,
.woocommerce .quantity .plus,
.woocommerce .quantity .minus,
.woocommerce .quantity .qty-btn {
    display: flex !important; 
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    font-size: 1.25rem;
    font-weight: 700;
    color: #6b7280;
    cursor: pointer;
    transition: all 0.2s;
    line-height: 1;
    padding: 0;
    border-radius: 4px; 
}

.woocommerce .quantity .qty-btn {
    background: transparent;
    border: none;
    border-radius: 0;
}

.woocommerce .quantity button:hover,
.woocommerce .quantity .plus:hover,
.woocommerce .quantity .minus:hover,
.woocommerce .quantity .qty-btn:hover {
    color: #d60000;
    background: #e5e7eb;
}

.woocommerce .quantity .qty-btn:hover {
    background: transparent; 
}
*/

/* Modern Quantity Input */
.woocommerce .quantity {
    display: inline-flex !important;
    align-items: center;
    border: 1px solid #e5e7eb;
    border-radius: 9999px; /* Rounded full */
    padding: 0.5rem 1rem;
    background: white;
    margin-right: 1rem !important;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.woocommerce .quantity input.qty {
    width: 3rem !important;
    text-align: center;
    border: none !important;
    background: transparent !important;
    font-weight: 700;
    color: #111827;
    font-size: 1rem;
    padding: 0 !important;
    appearance: textfield; /* Remove spinners */
    -moz-appearance: textfield;
}

/* Hide spinners */
.woocommerce .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* SINGLE PRODUCT ADD TO CART BUTTON - Styles handled at bottom of file */

/* WOOCOMMERCE NOTICES (Success/Error Messages) */
.woocommerce-message, 
.woocommerce-info, 
.woocommerce-error {
    background-color: #ffffff !important;
    color: #1f2937 !important;
    border-top: none !important;
    border-radius: 0.75rem !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
    padding: 1rem 1.5rem !important;
    margin-bottom: 2rem !important;
    display: flex !important;
    align-items: center;
    position: relative;
    border-left: 4px solid #10b981 !important; /* Default green for success */
}

.woocommerce-message::before, 
.woocommerce-info::before, 
.woocommerce-error::before {
    display: none !important; /* Hide default icons */
}

/* Success Message Specifics */
.woocommerce-message {
    border-left-color: #10b981 !important;
}

.woocommerce-message .button {
    float: right;
    background: #1f2937 !important;
    color: white !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    padding: 0.5rem 1rem !important;
    border-radius: 0.5rem !important;
    margin-left: 1rem !important;
    text-transform: uppercase;
    transition: all 0.2s;
}

.woocommerce-message .button:hover {
    background: #000 !important;
}

/* Info Message Specifics */
.woocommerce-info {
    border-left-color: #3b82f6 !important; /* Blue */
}

/* Error Message Specifics */
.woocommerce-error {
    border-left-color: #ef4444 !important; /* Red */
}

.woocommerce-error li {
    list-style: none !important;
    margin: 0 !important;
}

/* Cart Totals & Checkout Button */
.cart_totals {
    font-size: 0.875rem;
    width: 100%;
}

/* MODERN CART TOTALS & CHECKOUT ORDER REVIEW TABLE STYLES */
/* We are using a table again for compatibility, but styling it like divs */

.cart_totals table.shop_table,
.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    border: none !important;
    margin: 0;
    display: table !important; /* Ensure it's visible */
    background: transparent !important;
    box-shadow: none !important;
}

.cart_totals table.shop_table th,
.cart_totals table.shop_table td,
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    border: none !important; /* Reset default borders */
    padding: 1rem 0 !important; /* Add vertical spacing */
    background: transparent !important;
}

.cart_totals table.shop_table tr,
.woocommerce-checkout-review-order-table tr {
    border-bottom: 1px solid #f3f4f6 !important; /* Tailwind gray-100 */
}

.cart_totals table.shop_table tr:last-child,
.woocommerce-checkout-review-order-table tr:last-child {
    border-bottom: none !important;
}

/* Specific Row Styles */
.cart_totals table.shop_table tr.order-total,
.woocommerce-checkout-review-order-table tr.order-total {
    border-top: 2px solid #f3f4f6 !important;
    border-bottom: none !important;
}

.cart_totals table.shop_table tr.order-total th,
.woocommerce-checkout-review-order-table tr.order-total th {
    padding-top: 1.5rem !important;
    font-size: 1.125rem;
    font-weight: 900;
    color: #111827;
}

.cart_totals table.shop_table tr.order-total td,
.woocommerce-checkout-review-order-table tr.order-total td {
    padding-top: 1.5rem !important;
    font-size: 1.25rem;
    font-weight: 900;
    color: #d60000;
}

/* Force alignment */
.cart_totals table.shop_table th,
.woocommerce-checkout-review-order-table th {
    text-align: left;
    font-weight: 500;
    color: #6b7280;
    width: 40%; /* Fixed width for labels */
}

.cart_totals table.shop_table td,
.woocommerce-checkout-review-order-table td {
    text-align: right;
    font-weight: 700;
    color: #111827;
}

.wc-proceed-to-checkout {
    display: block;
    width: 100%;
    margin-top: 1.5rem;
}

/* Ensure button visibility and style */
.wc-proceed-to-checkout .checkout-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    background: linear-gradient(135deg, #d60000 0%, #b91c1c 100%) !important;
    color: white !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    padding: 1rem !important;
    border-radius: 0.75rem !important;
    font-size: 0.875rem !important;
    letter-spacing: 0.05em;
    transition: all 0.3s ease !important;
    box-shadow: 0 10px 20px -10px rgba(214, 0, 0, 0.5);
    text-decoration: none !important;
    border: none !important;
    cursor: pointer;
    line-height: 1.5; /* Fix text alignment */
    height: auto;
    white-space: nowrap !important; /* Prevent text wrapping */
}

.wc-proceed-to-checkout .checkout-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 30px -10px rgba(214, 0, 0, 0.6);
    background: linear-gradient(135deg, #b91c1c 0%, #991b1b 100%) !important;
}

.wc-proceed-to-checkout .checkout-button i {
    margin-left: 0.5rem;
    font-size: 1rem;
}

/* Force Place Order Button to be RED */
#place_order {
    background: linear-gradient(135deg, #d60000 0%, #b91c1c 100%) !important;
    color: white !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    padding: 1.25rem 2rem !important;
    border-radius: 0.75rem !important;
    font-size: 1rem !important;
    letter-spacing: 0.05em;
    transition: all 0.3s ease !important;
    box-shadow: 0 10px 20px -10px rgba(214, 0, 0, 0.5) !important;
    border: none !important;
}

#place_order:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 30px -10px rgba(214, 0, 0, 0.6) !important;
    background: linear-gradient(135deg, #b91c1c 0%, #991b1b 100%) !important;
}

/* HIDE REDUNDANT FIELDS */
#billing_country_field,
#shipping_country_field {
    display: none !important;
}

/* Hide inner "Billing Details" title if printed by hook */
.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3 {
    display: none !important;
}

/* Global Scroll Fix */
html, body {
    overflow-x: hidden;
    width: 100%;
    position: relative;
}

/* Fix Checkout Input Layout */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 1.5rem !important; /* Space between fields */
}

/* Force specific widths */
.woocommerce-billing-fields__field-wrapper p.form-row, 
.woocommerce-shipping-fields__field-wrapper p.form-row {
    flex: 0 0 100% !important; /* Default full width */
    max-width: 100% !important;
    margin: 0 !important;
}

/* Half width fields */
.woocommerce-billing-fields__field-wrapper p.form-row-first,
.woocommerce-billing-fields__field-wrapper p.form-row-last,
.woocommerce-shipping-fields__field-wrapper p.form-row-first,
.woocommerce-shipping-fields__field-wrapper p.form-row-last {
    flex: 0 0 calc(50% - 0.75rem) !important; /* 50% minus half gap */
    max-width: calc(50% - 0.75rem) !important;
}

/* Fix input heights */
.woocommerce-checkout .form-row .input-text,
.woocommerce-checkout .form-row select,
.select2-container .select2-selection--single {
    height: 50px !important;
    line-height: 1.5 !important;
    padding: 12px 16px !important;
}

/* Select2 Specific Fixes */
.select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 50px !important;
    padding-left: 16px !important;
}

.select2-container .select2-selection--single .select2-selection__arrow {
    height: 48px !important;
    top: 1px !important;
    right: 8px !important;
}

/* Focus States */
.woocommerce-checkout .form-row .input-text:focus,
.woocommerce-checkout .form-row select:focus,
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: #d60000 !important; /* Primary Red */
    box-shadow: 0 0 0 4px rgba(214, 0, 0, 0.1) !important;
    outline: none;
}

/* PAYMENT SECTION OVERRIDES */
#payment.woocommerce-checkout-payment {
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

#payment.woocommerce-checkout-payment ul.payment_methods {
    border: none !important;
    padding: 0 !important;
}

#payment.woocommerce-checkout-payment div.place-order {
    padding: 0 !important;
    margin-top: 1.5rem !important;
    background: transparent !important;
    border: none !important;
}

/* Payment Methods List */
.wc_payment_methods {
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
}

.wc_payment_methods li.wc_payment_method {
    background: transparent;
    border: none;
    padding: 0 !important;
    margin-bottom: 1rem !important;
    list-style: none !important;
}

/* Payment Description Box */
.wc_payment_methods li.wc_payment_method .payment_box {
    background-color: #ffffff; /* Changed to white to match design */
    color: #6b7280; /* gray-500 */
    font-size: 0.875rem;
    padding: 1rem;
    margin-top: 0.5rem !important;
    border-radius: 0.5rem;
    border: 1px solid #e5e7eb;
    line-height: 1.6;
}

/* Hide default WooCommerce triangle */
.wc_payment_methods li.wc_payment_method .payment_box::before,
.wc_payment_methods li.wc_payment_method .payment_box::after {
    display: none !important;
    content: none !important;
    border: none !important;
}

/* Payment Method Active State */
.wc_payment_method input[type="radio"]:checked + label {
    border-color: #d60000;
    box-shadow: 0 4px 6px -1px rgba(220, 38, 38, 0.1), 0 2px 4px -1px rgba(220, 38, 38, 0.06);
    background-color: #ffffff;
}

/* Change Icon Background on Active */
.wc_payment_method input[type="radio"]:checked + label .rounded-full {
    background-color: #d60000;
    color: white;
}

/* Active/Selected Payment Method - Handled by Tailwind in template */
.wc_payment_methods li.wc_payment_method > label {
    width: 100%;
    cursor: pointer;
}

/* COUPON FORM STYLING (Checkout - Integrated) */
.woocommerce-form-coupon-toggle {
    margin-bottom: 0 !important;
    padding: 0 !important; /* Removed padding */
    font-size: 0.875rem;
    color: #4b5563;
    background: transparent;
    border: none;
}

/* Override default WooCommerce Info Box style for Coupon Toggle */
.woocommerce-form-coupon-toggle .woocommerce-info {
    background-color: transparent !important;
    color: #4b5563 !important; /* Gray-600 */
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Hide the default info icon */
.woocommerce-form-coupon-toggle .woocommerce-info::before {
    display: none !important;
}

.woocommerce-form-coupon-toggle .showcoupon {
    color: #d60000;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: color 0.2s;
}

.woocommerce-form-coupon-toggle .showcoupon:hover {
    color: #b91c1c; /* Darker red */
    text-decoration: underline;
}

/* The actual form when toggled */
.checkout_coupon {
    display: none !important; /* Always hide real form, use fake UI */
}

/* Fake Coupon UI Styling */
.checkout_coupon_ui {
    background: white;
    padding: 1rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    margin-top: 0.5rem;
}

/* ORDER RECEIVED / THANK YOU PAGE */
.woocommerce-order {
    max-width: 800px;
    margin: 0 auto;
    padding: 3rem 1rem;
    text-align: center;
}

/* Hide default "Thank you" message since we have a custom one */
.woocommerce-thankyou-order-received {
    display: none;
}

/* Order Details Overrides */
.woocommerce-order-details {
    background: white;
    border-radius: 1.5rem; /* 24px */
    padding: 0;
    margin-top: 2rem;
    box-shadow: none;
    border: none;
}

.woocommerce-order-details__title {
    font-size: 1.5rem;
    font-weight: 900;
    color: #111827;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #f3f4f6;
    letter-spacing: -0.025em;
}

.woocommerce-table--order-details {
    width: 100%;
    border-collapse: collapse;
}

.woocommerce-table--order-details th {
    padding: 1rem 0;
    color: #6b7280;
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #f3f4f6;
    text-align: left;
}

.woocommerce-table--order-details td {
    padding: 1rem 0;
    color: #111827;
    font-weight: 700;
    border-bottom: 1px solid #f3f4f6;
    text-align: right;
}

.woocommerce-table--order-details tfoot th {
    text-align: right;
    padding-right: 1.5rem;
}

.woocommerce-table--order-details tfoot td {
    text-align: right;
}

.woocommerce-table--order-details .order_item a {
    color: #111827;
    text-decoration: none;
    transition: color 0.2s;
}

.woocommerce-table--order-details .order_item a:hover {
    color: #d60000;
}

.woocommerce-customer-details {
    margin-top: 3rem;
    text-align: left;
}

.woocommerce-column__title {
    font-size: 1.25rem;
    font-weight: 800;
    color: #111827;
    margin-bottom: 1rem;
}

.woocommerce-customer-details address {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 1rem;
    padding: 1.5rem;
    font-style: normal;
    color: #4b5563;
    line-height: 1.6;
}

/* Order Tracking Page Overrides */
.woocommerce-form-track-order {
    max-width: 600px;
    margin: 0 auto;
}

.woocommerce-form-track-order .form-row {
    margin: 0 0 1.5rem 0;
    float: none;
    width: 100%;
}

.woocommerce-form-track-order label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 700;
    color: #374151;
}

.woocommerce-form-track-order input.input-text {
    width: 100%;
    border: 1px solid #d1d5db;
    border-radius: 0.75rem;
    padding: 0.75rem 1rem;
    font-size: 1rem;
    transition: all 0.2s;
}

.woocommerce-form-track-order input.input-text:focus {
    border-color: #d60000;
    box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.1);
    outline: none;
}

/* Ensure Hero Background is always dark */
.bg-gradient-animate {
    background: linear-gradient(to right, #000000, #111827) !important;
    background-size: 200% 200%;
    animation: gradientShift 10s ease infinite;
}

@keyframes gradientShift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* HEADER LOGO FIX */
.site-logo .custom-logo-link {
    display: block;
    max-width: 250px; /* Increased slightly */
    height: auto;
}

.site-logo .custom-logo-link img {
    width: auto;
    height: auto;
    max-height: 64px !important; /* Slightly larger */
    min-width: 50px; /* Prevent collapse */
    object-fit: contain;
    display: block; /* Remove inline spacing */
}

/* Specific fix for SVG logos that might collapse */
.site-logo .custom-logo-link img[src$=".svg"] {
    width: 100%;
    max-width: 200px;
}

/* Footer Logo Specifics */
.footer-logo .site-logo .custom-logo-link img {
    max-height: 50px !important;
    width: auto;
    /* Optional: filter: brightness(0) invert(1); to make logo white */
}

/* HERO TEXT GRADIENT FIX */
.hero-gradient-text {
    background: linear-gradient(to right, #dc2626, #f87171);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    display: inline-block;
    padding-bottom: 0.1em; /* Prevent descender clipping */
    position: relative;
    z-index: 50;
}

/* Fallback for browsers that struggle with clip */
@supports not (background-clip: text) {
    .hero-gradient-text {
        background: none;
        color: #dc2626;
    }
}

/* MENU HOVER EFFECT */
.menu-item a {
    position: relative;
    display: inline-block;
    padding-bottom: 4px;
    transition: color 0.3s ease;
}

.menu-item a:hover {
    color: #d60000; /* Primary Color */
}

.menu-item a::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: #d60000;
    transition: width 0.3s ease-in-out;
}

.menu-item a:hover::after {
    width: 100%;
}

/* Active Menu Item Style */
.menu-item.current-menu-item a {
    color: #d60000;
}

.menu-item.current-menu-item a::after {
    width: 100%;
}

/* Shop Toolbar Styling */
.shop-ordering-wrapper form {
    margin: 0;
    height: 100%;
    display: flex;
    align-items: center;
}

.shop-ordering-wrapper select.orderby {
    appearance: none;
    -webkit-appearance: none;
    background-color: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    padding: 0 2.5rem 0 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 0.75rem center;
    background-repeat: no-repeat;
    background-size: 1.25em 1.25em;
    min-width: 200px;
    height: 48px; /* Fixed height for consistency */
    display: flex;
    align-items: center;
    transition: all 0.2s;
}

.shop-ordering-wrapper select.orderby:hover {
    border-color: #d1d5db;
    background-color: #ffffff;
}

.shop-ordering-wrapper select.orderby:focus {
    outline: none;
    border-color: #d60000;
    box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.1);
}

/* Order Tracking Button Override */
.woocommerce-form-track-order button[name="track"] {
    background: linear-gradient(135deg, #d60000 0%, #b91c1c 100%) !important;
    color: white !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    padding: 1rem 2rem !important;
    border-radius: 0.75rem !important;
    font-size: 0.875rem !important;
    letter-spacing: 0.05em;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 6px -1px rgba(214, 0, 0, 0.3);
    border: none !important;
    width: 100%;
}

.woocommerce-form-track-order button[name="track"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(214, 0, 0, 0.4);
    background: linear-gradient(135deg, #b91c1c 0%, #991b1b 100%) !important;
}

/* PRODUCT GALLERY IMAGE SIZING */
.woocommerce-product-gallery {
    opacity: 1 !important; /* Fix potential opacity issues during load */
    min-height: 500px; /* Ensure a minimum height for the gallery */
}

/* 
   DO NOT override wrapper width or image width with !important 
   as it breaks FlexSlider calculation.
*/

.woocommerce-product-gallery__image a {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    align-items: center;
    justify-content: center;
    min-height: 500px; /* Consistent height */
}

.woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
    min-height: 400px; /* Ensure it's not too small */
    object-fit: contain !important; /* Fill the area but keep aspect ratio */
    display: block !important;
    margin: 0 auto !important;
}

/* On desktop, force a specific height or aspect ratio if they want "square" */
@media (min-width: 1024px) {
    .woocommerce-product-gallery__image img {
         height: 600px !important; /* Fixed height for large screens */
         object-fit: contain !important; /* Force fill as requested */
    }
}

/* Mobile Sticky Bar Padding */
@media (max-width: 1023px) {
    body.single-product {
        padding-bottom: 100px !important;
    }
}

/* Vertical Gallery Layout */
.docent-gallery-wrapper {
    display: flex;
    flex-direction: row-reverse; /* Main Image Right, Thumbs Left */
    gap: 1rem;
    height: 100%;
}

.woocommerce-product-gallery {
    display: flex !important;
    flex-direction: row-reverse;
    width: 100% !important;
    gap: 1rem;
}

/* Main Image Wrapper */
.woocommerce-product-gallery__wrapper {
    width: calc(100% - 100px) !important; /* Reserve space for thumbs */
    margin: 0 !important;
}

/* Thumbnails Wrapper */
.flex-control-nav.flex-control-thumbs {
    width: 80px !important; /* Fixed width for vertical column */
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
    margin: 0 !important;
    order: 1; /* Make sure it's first visually if row-reverse logic fails */
}

.flex-control-thumbs li {
    width: 100% !important;
    height: 80px !important;
    margin: 0 !important;
    float: none !important; /* Override Woo float */
}

/* Add to Cart Form Layout */
.custom-add-to-cart-wrapper form.cart {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* Quantity Input Styling */
.woocommerce .quantity {
    display: flex !important;
    align-items: center;
    border: 1px solid #e5e7eb;
    border-radius: 4px; /* Boxy */
    background: #f9fafb;
    padding: 0;
    margin-right: 0 !important;
    height: 48px;
}

.woocommerce .quantity .qty {
    width: 40px !important;
    height: 100% !important;
    border: none !important;
    background: transparent !important;
    text-align: center;
    font-weight: bold;
    font-size: 1rem;
    padding: 0 !important;
}

/* Add +/- buttons via CSS if theme doesn't add them, or style existing ones if present. 
   Assuming standard Woo quantity buttons are not present by default in all themes, 
   but if they are, target them. */

/* Buttons Styling */
.single_add_to_cart_button {
    background: #374151 !important; /* Dark Grey */
    color: white !important;
    border-radius: 4px !important; /* Boxy */
    height: 48px !important;
    padding: 0 2rem !important;
    font-weight: 700 !important;
    text-transform: none !important;
    font-size: 1rem !important;
    box-shadow: none !important;
}

.single_add_to_cart_button:hover {
    background: #1f2937 !important;
    transform: none !important;
}

/* Tabs Styling */
.docent-custom-tabs ul.tabs {
    border-bottom: 1px solid #e5e7eb !important;
    padding: 0 !important;
    margin: 0 0 2rem 0 !important;
    display: flex !important;
    gap: 2rem !important;
}

.docent-custom-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.docent-custom-tabs ul.tabs li a {
    display: block !important;
    padding: 1rem 0 !important;
    font-weight: 600 !important;
    color: #6b7280 !important;
    border-bottom: 2px solid transparent !important;
    font-size: 0.875rem !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.docent-custom-tabs ul.tabs li.active a {
    color: #d60000 !important; /* Primary Red or Orange depending on preference */
    border-bottom-color: #d60000 !important;
}

/* Hide original tabs if needed */
.woocommerce-tabs {
    display: none; /* We moved tabs manually */
}

/* Ensure the manual tabs are visible */
.docent-custom-tabs .woocommerce-tabs {
    display: block !important;
}

/* Mobile Sticky Bar Padding */
.bg-black .woocommerce-breadcrumb a {
    color: rgba(255, 255, 255, 0.8);
    transition: color 0.2s;
}
.bg-black .woocommerce-breadcrumb a:hover {
    color: #ffffff;
}
.bg-black .woocommerce-breadcrumb {
    color: rgba(255, 255, 255, 0.6);
}

/* Features List Styling (Product Short Desc) */
.product-features-list ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.product-features-list li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.5rem;
    color: #4b5563;
}

.product-features-list li::before {
    content: '\f00c'; /* FontAwesome Check */
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 2px;
    color: #10b981; /* Green */
    font-size: 0.875rem;
}

/* GALLERY FIXES - Ensure FlexSlider works properly */
.woocommerce-product-gallery .flexslider {
    overflow: hidden !important;
    visibility: visible !important;
}

.woocommerce-product-gallery .flex-viewport {
    max-height: none !important;
    transition: none !important;
}

.woocommerce-product-gallery .slides li {
    position: relative !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
}

/* Ensure thumbnails are clickable */
.flex-control-thumbs li {
    cursor: pointer !important;
    opacity: 0.7;
    transition: opacity 0.3s ease;
}

.flex-control-thumbs li:hover,
.flex-control-thumbs li.flex-active {
    opacity: 1;
}

.flex-control-thumbs img {
    cursor: pointer !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Fix for gallery images not displaying properly */
.woocommerce-product-gallery__image {
    position: relative !important;
    display: block !important;
}

.woocommerce-product-gallery__image img {
    position: relative !important;
    z-index: 1 !important;
}

/* Ensure FlexSlider navigation works */
.woocommerce-product-gallery .flex-direction-nav {
    z-index: 10 !important;
}

.woocommerce-product-gallery .flex-direction-nav a {
    z-index: 11 !important;
}

/* Fix for second image not showing */
.woocommerce-product-gallery .slides li:nth-child(2) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}
