/* =========================================================
   TAQUERIA LA DONA
   CART + CHECKOUT
========================================================= */

.dona-commerce-page {
	--commerce-dark: #101516;
	--commerce-dark-soft: #171d1d;
	--commerce-cream: #f5f0e7;
	--commerce-white: #fffdf8;
	--commerce-red: #e82f32;
	--commerce-green: #009e55;
	--commerce-green-hover: #008b4b;
	--commerce-yellow: #fdbd17;
	--commerce-text: #242929;
	--commerce-muted: #6c706f;
	--commerce-border: #e6dfd4;

	width: 100%;

	margin: 0;
	padding: 0;

	background: var(--commerce-cream);

	color: var(--commerce-text);

	overflow: hidden;
}


.dona-commerce-page *,
.dona-commerce-page *::before,
.dona-commerce-page *::after {
	box-sizing: border-box;
}


.dona-commerce-shell {
	width: min(
		1180px,
		calc(100% - 34px)
	);

	margin-inline: auto;
}


/* =========================================================
   HERO
========================================================= */

.dona-commerce-hero {
	position: relative;

	padding:
		150px
		0
		75px;

	overflow: hidden;

	background:
		radial-gradient(
			circle at 85% 40%,
			rgb(253 189 23 / 15%),
			transparent 27%
		),
		linear-gradient(
			135deg,
			#0d1112,
			#151b1c
		);

	color: #ffffff;
}


.dona-commerce-hero::before {
	content: "";

	position: absolute;
	inset: 0;

	opacity: 0.13;

	background-image:
		linear-gradient(
			45deg,
			rgb(255 255 255 / 5%) 25%,
			transparent 25%
		),
		linear-gradient(
			-45deg,
			rgb(255 255 255 / 4%) 25%,
			transparent 25%
		);

	background-size:
		65px 65px;

	pointer-events: none;
}


.dona-commerce-hero::after {
	content: "";

	position: absolute;

	width: 270px;
	height: 270px;

	right: -100px;
	bottom: -150px;

	border:
		55px solid
		var(--commerce-green);

	border-radius: 50%;

	opacity: .9;
}


.dona-commerce-hero
.dona-commerce-shell {
	position: relative;

	z-index: 2;
}


.dona-commerce-kicker {
	margin:
		0 0 16px !important;

	color:
		var(--commerce-yellow) !important;

	font-size: 13px !important;

	font-weight: 900 !important;

	letter-spacing: .13em;

	text-transform: uppercase;
}


.dona-commerce-kicker::before {
	content: "";

	display: inline-block;

	width: 30px;
	height: 2px;

	margin-right: 12px;

	vertical-align: middle;

	background:
		var(--commerce-red);
}


.dona-commerce-hero h1 {
	max-width: 750px;

	margin: 0 !important;

	color: #ffffff !important;

	font-size:
		clamp(
			3.4rem,
			7vw,
			6.6rem
		) !important;

	font-weight: 900 !important;

	line-height: .86 !important;

	letter-spacing: -.04em;

	text-transform: uppercase;
}


.dona-commerce-hero h1 span {
	display: block;

	color:
		var(--commerce-yellow);
}


.dona-commerce-hero
.dona-commerce-shell > p:last-child {
	max-width: 540px;

	margin:
		25px 0 0 !important;

	color:
		rgb(255 255 255 / 72%) !important;

	font-size: 17px !important;

	line-height: 1.7 !important;
}


/* =========================================================
   CONTENT
========================================================= */

.dona-commerce-content {
	position: relative;

	padding:
		70px
		0
		100px;

	background:
		var(--commerce-cream);
}


.dona-commerce-content
.dona-commerce-shell {
	position: relative;
}


/* =========================================================
   WOO BLOCKS - GENERAL
========================================================= */

.dona-commerce-page
.wc-block-cart,

.dona-commerce-page
.wc-block-checkout {
	margin: 0 !important;

	font-family:
		Arial,
		Helvetica,
		sans-serif;
}


