/**

 * FAOSA WooCommerce bridge — maps WC markup to source design system.

 */



/* Shop archive */

body.page-shop .ss-main.page-inner,
body.page-cart .ss-main.page-inner,
body.page-checkout .ss-main.page-inner,
body.page-account .ss-main.page-inner,
body.page-utility .ss-main.page-inner {

	max-width: none;

	width: 100%;

	margin: 0;

	padding: 0;

}



body.page-cart .utility-hero,
body.page-checkout .utility-hero,
body.page-account .utility-hero,
body.page-utility .utility-hero {

	width: 100%;

}



body.page-cart .utility-hero__title,
body.page-cart .utility-hero .home-hero__headline {

	color: var(--color-cream);

}



.page-inner .shop-grid {

	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 2rem;

	align-items: stretch;

}



.page-inner .shop-grid .shop-card {

	display: flex;

	flex-direction: column;

	height: 100%;

	width: auto !important;

	float: none !important;

	margin: 0 !important;

}



.page-inner .shop-card__hero {

	margin-bottom: 1.25rem;

}



.page-inner .shop-card__img {

	display: flex;

	align-items: center;

	justify-content: center;

	min-height: 280px;

}



.page-inner .shop-card__info {

	flex: 1 1 auto;

}



.page-inner .shop-card__actions {

	margin-top: auto;

	padding-top: 0.25rem;

}



.page-inner .shop-grid .shop-card .button,

.page-inner .shop-grid .shop-card .added_to_cart {

	display: inline-flex;

	align-items: center;

	justify-content: center;

	text-decoration: none;

}



.page-inner .shop-grid .shop-card .added_to_cart {

	margin-top: 0.5rem;

	font-size: 0.8rem;

	color: var(--color-primary);

}



.page-inner .shop-grid .shop-card__img img {

	width: 100%;

	height: auto;

	display: block;

	background: rgba(255, 255, 255, 0.82);

	border: 1px solid rgba(107, 107, 0, 0.14);

	border-radius: 2px;

	padding: 1rem;

}



@media (max-width: 575px) {

	.page-inner .shop-grid {

		grid-template-columns: 1fr;

	}

}



/* Product page */

body.page-product .ss-main.page-inner,
body.single-product .ss-main.page-product {

	max-width: none;

	width: 100%;

	margin: 0;

	padding: 0;

}



body.page-product .product-page-hero .container,
body.page-product .product-story-specs,
body.page-product .product-also-like .container {

	width: 100%;

}



.page-product .woocommerce-notices-wrapper,
.page-product .product-qty__notices {

	margin: 1rem 0 0;

	width: 100%;

	clear: both;

}



.page-product .product-qty__notices:empty {

	display: none;

	margin: 0;

}



.page-product .product-qty__notices .woocommerce-message,
.page-product .product-qty__notices .woocommerce-info,
.page-product .product-qty__notices .woocommerce-error {

	display: flex;

	flex-wrap: wrap;

	align-items: center;

	gap: 0.75rem 1rem;

	margin: 0;

	padding: 0.75rem 1rem;

	border-radius: 2px;

	border: 1px solid rgba(200, 168, 75, 0.35);

	border-top: 1px solid rgba(200, 168, 75, 0.35);

	font-size: 0.9rem;

	line-height: 1.45;

	background: rgba(43, 38, 32, 0.95);

	color: var(--color-cream);

	position: static;

	width: 100%;

}



.page-product .product-qty__notices .woocommerce-message::before,
.page-product .product-qty__notices .woocommerce-info::before,
.page-product .product-qty__notices .woocommerce-error::before {

	display: none;

	content: none;

}



.page-product .product-qty__notices .woocommerce-message {

	border-color: rgba(107, 107, 0, 0.55);

}



.page-product .product-qty__notices .woocommerce-message a,
.page-product .product-qty__notices .woocommerce-info a,
.page-product .product-qty__notices .woocommerce-error a {

	color: var(--color-accent);

}



.page-product .product-qty__notices .woocommerce-message .button,
.page-product .product-qty__notices .woocommerce-info .button,
.page-product .product-qty__notices .woocommerce-error .button {

	float: none;

	flex-shrink: 0;

	margin: 0 0 0 auto;

}



body.page-product .product-page-hero .container,
body.page-product .product-page-hero .container-xxl {

	max-width: min(1400px, calc(100% - 2.5rem));

}



body.page-product .product-story-specs .container,
body.page-product .product-also-like .container {

	max-width: min(1400px, calc(100% - 2.5rem));

}



/* Undo WooCommerce float layout inside our product grid */

body.page-product div.product div.images,
body.page-product div.product .woocommerce-product-gallery,
body.page-product div.product div.summary,
body.page-product div.product .product-detail__info,
body.page-product div.product .product-detail__gallery {

	float: none !important;

	width: 100% !important;

	max-width: none !important;

	margin: 0 !important;

}



body.page-product .product-detail__gallery,
body.page-product .product-detail__info {

	min-width: 0;

}



