/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/
Description: Child theme for Hello Elementor. Add custom CSS and PHP here so changes are not removed when Hello Elementor updates.
Author: Abdul Rehman
Author URI: https://devabdulrehman.com/
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
*/

/* Add your custom CSS below this line */

/* Global css */

html, body {
	overflow-x: hidden;
}

/* woo product gallery css */

/* Layout: thumbs left, main image right */
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	position: relative;
}

.elementor-widget-woocommerce-product-images .flex-viewport {
	order: 2;
	flex: 1;
	min-width: 0;
	border: 1px solid #e6e6e6;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	max-width: 100%;
}

/* Vertical thumbnail rail */
.elementor-widget-woocommerce-product-images .flex-control-thumbs {
	order: 1;
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 82px;
	flex: 0 0 82px;
	margin: 0;
	padding: 0;
	max-height: 520px;
	overflow-y: auto;
	scrollbar-width: none;
}
.elementor-widget-woocommerce-product-images .flex-control-thumbs::-webkit-scrollbar { display: none; }

.elementor-widget-woocommerce-product-images .flex-control-thumbs li {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
	list-style: none;
}

.elementor-widget-woocommerce-product-images .flex-control-thumbs img {
	width: 100%;
	border: 1.5px solid #e0e0e0;
	border-radius: 10px;
	padding: 4px;
	background: #fff;
	opacity: 1;
	transition: border-color .2s ease, box-shadow .2s ease;
	cursor: pointer;
}
.elementor-widget-woocommerce-product-images .flex-control-thumbs img:hover {
	border-color: #b5b5b5;
}
.elementor-widget-woocommerce-product-images .flex-control-thumbs img.flex-active {
	border-color: #2563eb;
	box-shadow: 0 0 0 1px #2563eb;
}

/* Prev / next arrows */
.elementor-widget-woocommerce-product-images .flex-direction-nav {
	margin: 0;
	padding: 0;
	list-style: none;
}
.elementor-widget-woocommerce-product-images .flex-direction-nav a {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid #dcdcdc;
	box-shadow: 0 2px 6px rgba(0,0,0,.12);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0;
	text-indent: 0;
	transition: opacity .2s ease;
}
.elementor-widget-woocommerce-product-images:hover .flex-direction-nav a { opacity: 1; }

.elementor-widget-woocommerce-product-images .flex-direction-nav a::before {
	font-family: inherit;
	font-size: 16px;
	line-height: 1;
	color: #333;
}
.elementor-widget-woocommerce-product-images .flex-prev { left: 125px; }
.elementor-widget-woocommerce-product-images .flex-prev::before { content: "‹"; }
.elementor-widget-woocommerce-product-images .flex-next { right: 14px; }
.elementor-widget-woocommerce-product-images .flex-next::before { content: "›"; }

/* Zoom pill (restyles Woo's lightbox trigger) */
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery__trigger {
	position: absolute;
	right: 16px;
	bottom: 16px;
	top: auto;
	left: auto;
	z-index: 6;
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 7px 14px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid #dcdcdc;
	box-shadow: 0 2px 6px rgba(0,0,0,.10);
	font-size: 13px;
	color: #333;
	text-decoration: none;
}
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery__trigger::after {
	content: "Zoom";
}

/* Mobile: thumbs back under the image */
@media (max-width: 767px) {
	.elementor-widget-woocommerce-product-images .flex-direction-nav a{
		top:60%;
	}
	.elementor-widget-woocommerce-product-images .woocommerce-product-gallery {
		flex-direction: column;
	}
	.elementor-widget-woocommerce-product-images .flex-control-thumbs {
		flex-direction: row;
		width: 100%;
		flex: 1 1 auto;
		overflow-x: auto;
		max-height: none;
	}
	.elementor-widget-woocommerce-product-images .flex-control-thumbs li { width: 70px !important; flex: 0 0 70px; }
	.elementor-widget-woocommerce-product-images .flex-prev { left: 14px; }
}


/* track order css */



/* Outer tracking card */
.track-order-card {
    width: 100%;
    max-width: 720px;
    margin: 40px auto;
    padding: 42px;
    background: #ffffff;
    border: 1px solid #e7eaf0;
    border-radius: 18px;
    box-shadow: 0 16px 45px rgba(16, 24, 40, 0.08);
}

/* Reset WooCommerce form layout */
.track-order-card .woocommerce-form-track-order {
    display: block !important;
    width: 100%;
    margin: 0;
}

/* Introductory paragraph */
.track-order-card .woocommerce-form-track-order > p:first-child {
    max-width: 600px;
    margin: 0 auto 30px;
    color: #667085;
    font-size: 16px;
    line-height: 1.7;
    text-align: center;
}

/* Every form row */
.track-order-card .woocommerce-form-track-order .form-row {
    float: none !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
}

/* Labels */
.track-order-card .woocommerce-form-track-order label {
    display: block;
    margin: 0 0 8px;
    color: #101828;
    font-size: 15px;
    font-weight: 600;
}