.dona-commerce-page
.wc-block-cart__main,

.dona-commerce-page
.wc-block-cart__sidebar,

.dona-commerce-page
.wc-block-checkout__main,

.dona-commerce-page
.wc-block-checkout__sidebar {
	border-radius: 20px;
}


.dona-commerce-page
.wc-block-cart__main,

.dona-commerce-page
.wc-block-checkout__main {
	padding: 30px !important;

	background: #ffffff;

	box-shadow:
		0 18px 55px
		rgb(20 25 25 / 6%);
}


.dona-commerce-page
.wc-block-cart__sidebar,

.dona-commerce-page
.wc-block-checkout__sidebar {
	align-self: flex-start;

	padding: 28px !important;

	background: #ffffff;

	border:
		1px solid
		var(--commerce-border);

	box-shadow:
		0 18px 55px
		rgb(20 25 25 / 7%);
}


/* =========================================================
   TITLES
========================================================= */

.dona-commerce-page
h1,

.dona-commerce-page
h2,

.dona-commerce-page
h3,

.dona-commerce-page
.wc-block-components-title {
	color:
		var(--commerce-dark);
}


.dona-commerce-page
.wc-block-components-checkout-step__heading h2,

.dona-commerce-page
.wc-block-components-sidebar-layout
h2 {
	font-weight: 800 !important;
}


/* Cart page title generated by Woo */

.dona-commerce-page
.wc-block-cart h2,

.dona-commerce-page
.wc-block-checkout h2 {
	letter-spacing: -.02em;
}


/* =========================================================
   PRODUCT ROWS
========================================================= */

.dona-commerce-page
.wc-block-cart-items__row {
	border-color:
		var(--commerce-border) !important;
}


.dona-commerce-page
.wc-block-cart-item__product {
	padding-left: 15px;
}


.dona-commerce-page
.wc-block-components-product-name {
	color:
		var(--commerce-dark) !important;

	font-weight: 800 !important;

	text-decoration: none !important;
}


.dona-commerce-page
.wc-block-components-product-name:hover {
	color:
		var(--commerce-green) !important;
}


.dona-commerce-page
.wc-block-cart-item__image img,

.dona-commerce-page
.wc-block-components-order-summary-item__image img {
	border-radius: 12px;

	object-fit: cover;
}


/* =========================================================
   PRICE
========================================================= */

.dona-commerce-page
.wc-block-components-product-price,

.dona-commerce-page
.wc-block-components-totals-item__value,

.dona-commerce-page
.wc-block-formatted-money-amount {
	color:
		var(--commerce-dark);

	font-weight: 700;
}


/* =========================================================
   QUANTITY
========================================================= */

.dona-commerce-page
.wc-block-components-quantity-selector {
	min-height: 46px;

	border:
		1px solid
		#d9d4cb !important;

	border-radius: 9px !important;

	background:
		#ffffff;
}


.dona-commerce-page
.wc-block-components-quantity-selector
input {
	font-weight: 700;
}


.dona-commerce-page
.wc-block-components-quantity-selector
button {
	color:
		var(--commerce-dark) !important;
}


/* =========================================================
   REMOVE BUTTON
========================================================= */

.dona-commerce-page
.wc-block-cart-item__remove-link {
	color:
		var(--commerce-red) !important;

	font-weight: 700;

	text-decoration: none !important;
}


/* =========================================================
   TOTALS
========================================================= */

.dona-commerce-page
.wc-block-components-totals-wrapper {
	border-color:
		var(--commerce-border) !important;
}


.dona-commerce-page
.wc-block-components-totals-item {
	padding-block: 18px;
}


.dona-commerce-page
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__label,

.dona-commerce-page
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__value {
	color:
		var(--commerce-dark);

	font-size: 21px;

	font-weight: 900;
}


/* =========================================================
   BUTTONS
========================================================= */

.dona-commerce-page
.wc-block-components-button,