body.page-product .product-detail__main .woocommerce-product-gallery__wrapper,
body.page-product .product-detail__main .woocommerce-product-gallery__image,
body.page-product .product-detail__main .woocommerce-product-gallery__image img {

	width: 100%;

}



body.page-product .product-detail__main .woocommerce-product-gallery__image img {

	display: block;

	height: auto;

	max-height: none;

}



body.page-product .product-detail__info .product-detail__desc {

	max-width: none;

	font-size: clamp(0.95rem, 1.1vw, 1.05rem);

	line-height: 1.65;

}



.page-product .product-detail .woocommerce-product-gallery {

	width: 100%;

}



.page-product .product-detail__main .woocommerce-product-gallery__wrapper,

.page-product .product-detail__main .woocommerce-product-gallery__image {

	width: 100%;

}



.page-product .product-detail__main .flex-control-thumbs {

	margin-top: 0.75rem;

	list-style: none;

	padding: 0;

}



.page-product .product-detail__main .flex-control-thumbs img {

	width: 100%;

	height: auto;

	object-fit: cover;

	border: 1px solid rgba(200, 168, 75, 0.2);

}



.page-product .product-detail__info,
.page-product .product-qty {

	text-align: left;

}



/* Stack purchase form vertically (override source .product-qty flex row) */

.page-product .product-qty {

	display: flex;

	flex-direction: column;

	align-items: stretch;

	gap: 0;

	width: 100%;

	margin-bottom: 1.25rem;

}



.page-product .product-qty .variations_form,
.page-product .product-qty .cart {

	display: flex;

	flex-direction: column;

	align-items: stretch;

	width: 100%;

	margin: 0;

}



.page-product .product-qty .cart:not(.variations_form) {

	gap: 0;

}



.page-product .product-purchase-qty {

	width: 100%;

	margin: 0 0 1rem;

}



.page-product .product-purchase-qty .quantity,
.page-product .product-qty .cart:not(.variations_form) .quantity {

	display: flex;

	flex-direction: column;

	align-items: stretch;

	gap: 0.4rem;

	width: 100%;

	margin: 0 0 1rem;

}



.page-product .product-qty .single_variation_wrap {

	width: 100%;

	margin: 0;

}



.page-product .product-qty .single_variation:empty {

	display: none;

	margin: 0;

	padding: 0;

}



.page-product .product-qty .variations_button {

	display: block;

	width: 100%;

	margin: 0;

}



.page-product .product-qty .variations_button .single_add_to_cart_button {

	display: inline-flex;

}



.page-product .product-qty .cart:not(.variations_form) .single_add_to_cart_button {

	display: inline-flex;

	margin-top: 0.25rem;

}



.page-product .product-qty table.variations {

	width: 100%;

	margin: 0 0 1rem;

	border: none;

	border-collapse: collapse;

}



.page-product .product-qty table.variations tr {

	display: block;

	margin-bottom: 1rem;

}



.page-product .product-qty table.variations th,
.page-product .product-qty table.variations td {

	display: block;

	padding: 0;

	border: none;

	text-align: left;

	background: transparent;

}



.page-product .product-qty table.variations th.label label {

	display: block;

	font-family: var(--font-body);

	font-size: 0.85rem;

	font-weight: 600;

	text-transform: uppercase;

	letter-spacing: 0.08em;

	color: var(--color-cream-muted);

	margin-bottom: 0.4rem;

}