/* Input fields */
.track-order-card .woocommerce-form-track-order input.input-text {
    display: block;
    width: 100% !important;
    height: 54px;
    padding: 0 16px;
    color: #101828;
    background: #f9fafb;
    border: 1px solid #d0d5dd;
    border-radius: 10px;
    box-sizing: border-box;
    font-family: inherit;
    font-size: 16px;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.track-order-card .woocommerce-form-track-order input.input-text:focus {
    background: #ffffff;
    border-color: #1746d1;
    box-shadow: 0 0 0 4px rgba(23, 70, 209, 0.12);
}

/* Button */
.track-order-card .woocommerce-form-track-order button.button {
    display: block !important;
    width: 100% !important;
    min-height: 56px;
    margin: 8px 0 0 !important;
    padding: 14px 24px;
    color: #ffffff !important;
    background: #1746d1 !important;
    border: none !important;
    border-radius: 10px;
    font-family: inherit;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 10px 22px rgba(23, 70, 209, 0.2);
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.track-order-card .woocommerce-form-track-order button.button:hover {
    background: #1037aa !important;
    transform: translateY(-2px);
}

/* Prevent stray clear elements creating empty space */
.track-order-card .clear {
    display: none !important;
}


/* =========================================================
   WOOCOMMERCE TRACK ORDER RESULT
   Add after the existing "track order css"
   ========================================================= */

/*
 * Recommended:
 * Keep the WooCommerce shortcode/widget inside an Elementor
 * container with the CSS class: track-order-card
 */

/* Result card sizing */
.track-order-card:has(.woocommerce-order-details),
.track-order-card:has(.woocommerce-customer-details) {
    max-width: 1180px;
    padding: 36px;
}

/* Main WooCommerce result wrapper */
.track-order-card .woocommerce {
    width: 100%;
    color: #475467;
}

/* Remove unnecessary clearfix spacing */
.track-order-card .woocommerce::before,
.track-order-card .woocommerce::after,
.track-order-card .woocommerce-order-details::before,
.track-order-card .woocommerce-order-details::after {
    display: none !important;
    content: none !important;
}

/* =========================================================
   ORDER STATUS MESSAGE
   ========================================================= */

.track-order-card .woocommerce > p:first-child,
.track-order-card .woocommerce-order-overview + p,
.track-order-card p.order-info {
    position: relative;
    margin: 0 0 30px !important;
    padding: 18px 20px 18px 54px !important;
    color: #344054 !important;
    background: #f3f6ff;
    border: 1px solid #dbe4ff;
    border-left: 4px solid #1746d1;
    border-radius: 12px;
    font-size: 15px;
    line-height: 1.7;
}

/* Status icon */
.track-order-card .woocommerce > p:first-child::before,
.track-order-card p.order-info::before {
    content: "✓";
    position: absolute;
    top: 50%;
    left: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: #ffffff;
    background: #1746d1;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 800;
    transform: translateY(-50%);
}

/* Order number, date and status values */
.track-order-card .woocommerce > p:first-child mark,
.track-order-card p.order-info mark {
    padding: 3px 7px;
    color: #123fc2 !important;
    background: #eaf0ff !important;
    border-radius: 5px;
    font-weight: 700;
}

/* =========================================================
   HEADINGS
   ========================================================= */

.track-order-card .woocommerce-order-details__title,
.track-order-card .woocommerce-column__title,
.track-order-card .woocommerce h2,
.track-order-card .woocommerce h3 {
    margin: 0 0 18px !important;
    color: #101828 !important;
    font-size: 28px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
}

.track-order-card .woocommerce-customer-details {
    margin-top: 34px !important;
}

/* =========================================================
   ORDER DETAILS TABLE
   ========================================================= */

.track-order-card .woocommerce-order-details {
    margin: 0 !important;
}

.track-order-card table.woocommerce-table--order-details,
.track-order-card table.order_details,
.track-order-card table.shop_table {
    width: 100% !important;
    margin: 0 !important;
    background: #ffffff;
    border: 1px solid #e4e9f1 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 14px !important;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(15, 35, 75, 0.05);
}

/* Table header */
.track-order-card table.shop_table thead th {
    padding: 16px 18px !important;
    color: #101828 !important;
    background: #f8fafc !important;
    border: 0 !important;
    border-bottom: 1px solid #e4e9f1 !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    text-align: left !important;
}

/* Table cells */
.track-order-card table.shop_table tbody td,
.track-order-card table.shop_table tfoot th,
.track-order-card table.shop_table tfoot td {
    padding: 16px 18px !important;
    color: #475467 !important;
    background: #ffffff !important;
    border: 0 !important;
    border-bottom: 1px solid #edf0f5 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    vertical-align: middle !important;
}

/* Product column */
.track-order-card table.shop_table .woocommerce-table__product-name {
    width: 66%;
}

/* Product links */
.track-order-card table.shop_table .woocommerce-table__product-name a,
.track-order-card table.shop_table .product-name a {
    color: #1746d1 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.track-order-card table.shop_table .woocommerce-table__product-name a:hover,
.track-order-card table.shop_table .product-name a:hover {
    color: #1037aa !important;
    text-decoration: underline !important;
}

/* Product quantity */
.track-order-card table.shop_table .product-quantity {
    color: #667085 !important;
    font-weight: 700 !important;
}

/* Price column */
.track-order-card table.shop_table .woocommerce-table__product-total,
.track-order-card table.shop_table td:last-child {
    color: #101828 !important;
    font-weight: 700 !important;
    text-align: right !important;
    white-space: nowrap;
}

/* Footer labels */
.track-order-card table.shop_table tfoot th {
    color: #344054 !important;
    background: #fbfcfe !important;
    font-weight: 700 !important;
    text-align: left !important;
}

/* Footer values */
.track-order-card table.shop_table tfoot td {
    color: #101828 !important;
    font-weight: 750 !important;
    text-align: right !important;
}

/* Final total row */
.track-order-card table.shop_table tfoot tr:last-child th,
.track-order-card table.shop_table tfoot tr:last-child td {
    color: #101828 !important;
    background: #f3f6ff !important;
    border-bottom: 0 !important;
    font-size: 17px !important;
    font-weight: 800 !important;
}

/* Payment method row should not look like a giant total */
.track-order-card table.shop_table tfoot tr:last-child:not(.order-total) th,
.track-order-card table.shop_table tfoot tr:last-child:not(.order-total) td {
    font-size: 14px !important;
}

/* Remove final border where appropriate */
.track-order-card table.shop_table tbody tr:last-child td {
    border-bottom: 1px solid #edf0f5 !important;
}

/* =========================================================
   BILLING / SHIPPING DETAILS
   ========================================================= */

.track-order-card .woocommerce-columns--addresses {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px !important;
    margin-top: 34px !important;
}

.track-order-card .woocommerce-column {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

/* When WooCommerce only outputs one address */
.track-order-card
.woocommerce-columns--addresses
.woocommerce-column:only-child {
    grid-column: 1 / -1;
}

.track-order-card .woocommerce-customer-details address,
.track-order-card .woocommerce-column address {
    min-height: 150px;
    margin: 0 !important;
    padding: 22px !important;
    color: #475467 !important;
    background: #f8fafc !important;
    border: 1px solid #e4e9f1 !important;
    border-radius: 14px !important;
    font-size: 15px !important;
    font-style: normal !important;
    line-height: 1.65 !important;
    box-sizing: border-box;
}

/* Email and phone rows */
.track-order-card .woocommerce-customer-details--email,
.track-order-card .woocommerce-customer-details--phone {
    margin: 8px 0 0 !important;
    color: #344054 !important;
    font-weight: 600;
}

/* Icons */
.track-order-card .woocommerce-customer-details--email::before,
.track-order-card .woocommerce-customer-details--phone::before {
    color: #1746d1 !important;
}

/* =========================================================
   GENERAL LINKS / BUTTONS
   ========================================================= */

.track-order-card .woocommerce a:not(.button) {
    color: #1746d1;
    text-decoration: none;
}

.track-order-card .woocommerce a:not(.button):hover {
    color: #1037aa;
    text-decoration: underline;
}

.track-order-card .woocommerce .button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 22px !important;
    color: #ffffff !important;
    background: #1746d1 !important;
    border: 0 !important;
    border-radius: 9px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: 0 9px 20px rgba(23, 70, 209, 0.18);
}

.track-order-card .woocommerce .button:hover {
    color: #ffffff !important;
    background: #1037aa !important;
    transform: translateY(-2px);
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {
    .track-order-card:has(.woocommerce-order-details),
    .track-order-card:has(.woocommerce-customer-details) {
        max-width: 100%;
        padding: 30px;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .track-order-card:has(.woocommerce-order-details),
    .track-order-card:has(.woocommerce-customer-details) {
        margin: 20px auto;
        padding: 22px 16px;
        border-radius: 14px;
    }

    .track-order-card .woocommerce > p:first-child,
    .track-order-card p.order-info {
        margin-bottom: 24px !important;
        padding: 16px 16px 16px 48px !important;
        font-size: 14px;
    }

    .track-order-card .woocommerce > p:first-child::before,
    .track-order-card p.order-info::before {
        left: 14px;
    }

    .track-order-card .woocommerce-order-details__title,
    .track-order-card .woocommerce-column__title,
    .track-order-card .woocommerce h2,
    .track-order-card .woocommerce h3 {
        font-size: 23px !important;
    }

    /* Convert order table into cards */
    .track-order-card table.shop_table,
    .track-order-card table.shop_table tbody,
    .track-order-card table.shop_table tfoot,
    .track-order-card table.shop_table tr,
    .track-order-card table.shop_table th,
    .track-order-card table.shop_table td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box;
    }

    .track-order-card table.shop_table thead {
        display: none !important;
    }

    .track-order-card table.shop_table tbody tr {
        padding: 16px !important;
        border-bottom: 1px solid #e4e9f1;
    }

    .track-order-card table.shop_table tbody td {
        padding: 7px 0 !important;
        border: 0 !important;
        text-align: left !important;
    }

    .track-order-card table.shop_table tbody td:last-child {
        color: #101828 !important;
        text-align: left !important;
    }

    /* Product total label */
    .track-order-card
    table.shop_table
    tbody
    td.woocommerce-table__product-total::before {
        content: "Total: ";
        color: #667085;
        font-weight: 600;
    }

    /* Footer summary rows */
    .track-order-card table.shop_table tfoot tr {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: 0 16px;
        background: #ffffff;
        border-bottom: 1px solid #edf0f5;
    }

    .track-order-card table.shop_table tfoot th,
    .track-order-card table.shop_table tfoot td {
        width: auto !important;
        padding: 14px 0 !important;
        background: transparent !important;
        border: 0 !important;
    }

    .track-order-card table.shop_table tfoot td {
        text-align: right !important;
    }

    .track-order-card table.shop_table tfoot tr:last-child {
        background: #f3f6ff;
        border-bottom: 0;
    }

    /* Address cards */
    .track-order-card .woocommerce-columns--addresses {
        display: flex !important;
        flex-direction: column;
        gap: 20px !important;
    }

    .track-order-card .woocommerce-customer-details address,
    .track-order-card .woocommerce-column address {
        min-height: 0;
        padding: 18px !important;
        font-size: 14px !important;
    }
}


/* Mobile */
@media (max-width: 767px) {
    .track-order-card {
        margin: 20px auto;
        padding: 26px 20px;
        border-radius: 14px;
    }

    .track-order-card .woocommerce-form-track-order > p:first-child {
        margin-bottom: 24px;
        font-size: 15px;
        text-align: left;
    }

    .track-order-card .woocommerce-form-track-order input.input-text {
        height: 52px;
    }
}

/* my account css */

/* =====================================
   HELLO ELEMENTOR + MY ACCOUNT WIDGET
   ===================================== */

.modern-my-account {
    width: 100%;
}

/* Target Elementor's exact account wrapper */
.modern-my-account .e-my-account-tab > .woocommerce {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 32px !important;
    width: 100% !important;
}

/* Disable WooCommerce clearfix interference */
.modern-my-account .e-my-account-tab > .woocommerce::before,
.modern-my-account .e-my-account-tab > .woocommerce::after {
    display: none !important;
    content: none !important;
}

/* =====================
   NAVIGATION
   ===================== */

.modern-my-account .woocommerce-MyAccount-navigation {
    float: none !important;
    flex: 0 0 260px !important;
    width: 260px !important;
    max-width: 260px !important;
    margin: 0 !important;
    padding: 10px !important;
    background: #ffffff;
    border: 1px solid #e4e8f0;
    border-radius: 16px;
    box-shadow: 0 12px 35px rgba(15, 35, 75, 0.08);
}

.modern-my-account .woocommerce-MyAccount-navigation ul {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.modern-my-account .woocommerce-MyAccount-navigation li {
    display: block !important;
    width: 100% !important;
    margin: 0 0 5px !important;
    padding: 0 !important;
    border: 0 !important;
}

.modern-my-account .woocommerce-MyAccount-navigation li:last-child {
    margin-bottom: 0 !important;
}

.modern-my-account .woocommerce-MyAccount-navigation a {
    display: block !important;
    width: 100% !important;
    padding: 14px 16px !important;
    color: #475467 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 10px !important;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none !important;
    box-sizing: border-box;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.modern-my-account .woocommerce-MyAccount-navigation a:hover {
    color: #123fc2 !important;
    background: #f1f5ff !important;
}

.modern-my-account
.woocommerce-MyAccount-navigation
li.is-active
a {
    color: #ffffff !important;
    background: #123fc2 !important;
    box-shadow: 0 8px 18px rgba(18, 63, 194, 0.22);
}

/* Logout */
.modern-my-account
.woocommerce-MyAccount-navigation-link--customer-logout
a {
    color: #b42318 !important;
}

.modern-my-account
.woocommerce-MyAccount-navigation-link--customer-logout
a:hover {
    color: #912018 !important;
    background: #fff1f0 !important;
}

/* =====================
   CONTENT AREA
   ===================== */

.modern-my-account .woocommerce-MyAccount-content {
    float: none !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 300px;
    margin: 0 !important;
    padding: 32px !important;
    color: #475467;
    background: #ffffff;
    border: 1px solid #e4e8f0;
    border-radius: 16px;
    box-shadow: 0 12px 35px rgba(15, 35, 75, 0.08);
    box-sizing: border-box;
}

.modern-my-account .woocommerce-MyAccount-content > *:first-child {
    margin-top: 0 !important;
}

.modern-my-account .woocommerce-MyAccount-content p {
    margin-bottom: 16px;
    color: #667085;
    font-size: 15px;
    line-height: 1.75;
}

.modern-my-account .woocommerce-MyAccount-content a {
    color: #123fc2;
    font-weight: 600;
    text-decoration: none;
}

.modern-my-account .woocommerce-MyAccount-content a:hover {
    text-decoration: underline;
}

/* =====================
   BUTTONS
   ===================== */

.modern-my-account .woocommerce-MyAccount-content .button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 20px !important;
    color: #ffffff !important;
    background: #123fc2 !important;
    border: 0 !important;
    border-radius: 9px !important;
    text-decoration: none !important;
}

.modern-my-account .woocommerce-MyAccount-content .button:hover {
    color: #ffffff !important;
    background: #0d319d !important;
}

/* =====================
   FORM FIELDS
   ===================== */

.modern-my-account .woocommerce-MyAccount-content input.input-text,
.modern-my-account .woocommerce-MyAccount-content input[type="text"],
.modern-my-account .woocommerce-MyAccount-content input[type="email"],
.modern-my-account .woocommerce-MyAccount-content input[type="password"],
.modern-my-account .woocommerce-MyAccount-content input[type="tel"],
.modern-my-account .woocommerce-MyAccount-content select,
.modern-my-account .woocommerce-MyAccount-content textarea {
    width: 100% !important;
    min-height: 50px;
    padding: 12px 15px !important;
    color: #101828;
    background: #f9fafb;
    border: 1px solid #d0d5dd !important;
    border-radius: 9px !important;
    box-sizing: border-box;
    outline: none;
}

.modern-my-account .woocommerce-MyAccount-content input:focus,
.modern-my-account .woocommerce-MyAccount-content select:focus,
.modern-my-account .woocommerce-MyAccount-content textarea:focus {
    background: #ffffff;
    border-color: #123fc2 !important;
    box-shadow: 0 0 0 4px rgba(18, 63, 194, 0.1);
}



/* =====================================
   FORCE MY ACCOUNT CONTENT COLORS
   ===================================== */

/* Main content text */
.modern-my-account
.e-my-account-tab
.woocommerce-MyAccount-content,
.modern-my-account
.e-my-account-tab
.woocommerce-MyAccount-content p,
.modern-my-account
.e-my-account-tab
.woocommerce-MyAccount-content address,
.modern-my-account
.e-my-account-tab
.woocommerce-MyAccount-content td,
.modern-my-account
.e-my-account-tab
.woocommerce-MyAccount-content span {
    color: #475467 !important;
}

/* Headings */
.modern-my-account
.e-my-account-tab
.woocommerce-MyAccount-content h1,
.modern-my-account
.e-my-account-tab
.woocommerce-MyAccount-content h2,
.modern-my-account
.e-my-account-tab
.woocommerce-MyAccount-content h3,
.modern-my-account
.e-my-account-tab
.woocommerce-MyAccount-content h4,
.modern-my-account
.e-my-account-tab
.woocommerce-MyAccount-content strong {
    color: #101828 !important;
}

/* Normal links */
.modern-my-account
.e-my-account-tab
.woocommerce-MyAccount-content a:not(.button) {
    color: #1746d1 !important;
    font-weight: 600;
    text-decoration: none;
}

.modern-my-account
.e-my-account-tab
.woocommerce-MyAccount-content a:not(.button):hover {
    color: #0f35a8 !important;
    text-decoration: underline;
}

/* Form labels */
.modern-my-account
.e-my-account-tab
.woocommerce-MyAccount-content label {
    color: #344054 !important;
    font-weight: 600;
}

/* Table headings */
.modern-my-account
.e-my-account-tab
.woocommerce-MyAccount-content table th {
    color: #101828 !important;
    background: #f8fafc !important;
}

/* Input text */
.modern-my-account
.e-my-account-tab
.woocommerce-MyAccount-content input,
.modern-my-account
.e-my-account-tab
.woocommerce-MyAccount-content select,
.modern-my-account
.e-my-account-tab
.woocommerce-MyAccount-content textarea {
    color: #101828 !important;
}

.modern-my-account h2 {
    font-size: 30px !important;
}


/* Placeholder color */
.modern-my-account
.e-my-account-tab
.woocommerce-MyAccount-content input::placeholder,
.modern-my-account
.e-my-account-tab
.woocommerce-MyAccount-content textarea::placeholder {
    color: #98a2b3 !important;
    opacity: 1;
}

/* =========================================================
   MY ACCOUNT - LOGGED OUT LOGIN / REGISTER FORMS
   Add this AFTER the existing "my account css" section
   ========================================================= */

/*
 * WooCommerce outputs #customer_login only when the user
 * is logged out. Logged-in dashboard styles remain untouched.
 */

.modern-my-account .e-my-account-tab > .woocommerce #customer_login {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 32px !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Disable WooCommerce clearfix */
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login::before,
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login::after {
    display: none !important;
    content: none !important;
}

/* Reset WooCommerce's default columns */
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
.u-column1,
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
.u-column2,
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
.col-1,
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
.col-2 {
    float: none !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Login and Register titles */
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
h2 {
    margin: 0 0 18px !important;
    color: #101828 !important;
    font-size: 28px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
}

/* Login and Register card */
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
form.login,
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
form.register,
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
.woocommerce-form-login,
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
.woocommerce-form-register {
    flex: 1 1 auto;
    width: 100% !important;
    min-height: 365px;
    margin: 0 !important;
    padding: 30px !important;
    color: #475467;
    background: #ffffff !important;
    border: 1px solid #e4e9f1 !important;
    border-radius: 16px !important;
    box-shadow: 0 14px 40px rgba(15, 35, 75, 0.07);
    box-sizing: border-box !important;
}

/* Form rows */
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
.form-row {
    float: none !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
}

/* Labels */
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
label {
    display: block !important;
    margin: 0 0 8px !important;
    color: #344054 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

/* Required star */
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
.required {
    color: #d92d20 !important;
}

/* Text inputs */
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
input.input-text,
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
input[type="text"],
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
input[type="email"],
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
input[type="password"] {
    display: block !important;
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 12px 46px 12px 15px !important;
    color: #101828 !important;
    background: #f8fafc !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
    font-family: inherit !important;
    font-size: 15px !important;
    outline: none !important;
    box-shadow: none !important;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease;
}

/* Input focus */
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
input.input-text:focus,
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
input[type="text"]:focus,
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
input[type="email"]:focus,
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
input[type="password"]:focus {
    background: #ffffff !important;
    border-color: #1746d1 !important;
    box-shadow: 0 0 0 4px rgba(23, 70, 209, 0.1) !important;
}

/* Password field wrapper */
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
.password-input {
    position: relative;
    display: block !important;
    width: 100% !important;
}

/* Password visibility button */
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
.show-password-input {
    position: absolute !important;
    top: 50% !important;
    right: 16px !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    color: #475467 !important;
    cursor: pointer;
}

/* Supporting text */
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
form
> p,
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
.woocommerce-privacy-policy-text,
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
.woocommerce-privacy-policy-text
p {
    margin-top: 0;
    color: #667085 !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
}

/* Register explanatory text */
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
form.register
> p:not(.form-row) {
    margin-bottom: 14px !important;
}

/* Links */
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
a {
    color: #1746d1 !important;
    font-weight: 600;
    text-decoration: none !important;
}

.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
a:hover {
    color: #1037aa !important;
    text-decoration: underline !important;
}

/* Login action row */
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
.woocommerce-form-login
.form-row:nth-last-of-type(1) {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
}

/* Remember me */
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
.woocommerce-form-login__rememberme {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    color: #475467 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer;
}

/* Checkbox */
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
input[type="checkbox"] {
    width: 17px !important;
    height: 17px !important;
    margin: 0 !important;
    accent-color: #1746d1;
}

/* Login and register buttons */
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
button.button,
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
.woocommerce-form-login__submit,
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
.woocommerce-form-register__submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 140px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 12px 24px !important;
    color: #ffffff !important;
    background: #1746d1 !important;
    border: 0 !important;
    border-radius: 9px !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    box-shadow: 0 9px 20px rgba(23, 70, 209, 0.18);
    cursor: pointer;
    transition:
        background-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
button.button:hover,
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
.woocommerce-form-login__submit:hover,
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
.woocommerce-form-register__submit:hover {
    color: #ffffff !important;
    background: #1037aa !important;
    transform: translateY(-2px);
    box-shadow: 0 13px 25px rgba(23, 70, 209, 0.24);
}

/* Lost password */
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
.lost_password {
    margin: 16px 0 0 !important;
}

/* Privacy policy */
.modern-my-account
.e-my-account-tab
> .woocommerce
#customer_login
.woocommerce-privacy-policy-text {
    margin: 0 0 18px !important;
}

/* WooCommerce errors and notices above the forms */
.modern-my-account
.e-my-account-tab
> .woocommerce
.woocommerce-error,
.modern-my-account
.e-my-account-tab
> .woocommerce
.woocommerce-message,
.modern-my-account
.e-my-account-tab
> .woocommerce
.woocommerce-info {
    width: 100% !important;
    margin: 0 0 24px !important;
    padding: 17px 20px 17px 48px !important;
    color: #344054 !important;
    background: #f3f6ff !important;
    border: 0 !important;
    border-left: 4px solid #1746d1 !important;
    border-radius: 11px !important;
    box-sizing: border-box !important;
}


form.woocommerce-form.woocommerce-form-register.register {
    height: unset !important;
}
/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {
    .modern-my-account
    .e-my-account-tab
    > .woocommerce
    #customer_login {
        gap: 24px !important;
    }

    .modern-my-account
    .e-my-account-tab
    > .woocommerce
    #customer_login
    form.login,
    .modern-my-account
    .e-my-account-tab
    > .woocommerce
    #customer_login
    form.register {
        padding: 26px !important;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {
    .modern-my-account
    .e-my-account-tab
    > .woocommerce
    #customer_login {
        display: flex !important;
        flex-direction: column !important;
        gap: 28px !important;
    }

    .modern-my-account
    .e-my-account-tab
    > .woocommerce
    #customer_login
    h2 {
        margin-bottom: 14px !important;
        font-size: 24px !important;
    }

    .modern-my-account
    .e-my-account-tab
    > .woocommerce
    #customer_login
    form.login,
    .modern-my-account
    .e-my-account-tab
    > .woocommerce
    #customer_login
    form.register {
        min-height: 0 !important;
        padding: 22px 18px !important;
        border-radius: 14px !important;
    }

    .modern-my-account
    .e-my-account-tab
    > .woocommerce
    #customer_login
    .woocommerce-form-login
    .form-row:nth-last-of-type(1) {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .modern-my-account
    .e-my-account-tab
    > .woocommerce
    #customer_login
    button.button,
    .modern-my-account
    .e-my-account-tab
    > .woocommerce
    #customer_login
    .woocommerce-form-login__submit,
    .modern-my-account
    .e-my-account-tab
    > .woocommerce
    #customer_login
    .woocommerce-form-register__submit {
        width: 100% !important;
    }
}


/* =====================
   MOBILE
   ===================== */

@media (max-width: 767px) {

    .modern-my-account .e-my-account-tab > .woocommerce {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
    }

    .modern-my-account .woocommerce-MyAccount-navigation {
        width: 100% !important;
        max-width: none !important;
        flex: none !important;
        overflow: visible !important;
    }

    .modern-my-account .woocommerce-MyAccount-navigation ul {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 8px !important;
        width: 100% !important;
        overflow: visible !important;
        padding: 10px !important;
    }

    .modern-my-account .woocommerce-MyAccount-navigation li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .modern-my-account .woocommerce-MyAccount-navigation a {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 100% !important;
        min-height: 46px;
        padding: 11px 10px !important;
        white-space: normal !important;
        text-align: center;
    }

    .modern-my-account .woocommerce-MyAccount-content {
        width: 100% !important;
        min-height: auto;
        padding: 22px 18px !important;
    }
}



.woocommerce-info {
    border-top-color: var(--e-global-color-secondary);
}
.woocommerce-info::before {
    color: var(--e-global-color-secondary);
} 

/* for cart */

/* ======================================
   MODERN ELEMENTOR /* ======================================
   MODERN ELEMENTOR WOOCOMMERCE CART
   ====================================== */

.modern-cart {
    width: 100%;
}

/* Main two-column layout */
.modern-cart .e-cart__container {
    display: grid !important;
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.85fr) !important;
    gap: 32px !important;
    align-items: start !important;
    width: 100% !important;
}

/* Reset Elementor column widths */
.modern-cart .e-cart__column,
.modern-cart .e-cart__column-start,
.modern-cart .e-cart__column-end {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}

/* Remove sticky behavior from totals */
.modern-cart .e-sticky-right-column {
    position: static !important;
    top: auto !important;
}

/* ======================================
   CART PRODUCT CARD
   ====================================== */

.modern-cart .woocommerce-cart-form {
    margin: 0 !important;
}

.modern-cart .woocommerce-cart-form__contents {
    width: 100%;
    margin: 0 !important;
    background: #ffffff;
    border: 1px solid #e4e9f1 !important;
    border-radius: 16px !important;
    border-collapse: separate !important;
    border-spacing: 0;
    overflow: hidden;
    box-shadow: 0 14px 40px rgba(15, 35, 75, 0.07);
}

/* Table headers */
.modern-cart
.woocommerce-cart-form__contents
thead th {
    padding: 18px 16px !important;
    color: #101828 !important;
    background: #f8fafc !important;
    border: 0 !important;
    border-bottom: 1px solid #e4e9f1 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-align: left;
}

/* Product row */
.modern-cart
.woocommerce-cart-form__contents
tbody td {
    padding: 22px 16px !important;
    color: #475467 !important;
    background: #ffffff;
    border: 0 !important;
    border-bottom: 1px solid #edf0f5 !important;
    vertical-align: middle !important;
}

/* Product image */
.modern-cart td.product-thumbnail img {
    width: 72px !important;
    height: 72px !important;
    padding: 7px;
    object-fit: contain;
    background: #f8fafc;
    border: 1px solid #edf0f5;
    border-radius: 12px;
}

/* Product name */
.modern-cart td.product-name a {
    color: #101828 !important;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none !important;
}

.modern-cart td.product-name a:hover {
    color: #1746d1 !important;
}

/* Prices */
.modern-cart td.product-price,
.modern-cart td.product-subtotal {
    color: #101828 !important;
    font-weight: 700;
}

/* Remove item button */
.modern-cart a.remove {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 34px !important;
    height: 34px !important;
    color: #b42318 !important;
    background: #fff1f0 !important;
    border-radius: 50% !important;
    font-size: 20px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        transform 0.2s ease;
}

.modern-cart a.remove:hover {
    color: #ffffff !important;
    background: #d92d20 !important;
    transform: scale(1.06);
}

/* ======================================
   QUANTITY
   ====================================== */

.modern-cart .quantity {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
}

/* Quantity number input */
.modern-cart .quantity input.qty {
    width: 52px !important;
    min-width: 52px !important;
    padding: 5px !important;
    color: #101828 !important;
    background: #ffffff !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 9px !important;
    font-size: 15px !important;
    font-weight: 600;
    text-align: center;
    box-shadow: none !important;
    max-height: unset !important;
    justify-items: center;
    
}

/* Elementor quantity buttons */
.modern-cart .e-quantity-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 42px !important;
    min-width: 42px !important;
    height: 44px !important;
    padding: 0 !important;
    color: #344054 !important;
    background: #f8fafc !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 9px !important;
    cursor: pointer;
    transition:
        color 0.2s ease,
        border-color 0.2s ease,
        background-color 0.2s ease;
}

.modern-cart .e-quantity-button:hover {
    color: #1746d1 !important;
    background: #f1f5ff !important;
    border-color: #1746d1 !important;
}

/* ======================================
   COUPON AREA
   ====================================== */

.modern-cart .coupon {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 14px !important;
    width: 100% !important;
    margin-top: 20px !important;
    padding: 20px !important;
    background: #ffffff;
    border: 1px solid #e4e9f1;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(15, 35, 75, 0.05);
}

/* Coupon input */
.modern-cart .coupon input.input-text {
    width: 100% !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 12px 15px !important;
    color: #101828 !important;
    background: #f9fafb !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 9px !important;
    font-size: 15px !important;
    box-sizing: border-box;
    outline: none;
}

.modern-cart .coupon input.input-text:focus {
    background: #ffffff !important;
    border-color: #1746d1 !important;
    box-shadow: 0 0 0 4px rgba(23, 70, 209, 0.1);
}

/* Apply coupon */
.modern-cart .coupon button.button {
    min-width: 170px;
    min-height: 50px;
    margin: 0 !important;
    padding: 12px 22px !important;
    color: #1746d1 !important;
    background: #ffffff !important;
    border: 1px solid #1746d1 !important;
    border-radius: 9px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer;
}

.modern-cart .coupon button.button:hover {
    color: #ffffff !important;
    background: #1746d1 !important;
}

/* Update cart button */
.modern-cart button[name="update_cart"] {
    min-height: 48px;
    margin-top: 15px !important;
    padding: 11px 20px !important;
    color: #ffffff !important;
    background: #344054 !important;
    border: 0 !important;
    border-radius: 9px !important;
}

/* Keep the disabled state legible (WooCommerce disables this button
   until a quantity changes — default themes grey it into a blank box) */
.modern-cart button[name="update_cart"]:disabled,
.modern-cart button[name="update_cart"][disabled] {
    color: #ffffff !important;
    background: #98a2b3 !important;
    opacity: 1 !important;
    cursor: not-allowed;
}

/* ======================================
   CART TOTALS CARD
   ====================================== */

.modern-cart .cart_totals {
    width: 100% !important;
    margin: 0 !important;
    padding: 28px !important;
    background: #ffffff;
    border: 1px solid #e4e9f1 !important;
    border-radius: 16px !important;
    box-shadow: 0 14px 40px rgba(15, 35, 75, 0.08);
}

/* Cart totals title */
.modern-cart .cart_totals h2 {
    margin: 0 0 22px !important;
    color: #101828 !important;
    font-size: 22px !important;
    font-weight: 750 !important;
}

/* Totals table */
.modern-cart .cart_totals table.shop_table {
    width: 100%;
    margin: 0 0 24px !important;
    border: 0 !important;
    border-collapse: collapse !important;
}

.modern-cart .cart_totals table.shop_table th,
.modern-cart .cart_totals table.shop_table td {
    padding: 15px 0 !important;
    color: #475467 !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid #edf0f5 !important;
    font-size: 15px !important;
}

.modern-cart .cart_totals table.shop_table th {
    font-weight: 600 !important;
    text-align: left;
}

.modern-cart .cart_totals table.shop_table td {
    color: #101828 !important;
    font-weight: 700 !important;
    text-align: right;
}

/* Total row */
.modern-cart .cart_totals tr.order-total th,
.modern-cart .cart_totals tr.order-total td {
    padding-top: 20px !important;
    color: #101828 !important;
    border-bottom: 0 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
}

/* Checkout button */
.modern-cart .wc-proceed-to-checkout {
    padding: 0 !important;
}

.modern-cart .wc-proceed-to-checkout a.checkout-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 56px;
    margin: 0 !important;
    padding: 14px 22px !important;
    color: #ffffff !important;
    background: #1746d1 !important;
    border: 0 !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    font-weight: 750 !important;
    text-align: center;
    text-decoration: none !important;
    box-shadow: 0 10px 24px rgba(23, 70, 209, 0.22);
    transition:
        background-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.modern-cart .wc-proceed-to-checkout a.checkout-button:hover {
    color: #ffffff !important;
    background: #1037aa !important;
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(23, 70, 209, 0.28);
}

/* ============================================================
   TABLET + MOBILE  (<= 1024px)
   Elementor forces the product table into stacked mode at
   <= 1024px, so ALL of the card styling must start here — not
   at 767px. We also force the table -> card conversion
   ourselves so the result is identical no matter which
   framework (Elementor / WooCommerce) stacks it first.
   ============================================================ */

@media (max-width: 1024px) {

    /* --- Stack the two columns --- */
    .modern-cart .e-cart__container {
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
        width: 100% !important;
    }

    .modern-cart .e-cart__column,
    .modern-cart .e-cart__column-start,
    .modern-cart .e-cart__column-end {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* --- Turn the product table into stacked cards --- */
    .modern-cart .woocommerce-cart-form__contents,
    .modern-cart .woocommerce-cart-form__contents tbody,
    .modern-cart .woocommerce-cart-form__contents tr,
    .modern-cart .woocommerce-cart-form__contents td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box;
    }

    .modern-cart .woocommerce-cart-form__contents thead {
        display: none !important;
    }

    .modern-cart .woocommerce-cart-form__contents tr.cart_item {
        position: relative;
        padding: 20px 20px 10px !important;
        border-bottom: 1px solid #e4e9f1 !important;
    }

    .modern-cart .woocommerce-cart-form__contents tr.cart_item:last-child {
        border-bottom: 0 !important;
    }

    .modern-cart .woocommerce-cart-form__contents td {
        padding: 11px 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #f2f4f7 !important;
        text-align: left !important;
    }

    /* Remove button -> top-right corner of the card */
    .modern-cart td.product-remove {
        position: absolute;
        top: 16px;
        right: 16px;
        width: auto !important;
        padding: 0 !important;
        border-bottom: 0 !important;
    }

    /* Thumbnail + name (no label, no divider) */
    .modern-cart td.product-thumbnail {
        padding: 0 56px 8px 0 !important;
        border-bottom: 0 !important;
    }

    .modern-cart td.product-thumbnail img {
        width: 84px !important;
        height: 84px !important;
    }

    .modern-cart td.product-name {
        padding-top: 4px !important;
    }

    .modern-cart td.product-name a {
        font-size: 17px;
    }

    /* Price / Quantity / Subtotal -> label LEFT, value RIGHT on one line */
    .modern-cart td.product-price,
    .modern-cart td.product-quantity,
    .modern-cart td.product-subtotal {
        display: flex !important;
        align-items: center;
        justify-content: space-between !important;
        gap: 16px;
        text-align: right !important;
    }

    .modern-cart td.product-subtotal {
        border-bottom: 0 !important;
    }

    /* Field labels — restored (the old `selector ::before{display:none}`
       used to kill these). float:none overrides the framework default. */
    .modern-cart td.product-price::before {
        content: "Price";
    }
    .modern-cart td.product-quantity::before {
        content: "Quantity";
    }
    .modern-cart td.product-subtotal::before {
        content: "Subtotal";
    }

    .modern-cart td.product-price::before,
    .modern-cart td.product-quantity::before,
    .modern-cart td.product-subtotal::before {
        float: none !important;
        display: inline-block;
        margin: 0 !important;
        padding: 0 !important;
        color: #667085;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    /* Kill the framework's auto data-title labels on the other cells */
    .modern-cart td.product-remove::before,
    .modern-cart td.product-thumbnail::before,
    .modern-cart td.product-name::before {
        content: none !important;
        display: none !important;
    }

    /* Actions / update-cart row inside the stacked table */
    .modern-cart td.actions {
        padding: 12px 0 0 !important;
        border-bottom: 0 !important;
    }

    .modern-cart button[name="update_cart"] {
        width: 100% !important;
        margin-top: 12px !important;
    }

    /* Coupon -> full width, stacked */
    .modern-cart .coupon {
        grid-template-columns: 1fr !important;
        padding: 18px !important;
    }

    .modern-cart .coupon button.button {
        width: 100% !important;
        min-width: 0;
    }

    /* --- Cart totals rows: label LEFT, value RIGHT on ONE line --- */
    .modern-cart .cart_totals table.shop_table tr {
        display: flex !important;
        align-items: baseline;
        justify-content: space-between !important;
        width: 100% !important;
        border-bottom: 1px solid #edf0f5 !important;
    }

    .modern-cart .cart_totals table.shop_table tr:last-child {
        border-bottom: 0 !important;
    }

    .modern-cart .cart_totals table.shop_table th,
    .modern-cart .cart_totals table.shop_table td {
        display: block !important;
        width: auto !important;
        padding: 14px 0 !important;
        border-bottom: 0 !important;
    }

    .modern-cart .cart_totals tr.order-total th,
    .modern-cart .cart_totals tr.order-total td {
        padding-top: 18px !important;
    }
    .elementor-widget-woocommerce-cart .woocommerce .coupon-col {
        display: flex;
        gap: 20px;
    }
    .modern-cart :before {
    display: none;
}
}

/* ======================================
   MOBILE  (<= 767px) — sizing tweaks only
   ====================================== */

@media (max-width: 767px) {
    .modern-cart td.product-name a {
        font-size: 16px;
    }

    .modern-cart .cart_totals {
        padding: 22px 18px !important;
    }
    .elementor-widget-woocommerce-cart .woocommerce .coupon-col{
    flex-direction: column;
    }
}

/* ======================================
   VERY SMALL PHONES  (<= 420px)
   ====================================== */

@media (max-width: 420px) {
    .modern-cart .woocommerce-cart-form__contents tr.cart_item {
        padding: 16px !important;
    }

    .modern-cart td.product-thumbnail img {
        width: 72px !important;
        height: 72px !important;
    }

    .modern-cart .e-quantity-button {
        width: 38px !important;
        min-width: 38px !important;
    }
}

.elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart .actions {
    display: none !important;
}


.elementor-widget-woocommerce-cart .e-cart-section {
    padding: 16px !important;
}


/* for checkout */

/* ======================================
   MODERN ELEMENTOR WOOCOMMERCE CHECKOUT
   ====================================== */

.modern-checkout {
    width: 100%;
}

/* Main checkout layout */
.modern-checkout .e-checkout__container {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.85fr) !important;
    gap: 32px !important;
    align-items: start !important;
    width: 100% !important;
}

/* Reset Elementor column behavior */
.modern-checkout .e-checkout__column,
.modern-checkout .e-checkout__column-start,
.modern-checkout .e-checkout__column-end {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}

/* Disable sticky order column */
.modern-checkout .e-sticky-right-column {
    position: static !important;
    top: auto !important;
}

/* Remove WooCommerce floats */
.modern-checkout .col2-set,
.modern-checkout .col-1,
.modern-checkout .col-2 {
    float: none !important;
    width: 100% !important;
}

/* ======================================
   BILLING / SHIPPING CARD
   ====================================== */

.modern-checkout #customer_details {
    padding: 30px !important;
    background: #ffffff;
    border: 1px solid #e4e9f1;
    border-radius: 18px;
    box-shadow: 0 14px 40px rgba(15, 35, 75, 0.07);
}

.modern-checkout .woocommerce-billing-fields,
.modern-checkout .woocommerce-shipping-fields,
.modern-checkout .woocommerce-additional-fields {
    margin: 0;
}

/* Section headings */
.modern-checkout h3,
.modern-checkout .woocommerce-billing-fields > h3,
.modern-checkout .woocommerce-shipping-fields > h3 {
    margin: 0 0 24px !important;
    color: #101828 !important;
    font-size: 23px !important;
    font-weight: 750 !important;
    line-height: 1.3;
}

/* Form rows */
.modern-checkout .form-row {
    float: none !important;
    width: 100% !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
}

/* First and last name side-by-side */
.modern-checkout #billing_first_name_field,
.modern-checkout #billing_last_name_field,
.modern-checkout #shipping_first_name_field,
.modern-checkout #shipping_last_name_field {
    display: inline-block !important;
    width: calc(50% - 8px) !important;
    vertical-align: top;
}

.modern-checkout #billing_first_name_field,
.modern-checkout #shipping_first_name_field {
    margin-right: 12px !important;
}

/* Labels */
.modern-checkout label {
    display: block;
    margin: 0 0 8px !important;
    color: #344054 !important;
    font-size: 14px !important;
    font-weight: 650 !important;
}

/* Required star */
.modern-checkout .required {
    color: #d92d20 !important;
}

/* Inputs, selects and textarea */
.modern-checkout input.input-text,
.modern-checkout input[type="text"],
.modern-checkout input[type="email"],
.modern-checkout input[type="tel"],
.modern-checkout input[type="password"],
.modern-checkout select,
.modern-checkout textarea,
.modern-checkout .select2-selection {
    width: 100% !important;
    min-height: 52px !important;
    padding: 12px 15px !important;
    color: #101828 !important;
    background: #f8fafc !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
    font-family: inherit !important;
    font-size: 15px !important;
    outline: none !important;
    box-shadow: none !important;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease;
}

.modern-checkout textarea {
    min-height: 120px !important;
    resize: vertical;
}

.modern-checkout input:focus,
.modern-checkout select:focus,
.modern-checkout textarea:focus,
.modern-checkout .select2-container--open .select2-selection {
    background: #ffffff !important;
    border-color: #1746d1 !important;
    box-shadow: 0 0 0 4px rgba(23, 70, 209, 0.1) !important;
}

/* Placeholder */
.modern-checkout input::placeholder,
.modern-checkout textarea::placeholder {
    color: #98a2b3 !important;
    opacity: 1;
}

/* Select2 alignment */
.modern-checkout .select2-container {
    width: 100% !important;
}

.modern-checkout
.select2-container
.select2-selection--single
.select2-selection__rendered {
    padding: 0 !important;
    line-height: 27px !important;
    color: #101828 !important;
}

.modern-checkout
.select2-container
.select2-selection--single
.select2-selection__arrow {
    top: 13px !important;
    right: 10px !important;
}

/* Checkbox area */
.modern-checkout .woocommerce-form__label-for-checkbox {
    display: flex !important;
    align-items: center;
    gap: 9px;
    color: #344054 !important;
    cursor: pointer;
}

.modern-checkout input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    accent-color: #1746d1;
}

/* ======================================
   ORDER SUMMARY CARD
   ====================================== */

.modern-checkout .e-checkout__column-end {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

.modern-checkout #order_review,
.modern-checkout .woocommerce-checkout-review-order {
    width: 100% !important;
}

.modern-checkout .woocommerce-checkout-review-order-table {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff;
    border: 1px solid #e4e9f1 !important;
    border-radius: 18px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden;
    box-shadow: 0 14px 40px rgba(15, 35, 75, 0.07);
}

/* Your Order heading */
.modern-checkout .e-checkout__column-end h3,
.modern-checkout #order_review_heading {
    margin: 0 !important;
    padding: 26px 26px 18px !important;
    color: #101828 !important;
    background: #ffffff;
    font-size: 23px !important;
    font-weight: 750 !important;
}

/* Order table cells */
.modern-checkout
.woocommerce-checkout-review-order-table
th,
.modern-checkout
.woocommerce-checkout-review-order-table
td {
    padding: 16px 24px !important;
    color: #475467 !important;
    background: #ffffff !important;
    border: 0 !important;
    border-bottom: 1px solid #edf0f5 !important;
    font-size: 14px !important;
    vertical-align: middle !important;
}

/* Header row */
.modern-checkout
.woocommerce-checkout-review-order-table
thead
th {
    color: #344054 !important;
    background: #f8fafc !important;
    font-weight: 700 !important;
}

/* Product names */
.modern-checkout
.woocommerce-checkout-review-order-table
.product-name {
    color: #344054 !important;
    font-weight: 600 !important;
}

/* Amount column */
.modern-checkout
.woocommerce-checkout-review-order-table
.product-total,
.modern-checkout
.woocommerce-checkout-review-order-table
td:last-child {
    color: #101828 !important;
    font-weight: 700 !important;
    text-align: right !important;
}

/* Total row */
.modern-checkout
.woocommerce-checkout-review-order-table
tr.order-total
th,
.modern-checkout
.woocommerce-checkout-review-order-table
tr.order-total
td {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    color: #101828 !important;
    border-bottom: 0 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
}

/* ======================================
   COUPON NOTICE
   ====================================== */

.modern-checkout .woocommerce-form-coupon-toggle {
    margin: 0 !important;
}

.modern-checkout .woocommerce-info {
    margin: 0 0 20px !important;
    padding: 17px 20px !important;
    color: #344054 !important;
    background: #f3f6ff !important;
    border: 0 !important;
    border-left: 4px solid #1746d1 !important;
    border-radius: 11px !important;
    font-size: 14px !important;
}

.modern-checkout .woocommerce-info::before {
    color: #1746d1 !important;
}

.modern-checkout .woocommerce-info a {
    color: #1746d1 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* Coupon form */
.modern-checkout form.checkout_coupon {
    margin: 0 0 20px !important;
    padding: 20px !important;
    background: #ffffff;
    border: 1px solid #e4e9f1 !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 28px rgba(15, 35, 75, 0.05);
}

.modern-checkout form.checkout_coupon .form-row-first,
.modern-checkout form.checkout_coupon .form-row-last {
    display: inline-block !important;
    width: calc(60% - 8px) !important;
    vertical-align: top;
}

.modern-checkout form.checkout_coupon .form-row-last {
    width: calc(40% - 8px) !important;
    margin-left: 12px !important;
}

/* ======================================
   PAYMENT CARD
   ====================================== */

.modern-checkout #payment {
    margin-top: 20px !important;
    padding: 24px !important;
    background: #ffffff !important;
    border: 1px solid #e4e9f1 !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 40px rgba(15, 35, 75, 0.07);
}

/* Payment methods */
.modern-checkout #payment ul.payment_methods {
    margin: 0 0 22px !important;
    padding: 0 !important;
    border: 0 !important;
    list-style: none !important;
}

.modern-checkout #payment ul.payment_methods li {
    margin: 0 !important;
    padding: 16px 0 !important;
    border-bottom: 1px solid #edf0f5 !important;
}

