/*
	Theme Name: Rehub child theme
	Theme URI: https://wpsoul.com
	Description: A Hybrid magazine/shop/review/news Wordpress Theme
	Author: Sizam
	Author URI: https://wpsoul.com
	Version: 9.4
	Template: rehub-theme
*/

/* =Theme customization starts here
-------------------------------------------------------------- */

/* ==========================================================================
   Temoma Premium Login & Registration Theme Overrides
   ========================================================================== */

/* Main Container */
.temoma-login-container {
    max-width: 1200px;
    margin: 60px auto;
    padding: 0 20px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    box-sizing: border-box;
}

/* Single Form Centered Card styling */
.temoma-single-login-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 50vh;
    width: 100%;
}

.temoma-single-login-card .temoma-login-card {
    width: 100%;
    max-width: 450px;
}

/* Auth Page Notice Formatting */
.temoma-single-login-card .woocommerce-notices-wrapper,
.temoma-login-container .woocommerce-notices-wrapper {
    width: 100%;
    max-width: 450px;
    margin: 0 auto 18px;
}

.temoma-single-login-card .woocommerce-message,
.temoma-single-login-card .woocommerce-error,
.temoma-single-login-card .woocommerce-info {
    border-radius: 12px !important;
    font-size: 13.5px !important;
    line-height: 1.5 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04) !important;
}

/* Hide Default Raw Account Page Title on Auth/Account pages */
.woocommerce-account .main-side.page > .rh-post-wrapper > article > .title,
.woocommerce-account .main-side .title .entry-title,
.woocommerce-account .main-side > .title,
.woocommerce-account article.post > .title {
    display: none !important;
}

/* Card Styling */
.temoma-login-card {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.05), 0 0 1px 1px rgba(0, 0, 0, 0.02);
    border: 1px solid rgba(0, 0, 0, 0.06);
    padding: 40px;
    box-sizing: border-box;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.temoma-login-card:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.08), 0 10px 10px -6px rgba(0, 0, 0, 0.08);
}

/* Headings */
.temoma-login-card h2 {
    font-size: 26px;
    font-weight: 700;
    color: #0f172a;
    margin-top: 0;
    margin-bottom: 28px;
    text-align: center;
    letter-spacing: -0.5px;
}

/* Form layouts */
.temoma-login-card form {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
}

.temoma-login-card p.woocommerce-form-row {
    margin-bottom: 20px !important;
}

.temoma-login-card label {
    display: block;
    font-size: 13.5px;
    font-weight: 600;
    color: #475569;
    margin-bottom: 6px;
}

.temoma-login-card label .required {
    color: #ef4444;
    text-decoration: none;
    font-weight: bold;
}

/* Input Fields styling */
.temoma-login-card input[type="text"],
.temoma-login-card input[type="email"],
.temoma-login-card input[type="password"] {
    width: 100% !important;
    height: 48px !important;
    padding: 10px 16px !important;
    border-radius: 8px !important;
    border: 1px solid #cbd5e1 !important;
    background-color: #f8fafc !important;
    font-size: 15px !important;
    color: #0f172a !important;
    box-sizing: border-box !important;
    outline: none !important;
    transition: all 0.2s ease !important;
}

.temoma-login-card input[type="text"]:focus,
.temoma-login-card input[type="email"]:focus,
.temoma-login-card input[type="password"]:focus {
    border-color: #f59e0b !important; /* Yellow theme */
    background-color: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.15) !important;
}

/* Password eye button and wrapper styling */
.temoma-password-field-wrapper {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
}

.temoma-password-field-wrapper input {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    box-sizing: border-box !important;
    padding: 12px 46px 12px 16px !important;
    margin: 0 !important;
    display: block !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 10px !important;
    background-color: #f8fafc !important;
    font-size: 14.5px !important;
}

.temoma-password-toggle {
    position: absolute !important;
    right: 8px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    height: 36px !important;
    width: 36px !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    color: #94a3b8 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10 !important;
    box-shadow: none !important;
    transition: color 0.2s ease !important;
}

.temoma-password-toggle:hover {
    color: #0f172a !important;
}

.temoma-password-toggle svg {
    width: 20px;
    height: 20px;
    pointer-events: none;
}

/* 
   WooCommerce Password Strength Meter and Hint styling.
   We hide them completely on the login form (since strength meter is irrelevant on login),
   and on registration & password reset forms we style them smoothly below the input.
*/
.temoma-login-card form.login .woocommerce-password-strength,
.temoma-login-card form.login .woocommerce-password-hint {
    display: none !important;
}

.temoma-login-card .woocommerce-password-strength,
.temoma-password-field-wrapper .woocommerce-password-strength {
    display: block !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    flex: 0 0 100% !important;
    margin: 8px 0 4px 0 !important;
    box-sizing: border-box !important;
    z-index: 5;
    text-align: center;
    font-weight: 600;
    padding: 6px 10px;
    font-size: 12px;
    border-radius: 6px;
    clear: both;
}

/* Strength Meter color states styling */
.temoma-login-card .woocommerce-password-strength.short,
.temoma-password-field-wrapper .woocommerce-password-strength.short {
    background-color: #fee2e2 !important;
    color: #ef4444 !important;
    border: 1px solid #fecaca !important;
}
.temoma-login-card .woocommerce-password-strength.bad,
.temoma-password-field-wrapper .woocommerce-password-strength.bad {
    background-color: #fee2e2 !important;
    color: #ef4444 !important;
    border: 1px solid #fecaca !important;
}
.temoma-login-card .woocommerce-password-strength.good,
.temoma-password-field-wrapper .woocommerce-password-strength.good {
    background-color: #fef3c7 !important;
    color: #d97706 !important;
    border: 1px solid #fde68a !important;
}
.temoma-login-card .woocommerce-password-strength.strong,
.temoma-password-field-wrapper .woocommerce-password-strength.strong {
    background-color: #dcfce7 !important;
    color: #15803d !important;
    border: 1px solid #bbf7d0 !important;
}

