/*
Theme Name: Maxlager
Template: storefront
Description: Maxlager WordPress store theme, built on Storefront/WooCommerce.
Version: 1.0.8
Text Domain: maxlager
*/

:root{
	--ml-green: #048259;
	--ml-green-dark: #036b48;
	--ml-dark: #121212;
	--ml-dark2: #242424;
	--ml-cream: #F7F3EB;
	--ml-yellow: #FBD359;
	--ml-red: #D81A1A;
	--ml-grey: #6B6B6B;
	--ml-border: #E6E6E6;
	--ml-white: #FFFFFF;
}

body{
	font-family: 'Assistant', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	color: var(--ml-dark);
	background: var(--ml-white);
}

h1,h2,h3,h4,h5,h6{
	font-family: 'Assistant', sans-serif;
	font-weight: 700;
	color: var(--ml-dark);
}

a{ color: var(--ml-green); }
a:hover{ color: var(--ml-green-dark); }

/* Header */
#masthead{
	background: var(--ml-white);
	border-bottom: 1px solid var(--ml-border);
	box-shadow: none;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}
.site-branding{ padding: 14px 0 !important; }
.site-branding img.custom-logo{
	max-height: 40px !important;
	width: auto !important;
	height: auto !important;
}
.site-title, .site-description{ display:none; }
.site-search .woocommerce-product-search input{ padding: 10px 14px !important; }

.main-navigation ul li a{
	font-weight: 600;
	color: var(--ml-dark);
	text-transform: none;
}
.main-navigation ul li a:hover{ color: var(--ml-green); }
.storefront-primary-navigation a,
.storefront-primary-navigation ul.menu > li > a{
	padding-top: 14px !important;
	padding-bottom: 14px !important;
}
.storefront-primary-navigation .site-header-cart a.cart-contents{
	padding-top: 14px !important;
	padding-bottom: 14px !important;
}

/* Top announcement bar */
.ml-announcement{
	background: var(--ml-dark);
	color: var(--ml-white);
	text-align: center;
	font-size: 13px;
	padding: 8px 12px;
	letter-spacing: .02em;
}

/* Buttons */
.button, button, input[type="submit"], .woocommerce a.button, .woocommerce button.button,
.woocommerce #respond input#submit, .woocommerce-page a.button,
a.button.alt, .single_add_to_cart_button{
	background-color: var(--ml-green) !important;
	border-color: var(--ml-green) !important;
	color: var(--ml-white) !important;
	border-radius: 4px;
	font-weight: 600;
	text-transform: none;
	box-shadow: none;
}
.button:hover, button:hover, input[type="submit"]:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover,
.single_add_to_cart_button:hover{
	background-color: var(--ml-green-dark) !important;
	border-color: var(--ml-green-dark) !important;
}
.button.alt, .checkout-button{
	background-color: var(--ml-dark) !important;
	border-color: var(--ml-dark) !important;
}

/* Sale badges */
.woocommerce span.onsale, .woocommerce ul.products li.product .onsale{
	background: var(--ml-red);
	color: var(--ml-white);
	font-weight: 700;
	border-radius: 4px;
	min-height: auto;
	min-width: auto;
	padding: 4px 10px;
	line-height: 1.4;
	top: 10px;
	left: 10px;
	right: auto;
}

/* Price */
.woocommerce ul.products li.product .price, .summary .price{
	color: var(--ml-dark);
	font-weight: 700;
}
.woocommerce ul.products li.product .price del, .summary .price del{
	color: var(--ml-grey);
	opacity: .8;
}
.woocommerce ul.products li.product .price ins, .summary .price ins{
	text-decoration: none;
	color: var(--ml-red);
}

