/*
Theme Name: millwest
Template: dt-the7
Theme URI: http://the7.io/
Author: Ohiowebtech
Author URI: http://ohiowebtech.com/
Description: The7 child theme for millwest website.
Version: 3.0.0
License URI: License.txt
Text Domain: millwest
*/

/* ============================================================
   TABLE OF CONTENTS  (search for "SECTION: <name>")
   Added by Keith - 2026.09
   All custom CSS for the site lives in this file. Customizer
   Additional CSS is intentionally empty. Plugin-specific CSS
   stays in wp-content/plugins/millwest/.../millwest-public.css.
   Rules are kept in their historical order; only banners and
   new blocks have been added.
   ------------------------------------------------------------
   1.  Global, header, menus, homepage (steps accordion, slider)
   2.  Site-wide h3 / h4 in Elementor content   <-- heading sizes
   3.  Login screen
   4.  Cart page
   5.  Reviews, delivery notes, share dialog
   6.  Product cards, grids, related and recently viewed
   7.  Collection sliders and slideshow
   8.  Print styles
   9.  Tablet (1000-1441px)
   10. Mobile (max 600px)
   11. Social icons tooltip, landing-page grids, 2026 additions,
       collection photo zoom, collection prev/next nav,
       Doofinder search layer, Buying from Millwest policy strip
   12. Rules moved from Customizer Additional CSS (Sep 2026):
       product-description headings, gallery polish, product
       dropdown spacing, Google login button, mobile overrides
   ============================================================ */

/* ============================================================
   SECTION: 1. Global, header, menus, homepage
   ============================================================ */
:root {
	--primary: #E9AF20;
}

.mmenu_open_a:hover {
    border-bottom: 1px solid var(--e-global-color-primary);
}

.mmenu_open_a {
    border: 1px solid transparent;
    transition: all 200ms ease-In;
}

.mill_product_terms .elementor-tab-content a {
    text-decoration: underline;
}

header.elementor-sticky--active {box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;}

.millwest_h1 span {
	color: var(--primary);
	display: block;
}

.millwest_img_box .box-content {
	position: absolute;
	bottom: 0;
	right: 0;
	padding: 15px 25px;
	background: var(--primary);
}

.millwest_img_box .box-content .box-heading {
	margin-bottom: 0;
}

.millwest_countertops_box .box-content {
	position: absolute;
	bottom: -65px;
	right: 0;
	padding: 35px;
	background: rgba(30, 30, 30, 0.75);
}

.mill_menu .horizontal-sub-nav > li.act > a span, .dt-nav-menu-horizontal>li.act>a .menu-text {
    font-weight: 600 !important;
}

.horizontal-sub-nav > li > a:hover{
	color: var(--e-global-color-primary) !important;
    border-color: var(--e-global-color-text) !important;
}

.dt-nav-menu-horizontal > li > a:hover{
	border-color: var(--e-global-color-a40aa07) !important;
}

.millwest_toc i.icomoon-the7-font-the7-arrow-14 {
    transform: rotate(90deg);
}

.millwest_toc i.icomoon-the7-font-the7-arrow-15 {
    transform: rotate(90deg);
}

.millwest_suppliers img {
	box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

.millwest_copyright .elementor-shortcode {
	font-size: 14px;
	color: #FFF;
}

div.wpforms-container-full {
	margin: 0 !important;
}

.millwest-category-header {
	background-repeat: no-repeat !important;
	background-size: cover !important;
	min-height: 400px;
}

.page-title.overlay-bg:after {
	mix-blend-mode: hard-light;
}

.mill_pro_desc .elementor-shortcode {
    color: var(--e-global-color-text);
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-weight: var(--e-global-typography-text-font-weight);
}

.mill_steps .elementor-accordion .elementor-accordion-item{
	border: none;
	border-bottom: 1px solid #9c9c9c !important;
}

.mill_steps span.elementor-accordion-icon-closed,
.mill_steps span.e-closed {
	transform: rotate(90deg);
}

.mill_steps span.elementor-accordion-icon-opened,
.mill_steps span.e-opened {
	transform: rotate(-90deg);
}

.mill_steps .elementor-tab-title.elementor-active a,
.mill_steps details[open] .e-n-accordion-item-title-text {
    font-weight: bold !important;
}

.mill_steps h1{
    display: none;
}


.mill_steps h2,.mill_steps h3,.mill_steps h4,.mill_steps h5,.mill_steps h6{
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    margin-bottom: 0;
}
.mill_steps h2 + br,
.mill_steps h3 + br,
.mill_steps h4 + br,
.mill_steps h5 + br,
.mill_steps h6 + br {
    display: none;
}

/* ============================================================
   SECTION: 2. Site-wide h3 / h4 in Elementor content
   ============================================================ */
/* Added by Keith - 2026.09
   The7 sizes h3/h4 from Theme Options (custom.css, --the7-h3-font
   and --the7-h4-font), a panel that is no longer reachable in this
   version. Two-class selectors outrank The7's rules without
   !important. Rhythm matches Jadon's product-page headings:
   more space above, a little below. These are the size knobs. */
.elementor .elementor-tab-content h3,
.elementor .elementor-widget-text-editor h3 {
    font-size: 22px;        /* <-- h3 size */
    line-height: 1.3;
    margin: 30px 0 6px 0;
}
.elementor .elementor-tab-content h4,
.elementor .elementor-widget-text-editor h4 {
    font-size: 18px;        /* <-- h4 size */
    line-height: 1.3;
    margin: 24px 0 4px 0;
}


.content ol br, .content ul br {
    display: none;
}


.mill_video iframe, .mill_video img{
	height:82vh !important;
}

.elementor-widget-container .elementor-menu-anchor {
    top: -110px;
    position: relative;
}

/*
.dialog-widget iframe {
    height: 80vh;
}
    */


@-webkit-keyframes rotating

/* Safari and Chrome */
	{
	from {
		-webkit-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	to {
		-webkit-transform: rotate(72deg);
		-o-transform: rotate(72deg);
		transform: rotate(72deg);
	}
}

@keyframes rotating {
	from {
		-ms-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-webkit-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	to {
		-ms-transform: rotate(72deg);
		-moz-transform: rotate(72deg);
		-webkit-transform: rotate(72deg);
		-o-transform: rotate(72deg);
		transform: rotate(72deg);
	}
}

@-webkit-keyframes rotating1

/* Safari and Chrome */
	{
	from {
		-webkit-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	to {
		-webkit-transform: rotate(72deg);
		-o-transform: rotate(72deg);
		transform: rotate(72deg);
	}
}

@keyframes rotating1 {
	from {
		-ms-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-webkit-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	to {
		-ms-transform: rotate(72deg);
		-moz-transform: rotate(72deg);
		-webkit-transform: rotate(72deg);
		-o-transform: rotate(72deg);
		transform: rotate(72deg);
	}
}

.testimonials-carousel .owl-nav{
	position: relative;
}
/* Rotation animation */
@keyframes rotate {
	0% {
        transform: translate3d(var(--arrow-translate-x, 0), var(--arrow-translate-y), 0) rotate(0deg);
    }
    100% {
        transform: translate3d(var(--arrow-translate-x, 0), var(--arrow-translate-y), 0) rotate(144deg);
    }
}

.rotate {
    animation: rotate 500ms linear;
    left: calc(100% - var(--arrow-h-offset)) !important;
    top: var(--offset-v-m-img) !important;
}


.discover_btn .elementor-button-wrapper:hover .elementor-button-icon {
	-webkit-animation: rotating 500ms linear;
	-moz-animation: rotating 500ms linear;
	-ms-animation: rotating 500ms linear;
	-o-animation: rotating 500ms linear;
	animation: rotating 500ms linear;
}

.discover_btn .elementor-button-icon {
	display: flex;
	align-items: center;
}

.discover_btn span.elementor-button-text {
	padding-top: 1px;
}

.gradient_box {
	height: 650px;
}

.shop_btn {
	position: relative;
	width: 174px;
	height: 180px;
	overflow: hidden;
    cursor: pointer;
}

.shop_btn::before {
	content: "";
	position: absolute;
	top: 17px;
	left: 19px;
	width: 77%;
	height: 75%;
	background-image: url('./assets/button.png');
	background-size: contain;
	transition: transform 0.5s ease;
	background-repeat: no-repeat;
}

.shop_btn.in-view::before {
    animation: rotating1 500ms linear;
}

.shop_btn:hover::before {
	-webkit-animation: rotating 500ms linear;
	-moz-animation: rotating 500ms linear;
	-ms-animation: rotating 500ms linear;
	-o-animation: rotating 500ms linear;
	animation: rotating 500ms linear;
}

.shop_btn:hover::before a {
	color: var(--e-global-color-primary);
}

.shop_btn a {
	position: relative;
	z-index: 1;
	font-size: 22px !important;
    display: flex;
    align-items: center;
    background: transparent !important;
}
.shop_btn a:hover {
    background: transparent !important;
}

.shop_btn .elementor-button-wrapper {
	display: flex;
	justify-content: center;
	height: 175px;
}

.mil_testiomonial .elementor-swiper-button-next{
    z-index: -1 !important;     
}


.mil_testiomonial .owl-next,
.mil_testiomonial .elementor-swiper-button-next:before{
    content:"";
    background-image: url('./assets/button.png');
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1 !important;
    width: 126px !important;
    animation-duration: 1s;
    position: relative;
    right: -60px;
    z-index: -1 !important;  
    display: block;
    transition: transform 0.5s ease; 
    transform: rotate(var(--rotation, 0deg)); /* Use CSS variable for rotation */
}



.slideshow-container .slider_btn a {
    margin-top: -22px !important;
    margin-left: -26px !important;
}
.mil_testiomonial{
    z-index: 12;
}
.mil_testiomonial i.fas.fa-caret-right:before {
    content: "NEXT";
    font-size: 16px;
    color: var(--e-global-color-text);
    z-index: -4;
    font-family: "Derivia", Sans-serif;
    font-weight: 400;
    letter-spacing: 2px;
}

.mil_testiomonial i.fas.fa-caret-right {
    top: -25px;
    position: relative;
    left: -25px;
}

.mil_testiomonial .owl-nav:after {
    content: "NEXT";
    position: absolute;
    height: 25px;
    right: 76px;
    bottom: -32px;
    font: var(--the7-btn-xl-font);
    color: var(--e-global-color-text);
    z-index: -4;   
	font-family: "Derivia", Sans-serif;
    font-weight: 400;
    letter-spacing: 2px;
} 

.mil_testiomonial article.testimonials .post-entry-content {
    display: flex;
    flex-direction: column-reverse;
}


.cog {
	width: 33px;
	height: 33px;
}

.millwest_toc li.elementor-toc__list-item ul {
    padding-left: 25px;
}

.millwest_toc .elementor-toc__list-item-text-wrapper svg{
	width: var(--marker-size,1em);
}

.elementor-toc--content-ellipsis .elementor-toc__list-item-text{
	white-space: pre-wrap;
	text-overflow:unset;
}

.elementor-toc__list-item-text-wrapper {
    align-items: baseline;
}

.millwest_hard_title h3 {
    padding: 20px 20px 10px 20px;
}


.mill_pro_desc .elementor-accordion-title span {
    font-size: 14px;
    position: absolute;
    right: 7%;
    top: 13px;
}

.elementor-toc__header-title{
	cursor:pointer;
}

.miller_product a.button,.miller_product span.price {
    display: none !important;
}
span.out-stock-label {
	display: none !important;
}
a.owl-next.rotate_class {
    transform: translate3d(var(--arrow-translate-x, 0), var(--arrow-translate-y, 0), 0) rotate(60deg);
}

/* Subscribe button offset re-measured after the reCAPTCHA V3 row was removed from the footer form (replaced by Cloudflare Turnstile). Added by Jadon - 2026.09 */
footer button.elementor-button.elementor-size-xs {
    position: absolute;
    top: -57px;
    height: 47px;   
}
.page-id-773 footer button.elementor-button.elementor-size-xs{
	top: -27px;
}

/* Added by Keith - 2026.09: footer Subscribe button hover now matches the cart, checkout and
 * My Account buttons: beige with navy text and a 1px navy outline. In the Elementor footer form
 * (template 59) the button had no border set on its normal state, so the hover Border Color had
 * nothing to color, and its hover background was the Text global color (#223651, the same navy), so it did not change.
 * The border is the same navy as the fill, so it shows only on hover and nothing shifts.
 * !important is needed to beat the widget's own [type="submit"] rules. */
footer .elementor-widget-form .elementor-button[type="submit"] {
    border: 1px solid #223651 !important;
}
footer .elementor-widget-form .elementor-button[type="submit"]:hover {
    color: #223651 !important;
    background-color: #ECE9E3 !important;
    background-image: none !important;
    border-color: #223651 !important;
}

/* Added by Keith - 2026.09: Contact us page (page 51973) form Submit button gets the same navy
 * outline on hover. Its beige hover with navy text is already set in the Elementor form, but the
 * button had no border, so there was no outline to show. The 1px border matches the navy fill,
 * so it shows only on hover and nothing shifts. !important beats the widget's own button rules. */
body.page-id-51973 .elementor-widget-form .elementor-button[type="submit"] {
    border: 1px solid #223651 !important;
}
body.page-id-51973 .elementor-widget-form .elementor-button[type="submit"]:hover {
    border-color: #223651 !important;
}
.m_receive_text{
	width: 100%;
	background-color: transparent !important;
	min-height: 47px !important;
	font-size: 16px !important;
	border: 1px solid #D1D1D1 !important;
	color: var(--e-global-color-primary) !important;
	box-shadow:  rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px !important ;
	font-weight : 400 !important;
}
.m_receive_text:hover{
	background-color: var(--e-global-color-primary) !important;
	color: #FFF !important;
}

.elementor-field-type-html.elementor-field-group.elementor-column.elementor-field-group-field_b36634d.elementor-col-100 {
    border-bottom: 1px solid #D1D1D1;
    padding-bottom: 5px;
}

.elementor-field-type-html.elementor-field-group.elementor-column.elementor-field-group-field_43983a1.elementor-col-100 {
    text-align: center !important;
}


#footer.solid-bg {
    background: transparent;
}
img.zoomImg {
    background: #fefefe;
}
img.pswp__img {
    background: #fff;
}

.footer h3 a:hover{
	color : var(--e-global-color-primary) !important
}

tr.cart_item td.product-price span.woocommerce-Price-amount.amount {
    text-decoration: line-through;
	text-decoration-color: #FF0000;
}

.no_slash_price span.woocommerce-Price-amount.amount {
    text-decoration: none !important;
}

body.woocommerce-cart tr.fee span, body.woocommerce-cart tr.fee span bdi, tr.fee td:before {
    color: #ff0000 !important;
    font-size: 16px;
    max-width: 300px;
    text-align: left;
}
tr.fee th{
    text-align: left !important;
}
tr.fee{
    cursor: pointer;
}

/* Tooltip container */
.tooltip {
    position: relative;
    display: inline-block;
}

/* Tooltip text */
.tooltip .tooltiptext {
    visibility: hidden;
    width: 220px;
    background-color: #223651e8;
    color: #fff;
    text-align: left;
    border-radius: 10px;
    padding: 10px 20px;
    position: absolute;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.3s;
    margin: 0;
    right: 25%;
    min-height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    top: -70px;
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-weight: var(--e-global-typography-text-font-weight);
}

table.shop_table.woocommerce-checkout-review-order-table .tooltiptext {
    left: 25%;
    top: -90px;
}

/* Show the tooltip text when hovering */
tr.fee:hover .tooltiptext {
    visibility: visible;
    opacity: 1;
}


.discounted-price span.woocommerce-Price-amount.amount {
    text-decoration: auto !important;
}


.mill_slides .text-container {
	padding: 30px;
}

.mill_slides .text-container h3 {
	color: white;
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
	font-size: var(--e-global-typography-secondary-font-size);
	font-weight: var(--e-global-typography-secondary-font-weight);
	line-height: var(--e-global-typography-secondary-line-height);
	letter-spacing: var(--e-global-typography-secondary-letter-spacing);
	border-bottom: 1px solid #ddd;
}

.mill_slides .text-container p {
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-weight: var(--e-global-typography-text-font-weight);
	max-height: 210px !important;
    height: 210px;
}

.mill_slides .next:after{
	color: var(--the7-links-color);
	font-weight: 400 !important;
}

.mill_slides .text-container {
    position: relative;
}


.slider_btn {
	position: relative;
	width: 170px;
	height: 170px;
	overflow: hidden;
}

.slider_btn::before {
	content: "";
	position: absolute;
	top: 17px;
	left: 19px;
	width: 77%;
	height: 75%;
	background-image: url('./assets/button.png');
	background-size: contain;
	transition: transform 0.5s ease;
	background-repeat: no-repeat;
}



.slider_btn.rotate::before{
	animation: rotating1 500ms linear;
	transform: rotate(72deg);
}

.slider_btn:hover::before a {
	color: var(--e-global-color-primary);
}

.slider_btn a {
	position: relative;
	z-index: 1;
	transform: rotate(-90deg);
	font-size: 20px !important;
    margin-left: -20px;
    margin-top: -30px;
}

.slider_btn .elementor-button-wrapper {
	display: flex;
	justify-content: center;
	height: 180px;
}

.mill_slides .slider_btn {
    position: absolute;
    margin-left: 68%;
    margin-top: 10px;
}


/* Expanded dialog width when showing child categories */
.expanded .dialog-lightbox-widget-content.animated, .expanded .dialog-message.dialog-lightbox-message {
    width: 700px !important; /* Expanded width */
}

/* Style the parent and child categories container */
.shop-menu-container {
    display: flex;
    flex-direction: row;
    position: relative;
}

.shop-menu {
    padding: 0;
    margin: 0 !important;
    width: 100%; /* Width for parent categories, adjust to 100% initially */
}

.shop-menu li {
    list-style: none;
	font-family: "Work Sans", Sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.7em;
    letter-spacing: 1.5px;
    margin-bottom: 10px;
}
a.checkout-button.button.alt.wc-forward {
    font-family: "Work Sans", Sans-serif;
}

.shop-menu a {
    display: inline-block;
    text-decoration: none;
    transition: border 0.3s ease;
    border-bottom: 1px solid transparent;
}

div.millwest_instore a{
    padding: 5px 0;
}
.shop-menu a:hover, 
.shop-menu a.active,
div.millwest_instore a:hover,
body.page-id-19816 div.millwest_instore a,
body.single-instore div.millwest_instore a{
    border-bottom: 1px solid #223651;
}

/* Hide child menu initially */
.child-category-menu {
    list-style-type: none;
    padding-left: 0;
    display: none;
    position: absolute;
    left: 250px; /* Will move the child menu next to the parent */
    top: 0;
    width: 300px;
	z-index: 99;
}

.child-category-menu li {
    margin-bottom: 5px !important;
}

.child-category-menu li a {
    display: inline-block;
    text-decoration: none;
}
ul.shop-menu-header {
    display: none;
}
a.parent-category-link::after,
div.millwest_instore a::after {
    content: ">";
    font-size: 12px;
    display: none;
    position: absolute;
    font-weight: 500;
    margin-left: 10px;
	margin-top:1px;
}

div.millwest_instore a::after{
    margin-top: 5px;
}

a.parent-category-link.pactive::after {
    content: ">";
    font-size: 12px;
    display: inline-block;
    position: absolute;
    font-weight: 500;
    margin-left: 10px;
	margin-top:1px;
}

a.parent-category-link:hover:after,
div.millwest_instore a:hover::after,
body.page-id-19816 div.millwest_instore a::after,
body.single-instore div.millwest_instore a::after{
    display: inline-block;
}

a.parent-category-link.pactive {
    border-bottom: 1px solid #223651;
}


.m_collection_posts .elementor-post__card .elementor-post__thumbnail__link:after {
    background-image: none;
}

.elementor-widget-the7-woocommerce-login-register-form {
    font-family: "Work Sans", Sans-serif;
    font-size: 20px;
    color: var(--e-global-color-primary);
}

button.woocommerce-form-login__submit, .woocommerce-ResetPassword button, button.woocommerce-form-register__submit {
    font-family: "Work Sans", Sans-serif;
    font-size: 20px;
    letter-spacing: 0;
}

.the7-login-register-form .the7-login-form{
    border-bottom: 1px solid #D1D1D1;
    padding-bottom: 20px !important;
}

div#paya-payment-data {
    background: #fff;
    font-size: 12px;
}

ul.woocommerce-SavedPaymentMethods.wc-saved-payment-methods {
    margin-top: 25px;
}

.elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table .cart_item td.product-name {
    max-width: 350px;
    padding-right: 0px;
}

.elementor-blockquote__tweet-button, .elementor-cta, .elementor-headline, .elementor-nav-menu--main .elementor-nav-menu a, .elementor-post-navigation .elementor-post-navigation__link a, .elementor-price-list .elementor-price-list-item, .elementor-widget .elementor-icon-list-item a, .elementor-widget-reviews .elementor-testimonial__header, .elementor-widget-accordion .elementor-tab-content a,
.mill_pro_desc .elementor-shortcode a{
	text-decoration: underline;
}


input[type="text"], .widget_search input[type="text"].searchform-s, input[type="search"], input[type="tel"], input[type="url"], input[type="email"], input[type="number"], input[type="date"], input[type="range"], input[type="password"], select, textarea, .wpcf7-number, .woocommerce div.elementor .the7-elementor-widget form.cart table.variations td.value select, .the7-elementor-product-comments .elementor-field-textual, .elementor-field-group .elementor-field-textual, .elementor-field-group .elementor-select-wrapper select, .elementor-widget-woocommerce-checkout-page .select2-container--default .select2-selection--single .select2-selection__rendered, .e-checkout__order_review span.woocommerce-Price-amount.amount, .e-checkout__order_review strong.product-quantity {
    color: var( --e-global-color-primary ) !important;
}

/* Updated by Keith - 2026.09: the action buttons in the My Account > Orders table (Cancel Order,
 * Pay) now match the cart and view-order page buttons: navy, Work Sans 500, uppercase, 1px
 * letter spacing, 10px radius, beige hover with navy text. Slightly tighter than the cart
 * recipe (13px text, 8px 14px padding) so the table rows keep their height. The old rule here
 * only forced white hover text on the theme's grey button. */
td.woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-actions a.woocommerce-button.button {
    font-family: "Work Sans", Sans-serif !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    line-height: 1.4 !important;
    color: #fff !important;
    background: #223651 !important;
    border: 1px solid #223651 !important;
    border-radius: 10px !important;
    padding: 8px 14px !important;
    text-decoration: none !important;
}
td.woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-actions a.woocommerce-button.button:hover {
    color: #223651 !important;
    background: #ECE9E3 !important;
    border-color: #223651 !important;
}

/* Updated by Keith - 2026.09: was left; every other column is centered. A duplicate rule with
 * text-align: left !important used to sit ~70 lines below this one and won; it was removed. */
td.woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-actions {
    text-align: center !important;
}

/* Added by Keith - 2026.09: the Previous / Next buttons under the My Account > Orders table
 * (woocommerce/myaccount/orders.php) had The7's default beige button look. They now use the
 * same recipe as the cart and view-order page buttons: navy, Work Sans 500, uppercase, 1px
 * letter spacing, 14px, 10px radius, beige hover with navy text. */
.woocommerce-pagination a.woocommerce-button--previous.button,
.woocommerce-pagination a.woocommerce-button--next.button {
    font-family: "Work Sans", Sans-serif !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    line-height: 1.4 !important;
    color: #fff !important;
    background: #223651 !important;
    border: 1px solid #223651 !important; /* same navy as the fill; keeps the outline on hover without a size change */
    border-radius: 10px !important;
    padding: 12px 20px !important;
    text-decoration: none !important;
    cursor: pointer;
}
.woocommerce-pagination a.woocommerce-button--previous.button:hover,
.woocommerce-pagination a.woocommerce-button--next.button:hover {
    color: #223651 !important;
    background: #ECE9E3 !important;
    border-color: #223651 !important;
}


.e-my-account-tab__edit-address .woocommerce-MyAccount-content-wrapper {
    display: flex;
    flex-direction: column-reverse;
    gap: 15px;
}

button.woocommerce-button.button.woocommerce-form-login__submit.e-woocommerce-form-login-submit {
    border: none;
}

table.shop_table tfoot tr.order-total:nth-of-type(4) th,
table.shop_table tfoot tr.order-total:nth-of-type(4) td span {
    font-weight:600 !important;
}

table.shop_table tfoot tr.order-total.mw_deposit th,
table.shop_table tfoot tr.order-total.mw_deposit td span {
    color: #FF0000 !important;
}

.millwest_order_details .woocommerce-order {
    display: flex;
    flex-direction: column;
    align-items: center;   
    margin: 0 auto;
}

.millwest_order_details section.woocommerce-customer-details {
    min-width: 58%;
}

.millwest_order_details .mill_order_received p {
    display: inline;
}

.millwest_order_details .woocommerce-column.woocommerce-column--2.woocommerce-column--shipping-address.col-2 {
    float: left;
    width: 100%;
    margin-bottom: 30px !important;
}

.millwest_order_details address {
    font-style: normal;
}

.millwest_order_details ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
    flex: 1 0 30%;
    background: #fefefe;
    padding: 2%;
    margin: 3.5%;
    border-radius: 5px;
	border:1px solid var( --e-global-color-primary );
}

.millwest_order_details table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot tr:nth-of-type(4) {
    display: none;
}

.millwest_order_details table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot th{
	border-top: var(--order-summary-totals-divider-weight, 0) solid var(--order-summary-totals-divider-color, #69727d);
}

/* Added by Keith - 2026.09: product photo on order item rows (My Account order page and
 * order received page), see inc/mill-order-item-photos.php. Cart-style row: 100px photo column,
 * name and options stacked beside it, price on the first line; 70px photo on phones. */
td.woocommerce-table__product-name .mill-item-row {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}
td.woocommerce-table__product-name .mill-item-photo {
    flex: 0 0 100px;
    width: 100px;
}
td.woocommerce-table__product-name .mill-item-photo img {
    width: 100px;
    height: 100px;
    display: block;
    border-radius: 6px;
}
td.woocommerce-table__product-name .mill-item-text {
    flex: 1 1 auto;
    min-width: 0;
}
/* The text column is one link to the product: reads as text, name in navy, no underlines;
 * the whole column turns Millwest red (#AA0812) on hover, same as link hovers elsewhere on the site. */
td.woocommerce-table__product-name a.mill-item-link {
    display: block;
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}
td.woocommerce-table__product-name .mill-item-name {
    color: #223651;
    transition: color 0.2s ease;
}
td.woocommerce-table__product-name a.mill-item-link:hover,
td.woocommerce-table__product-name a.mill-item-link:hover .mill-item-name,
td.woocommerce-table__product-name a.mill-item-link:hover div,
td.woocommerce-table__product-name a.mill-item-link:hover span,
td.woocommerce-table__product-name a.mill-item-link:hover li {
    color: #AA0812 !important;
    text-decoration: none;
}
/* Price sits on the first line of the row, like the cart, instead of centred against the photo. */
table.woocommerce-table--order-details tbody td.woocommerce-table__product-name,
table.woocommerce-table--order-details tbody td.woocommerce-table__product-total {
    vertical-align: top;
}
@media only screen and (max-width: 600px) {
    td.woocommerce-table__product-name .mill-item-row {
        gap: 10px;
    }
    td.woocommerce-table__product-name .mill-item-photo {
        flex-basis: 70px;
        width: 70px;
    }
    td.woocommerce-table__product-name .mill-item-photo img {
        width: 70px;
        height: 70px;
    }
}

td.woocommerce-table__product-name div {
    text-align: left;
}
.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce tbody td {
    text-align: center;
}

body.woocommerce-checkout table.shop_table tfoot tr.mw_total_cart_amount {
     display: none !important; 
}

body.woocommerce-order-pay table.shop_table tfoot tr:last-of-type {
    display: table-row !important;
}

body.woocommerce-order-pay button#place_order {
    border: 2px solid var( --e-global-color-text );
}

body.woocommerce-order-pay thead{
    display:none; 
}

body.woocommerce-order-pay tr.amount_paid th, 
body.woocommerce-order-pay tr.amount_paid td,
body.woocommerce-order-pay tr.amount_paid th a{
    color:#FF0000 !important;
}

body.woocommerce-order-pay tr.order_total th, 
body.woocommerce-order-pay tr.order_total td{
    font-size:18px;
    color: #000 !important;
}

body.woocommerce-order-pay div#payment {
    margin-top: 25px;
}

body.woocommerce-order-pay tr.cart_subtotal,
body.woocommerce-order-pay tr.original_total {
    border-top: 1px solid #69727d !important;
}

body.woocommerce-order-pay table.shop_table {
    border-collapse: collapse;
}

body.woocommerce-order-pay button#place_order:hover {
    color: var( --e-global-color-text );
}