.page-product .product-qty table.variations select,
.page-product .product-qty .variations_form select {

	width: 100%;

	min-width: 0;

	padding: 0.65rem 2.5rem 0.65rem 0.85rem;

	border: 1px solid rgba(200, 168, 75, 0.35);

	border-radius: 2px;

	color: var(--color-cream);

	font-family: var(--font-body);

	font-size: 0.95rem;

	line-height: 1.4;

	cursor: pointer;

	color-scheme: dark;

	appearance: none;

	-webkit-appearance: none;

	-moz-appearance: none;

	position: relative;

	z-index: 1;

	/* Solid fill under chevron so section watermark never shows through */

	background-color: #2b2620;

	background-image:

		linear-gradient(#2b2620, #2b2620),

		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1.5 7 7.5 13 1.5' stroke='%236b6b00' stroke-width='2.2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

	background-repeat: no-repeat, no-repeat;

	background-position: 0 0, right 0.85rem center;

	background-size: 100% 100%, 14px 9px;

}



/* WooCommerce + product form focus */

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.page-product .product-qty .quantity input.qty:focus {

	border-color: var(--color-accent);

	box-shadow: var(--faosa-focus-ring, 0 0 0 3px rgba(200, 168, 75, 0.35));

	outline: none;

}



.page-product .product-qty table.variations select:focus,
.page-product .product-qty .variations_form select:focus {

	outline: none;

	border-color: var(--color-accent);

	box-shadow: var(--faosa-focus-ring, 0 0 0 3px rgba(200, 168, 75, 0.35));

}



.page-product .product-qty table.variations select option,
.page-product .product-qty .variations_form select option {

	background-color: #2b2620;

	color: var(--color-cream);

}



.page-product .product-qty table.variations td.value {

	background-color: #2b2620;

	border-radius: 2px;

}



.page-product .product-qty a.reset_variations,
.page-product .product-qty .woocommerce-variation-availability,
.page-product .product-qty .stock {

	display: none !important;

}



.page-product .product-qty .woocommerce-variation-price {

	display: none !important;

}



.page-product .product-qty .quantity,
.page-product .product-purchase-qty .quantity {

	display: flex;

	flex-direction: column;

	align-items: flex-start;

	gap: 0.4rem;

	width: 100%;

}



.page-product .product-qty .quantity label,
.page-product .product-qty .quantity .product-qty__label {

	font-family: var(--font-body);

	font-size: 0.85rem;

	text-transform: uppercase;

	letter-spacing: 0.08em;

	color: var(--color-cream-muted);

	margin: 0;

}



.page-product .product-qty .quantity input.qty,
.page-product .product-qty .quantity .qty,
.page-product .product-purchase-qty input.qty {

	display: block;

	width: 100%;

	max-width: 8rem;

	padding: 0.5rem;

	background: #2b2620;

	border: 1px solid rgba(200, 168, 75, 0.35);

	color: var(--color-cream);

	font-family: var(--font-body);

	-moz-appearance: textfield;

	appearance: textfield;

}



.page-product .product-qty-stepper {

	display: inline-flex;

	align-items: stretch;

	width: 100%;

	max-width: 10rem;

	border-radius: 2px;

}



.page-product .product-qty-stepper:focus-within {

	box-shadow: var(--faosa-focus-ring, 0 0 0 3px rgba(200, 168, 75, 0.35));

}



.page-product .product-qty-stepper__btn {

	flex: 0 0 2.5rem;

	display: inline-flex;

	align-items: center;

	justify-content: center;

	padding: 0;

	border: 1px solid rgba(200, 168, 75, 0.35);

	background: #2b2620;

	color: var(--color-cream);

	font-family: var(--font-body);

	font-size: 1.1rem;

	line-height: 1;

	cursor: pointer;

	transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;

}



.page-product .product-qty-stepper__btn--minus {

	border-radius: 2px 0 0 2px;

	border-right: none;

}



.page-product .product-qty-stepper__btn--plus {

	border-radius: 0 2px 2px 0;

	border-left: none;

}



.page-product .product-qty-stepper__btn:hover:not(:disabled),
.page-product .product-qty-stepper__btn:focus-visible:not(:disabled) {

	border-color: var(--color-accent);

	background: rgba(200, 168, 75, 0.12);

	color: var(--color-accent);

	outline: none;

}



.page-product .product-qty-stepper__btn:disabled {

	opacity: 0.35;

	cursor: not-allowed;

}



.page-product .product-qty-stepper input.qty {

	flex: 1 1 auto;

	width: auto;

	min-width: 0;

	max-width: none;

	margin: 0;

	padding: 0.65rem 0.35rem;

	border-radius: 0;

	border-left: none;

	border-right: none;

	text-align: center;

	font-size: 0.95rem;

	line-height: 1.4;

}



.page-product .product-qty .quantity input.qty::-webkit-outer-spin-button,
.page-product .product-qty .quantity input.qty::-webkit-inner-spin-button,
.page-product .product-purchase-qty input.qty::-webkit-outer-spin-button,
.page-product .product-purchase-qty input.qty::-webkit-inner-spin-button {

	-webkit-appearance: none;

	margin: 0;

}



body.page-product .product-qty .single_add_to_cart_button,
body.page-product .product-qty button.single_add_to_cart_button,
body.page-product .woocommerce .product-qty .single_add_to_cart_button,
body.page-product .woocommerce .product-qty button.single_add_to_cart_button {

	margin: 0;

	margin-left: 0;

	margin-right: auto;

	align-self: flex-start;

	opacity: 1 !important;

	background: var(--color-primary) !important;

	background-color: var(--color-primary) !important;

	color: var(--color-cream) !important;

}



body.page-product .product-qty .single_add_to_cart_button:hover,
body.page-product .product-qty button.single_add_to_cart_button:hover {

	background: var(--color-primary-dark) !important;

	background-color: var(--color-primary-dark) !important;

	color: var(--color-cream) !important;

	opacity: 1 !important;

}



body.page-product .product-qty .single_add_to_cart_button.disabled,
body.page-product .product-qty .single_add_to_cart_button:disabled,
body.page-product .product-qty button.single_add_to_cart_button.disabled,
body.page-product .product-qty button.single_add_to_cart_button:disabled,
body.page-product .woocommerce .product-qty .single_add_to_cart_button.disabled,
body.page-product .woocommerce .product-qty .single_add_to_cart_button:disabled,
body.page-product .woocommerce .product-qty button.single_add_to_cart_button.disabled,
body.page-product .woocommerce .product-qty button.single_add_to_cart_button:disabled {

	opacity: 1 !important;

	background: var(--color-primary) !important;

	background-color: var(--color-primary) !important;

	color: var(--color-cream) !important;

	cursor: not-allowed;

}



body.page-product .product-qty .single_add_to_cart_button.btn-faosa::before {

	display: none;

}



.page-product .product-detail__info .product_title,

.page-product .product-detail__info .price {

	display: block;

}



.page-product .product-detail__price,
.page-product .product-detail__price .woocommerce-Price-amount,
.page-product .product-detail__price ins,
.page-product .product-detail__price del,
.page-product .product-detail__price bdi {

	color: var(--color-accent);

}



.page-product .product-detail__info .price .woocommerce-Price-amount {

	color: inherit;

}



/* Cart */

body.page-cart .cart-section.section--light {

	background-color: var(--color-light);

	background-image: url("data:image/svg+xml,%3Csvg width='4' height='4' viewBox='0 0 4 4' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 4L4 0' stroke='%23b8a86a' stroke-width='0.3' opacity='0.18'/%3E%3C/svg%3E");

	background-repeat: repeat;

}



.cart-section .cart-layout {

	display: grid;

	grid-template-columns: 1fr;

	gap: 2rem;

	align-items: start;

}



.cart-section .cart-main {

	background: rgba(255, 255, 255, 0.55);

	border: 1px solid rgba(42, 35, 24, 0.1);

	border-radius: 2px;

	padding: 1.25rem 1.5rem 1.5rem;

}



.cart-section .cart-collaterals {

	min-width: 0;

}



.cart-section .cart-collaterals .cart_totals {

	width: 100%;

	float: none;

	margin: 0;

}



.cart-section .cart-table {

	width: 100%;

	border-collapse: collapse;

	font-family: var(--font-body);

	font-size: 0.9rem;

}



.cart-section .cart-table th,
.cart-section .cart-table td {

	padding: 1rem 0.75rem;

	border-bottom: 1px solid rgba(42, 35, 24, 0.1);

	text-align: left;

	color: var(--color-text-muted);

}



.cart-section .cart-table th {

	font-size: 0.7rem;

	text-transform: uppercase;

	letter-spacing: 0.12em;

	color: var(--color-primary);

	font-weight: 600;

}



.cart-section .cart-table .product-name,
.cart-section .cart-table .product-name a {

	font-family: var(--font-heading);

	font-size: 1.05rem;

	color: var(--color-text);

	text-decoration: none;

}



.cart-section .cart-table .product-name a:hover {

	color: var(--color-primary);

}



.cart-section .cart-table .variation,
.cart-section .cart-table dl.variation {

	font-family: var(--font-body);

	font-size: 0.8rem;

	color: var(--color-text-muted);

	margin-top: 0.35rem;

}



.cart-section .cart-table .product-price {

	display: none;

}



.cart-section .cart-item {

	display: flex;

	align-items: flex-start;

	gap: 1rem;

}



.cart-section .cart-item__thumb {

	flex: 0 0 88px;

	display: block;

	text-decoration: none;

}



.cart-section .cart-item__thumb img {

	display: block;

	width: 88px;

	height: auto;

	background: rgba(255, 255, 255, 0.82);

	border: 1px solid rgba(107, 107, 0, 0.14);

	border-radius: 2px;

	padding: 0.35rem;

}



.cart-section .cart-item__details {

	flex: 1 1 auto;

	min-width: 0;

}



.cart-section .cart-table .quantity .qty {

	max-width: 72px;

	padding: 0.45rem 0.5rem;

	border: 1px solid rgba(107, 107, 0, 0.14);

	border-radius: 2px;

	background: rgba(255, 255, 255, 0.82);

	color: var(--color-text);

}



.cart-section .cart-qty-display {

	display: inline-flex;

	align-items: center;

	justify-content: center;

	min-width: 2rem;

	font-family: var(--font-body);

	font-size: 0.95rem;

	font-weight: 500;

	color: var(--color-text);

}



.cart-section .cart-remove {

	color: var(--color-accent-warm);

	font-size: 0.8rem;

	text-decoration: none;

}



.cart-section .cart-remove:hover {

	color: var(--color-accent);

}



.cart-section .cart-coupon {

	margin-top: 1.5rem;

	padding-top: 1.25rem;

	border-top: 1px solid rgba(42, 35, 24, 0.08);

}



.cart-section .cart-coupon__label {

	display: block;

	margin-bottom: 0.5rem;

	font-family: var(--font-body);

	font-size: 0.75rem;

	font-weight: 600;

	text-transform: uppercase;

	letter-spacing: 0.12em;

	color: var(--color-primary);

}



.cart-section .cart-coupon__row {

	display: flex;

	flex-wrap: wrap;

	gap: 0.75rem;

	align-items: stretch;

}



.cart-section .cart-coupon__input {

	flex: 1 1 12rem;

	min-width: 0;

	padding: 0.75rem 0.85rem;

	border: 1px solid rgba(107, 107, 0, 0.35);

	border-radius: 2px;

	background: rgba(255, 255, 255, 0.82);

	color: var(--color-text);

	font-family: var(--font-body);

}



.cart-section .cart-coupon__input:focus {

	border-color: var(--color-accent);

	box-shadow: var(--faosa-focus-ring, 0 0 0 3px rgba(200, 168, 75, 0.35));

	outline: none;

}



.cart-section .cart-coupon__button {

	flex: 0 0 auto;

}



.cart-section .cart-coupon__button:hover,
.cart-section .cart-coupon__button:focus {

	background: transparent !important;

	border-color: var(--color-primary) !important;

	color: var(--color-cream) !important;

}



.cart-section .cart-actions {

	display: flex;

	flex-wrap: wrap;

	gap: 0.75rem;

	margin-top: 1.5rem;

}



.cart-section .cart-actions a.btn-faosa,
.cart-section .cart-actions a.btn-faosa:hover,
.cart-section .cart-actions a.btn-faosa:focus {

	text-decoration: none !important;

	position: relative;

	overflow: hidden;

	z-index: 1;

}



.cart-section .cart-actions .btn-faosa.btn-faosa-primary {

	background: var(--color-primary) !important;

	border: 2px solid var(--color-primary) !important;

	color: var(--color-cream) !important;

	box-shadow: none !important;

}



.cart-section .cart-actions .btn-faosa.btn-faosa-primary:hover,
.cart-section .cart-actions .btn-faosa.btn-faosa-primary:focus {

	background: transparent !important;

	border-color: var(--color-primary) !important;

	color: var(--color-dark) !important;

}



.cart-section .cart-actions .btn-faosa.btn-faosa-outline {

	background: transparent !important;

	border: 2px solid var(--color-primary) !important;

	color: var(--color-primary) !important;

	box-shadow: none !important;

}



.cart-section .cart-actions .btn-faosa.btn-faosa-outline:hover,
.cart-section .cart-actions .btn-faosa.btn-faosa-outline:focus {

	background: transparent !important;

	border-color: var(--color-primary) !important;

	color: var(--color-cream) !important;

}



.cart-section .cart_totals.order-summary,
.cart-section .order-summary {

	background: var(--color-light-warm);

	border: 1px solid rgba(42, 35, 24, 0.1);

	border-radius: 2px;

	padding: 1.5rem;

}



.cart-section .cart_totals h3,
.cart-section .order-summary h3 {

	font-family: var(--font-heading);

	font-size: 1.25rem;

	color: var(--color-text);

	margin: 0 0 1rem;

}



.cart-section .order-summary__row {

	display: flex;

	justify-content: space-between;

	gap: 1rem;

	padding: 0.5rem 0;

	font-size: 0.9rem;

	color: var(--color-text-muted);

	border-bottom: 1px solid rgba(42, 35, 24, 0.08);

}



.cart-section .order-summary__row--total,
.cart-section .order-summary__row.order-total {

	font-weight: 600;

	color: var(--color-text);

	border-bottom: none;

	padding-top: 0.75rem;

	margin-top: 0.25rem;

}



.cart-section .cart-empty {

	text-align: center;

	padding: 4rem 1rem;

	color: var(--color-text-muted);

}



.cart-section .cart-empty--faosa {

	max-width: 36rem;

	margin: 0 auto;

	padding: 2.5rem 1rem 0;

}



.cart-section .cart-empty__icon {

	display: flex;

	align-items: center;

	justify-content: center;

	width: 4.5rem;

	height: 4.5rem;

	margin: 0 auto 1.25rem;

	border: 1px solid rgba(107, 107, 0, 0.22);

	border-radius: 50%;

	background: rgba(107, 107, 0, 0.06);

	color: var(--color-primary);

}



.cart-section .cart-empty__icon--warning {

	border-color: rgba(200, 168, 75, 0.45);

	background: rgba(200, 168, 75, 0.12);

	color: var(--color-accent-warm);

}



.cart-section .cart-empty__icon .bi {

	font-size: 2rem;

	line-height: 1;

}



.cart-section .cart-empty__icon--warning .bi {

	font-size: 1.85rem;

}



.cart-section .with-empty-cart-icon::before,
.cart-section .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {

	display: none !important;

	content: none !important;

}



.cart-section .cart-empty-showcase__divider {

	border: none;

	height: 3px;

	margin: 1.5rem 0 2.75rem;

	background: linear-gradient(

		90deg,

		transparent 0%,

		rgba(107, 107, 0, 0.22) 12%,

		rgba(107, 107, 0, 0.5) 50%,

		rgba(107, 107, 0, 0.22) 88%,

		transparent 100%

	);

}



.cart-section .cart-empty__lead {

	font-family: var(--font-heading);

	font-size: clamp(1.35rem, 2.5vw, 1.75rem);

	color: var(--color-text);

	margin: 0 0 0.65rem;

}



.cart-section .cart-empty__hint {

	font-family: var(--font-body);

	font-size: 0.95rem;

	color: var(--color-text-muted);

	margin: 0;

}



.cart-section .cart-empty-showcase {

	margin-top: 0.5rem;

	padding-top: 2.5rem;

	border-top: 1px solid rgba(42, 35, 24, 0.08);

}



.cart-section .cart-empty-showcase--minimal {

	margin-top: 2.5rem;

	padding-top: 0;

	border-top: none;

}



.cart-section .cart-empty-showcase--minimal .cart-empty-showcase__divider {

	margin-top: 0;

}



.cart-section .cart-empty-showcase--minimal .shop-grid__header {

	margin-bottom: 2rem;

}



.cart-section .cart-empty-showcase .shop-card__actions .btn-faosa {

	width: 100%;

	justify-content: center;

}



.cart-section .cart_totals .wc-proceed-to-checkout {

	display: none;

}



.cart-section .woocommerce-cart-form button[name="update_cart"] {

	position: absolute;

	width: 1px;

	height: 1px;

	padding: 0;

	margin: -1px;

	overflow: hidden;

	clip: rect(0, 0, 0, 0);

	white-space: nowrap;

	border: 0;

}



/* WooCommerce block cart — match FAOSA template colors */

.cart-section .wp-block-post-title,
.cart-section .entry-title,
.cart-section .woocommerce > h1:first-child {

	display: none;

}



.cart-section .wp-block-woocommerce-cart,
.cart-section .wc-block-cart {

	color: var(--color-text);

}



.cart-section .wc-block-components-product-name,
.cart-section .wc-block-components-product-name a {

	font-family: var(--font-heading);

	color: var(--color-text);

	text-decoration: none;

}



.cart-section .wc-block-components-product-name a:hover {

	color: var(--color-primary);

}



.cart-section .wc-block-components-product-price__value,
.cart-section .wc-block-components-product-metadata {

	color: var(--color-text-muted);

	font-size: 0.85rem;

}



.cart-section .wc-block-cart-items__header th,
.cart-section .wc-block-components-totals-item:not(.wc-block-components-totals-footer-item) .wc-block-components-totals-item__label,
.cart-section .wc-block-components-panel__button {

	font-size: 0.7rem;

	text-transform: uppercase;

	letter-spacing: 0.12em;

	color: var(--color-primary);

	font-weight: 600;

	font-family: var(--font-body);

}



.cart-section .wc-block-cart__totals-title {

	font-family: var(--font-body);

	font-size: 0.7rem;

	text-transform: uppercase;

	letter-spacing: 0.12em;

	color: var(--color-primary);

	font-weight: 600;

	margin: 0 0 1rem;

}



.cart-section .wc-block-cart-items__row,
.cart-section .wc-block-components-totals-wrapper {

	border-color: rgba(42, 35, 24, 0.1);

}



.cart-section .wc-block-components-quantity-selector {

	border: 1px solid rgba(107, 107, 0, 0.14);

	border-radius: 2px;

	background: rgba(255, 255, 255, 0.82);

}



.cart-section .wc-block-components-quantity-selector__input,
.cart-section .wc-block-components-quantity-selector__button {

	color: var(--color-text);

	background: transparent;

}



.cart-section .wc-block-cart__sidebar .wc-block-components-totals-wrapper,
.cart-section .wc-block-components-sidebar-layout .wc-block-components-totals-wrapper {

	background: var(--color-light-warm);

	border: 1px solid rgba(42, 35, 24, 0.1);

	border-radius: 2px;

	padding: 1.5rem;

}



.cart-section .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {

	font-family: var(--font-body);

	font-size: 0.95rem;

	font-weight: 600;

	letter-spacing: normal;

	text-transform: none;

	color: var(--color-text);

}



.cart-section .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {

	font-family: var(--font-heading);

	font-size: 1.35rem;

	font-weight: 400;

	letter-spacing: normal;

	text-transform: none;

	color: var(--color-text);

}



.cart-section .wc-block-cart__submit-container .wc-block-components-button,
.cart-section .wc-block-cart__submit-button {

	background: var(--color-primary) !important;

	border: none !important;

	border-radius: 2px !important;

	color: var(--color-cream) !important;

	font-family: var(--font-body) !important;

	font-size: 0.85rem !important;

	font-weight: 600 !important;

	letter-spacing: 0.08em !important;

	text-transform: uppercase !important;

	text-decoration: none !important;

	padding: 0.85rem 1.5rem !important;

}



.cart-section .wc-block-cart__submit-container .wc-block-components-button:hover,
.cart-section .wc-block-cart__submit-button:hover {

	background: var(--color-primary-dark) !important;

	color: var(--color-cream) !important;

	text-decoration: none !important;

}



.cart-section .wc-block-components-product-metadata__description-item {

	color: var(--color-text-muted);

}



.cart-section .cart-actions a.btn-faosa,
.cart-section .cart-actions a.btn-faosa:hover,
.cart-section .cart-actions a.btn-faosa:focus,
.checkout-section-wrap a.btn-faosa,
.checkout-section-wrap a.btn-faosa:hover,
.checkout-section-wrap a.btn-faosa:focus,
.checkout-section-wrap #place_order,
.checkout-section-wrap #place_order:hover,
.checkout-section-wrap #place_order:focus,
.checkout-section-wrap .wc-block-components-checkout-place-order-button,
.checkout-section-wrap .wc-block-components-checkout-place-order-button:hover,
.checkout-section-wrap .wc-block-components-checkout-place-order-button:focus {

	text-decoration: none !important;

}



.cart-section .wc-block-components-totals-coupon__form .wc-block-components-text-input input,
.cart-section .wc-block-components-totals-coupon__input input,
.cart-section .wc-block-components-totals-coupon .wc-block-components-text-input input,
.checkout-section-wrap .wc-block-components-totals-coupon__form .wc-block-components-text-input input,
.checkout-section-wrap .wc-block-components-totals-coupon__input input,
.checkout-section-wrap .wc-block-components-totals-coupon .wc-block-components-text-input input,
.checkout-section-wrap .woocommerce-form-coupon input.input-text,
.checkout-section-wrap .checkout_coupon input.input-text {

	border: 1px solid rgba(107, 107, 0, 0.35) !important;

	border-radius: 2px !important;

	background: rgba(255, 255, 255, 0.82) !important;

	color: var(--color-text) !important;

	box-shadow: none !important;

	font-family: var(--font-body) !important;

}



.cart-section .wc-block-components-totals-coupon__form .wc-block-components-text-input input:focus,
.cart-section .wc-block-components-totals-coupon__input input:focus,
.cart-section .wc-block-components-totals-coupon .wc-block-components-text-input input:focus,
.checkout-section-wrap .wc-block-components-totals-coupon__form .wc-block-components-text-input input:focus,
.checkout-section-wrap .wc-block-components-totals-coupon__input input:focus,
.checkout-section-wrap .wc-block-components-totals-coupon .wc-block-components-text-input input:focus,
.checkout-section-wrap .woocommerce-form-coupon input.input-text:focus,
.checkout-section-wrap .checkout_coupon input.input-text:focus {

	border-color: var(--color-accent) !important;

	box-shadow: var(--faosa-focus-ring, 0 0 0 3px rgba(200, 168, 75, 0.35)) !important;

	outline: none !important;

}



.cart-section .wc-block-components-totals-coupon__button,
.cart-section .wc-block-components-totals-coupon .wc-block-components-button,
.checkout-section-wrap .wc-block-components-totals-coupon__button,
.checkout-section-wrap .wc-block-components-totals-coupon .wc-block-components-button,
.checkout-section-wrap .woocommerce-form-coupon button[name="apply_coupon"] {

	background: var(--color-primary) !important;

	border: 1px solid var(--color-primary) !important;

	border-radius: 2px !important;

	color: var(--color-cream) !important;

	font-family: var(--font-body) !important;

	font-size: 0.75rem !important;

	font-weight: 600 !important;

	letter-spacing: 0.08em !important;

	text-transform: uppercase !important;

	text-decoration: none !important;

	box-shadow: none !important;

}



.cart-section .wc-block-components-totals-coupon__button:hover,
.cart-section .wc-block-components-totals-coupon .wc-block-components-button:hover,
.checkout-section-wrap .wc-block-components-totals-coupon__button:hover,
.checkout-section-wrap .wc-block-components-totals-coupon .wc-block-components-button:hover,
.checkout-section-wrap .woocommerce-form-coupon button[name="apply_coupon"]:hover {

	background: var(--color-primary-dark) !important;

	border-color: var(--color-primary-dark) !important;

	color: var(--color-cream) !important;

	text-decoration: none !important;

}



.cart-section .wc-block-components-totals-coupon .wc-block-components-panel__button,
.checkout-section-wrap .wc-block-components-totals-coupon .wc-block-components-panel__button {

	color: var(--color-primary);

}



/* Checkout */

.checkout-section-wrap form.checkout.checkout-layout {

	display: grid;

	grid-template-columns: 1fr;

	gap: 2rem;

	align-items: start;

}



.checkout-section-wrap .checkout-main {

	min-width: 0;

}



.checkout-section-wrap #customer_details .col-1,

.checkout-section-wrap #customer_details .col-2 {

	width: 100%;

	float: none;

}



