/*
* Amazium (http://www.amazium.co.uk)
* Copyright 2010 - 2025, Mike Ballan
* Licensed under MIT (https://github.com/OwlyStuff/Amazium/blob/master/LICENSE)
*/

/***********************************************
Mobile First - This applies from 0px to 749px
***********************************************/

/***** Base *****/
.section--product 															{ margin-top:40px; }

.product__gallery 															{ display:flex; gap:var(--space-4); padding:var(--space-6); box-shadow:var(--border-default); border-radius:var(--radius-md); }

.product__thumbnails 														{ flex:1; max-width:80px; display:flex; flex-direction:column; gap:var(--space-4); }
.product__thumbnail 														{ width:100%; height:auto; border-radius:var(--radius-md); transition:all 0.2s ease;
	&.is-active 																	{ padding:10px; box-shadow:var(--border-hover); transition:all 0.2s ease; }
}

.reset_variations 															{ margin-left:var(--space-4); }

.product__image 																{ padding:var(--space-12) 0; flex:1; position:relative; overflow:hidden; opacity:1; transition:opacity 0.2s ease; }
.product__image.is-changing 										{ opacity:.15; transition:opacity 0.2s ease; }
.product__image-main 														{ display:block; width:100%; height:auto; }

.product__info 																	{ display:flex; flex-direction:column; gap:var(--space-4);
	
.price__amount,
.woocommerce-Price-amount.amount 								{ font-size:var(--text-md); }
	.variations_form.cart 												{ gap:0; }
	th 																						{ padding:0; }
	td 																						{ margin-bottom:var(--space-4); padding:0; align-items:center; }
	label, .label 																{ flex-direction:row; }
}

.woocommerce .quantity .qty 										{ width:100%; box-shadow:var(--border-default); border-radius:var(--radius-md); }

.woocommerce-variation-add-to-cart 							{ display:flex; align-items:stretch; gap:1rem;
	.quantity 																		{ flex:0 0 90px; }
	.single_add_to_cart_button 										{ flex:1; }
}

.single_variation_wrap 													{ display:flex; flex-direction:column; gap:var(--space-8); }

.price__amount,
.woocommerce-Price-amount.amount 								{ font-size:var(--text-sm); line-height:var(--leading-md); color:var(--color-accent-700); font-weight:bold; }

.single_variation 															{ display:none !important; }

/***** Cart *****/
.cart 																					{ padding:0; list-style:none; display:flex; flex-direction:column; gap:var(--space-8);
	li 																						{ padding-bottom:var(--space-8); display:flex; gap:var(--space-8); border-bottom:1px solid var(--color-ui-500); }
}

/***** Cart Information *****/
.cart__info 																		{ width:100%; display:grid; grid-template-columns:auto 1fr auto; gap:var(--space-2) var(--space-8); grid-template-areas:"cart__image cart__details cart__remove" "cart__image cart__quantity cart__price";
	a 																						{ text-decoration:none; }
	.cart__image 																	{ width:120px; max-width:120px; height:auto; grid-area:cart__image; }
	.cart__details 																{ grid-area:cart__details; }
	.cart__quantity 															{ grid-area:cart__quantity; }
	.cart__price 																	{ display:flex; justify-content:flex-end; grid-area:cart__price; }
	.cart__remove 																{ display:flex; justify-content:flex-end; grid-area:cart__remove;
		a 																					{ color:var(--color-brand-400);
			&:hover 																	{ color:var(--color-negative-500); }
		}
	}
}

/***** Quantity Picker *****/
.quantity-picker 																{ display:flex; align-items:center; gap:var(--space-3);
	.quantity 																		{ margin:0;	}
	.qty 																					{ width:32px; min-width:32px; height:32px; padding:0; text-align:center; box-shadow:var(--border-default); border-radius:var(--radius-md); border:none; font-weight:bold; }
	.qty::-webkit-inner-spin-button,
	.qty::-webkit-outer-spin-button 							{ -webkit-appearance:none; margin:0; }
	.qty 																					{ appearance:textfield; }
}
.quantity-picker__button 												{ width:32px; height:32px; min-width:32px; min-height:32px; display:flex; align-items:center; justify-content:center; border:none; border-radius:50%; background:var(--color-ui-200); color:var(--color-brand-700); cursor:pointer; transition:.2s; }
.quantity-picker__button:hover 									{	background:var(--color-brand-200); }