.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .order_details tfoot td, .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .order_details tfoot th {
    color: var( --e-global-color-primary ) !important;
}

.woocommerce-thankyou-order-details li {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-thankyou-order-details li strong {
    margin-top: 0px !important;
    padding: 0;
    margin-left: 6px;
    flex: 1 0 20%;
}

.elementor-widget-woocommerce-purchase-summary .woocommerce .woocommerce-thankyou-order-details {
    gap: 15px;
}

li.woocommerce-order-overview__total span.woocommerce-Price-amount.amount {
    font-family: var(--e-global-typography-accent-font-family), Sans-serif;
    font-weight: var(--e-global-typography-accent-font-weight);
    color: var( --e-global-color-primary ) !important;
    font-size: 15px;
}

.m_option_photo {
    margin-bottom: 0;
    text-align: right;
    font-family: "Work Sans", Sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: var(--e-global-color-primary);
}

/* Added by Jadon - 2026.10 - the two states of the note under the price (markup from
   Millwest_Public::photo_note_html and millPhotoNote in millwest-public.js).
   .m_photo_ok: the photo shows the chosen options, a check in the price green and
   one line. .m_photo_warn: no photo of the chosen combination, a note in the site's
   own colors: the paper background (global secondary, #ECE9E3), navy text (global
   primary, #223651), a Millwest red (#AA0812) edge and icon, as on the discount tag.
   Left-aligned text inside a right-aligned block, capped in width so it sits under
   the price like a label. */
.m_option_photo .m_photo_ok {
    color: #2E6F40; /* same green as the price */
}
.m_option_photo .m_photo_ok_mark {
    font-weight: 600;
}
.m_option_photo .m_photo_warn {
    display: inline-flex;
    align-items: flex-start;
    gap: 10px;
    max-width: 340px;
    padding: 9px 12px 9px 10px;
    background: var(--e-global-color-secondary, #ECE9E3);
    border: 1px solid #D1D1D1;
    border-left: 4px solid #AA0812;
    border-radius: 5px; /* as .m_discount_tag */
    text-align: left;
    font-size: 14px;
    line-height: 1.45;
    color: var(--e-global-color-primary, #223651);
}
.m_option_photo .m_photo_warn_icon {
    flex: none;
    width: 18px;
    height: 18px;
    margin-top: 1px;
    color: #AA0812;
}
.m_option_photo .m_photo_warn_text b {
    display: block;
    font-weight: 600;
    color: var(--e-global-color-primary, #223651);
}
/* Added by Keith - 2026.10 - .m_photo_special marks the photo's own special message
   from the Photos sheet ("Pictured with an unidentified fabric", "Line drawing only").
   It uses the .m_photo_warn box as it is (red edge and icon); the class is only a hook. */
/* Added by Jadon - 2026.10 - phones and tablets (768px and under): the note sits
   directly under the price block with no gap, while below it the first option
   picker's tab has 20px of top padding before "Top Color". A matching 20px above
   the shaded note so the space above and below it is the same. The one-line
   green check (.m_photo_ok) keeps its own line height and needs no margin. */
@media (max-width: 768px) {
    .m_option_photo .m_photo_warn {
        margin-top: 20px;
    }
}

.m_slide_right {
    transform: translateX(-50%); /* Initially off-screen to the right */
    transition: transform 1s ease-out, opacity 1s ease-out; /* Smooth transition for both transform and opacity */
    opacity: 0; /* Initially hidden */
    position: relative; /* Keep in flow */
    visibility: visible; /* Ensures it's always rendered */
}

.m_slide_left {
    transform: translateX(50%); /* Initially off-screen to the right */
    transition: transform 1s ease-out, opacity 1s ease-out; /* Smooth transition for both transform and opacity */
    opacity: 0; /* Initially hidden */
    position: relative; /* Keep in flow */
    visibility: visible; /* Ensures it's always rendered */
}

.m_shop_menu li#menu-item-2358 a {
    display: none;
}

.m_shop_menu li#menu-item-2358 ul.sub-menu a {
    display: inline-block;
}

.m_shop_menu li#menu-item-2358 ul.sub-menu {
    margin: 0;
}

.m_shop_menu ul.sub-menu ul.sub-menu {
    display: none;
}

.m_shop_menu ul.sub-menu li.active ul.sub-menu{
	list-style-type: none;
    padding-left: 0;
    position: absolute;
    left: 270px;
    width: 300px;
    display: inline-block;
}

.m_shop_menu ul.sub-menu li.active a::after, .m_shop_menu li.current_page_item a::after, .m_shop_menu ul.sub-menu li.current-menu-ancestor a::after{
	content: ">";
    font-size: 12px;
    display: inline-block;
    position: absolute;
    font-weight: 500;
    margin-left: 10px;
    margin-top: 1px;
	color: var(--e-global-color-primary);
}

.m_shop_menu ul.sub-menu li a::after{
    content: ">";
    font-size: 12px;
    display: none;
    position: absolute;
    font-weight: 500;
    margin-left: 10px;
	margin-top:1px;
}

.m_shop_menu ul.sub-menu li a:hover:after {
    display: inline-block;
}

.m_shop_menu ul.sub-menu li ul.sub-menu li a::after{
	display: none;	
}
.m_shop_menu ul.sub-menu li.active ul.sub-menu li a, .m_shop_menu ul.sub-menu li.current-menu-ancestor ul.sub-menu li a{
	border:1px solid transparent;
}
.m_shop_menu ul.sub-menu li.active ul.sub-menu li a:hover{
	border-bottom: 1px solid #223651;
}

.m_shop_menu ul.sub-menu li.active a, .m_shop_menu li.current_page_item a, .m_shop_menu ul.sub-menu li.current-menu-ancestor a{
	border-bottom: 1px solid #223651;
}

.m_shop_menu .sub-menu li.current-menu-ancestor .sub-menu {     
	list-style-type: none;
    padding-left: 0;
    position: absolute;
    left: 270px;
    width: 300px;
    display: inline-block;
}

.ph-deposits-wrapper.ph-deposits-wrapper-design2.ph-deposits-optional-class {
    display: flex;
    justify-content: flex-end;
}

.ph-deposits-wrapper .ph-deposits-option{
	align-items: self-end;
	width: 70%;
}

.ph-deposits-wrapper .ph-deposits-option li, .ph-deposits-wrapper .ph-deposits-payment-plans li {
    font-family: "Work Sans", Sans-serif;
    font-weight: 400;
    color: var(--e-global-color-primary);
}

.ph-deposits-wrapper .ph-deposits-option .phive_deposits_price {
    font-weight: 500;
}

.elementor-widget-woocommerce-purchase-summary .woocommerce .woocommerce-thankyou-order-details li {
	border: none !important;
}

.elementor-widget-woocommerce-purchase-summary .woocommerce section {
    margin-top: 0 !important;
	margin-bottom: 20px;
}

.woocommerce-order h4 {
    font-family: "Work Sans", Sans-serif;
    font-size: 24px;
    font-weight: 600;
    color: var(--e-global-color-primary);
}

table.shop_table.customer_details, .shop_table.customer_details th {
    font-family: "Work Sans", Sans-serif;
    font-weight: 600;
    color: var(--e-global-color-primary);
}
.woocommerce-thankyou-order-details li{
	padding:0;
}

.m_vieworder_page {
    display: flex;
    justify-content: flex-start;
    gap: 10px;
}

p.order-print {
    display: contents;
}

/* Updated by Keith - 2026.09: the Print Order and Cancel Order buttons on the My Account
 * view-order page now match the cart page buttons (.millwest_cart button further down):
 * Work Sans 500, uppercase, 1px letter spacing, 14px, 10px radius, navy with the beige hover.
 * The Cancel button carries The7's woocommerce-button classes, so !important is needed to
 * beat the theme's own button typography on it. */
p.order-print a,
p.order-print a.woocommerce-button.button {
    font-family: "Work Sans", Sans-serif !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    line-height: 1.4 !important;
    color: #fff !important;
    background: #223651 !important;
    border: 1px solid #223651 !important; /* same navy as the fill; keeps the outline on hover without a size change */
    border-radius: 10px !important;
    padding: 12px 20px !important;
    margin-top: 10px;
    text-decoration: none !important;
	cursor: pointer;
}

/* Hover matches the cart buttons (beige with navy text). These buttons sit on the beige page
 * background rather than in a white box, so the navy border is what keeps the shape visible. */
p.order-print a:hover,
p.order-print a.woocommerce-button.button:hover {
    color: #223651 !important;
    background: #ECE9E3 !important;
    border-color: #223651 !important;
}

p.order-again {
    display: none;
}

section.woocommerce-order-details {
    margin-top: 25px;
    margin-bottom: 20px;
}

.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .shop_table th {  
    font-family: "Work Sans", Sans-serif !important;
    font-weight: 500;
    text-align: center;
}

th.woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-number {
    text-align: center !important;
}

/* Added by Keith - 2026.09: My Account > Orders rows link to the order (data-view-url set in
 * woocommerce/myaccount/orders.php, click handled in js/script.js). Pointer plus a light
 * beige tint on hover; no underline on the order number. */
tr.woocommerce-orders-table__row[data-view-url] {
    cursor: pointer;
}
tr.woocommerce-orders-table__row[data-view-url]:hover td,
tr.woocommerce-orders-table__row[data-view-url]:hover th {
    background-color: #F4F1EC;
}
tr.woocommerce-orders-table__row[data-view-url]:focus-visible {
    outline: 2px solid #223651;
    outline-offset: -2px;
}
.woocommerce-table--order-details .shipped_via {
    font-size: 16px;
}

.myaccount_order_details tr.shipping td {
    display: flex;
    flex-direction: row-reverse;
    justify-content: end;
    align-items: baseline;
}

.woocommerce-MyAccount-content mark {
    padding: 0px;
}
input[type="radio"] {
	accent-color: var(--e-global-color-primary);;
}
.shipping-calculator-button{
	font-family: "Work Sans", Sans-serif !important;
    font-weight: 500 !important;
	text-decoration: underline !important;
}

.woocommerce-shipping-destination {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
    display: inline-block;
}

.elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .shop_table td,.elem-woo-select2-dropdown .select2-results__option, .elementor-widget-woocommerce-cart .select2-container--default .select2-selection--single .select2-selection__rendered, #calc_shipping_country, #calc_shipping_state, select.shipping_method, form .form-row input.input-text {
    font-family: "Work Sans", Sans-serif !important;
    font-weight: 500;
	color: var(--e-global-color-primary);
}