.checkout-section-wrap .woocommerce-billing-fields > h3:not(.checkout-section h3),

.checkout-section-wrap .woocommerce-shipping-fields > h3:not(#ship-to-different-address-heading):not(.ship-to-different-address-toggle) {

	display: none;

}



.checkout-section-wrap .ship-to-different-address-toggle {

	font-size: 0.85rem;

	font-weight: 400;

	text-transform: none;

	letter-spacing: normal;

	margin-bottom: 1rem;

}



.checkout-section-wrap .woocommerce-checkout-review-order-table,

.checkout-section-wrap .woocommerce-checkout-review-order-table thead,

.checkout-section-wrap .woocommerce-checkout-review-order-table tbody,

.checkout-section-wrap .woocommerce-checkout-review-order-table tfoot {

	display: none;

}



.checkout-section-wrap .woocommerce-form__label,

.checkout-section-wrap .form-row label {

	display: block;

	font-family: var(--font-body);

	font-size: 0.75rem;

	font-weight: 600;

	text-transform: uppercase;

	letter-spacing: 0.08em;

	margin-bottom: 0.35rem;

}



.checkout-section-wrap .form-row input.input-text,

.checkout-section-wrap .form-row select,

.checkout-section-wrap .form-row textarea {

	width: 100%;

	border: 1px solid rgba(107, 107, 0, 0.35);

	border-radius: 2px;

	background: rgba(255, 255, 255, 0.82);

	color: var(--color-text);

}