.temoma-login-card .woocommerce-password-hint,
.temoma-password-field-wrapper .woocommerce-password-hint {
    display: block !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    flex: 0 0 100% !important;
    margin: 4px 0 6px 0 !important;
    font-size: 12px !important;
    color: #64748b !important;
    line-height: 1.4 !important;
    z-index: 5;
    box-sizing: border-box !important;
    clear: both;
}

/* 
   Hide WooCommerce's native password toggle button which appears as a small empty gray box.
   This matches the XPath /html/body/div[1]/div[3]/div/article/div/div[2]/div/div/form/p[2]/span/span/button
*/
.temoma-password-field-wrapper .password-input button,
.temoma-password-field-wrapper .show-password-input,
.show-password-input {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Remember me row styling */
.temoma-login-card p.form-row {
    margin-bottom: 20px;
}

.temoma-login-card label.woocommerce-form-login__rememberme {
    display: inline-flex;
    align-items: center;
    font-weight: 500;
    color: #64748b;
    margin-bottom: 24px;
    cursor: pointer;
    font-size: 14px;
}

.temoma-login-card label.woocommerce-form-login__rememberme input[type="checkbox"] {
    margin-right: 8px;
    border-radius: 4px;
    border: 1px solid #cbd5e1;
    width: 16px;
    height: 16px;
    cursor: pointer;
}

/* Submit button styling */
.temoma-login-card button.button {
    display: block !important;
    width: 100% !important;
    height: 48px !important;
    background-color: #f1c40f !important; /* Gold/yellow matching logo element style */
    color: #1e293b !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 4px 6px -1px rgba(241, 196, 15, 0.2), 0 2px 4px -1px rgba(241, 196, 15, 0.1) !important;
    margin: 0 !important;
}

.temoma-login-card button.button:hover {
    background-color: #f39c12 !important;
    color: #000000 !important;
    box-shadow: 0 10px 15px -3px rgba(243, 156, 18, 0.3), 0 4px 6px -2px rgba(243, 156, 18, 0.15) !important;
    transform: translateY(-1px);
}

.temoma-login-card button.button:active {
    transform: translateY(0);
}

/* Lost Password Link styling */
.temoma-login-card p.lost_password {
    text-align: center;
    margin: 20px 0 0 0 !important;
}

.temoma-login-card p.lost_password a {
    color: #ef4444; /* Brand Red color */
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s ease;
}

.temoma-login-card p.lost_password a:hover {
    color: #dc2626;
    text-decoration: underline;
}

/* Two columns grid layout for side-by-side Login & Registration */
.temoma-login-row {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    justify-content: center;
    margin-top: 30px;
}

.temoma-login-col {
    flex: 1;
    min-width: 320px;
    max-width: 480px;
}

/* Responsive Overrides */
@media (max-width: 768px) {
    .temoma-login-row {
        flex-direction: column;
        align-items: center;
        gap: 30px;
    }
    .temoma-login-col {
        width: 100%;
        max-width: 100%;
    }
    .temoma-login-card {
        padding: 30px 24px;
    }
}

/* Hide public "Become a Vendor" on customer registration card */
.temoma-login-card a[href*="vendor"],
.temoma-login-card .wcfmmp_become_vendor,
.temoma-login-card .wcfmmp_become_vendor_wrap,
.temoma-login-card .wcv-apply-vendor,
.temoma-login-card .wcvendors_become_a_vendor {
    display: none !important;
}

/* Auth switch link (Login <-> Register navigation) */
.temoma-auth-switch-link {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #e2e8f0;
    text-align: center;
    font-size: 13.5px;
    color: #64748b;
}

.temoma-auth-switch-link span {
    margin-right: 6px;
}

.temoma-auth-switch-link a {
    color: #ED1C24 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: color 0.2s ease, text-decoration 0.2s ease;
}

.temoma-auth-switch-link a:hover {
    color: #c9141b !important;
    text-decoration: underline !important;
}



/* ==========================================================================
   WCFM Product Manager Layout & Pricing Improvements
   ========================================================================== */

/* Clean Single Line Pricing Row for Price & Sale Price */
#wcfm_products_manage_form .wcfm_product_manager_general_fields,
#wcfm_products_manage_form_general_expander {
    overflow: visible !important;
}

#wcfm_products_manage_form p.wcfm_title.regular_price,
#wcfm_products_manage_form input#regular_price,
#wcfm_products_manage_form p.wcfm_title.sale_price,
#wcfm_products_manage_form input#sale_price,
#wcfm_products_manage_form .sales_schedule {
    float: none !important;
    clear: none !important;
    display: inline-block !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

#wcfm_products_manage_form p.wcfm_title.regular_price,
#wcfm_products_manage_form p.wcfm_title.sale_price {
    width: auto !important;
    min-width: auto !important;
    max-width: none !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    margin-right: 8px !important;
    line-height: 40px !important;
    white-space: nowrap !important;
}

#wcfm_products_manage_form p.wcfm_title.sale_price {
    margin-left: 20px !important;
}

#wcfm_products_manage_form input#regular_price,
#wcfm_products_manage_form input#sale_price {
    width: 120px !important;
    min-width: 100px !important;
    max-width: 130px !important;
    height: 40px !important;
    padding: 6px 12px !important;
    border-radius: 8px !important;
    border: 1px solid #cbd5e1 !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    background-color: #ffffff !important;
    margin-right: 0 !important;
}

/* Hide all native WCFM schedule links and leftover elements completely */
#wcfm_products_manage_form .sales_schedule,
#wcfm_products_manage_form a.sales_schedule,
#wcfm_products_manage_form a.wcfm_schedule,
#wcfm_products_manage_form p.sale_date_from,
#wcfm_products_manage_form p.sale_date_upto,
#wcfm_products_manage_form input#sale_date_from,
#wcfm_products_manage_form .sales_schedule_fields {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    pointer-events: none !important;
}