/* Product grid layout (WooCommerce classic shortcode markup no longer ships grid CSS) */
.woocommerce ul.products{
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}
@media (max-width: 900px){
	.woocommerce ul.products{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px){
	.woocommerce ul.products{ grid-template-columns: 1fr; }
}

/* Product grid cards */
.woocommerce ul.products li.product{
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	background: var(--ml-white);
	border: 1px solid var(--ml-border);
	border-radius: 8px;
	padding: 14px;
	transition: box-shadow .2s ease, transform .2s ease;
}
.woocommerce ul.products li.product:hover{
	box-shadow: 0 6px 20px rgba(0,0,0,.08);
	transform: translateY(-2px);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
	font-size: 16px;
	font-weight: 600;
}

/* Hero */
.ml-hero-banner{
	display: block;
	line-height: 0;
}
.ml-hero-banner img{
	width: 100%;
	height: auto;
	display: block;
}

/* Category grid on homepage */
.ml-categories{
	max-width: 1200px;
	margin: 0 auto;
	padding: 56px 24px;
}
.ml-categories h2{
	text-align:center;
	margin-bottom: 32px;
}
.ml-category-grid{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 20px;
}
.ml-category-card{
	position: relative;
	display: block;
	border-radius: 10px;
	overflow: hidden;
	background: var(--ml-dark);
	aspect-ratio: 4/3;
	text-decoration: none;
}
.ml-category-card img{
	width: 100%; height: 100%; object-fit: cover; opacity: .75;
	transition: transform .3s ease, opacity .3s ease;
}
.ml-category-card:hover img{ transform: scale(1.05); opacity: .55; }
.ml-category-card span{
	position: absolute; left: 16px; bottom: 16px;
	color: #fff; font-weight: 700; font-size: 18px;
}

/* Trust bar */
.ml-trust-bar{
	background: var(--ml-cream);
	padding: 32px 24px;
}
.ml-trust-grid{
	max-width: 1100px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 20px;
	text-align: center;
}
.ml-trust-grid .ml-trust-item{
	font-weight: 600;
	color: var(--ml-dark2);
	font-size: 15px;
}
.ml-trust-grid .ml-trust-item strong{
	display:block;
	color: var(--ml-green);
	font-size: 22px;
	margin-bottom: 4px;
}
.ml-trustpilot-stars{
	display: block;
	height: 22px;
	width: auto;
	margin: 0 auto 4px;
}
.ml-payment-icons{
	max-width: 900px;
	margin: 28px auto 0;
	text-align: center;
}
.ml-payment-icons img{
	max-width: 100%;
	height: auto;
	max-height: 40px;
}

/* Featured products section */
.ml-featured{
	max-width: 1200px;
	margin: 0 auto;
	padding: 56px 24px;
}
.ml-featured h2{ text-align:center; margin-bottom: 32px; }

/* Footer */
#colophon.ml-footer{
	background: #E1F1E9;
	color: var(--ml-dark2);
	padding: 56px 0 0;
}
.ml-footer .col-full{ max-width: 1280px; }

.ml-footer-top{
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 40px;
}
.ml-footer-logo img{ height: 34px; width: auto; display: block; }
.ml-footer-social{ display: flex; gap: 12px; }
.ml-footer-social a{
	display: flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: 50%;
	background: var(--ml-green);
}
.ml-footer-social a:hover{ background: var(--ml-green-dark); }

.ml-footer-columns{
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1.4fr;
	gap: 32px;
	padding-bottom: 40px;
}
.ml-footer-col h4, .ml-footer-newsletter h4{
	font-size: 17px;
	margin: 0 0 14px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--ml-green);
	display: inline-block;
}
.ml-footer-col p{ font-size: 14px; line-height: 1.6; color: var(--ml-dark2); }
.ml-footer-col ul{ list-style: none; margin: 0; padding: 0; }
.ml-footer-col ul li{ margin-bottom: 10px; }
.ml-footer-col ul li a{ color: var(--ml-dark2); font-size: 14px; }
.ml-footer-col ul li a:before{ content: "› "; color: var(--ml-green); font-weight: 700; }
.ml-footer-col ul li a:hover{ color: var(--ml-green); }
.ml-footer-address, .ml-footer-hours{ font-size: 14px; }