.modern-checkout #payment ul.payment_methods li:last-child {
    border-bottom: 0 !important;
}

/* Payment method text */
.modern-checkout #payment label {
    display: inline !important;
    color: #101828 !important;
    font-weight: 650 !important;
}

/* Payment boxes */
.modern-checkout #payment div.payment_box {
    margin: 14px 0 0 !important;
    padding: 16px !important;
    color: #475467 !important;
    background: #f8fafc !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

.modern-checkout #payment div.payment_box::before {
    border-bottom-color: #f8fafc !important;
}

/* Privacy text */
.modern-checkout .woocommerce-privacy-policy-text,
.modern-checkout .woocommerce-privacy-policy-text p {
    color: #667085 !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
}

.modern-checkout .woocommerce-privacy-policy-text a {
    color: #1746d1 !important;
    font-weight: 600 !important;
}

/* ======================================
   BUTTONS
   ====================================== */

.modern-checkout button.button,
.modern-checkout input.button,
.modern-checkout a.button {
    min-height: 50px !important;
    padding: 13px 22px !important;
    color: #ffffff !important;
    background: #1746d1 !important;
    border: 0 !important;
    border-radius: 10px !important;
    font-size: 15px !important;
    font-weight: 750 !important;
    text-decoration: none !important;
    box-shadow: 0 9px 20px rgba(23, 70, 209, 0.18);
    cursor: pointer;
    transition:
        background-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.modern-checkout button.button:hover,
.modern-checkout input.button:hover,
.modern-checkout a.button:hover {
    color: #ffffff !important;
    background: #1037aa !important;
    transform: translateY(-2px);
    box-shadow: 0 13px 25px rgba(23, 70, 209, 0.24);
}

/* Place order */
.modern-checkout #place_order {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 58px !important;
    margin-top: 20px !important;
    padding: 15px 22px !important;
    font-size: 16px !important;
}