/* Restyle the custom Validity Voucher Box to match the dashboard design and prevent layout stretch */
#wcfm_products_manage_form .temoma-voucher-validity-wrapper {
    clear: both !important;
    display: block !important;
    width: 100% !important;
    max-width: 500px !important;
    margin: 25px 0 !important;
    padding: 20px !important;
    background: #f8fafc !important;
    border: 1.5px solid #00b0ff !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
    height: auto !important; /* Forces natural height, removing flex stretch */
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important;
}

#wcfm_products_manage_form .temoma-voucher-validity-wrapper label {
    display: block !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin-bottom: 8px !important;
    font-size: 14.5px !important;
}

#wcfm_products_manage_form .temoma-voucher-validity-wrapper input[type="number"] {
    width: 140px !important;
    height: 40px !important;
    padding: 8px 12px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #0284c7 !important;
    background-color: #ffffff !important;
    outline: none !important;
    box-sizing: border-box !important;
    display: block !important;
}

#wcfm_products_manage_form .temoma-voucher-validity-wrapper p {
    margin: 10px 0 0 0 !important;
    font-size: 12.5px !important;
    color: #64748b !important;
    line-height: 1.5 !important;
}

/* ==========================================================================
   WCFM Category Dropdown Accordion Styles
   ========================================================================== */
#product_cats_checklist,
.product_cats_checklist,
.wcfm_checklist {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    max-height: 320px !important;
    padding: 4px !important;
    margin: 0 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
}

.temoma-parent-cat-item {
    list-style: none !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    display: block !important;
    width: 100% !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.temoma-parent-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 8px 10px !important;
    cursor: pointer !important;
    background: #f8fafc !important;
    transition: background 0.15s ease !important;
    gap: 8px !important;
    user-select: none !important;
}

.temoma-parent-header:hover {
    background: #f1f5f9 !important;
}

.temoma-subcats-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 4px 8px 6px 14px !important;
    background: #ffffff !important;
    border-top: 1px solid #e2e8f0 !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.temoma-subcat-item {
    list-style: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
    padding: 6px 8px !important;
    margin: 2px 0 !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    transition: background 0.15s ease !important;
    border-bottom: 1px dashed #f1f5f9 !important;
    user-select: none !important;
}

.temoma-subcat-item:last-child {
    border-bottom: none !important;
}

.temoma-subcat-item:hover {
    background: #f1f5f9 !important;
}

.temoma-parent-cat-item input[type="checkbox"],
.temoma-subcat-item input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    margin: 0 6px 0 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-block !important;
    appearance: checkbox !important;
    -webkit-appearance: checkbox !important;
    vertical-align: middle !important;
    flex-shrink: 0 !important;
}

.temoma-dropdown-arrow {
    font-size: 11px !important;
    color: #64748b !important;
    padding: 4px 6px !important;
    cursor: pointer !important;
    transition: transform 0.2s ease, background 0.15s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 4px !important;
}

.temoma-dropdown-arrow:hover {
    background: #e2e8f0 !important;
    color: #0f172a !important;
}

.temoma-dropdown-arrow.temoma-open {
    transform: rotate(90deg) !important;
}

/* ==========================================================================
   Heqja e Border, Outline & Shadow nga Ikonat e Header (Menu, Wishlist, Cart)
   ========================================================================== */
header button[onclick*="openTmDrawer"],
header button[onclick*="openTmWishlistDrawer"],
header a[href*="cart"],
nav button[onclick*="openTmWishlistDrawer"],
nav a[href*="cart"] {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    background: transparent !important;
}

header button[onclick*="openTmDrawer"] {
    color: #ED1C24 !important;
}

header button[onclick*="openTmDrawer"] svg {
    stroke: #ED1C24 !important;
}

header button[onclick*="openTmDrawer"]:hover,
header button[onclick*="openTmWishlistDrawer"]:hover,
header a[href*="cart"]:hover,
nav button[onclick*="openTmWishlistDrawer"]:hover,
nav a[href*="cart"]:hover {
    background-color: rgba(0, 0, 0, 0.05) !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* ==========================================================================
   Temoma Order Received / Thank You Page & Table Styling
   ========================================================================== */

/* Main Order Received / Checkout Container Styling */
body.woocommerce-order-received .main-side,
body.woocommerce-order-received .rh-post-wrapper,
body.woocommerce-order-received .post,
body.woocommerce-order-received .content-inner,
body.woocommerce-checkout .main-side,
body.woocommerce-checkout .rh-post-wrapper,
body.woocommerce-checkout .content-inner {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
}

body.woocommerce-order-received .woocommerce {
    max-width: 900px !important;
    margin: 40px auto !important;
    width: 100% !important;
    padding: 0 15px !important;
    box-sizing: border-box !important;
}

body.woocommerce-order-received .woocommerce-order {
    background: #ffffff !important;
    border-radius: 20px !important;
    border: 1px solid #ebdcd0 !important;
    box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.04) !important;
    padding: 40px !important;
    box-sizing: border-box !important;
}

body.woocommerce-order-received .woocommerce-notice--success,
body.woocommerce-order-received p.woocommerce-notice {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin-bottom: 24px !important;
    text-align: left !important;
}

/* Overview Box (Order number, Date, Payment Method, Total) */
.woocommerce-order-overview,
.woocommerce ul.order_details {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: stretch !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 22px 26px !important;
    margin: 20px 0 30px 0 !important;
    list-style: none !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
    gap: 0 !important;
}