.dona-commerce-page
.wc-block-cart__submit-button,

.dona-commerce-page
.wc-block-components-checkout-place-order-button {
	min-height: 58px;

	border: 0 !important;

	border-radius: 10px !important;

	background:
		var(--commerce-green) !important;

	color:
		#ffffff !important;

	font-weight: 900 !important;

	text-decoration: none !important;

	box-shadow:
		0 13px 30px
		rgb(0 158 85 / 20%);

	transition:
		transform 180ms ease,
		background-color 180ms ease,
		box-shadow 180ms ease;
}


.dona-commerce-page
.wc-block-components-button:hover,

.dona-commerce-page
.wc-block-cart__submit-button:hover,

.dona-commerce-page
.wc-block-components-checkout-place-order-button:hover {
	background:
		var(--commerce-green-hover) !important;

	color:
		#ffffff !important;

	transform:
		translateY(-2px);

	box-shadow:
		0 17px 35px
		rgb(0 158 85 / 25%);
}


/* =========================================================
   COUPON
========================================================= */

.dona-commerce-page
.wc-block-components-totals-coupon__button {
	background:
		var(--commerce-dark) !important;

	box-shadow: none;
}


.dona-commerce-page
.wc-block-components-panel__button {
	color:
		var(--commerce-dark) !important;

	font-weight: 700;
}


/* =========================================================
   CHECKOUT FIELDS
========================================================= */

.dona-commerce-page
.wc-block-components-text-input
input,

.dona-commerce-page
.wc-block-components-combobox
input,

.dona-commerce-page
.wc-block-components-address-form
input,

.dona-commerce-page
.wc-block-components-address-form
select,

.dona-commerce-page
.wc-block-components-select
select {
	min-height: 56px !important;

	border:
		1px solid
		#cfc9bf !important;

	border-radius: 9px !important;

	background:
		#ffffff !important;

	color:
		var(--commerce-dark) !important;

	box-shadow: none !important;

	transition:
		border-color 180ms ease,
		box-shadow 180ms ease;
}


.dona-commerce-page
.wc-block-components-text-input
input:focus,

.dona-commerce-page
.wc-block-components-combobox
input:focus,

.dona-commerce-page
.wc-block-components-address-form
input:focus,

.dona-commerce-page
.wc-block-components-address-form
select:focus {
	border-color:
		var(--commerce-green) !important;

	box-shadow:
		0 0 0 3px
		rgb(0 158 85 / 10%) !important;

	outline: none !important;
}


/* Labels */

.dona-commerce-page
.wc-block-components-text-input
label,

.dona-commerce-page
.wc-block-components-input-row
label {
	color:
		var(--commerce-muted);
}


/* =========================================================
   CHECKOUT STEPS
========================================================= */

.dona-commerce-page
.wc-block-components-checkout-step {
	margin-bottom: 38px;
}


.dona-commerce-page
.wc-block-components-checkout-step__heading {
	margin-bottom: 18px;
}


.dona-commerce-page
.wc-block-components-checkout-step__title {
	color:
		var(--commerce-dark);

	font-size: 22px !important;

	font-weight: 900 !important;
}


/* =========================================================
   PAYMENT
========================================================= */

.dona-commerce-page
.wc-block-checkout__payment-method
.wc-block-components-radio-control {
	overflow: hidden;

	border:
		1px solid
		var(--commerce-border);

	border-radius: 12px;

	background: #ffffff;
}


.dona-commerce-page
.wc-block-components-radio-control__option {
	padding:
		18px !important;

	border-bottom:
		1px solid
		var(--commerce-border);
}


.dona-commerce-page
.wc-block-components-radio-control__option:last-child {
	border-bottom: 0;
}


.dona-commerce-page
.wc-block-components-radio-control__input:checked {
	border-color:
		var(--commerce-green) !important;
}


/* =========================================================
   ORDER SUMMARY
========================================================= */