.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce-MyAccount-content h2:first-of-type {
    margin-top: 0;
    font-size: 20px;
    margin-bottom: 5px;
}

h4.woocommerce-column__title {
    margin-top: 10px;
    font-size: 20px;
    font-family: var(--e-global-typography-accent-font-family), Sans-serif;
    font-weight: var(--e-global-typography-accent-font-weight);
    color: var(--e-global-color-primary);
}

.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .u-columns {
    margin-top: 0;
    padding-top: 0;
}

.wcd-wrapper.dfw-checkout {
    background: #fff;
    padding: 25px 25px 15px 25px;
    border: 1px solid var(--e-global-color-primary);
    border-radius: 5px;
}
.wcd-wrapper ul.deposit-options{
	justify-content: center;
}
.wcd-wrapper ul.deposit-options li {
    padding: 0;
    border: none;
    display: flex;
    column-gap: 10px;
    font-family: "Work Sans", Sans-serif !important;
    font-weight: 500;
    font-size: 16px;
}

.shop_table strong span {
    font-family: "Work Sans", Sans-serif !important;
    font-weight: 500 !important;
	font-size: 16px !important;
}

.elementor-widget-woocommerce-checkout-page .woocommerce .wc_payment_method label {
    color: var(--e-global-color-primary);
}

#shipping_method label, .payment_methods label, .elementor-widget-woocommerce-checkout-page .woocommerce-checkout .form-row>span {
    font-family: "Work Sans", Sans-serif;
    font-weight: 500;
    color: var(--e-global-color-primary) !important;
}

.woocommerce-checkout-review-order .product-name, .woocommerce-checkout-review-order .product-name a{
	text-align: left !important;
}

.content .woocommerce-checkout-review-order-table td{
	text-align: right;
}

.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping {
   display: inline-block;
    padding: 0;
    margin-bottom: -20px;
    padding-top: 10px;
}

.elementor-widget-woocommerce-checkout-page .woocommerce .shop_table tr.cart-subtotal th, .elementor-widget-woocommerce-checkout-page .woocommerce .shop_table tr.cart-subtotal td {
    border-bottom: 1px solid var(--the7-divider-color);
}

.elementor-widget-woocommerce-checkout-page .woocommerce .shop_table tr{
	border-top: none !important;
}

.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping th {
    display: none;
}

.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping td:before {
    content: attr(data-title);
    float: left;
    text-align: left;
}

.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping td {
    width: 100%;
    display: inline;
}

.woocommerce-checkout-review-order-table #shipping_method {
    margin-top: 30px;
}

.e-checkout__order_review .woocommerce-shipping-totals #shipping_method li {
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation{
    width: 21% !important;
    padding-right: 30px;
}
.elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce-MyAccount-content{
	min-width: 900px;
    padding-left: 5px;
}

.woocommerce-MyAccount-content fieldset legend {
    border-top: 1px solid #ddd !important;
    width: 100%;
    padding: 0 !important;
    padding-top: 10px !important;
    margin-bottom: 10px;
}
.woocommerce-MyAccount-content fieldset{
    margin-top: 5px !important;
}

.elementor-widget-woocommerce-my-account .woocommerce-MyAccount-paymentMethods .woocommerce-PaymentMethod--actions{
	text-align: left;
}

td.woocommerce-PaymentMethod.woocommerce-PaymentMethod--actions.payment-method-actions {
    text-align: left !important;
}

.elementor-widget-woocommerce-my-account .woocommerce-MyAccount-paymentMethods .woocommerce-PaymentMethod--actions a {
    margin-left: 15px !important;
}

td.woocommerce-PaymentMethod.woocommerce-PaymentMethod--expires.payment-method-expires {
    text-align: center;
}


body.woocommerce-order-received .woocommerce-cart-wrap {
    display: block;
    margin-bottom: 25px;
}

form#wc-cancel-form {
    color: var( --e-global-color-primary );
    font-family: var(--e-global-typography-accent-font-family), Sans-serif;
    font-weight: var(--e-global-typography-accent-font-weight);
}

form#wc-cancel-form button {
    font-family: "Work Sans", Sans-serif !important;
    font-weight: 500;
    color: #fff !important;
    letter-spacing: 0;
    padding: 7px 10px;
    background: var(--e-global-color-primary);
    cursor: pointer;
    border: none;
    border-radius: 5px;
    font-size: 14px;
}

form#wc-cancel-form button:hover {
    background: var( --e-global-color-secondary );
    color: var(--e-global-color-primary) !important;
}

form#wc-cancel-form div.wc-cancel-order-num {margin-top: 5px;}

form#wc-cancel-form div.wc-cancel-head {
    font-weight: var(--e-global-typography-accent-font-weight);
    font-size: 24px;
}

.wc-cancel-main.fancybox-content {
    width: 500px;
}

.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .order_details tfoot tr.order_total th, 
.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .order_details tfoot tr.order_total td,
.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .order_details tfoot tr.down_payment th,
.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .order_details tfoot tr.down_payment td,
.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .order_details tfoot tr.down_payment th a,
.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .order_details tfoot tr.final_payment td,
.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .order_details tfoot tr.final_payment th   {
    color: #FF0000 !important;
}

.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .order_details tfoot tr.down_payment th a,
.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .order_details tfoot tr.order_total th a,
body.woocommerce-order-pay tr.amount_paid th a{
    text-decoration: underline;
    text-decoration-color: var(--links-normal-color);
}

.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .order_details tfoot tr.down_payment th,
.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .order_details tfoot tr.order_total th{
    display: inline;
    text-align: left;
}

form#order_review table td,form#order_review table th {
    font-family: "Work Sans", Sans-serif !important;
    font-weight: 600;
    color: var(--e-global-color-primary);
    border: none !important;;
}

form#order_review div#paya-payment-data {
    padding: 3%;
    border-radius: 10px;
    font-family: "Work Sans", Sans-serif !important;
    font-weight: 500;
}

form#order_review {
    width: 50%;
    margin: 0 auto;
}

form#order_review table th {
    padding: 0 !important;;
}

form#order_review td.product-subtotal,form#order_review td.product-total {
    text-align: right;
    padding-right: 10px !important;
}

form#order_review table th.product-total {
    text-align: right;
    padding-right: 13px !important;;
}

table.myaccount_order_details td,table.myaccount_order_details th {
    border-top: none !important;
}

table.myaccount_order_details tr.cart_subtotal th,
table.myaccount_order_details tr.cart_subtotal td,
table.myaccount_order_details tr.original_total th,
table.myaccount_order_details tr.original_total td {
    border-top: var(--tables-divider-border-width,1px) var(--tables-divider-border-type,solid) var(--tables-divider-border-color,#d5d8dc) !important;
}

.e-woocommerce-login-anchor {
    display: block !important;
}

button.m_addcart{
    border:none;
    background-color: var(--e-global-color-primary);
    font-family: "Work Sans", Sans-serif;
    font-weight: 500;
}

ul.m_order_meta {
    display: flex;
    flex-direction: column;
    width: 330px;
}

select#morder {
    border-radius: 10px;
    padding: 0 40px;
}

form#order_review ul.wc-item-meta {
    display: none;
}

.m_product_home {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    gap:50px;
}

.m_product_home .m_product-item {
    display: flex;
    padding: 1px;
    position: relative;
}

.m_product_home .box-group {
    display: grid;
    transition: all .33s;
    grid-template-columns: repeat(2, minmax(0, 1fr)); 
}

.m_product_home .box-group-header {
    text-align: center;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    background: #ffffff;
    position: relative;
    padding-top: 40px;
    border-radius: 10px;   /* Added by Keith - 2026.03 — Match rounded corners from product cards */
}

/* Added by Keith - 2026.03 — Round bottom corners of image grid without clipping discount tags */
.m_product_home .box-group {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    overflow: hidden;
}

.m_product_home .box-group-header h2{
    margin-bottom: 0;
	position: absolute;
  	top: 5px;
  	left: 0;
  	right: 0;
  	text-align: center;
}

.m_product_home .box-group-header h2 a{
    font-family: "Derivia", Sans-serif;
    font-size: 24px;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1.5em;
    letter-spacing: 1.7px;
    color: var( --e-global-color-primary );    
    padding: 100px 0 20px 0;
}

.m_product_home .box-group-header h2 a:hover {
 	color: #aa0812;
}

.m_product_home .m_product-item a {
    display: flex;
    flex-flow: column nowrap;
    width: 100%;
    max-width: 200px;
}

.m_product_home .m_product-item h3 {
    font-size: 14px;
    line-height: 1.2em;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
    width: 60%;
    left: 40px;
    color: #fff;
    opacity: 0;
    font-family :"Work Sans", sans-serif;
    font-weight: 500;
}

.m_product_home .m_product_home {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 25px;
}

.m_product_home .m_product-item a {
    text-align: center;
}

.m_product_home .m_product-item a:before {
    position: absolute;
    content: "";
    width: 99%;
    height: 99%;
    transition: all 0.2s;
}

.m_product_home .m_product-item:hover h3 {
    opacity: 1;
}

.m_product_home .m_product-item:hover a:before {
    background: rgba(0,0,0,0.4); /* Changed by Keith - 2026.03 — Lighten hover overlay */
}

.m_home_dis{
    background-color: var(--e-global-color-e3ad186);
    background-image: var(--e-global-color-e3ad186);
    font-family: "Work Sans", Sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    padding: 5px 10px;
    color: #fff;
    border-radius: 5px;
    font-size: 13px;
    position: absolute;
    z-index: 9;
    right: -20px;
    top: -20px;
}

#mill_dept_desc p {
    font-family: var(--e-global-typography-accent-font-family), Sans-serif;
    font-weight: 400;
    color: #223651 !important;
}
#mill_dept_desc a{
    text-decoration:underline !important;
}


.millwest_activation .widecolumn{
    max-width: 900px;
    margin:0 auto;
    padding: 50px;    
}

.millwest_activation .widecolumn h2, .millwest_activation .widecolumn p, .millwest_activation .widecolumn span.h3 {
    font-family: "Work Sans", Sans-serif !important;
    font-weight: 500 !important;
}

.the7-register-form {
    display: none !important;
}


.gform-body.gform_body label,.gform-body.gform_body legend {
    font-family: "Work Sans", Sans-serif !important;
    font-weight: 500 !important;
    font-size: 20px !important;
    color: var(--e-global-color-primary);
}

.gform-body.gform_body .gfield_html, div#gform_confirmation_message_6 {
    font-family: "Work Sans", Sans-serif;
    font-weight: 500;
}



/* ============================================================
   SECTION: 3. Login screen
   ============================================================ */
/**** Login Screen ***/
.millwest_login .u-column1.col-1 {
	background-color: #ece9e3 !important;
}

.millwest_login .u-column1.col-1 form, form.lost_reset_password, #customer_login > div {
	padding: 0px !important;
	float: none;
	background-color: #ece9e3 !important;
	border: none !important;
	box-shadow: none !important;
}

.millwest_login h2{
  font-family: "Derivia", Sans-serif !important;
  font-size: 36px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  line-height: 1.5em;
  letter-spacing: 4px;
  color: var( --e-global-color-primary ) !important;
  margin-bottom: 20px !important;
  text-align: center;
}
.millwest_login .woocommerce-ResetPassword.lost_reset_password {
    margin: 0 auto;
    padding: 5px !important;
    float: none;
    background-color: #ece9e3 !important;
    border: none !important;
    box-shadow: none !important;
}
.millwest_login form input{
    padding: 5px !important;
}
.millwest_login .u-column2.col-2 {
	display: none;
}