.checkout-section-wrap .form-row input.input-text:focus,

.checkout-section-wrap .form-row select:focus,

.checkout-section-wrap .form-row textarea:focus {

	border-color: var(--color-accent);

	box-shadow: var(--faosa-focus-ring, 0 0 0 3px rgba(200, 168, 75, 0.35));

	outline: none;

}



.checkout-section-wrap .wc-block-components-text-input input,

.checkout-section-wrap .wc-blocks-components-select .wc-blocks-components-select__select,

.checkout-section-wrap .wc-blocks-components-select .wc-blocks-components-select__container,

.checkout-section-wrap .wc-block-components-combobox .components-combobox-control__input,

.checkout-section-wrap .wc-block-components-combobox-control .components-custom-select-control__button,

.checkout-section-wrap .wc-block-components-combobox-control .components-combobox-control__input,

.checkout-section-wrap .wc-block-components-combobox-control .components-form-token-field__input-container,

.checkout-section-wrap .wc-block-components-select .components-custom-select-control__button {

	border: 1px solid rgba(107, 107, 0, 0.35) !important;

	border-radius: 2px !important;

	background: rgba(255, 255, 255, 0.82) !important;

	color: var(--color-text) !important;

	box-shadow: none !important;

}



.checkout-section-wrap .wc-block-components-text-input input:focus,