.woocommerce-order-overview li,
.woocommerce ul.order_details li {
    flex: 1 1 0 !important;
    border-right: 1px solid #f1f5f9 !important;
    padding: 0 20px !important;
    margin: 0 !important;
    font-size: 11.5px !important;
    text-transform: uppercase !important;
    color: #64748b !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.woocommerce-order-overview li:first-child,
.woocommerce ul.order_details li:first-child {
    padding-left: 0 !important;
}

.woocommerce-order-overview li:last-child,
.woocommerce ul.order_details li:last-child {
    border-right: none !important;
    padding-right: 0 !important;
}

.woocommerce-order-overview li strong,
.woocommerce ul.order_details li strong {
    display: block !important;
    font-size: 15.5px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin-top: 6px !important;
    text-transform: none !important;
    white-space: nowrap !important;
}

@media (max-width: 768px) {
    .woocommerce-order-overview,
    .woocommerce ul.order_details {
        flex-wrap: wrap !important;
        gap: 16px !important;
        padding: 18px !important;
    }
    .woocommerce-order-overview li,
    .woocommerce ul.order_details li {
        flex: 1 1 45% !important;
        padding: 0 !important;
        border-right: none !important;
    }
}

/* Order Details Table Container */
.woocommerce-order-details {
    margin-top: 30px !important;
}

.woocommerce-order-details__title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin-bottom: 16px !important;
}

/* Table - Rounded border on outer edges, clean straight lines inside */
.woocommerce table.shop_table.order_details,
.woocommerce table.woocommerce-table--order-details,
table.shop_table.order_details,
table.woocommerce-table--order-details {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    width: 100% !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    margin: 0 0 30px 0 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
}

/* Reset any pill backgrounds / borders on rows */
.woocommerce table.shop_table.order_details tr,
.woocommerce table.woocommerce-table--order-details tr,
.woocommerce table.shop_table.order_details tbody,
.woocommerce table.woocommerce-table--order-details tbody,
.woocommerce table.shop_table.order_details tfoot,
.woocommerce table.woocommerce-table--order-details tfoot {
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    margin: 0 !important;
}

/* Table Header */
.woocommerce table.shop_table.order_details thead th,
.woocommerce table.woocommerce-table--order-details thead th {
    background-color: #f8fafc !important;
    color: #475569 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 14px 20px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-radius: 0 !important;
}

/* Table Header & Body Column Alignment */
.woocommerce table.shop_table.order_details th.product-name,
.woocommerce table.shop_table.order_details td.product-name,
.woocommerce table.woocommerce-table--order-details th.product-name,
.woocommerce table.woocommerce-table--order-details td.product-name,
.woocommerce table.shop_table.order_details th.woocommerce-table__product-name,
.woocommerce table.shop_table.order_details td.woocommerce-table__product-name {
    text-align: left !important;
    width: 65% !important;
    padding: 16px 20px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-radius: 0 !important;
    font-size: 14.5px !important;
    color: #1e293b !important;
}

.woocommerce table.shop_table.order_details th.product-total,
.woocommerce table.shop_table.order_details td.product-total,
.woocommerce table.shop_table.order_details th.woocommerce-table__product-table,
.woocommerce table.shop_table.order_details td.woocommerce-table__product-total,
.woocommerce table.woocommerce-table--order-details th.product-total,
.woocommerce table.woocommerce-table--order-details td.product-total,
.woocommerce table.woocommerce-table--order-details th.woocommerce-table__product-table,
.woocommerce table.woocommerce-table--order-details td.woocommerce-table__product-total {
    text-align: right !important;
    width: 35% !important;
    padding: 16px 20px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-radius: 0 !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
}

.woocommerce table.shop_table.order_details tbody td.product-name a,
.woocommerce table.woocommerce-table--order-details tbody td.product-name a {
    font-weight: 600 !important;
    color: #0f172a !important;
    text-decoration: none !important;
}

.woocommerce table.shop_table.order_details tbody td.product-name a:hover,
.woocommerce table.woocommerce-table--order-details tbody td.product-name a:hover {
    color: #ED1C24 !important;
}

/* Table Footer Rows */
.woocommerce table.shop_table.order_details tfoot th,
.woocommerce table.woocommerce-table--order-details tfoot th {
    padding: 14px 20px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #64748b !important;
    border-bottom: 1px solid #f1f5f9 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    text-align: left !important;
    width: 65% !important;
}

.woocommerce table.shop_table.order_details tfoot td,
.woocommerce table.woocommerce-table--order-details tfoot td {
    padding: 14px 20px !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    border-bottom: 1px solid #f1f5f9 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    text-align: right !important;
    width: 35% !important;
}

/* Remove bottom border on the very last row */
.woocommerce table.shop_table.order_details tfoot tr:last-child th,
.woocommerce table.shop_table.order_details tfoot tr:last-child td,
.woocommerce table.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce table.woocommerce-table--order-details tfoot tr:last-child td {
    border-bottom: none !important;
}

/* Completely hide the Veprime / Order Actions row on thank you page */
.woocommerce table.shop_table.order_details tfoot tr:has(.order-actions),
.woocommerce table.woocommerce-table--order-details tfoot tr:has(.order-actions),
.woocommerce table.shop_table.order_details tfoot tr:has(.button),
.woocommerce table.woocommerce-table--order-details tfoot tr:has(.button),
.woocommerce table.shop_table.order_details tfoot tr:has(a[href*="pay"]),
.woocommerce table.woocommerce-table--order-details tfoot tr:has(a[href*="pay"]),
.woocommerce table.shop_table.order_details tfoot tr:has(a[href*="cancel"]),
.woocommerce table.woocommerce-table--order-details tfoot tr:has(a[href*="cancel"]),
.woocommerce table.shop_table.order_details tfoot tr.order-actions,
.woocommerce table.woocommerce-table--order-details tfoot tr.order-actions {
    display: none !important;
}

/* ==========================================================================
   Temoma Customer Billing Details Card & Table
   ========================================================================== */
.temoma-customer-details-card {
    margin-top: 30px !important;
}

.temoma-customer-details-card .woocommerce-column__title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin-bottom: 16px !important;
}

.temoma-billing-info-table-wrapper {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
    margin-bottom: 30px !important;
}