.millwest_login p {
	font-family: "Work Sans", Sans-serif !important;
	font-size: 16px !important;
	color: var(--e-global-color-primary) !important;
    padding: 0 !important;
    margin: 0 !important;
}

.millwest_login .woocommerce-notices-wrapper{
    font-family: "Work Sans", Sans-serif !important;
	font-size: 16px !important;
}

.millwest_login .woocommerce-notices-wrapper strong, .millwest_login .woocommerce-notices-wrapper a{
    color: #fff !important;
}
.millwest_login .woocommerce-notices-wrapper a{
    text-decoration: underline;
}

/* Added by Keith - 2026.09: WooCommerce's "Confirm your email address to check for past orders"
 * notice on My Account (div.woocommerce-info, which The7 floats bottom-right in navy) rendered its
 * "Confirm email address" link in the Derivia heading font at 12px with 4px letter spacing, nearly
 * unreadable on the navy box. Show it as a beige button in the site's button style instead. */
.millwest_login .woocommerce-info a.button.wc-forward {
    font-family: "Work Sans", Sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    line-height: 1.4 !important;
    color: #223651 !important;
    background: #ECE9E3 !important;
    border: 1px solid #ECE9E3 !important;
    border-radius: 10px !important;
    padding: 8px 14px !important;
    /* The7 makes the notice a flex column with the link first and floated right; put the
     * button after the message, sized to its text. */
    order: 2 !important;
    align-self: flex-start !important;
    width: auto !important;
    float: none !important;
    margin: 10px 0 0 0 !important;
    display: block;
    text-decoration: none !important;
}
.millwest_login .woocommerce-info a.button.wc-forward:hover {
    background: #fff !important;
    border-color: #fff !important;
    color: #223651 !important;
}

.millwest_login .woocommerce-LostPassword.lost_password {
	padding: 20px 0;
	margin-left: -5px;

}

.millwest_login .woocommerce-LostPassword.lost_password a {
	color: var(--e-global-color-text) !important;
}


.millwest_login button:hover {
	background: #223651c4 !important;
}

body.woocommerce-lost-password .millwest_register{
    display: none;
}

body.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password p {   
   margin-bottom: 10px !important; 
}


.mill_steps h4 a {
  text-decoration: none !important;
}

span.password-input button {display: none;}

/* ============================================================
   SECTION: 4. Cart page
   ============================================================ */
/** CART PAGE ***/
.millwest_cart .woocommerce {
    display: flex;
    flex-direction: row;
    font-family: "Work Sans", Sans-serif;
    font-weight: 500;
}

.millwest_cart form,.millwest_cart .cart-collaterals {
    background-color: #fff;
    border-color: #223651;
    border-radius: 3px;
    border-style: solid;
    border-width: 1px;
    margin: 0 0 20px 0;
    padding: 15px;
}

.millwest_cart .product-thumbnail img {
    max-width: 85px;
}

.millwest_cart form {
    flex: 1 0 60%;
    margin-right: 30px;
    height:100%;
}
.millwest_cart .cart-collaterals {
    flex: 1 0 40%;
    height:100%;
}

.millwest_cart form th, .millwest_cart .woocommerce h2 {
    color: #FFF !important;
    text-transform: uppercase;
    font-size:14px !important;
    font-weight: 600 !important;
    padding: 3px !important;
}

.millwest_cart .coupon {
    display: none;
}

/* Updated by Keith - 2026.09: added the 1px navy border (and border-color on hover below) so the
 * cart buttons (Update Cart, zip Update, Proceed to Checkout) keep an outline on the beige hover,
 * matching the My Account Orders Previous / Next buttons and the view-order page buttons.
 * The border is the same navy as the fill, so the button does not change size on hover. */
.millwest_cart button, .millwest_cart a.checkout-button {
    background-color: #223651;
    border: 1px solid #223651 !important;
    font-family: "Work Sans", Sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 10px !important;
    font-size: 14px;
    width: auto;
    float: right;
    padding: 12px 20px !important;
}
.millwest_cart button:hover, .millwest_cart a.checkout-button:hover {
    color: #223651;
    background-color : #ECE9E3;
    border-color: #223651 !important; /* Added by Keith - 2026.09: outline stays on hover */
    padding: 12px 20px !important;
    font-family: "Work Sans", Sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 14px;
}

/* Added by Keith - 2026.09: the checkout page's Place Your Order button gets the same outline.
 * Its colors come from the Elementor Checkout widget (page 772): navy with beige text, turning
 * beige with navy text on hover, and a 0px border, so the hover had no outline. The 1px navy
 * border matches the fill and shows only on hover. !important is needed to beat the widget's
 * own #payment #place_order rules. Scoped to the checkout form (.woocommerce-checkout), so the
 * order-pay page button (body.woocommerce-order-pay rules above) is left alone. */
.elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment #place_order {
    border: 1px solid #223651 !important;
}
.elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment #place_order:hover {
    border-color: #223651 !important;
}

.millwest_cart td.product-name a, .millwest_cart td, form.woocommerce-shipping-calculator {
    font-family: "Work Sans", Sans-serif;
    font-weight: 500;
    color: #223651;
}

.millwest_cart tr td{
    padding-top: 25px;
    padding-bottom: 25px;
    border-bottom: 1px solid #223651;
}
.millwest_cart tr td.actions, .millwest_cart tr, .millwest_cart .woocommerce table.shop_table{
    border: none !important;
}

.millwest_cart tr.order-total td {
    border-top: 1px solid #223651 !important;
}

.woocommerce-checkout tr.order-total th {
    font-size: 16px !important;
}

td.product-quantity select.mill_quantity{
    border:1px solid var( --e-global-color-primary );
}

.woocommerce .cart_totals table.shop_table tbody th{
    display:none;
}

.woocommerce .cart_totals table.shop_table tbody tr td:before{
    content: attr(data-title);
    float: left;
}
.woocommerce .cart_totals table.shop_table tbody tr td{
    width: 100%;display: flex;justify-content: space-between;flex-direction: row;padding-top: 10px !important;
    padding-bottom: 10px !important; border:none;
}

.woocommerce .cart_totals table.shop_table tbody tr.woocommerce-shipping-totals.shipping td {
    flex-direction: column;
}

.millwest_cart form.woocommerce-shipping-calculator {
    flex: 1 0 100%;
    padding: 0;
    border: none;
    margin:0;
}

.millwest_cart form.woocommerce-shipping-calculator span.select2-selection.select2-selection--single,
.millwest_cart form.woocommerce-shipping-calculator input {
    border-width: 1px 1px 1px 1px;
    border-color: #223651;
    border-radius: 0;
    padding: 10px !important;
    height: 40px !important;
    margin-bottom:5px !important;
    color: #223651;
}

.millwest_cart form.woocommerce-shipping-calculator .select2-selection__rendered{
    color: #223651;
}

.select2-results__option{
    font-family: "Work Sans", Sans-serif;
}

.millwest_cart form.woocommerce-shipping-calculator input {
    padding: 10px 16px !important;
}

.millwest_cart form.woocommerce-shipping-calculator p{
    margin:0;
}

.millwest_cart form.woocommerce-shipping-calculator section {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.millwest_cart p.woocommerce-shipping-destination {
    color: #69727d;
}

.millwest_cart ul#shipping_method {
    margin: 10px 0 -5px 0;
}

.millwest_cart a.shipping-calculator-button:hover {
    color: #AA0812;
}

.millwest_cart .tooltip {
    position: absolute;
}

.millwest_cart .tooltiptext {
    left: 25%;
    top: -120px;
}

.woocommerce.millwest_empty_cart {
    margin-left: 25%;
}

.millwest_empty_cart {
    margin-left: 33%;
    text-align: center;
}

.millwest_empty_cart h3 {
    color: #223651;
    font-family: "Work Sans", Sans-serif !important;
    font-size: 26px !important;
    font-weight: 400 !important;
}

.woocommerce.millwest_empty_cart  .shop_btn {
    margin-left: 25%;
}

.woocommerce.millwest_empty_cart  .shop_btn a {
    color: #223651;
}

/* Added by Jadon - 2026.09 */
/* Red reasons printed above Proceed to Checkout (cart) and Place Order (checkout)
   by inc/mill-checkout-gate.php */
p.millwest-checkout-reason {
    color: #AA0812;
    font-family: "Work Sans", Sans-serif;
    font-size: 14px;
    line-height: 1.5;
    margin: 0 0 10px 0;
    clear: both;
}
/* Cart: the button floats right, so line the sentence up over it */
.cart_totals .wc-proceed-to-checkout p.millwest-checkout-reason {
    text-align: right;
}

/* ============================================================
   SECTION: 5. Reviews, delivery notes, share dialog
   ============================================================ */
/**** Testiomial Reviews **/
.mill_reviews .wp-gr.wpac a.wp-google-name {
    color: #ECE9E3 !important;
    font-family: var(--e-global-typography-text-font-family), Sans-serif !important;
}

.mill_reviews span, .mill_reviews div {   
    font-family: var(--e-global-typography-text-font-family), Sans-serif !important;
}

.mill_reviews .wp-google-name span{
    font-size: 20px !important;
    line-height: 1.2em !important;
}

.mill_reviews .grw-review-inner svg {
    display: none;
}

p.millwest_delivery {
    margin: 10px 0;
    font-family: var(--e-global-typography-accent-font-family), Sans-serif;
    font-weight: var(--e-global-typography-accent-font-weight);
    text-align: center;
}

button.woocommerce-button.button.woocommerce-form-login__submit.e-woocommerce-form-login-submit {
    font-family: "Work Sans", Sans-serif;
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing:0;
}

.cart_totals .wc-proceed-to-checkout p.millwest_delivery {
    margin-left: 5px;
    margin-top: -15px;
    margin-bottom: 10px;
}

/** Login ***/
.m_login_password a{
    float: right;
    color: var(--e-global-color-text) !important;
    font-weight: 500;
    text-decoration: underline !important;
}

/* Added by Keith - 2026.03 - Fix Remember me label color */
.millwest_login .woocommerce-form__label-for-checkbox span {
    color: var(--e-global-color-text) !important;
}

.m_create_container label{
    margin-top: 5px !important;
    margin-bottom: 0px !important;
}
.m_create_account{
    color: var(--e-global-color-text) !important;
    font-family: "Work Sans", Sans-serif !important;
    font-size: 20px !important;
    margin:10px 0 !important;
    display: block;
    font-weight: 500;
    text-decoration: underline !important;
}
.m_login_btn{
    width:100% !important;
    border-radius: 10px !important;
}
.millwest_login .woocommerce-Input{
    font-size: 16px;
}
.millwest_login .u-column1.col-1 form label,
.m_reset_p label,
.millwest_login .woocommerce-form.woocommerce-form-login.login label {
	font-family: "Work Sans", Sans-serif !important;
	font-size: 20px !important;
	color: var(--e-global-color-primary) !important;
}

#gform_fields_6 span.gfield_required {
    display: none;
}

div#gform_fields_6 {
    row-gap: 5px;
}

input#gform_submit_button_6 {
    color: var(--the7-btn-color);
    background: var(--the7-btn-bg, transparent li);
    font-size: 20px !important;
    padding: 15px 30px !important;
    border-radius: 4px !important;
    font-family: "Work Sans", Sans-serif !important;
    letter-spacing: 0px !important;
    border-radius: 10px !important;
}

.m_gravity_captcha .grecaptcha-badge {
    width: 256px !important;
}


.millwest_login .woocommerce-form.woocommerce-form-login.login {
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
    max-width: 55%;
    margin: 0 auto;
}

.mill_gallery_container.the7-e-sticky-active {
    z-index: 80;
}

.milladdtocart {
    padding-right: 25px;
}

.millwest_share{
    margin-left: auto;
    margin-right: 10px;
}
.custom-share-container {
    margin-top: 5px;
}


.custom-share-icons a:hover span {
    color: red !important;
}

.custom-share-btn {
    border: none;
    outline: none;
    height: 32px;
    display: block;
}

.custom-share-btn img {
    width: 28px;
    outline: none;
}

.custom-share-dialog {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    align-items: flex-end;
}

.custom-share-dialog-content {
    background: #fff;
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    padding: 20px;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    animation: slide-up 0.3s ease-in-out;
}

.custom-share-dialog-content h3 {
    margin: 0 0 20px;
    font-size: 18px;
    text-align: center;
    font-family: "Work Sans", Sans-serif;
    font-weight: 500;
    line-height: 1.7em;
    color: var(--e-global-color-primary);
}

.custom-share-icons {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin-bottom: 20px;
}

.custom-share-icons span{
    font-family: "Work Sans", Sans-serif;
    color: var(--e-global-color-primary);
}

.share-icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: #333;
    font-size: 11px;
    width: 50px;
    text-align: center;
}

.share-icon::before {
    content: '';
    display: block;
    width: 32px;
    height: 32px;
    background-size: cover;
    margin-bottom: 5px;
}

.share-icon.facebook::before {
    background-image: url('./assets/facebook.png');
}

.share-icon.twitter::before {
    background-image: url('./assets/x.png');
}

.share-icon.pinterest::before {
    background-image: url('./assets/pinterest.png');
}

.share-icon.sms::before {
    background-image: url('./assets/text-sms.png');
}

.share-icon.email::before {
    background-image: url('./assets/email.png');
}

.share-icon.whatsapp::before {
    background-image: url('./assets/whatsapp.png');
}

.custom-share-cancel {
    background: #ccc;
    color: var(--e-global-color-primary);
    padding: 10px;
    border: none;
    border-radius: 5px;
    width: 100%;
    cursor: pointer;
    font-size: 16px;
    font-family: "Work Sans", Sans-serif;
}

.custom-share-cancel:hover {
    background: #bbb;
}

@keyframes slide-up {
    from {
        transform: translateY(100%);
    }
    to {
        transform: translateY(0);
    }
}


/* ============================================================
   SECTION: 6. Product cards, grids, related and recently viewed
   ============================================================ */
.m-product-container, .m-collections-container {
    grid-template-columns: repeat(3, 1fr);
    display: grid;
    grid-column-gap: 30px;
    grid-row-gap: 30px;
    align-items: stretch;
}
.m-product-container-related {
    display: grid;
    grid-column-gap: 30px;
    grid-row-gap: 30px;
    align-items: stretch;
    grid-template-columns: repeat(4, 1fr);
}
.m-product {
    background-color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 5px 5px;
    row-gap: 5px;
    column-gap: 5px;
    border-radius: 10px 10px 10px 10px;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.27);
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 5px;
    padding-right: 5px;
    position: relative;
}
.m-product-container-related .m-product{
    padding: 10px 25px;
}

.m-collections-container .m-product{
    padding : 0;
    gap: 0;
}

.m-product p.mill_discount_text, .m-product .mill_org_price {
    margin-bottom: 0px;
}

.woocommerce-loop-product__title {
    font-family: "Derivia", Sans-serif;
	font-size: 30px;
    font-weight: 400;
    text-transform: none;
    line-height: 1.5em;
    letter-spacing: 1.7px;
    color: var(--e-global-color-primary);
    word-break: break-word;
    text-align: center;
    max-width: 95%;
    margin: 0 auto;
}
.m-product-container-related .woocommerce-loop-product__title {
    font-size: 20px;
    font-weight: 500;
}
.woocommerce-loop-product__title a{
    color: var(--e-global-color-primary);
}
h2.rp-heading { /* Updated by Keith - 2026.09 - was h3.rp-heading; the shortcode now prints this heading as an h2 */
    text-align: center;
    font-family: "Derivia", Sans-serif;
    font-size: 28px;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1.7em;
    letter-spacing: 1.7px;
    color: var(--e-global-color-primary);
    margin-bottom: 50px;
}
.m_discount_tag {
    background-color: #AA0812;
    font-family: "Work Sans", Sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0px;
    border-radius: 5px;
    padding: 5px;
	text-align: center;
    font-size: 14px;
    color: #FFF;
    position: absolute;
    right: -25px;
    top: -15px;
    z-index: 2;
}

/* Added by Keith - 2026.03 — Center text in single product discount button */
.m_single_container .m_discount_btn,
.m_single_container .m_discount_btn p {
    margin: 0;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 0;
}

.m-product-image {
    max-height: 250px;
    min-height: 250px;
    overflow: hidden;
}