.checkout-section-wrap .wc-blocks-components-select .wc-blocks-components-select__select:focus,

.checkout-section-wrap .wc-blocks-components-select .wc-blocks-components-select__container:focus-within,

.checkout-section-wrap .wc-block-components-combobox .components-combobox-control__input:focus,

.checkout-section-wrap .wc-block-components-combobox-control .components-custom-select-control__button:focus,

.checkout-section-wrap .wc-block-components-combobox-control .components-combobox-control__input:focus,

.checkout-section-wrap .wc-block-components-combobox-control .components-form-token-field__input-container:focus-within,

.checkout-section-wrap .wc-block-components-select .components-custom-select-control__button:focus {

	border-color: var(--color-accent) !important;

	box-shadow: var(--faosa-focus-ring, 0 0 0 3px rgba(200, 168, 75, 0.35)) !important;

	outline: none !important;

}



.checkout-section-wrap .wc-block-checkout__guest-checkout-notice {

	display: none !important;

}



.checkout-section-wrap #place_order {

	width: 100%;

	background: var(--color-primary) !important;

	border: none !important;

	border-radius: 2px !important;

	color: var(--color-cream) !important;

	font-family: var(--font-body) !important;

	font-size: 0.85rem !important;

	font-weight: 600 !important;

	letter-spacing: 0.08em !important;

	text-transform: uppercase !important;

	text-decoration: none !important;

}