.woocommerce table.temoma-billing-info-table,
table.temoma-billing-info-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
}

.woocommerce table.temoma-billing-info-table tbody,
table.temoma-billing-info-table tbody {
    background: transparent !important;
    border: none !important;
}

.woocommerce table.temoma-billing-info-table tr,
table.temoma-billing-info-table tr {
    border-bottom: 1px solid #f1f5f9 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.woocommerce table.temoma-billing-info-table tr:last-child,
table.temoma-billing-info-table tr:last-child {
    border-bottom: none !important;
}

.woocommerce table.temoma-billing-info-table td,
table.temoma-billing-info-table td,
.woocommerce table.temoma-billing-info-table th,
table.temoma-billing-info-table th {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.woocommerce table.temoma-billing-info-table td.temoma-billing-label,
table.temoma-billing-info-table td.temoma-billing-label {
    padding: 16px 20px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #64748b !important;
    width: 40% !important;
    text-align: left !important;
    vertical-align: middle !important;
}

.temoma-billing-icon {
    display: inline-flex !important;
    vertical-align: middle !important;
    margin-right: 8px !important;
    color: #94a3b8 !important;
}

.woocommerce table.temoma-billing-info-table td.temoma-billing-value,
table.temoma-billing-info-table td.temoma-billing-value {
    padding: 16px 20px !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    text-align: left !important;
    vertical-align: middle !important;
}

.temoma-billing-info-table td a {
    color: #0f172a !important;
    text-decoration: none !important;
}

.temoma-billing-info-table td a:hover {
    color: #ED1C24 !important;
    text-decoration: underline !important;
}

/* Ensure clean voucher styling without borders */
#temoma-voucher-card-root {
    border: none !important;
    box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.07) !important;
}

#temoma-voucher-card-root .temoma-voucher-details-box {
    background-color: #FAF4EE !important;
    border: 0 !important;
    border-style: none !important;
    border-color: transparent !important;
    outline: none !important;
    box-shadow: none !important;
    border-radius: 16px !important;
}

#temoma-voucher-card-root .temoma-voucher-details-box table,
#temoma-voucher-card-root .temoma-voucher-details-box tr,
#temoma-voucher-card-root .temoma-voucher-details-box td {
    border: 0 !important;
    border-color: transparent !important;
    outline: none !important;
    box-shadow: none !important;
}

#temoma-voucher-card-root .temoma-voucher-details-box tr:last-child {
    border-top: 1px solid rgba(0, 0, 0, 0.07) !important;
}

#temoma-voucher-card-root .temoma-voucher-guide-box {
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 4px solid #ED1C24 !important;
}

/* ==========================================================================
   Temoma Modern Full-Width Cart Page Styles
   ========================================================================== */

/* 1. Hide Cart Page Title & Default Breadcrumbs */
.woocommerce-cart .title,
.woocommerce-cart .entry-title,
.woocommerce-cart .rh-post-header,
.woocommerce-cart h1.page-title,
.temoma-cart-page .title,
.temoma-cart-page .entry-title,
.temoma-cart-page .rh-post-header,
.page:has(.wp-block-woocommerce-cart) .title,
.page:has(.wp-block-woocommerce-cart) .entry-title,
.page:has(.woocommerce-cart-form) .title,
.page:has(.woocommerce-cart-form) .entry-title {
    display: none !important;
}

/* 2. Completely Hide the Right Sidebar (Popular, Comments, Subscribe) on Cart Page */
.woocommerce-cart .sidebar,
.temoma-cart-page .sidebar,
.page:has(.wp-block-woocommerce-cart) .sidebar,
.page:has(.woocommerce-cart-form) .sidebar {
    display: none !important;
}

/* 3. Remove default REHub square white box & borders behind cart content */
.woocommerce-cart .main-side,
.woocommerce-cart .post,
.woocommerce-cart article.post,
.woocommerce-cart .rh-post-wrapper,
.woocommerce-cart #content,
.temoma-cart-page .main-side,
.temoma-cart-page .post,
.temoma-cart-page article.post,
.temoma-cart-page .rh-post-wrapper,
.temoma-cart-page #content,
.page:has(.wp-block-woocommerce-cart) .main-side,
.page:has(.wp-block-woocommerce-cart) .post,
.page:has(.wp-block-woocommerce-cart) article.post,
.page:has(.wp-block-woocommerce-cart) .rh-post-wrapper,
.page:has(.woocommerce-cart-form) .main-side,
.page:has(.woocommerce-cart-form) .post,
.page:has(.woocommerce-cart-form) article.post,
.page:has(.woocommerce-cart-form) .rh-post-wrapper {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 auto !important;
    width: 100% !important;
    max-width: 1200px !important;
    float: none !important;
}

.woocommerce-cart .rh-container,
.temoma-cart-page .rh-container {
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 30px 20px 60px !important;
}

/* 4. Modern WooCommerce Cart Block Styling */
.wp-block-woocommerce-cart {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

.wp-block-woocommerce-filled-cart-block {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 32px !important;
    width: 100% !important;
}

/* Cart Items Container (Left side card) */
.wp-block-woocommerce-cart-items-block,
.woocommerce-cart-form {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    background: #ffffff !important;
    border-radius: 20px !important;
    padding: 28px 32px !important;
    box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.03), 0 2px 6px -1px rgba(0, 0, 0, 0.02) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
}

/* Order Summary Container (Right side sticky card) */
.wp-block-woocommerce-cart-totals-block,
.cart-collaterals .cart_totals {
    flex: 0 0 420px !important;
    width: 420px !important;
    max-width: 420px !important;
    background: #ffffff !important;
    border-radius: 20px !important;
    padding: 32px !important;
    box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.03), 0 2px 6px -1px rgba(0, 0, 0, 0.02) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    position: sticky !important;
    top: 90px !important;
    box-sizing: border-box !important;
}