/* ======================================
   ERRORS AND NOTICES
   ====================================== */

.modern-checkout .woocommerce-error,
.modern-checkout .woocommerce-message {
    margin: 0 0 22px !important;
    padding: 17px 20px !important;
    border: 0 !important;
    border-left: 4px solid #d92d20 !important;
    border-radius: 11px !important;
    background: #fff4f2 !important;
    color: #344054 !important;
}

.modern-checkout .woocommerce-message {
    border-left-color: #12b76a !important;
    background: #ecfdf3 !important;
}

/* ======================================
   TABLET
   ====================================== */

@media (max-width: 1024px) {

    .modern-checkout .e-checkout__container {
        display: flex !important;
        flex-direction: column !important;
        gap: 26px !important;
    }

    .modern-checkout .e-checkout__column,
    .modern-checkout .e-checkout__column-start,
    .modern-checkout .e-checkout__column-end {
        width: 100% !important;
        max-width: 100% !important;
    }

    .modern-checkout #customer_details {
        padding: 26px !important;
    }
}

/* ======================================
   MOBILE
   ====================================== */

@media (max-width: 767px) {

    .modern-checkout,
    .modern-checkout .elementor-widget-container,
    .modern-checkout .woocommerce,
    .modern-checkout form.checkout,
    .modern-checkout .e-checkout__container,
    .modern-checkout .e-checkout__column,
    .modern-checkout .e-checkout__column-start,
    .modern-checkout .e-checkout__column-end {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .modern-checkout .e-checkout__container {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
    }

    .modern-checkout #customer_details {
        padding: 22px 17px !important;
        border-radius: 15px !important;
    }

    /* Stack first and last name */
    .modern-checkout #billing_first_name_field,
    .modern-checkout #billing_last_name_field,
    .modern-checkout #shipping_first_name_field,
    .modern-checkout #shipping_last_name_field {
        display: block !important;
        width: 100% !important;
        margin-right: 0 !important;
    }

    .modern-checkout h3,
    .modern-checkout .woocommerce-billing-fields > h3,
    .modern-checkout .woocommerce-shipping-fields > h3,
    .modern-checkout #order_review_heading {
        font-size: 21px !important;
    }

    .modern-checkout input.input-text,
    .modern-checkout select,
    .modern-checkout textarea,
    .modern-checkout .select2-selection {
        min-height: 50px !important;
    }

    /* Coupon */
    .modern-checkout form.checkout_coupon .form-row-first,
    .modern-checkout form.checkout_coupon .form-row-last {
        display: block !important;
        width: 100% !important;
        margin-left: 0 !important;
    }

    .modern-checkout form.checkout_coupon .form-row-last {
        margin-top: 12px !important;
    }

    .modern-checkout form.checkout_coupon button {
        width: 100% !important;
    }

    /* Order table */
    .modern-checkout
    .woocommerce-checkout-review-order-table
    th,
    .modern-checkout
    .woocommerce-checkout-review-order-table
    td {
        padding: 14px 16px !important;
        font-size: 13px !important;
    }

    .modern-checkout .e-checkout__column-end h3,
    .modern-checkout #order_review_heading {
        padding: 22px 18px 16px !important;
    }

    .modern-checkout #payment {
        padding: 20px 16px !important;
        border-radius: 15px !important;
    }

    .modern-checkout #place_order {
        min-height: 56px !important;
        font-size: 15px !important;
    }
}