.ml-footer-newsletter{
	background: var(--ml-green);
	color: #fff;
	border-radius: 12px;
	padding: 28px;
}
.ml-footer-newsletter h4{
	color: #fff;
	border-bottom: none;
	padding-bottom: 0;
	font-size: 20px;
	line-height: 1.3;
}
.ml-footer-newsletter-checks{
	display: flex; gap: 16px; flex-wrap: wrap;
	font-size: 13px; margin: 12px 0 18px;
}
.ml-newsletter-form{ display: flex; background: #fff; border-radius: 30px; padding: 4px; }
.ml-newsletter-form input{
	flex: 1; border: none; background: transparent; padding: 10px 16px; font-size: 14px; outline: none;
}
.ml-newsletter-form button{
	background: var(--ml-yellow) !important;
	color: var(--ml-dark) !important;
	border-radius: 50%; width: 40px; height: 40px;
	border: none; font-size: 18px; flex-shrink: 0;
}
.ml-newsletter-thanks{ font-weight: 600; }

.ml-footer-trust{
	border-top: 1px solid rgba(0,0,0,.1);
	padding: 28px 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 24px;
}
.ml-footer-trustpilot{ display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; }
.ml-footer-trustpilot img{ height: 24px; width: auto; }
.ml-footer-payment{ height: 32px; width: auto; max-width: 340px; object-fit: contain; }
.ml-footer-badges{ display: flex; gap: 28px; flex-wrap: wrap; }
.ml-footer-badges div{ font-size: 13px; font-weight: 600; color: var(--ml-dark2); }
.ml-footer-badges div strong{ display: block; font-size: 20px; margin-bottom: 2px; }
.ml-footer-badges div span{ display: block; font-weight: 400; color: var(--ml-grey); }

.ml-footer-bottom{
	border-top: 1px solid rgba(0,0,0,.1);
	padding: 20px 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	font-size: 13px;
	color: var(--ml-grey);
}
.ml-footer-legal-links a{ color: var(--ml-grey); margin-right: 20px; }
.ml-footer-legal-links a:hover{ color: var(--ml-green); }

@media (max-width: 900px){
	.ml-footer-columns{ grid-template-columns: 1fr 1fr; }
	.ml-footer-newsletter{ grid-column: 1 / -1; }
}
@media (max-width: 560px){
	.ml-footer-columns{ grid-template-columns: 1fr; }
}

/* Yellow accent utility */
.ml-accent{ color: var(--ml-yellow); }

/* Slide-out cart drawer */
body.ml-drawer-locked{ overflow: hidden; }

#ml-cart-drawer-overlay{
	position: fixed; inset: 0;
	background: rgba(0,0,0,.4);
	z-index: 9998;
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s ease;
}
#ml-cart-drawer-overlay.is-open{ opacity: 1; pointer-events: auto; }

#ml-cart-drawer{
	position: fixed;
	top: 0; right: 0;
	width: 420px;
	max-width: 100vw;
	height: 100vh;
	background: #fff;
	z-index: 9999;
	transform: translateX(100%);
	transition: transform .3s ease;
	display: flex;
	flex-direction: column;
	box-shadow: -8px 0 30px rgba(0,0,0,.15);
}
#ml-cart-drawer.is-open{ transform: translateX(0); }

.ml-drawer-header{
	display: flex; align-items: center; justify-content: space-between;
	padding: 20px 24px;
	font-size: 18px; font-weight: 600;
	border-bottom: 1px solid var(--ml-border);
}
#ml-drawer-close{
	background: none; border: 2px solid var(--ml-dark);
	width: 32px; height: 32px; font-size: 18px; line-height: 1;
	cursor: pointer; border-radius: 4px;
}
.ml-drawer-reserved{
	background: var(--ml-green);
	color: #fff;
	text-align: center;
	font-size: 13px;
	padding: 10px;
}

#ml-drawer-body{ flex: 1; overflow-y: auto; display: flex; flex-direction: column; }

.ml-drawer-shipping{ padding: 18px 24px; border-bottom: 1px solid var(--ml-border); }
.ml-drawer-shipping-label{ font-size: 14px; margin: 0 0 10px; text-align: center; }
.ml-drawer-progress{ height: 6px; background: var(--ml-border); border-radius: 4px; position: relative; }
.ml-drawer-progress-fill{
	height: 100%; background: var(--ml-dark); border-radius: 4px;
	position: relative; transition: width .3s ease;
}
.ml-drawer-progress-dot{
	position: absolute; right: -6px; top: 50%; transform: translateY(-50%);
	width: 14px; height: 14px; border-radius: 50%;
	background: #fff; border: 3px solid var(--ml-dark);
}