@media (max-width: 991px) {
    .wp-block-woocommerce-filled-cart-block {
        flex-direction: column !important;
        gap: 24px !important;
    }
    .wp-block-woocommerce-cart-totals-block {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 auto !important;
    }
}

/* Summary Header */
.wc-block-cart__totals-title,
.wp-block-woocommerce-cart-order-summary-heading-block h2,
.wc-block-cart__totals-title span,
.cart_totals h2 {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #151515 !important;
    margin-bottom: 20px !important;
    letter-spacing: -0.3px !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
    padding-bottom: 12px !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-transform: none !important;
}

/* Checkout Button (Kaloni tek Kasa) */
.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block a,
.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    background: #ED1C24 !important;
    background-color: #ED1C24 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    letter-spacing: 0.2px !important;
    border-radius: 9999px !important;
    padding: 16px 24px !important;
    height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    text-decoration: none !important;
    border: none !important;
    width: 100% !important;
    box-shadow: 0 6px 20px rgba(237, 28, 36, 0.28) !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
}

.wc-block-cart__submit-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:hover,
.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: #c9141b !important;
    background-color: #c9141b !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(237, 28, 36, 0.38) !important;
}

/* Price highlighting */
.wc-block-components-product-price,
.wc-block-components-product-price .wc-block-components-product-price__value,
.cart-discount,
.order-total .woocommerce-Price-amount {
    font-weight: 800 !important;
    color: #ED1C24 !important;
}

/* Regular / strikethrough price */
.wc-block-components-product-price__regular {
    color: #94a3b8 !important;
    text-decoration: line-through !important;
    font-weight: 500 !important;
    margin-left: 6px !important;
}

/* Quantity selector controls */
.wc-block-components-quantity-selector {
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    border-radius: 9999px !important;
    overflow: hidden !important;
    background: #f8fafc !important;
}

.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
    font-weight: 700 !important;
    background: transparent !important;
    border: none !important;
}

.wc-block-components-quantity-selector button {
    background: transparent !important;
    border: none !important;
    transition: background 0.2s ease !important;
}

.wc-block-components-quantity-selector button:hover {
    background: rgba(0, 0, 0, 0.05) !important;
}

/* Coupon Form */
.wc-block-components-totals-coupon-form {
    margin: 16px 0 !important;
}

.wc-block-components-totals-coupon-form input {
    border-radius: 9999px !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    padding: 10px 16px !important;
}

.wc-block-components-totals-coupon-form button {
    border-radius: 9999px !important;
    background: #151515 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    transition: background 0.2s ease !important;
}

.wc-block-components-totals-coupon-form button:hover {
    background: #ED1C24 !important;
}

/* Empty Cart State Card */
.wp-block-woocommerce-empty-cart-block,
.cart-empty {
    background: #ffffff !important;
    border-radius: 20px !important;
    padding: 60px 30px !important;
    text-align: center !important;
    box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.03) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    margin: 20px 0 !important;
}

.wc-block-cart__empty-cart__title {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #151515 !important;
    margin-bottom: 12px !important;
}

/* ==========================================================================
   Clean Cart Items Table Styling & Smooth Header Divider
   ========================================================================== */
.wp-block-woocommerce-cart table.wc-block-cart-items,
.wp-block-woocommerce-cart .wc-block-cart-items,
.wc-block-cart-items,
.woocommerce-cart-form table {
    display: block !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    border: none !important;
    width: 100% !important;
}

/* Remove all weird broken/jagged borders and extra lines */
.wc-block-cart-items th,
.wc-block-cart-items td,
.wc-block-cart-items tr,
.wc-block-cart-item__total,
.wc-block-cart-item__product,
.wc-block-cart-item__prices,
.wc-block-cart-items__header,
.woocommerce-cart-form th,
.woocommerce-cart-form td {
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    box-shadow: none !important;
}

/* Single, continuous, beautiful horizontal line under the header */
.wp-block-woocommerce-cart thead.wc-block-cart-items__header,
.wp-block-woocommerce-cart .wc-block-cart-items thead,
.wc-block-cart-items thead {
    display: block !important;
    width: 100% !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    padding-bottom: 12px !important;
    margin-bottom: 8px !important;
}

.wp-block-woocommerce-cart thead tr.wc-block-cart-items__header,
.wp-block-woocommerce-cart .wc-block-cart-items thead tr,
.wc-block-cart-items thead tr {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    border: none !important;
}

.wc-block-cart-items th,
.woocommerce-cart-form th {
    padding: 0 !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.8px !important;
    color: #64748b !important;
    text-transform: uppercase !important;
    border: none !important;
}

.wp-block-woocommerce-cart .wc-block-cart-items tbody {
    display: block !important;
    width: 100% !important;
}

/* Row Layout: Flexbox between Product info (left) and Total (right) */
.wp-block-woocommerce-cart tr.wc-block-cart-items__row,
.wp-block-woocommerce-cart .wc-block-cart-items__row,
.wc-block-cart-items tbody tr.wc-block-cart-items__row {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    width: 100% !important;
    padding: 22px 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
    box-sizing: border-box !important;
}

.wp-block-woocommerce-cart tr.wc-block-cart-items__row:last-child,
.wc-block-cart-items tbody tr.wc-block-cart-items__row:last-child {
    border-bottom: none !important;
}

/* ==========================================================================
   Product Info Layout & Image Spacing (Force Clean Horizontal Row)
   ========================================================================== */

/* Main Product Cell - Horizontal Flex */
.wp-block-woocommerce-cart td.wc-block-cart-item__product,
.wp-block-woocommerce-cart .wc-block-cart-item__product,
.wc-block-cart-items td.wc-block-cart-item__product,
.wc-block-cart-items .wc-block-cart-item__product,
.wc-block-cart-item__product {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 20px !important;
    padding: 0 !important;
    border: none !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: left !important;
}