.screen-reader-text 														{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/***** Message blocks *****/
.woocommerce-notices-wrapper 										{ display:flex; flex-direction:column; gap:var(--space-4); }
.woocommerce-error,
.woocommerce-info,
.woocommerce-message 														{	margin:0; }

.woocommerce-error::after,
.woocommerce-info::after,
.woocommerce-message::after 										{	display:none; }

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before 										{	position:static; }

/***** Title here *****/
.page__details 																	{ display:flex; flex-direction:column; }

/***** Title here *****/
.page__summary,
.cart__summary 																	{ position:sticky; top:90px; }

/***** Title here *****/
.cart__summary,
.checkout__summary--wrapper,
.order-confirmation__next,
.account__sidebar																{ padding:var(--space-8); display:flex; flex-direction:column; gap:var(--space-6); background-color:var(--color-brand-200); border-radius:var(--radius-md); 
	.summary 																			{ padding:0; display:flex; flex-direction:column; gap:var(--space-1); list-style:none; width:100%;
		li 																					{ width:100%; min-height:28px; display:flex; gap:var(--space-4); justify-content:space-between; flex-direction:row; align-items: center; width:100%; }

		.price__amount, 
		.woocommerce-Price-amount.amount 						{ font-size:var(--text-sm); }

		.price 																			{
			.price__amount, 
			.woocommerce-Price-amount.amount 					{ font-weight:normal; color:initial; }
		}

		&.checkout__product-details 								{ gap:0;
			li 																				{ min-height:auto; }
		}
	}
	hr 																						{ margin:1rem 0; }
	.btn 																					{ width:100%; }
}

.checkout__products 														{ display:flex; flex-direction:column; gap:var(--space-3); }

.shipping_address 															{ margin-top:var(--space-12); }

.woocommerce-additional-fields 									{ margin-top:var(--space-4); }

#add_payment_method #payment, 
.woocommerce-cart #payment, 
.woocommerce-checkout #payment 									{ background-color:transparent; }

.checkout__billing,
.checkout__section,

.woocommerce-billing-fields 										{ display:flex; flex-direction:column; gap:var(--space-6); }

.woocommerce-form__label.woocommerce-form__label-for-checkbox.checkbox,
.form-row.woocommerce-SavedPaymentMethods-saveNew.woocommerce-validated { display:flex; flex-direction:row; gap:var(--space-2); }

#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box	{ margin:0; padding:0; background-color:transparent;
	&::before 																		{ display:none; }
}

#place_order {
    width:100%;
    min-height:48px;
}

.woocommerce form .form-row label 							{ line-height:var(--leading-xs); }
.woocommerce table.shop_table 									{ border:none; margin:0; border-radius:0; }
.woocommerce table.shop_table th 								{ padding:0; }
.woocommerce table.shop_table td 								{ padding:0; border:none; }

.checkout-product__image 												{ padding:0 var(--space-2);
	img 																					{ mix-blend-mode: multiply; }
}

.cart_item hr 																	{ margin:1rem 0; }

.delivery-option 																{ margin:0; padding:15px; display:flex; flex-direction:row; gap:var(--space-1); align-items: baseline; background: var(--color-ui-0); box-shadow: var(--border-default); border-radius: var(--radius-md); }
.delivery-option__title 												{ display:flex; flex-direction:column; gap:0; }

.cart__summary .delivery-option 								{ background-color:transparent; box-shadow:none; border:none!important; }

.checkout__delivery 														{ display:flex; flex-direction:column; gap:var(--space-4); }

.woocommerce-checkout #payment ul.payment_methods { padding:0; }

.wc-payment-form 																{ padding:0 !important; max-width:100%; }
#wcpay-upe-element, .wcpay-upe-element 					{ padding:0 !important }
.p-HeightObserverProvider-container 						{ margin:0; }
#add_payment_method #payment div.form-row, 
.woocommerce-cart #payment div.form-row, 
.woocommerce-checkout #payment div.form-row 		{ padding:0; }
.checkout-card.checkout-card--payment,
.woocommerce-checkout-payment,
.wcpay-upe-form,
.form-row.place-order,
.woocommerce-terms-and-conditions-wrapper 			{ display:flex; flex-direction:column; gap:var(--space-4); }

.woocommerce-checkout #payment ul.payment_methods li input { margin:0; }


.thanks-layout__sidebar    											{ margin-left: var(--space-12); }
.woocommerce-order.order-confirmation 					{ display:flex; flex-direction:column; gap:var(--space-8); }
.woocommerce-order-details,
.woocommerce-column--billing-address,
.woocommerce-column--shipping-address						{ display:flex; flex-direction:column; gap:var(--space-4); }

.woocommerce-table__product-name.product-name a { text-decoration:none; }


.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-navigation 							{ width:100%; float:none; }

.account__content    														{ margin-left: var(--space-12); }

/***** WooCommerce form fields → Amazium *****/

.woocommerce-checkout .form-row {
	margin:0 0 var(--space-4);
	padding:0;
	max-width:100%;
	width:100%;
}

.woocommerce-checkout .form-row label {
	margin-bottom:var(--space-2);
}

.woocommerce-checkout .woocommerce-input-wrapper {
	width:100%;
	display:block;
	background:var(--color-ui-0);
	box-shadow:var(--border-default)!important;
	border-radius:var(--radius-md);
	overflow:hidden;
	padding:5px 15px;
	min-height:38px;
	transition:all 0.2s ease;
}

.woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme {
	display: flex;
  gap: 10px;
}

.woocommerce-form-row.woocommerce-form-row--wide.form-row.form-row-wide {
	display: flex;
  gap: 10px;
  flex-direction: column;
}

.woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme {
	margin-bottom:20px;
}

.woocommerce-checkout .woocommerce-input-wrapper:focus-within {
	box-shadow:var(--border-focus);
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select {
	width:100%;
	min-height:38px;
	padding:0;
	border:none;
	background:transparent;
	box-shadow:none;
	font-size:var(--text-sm);
	line-height:var(--leading-sm);
	font-family:inherit;
	color:var(--color-ui-900);
}

.woocommerce-checkout textarea {
	min-height:100px;
	resize:none;
}

/***** Select2 country/state fields *****/

.woocommerce-checkout .select2-container {
	width:100% !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single {
	height:38px;
	border:none;
	background:transparent;
}

.woocommerce-checkout .select2-container--default .select2-selection__rendered {
	padding:0;
	line-height:38px;
	color:var(--color-ui-900);
}

.woocommerce-checkout .select2-container--default .select2-selection__arrow {
	height:38px;
	right:0;
}

/***** Woo validation states *****/

.woocommerce-checkout .form-row.woocommerce-invalid label {
	color:var(--color-negative-500);
}

.woocommerce-checkout .form-row.woocommerce-invalid .woocommerce-input-wrapper {
	box-shadow:var(--border-negative);
}

.woocommerce-checkout .form-row.woocommerce-validated .woocommerce-input-wrapper {
	box-shadow:var(--border-default);
}

.accordion-content[hidden] {
	display: none;
}

.woocommerce-product-details__short-description { display:flex; flex-direction:column; gap:var(--space-4); }

.woocommerce form .form-row 										{ margin:0; padding:0; }
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select 							{ width:100%; min-height:38px; padding:0; border:none; background:transparent; box-shadow:none; font-size:var(--text-sm); line-height:var(--leading-sm); font-family:inherit; color:var(--color-ui-900); }

.woocommerce-billing-fields__field-wrapper 			{ display:flex; flex-direction:column; gap:var(--space-6); }

.form--inline 																	{ display:flex; flex-direction:row; gap:var(--space-6); }
.woocommerce form .form-row-first, 
.woocommerce form .form-row-last, 
.woocommerce-page form .form-row-first, 
.woocommerce-page form .form-row-last						{ width:100%; float:none; }


/***** Accordion *****/
.product-accordion 															{ margin-top:var(--space-6); border-top:1px solid rgba(0,0,0,0.1); }
.accordion-item 																{ border-bottom:1px solid rgba(0,0,0,0.1); }
.accordion-toggle 															{ width:100%; padding:var(--space-3) 0; background:none; border:0; text-align:left; font-weight:600; cursor:pointer; display:flex; justify-content:space-between; }
.accordion-content 															{ display:none; flex-direction:column; padding-bottom:var(--space-4); font-size:0.95rem; line-height:1.6; }
.accordion-item.is-open .accordion-content 			{	display:flex; }

/* Basket summary rows */
.woocommerce-cart ol.summary > li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	gap: var(--space-sm);
}

/* Shipping row needs to stack once WooCommerce adds its full markup */
.woocommerce-cart ol.summary > li:has(.woocommerce-shipping-methods) {
	grid-template-columns: 1fr;
}

/* Shipping content */
.woocommerce-cart ol.summary .price:has(.woocommerce-shipping-methods) {
	display: block;
	width: 100%;
	max-width: none;
	text-align: left;
}

/* Remove list defaults */
.woocommerce-cart ol.summary .woocommerce-shipping-methods {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Shipping option */
.woocommerce-cart ol.summary .delivery-option {
	display: block;
	margin: 0 0 var(--space-sm);
	padding: var(--space-sm);
	border: 1px solid var(--color-ui-200);
	border-radius: var(--radius-md);
}

/* Long shipping text and address */
.woocommerce-cart ol.summary .delivery-option__label,
.woocommerce-cart ol.summary .woocommerce-shipping-destination {
	display: block;
	margin: 0;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

/* Change-address area */
.woocommerce-cart ol.summary .woocommerce-shipping-calculator {
	margin-top: var(--space-sm);
	text-align: left;
}

/* Keep the total amount aligned right */
.woocommerce-cart ol.summary > li:not(:has(.woocommerce-shipping-methods)) > span:last-child {
	text-align: right;
}

.woocommerce-Input.woocommerce-Input--text.input-text { box-shadow: var(--border-default) !important;
    border-radius: var(--radius-md); }

/***********************************************
Tablet - This applies from 750px onwards
***********************************************/
@media (min-width:750px)                        {
	.product__info 																{ padding-left:var(--space-8); }
	.page__details 																{ margin-right:var(--space-12); gap:var(--space-12); }
}