.dona-commerce-page
.wc-block-components-order-summary {
	color:
		var(--commerce-dark);
}


.dona-commerce-page
.wc-block-components-order-summary-item {
	padding-block: 16px;

	border-color:
		var(--commerce-border) !important;
}


.dona-commerce-page
.wc-block-components-order-summary-item__description {
	padding-left: 12px;
}


/* =========================================================
   EMPTY CART
========================================================= */

.dona-commerce-page
.wp-block-woocommerce-empty-cart-block {
	padding:
		60px 20px;

	text-align: center;
}


.dona-commerce-page
.wp-block-woocommerce-empty-cart-block
h2 {
	color:
		var(--commerce-dark) !important;
}


/* =========================================================
   CLASSIC WOOCOMMERCE FALLBACK
========================================================= */

.dona-commerce-page
.woocommerce-cart-form,

.dona-commerce-page
.cart_totals,

.dona-commerce-page
.woocommerce-checkout-review-order,

.dona-commerce-page
.woocommerce-billing-fields,

.dona-commerce-page
.woocommerce-additional-fields {
	padding: 28px;

	border-radius: 18px;

	background: #ffffff;

	box-shadow:
		0 18px 50px
		rgb(0 0 0 / 6%);
}


.dona-commerce-page
.woocommerce
table.shop_table {
	border:
		1px solid
		var(--commerce-border);

	border-radius: 12px;

	background: #ffffff;
}


.dona-commerce-page
.woocommerce
button.button,

.dona-commerce-page
.woocommerce
a.button,

.dona-commerce-page
.woocommerce
#payment
#place_order,

.dona-commerce-page
.woocommerce
.checkout-button {
	border-radius: 10px !important;

	background:
		var(--commerce-green) !important;

	color: #ffffff !important;

	font-weight: 800 !important;
}


/* =========================================================
   FOOTER SEPARATION
========================================================= */

.dona-commerce-page
+ .dona-footer {
	margin-top: 0;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

	.dona-commerce-hero {
		padding:
			125px
			0
			60px;
	}


	.dona-commerce-content {
		padding:
			45px
			0
			75px;
	}


	.dona-commerce-page
	.wc-block-cart__main,

	.dona-commerce-page
	.wc-block-checkout__main,

	.dona-commerce-page
	.wc-block-cart__sidebar,

	.dona-commerce-page
	.wc-block-checkout__sidebar {
		padding: 22px !important;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

	.dona-commerce-shell {
		width:
			calc(
				100% - 24px
			);
	}


	.dona-commerce-hero {
		padding:
			105px
			0
			48px;
	}


	.dona-commerce-hero h1 {
		font-size:
			clamp(
				3.2rem,
				17vw,
				5rem
			) !important;
	}


	.dona-commerce-hero
	.dona-commerce-shell > p:last-child {
		margin-top:
			19px !important;

		font-size:
			15px !important;
	}


	.dona-commerce-content {
		padding:
			28px
			0
			65px;
	}


	.dona-commerce-page
	.wc-block-cart__main,

	.dona-commerce-page
	.wc-block-checkout__main,

	.dona-commerce-page
	.wc-block-cart__sidebar,

	.dona-commerce-page
	.wc-block-checkout__sidebar {
		padding:
			18px !important;

		border-radius:
			15px;
	}


	/* Product image */

	.dona-commerce-page
	.wc-block-cart-item__image {
		width: 75px;
	}


	/* Checkout fields */

	.dona-commerce-page
	.wc-block-components-text-input
	input,

	.dona-commerce-page
	.wc-block-components-address-form
	input,

	.dona-commerce-page
	.wc-block-components-address-form
	select {
		min-height:
			54px !important;
	}


	/* Button */

	.dona-commerce-page
	.wc-block-components-button,

	.dona-commerce-page
	.wc-block-cart__submit-button,

	.dona-commerce-page
	.wc-block-components-checkout-place-order-button {
		min-height:
			56px;
	}

}