/* =========================================================
   MODERN WOOCOMMERCE ORDER RECEIVED / THANK YOU PAGE
   Add after the existing "modern checkout" CSS
   Requires the Elementor widget/container class:
   modern-checkout
   ========================================================= */

/* Main thank-you page wrapper */
.modern-checkout .woocommerce-order {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    color: #475467;
}

/* Remove WooCommerce clearfix interference */
.modern-checkout .woocommerce-order::before,
.modern-checkout .woocommerce-order::after,
.modern-checkout .woocommerce-order-details::before,
.modern-checkout .woocommerce-order-details::after,
.modern-checkout .woocommerce-customer-details::before,
.modern-checkout .woocommerce-customer-details::after {
    display: none !important;
    content: none !important;
}

/* =========================================================
   SUCCESS MESSAGE
   ========================================================= */

.modern-checkout
.woocommerce-order
.woocommerce-thankyou-order-received {
    position: relative;
    margin: 0 0 26px !important;
    padding: 24px 24px 24px 72px !important;
    color: #065f46 !important;
    background: #ecfdf3 !important;
    border: 1px solid #a7f3d0 !important;
    border-left: 5px solid #12b76a !important;
    border-radius: 14px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    box-shadow: 0 12px 30px rgba(18, 183, 106, 0.08);
}