.m-product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.m-collections-container .m-product-image img {
    object-fit: cover;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.m-collections-container .woocommerce-loop-product__title{
    font-size: 24px;
    margin-top: 20px;
    margin-bottom: 20px;
}
.m-collections-container .woocommerce-loop-product__title a:hover{
    color : var( --e-global-color-e3ad186 );
}

body.wp-singular span.elementor-accordion-icon-closed{
    transform: rotate(90deg);
}

body.wp-singular span.elementor-accordion-icon-opened {
    transform: rotate(-90deg);
}


/* ============================================================
   SECTION: 7. Collection sliders and slideshow
   ============================================================ */
/* Hide slides until slider init to prevent flash */
.ces-slider:not(.swiper-initialized) .swiper-slide {
    display: none;
}

/* Show only the first slide as fallback */
.ces-slider:not(.swiper-initialized) .swiper-slide:first-child {
    display: block;
}

/* Swiper styles */
.ces-slider-container {
    position: relative;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
}

.ces-slider-container .swiper-slide {
    text-align: center;
    min-height: 450px; /* Prevent shifts */
    display: flex;
    align-items: center;
    justify-content: center;
}

.ces-slider-container .swiper-slide img {
    max-width: 100%;
    height: auto;
    border-radius: 0px;
    display: block;
    margin: 0 auto;
    transition: transform 0.3s ease, filter 0.6s ease, opacity 0.6s ease;
}

/* Blur-up effect (works with Swiper's 'swiper-lazy-loaded' class) */
.blur-up {
    filter: blur(20px);
    opacity: 0.8;
}

.blur-up.loaded,
.blur-up.swiper-lazy-loaded {
    filter: blur(0);
    opacity: 1;
}

/* Arrows */
.ces-slider-container .swiper-button-prev,
.ces-slider-container .swiper-button-next {
    color: #fff;
    font-size: 65px;
    background: none;
    border: none;
    cursor: pointer;
    transition: color 0.3s ease;
    opacity: 0; /* Hide initially */
    transition: transform 0.3s ease, filter 0.6s ease, opacity 0.6s ease;
}

.ces-slider-container:hover .swiper-button-prev,
.ces-slider-container:hover .swiper-button-next {
    opacity: 1; /* Show on hover */
}

.ces-slider-container .swiper-button-next:after,
.ces-slider-container .swiper-button-prev:after{
    content: ''
}

.ces-slider-container .swiper-button-prev {  left: 30px; }
.ces-slider-container .swiper-button-next { right: 30px; }

.ces-slider-container .swiper-button-prev:hover,
.ces-slider-container .swiper-button-next:hover {
    color: var(--e-global-color-primary) !important;
}

.single-product .mill_product_acc h2 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}

.single-product .mill_product_acc a, .single-post .single_post_content a {
    text-decoration: underline;
}

@media (max-width: 480px) {
  .ces-slide img{
    height: 400px !important;
    width: auto;
    object-fit: cover;
    object-position: center center;
  }
  .ces-slider-container .swiper-slide {
        padding: 0;
  }
  .ces-slider-container .swiper-button-prev {  left: 15px; }
  .ces-slider-container .swiper-button-next { right: 15px; }
  .ces-slider-container .swiper-button-prev, .ces-slider-container .swiper-button-next{
    opacity: 1;
  }
}


/* Slideshow container */
.slideshow-container {
    max-width: 1440px;
    position: relative;
    margin: auto;
}

.elementor-slider-widget-items {
    display: flex;
}

.mill_slides {
    display: flex;
    flex: 1 1 100%;
    opacity: 0.5;
    /* transform: translateX(100px); */
}

.mill_slides.active {
    flex: 1 0 85%;
    opacity: 1;
}

.mill_slides .text-container {
    display: none;
    flex: 1 1 50%;
    padding-bottom: 120px;
    margin: auto;
}					

.mill_slides .image-container {
    flex: 1 0 70%;
    display: flex;
    flex-flow: row nowrap;
    z-index: 1;
}

.mill_slides img {
    object-fit: cover;
    max-width: 100%;
    filter: blur(2px);
}

.mill_slides.active img {
    object-fit: cover;
    max-height: 540px;
    height: 540px;
    filter: blur(0px);
}

.mill_slides.active .text-container {
    display: block;
}


/* Next & previous buttons */
/* .prev, */
.mill_slides .next {
    left: 21%;
    cursor: pointer;
    position: absolute;
    bottom: 0;
    width: 120px;
    height: 120px;
    color: white;
    font-weight: bold;
    font-size: 18px;
    transition: 0.5s ease;
    border-radius: 0 3px 3px 0;
    user-select: none;
}

/* Position the "next button" to the right */
.mill_slides .next:after {
    content: "";				
    background: url('./assets/button.png');
    background-size: contain;
    background-repeat: no-repeat;
    transform: rotate(270deg);
    width: 120px;
    height: 120px;
    display: block;
    margin-top:-35px;
}
.slideIn {
animation: slideIn 1s ease-in 0s 1 alternate forwards;
-webkit-animation: slideIn 1s ease-in 0s 1 alternate forwards;
}

@keyframes slideIn {
0% {
    opacity: 0;
    transform: translateX(100%);
}

100% {
    opacity: 1;
    transform: translateX(0);
}
}

@-webkit-keyframes slideIn {
0% {
    opacity: 0;
    transform: translateX(100%);
}

100% {
    opacity: 1;
    transform: translateX(0);
}
}

@keyframes slideIn2 {
0% { -webkit-transform: translateX(100%); }
100% { -webkit-transform: translateX(0%); }
}

@-webkit-keyframes slideIn2 {
0% { -webkit-transform: translateX(100%); }
100% { -webkit-transform: translateX(0%); }
}

/* ============================================================
   SECTION: 8. Print styles
   ============================================================ */
@media print {
	body {
	  visibility: hidden;
	  margin: 0;
	  padding: 0;
	}
	.woocommerce-MyAccount-content {
	  visibility: visible;
	  position: relative;
	  left: 0;
	  top: 0;
	  width: 100% !important;
	  padding: 0 !important;
	  float: none !important;
	}
	.elementor-location-header{
		display:none;
	}
	.order-print{
		display:none;
	}
	nav.woocommerce-MyAccount-navigation {
	    display: none !important;
	}
	.elementor-773 .elementor-element.elementor-element-6e1b489{
		margin:0 !important;
	}

    .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .order_details tfoot td, .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .order_details tfoot th{
        text-align: left;
    }
	
	.elementor-773 .elementor-element.elementor-element-f98c838 .e-my-account-tab__dashboard:not(.e-my-account-tab__dashboard--custom) .woocommerce-MyAccount-content-wrapper, .elementor-773 .elementor-element.elementor-element-f98c838 .e-my-account-tab__orders .woocommerce-MyAccount-content-wrapper, .elementor-773 .elementor-element.elementor-element-f98c838 .e-my-account-tab__downloads .woocommerce-MyAccount-content-wrapper, .elementor-773 .elementor-element.elementor-element-f98c838 address, 
    .elementor-773 .elementor-element.elementor-element-f98c838 .e-my-account-tab__edit-account .woocommerce-MyAccount-content-wrapper, .elementor-773 .elementor-element.elementor-element-f98c838 .e-my-account-tab__view-order .order_details, .elementor-773 .elementor-element.elementor-element-f98c838 .woocommerce-form-login, .elementor-773 .elementor-element.elementor-element-f98c838 .woocommerce-form-register, .elementor-773 .elementor-element.elementor-element-f98c838 .woocommerce-ResetPassword, .elementor-773 .elementor-element.elementor-element-f98c838 .e-my-account-tab__payment-methods .woocommerce-MyAccount-content-wrapper{
		box-shadow:none !important;		
		padding: 20px;
		margin: 5px;
		border: 1px solid #ddd;
	}

	.elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce-MyAccount-content {
		min-width: 700px;
	}
	address {
        height: auto !important;
        min-height: 250px;
        margin-bottom: 25px !important;
    }
	h2{
		font-size:20px !important;
		margin: 10px !important;
	}
    h4.woocommerce-column__title{
		font-size:20px !important;
		margin-left: 10px !important;
		margin-right: 10px !important;
		margin-top: 15px !important;
		margin-bottom: 15px !important;;
	}
	#footer.solid-bg{
		display:none;
	}
	.m_vieworder_page {
        display: none;
    }
}

/* ============================================================
   SECTION: 9. Tablet (1000-1441px)
   ============================================================ */
@media screen and (min-width: 1000px) and (max-width: 1441px) { 

    .m_product_home .m_product-item h3 {
        left: 20%;
    }

	.cog {
		background-size: 70% !important;
	}
	
	.rightcog {
		right: 1.3% !important;
	}
	
	.leftcog {
		left: 1.3% !important;
	}
}

/* ============================================================
   SECTION: 10. Mobile (max 600px)
   ============================================================ */
@media only screen and (max-width: 600px) {

     .m-product-container, .m-collections-container,.m-product-container-related {
        grid-template-columns: repeat(1, 1fr);
    }

    .mill_wrapper {
        z-index: 5;
    }
    
    .mill_gallery_container.the7-e-sticky-active {
        padding-top: 0px;        
    }

    .mill_gallery_container.the7-e-sticky-active .mzoom_flash{
        display: none;
    }
    .mill_gallery_container.the7-e-sticky-active .mflexthumbs{
        height: 0 !important;
    }

    .mill_wrapper {
        z-index: 5;
    }

    .mill_gallery_container.the7-e-sticky-active img.mzoom.lazy.lazyload{   
        height: 225px;
        object-fit: cover;
        box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
        background: #fefefe;
        border-radius: 5px;    
          width: 70%;
    }

    .mill_gallery_container.the7-e-sticky-active ul.flex-direction-nav{
        display: none;
    }

    .mill_gallery_container.the7-e-sticky-active li.flex-active-slide{
        text-align: center;
    }

    .mill_reviews .grw-header {
        border-bottom: 1px solid #8e8e8e !important;
    }
    
    h1{
        font-size: 40px;
		/*font-size: 40px !important; removed by km, Dec. 2025*/
    }
    body.home h1{
        font-size: 30px;
		/*font-size: 30px !important; removed by km, Dec. 2025*/
    } 
    h1.product_title, .m_single_container h2.product_title a {
        font-size: 20px;
		/*font-size: 20px !important; removed by km, Dec. 2025*/
        line-height: 1.2em;
    }

    .m_single_container h2.product_title{
        line-height: 1em !important;
    }
    
    h2{
		font-size:28px;
		line-height:1.3em;
		/*font-size:28px !important; Removed by km. I need to be able to change the mobile size*/
		/*line-height:1.3em !important; Removed by km*/
	}
	.m-product-container-related .woocommerce-loop-product__title {
        font-size: 16px !important;
    }
	
	.millwest_suppliers dl.gallery-item {
		width: 100% !important;
		padding: 0 !important;
	}

    .child-category-menu {
        position: relative;
        margin-bottom: 20px !important;
        top: 10px !important;
        left: 0px !important;
        width:300px;
    }

    .mflexthumbs.flexslider-thumbnail.dt-product-thumbs,
    .mflexslider {
        overflow: hidden;
        width: 100% !important;
    }

    /* Added by Jadon - 2026.09: magnifying glass sits top-right now (was bottom-right),
       matching .mflexslider .mzoom_flash in millwest-public.css. */
    .mflexslider .mzoom_flash{
        top: 4px;
        bottom: auto;
        right: 4px;
    }

    .mflexslider ul.slides li {
        min-width: 300px;
    }

    ul.flex-direction-nav {
        margin: 0;
    }
    
    ul.flex-direction-nav li.flex-nav-prev {
        left: 0;
        position: absolute;
        top: 45% !important;
    }
    
    .flex-direction-nav a:before {
        font-size: 25px;
        padding-top: 10px;
    }
    
    ul.flex-direction-nav li.flex-nav-next {
        right: 5%;
        position: absolute;
        top: 45% !important;
    }

    .m_accordion .m_accordion_tab, .m_accordion .m_collection_tab,.m_selected {
        font-size: 13px;
    }
    .mill_collection_acc .m_accordion .m_collection_tab{
        font-size: 18px;
    }
    
    .m_accordion {  
        margin-bottom: 5px;
    }
    
    .m_selected_parent {
        padding: 0;
        top: 20px;
        right: -15px;
    }
    .m_unselect i{
        top: 1px;
    }
    .m_accordion .m_accordion_tab .m_accordion_arrow, .m_accordion .m_collection_tab .m_accordion_arrow {
        font-size: 17px;
        top: 57%;
        right:0;
    }

    .m_unselect i{
        display: block;
    }

    .m_accordion .m_accordion_content {
        padding: 5px;
    }
    
    .millwest_attrs .m_attr_group { /* Updated by Keith - 2026.09 - was h5 */
        font-size: 14px;
        margin-bottom: 0;
    }

    .millwest_related .rp-heading:after, 
    .millwest_related .rp-heading:before,
    .millwest_recently .rp-heading:after, 
    .millwest_recently .rp-heading:before{
        display: none;
    }

    .expanded .dialog-lightbox-widget-content.animated, .expanded .dialog-message.dialog-lightbox-message{
        width: 400px !important;
    }

    .m_shop_menu ul.sub-menu li.active ul.sub-menu, 
    .m_shop_menu .sub-menu li.current-menu-ancestor .sub-menu {
        position: relative;
        left: 10px;
        margin-top: 20px !important;
        margin-bottom: 0px !important;
    }

    .m_ajax_atts img, .mg_lists img {
        min-width: 50px;
        min-height: 40px;
    }
    
    a.m_check_price {
        max-width: 70px;
    }

    .millwest_attrs_list button, .m_attr_list button,
    .m_accordion .m_accordion_content .m_accordion_item p:last-child {
        font-size: 12px;
    }    

    .mill_discount_container p {
        font-size: 12px;
        padding: 5px;
        text-align: right;
        margin-bottom:0;
    }

    .mill_discount_container{
        padding: 0px 15px;
    }

    .mill_discount{
        gap:10px;
    }

    .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table .cart_item td.product-name{
        max-width: 65%;
    }
    #page .woocommerce-checkout-review-order-table tr.cart_item {
        align-items: stretch;
    }

    #page .woocommerce-checkout-review-order-table tr{
        width: 100%;
        display: table-row;
    }

    #page .woocommerce-checkout-review-order-table tr.cart_item {
        display: flex;
        justify-content: space-between;
    }

    .shop_table.woocommerce-checkout-review-order-table tr td,
    .shop_table.woocommerce-checkout-review-order-table tr th {
        vertical-align: initial !important;
        padding: 10px !important;       
    }

    .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping td ul {
        width: 350px !important;
    }
    
    .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping td {
        display: flex !important;
        flex-direction: column !important;
        min-width: 270px;
        overflow: unset;
    }

    .slideshow-container .slider_btn a{
		margin-top:  -42px !important;
        margin-left: -7px !important;
	}

    .shop_table tr {
        flex-flow: wrap;
        align-items: center;
    }
    
    .shop_table tr.cart_item td.product-name {
        flex-flow: wrap;
        justify-content: center;
    }
    /* Added by Jadon - 2026.09: the product cell is a wrapping row on phones, so the
       "Shipped to Ohio only" label landed beside the name. Full width puts it on
       its own line directly under the name. */
    .shop_table tr.cart_item td.product-name span.m_ohio_only {
        flex-basis: 100%;
        justify-content: center;
        margin-top: 2px;
    }
    
    .shop_table tr.cart_item td.product-remove {
        border: 1px solid red !important;
        display: contents;
    }
    
    .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tbody tr:last-child {
        display: flex;
    }

    .woocommerce-cart-form__cart-item td:before {
        content: attr(data-title);
        text-align: left;
        color: #000 !important;
        display: flex;
        align-self: normal;
        margin-right: 10px;
    }
    .woocommerce-cart-form__cart-item td.product-name:before,
    .woocommerce-cart-form__cart-item td.product-thumbnail:before,
    .woocommerce-cart-form__cart-item td.product-remove:before{
        display: none;
    }

    td.product-quantity select.mill_quantity {
        margin-top: 5px;;
    }
    
    .elementor-widget-woocommerce-cart .woocommerce table.cart td {
        min-height: 90px;
        text-align:left;
    }
    .elementor-widget-woocommerce-cart .woocommerce table.cart img{
        width: 120px;
    }

    a.shop_menu_header {
        display: inline;
        text-decoration: none;
        transition: border 0.3s ease;
        border-bottom: 1px solid transparent;
        width: 100%;
        margin-bottom: 10px !important;
        list-style: none;
        font-family: "Work Sans", Sans-serif;
        font-size: 20px;
        font-weight: 400;
        line-height: 1.7em;
        letter-spacing: 1.5px;
        padding-bottom: 5px !important;
    }
    
    ul.shop-menu-header li {
        list-style: none;
    }
    
    ul.shop-menu-header {
        display: block;
        margin: 0 !important;
    }
    
    .m_mobile li.parent-category {
        margin-left: 20px;
    }

    .m_shop_menu li.menu-item-2358 ul.sub-menu{
        margin-top: 5px !important;
    }

    .m_mobile .shop-menu li{
        margin-bottom: 10px;
    }

    .mill_steps a.elementor-accordion-title {
        font-size: 16px !important;
    }

    .discover_btn span {
        color: #8b8d84;
        font-weight: 400;
    }

    .discover_btn .elementor-button.elementor-size-md{
        padding:15px 20px;
    }

    .discover_btn svg path {   
        fill: #8b8d84;
    }

    body.woocommerce-cart tr.fee span, tr.fee td:before {
        max-width: 280px;
    }

    .mformer_topbar .elementor-image-box-img{
        display: none;
    }

    .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation{
        width: 100% !important;
        padding-right: 0px;
        margin-bottom: 0;
    }
    .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce-MyAccount-content{
        min-width: 380px;
        padding-left: 0px;
    }

    form.woocommerce-EditAccountForm.edit-account,
    .e-my-account-tab__edit-address form .woocommerce-address-fields__field-wrapper,
    .woocommerce-MyAccount-content-wrapper .woocommerce-PaymentBox fieldset{
        display: flex;
        flex-direction: column;
    }

    .e-my-account-tab tr.woocommerce-orders-table__row td:before, 
    .e-my-account-tab tr.woocommerce-orders-table__row th:before,
    .e-my-account-tab tr.payment-method td:before {
        content: attr(data-title);
        text-align: left;
        color: #000 !important;
        display: flex;
        align-self: normal;
        margin-right: 10px;
    }
    
    .e-my-account-tab tr.woocommerce-orders-table__row th,
    .e-my-account-tab tr.woocommerce-orders-table__row td {
        border-top: none !important;
        text-align: left !important;
        flex: 1 0 50%;
    }

    .e-my-account-tab table.account-payment-methods-table {
        margin-bottom: 20px !important;
    }

    .e-my-account-tab tr.payment-method {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        border-bottom: 1px solid #ddd !important;
    }
    
    .e-my-account-tab tr.payment-method td {
        flex: 1 0 100%;
        text-align: left !important;
    }
    
    .e-my-account-tab tr.payment-method td.payment-method-actions:before {
        content: " " !important;
    }
    
    .e-my-account-tab tr.payment-method td.payment-method-actions a {
        margin-left: 0px !important;
        margin-right: 15px !important;
    }
    
    .e-my-account-tab tr.woocommerce-orders-table__row {
        display: flex;
        border-bottom: 1px solid #ddd !important;
    }
    
    .e-my-account-tab tr.woocommerce-orders-table__row td.woocommerce-orders-table__cell-order-actions:before {
        content: "";
    }
    
    .e-my-account-tab tr.woocommerce-orders-table__row td.woocommerce-orders-table__cell-order-actions a {
        margin: 0;
    }

    .woocommerce-MyAccount-content .order_details tfoot tr {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
    }
    
    .woocommerce-MyAccount-content .order_details tfoot tr th, .woocommerce-MyAccount-content .order_details tfoot tr td {
        flex: 1 0 50%;
        text-align: left !important;
        padding-top: 5px !important;
    }

    #lightbox .lb-nav a.lb-prev,
    #lightbox .lb-nav a.lb-next {
        opacity: 1;
    }

    .millwest_login .woocommerce-form.woocommerce-form-login.login{
        max-width: 100%;
        padding: 5px !important;
    }

    /*** Woocommerce Cart **/

    .millwest_cart td.actions {
        width: 100%;
        padding-bottom:7px !important;
    }
    
    .millwest_cart td.actions button {
        display: flex;
        width: 100%;
    }

    .millwest_cart .product-thumbnail img {
        max-width: 120px;
    }

    .millwest_cart .woocommerce h2{
        padding:4px !important;
        background: transparent;
        color: #223651 !important;
        border-bottom:1px solid #223651 !important;
    }

    .woocommerce-cart-form__cart-item td.product-thumbnail {
        margin-right: 35% !important;
        padding-bottom: 0px !important;
    }

    .millwest_cart form {
        flex: 1 0 100%;
        margin-right: 0;
        padding: 15px 15px 0px 15px;
    }
    
    .millwest_cart .woocommerce {
        flex-direction: column;
    }

    .millwest_cart tr.woocommerce-cart-form__cart-item{
        border-bottom:1px solid #223651 !important;
    }

    .millwest_cart tr td{
        padding-top: 15px;
        padding-bottom: 15px;
    }

    .wc-proceed-to-checkout {
        display: flex;
        flex-direction: column;
    }

    /** WooCommerce Checkout ***/
    form.checkout .e-woocommerce-form-login-submit {
        width: 100%;
        padding: 10px !important;
        font-size: 16px;
        text-transform: uppercase;
    }

    .woocommerce-billing-fields h3,.e-checkout__order_review h3 {
        padding: 4px !important;
        background: transparent;
        color: #223651 !important;
        border-bottom:1px solid #223651 !important;
        margin-top: -15px !important;
    }

    .woocommerce-checkout #payment .payment_methods li label img{
        width: 30px !important;
    }
    .woocommerce .woocommerce-privacy-policy-text p {
        margin-top: -20px !important;
    }    

    .woocommerce-form-login-toggle.e-checkout-secondary-title {
        padding: 0px 14px 14px 14px !important;
        background: transparent;
        color: #223651 !important;
        border-bottom:1px solid #223651 !important;
        text-transform: uppercase;
        display: flex;
        justify-content: center;
        font-size: 16px;
    }

    /** Summary **/

    .woocommerce-order h4{
        font-family: "Work Sans", Sans-serif;
        font-size: 20px !important;
        font-weight: 400 !important;
        text-align: center;
    }

    table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details.myaccount_order_details {
        width: 95%;
        margin: 0 auto;
    }

    .woocommerce-MyAccount-content table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details.myaccount_order_details{
        width: 100% !important;
    }

    section.woocommerce-customer-details {
        width: 117% !important;
    }

    .woocommerce-MyAccount-content section.woocommerce-customer-details {
        width: 100% !important;
    }
    
    section.woocommerce-customer-details .woocommerce-column--shipping-address.col-2 {
        margin-top: -35px;
    }
    td.woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-actions a {
        text-align: center;
        width: 100%;
    }

    td.woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-actions {
        display: flex;
        flex-direction: column;
        row-gap: 10px;
    }

    p.order-print a{
        width: 100%;
        text-align: center;
        border-radius: 10px !important; /* Updated by Keith - 2026.09: match cart buttons */
        margin-top: 35px;
    }

    .woocommerce-MyAccount-content p.order-print a:not(.button):hover{
        text-decoration: none;
    }

    .woocommerce-MyAccount-content .col2-set .col-1{
        margin-bottom: 45px;
    }

    .woocommerce-MyAccount-navigation ul li a {
        text-align: center !important;
    }

    tr.m_delivery_build th {
        display: none;
    }
	
	.millwest_blog a.box-button.elementor-button.elementor-size-sm {
    	display: flex;
	}

    @media only screen and (max-width: 425px) {

        .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping td ul {
            width: 320px !important;
        }
        
        .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping td {
            display: flex !important;
            flex-direction: column !important;
            min-width: 240px;
            overflow: unset;
        }

        #shipping_method li label {
            text-align: left;
        }
    }
    
}