.checkout-section-wrap #place_order:hover {

	background: var(--color-primary-dark) !important;

	color: var(--color-cream) !important;

	text-decoration: none !important;

}



.checkout-section-wrap .wc-block-components-checkout-place-order-button {

	background: var(--color-primary) !important;

	border: none !important;

	border-radius: 2px !important;

	color: var(--color-cream) !important;

	font-family: var(--font-body) !important;

	font-size: 0.85rem !important;

	font-weight: 600 !important;

	letter-spacing: 0.08em !important;

	text-transform: uppercase !important;

	text-decoration: none !important;

}



.checkout-section-wrap #payment .wc_payment_methods {

	list-style: none;

	padding: 0;

	margin: 0 0 1rem;

}



.checkout-section-wrap #payment .place-order {

	margin-top: 1rem;

}

.checkout-section-wrap .woocommerce-error,

.checkout-section-wrap .woocommerce-info,

.checkout-section-wrap .woocommerce-message {

	grid-column: 1 / -1;

}



.page-product .product-detail {

	display: grid;

	grid-template-columns: 1fr;

	gap: 2.5rem;

}



@media (min-width: 768px) {

	.page-product .product-detail {

		grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);

		gap: 3rem;

		align-items: start;

	}



	.page-product .product-story-specs {

		grid-template-columns: 1fr 1fr;

		gap: 3rem;

	}

}



@media (min-width: 1200px) {

	.page-product .product-detail {

		grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);

		gap: 4rem;

	}

}



@media (min-width: 768px) {

	.cart-section .cart-layout,

	.checkout-section-wrap form.checkout.checkout-layout {

		grid-template-columns: 1.4fr 0.6fr;

	}

}