/* Success check icon */
.modern-checkout
.woocommerce-order
.woocommerce-thankyou-order-received::before {
    content: "✓";
    position: absolute;
    top: 50%;
    left: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    color: #ffffff;
    background: #12b76a;
    border-radius: 50%;
    font-size: 18px;
    font-weight: 800;
    transform: translateY(-50%);
    box-shadow: 0 6px 14px rgba(18, 183, 106, 0.24);
}

/* =========================================================
   ORDER OVERVIEW CARD
   ========================================================= */

.modern-checkout
.woocommerce-order
.woocommerce-thankyou-order-details {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0 !important;
    width: 100% !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
    background: #ffffff;
    border: 1px solid #e4e9f1;
    border-radius: 16px;
    list-style: none !important;
    overflow: hidden;
    box-shadow: 0 14px 40px rgba(15, 35, 75, 0.07);
}

/* Each order overview item */
.modern-checkout
.woocommerce-order
.woocommerce-thankyou-order-details
li {
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 20px !important;
    color: #667085 !important;
    background: #ffffff;
    border: 0 !important;
    border-right: 1px solid #edf0f5 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    box-sizing: border-box;
}

.modern-checkout
.woocommerce-order
.woocommerce-thankyou-order-details
li:last-child {
    border-right: 0 !important;
}