/* Force Product Image to stay fixed on the Left */
.wp-block-woocommerce-cart .wc-block-components-product-image,
.wp-block-woocommerce-cart .wc-block-cart-item__image,
.wc-block-cart-items .wc-block-components-product-image,
.wc-block-cart-items .wc-block-cart-item__image,
.wc-block-cart-items td.wc-block-cart-item__product > a,
.wc-block-cart-items td.wc-block-cart-item__product > .wc-block-components-product-image {
    display: block !important;
    flex: 0 0 95px !important;
    width: 95px !important;
    height: 95px !important;
    min-width: 95px !important;
    max-width: 95px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background: #f8fafc !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    margin: 0 24px 0 0 !important;
    padding: 0 !important;
}

.wp-block-woocommerce-cart .wc-block-components-product-image img,
.wp-block-woocommerce-cart .wc-block-cart-item__image img,
.wc-block-cart-items .wc-block-components-product-image img,
.wc-block-cart-items .wc-block-cart-item__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 16px !important;
    display: block !important;
}

/* Product Info Container - Placed to the Right of Image with Generous Spacing */
.wp-block-woocommerce-cart .wc-block-cart-item__product-details,
.wp-block-woocommerce-cart .wc-block-components-product-details,
.wp-block-woocommerce-cart .wc-block-cart-item__wrap,
.wc-block-cart-items .wc-block-cart-item__product-details,
.wc-block-cart-items .wc-block-components-product-details,
.wc-block-cart-items .wc-block-cart-item__wrap,
.wc-block-cart-items td.wc-block-cart-item__product > .wc-block-cart-item__wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 2px 0 0 6px !important;
}

/* Product Title */
.wp-block-woocommerce-cart .wc-block-components-product-name,
.wc-block-cart-items .wc-block-components-product-name {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #151515 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-decoration: none !important;
}

.wp-block-woocommerce-cart .wc-block-components-product-name:hover,
.wc-block-cart-items .wc-block-components-product-name:hover {
    color: #ED1C24 !important;
}

/* Price in Product Column */
.wp-block-woocommerce-cart .wc-block-components-product-price,
.wp-block-woocommerce-cart .wc-block-cart-item__prices,
.wc-block-cart-items .wc-block-components-product-price,
.wc-block-cart-items .wc-block-cart-item__prices {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

.wc-block-cart-items .wc-block-components-product-price::before,
.wc-block-cart-items .wc-block-components-product-price::after,
.wc-block-cart-items .wc-block-cart-item__prices::before,
.wc-block-cart-items .wc-block-cart-item__prices::after,
.wc-block-cart-items .wc-block-components-product-metadata::before,
.wc-block-cart-items .wc-block-components-product-metadata::after,
.wc-block-cart-items hr,
.wc-block-cart-items td.wc-block-cart-item__total::before,
.wc-block-cart-items td.wc-block-cart-item__total::after {
    display: none !important;
    content: none !important;
    border: none !important;
}

/* Quantity Stepper & Trash Icon */
.wp-block-woocommerce-cart .wc-block-cart-item__quantity,
.wp-block-woocommerce-cart .wc-block-components-quantity-selector-and-remove,
.wc-block-cart-items .wc-block-cart-item__quantity,
.wc-block-cart-items .wc-block-components-quantity-selector-and-remove {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 6px !important;
}

.wp-block-woocommerce-cart .wc-block-cart-item__remove-link,
.wc-block-cart-items .wc-block-cart-item__remove-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    color: #94a3b8 !important;
    transition: all 0.2s ease !important;
    background: transparent !important;
    cursor: pointer !important;
}

.wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover,
.wc-block-cart-items .wc-block-cart-item__remove-link:hover {
    color: #ED1C24 !important;
    background: rgba(237, 28, 36, 0.08) !important;
}

/* Right Column Total Cell - Align Top */
.wp-block-woocommerce-cart td.wc-block-cart-item__total,
.wc-block-cart-items tbody tr.wc-block-cart-items__row td.wc-block-cart-item__total,
.wc-block-cart-items td.wc-block-cart-item__total {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    flex: 0 0 auto !important;
    vertical-align: top !important;
    text-align: right !important;
    padding: 0 !important;
    border: none !important;
}

.wc-block-cart-items td.wc-block-cart-item__total .wc-block-components-product-price {
    justify-content: flex-end !important;
    margin: 0 !important;
}

/* Savings Badge ("Ruaje 50L") */
.wp-block-woocommerce-cart .wc-block-components-product-badge,
.wp-block-woocommerce-cart .wc-block-components-sale-badge,
.wc-block-components-product-badge,
.wc-block-components-sale-badge {
    background: #f1f5f9 !important;
    color: #475569 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 3px 8px !important;
    border-radius: 6px !important;
    display: inline-block !important;
    margin-top: 4px !important;
}

/* ==========================================================================
   GLOBAL RESPONSIVE SAFEGUARDS & MOBILE-FIRST FOUNDATIONS
   Strictly isolated to non-desktop viewports (< 1024px & < 768px)
   ========================================================================== */

/* 1. Global Page Alignment, Centering & Overflow Safeguards */
html {
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
}

body {
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box;
}

#rehub-content-wrap,
#main_header,
.rh-outer-wrap,
main {
    width: 100%;
    max-width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}

/* Ensure all REHub containers are perfectly centered and symmetrically padded */
.rh-container {
    width: 100% !important;
    max-width: 80rem !important; /* 1280px matching max-w-7xl */
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
    box-sizing: border-box !important;
}

@media (min-width: 640px) {
    .rh-container {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }
}

@media (min-width: 1024px) {
    .rh-container {
        padding-left: 3rem !important;
        padding-right: 3rem !important;
    }
}