/* ============================================================
   SECTION: 11. Social icons tooltip, landing-page grids, 2026 additions
   ============================================================ */
/* Social Icons Tooltip */
/* This is to show the names of the social icons in the footer
 * Keith
 * 2026.1.20
 */

.elementor-social-icon {
  position: relative;
}

.elementor-social-icon::after {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  padding: 6px 12px;
  background-color: #333;
  color: #fff;
  font-size: 13px;
  font-family: inherit;
  white-space: nowrap;
  border-radius: 4px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, transform 0.3s ease;
  margin-bottom: 8px;
  pointer-events: none;
}

.elementor-social-icon:hover::after {
  opacity: 1;
  visibility: visible;
}

/* Platform names */
.elementor-social-icon-facebook::after { content: "Facebook"; }
.elementor-social-icon-instagram::after { content: "Instagram"; }
.elementor-social-icon-pinterest::after { content: "Pinterest"; }
.elementor-social-icon-youtube::after { content: "YouTube"; }
.elementor-social-icon-houzz::after { content: "Houzz"; }

/* ============================================
 * mill_products_grid — Landing page product grids
 * Added by Keith - 2026.02
 * ============================================ */
.mill-grid-section {
    margin-bottom: 10px;
}
.mill-grid-heading {
    text-align: center;
    font-family: "Derivia", Sans-serif;
    font-size: 30px;
    font-weight: 400;
    text-transform: none;
    line-height: 1.7em;
    letter-spacing: 1.7px;
    color: var(--e-global-color-primary);
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 1px solid #d5d8dc;
}
.mill-grid-heading a {
    color: var(--e-global-color-primary);
    text-decoration: none;
}
.mill-grid-heading a:hover {
    color: var(--e-global-color-e3ad186);
}
.mill-grid-2col {
    grid-template-columns: repeat(2, 1fr) !important;
}
.mill-grid-3col {
    grid-template-columns: repeat(3, 1fr);
}
.mill-view-all {
    text-align: right;
    margin-top: 15px;
}
.mill-view-all a {
    display: inline-block;
    font-family: "Work Sans", Sans-serif;
    font-size: 18px;
    font-weight: 500;
    color: #fff;
    text-decoration: none;
    padding: 12px 30px;
    background-color: var(--e-global-color-primary);
    border: none;
    border-radius: 5px;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    text-align: center;
}
.mill-view-all a:hover {
    background-color: #223651c4;
    color: #fff;
}
.mill-view-all:not(.mill-view-all-multi) a {
    width: calc((100% - 60px) / 3);
}
.mill-view-all-multi {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 30px;
}
.mill-view-all-multi a {
    width: calc((100% - 60px) / 3);
    box-sizing: border-box;
}
.mill-grid-section .m_discount_tag {
    right: -20px;
}
@media only screen and (max-width: 600px) {
    .mill-grid-2col,
    .mill-grid-3col {
        grid-template-columns: repeat(1, 1fr) !important;
    }
    .mill-grid-heading {
        font-size: 24px;
        margin-bottom: 20px;
    }
    .mill-view-all a,
    .mill-view-all:not(.mill-view-all-multi) a,
    .mill-view-all-multi a {
        font-size: 16px;
        padding: 10px 25px;
        width: 100% !important;
        box-sizing: border-box;
    }
	.m_discount_tag {
    right: -15px !important;
	}
    .mill-grid-section {
        margin-bottom: 10px;
    }
}

/* Fix for Placing an Order #canceling-your-order jump */
#canceling-your-order {
    scroll-margin-top: 135px;
}

/* Added by Keith - 2026.03 - Fix reCAPTCHA intermittent half-size rendering on registration form */
.m_gravity_captcha .ginput_recaptcha,
.m_gravity_captcha .ginput_recaptcha iframe {
    min-width: 304px !important;
    width: auto !important;
}

/* Added by Keith - 2026.03 — Clearance grid price, title, and sort styling */
.mill-grid-section .m-product span.price {
    display: block;
    text-align: right;
    font-family: "Work Sans", Sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: var(--e-global-color-primary);
    padding: 0 10px 10px 10px;
}
.mill-grid-section .m-product span.price del {
    color: var(--e-global-color-primary);
    text-decoration: none;
    font-size: 16px;
    font-weight: 300;
    margin-left: 5px;
    position: relative;
    display: inline-block;
}
.mill-grid-section .m-product span.price del::after {
    content: "";
    width: 103%;
    height: 1px;
    background: #AA0812;
    display: block;
    transform: rotateZ(15deg);
    position: absolute;
    top: 13px;
}
.mill-grid-section .m-product span.price ins {
    text-decoration: none;
    font-weight: 500;
}
/* Updated by Keith - 2026.07 — removed h2 from selector so landing-page grids
   (which use h3/h4 via the headings attribute) get the same red title hover */
.m-product .woocommerce-loop-product__title a:hover {
    color: var(--e-global-color-e3ad186);
}
.mill-clearance-sort select {
    -webkit-appearance: menulist !important;
    -moz-appearance: menulist !important;
    appearance: menulist !important;
    padding: 8px 60px 8px 12px !important;
}

/* Added by Keith - 2026.03 — Event banner positioning, used on home page top event banner */
.mill-event-banner {
    position: absolute;
    z-index: 10;
    top: 35px;
    left: 20px;
    max-width: 350px !important;
    width: 350px !important;
    line-height: 1.4;
    animation: millEventFadeUp 1s ease forwards;
}
@keyframes millEventFadeUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@media (max-width: 767px) {
    .mill-event-banner {
        position: absolute;
        top: -30px;
        left: 0;
        max-width: 100% !important;
        width: 100% !important;
        animation: none;
    }
}

/* Login page spacing fix */
.woocommerce-form-login .m_create_container {
    margin-top: 15px !important;
}

/* Tighten social login buttons */
div.nsl-container.nsl-container-block {
    margin-bottom: 0 !important;
    padding: 0 !important;
    clear: none !important;
}
div.nsl-container.nsl-container-block .nsl-container-buttons {
    padding: 0 !important;
}
div.nsl-container.nsl-container-block .nsl-container-buttons a {
    margin: 2px 0 !important;
}

/* Added by Keith - 2026.07 — Zoom product photo inside its frame on hover; card keeps a subtle shadow lift */
.m-product-image img {
    transition: transform 0.7s ease;
}
@media (hover: hover) {
    .m-product:hover .m-product-image img {
        transform: scale(1.14);
    }
    .m-product {
        transition: box-shadow 0.7s ease;
    }
    .m-product:hover {
        box-shadow: 0px 0px 18px 0px rgba(0, 0, 0, 0.35);
    }
}

/* Cart page: larger remove "x" (theme default 15px), Millwest red (#aa0812)
   on hover for the "x" and the product-name links. Added by Claude - 2026.07 */
.woocommerce-cart a.remove {
    font-size: 20px;
    line-height: 1;
}
.woocommerce-cart a.remove:hover {
    color: #aa0812 !important;
    background: transparent !important;
}
.woocommerce-cart td.product-name a:hover {
    color: #aa0812 !important;
}

/* Cart page: zoom the item photo inside its frame on hover — same effect as
   the category-grid zoom (scale 1.14, 0.7s ease). Added by Claude - 2026.07 */
.woocommerce-cart td.product-thumbnail a {
    display: inline-block;
    overflow: hidden;
}
.woocommerce-cart td.product-thumbnail img {
    display: block;
    transition: transform 0.7s ease;
}
@media (hover: hover) {
    .woocommerce-cart td.product-thumbnail a:hover img {
        transform: scale(1.14);
    }
}

/* Collection photo zoom. Added by Jadon - 2026.09
   The collection page's featured photo (Elementor Image widget in the single-product
   template) is wrapped by inc/mill-collection-zoom.php in .mill-collection-photo, with the
   same .mzoom_flash magnifying-glass button the item photos use. millwest-public.css
   positions that button inside .mflexslider only, so this block positions it for the
   collection photo: top-right corner, inset 4px, matching the item photos. */
.mill-collection-photo {
    position: relative;      /* anchor for the absolutely positioned button */
    display: inline-block;   /* shrink to the photo so the button sits on the photo, not the widget */
    max-width: 100%;
}
.mill-collection-photo .mzoom_flash {
    position: absolute;
    top: 4px;
    right: 4px;
    z-index: 85;
    font-size: 20px;
}

/* Collection previous / next navigation. Added by Jadon - 2026.09
   The bar that inc/mill-collection-nav.php adds to collection pages (grouped
   products): once under the breadcrumb, once after the last item. Three
   columns: previous collection | "All Bedroom Collections" + "19 of 42" | next
   collection. Either end of the list gets an empty placeholder so the middle
   stays centered. Look: outlined navy circles with a chevron for the arrows,
   collection names and the "All ..." link in Derivia (the heading font), the
   small PREVIOUS / NEXT labels and the counter in Work Sans gray like the
   breadcrumb, Millwest red (#AA0812, the discount-tag red) on hover, one
   hairline under the bar. */
.mill-collection-nav {
    display: grid;
    grid-template-columns: 1fr auto 1fr;   /* prev | all | next */
    align-items: center;
    gap: 16px;
    margin: 12px 0 18px;                   /* top bar: between breadcrumb and photo */
    padding: 8px 0 12px;
    border-bottom: 1px solid #e6e6e6;
    font-family: "Work Sans", sans-serif;
    font-size: 14px;
    line-height: 1.3;
}
.mill-collection-nav--bottom {
    margin: 36px 0 24px;                   /* bottom bar: after the last item, before the policies accordion */
}
.mill-collection-nav__link {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;                          /* lets long names shrink instead of widening the grid */
    color: #223651;
    text-decoration: none;
}
.mill-collection-nav__next {
    flex-direction: row-reverse;           /* circle on the outside (right) for "next" */
    justify-content: flex-start;
    text-align: right;
}
/* The circle. Fixed 36px box, border included (box-sizing), flex-centered
   contents, so the 16px SVG chevron inside sits exactly in the middle. */