/* Order overview values */
.modern-checkout
.woocommerce-order
.woocommerce-thankyou-order-details
li
strong {
    display: block !important;
    margin-top: 7px !important;
    color: #101828 !important;
    font-size: 15px !important;
    font-weight: 750 !important;
    line-height: 1.45 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    overflow-wrap: anywhere;
}

/* =========================================================
   PAYMENT INSTRUCTION / COD MESSAGE
   ========================================================= */

.modern-checkout
.woocommerce-order
.woocommerce-order-overview
+ p,
.modern-checkout
.woocommerce-order
.woocommerce-bacs-bank-details
+ p,
.modern-checkout
.woocommerce-order
> p:not(.woocommerce-thankyou-order-received) {
    margin: 0 0 28px !important;
    padding: 16px 18px !important;
    color: #344054 !important;
    background: #f3f6ff !important;
    border: 1px solid #dbe4ff !important;
    border-left: 4px solid #1746d1 !important;
    border-radius: 11px !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
}

/* =========================================================
   SECTION HEADINGS
   ========================================================= */

.modern-checkout
.woocommerce-order
.woocommerce-order-details__title,
.modern-checkout
.woocommerce-order
.woocommerce-column__title,
.modern-checkout
.woocommerce-order
h2,
.modern-checkout
.woocommerce-order
h3 {
    margin: 0 0 18px !important;
    color: #101828 !important;
    font-size: 28px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
}

/* =========================================================
   ORDER DETAILS SECTION
   ========================================================= */

.modern-checkout
.woocommerce-order
.woocommerce-order-details {
    margin: 0 0 34px !important;
    padding: 30px !important;
    background: #ffffff;
    border: 1px solid #e4e9f1;
    border-radius: 18px;
    box-shadow: 0 14px 40px rgba(15, 35, 75, 0.07);
}

/* Main order table */
.modern-checkout
.woocommerce-order
table.woocommerce-table--order-details,
.modern-checkout
.woocommerce-order
table.order_details,
.modern-checkout
.woocommerce-order
table.shop_table {
    width: 100% !important;
    margin: 0 !important;
    background: #ffffff !important;
    border: 1px solid #e4e9f1 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 14px !important;
    overflow: hidden;
    box-shadow: none !important;
}

/* Table header */
.modern-checkout
.woocommerce-order
table.shop_table
thead
th {
    padding: 16px 18px !important;
    color: #101828 !important;
    background: #f8fafc !important;
    border: 0 !important;
    border-bottom: 1px solid #e4e9f1 !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    text-align: left !important;
}

/* Product and footer cells */
.modern-checkout
.woocommerce-order
table.shop_table
tbody
td,
.modern-checkout
.woocommerce-order
table.shop_table
tfoot
th,
.modern-checkout
.woocommerce-order
table.shop_table
tfoot
td {
    padding: 16px 18px !important;
    color: #475467 !important;
    background: #ffffff !important;
    border: 0 !important;
    border-bottom: 1px solid #edf0f5 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    vertical-align: middle !important;
}

/* Product column */
.modern-checkout
.woocommerce-order
table.shop_table
.woocommerce-table__product-name {
    width: 70%;
}