.ml-drawer-items{ padding: 16px 24px; flex: 1; }
.ml-drawer-empty{ text-align: center; color: var(--ml-grey); padding: 40px 0; }

.ml-drawer-item{
	display: flex; gap: 14px;
	padding: 16px 0;
	border-bottom: 1px solid var(--ml-border);
	position: relative;
}
.ml-drawer-item-image img{ width: 70px; height: 70px; object-fit: cover; border-radius: 6px; }
.ml-drawer-item-info{ flex: 1; }
.ml-drawer-item-name{ font-weight: 700; font-size: 14px; margin-bottom: 4px; }
.ml-drawer-item-qty{ font-size: 13px; color: var(--ml-grey); margin-bottom: 4px; }
.ml-drawer-item-price{ font-size: 14px; font-weight: 700; }
.ml-drawer-item-price del{ color: var(--ml-grey); font-weight: 400; margin-right: 8px; }
.ml-drawer-savings{
	display: inline-block; margin-top: 6px;
	background: var(--ml-cream); color: var(--ml-green-dark);
	font-size: 12px; font-weight: 600;
	padding: 3px 10px; border-radius: 20px;
}
.ml-drawer-remove{
	background: none; border: none; cursor: pointer;
	color: var(--ml-dark2); align-self: flex-start;
	padding: 4px;
}
.ml-drawer-remove:hover{ color: var(--ml-red); }

.ml-drawer-footer{ padding: 18px 24px 24px; border-top: 1px solid var(--ml-border); }
.ml-drawer-coupon{ display: flex; gap: 8px; margin-bottom: 8px; }
.ml-drawer-coupon-input{
	flex: 1; padding: 10px 14px; border: 1px solid var(--ml-border);
	border-radius: 4px; font-size: 14px;
}
.ml-drawer-coupon-apply{
	background: var(--ml-grey) !important; color: #fff !important;
	border: none; border-radius: 4px; padding: 0 18px;
	font-weight: 600; cursor: pointer;
}
.ml-drawer-coupon-message{ font-size: 13px; color: var(--ml-red); margin-bottom: 8px; min-height: 1px; }
.ml-drawer-line{
	display: flex; justify-content: space-between;
	font-size: 14px; padding: 6px 0;
}
.ml-drawer-total{ font-weight: 700; font-size: 16px; padding: 10px 0; }
.ml-drawer-total span:last-child{ color: var(--ml-red); }

.ml-drawer-checkout{
	display: block; text-align: center;
	background: var(--ml-green) !important; color: #fff !important;
	padding: 16px; border-radius: 4px; font-weight: 700;
	margin: 10px 0 16px;
}
.ml-drawer-checkout:hover{ background: var(--ml-green-dark) !important; }

.ml-drawer-payment-icons{ text-align: center; }
.ml-drawer-payment-icons img{ max-height: 26px; width: auto; max-width: 100%; }

@media (max-width: 480px){
	#ml-cart-drawer{ width: 100vw; }
}

/* Single product page trust rows */
/* Single product price row: bold price + inline pill badge */
.ml-price-row{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
	margin: 4px 0 18px;
}
.ml-price-row .price{
	font-size: 30px;
	font-weight: 800;
	color: var(--ml-red);
	display: flex;
	align-items: baseline;
	gap: 12px;
}
.ml-price-row .price del{
	font-size: 19px;
	font-weight: 400;
	color: var(--ml-grey);
	opacity: 1;
	order: 2;
}
.ml-price-row .price ins{
	text-decoration: none;
	color: var(--ml-red) !important;
	font-weight: 800 !important;
	order: 1;
}
.ml-price-row .price del{
	font-weight: 400 !important;
}
.ml-price-row .onsale{
	position: static !important;
	display: inline-flex;
	align-items: center;
	background: var(--ml-red);
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	padding: 8px 20px;
	border-radius: 999px;
	white-space: nowrap;
	min-height: 0;
	min-width: 0;
	line-height: 1.2;
}