.main-side.full_width,
.rh-container .main-side {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

/* 2. Tablet & Mobile Responsive Layer (< 1024px) */
@media screen and (max-width: 1023px) {
    .rh-container,
    .main-side,
    .content-inner,
    .system_wrap_type {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Cart & Summary Responsive Stacking */
    .wp-block-woocommerce-filled-cart-block {
        flex-direction: column !important;
        gap: 20px !important;
    }

    .wp-block-woocommerce-cart-totals-block,
    .cart-collaterals .cart_totals {
        width: 100% !important;
        max-width: 100% !important;
        position: static !important;
    }
}

/* 3. Mobile Dedicated Layer (< 768px / 360px–430px viewports) */
@media screen and (max-width: 767px) {
    /* Hero Fluid Typography & Word-Wrap Safeguards for Multi-Language Balance */
    .hero-gradient h1,
    .tm-hero-title,
    h1.tm-hero-title {
        font-size: 2.65rem !important;
        line-height: 1.05 !important;
        letter-spacing: -0.04em !important;
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
        hyphens: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .hero-gradient .tm-hero-text-block,
    .hero-gradient p {
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Prevent iOS Safari auto-zoom on form focus */
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="password"],
    input[type="number"],
    input[type="search"],
    select,
    textarea,
    .input-text,
    .temoma-login-card input[type="text"],
    .temoma-login-card input[type="email"],
    .temoma-login-card input[type="password"],
    .woocommerce-Input {
        font-size: 16px !important;
    }

    /* Enforce 44px+ accessible touch target footprint */
    button,
    .button,
    input[type="submit"],
    input[type="button"],
    a.checkout-button,
    .tm-star-btn,
    .tm-category-pill,
    .tm-cat-pill,
    .tm-city-option {
        min-height: 44px;
        box-sizing: border-box;
    }

    /* Native Safe-Area Inset Bottom on Drawers & Overlays */
    #tm-drawer,
    #tm-wishlist-drawer {
        padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px)) !important;
        max-width: 86vw !important;
    }

    /* Sticky Bottom Mobile Bar on Product Detail */
    .tm-mobile-sticky-bar {
        padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    }

    /* Tight 2-Column Mobile Catalog Grids */
    ul.products {
        display: flex !important;
        flex-wrap: wrap !important;
        margin: 0 -6px !important;
        padding: 0 !important;
        list-style: none !important;
    }

    ul.products li.product {
        width: calc(50% - 12px) !important;
        margin: 0 6px 14px 6px !important;
        float: none !important;
        box-sizing: border-box !important;
    }

    /* Single Column Cart Item on Mobile */
    .tm-cart-item-row {
        padding: 16px !important;
    }

    /* Order Received / Thank You Table Mobile Scroll & Padding */
    body.woocommerce-order-received .woocommerce-order {
        padding: 20px 16px !important;
        border-radius: 16px !important;
    }

    .woocommerce-order-details {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .woocommerce table.shop_table.order_details th.product-name,
    .woocommerce table.shop_table.order_details td.product-name,
    .woocommerce table.woocommerce-table--order-details th.product-name,
    .woocommerce table.woocommerce-table--order-details td.product-name {
        padding: 12px 10px !important;
        font-size: 13.5px !important;
        width: 60% !important;
    }

    .woocommerce table.shop_table.order_details th.product-total,
    .woocommerce table.shop_table.order_details td.product-total,
    .woocommerce table.woocommerce-table--order-details th.product-total,
    .woocommerce table.woocommerce-table--order-details td.product-total {
        padding: 12px 10px !important;
        font-size: 13.5px !important;
        width: 40% !important;
    }

    /* Customer Billing Info Table on Mobile */
    .woocommerce table.temoma-billing-info-table td.temoma-billing-label,
    table.temoma-billing-info-table td.temoma-billing-label {
        width: 38% !important;
        padding: 12px 10px !important;
        font-size: 12.5px !important;
    }

    .woocommerce table.temoma-billing-info-table td.temoma-billing-value,
    table.temoma-billing-info-table td.temoma-billing-value {
        width: 62% !important;
        padding: 12px 10px !important;
        font-size: 13px !important;
    }

    /* Touch Momentum Scrolling on Category Containers */
    .tm-category-pills-wrap,
    .scrollbar-hide {
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
    }
}

/* ==========================================================================
   Temoma My Account & WooCommerce Table Modernization
   ========================================================================== */
.woocommerce-account table,
.woocommerce-checkout table,
table.shop_table,
table.woocommerce-orders-table,
table.wcfm-table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden !important;
    border: 1.5px solid #ebdcd0 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    width: 100% !important;
    margin-bottom: 24px !important;
}

.woocommerce-account table th,
.woocommerce-checkout table th,
table.shop_table th {
    background: #f8fafc !important;
    color: #475569 !important;
    font-weight: 700 !important;
    font-size: 12.5px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 14px 18px !important;
    border-bottom: 1.5px solid #ebdcd0 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-radius: 0 !important;
    text-align: left !important;
}

.woocommerce-account table td,
.woocommerce-checkout table td,
table.shop_table td {
    padding: 16px 18px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-radius: 0 !important;
    color: #1e293b !important;
    font-size: 14px !important;
    background: #ffffff !important;
    vertical-align: middle !important;
}

.woocommerce-account table tr,
.woocommerce-checkout table tr,
table.shop_table tr {
    border-radius: 0 !important;
    background: transparent !important;
}

.woocommerce-account table tr:last-child td,
.woocommerce-checkout table tr:last-child td,
table.shop_table tr:last-child td {
    border-bottom: none !important;
}

.woocommerce-account table tr:hover td {
    background-color: #fafafa !important;
}

.woocommerce-account table .button,
.woocommerce-account table a.button,
table.shop_table .button {
    border-radius: 999px !important;
    padding: 8px 18px !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    background: #ffffff !important;
    border: 1.5px solid #cbd5e1 !important;
    color: #0f172a !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
}

.woocommerce-account table .button:hover,
.woocommerce-account table a.button:hover,
table.shop_table .button:hover {
    background: #ED1C24 !important;
    border-color: #ED1C24 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(237, 28, 36, 0.25) !important;
}