.mill-collection-nav__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    box-sizing: border-box;
    border: 1px solid #223651;
    border-radius: 50%;
    color: #223651;                        /* the chevron uses currentColor */
    transition: color 200ms ease-in, border-color 200ms ease-in;
}
.mill-collection-nav__arrow svg {
    display: block;                        /* no inline baseline gap under the SVG */
    width: 16px;
    height: 16px;
}
.mill-collection-nav__text {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.mill-collection-nav__label {
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #8b8d94;
}
.mill-collection-nav__name {
    font-family: "Derivia", serif;         /* the site's heading font, same as the title above */
    font-size: 19px;
    line-height: 1.15;
    overflow: hidden;                      /* one line, "..." when the name is too long for its column */
    white-space: nowrap;
    text-overflow: ellipsis;
    transition: color 200ms ease-in;
}
.mill-collection-nav__link:hover .mill-collection-nav__name,
.mill-collection-nav__link:hover .mill-collection-nav__arrow {
    color: #AA0812;                        /* Millwest red, same as .m_discount_tag and cart link hovers */
    border-color: #AA0812;
}
.mill-collection-nav__all {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.mill-collection-nav__all-link {
    font-family: "Derivia", serif;
    font-size: 19px;
    line-height: 1.15;
    color: #223651;
    text-decoration: none;
    transition: color 200ms ease-in;
}
.mill-collection-nav__all-link:hover {
    color: #AA0812;
}
.mill-collection-nav__count {
    font-size: 11px;
    color: #8b8d94;
    margin-top: 3px;
}
/* Phones (600px and under): a different layout from desktop. One row: circle
   arrow | "All Bedroom Collections" + "2 of 26" centered | circle arrow. The
   collection names and the PREVIOUS / NEXT labels are hidden (there is no room
   for two names on a phone without chopping them); the arrows' aria-labels still
   carry the names for screen readers. Circles stay 36px, a proper tap target.
   The three-column grid with explicit auto/1fr/auto tracks keeps the middle
   centered even when one arrow is missing at the end of the list (the empty
   placeholder keeps its 36px). */
@media (max-width: 600px) {
    .mill-collection-nav {
        grid-template-columns: auto 1fr auto;  /* prev circle | all + count | next circle */
        gap: 10px;
        margin: 10px 0 14px;
        padding: 6px 0 10px;
    }
    .mill-collection-nav__text {
        display: none;                     /* names and labels off on phones */
    }
    .mill-collection-nav__link {
        gap: 0;
    }
    .mill-collection-nav__link--empty {
        width: 36px;                       /* first / last collection: keep the middle centered */
    }
    .mill-collection-nav__all-link {
        font-size: 17px;
    }
    .mill-collection-nav__count {
        margin-top: 1px;
    }
}

/* Collection page breadcrumb: centered. Added by Jadon - 2026.09
   On collection pages (the .product-type-grouped class on the Elementor
   single-product wrapper) the divider ornament, the title and the nav bar are
   all centered; the The7 breadcrumb was the one left-aligned piece. It is a
   flex list, so justify-content centers it under the title on every screen
   size (phones already showed it centered). Product pages are not affected. */
.elementor.product-type-grouped .elementor-widget-the7-breadcrumb .breadcrumbs {
    justify-content: center;
    text-align: center;
}

/* Collection page header spacing on phones. Added by Jadon - 2026.09
   Collection pages only, 600px and under. Measured at 390px before the
   change: the title had a 62px line height on a 36px font (three loose
   lines), 30px of space above the title, and 24px between the nav bar's
   hairline and the photo. After (Keith's numbers, tightened three times):
   title lines at 1.1, the title flush under the header (the wrapper's own
   10px top padding removed as well), 6px between the hairline and the photo.
   The element IDs are the single-product template's page wrapper (10aa82bf),
   title widget (624cf929), its container (9844b7d) and the photo container
   (4f3b8d3); if that template is ever rebuilt in Elementor the IDs change
   and these rules need updating. */
@media (max-width: 600px) {
    .elementor.product-type-grouped .elementor-element-10aa82bf > .e-con-inner {
        padding-top: 0;                    /* page wrapper, was 10px; nothing left above the title box */
    }
    .elementor.product-type-grouped .elementor-element-624cf929 .elementor-heading-title {
        line-height: 1.1;                  /* was 62px on a 36px font */
    }
    .elementor.product-type-grouped .elementor-element-9844b7d {
        margin-top: 0;                     /* was 10px */
        padding-top: 0;                    /* was 10px */
    }
    .elementor.product-type-grouped .mill-collection-nav--top {
        margin-bottom: 0;                  /* was 14px */
    }
    .elementor.product-type-grouped .elementor-element-4f3b8d3 {
        margin-top: 6px;                   /* photo container, was 10px; hairline to photo = 6px */
    }
}

/* Collection page header spacing on desktop. Added by Jadon - 2026.09
   Collection pages only, 601px and up. Measured at 1889px before the change:
   20px between the title and the centered breadcrumb, 20px between the
   breadcrumb and the nav bar's arrows, 28px between the bar's hairline and
   the photo. After: 10px title to breadcrumb (halved), 20px above and 20px
   below the bar. Same element IDs as the phone block above. */
@media (min-width: 601px) {
    .elementor.product-type-grouped .elementor-element-9844b7d {
        padding-bottom: 0;                 /* title container, was 10px */
    }
    .elementor.product-type-grouped .elementor-element-33f56f8c > .e-con-inner {
        padding-top: 4px;                  /* breadcrumb row, was 10px: the breadcrumb hugs the title (4px between the two boxes) */
    }
    .elementor.product-type-grouped .mill-collection-nav--top {
        margin-bottom: 10px;               /* was 18px; + the photo container's 10px = 20px, matching the space above the bar */
    }
}

/* Bottom nav bar to the policies accordion, all screens. Added by Jadon - 2026.09
   Measured before: 69px on desktop / 59px on phones between the bottom bar's
   hairline and the "$100 Off $1,000 / Placing an Order" accordion (bar margin
   + items container padding + the accordion container's 25px top margin + its
   inner 10px). Halved to 32px on both by dropping the bar's bottom margin and
   trimming the accordion container's top margin; the container's bottom
   margin is left alone. Container ID 9989b63 (single-product template). */
.elementor.product-type-grouped .mill-collection-nav--bottom {
    margin-bottom: 0;                      /* was 24px desktop / 14px phones */
}
.elementor.product-type-grouped .elementor-element-9989b63 {
    margin-top: 12px;                      /* was 25px */
}

/* Doofinder Live Layer: price range inputs. Added by Jadon - 2026.09
   The Doofinder search layer (the results panel that opens from the
   header search box) renders in the normal page DOM, so The7's global
   input[type="number"] styling reaches the two min/max price boxes
   under the Price slider: a 2px navy border, a 40px min-height and a
   10px bottom margin. Doofinder already draws its own light gray
   rounded wrapper (.dfd-range-input-wrapper) around each field, so the
   theme border showed as a second box drawn inside the first, and the
   extra height and margin pushed the number up and out of line with
   the "$". These rules strip the theme styling from just those two
   inputs so Doofinder's wrapper is the only visible box. !important is
   needed because The7's rules use long, high-specificity selectors.
   Scoped to .dfd-root so nothing outside the Doofinder layer changes. */
.dfd-root .dfd-range-input-wrapper input.dfd-range-input {
    border: 0 !important;             /* remove The7 navy border */
    outline: 0 !important;
    box-shadow: none !important;
    min-height: 0 !important;         /* The7 forces 40px, taller than the wrapper allows */
    height: auto !important;
    margin: 0 !important;             /* The7 adds 10px bottom margin, which shifted the number up */
    padding: 0 0 0 4px !important;    /* small gap after the "$" */
    background: transparent !important; /* wrapper supplies the background */
    box-sizing: border-box !important;
    line-height: normal !important;
}

/* Buying from Millwest policy strip. Added by Jadon - 2026.09
   Output of the [mill_buying_strip] shortcode (inc/mill-buying-strip.php):
   a heading and six white cards, one link each, that replaced the legacy
   policies Accordion at the bottom of the Products Archive, Shop Archive
   and both Single Product templates (the Accordion failed the Lighthouse
   "accessibility tree is not well-formed" audit). Everything is scoped
   under .mw-buying so nothing leaks into the theme. Colors and fonts read
   the Elementor globals with the site's values as fallbacks. Three cards
   across on desktop, two on tablet, one on phones. */
.mw-buying {
    margin: 8px 0 0;
}
/* Heading styled like the RECENTLY VIEWED / RELATED PRODUCTS heading
   (h2.rp-heading in Section 6): Derivia 28px uppercase, 1.7px tracking,
   centered, with a short rule on each side. The rules are flex items here
   rather than the absolutely positioned pseudo-elements rp-heading uses,
   so they always sit level with the text. Updated by Jadon - 2026.09 */
.mw-buying h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    text-align: center;
    font-family: "Derivia", Sans-serif;
    font-size: 28px;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1.7em;
    letter-spacing: 1.7px;
    color: var(--e-global-color-primary, #223651);
    margin: 0 0 30px;
}
.mw-buying h2::before,
.mw-buying h2::after {
    content: "";
    flex: 0 0 15%;                              /* same rule length as rp-heading */
    border-bottom: 1px solid var(--e-global-color-primary, #223651);
}
.mw-buying .mw-policies {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
/* Card. Updated by Jadon - 2026.10: the card is a div now (the title h3 holds
   the link) so position: relative lets the link's ::after stretch over the
   whole card and keep it clickable; see .mw-pol-title a::after below. */
.mw-buying .mw-pol {
    position: relative;
    background: #FFFFFF;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.27);   /* same shadow as the product cards */
    padding: 16px 16px 18px;
    text-decoration: none;
    color: var(--e-global-color-text, #223651);
    display: grid;
    grid-template-columns: 34px 1fr;
    grid-template-rows: auto auto;
    column-gap: 10px;
    row-gap: 4px;
    align-items: start;
}
.mw-buying .mw-pol:hover .mw-pol-title a,
.mw-buying .mw-pol:focus-within .mw-pol-title a {   /* Updated by Keith - 2026.10 - hover/focus now target the link inside the h3 */
    text-decoration: underline;
}
.mw-buying .mw-pol:focus-within {                    /* Updated by Keith - 2026.10 - was :focus-visible on the old <a> card */
    outline: 2px solid var(--e-global-color-accent, #223651);
    outline-offset: 2px;
}
/* Icon circle; decorative only (aria-hidden in the markup). */
.mw-buying .mw-pol-ic {
    grid-row: 1 / span 2;
    width: 34px;
    height: 34px;
    border-radius: 17px;
    background: #DDE3EC;                        /* navy tint, same as the active filter chip */
    color: var(--e-global-color-accent, #223651);
    display: grid;
    place-items: center;
    font-size: 17px;
    line-height: 1;
}
.mw-buying .mw-pol-title {
    font-family: var(--e-global-typography-secondary-font-family, "Derivia"), "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: 21px;
    line-height: 1.1;
    color: var(--e-global-color-primary, #223651);
    margin: 0;                                  /* Updated by Jadon - 2026.10 - it is an h3 now; cancel the theme's heading margins and transforms */
    padding: 0;
    text-transform: none;
    letter-spacing: 0;
}
/* Added by Jadon - 2026.10 - the link inside the h3 looks like the old title and its
   ::after is stretched over the card so the whole card is still one click target. */
.mw-buying .mw-pol-title a {
    color: inherit;
    text-decoration: none;
}
.mw-buying .mw-pol-title a:focus {
    outline: none;                              /* the card shows the focus ring (:focus-within above) */
}
.mw-buying .mw-pol-title a::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 10px;
}
.mw-buying .mw-pol-text {
    font-family: var(--e-global-typography-text-font-family, "Work Sans"), "Segoe UI", system-ui, sans-serif;
    font-size: 14px;
    line-height: 1.45;
    color: #505153;                             /* dark grey, secondary text */
    margin: 0;                                  /* Updated by Jadon - 2026.10 - it is a <p> now; cancel the theme's paragraph margin */
}
@media (max-width: 900px) {
    .mw-buying .mw-policies {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 600px) {
    .mw-buying .mw-policies {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .mw-buying h2::before,
    .mw-buying h2::after {
        display: none;                          /* rp-heading hides its rules on phones too */
    }
}

/* ============================================================
   SECTION: 12. Rules moved from Customizer Additional CSS
   ============================================================ */
/* Moved by Keith - 2026.09 from Appearance > Customize > Additional CSS
   so all custom CSS lives in this one file. Content and order are
   unchanged. Note: Additional CSS loaded after nearly every other
   stylesheet; this file loads earlier. Jadon used !important on the
   size and spacing rules, so they still win. If anything below stops
   applying, add !important or raise the selector specificity. */
.cta-button {
	text-align:center;
}
.cta-button a {
	display:inline-block;
	font-size:21px;
	color:white;
	padding:19px;
	background:#223651;
	margin:6px;
	font-weight:bold;
}

/* ============================================================
   Product description heading spacing
   Updated by Jadon - 2026.06
   Goal: a clear space ABOVE every h2/h3, and NO gap below
   (body text hugs the heading). Replaces the old 45px-top,
   8px-top, and 1.5em rules, which conflicted with each other.
   ============================================================ */

/* Headings: space before, none after */
.woocommerce-product-details__short-description h2,
.woocommerce-product-details__short-description h3,
.product .entry-content h2,
.product .entry-content h3,
.product-description h2,
.product-description h3,
.woocommerce div.product .woocommerce-tabs h2,
.woocommerce div.product .woocommerce-tabs h3,
.single-product .entry-content h2,
.single-product .entry-content h3 {
    display: block !important;
    margin-top: 40px !important;    /* space ABOVE the heading (bigger than below) */
    margin-bottom: 0 !important;    /* no gap below the heading  */
    padding-bottom: 0 !important;
    clear: both !important;         /* keep clearing floated images */
    line-height: 1.3 !important;
}

/* Heading SIZE knobs (description) — change these to resize headings */
.woocommerce-product-details__short-description h2,
.product .entry-content h2,
.product-description h2,
.woocommerce div.product .woocommerce-tabs h2,
.single-product .entry-content h2 {
    font-size: 25px !important;     /* <-- h2 size */
}
.woocommerce-product-details__short-description h3,
.product .entry-content h3,
.product-description h3,
.woocommerce div.product .woocommerce-tabs h3,
.single-product .entry-content h3 {
    font-size: 18px !important;     /* <-- h3 size */
}
/* Added by Jadon - 2026.09: same fix as the Description tab block
   further down. h4 was not sized here, so The7's 20px Roboto default
   made it larger than the 18px h3. Kept one step below h3. */
.woocommerce-product-details__short-description h4,
.product .entry-content h4,
.product-description h4,
.woocommerce div.product .woocommerce-tabs h4,
.single-product .entry-content h4 {
    font-family: inherit !important;
    font-size: 16px !important;     /* <-- h4 size (keep below h3) */
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin-top: 24px !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Don't add a leading gap above the very first heading in a block */
.woocommerce-product-details__short-description h2:first-child,
.woocommerce-product-details__short-description h3:first-child,
.single-product .entry-content h2:first-child,
.single-product .entry-content h3:first-child {
    margin-top: 0 !important;
}

/* Body text: no top margin (hugs the heading), normal bottom rhythm */
.woocommerce-product-details__short-description p,
.woocommerce-product-details__short-description ul,
.product-description p,
.product-description ul,
.single-product .entry-content p,
.single-product .entry-content ul {
    margin-top: 0 !important;
    margin-bottom: 1em !important;
}

/* Match Complianz opt-out/cookie text to site body text, added by Jadon on 5,21, 2026 */
.cmplz-document,
.cmplz-document p,
.cmplz-document li,
.cmplz-document td,
.cmplz-document span,
.cmplz-document a {
    color: #223651;
}

/* Change blog widget Read More buttons to primary sans-serif font */
a.box-button.elementor-button {
       font-family: "Work Sans", sans-serif !important;
   }

/* Stack & center floated images on the Poly Outdoor Furniture page,
   for mobile and tablet screens only */
@media (max-width: 1024px) {
  body.page-id-49130 .elementor-widget-text-editor .alignleft,
  body.page-id-49130 .elementor-widget-text-editor .alignright,
  body.page-id-49130 .elementor-widget-text-editor .aligncenter,
  body.page-id-49130 .elementor-widget-text-editor .alignnone {
    float: none !important;
    display: block !important;
    margin: 1em auto !important;
    max-width: 100% !important;
    height: auto !important;
  }
}

/* ============================================================
 * Millwest - Gallery polish  (v7)
 * Author:  Keith Miller
 * Date:    2026-05
 * ============================================================
 * Two surgical CSS rules for the product-page gallery:
 *
 *   1. Thumbnail strip pre-init overflow clip (carried from v6):
 *      stops the long row of placeholder boxes from spilling past
 *      the page edge during the brief pre-FlexSlider moment.
 *
 *   2. Main slider image size lock (new in v7): forces the visible
 *      product image to render at a fixed 410px wide (or 100% of
 *      its container on narrower screens, whichever is smaller).
 *      This eliminates the small "gets slightly smaller" shift
 *      that happens when FlexSlider finishes init and adjusts
 *      the slide dimensions - the image stays exactly the same
 *      size start to finish.
 *
 * Location: child theme style.css (moved here from Customizer
 *   Additional CSS by Keith - 2026.09)
 * ============================================================ */
/* === 1. Thumbnail strip: clip pre-init overflow ============ */
.mflexthumbs {
	overflow: hidden;
	max-width: 100%;
}
.mflexthumbs > ul.slides {
	overflow: hidden;
	max-width: 100%;
}
/* === 2. Main slider image: lock to a stable width ========== */
.mflexslider img {
	width: 410px !important;
	max-width: 100% !important;
	height: auto !important;
}

img.emoji {
    display: inline !important;
    border: none !important;
    box-shadow: none !important;
    height: 1em !important;
    width: 1em !important;
    margin: 0 0.07em !important;
    vertical-align: -0.1em !important;
    background: none !important;
    padding: 0 !important;
}

/* ============================================================
   Dropdown (accordion) description spacing
   Added by Jadon - 2026.06
   Scoped to .m_accordion_item so it only affects the product
   dropdown content. Same rhythm as the product description:
   space ABOVE each heading, none below.
   ============================================================ */

/* Headings: space before, none after */
/* Updated by Jadon - 2026.09: h4 added to the set. Until now h4 was
   not covered here at all, so it fell through to The7's default
   (20px Roboto), which made an h4 render BIGGER than the h3 above it.
   Top gaps: h2 keeps 28px (was 40px), h3 has its own 19px and h4 its
   own 14px below. */
.m_accordion .m_accordion_content .m_accordion_item h2,
.m_accordion .m_accordion_content .m_accordion_item h3,
.m_accordion .m_accordion_content .m_accordion_item h4 {
    margin-top: 28px !important;    /* space ABOVE the heading (bigger than below) */
    margin-bottom: 0 !important;    /* no gap below the heading  */
    padding-bottom: 0 !important;
    line-height: 1.3 !important;
    clear: none !important;
}

/* Heading SPACE knobs (dropdown) - space above h3 and h4.
   Added by Jadon - 2026.09: h3 gap 28px -> 19px (one third less),
   h4 gap 28px -> 14px (one half less). */
.m_accordion .m_accordion_content .m_accordion_item h3 {
    margin-top: 19px !important;    /* <-- space above h3 */
}
.m_accordion .m_accordion_content .m_accordion_item h4 {
    margin-top: 14px !important;    /* <-- space above h4 */
}

/* "Description" bar above the tab content (desktop).
   Added by Jadon - 2026.09: the bar was 24px (Elementor's secondary
   typography), the same as the h2 right under it. Set one step above
   the h2 so the bar reads as the section title. The mobile size lives
   in the 600px block further down ("Description" tab word size). */
.m_accordion_collections .m_collection_tab {
    font-size: 28px !important;     /* <-- "Description" bar size (desktop) */
}

/* Heading SIZE knobs (dropdown) — change these to resize headings */
.m_accordion .m_accordion_content .m_accordion_item h2 {
    font-size: 24px !important;     /* <-- h2 size (was 20px, Jadon 2026.09) */
}
.m_accordion .m_accordion_content .m_accordion_item h3 {
    font-size: 20px !important;     /* <-- h3 size (was 16px, Jadon 2026.09) */
}
/* Added by Jadon - 2026.09: h4 is a sub-label under an h3 (e.g.
   "Design & Character" then "Mission Collection"). Sized above the
   16px body text but below the h3, and it uses the site font instead
   of The7's Roboto. */
.m_accordion .m_accordion_content .m_accordion_item h4 {
    font-family: inherit !important;  /* Work Sans, same as h3 */
    font-size: 18px !important;     /* <-- h4 size (keep below h3) */
    font-weight: 700 !important;
}

/* No leading gap at the very top of the panel */
.m_accordion .m_accordion_content .m_accordion_item > *:first-child {
    margin-top: 0 !important;
}

/* Hide empty heading tags that create huge invisible gaps */
/* Updated by Jadon - 2026.09: h4 added */
.m_accordion .m_accordion_content .m_accordion_item h2:empty,
.m_accordion .m_accordion_content .m_accordion_item h3:empty,
.m_accordion .m_accordion_content .m_accordion_item h4:empty {
    display: none !important;
}

/* Added by Jadon - 2026.10 - COLLECTION pages only (.product-type-grouped
   is on the Elementor single-product wrapper). The plugin moves each item's
   description headings down one level there (h2 -> h3, h3 -> h4, h4 -> h5)
   because the item name above them is an h2 (see
   demote_collection_description_headings in class-millwest-public.php).
   These rules give the demoted tags the same size and spacing the product
   pages use, so the page looks the same as before: h3 looks like h2,
   h4 like h3, h5 like h4. The mobile sizes sit in the 600px block below. */
.product-type-grouped .m_accordion .m_accordion_content .m_accordion_item h3 {
    font-size: 24px !important;     /* <-- was h2 on the product page */
    margin-top: 28px !important;
}
.product-type-grouped .m_accordion .m_accordion_content .m_accordion_item h4 {
    font-size: 20px !important;     /* <-- was h3 on the product page */
    margin-top: 19px !important;
}
.product-type-grouped .m_accordion .m_accordion_content .m_accordion_item h5 {
    font-family: inherit !important;  /* Work Sans, same as the h4 rule above */
    font-size: 18px !important;     /* <-- was h4 on the product page */
    font-weight: 700 !important;
    margin-top: 14px !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1.3 !important;
    clear: none !important;
}
.product-type-grouped .m_accordion .m_accordion_content .m_accordion_item h5:empty {
    display: none !important;
}

/* Removed by Keith - 2026.09 - the rule that hid every <br> inside the
   Description tab is gone. It also hid the intentional line breaks in the
   text (Perfect Pairings ran together as one paragraph). The stray <br>
   tags that nl2br() added next to headings and lists are now stripped in
   PHP instead (Millwest_Items::strip_block_breaks), so only real line
   breaks between lines of text reach the browser. */

/* Added by Jadon - 2026.10 - the product name at the top of a description.
   Many descriptions open with the product name as a heading. The name is
   already a real heading on the page (h1 on a product page, the item's h2
   on a collection page), so the plugin turns that opening heading into
   <p class="mw-desc-name"> (Millwest_Items::normalize_description_headings).
   This rule makes it look exactly like the h2 it replaced, so readers who
   open the panel still see the name at the top; only the outline changed.
   Keep these values in step with the h2 size knob above. Mobile size is
   in the 600px block below. */
.m_accordion .m_accordion_content .m_accordion_item p.mw-desc-name {
    font-family: inherit !important;
    font-size: 24px !important;     /* <-- same as the h2 size knob */
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin: 0 !important;           /* first thing in the panel: no gap above, text hugs it below */
    padding: 0 !important;
}

/* Body text: no top margin (hugs the heading), modest bottom rhythm */
.m_accordion .m_accordion_content .m_accordion_item p,
.m_accordion .m_accordion_content .m_accordion_item ul {
    margin: 0 0 10px 0;
    line-height: 1.5;
}
.m_accordion .m_accordion_content .m_accordion_item li {
    margin-bottom: 4px;
    line-height: 1.4;
}

/* ============================================================
   Description tab typography - MOBILE (600px and under)
   Added by Jadon - 2026.09
   Desktop sizes above were too big on a phone (the 24px h2 outranked
   the 20px product title). Everything phone-specific for the
   Description tab lives here so mobile can be tuned without touching
   the desktop rules above. The "Description" bar rule was moved in
   from further down this file (it used to sit alone in its own
   600px block).
   ============================================================ */
@media (max-width: 600px) {
    /* "Description" bar. No height changes here (that's what broke
       the layout before). Tighter line-height + smaller padding lets
       the bigger word fit inside the bar's existing height without
       clipping the bottom. */
    .m_accordion .m_collection_tab {
        font-size: 24px !important;   /* <-- "Description" bar size (mobile), was 22px; one step above the 22px h2 */
        line-height: 1.2 !important;
        padding-top: 6px !important;
        padding-bottom: 6px !important;
    }

    /* Added by Jadon - 2026.09: the Description section sat right
       under the "Inquire for in-store availability" line (about 11px
       of text-to-text space) while the open panel had about 33px
       between the bar and the h2. Push the whole section down so the
       space above matches the space below. Product pages only. */
    .mill_product_acc .m_accordion_collections {
        margin-top: 24px !important;    /* <-- space above the Description section (mobile) */
    }

    /* Added by Jadon - 2026.09: the plugin gives the bar 10px side
       padding on phones, but the panel content sits 5px in, so the
       word "Description" started 5px right of the text below it.
       5px lines it up flush with the h2. Product pages only. */
    .mill_product_acc .m_accordion_collections .m_collection_tab {
        padding-left: 5px !important;   /* <-- "Description" text left inset (mobile) */
    }

    /* Added by Jadon - 2026.09: less space between the bottom of the
       "Description" bar and the h2 under it. The panel adds 5px of
       padding plus this margin, so 12px here gives 17px total
       (was 20px + 5px = 25px). Product pages only. */
    .mill_product_acc .m_accordion_collections .m_accordion_item {
        margin-top: 12px !important;    /* <-- space between the bar and the first heading (mobile) */
    }

    /* Heading SIZE knobs (mobile) - body text stays 16px */
    .m_accordion .m_accordion_content .m_accordion_item h2 {
        font-size: 22px !important;     /* <-- h2 size (mobile), was 20px: too close to the 18px h3 */
    }
    .m_accordion .m_accordion_content .m_accordion_item h3 {
        font-size: 20px !important;     /* <-- h3 size (mobile), was 19px */
    }
    .m_accordion .m_accordion_content .m_accordion_item h4 {
        font-size: 16px !important;     /* <-- h4 size (mobile), was 17px; same size as body text, bold sets it apart */
    }

    /* Heading SPACE knobs (mobile) - space above each heading,
       trimmed from the desktop 28 / 19 / 14 */
    .m_accordion .m_accordion_content .m_accordion_item h2 {
        margin-top: 20px !important;    /* <-- space above h2 (mobile) */
    }
    .m_accordion .m_accordion_content .m_accordion_item h3 {
        margin-top: 14px !important;    /* <-- space above h3 (mobile) */
    }
    .m_accordion .m_accordion_content .m_accordion_item h4 {
        margin-top: 10px !important;    /* <-- space above h4 (mobile) */
    }
    /* Added by Jadon - 2026.10 - the product name line at the top of a
       description (p.mw-desc-name, see the desktop note): same as the mobile h2 */
    .m_accordion .m_accordion_content .m_accordion_item p.mw-desc-name {
        font-size: 22px !important;
    }
    /* Added by Keith - 2026.10 - collection pages, demoted headings (see the
       desktop note above): h3 gets the mobile h2 look, h4 the h3, h5 the h4 */
    .product-type-grouped .m_accordion .m_accordion_content .m_accordion_item h3 {
        font-size: 22px !important;
        margin-top: 20px !important;
    }
    .product-type-grouped .m_accordion .m_accordion_content .m_accordion_item h4 {
        font-size: 20px !important;
        margin-top: 14px !important;
    }
    .product-type-grouped .m_accordion .m_accordion_content .m_accordion_item h5 {
        font-size: 16px !important;
        margin-top: 10px !important;
    }
    /* first heading in the panel still has no top gap (same as desktop) */
    .m_accordion .m_accordion_content .m_accordion_item > *:first-child {
        margin-top: 0 !important;
    }
}
/* ======================================================
   Login page — crop the "Continue with Google" button down to
   a small centered box containing just the Google logo.
   Added by Jadon - 2026.06
   ====================================================== */

/* Center the button block on the page */
.nsl-container,
.nsl-container-buttons {
    text-align: center !important;
    justify-content: center !important;
}

/* Shrink the button to a small square and center it */
.nsl-container .nsl-button {
    width: 56px !important;
    height: 56px !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 auto !important;
    font-size: 0 !important;          /* hides the "Continue with Google" text */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

/* Belt-and-suspenders: hide the label container if present */
.nsl-container .nsl-button-label-container {
    display: none !important;
}
/* ============================================================
   Single product page — match the item-page title size to the
   collection card title on mobile.
   Added by Jadon Miller - 2026.06
   The plugin file (millwest-public.css) forces
   .m_single_container h1.product_title to 40px at ALL widths,
   which out-specifies the theme's mobile rule. This restores
   the intended 20px on phones by matching that specificity.
   ============================================================ */
@media only screen and (max-width: 600px) {
    .m_single_container .m_single_header h1.product_title {
        font-size: 20px;
        line-height: 1.2em;
    }
}
/* ============================================================
   Product dropdown (Elementor accordion) LABEL TEXT — mobile.
   Specificity raised to beat the theme style.css rule
   ".mill_steps a.elementor-accordion-title {16px !important}"
   that kicks in at ≤600px. Added by Jadon 06.2026
   ============================================================ */
@media (max-width: 767px) {
    .elementor-element-237bc4e.mill_steps a.elementor-accordion-title {
        font-size: 30px !important;
    }
}
/* ============================================================
   Related products/collections — card title size on MOBILE only.
   The theme shrinks these titles to 16px at ≤600px; this bumps
   them back up. Desktop (20px) is untouched.
Added by Jadon 06.2026
   ============================================================ */
@media (max-width: 600px) {
    .m-product-container-related .woocommerce-loop-product__title,
    .m-product-container-related .woocommerce-loop-product__title a {
        font-size: 25px !important;   /* <-- size knob: raise to taste */
        line-height: 1.3 !important;
    }
}
/* ============================================================
   Recently Viewed card titles — match the size of the
   Related Products ("related collections") card titles
   on every screen size.
Added by Jadon 06.2026
   ============================================================ */
.elementor-element-9314b82 .product-title,
.elementor-element-9314b82 .product-title a {
    font-size: 25px !important;   /* <-- match your related section size */
    line-height: 1.3 !important;
}
/* 2026-06-26 (Jadon): Mobile floating photo — show only the image. Hide the flexslider
   arrows (.flex-direction-nav) and the magnifying-glass zoom button (.mzoom_flash) while
   the photo is floating. Scoped to the float's own class (.mill-mobile-photo-float) so the
   normal gallery keeps its controls, and wrapped in the 768px breakpoint so it only ever
   applies on mobile. Reverts automatically when the float class is removed on dismiss. */
@media (max-width: 768px) {
    .mill-mobile-photo-float .flex-direction-nav,
    .mill-mobile-photo-float .mzoom_flash {
        display: none !important;
    }
}

/* Added by Keith - 2026.09: cart page, the whole text column (name and chosen options) is one
 * link to the product (woocommerce/cart/cart.php): navy, no underline, all of it Millwest red on
 * hover. The li rule needs !important because .mill_cart_message sets its colour with !important. */
.woocommerce-cart td.product-name a.mill-item-link {
    display: block;
    color: #223651;
    text-decoration: none;
    transition: color 0.2s ease;
}
.woocommerce-cart td.product-name a.mill-item-link:hover,
.woocommerce-cart td.product-name a.mill-item-link:hover span,
.woocommerce-cart td.product-name a.mill-item-link:hover ul,
.woocommerce-cart td.product-name a.mill-item-link:hover li {
    color: #aa0812 !important;
    text-decoration: none;
}

/* Added by Keith - 2026.09: checkout "Your Order" items match the cart: the cart's photo in a
 * 70px column, name and options beside it as one link to the product, red on hover
 * (woocommerce/checkout/review-order.php). */
.woocommerce-checkout-review-order-table td.product-name .mill-item-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    text-align: left;
}
.woocommerce-checkout-review-order-table td.product-name .mill-item-photo {
    flex: 0 0 70px;
    width: 70px;
}
.woocommerce-checkout-review-order-table td.product-name .mill-item-photo img {
    width: 70px;
    height: auto;
    max-width: 70px;
    display: block;
    border-radius: 6px;
}
.woocommerce-checkout-review-order-table td.product-name .mill-item-text {
    flex: 1 1 auto;
    min-width: 0;
}
.woocommerce-checkout-review-order-table td.product-name a.mill-item-link {
    display: block;
    color: #223651;
    text-decoration: none;
    transition: color 0.2s ease;
}
.woocommerce-checkout-review-order-table td.product-name a.mill-item-link:hover,
.woocommerce-checkout-review-order-table td.product-name a.mill-item-link:hover span,
.woocommerce-checkout-review-order-table td.product-name a.mill-item-link:hover ul,
.woocommerce-checkout-review-order-table td.product-name a.mill-item-link:hover li {
    color: #aa0812 !important;
    text-decoration: none;
}
/* "Shipped to Ohio only" on its own line under the name inside the text column. */
.woocommerce-checkout-review-order-table td.product-name .mill-item-text span.m_ohio_only {
    display: block;
    margin-top: 2px;
}