/* Product name links */
.modern-checkout
.woocommerce-order
table.shop_table
.product-name
a,
.modern-checkout
.woocommerce-order
table.shop_table
.woocommerce-table__product-name
a {
    color: #1746d1 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.modern-checkout
.woocommerce-order
table.shop_table
.product-name
a:hover,
.modern-checkout
.woocommerce-order
table.shop_table
.woocommerce-table__product-name
a:hover {
    color: #1037aa !important;
    text-decoration: underline !important;
}

/* Quantity */
.modern-checkout
.woocommerce-order
table.shop_table
.product-quantity {
    color: #667085 !important;
    font-weight: 700 !important;
}

/* Total column */
.modern-checkout
.woocommerce-order
table.shop_table
.product-total,
.modern-checkout
.woocommerce-order
table.shop_table
td:last-child {
    color: #101828 !important;
    font-weight: 700 !important;
    text-align: right !important;
    white-space: nowrap;
}

/* Footer labels */
.modern-checkout
.woocommerce-order
table.shop_table
tfoot
th {
    color: #344054 !important;
    background: #fbfcfe !important;
    font-weight: 700 !important;
    text-align: left !important;
}

/* Footer values */
.modern-checkout
.woocommerce-order
table.shop_table
tfoot
td {
    color: #101828 !important;
    font-weight: 750 !important;
    text-align: right !important;
}

/* Final table row */
.modern-checkout
.woocommerce-order
table.shop_table
tfoot
tr:last-child
th,
.modern-checkout
.woocommerce-order
table.shop_table
tfoot
tr:last-child
td {
    background: #f3f6ff !important;
    border-bottom: 0 !important;
    font-weight: 800 !important;
}

/* Highlight actual total row */
.modern-checkout
.woocommerce-order
table.shop_table
tfoot
tr.order-total
th,
.modern-checkout
.woocommerce-order
table.shop_table
tfoot
tr.order-total
td {
    color: #101828 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
}

/* =========================================================
   CUSTOMER / BILLING / SHIPPING DETAILS
   ========================================================= */

.modern-checkout
.woocommerce-order
.woocommerce-customer-details {
    margin: 0 !important;
    padding: 30px !important;
    background: #ffffff;
    border: 1px solid #e4e9f1;
    border-radius: 18px;
    box-shadow: 0 14px 40px rgba(15, 35, 75, 0.07);
}

/* Address columns */
.modern-checkout
.woocommerce-order
.woocommerce-columns--addresses {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Reset WooCommerce column widths */
.modern-checkout
.woocommerce-order
.woocommerce-column {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* One address only */
.modern-checkout
.woocommerce-order
.woocommerce-columns--addresses
.woocommerce-column:only-child {
    grid-column: 1 / -1;
}

/* Address card */
.modern-checkout
.woocommerce-order
.woocommerce-customer-details
address,
.modern-checkout
.woocommerce-order
.woocommerce-column
address {
    min-height: 170px;
    margin: 0 !important;
    padding: 22px !important;
    color: #475467 !important;
    background: #f8fafc !important;
    border: 1px solid #e4e9f1 !important;
    border-radius: 14px !important;
    font-size: 15px !important;
    font-style: normal !important;
    line-height: 1.7 !important;
    box-sizing: border-box;
}

/* Email and phone */
.modern-checkout
.woocommerce-order
.woocommerce-customer-details--email,
.modern-checkout
.woocommerce-order
.woocommerce-customer-details--phone {
    margin: 9px 0 0 !important;
    color: #344054 !important;
    font-weight: 600 !important;
}

/* Contact icons */
.modern-checkout
.woocommerce-order
.woocommerce-customer-details--email::before,
.modern-checkout
.woocommerce-order
.woocommerce-customer-details--phone::before {
    color: #1746d1 !important;
}

/* =========================================================
   DOWNLOADS TABLE
   ========================================================= */

.modern-checkout
.woocommerce-order
.woocommerce-order-downloads {
    margin: 0 0 34px !important;
    padding: 30px !important;
    background: #ffffff;
    border: 1px solid #e4e9f1;
    border-radius: 18px;
    box-shadow: 0 14px 40px rgba(15, 35, 75, 0.07);
}

/* =========================================================
   BUTTONS
   ========================================================= */

.modern-checkout
.woocommerce-order
.button,
.modern-checkout
.woocommerce-order
a.button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 48px !important;
    padding: 12px 22px !important;
    color: #ffffff !important;
    background: #1746d1 !important;
    border: 0 !important;
    border-radius: 9px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: 0 9px 20px rgba(23, 70, 209, 0.18);
    transition:
        background-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.modern-checkout
.woocommerce-order
.button:hover,
.modern-checkout
.woocommerce-order
a.button:hover {
    color: #ffffff !important;
    background: #1037aa !important;
    transform: translateY(-2px);
    box-shadow: 0 13px 25px rgba(23, 70, 209, 0.24);
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .modern-checkout
    .woocommerce-order
    .woocommerce-thankyou-order-details {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .modern-checkout
    .woocommerce-order
    .woocommerce-thankyou-order-details
    li:nth-child(3) {
        border-right: 0 !important;
    }

    .modern-checkout
    .woocommerce-order
    .woocommerce-thankyou-order-details
    li:nth-child(n + 4) {
        border-top: 1px solid #edf0f5 !important;
    }

    .modern-checkout
    .woocommerce-order
    .woocommerce-order-details,
    .modern-checkout
    .woocommerce-order
    .woocommerce-customer-details,
    .modern-checkout
    .woocommerce-order
    .woocommerce-order-downloads {
        padding: 26px !important;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .modern-checkout .woocommerce-order {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Success message */
    .modern-checkout
    .woocommerce-order
    .woocommerce-thankyou-order-received {
        padding: 20px 18px 20px 62px !important;
        font-size: 15px !important;
    }

    .modern-checkout
    .woocommerce-order
    .woocommerce-thankyou-order-received::before {
        left: 18px;
        width: 30px;
        height: 30px;
        font-size: 16px;
    }

    /* Order overview becomes two-column cards */
    .modern-checkout
    .woocommerce-order
    .woocommerce-thankyou-order-details {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        border-radius: 14px;
    }

    .modern-checkout
    .woocommerce-order
    .woocommerce-thankyou-order-details
    li {
        padding: 17px 15px !important;
        border-right: 1px solid #edf0f5 !important;
        border-bottom: 1px solid #edf0f5 !important;
    }

    .modern-checkout
    .woocommerce-order
    .woocommerce-thankyou-order-details
    li:nth-child(even) {
        border-right: 0 !important;
    }

    .modern-checkout
    .woocommerce-order
    .woocommerce-thankyou-order-details
    li:last-child {
        border-bottom: 0 !important;
    }

    .modern-checkout
    .woocommerce-order
    .woocommerce-thankyou-order-details
    li
    strong {
        font-size: 14px !important;
    }

    /* Section cards */
    .modern-checkout
    .woocommerce-order
    .woocommerce-order-details,
    .modern-checkout
    .woocommerce-order
    .woocommerce-customer-details,
    .modern-checkout
    .woocommerce-order
    .woocommerce-order-downloads {
        padding: 21px 16px !important;
        border-radius: 15px;
    }

    /* Headings */
    .modern-checkout
    .woocommerce-order
    .woocommerce-order-details__title,
    .modern-checkout
    .woocommerce-order
    .woocommerce-column__title,
    .modern-checkout
    .woocommerce-order
    h2,
    .modern-checkout
    .woocommerce-order
    h3 {
        font-size: 23px !important;
    }

    /* Turn order table into product cards */
    .modern-checkout
    .woocommerce-order
    table.shop_table,
    .modern-checkout
    .woocommerce-order
    table.shop_table
    tbody,
    .modern-checkout
    .woocommerce-order
    table.shop_table
    tfoot,
    .modern-checkout
    .woocommerce-order
    table.shop_table
    tr,
    .modern-checkout
    .woocommerce-order
    table.shop_table
    th,
    .modern-checkout
    .woocommerce-order
    table.shop_table
    td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box;
    }

    .modern-checkout
    .woocommerce-order
    table.shop_table
    thead {
        display: none !important;
    }

    .modern-checkout
    .woocommerce-order
    table.shop_table
    tbody
    tr {
        padding: 15px !important;
        border-bottom: 1px solid #e4e9f1 !important;
    }

    .modern-checkout
    .woocommerce-order
    table.shop_table
    tbody
    td {
        padding: 6px 0 !important;
        border: 0 !important;
        text-align: left !important;
    }

    .modern-checkout
    .woocommerce-order
    table.shop_table
    tbody
    td.product-total {
        margin-top: 5px;
        text-align: left !important;
    }

    .modern-checkout
    .woocommerce-order
    table.shop_table
    tbody
    td.product-total::before {
        content: "Total: ";
        color: #667085;
        font-weight: 600;
    }

    /* Footer rows */
    .modern-checkout
    .woocommerce-order
    table.shop_table
    tfoot
    tr {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 15px;
        padding: 0 15px;
        background: #ffffff;
        border-bottom: 1px solid #edf0f5 !important;
    }

    .modern-checkout
    .woocommerce-order
    table.shop_table
    tfoot
    th,
    .modern-checkout
    .woocommerce-order
    table.shop_table
    tfoot
    td {
        width: auto !important;
        padding: 14px 0 !important;
        background: transparent !important;
        border: 0 !important;
    }

    .modern-checkout
    .woocommerce-order
    table.shop_table
    tfoot
    td {
        text-align: right !important;
    }

    .modern-checkout
    .woocommerce-order
    table.shop_table
    tfoot
    tr:last-child {
        background: #f3f6ff !important;
        border-bottom: 0 !important;
    }

    /* Address columns */
    .modern-checkout
    .woocommerce-order
    .woocommerce-columns--addresses {
        display: flex !important;
        flex-direction: column;
        gap: 20px !important;
    }

    .modern-checkout
    .woocommerce-order
    .woocommerce-customer-details
    address,
    .modern-checkout
    .woocommerce-order
    .woocommerce-column
    address {
        min-height: 0;
        padding: 18px !important;
        font-size: 14px !important;
    }
}

/* =========================================================
   VERY SMALL PHONES
   ========================================================= */

@media (max-width: 420px) {

    .modern-checkout
    .woocommerce-order
    .woocommerce-thankyou-order-details {
        grid-template-columns: 1fr;
    }

    .modern-checkout
    .woocommerce-order
    .woocommerce-thankyou-order-details
    li {
        border-right: 0 !important;
        border-bottom: 1px solid #edf0f5 !important;
    }

    .modern-checkout
    .woocommerce-order
    .woocommerce-thankyou-order-details
    li:last-child {
        border-bottom: 0 !important;
    }
}



section.woocommerce-customer-details ::before {
	display: none;
}