.ml-product-trust-rows{ margin: 16px 0; }
.ml-product-trust-row{
	display: flex; align-items: center; gap: 10px;
	font-size: 14px; color: var(--ml-dark2);
	padding: 8px 0;
}
.ml-klarna-badge{
	background: #FFB3C7; color: var(--ml-dark);
	font-weight: 700; font-size: 12px;
	padding: 3px 10px; border-radius: 4px;
}
.ml-trust-icon{ font-size: 18px; color: var(--ml-green); }

/* Big black CTA on single product page (matches source) */
.single-product div.summary .single_add_to_cart_button,
.single-product div.summary button.single_add_to_cart_button{
	background: var(--ml-dark) !important;
	border-color: var(--ml-dark) !important;
	color: #fff !important;
	text-transform: uppercase;
	width: 100%;
	padding: 16px;
	font-size: 15px;
	letter-spacing: .03em;
	border-radius: 4px;
}
.single-product div.summary .single_add_to_cart_button:hover{
	background: #000 !important;
	border-color: #000 !important;
}
.single-product div.summary form.cart{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.single-product div.summary form.cart .quantity{ flex: 0 0 auto; }
.single-product div.summary form.cart .single_add_to_cart_button{ flex: 1 1 auto; }

.ml-product-payment-icons{ margin-top: 16px; text-align: center; }
.ml-product-payment-icons img{ max-height: 32px; width: auto; max-width: 100%; }

.ml-stock-indicator{
	display: flex; align-items: center; gap: 8px;
	color: var(--ml-red); font-weight: 700; font-size: 14px;
	margin-bottom: 14px;
}
.ml-stock-dot{
	width: 10px; height: 10px; border-radius: 50%;
	background: var(--ml-red); display: inline-block;
	animation: ml-pulse 1.5s ease-in-out infinite;
}
@keyframes ml-pulse{
	0%, 100% { opacity: 1; }
	50% { opacity: .4; }
}

.ml-product-trustpilot{
	text-align: center;
	margin-top: 22px;
	padding-top: 20px;
	border-top: 1px solid var(--ml-border);
}
.ml-tp-wordmark{ height: 22px; width: auto; margin: 0 auto 10px; display: block; }
.ml-tp-stars{ height: 26px; width: auto; margin: 0 auto 8px; display: block; }
.ml-product-trustpilot p{ font-size: 14px; color: var(--ml-dark2); margin: 0; }
.ml-product-trustpilot a{ color: var(--ml-dark); text-decoration: underline; }

.ml-delivery-timeline{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin: 28px 0 8px;
	padding-top: 20px;
}
.ml-delivery-step{
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	flex: 0 0 auto;
	width: 110px;
}
.ml-delivery-icon{
	width: 44px; height: 44px; border-radius: 50%;
	background: var(--ml-dark);
	display: flex; align-items: center; justify-content: center;
	margin-bottom: 10px;
	flex-shrink: 0;
}
.ml-delivery-step strong{ font-size: 14px; margin-bottom: 4px; }
.ml-delivery-date{ font-size: 13px; text-decoration: underline; color: var(--ml-dark2); }
.ml-delivery-line{
	flex: 1 1 auto;
	height: 2px;
	background: var(--ml-dark);
	margin-top: 22px;
}

/* Accordion product tabs */
.ml-accordion{ margin-top: 40px; border-top: 1px solid var(--ml-border); }
.ml-accordion-item{ border-bottom: 1px solid var(--ml-border); }
.ml-accordion-title{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 4px;
	font-weight: 700;
	font-size: 16px;
	cursor: pointer;
	list-style: none;
}
.ml-accordion-title::-webkit-details-marker{ display: none; }
.ml-accordion-chevron{
	transition: transform .2s ease;
	font-size: 20px;
	line-height: 1;
}
.ml-accordion-item[open] .ml-accordion-chevron{ transform: rotate(180deg); }
.ml-accordion-panel{ padding: 0 4px 20px; color: var(--ml-dark2); font-size: 14px; line-height: 1.6; }
