/**
 * Pickle Hunt WooCommerce
 * Product, cart, checkout and account experience.
 */

:root {
	--ph-shop-cream: #fbf6e9;
	--ph-shop-cream-deep: #f2e8d0;
	--ph-shop-ink: #171410;
	--ph-shop-muted: #625b50;
	--ph-shop-gold: #f5b914;
	--ph-shop-gold-dark: #d89e08;
	--ph-shop-white: #fff;
	--ph-shop-line: #dfd3b8;
	--ph-shop-green: #19733d;
	--ph-shop-red: #c74637;
	--ph-shop-radius: 20px;
	--ph-shop-shadow: 0 18px 48px rgba(23, 20, 16, .1);
}

body.woocommerce-page {
	background: var(--ph-shop-cream);
	color: var(--ph-shop-ink);
}

body.woocommerce-page .site-main {
	max-width: none;
	padding: 0;
}

.ph-commerce {
	padding-bottom: 72px;
	background: var(--ph-shop-cream);
}

.ph-commerce-hero {
	position: relative;
	overflow: hidden;
	padding: 48px 0 44px;
	border-bottom: 2px solid var(--ph-shop-ink);
	background: var(--ph-shop-gold);
}

.ph-commerce-hero::after {
	position: absolute;
	top: -90px;
	right: 5vw;
	width: 310px;
	height: 310px;
	border: 62px solid rgba(255, 255, 255, .24);
	border-radius: 50%;
	content: "";
}

.ph-commerce-hero .container {
	position: relative;
	z-index: 1;
}

.ph-commerce-kicker {
	display: inline-flex;
	padding: 7px 15px;
	border: 2px solid var(--ph-shop-ink);
	border-radius: 999px;
	background: var(--ph-shop-white);
	font: 800 11px/1.2 "Plus Jakarta Sans", sans-serif;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.ph-commerce-hero h1 {
	max-width: 820px;
	margin: 12px 0 7px;
	color: var(--ph-shop-ink);
	font: 800 clamp(2.5rem, 4.6vw, 4.5rem)/1 "Plus Jakarta Sans", sans-serif;
	letter-spacing: -.04em;
	text-transform: uppercase;
}

.ph-commerce-hero p {
	max-width: 650px;
	margin: 0;
	color: rgba(23, 20, 16, .72);
	font: 600 1rem/1.65 "Plus Jakarta Sans", sans-serif;
}

.ph-commerce-content {
	padding-top: 42px;
}

.single-product .ph-commerce-hero {
	display: none;
}

.single-product .ph-commerce-content {
	padding-top: 40px;
}

.woocommerce .ph-commerce-breadcrumb,
.woocommerce-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 28px;
	color: var(--ph-shop-muted);
	font: 700 11px/1.4 "Plus Jakarta Sans", sans-serif;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.woocommerce .ph-commerce-breadcrumb a {
	color: var(--ph-shop-ink);
}

.woocommerce .woocommerce-result-count {
	margin: 13px 0 30px;
	color: var(--ph-shop-muted);
	font-weight: 650;
}

.woocommerce .woocommerce-ordering {
	margin: 0 0 30px;
}

.woocommerce .woocommerce-ordering select,
.woocommerce select,
.woocommerce-page select {
	min-height: 48px;
	padding: 0 42px 0 15px;
	border: 2px solid var(--ph-shop-ink);
	border-radius: 12px;
	background-color: var(--ph-shop-white);
	color: var(--ph-shop-ink);
	font-weight: 700;
}

/* Product archive */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 25px;
	margin: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	display: flex;
	width: auto;
	min-width: 0;
	flex-direction: column;
	float: none;
	margin: 0;
	padding: 16px;
	border: 2px solid var(--ph-shop-ink);
	border-radius: var(--ph-shop-radius);
	background: var(--ph-shop-white);
	box-shadow: 0 9px 0 rgba(23, 20, 16, .09);
	transition: transform .2s ease, box-shadow .2s ease;
}

.woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: 0 13px 0 rgba(23, 20, 16, .11);
}

.woocommerce ul.products li.product a img {
	aspect-ratio: 1 / 1;
	margin: 0 0 20px;
	border-radius: 14px;
	background: var(--ph-shop-cream-deep);
	object-fit: contain;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0;
	color: var(--ph-shop-ink);
	font: 800 1.25rem/1.25 "Outfit", sans-serif;
}

.woocommerce ul.products li.product .price {
	margin: 10px 0 18px;
	color: var(--ph-shop-ink);
	font: 800 1.2rem/1 "Plus Jakarta Sans", sans-serif;
}

.woocommerce ul.products li.product .price del {
	color: #9f968a;
	font-size: .8em;
}

.woocommerce ul.products li.product .price ins {
	text-decoration: none;
}

.woocommerce span.onsale {
	top: 27px;
	left: 27px;
	min-width: 0;
	min-height: 0;
	padding: 8px 12px;
	border: 2px solid var(--ph-shop-ink);
	border-radius: 999px;
	background: var(--ph-shop-gold);
	color: var(--ph-shop-ink);
	font: 900 10px/1 "Plus Jakarta Sans", sans-serif;
	letter-spacing: .06em;
	text-transform: uppercase;
}

/* Buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button,
.wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
	display: inline-flex;
	min-height: 50px;
	align-items: center;
	justify-content: center;
	padding: 13px 22px;
	border: 2px solid var(--ph-shop-ink);
	border-radius: 999px;
	background: var(--ph-shop-ink);
	color: var(--ph-shop-white);
	font: 800 13px/1.25 "Plus Jakarta Sans", sans-serif;
	text-decoration: none;
	box-shadow: 0 6px 0 rgba(23, 20, 16, .15);
	transition: transform .15s ease, box-shadow .15s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.wc-block-components-button:hover {
	background: var(--ph-shop-gold);
	color: var(--ph-shop-ink);
	transform: translateY(-2px);
	box-shadow: 0 8px 0 rgba(23, 20, 16, .15);
}

.woocommerce a.added_to_cart {
	margin: 12px 0 0;
	color: var(--ph-shop-ink);
	font-size: 12px;
	font-weight: 800;
	text-align: center;
	text-decoration: underline;
}

/* Single product */
.woocommerce div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(360px, .98fr);
	gap: clamp(34px, 5vw, 64px);
	align-items: start;
}

.woocommerce div.product::before,
.woocommerce div.product::after {
	display: none;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
	width: auto;
	float: none;
	margin: 0;
}

.woocommerce div.product div.images {
	padding: clamp(18px, 3vw, 30px);
	border: 2px solid var(--ph-shop-ink);
	border-radius: 28px;
	background: var(--ph-shop-cream-deep);
	box-shadow: var(--ph-shop-shadow);
}

.woocommerce div.product div.images img {
	border-radius: 16px;
	object-fit: contain;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image > a {
	display: block;
	width: min(100%, 430px);
	margin: 0 auto;
}

.woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
	margin-top: 14px;
}

.woocommerce div.product div.images .flex-control-thumbs li {
	width: auto;
	float: none;
}

.woocommerce div.product div.images .flex-control-thumbs img {
	border: 2px solid transparent;
	border-radius: 10px;
}

.woocommerce div.product div.images .flex-control-thumbs img.flex-active {
	border-color: var(--ph-shop-gold-dark);
}

.woocommerce div.product .summary {
	position: static;
	padding: 8px 0 0;
}

.woocommerce div.product .product_title {
	max-width: 620px;
	margin: 0 0 16px;
	color: var(--ph-shop-ink);
	font: 800 clamp(2rem, 3.5vw, 3.5rem)/1.02 "Plus Jakarta Sans", sans-serif;
	letter-spacing: -.035em;
	text-transform: uppercase;
}

.woocommerce div.product .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 16px;
}

.woocommerce .star-rating,
.woocommerce .star-rating::before {
	color: var(--ph-shop-gold-dark);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	margin: 18px 0;
	color: var(--ph-shop-ink);
	font: 800 2rem/1 "Plus Jakarta Sans", sans-serif;
}

.woocommerce div.product p.price del {
	color: #a49b8e;
	font-size: .65em;
}

.woocommerce div.product p.price ins {
	text-decoration: none;
}

.woocommerce div.product .woocommerce-product-details__short-description {
	color: var(--ph-shop-muted);
	font-size: 1rem;
	line-height: 1.75;
}

.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 24px 0;
	padding: 17px;
	border: 2px solid var(--ph-shop-ink);
	border-radius: 18px;
	background: var(--ph-shop-white);
}

.woocommerce .quantity .qty {
	width: 76px;
	height: 52px;
	border: 2px solid var(--ph-shop-ink);
	border-radius: 999px;
	background: var(--ph-shop-cream);
	color: var(--ph-shop-ink);
	font-weight: 800;
	text-align: center;
}

.woocommerce div.product form.cart .button {
	flex: 1;
	background: var(--ph-shop-gold);
	color: var(--ph-shop-ink);
}

.woocommerce div.product .product_meta {
	display: grid;
	gap: 8px;
	padding-top: 22px;
	border-top: 1px solid var(--ph-shop-line);
	color: var(--ph-shop-muted);
	font-size: 12px;
}

.woocommerce div.product .product_meta a {
	color: var(--ph-shop-ink);
	font-weight: 750;
}

.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells {
	grid-column: 1 / -1;
}

.woocommerce div.product .woocommerce-tabs {
	margin-top: 28px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 8px;
	margin: 0;
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	border-color: var(--ph-shop-line);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 12px 18px;
	border: 2px solid var(--ph-shop-ink);
	border-radius: 999px;
	color: var(--ph-shop-ink);
	font-size: 12px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	background: var(--ph-shop-gold);
}

.woocommerce div.product .woocommerce-tabs .panel {
	padding: clamp(20px, 2.5vw, 30px);
	border: 2px solid var(--ph-shop-ink);
	border-radius: var(--ph-shop-radius);
	background: var(--ph-shop-white);
}

.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2 {
	color: var(--ph-shop-ink);
	font: 800 clamp(1.65rem, 2.5vw, 2.4rem)/1.08 "Plus Jakarta Sans", sans-serif;
	text-transform: uppercase;
}

.woocommerce .woocommerce-loop-product__title,
.woocommerce .cart_totals h2,
.woocommerce-checkout #order_review_heading,
.woocommerce-account .entry-title,
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.wc-block-components-title,
.wc-block-components-checkout-step__heading h2,
.wc-block-cart__empty-cart__title {
	font-family: "Plus Jakarta Sans", sans-serif !important;
}

/* Notices */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message,
.wc-block-components-notice-banner {
	margin: 0 0 24px;
	padding: 18px 20px 18px 54px;
	border: 2px solid var(--ph-shop-ink);
	border-top: 2px solid var(--ph-shop-ink);
	border-radius: 14px;
	background: var(--ph-shop-white);
	color: var(--ph-shop-ink);
	box-shadow: 0 6px 0 rgba(23, 20, 16, .07);
}

.woocommerce-message,
.wc-block-components-notice-banner.is-success {
	border-left: 8px solid var(--ph-shop-green);
}

.woocommerce-info,
.wc-block-components-notice-banner.is-info {
	border-left: 8px solid var(--ph-shop-gold);
}

.woocommerce-error,
.wc-block-components-notice-banner.is-error {
	border-left: 8px solid var(--ph-shop-red);
}

/* Classic cart */
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main,
.woocommerce-account .site-main {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
	padding: 64px 0 90px;
}

body.woocommerce-cart main#primary.site-main,
body.woocommerce-checkout main#primary.site-main {
	display: flow-root;
	padding-top: clamp(64px, 7vw, 96px) !important;
	padding-bottom: clamp(88px, 9vw, 128px) !important;
}

.woocommerce-cart .page-container.container-narrow,
.woocommerce-checkout .page-container.container-narrow,
.woocommerce-account .page-container.container-narrow {
	width: 100%;
	max-width: none;
}

.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title {
	margin: 0 0 35px;
	color: var(--ph-shop-ink);
	font: 800 clamp(2.8rem, 6vw, 5rem)/1 "Outfit", sans-serif;
	letter-spacing: -.04em;
	text-transform: uppercase;
}

.woocommerce table.shop_table {
	overflow: hidden;
	border: 2px solid var(--ph-shop-ink);
	border-radius: var(--ph-shop-radius);
	background: var(--ph-shop-white);
	border-collapse: separate;
	box-shadow: var(--ph-shop-shadow);
}

.woocommerce table.shop_table th {
	padding: 18px;
	background: var(--ph-shop-ink);
	color: var(--ph-shop-white);
	font-size: 11px;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.woocommerce table.shop_table td {
	padding: 18px;
	border-color: var(--ph-shop-line);
}

.woocommerce-cart table.cart img {
	width: 78px;
	border-radius: 10px;
}

.woocommerce a.remove {
	display: grid;
	width: 30px;
	height: 30px;
	place-items: center;
	border: 1px solid #e1b8b2;
	border-radius: 50%;
	color: var(--ph-shop-red) !important;
}

.woocommerce a.remove:hover {
	background: var(--ph-shop-red);
	color: var(--ph-shop-white) !important;
}

.woocommerce-cart table.cart td.actions .coupon {
	display: flex;
	gap: 8px;
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
	width: 180px;
}

.woocommerce .cart-collaterals {
	margin-top: 34px;
}

.woocommerce .cart-collaterals .cart_totals {
	width: min(100%, 480px);
	padding: 28px;
	border: 2px solid var(--ph-shop-ink);
	border-radius: var(--ph-shop-radius);
	background: var(--ph-shop-white);
	box-shadow: var(--ph-shop-shadow);
}

.woocommerce .cart-collaterals .cart_totals h2 {
	margin-top: 0;
	font: 800 2rem/1 "Outfit", sans-serif;
	text-transform: uppercase;
}

.woocommerce .wc-proceed-to-checkout {
	padding-bottom: 0;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button {
	width: 100%;
	margin: 12px 0 0;
	background: var(--ph-shop-gold);
	color: var(--ph-shop-ink);
	font-size: 15px;
}

/* Forms and checkout */
.woocommerce form .form-row {
	margin: 0 0 17px;
	padding: 0;
}

.woocommerce form .form-row label {
	margin-bottom: 7px;
	color: var(--ph-shop-ink);
	font-size: 12px;
	font-weight: 800;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container--default .select2-selection--single,
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input {
	min-height: 52px;
	padding: 13px 15px;
	border: 2px solid var(--ph-shop-line);
	border-radius: 11px;
	background: var(--ph-shop-white);
	color: var(--ph-shop-ink);
	font: 600 14px/1.4 "Plus Jakarta Sans", sans-serif;
}

.woocommerce form .form-row textarea {
	min-height: 120px;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce .select2-container--open .select2-selection--single,
.wc-block-components-text-input input:focus {
	border-color: var(--ph-shop-gold-dark);
	outline: 3px solid rgba(245, 185, 20, .2);
}

.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
	gap: 34px;
}

.woocommerce-checkout #customer_details {
	grid-row: span 3;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	width: 100%;
	float: none;
	padding: 28px;
	border: 2px solid var(--ph-shop-ink);
	border-radius: var(--ph-shop-radius);
	background: var(--ph-shop-white);
}

.woocommerce-checkout #customer_details .col-2 {
	margin-top: 22px;
}

.woocommerce-checkout form.checkout > h3,
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading {
	grid-column: 2;
}

.woocommerce-checkout #order_review_heading {
	margin: 0;
	padding: 26px 26px 0;
	border: 2px solid var(--ph-shop-ink);
	border-bottom: 0;
	border-radius: var(--ph-shop-radius) var(--ph-shop-radius) 0 0;
	background: var(--ph-shop-white);
	font: 800 1.8rem/1 "Outfit", sans-serif;
	text-transform: uppercase;
}

.woocommerce-checkout #order_review {
	padding: 12px 26px 26px;
	border: 2px solid var(--ph-shop-ink);
	border-top: 0;
	border-radius: 0 0 var(--ph-shop-radius) var(--ph-shop-radius);
	background: var(--ph-shop-white);
	box-shadow: var(--ph-shop-shadow);
}

.woocommerce-checkout #payment {
	background: var(--ph-shop-cream-deep);
}

.woocommerce-checkout #payment ul.payment_methods {
	border-color: var(--ph-shop-line);
}

.woocommerce-checkout #payment div.payment_box {
	border-radius: 10px;
	background: var(--ph-shop-white);
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--ph-shop-white);
}

.woocommerce-checkout #payment #place_order {
	width: 100%;
	background: var(--ph-shop-gold);
	color: var(--ph-shop-ink);
}

/* WooCommerce Cart and Checkout blocks */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	width: 100%;
	max-width: none;
	font-family: "Plus Jakarta Sans", sans-serif;
}

.wc-block-cart,
.wc-block-checkout {
	gap: 28px;
}

.wc-block-components-sidebar-layout {
	width: 100%;
	max-width: none;
	flex-wrap: nowrap;
	align-items: flex-start;
}

.wc-block-components-sidebar-layout .wc-block-components-main {
	width: calc(66.6667% - 18px);
	padding-right: 28px;
}

.wc-block-components-sidebar-layout .wc-block-components-sidebar {
	width: calc(33.3333% - 10px);
	margin-left: 0;
}

.wc-block-components-sidebar,
.wc-block-components-order-summary,
.wc-block-components-totals-wrapper,
.wc-block-checkout__contact-fields,
.wc-block-checkout__shipping-fields,
.wc-block-checkout__billing-fields,
.wc-block-checkout__payment-method,
.wc-block-checkout__order-notes {
	border-color: var(--ph-shop-line) !important;
}

.wc-block-components-sidebar {
	align-self: start;
	padding: 24px !important;
	border: 2px solid var(--ph-shop-ink) !important;
	border-radius: var(--ph-shop-radius);
	background: var(--ph-shop-white);
	box-shadow: var(--ph-shop-shadow);
}

.wc-block-components-product-name {
	color: var(--ph-shop-ink);
	font-weight: 800;
}

.wc-block-components-product-image img {
	border-radius: 11px;
	background: var(--ph-shop-cream-deep);
}

.wc-block-components-title,
.wc-block-components-checkout-step__heading h2 {
	color: var(--ph-shop-ink);
	font-family: "Outfit", sans-serif;
	font-weight: 800;
}

.wc-block-components-checkout-step {
	margin-bottom: 18px;
	padding: 24px !important;
	border: 2px solid var(--ph-shop-ink);
	border-radius: var(--ph-shop-radius);
	background: var(--ph-shop-white);
}

.wc-block-checkout__payment-method {
	position: relative;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.wc-block-checkout__payment-method::before {
	display: none;
	content: none;
}

.wc-block-checkout__payment-method .wc-block-components-checkout-step__container {
	padding: 0;
}

.wc-block-checkout__payment-method .wc-block-components-radio-control {
	overflow: visible;
	border: 2px solid var(--ph-shop-ink);
	border-radius: 14px;
	background: var(--ph-shop-white);
	box-shadow: 0 8px 22px rgba(23, 20, 16, .06);
}

.wc-block-checkout__payment-method .wc-block-components-radio-control__option {
	margin: 0;
	padding: 18px 18px 18px 52px !important;
	border-bottom: 1px solid var(--ph-shop-line);
	background: var(--ph-shop-white);
	transition: background .2s ease, border-color .2s ease;
}

.wc-block-checkout__payment-method .wc-block-components-radio-control__option:last-child {
	border-bottom: 0;
}

.wc-block-checkout__payment-method .wc-block-components-radio-control__option:hover,
.wc-block-checkout__payment-method .wc-block-components-radio-control__option--checked {
	background: #fff8df;
}

.wc-block-checkout__payment-method .wc-block-components-radio-control__label,
.wc-block-checkout__payment-method .wc-block-components-payment-method-label {
	color: var(--ph-shop-ink);
	font-weight: 800;
}

.wc-block-checkout__payment-method .wc-block-components-payment-method-content {
	margin: 0;
	padding: 8px 18px 20px;
	border: 0;
	border-radius: 0 0 12px 12px;
	background: var(--ph-shop-white);
}

.wc-block-checkout__payment-method iframe {
	max-width: 100%;
}

.wc-block-checkout__payment-method input,
.wc-block-checkout__payment-method .StripeElement {
	border: 1px solid var(--ph-shop-line) !important;
	border-radius: 8px !important;
	background: var(--ph-shop-white) !important;
}

.wc-block-components-express-payment {
	margin-bottom: 26px;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.wc-block-components-express-payment__event-buttons {
	gap: 10px;
}

.wc-block-components-express-payment__event-buttons > div,
.wc-block-components-express-payment__event-buttons button {
	overflow: hidden;
	border-radius: 9px !important;
}

.ph-checkout-gateways-loading .wc-block-checkout__payment-method .wc-block-components-notice-banner.is-error {
	display: none;
}

.ph-checkout-gateways-loading .wc-block-checkout__payment-method::after {
	display: flex;
	min-height: 70px;
	align-items: center;
	padding: 0 18px 0 52px;
	border: 2px solid var(--ph-shop-ink);
	border-radius: 12px;
	background:
		linear-gradient(90deg, transparent 0, rgba(255,255,255,.7) 50%, transparent 100%) 0 0 / 200% 100%,
		var(--ph-shop-cream);
	color: var(--ph-shop-muted);
	font: 700 13px/1.5 "Plus Jakarta Sans", sans-serif;
	animation: ph-payment-loading 1.4s linear infinite;
	content: "Loading secure payment options…";
}

@keyframes ph-payment-loading {
	to {
		background-position: -200% 0;
	}
}

.wc-block-cart__submit-container {
	background: transparent;
}

.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background: var(--ph-shop-gold) !important;
	color: var(--ph-shop-ink) !important;
}

.wc-block-cart__empty-cart__title {
	font: 800 clamp(2rem, 5vw, 4rem)/1 "Outfit", sans-serif !important;
	text-transform: uppercase;
}

.wp-block-woocommerce-empty-cart-block {
	padding: clamp(32px, 6vw, 70px);
	border: 2px solid var(--ph-shop-ink);
	border-radius: var(--ph-shop-radius);
	background: var(--ph-shop-white);
	box-shadow: var(--ph-shop-shadow);
	text-align: center;
}

.wp-block-woocommerce-empty-cart-block .with-empty-cart-icon::before {
	display: block;
	width: 88px;
	height: 88px;
	margin: 0 auto 22px;
	color: var(--ph-shop-gold-dark);
	font-size: 88px;
	line-height: 1;
}

.wp-block-woocommerce-empty-cart-block .wp-block-separator {
	width: 80px;
	margin: 32px auto;
	color: var(--ph-shop-gold-dark);
}

.wp-block-woocommerce-empty-cart-block > h2:not(.wc-block-cart__empty-cart__title) {
	margin-bottom: 25px;
	color: var(--ph-shop-ink);
	font: 800 1.8rem/1.1 "Outfit", sans-serif;
	text-transform: uppercase;
}

.wc-block-grid__products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	margin: 0 !important;
}

.wc-block-grid__product {
	max-width: none !important;
	padding: 16px !important;
	border: 2px solid var(--ph-shop-ink) !important;
	border-radius: 16px;
	background: var(--ph-shop-cream);
	text-align: left !important;
}

.wc-block-grid__product-image img {
	width: 100%;
	border-radius: 11px;
	background: var(--ph-shop-cream-deep);
}

.wc-block-grid__product-title {
	margin-top: 14px;
	color: var(--ph-shop-ink);
	font: 800 1rem/1.35 "Outfit", sans-serif;
}

.wc-block-grid__product-price {
	margin: 10px 0;
	color: var(--ph-shop-ink);
	font-weight: 800;
}

.wc-block-grid__product-price ins {
	text-decoration: none;
}

.wc-block-grid__product-add-to-cart .wp-block-button__link {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 11px 18px;
	border: 2px solid var(--ph-shop-ink);
	border-radius: 999px;
	background: var(--ph-shop-ink);
	color: var(--ph-shop-white);
	font-size: 12px;
	font-weight: 800;
}

/* Account */
.woocommerce-account .woocommerce-MyAccount-navigation {
	width: 27%;
	padding: 18px;
	border: 2px solid var(--ph-shop-ink);
	border-radius: var(--ph-shop-radius);
	background: var(--ph-shop-white);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 12px 14px;
	border-radius: 10px;
	font-size: 13px;
	font-weight: 750;
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
	background: var(--ph-shop-gold);
}

.woocommerce-account .woocommerce-MyAccount-content {
	width: 69%;
	padding: 28px;
	border: 2px solid var(--ph-shop-ink);
	border-radius: var(--ph-shop-radius);
	background: var(--ph-shop-white);
}

@media (max-width: 960px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.woocommerce div.product,
	.woocommerce-checkout form.checkout {
		grid-template-columns: 1fr;
	}

	.woocommerce div.product .summary {
		position: static;
	}

	.woocommerce-checkout #customer_details,
	.woocommerce-checkout form.checkout > h3,
	.woocommerce-checkout #order_review,
	.woocommerce-checkout #order_review_heading {
		grid-column: 1;
	}

	.wc-block-components-sidebar-layout {
		flex-wrap: wrap;
		flex-direction: column;
	}

	.wc-block-components-sidebar-layout .wc-block-components-main,
	.wc-block-components-sidebar-layout .wc-block-components-sidebar {
		width: 100% !important;
		padding-right: 0;
	}

	.wc-block-grid__products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.ph-commerce {
		padding-bottom: 65px;
	}

	.ph-commerce-hero {
		padding: 52px 0 46px;
	}

	.ph-commerce-content,
	.woocommerce-cart .site-main,
	.woocommerce-checkout .site-main,
	.woocommerce-account .site-main {
		width: min(100% - 28px, 1180px);
		padding-top: 34px;
	}

	body.woocommerce-cart main#primary.site-main,
	body.woocommerce-checkout main#primary.site-main {
		padding-top: 48px !important;
		padding-bottom: 72px !important;
	}

	.woocommerce ul.products {
		grid-template-columns: 1fr;
	}

	.woocommerce div.product div.images {
		padding: 18px;
	}

	.woocommerce div.product .product_title {
		font-size: 2.6rem;
	}

	.woocommerce div.product form.cart {
		padding: 16px;
	}

	.woocommerce div.product form.cart .button {
		flex-basis: calc(100% - 90px);
	}

	.woocommerce div.product .woocommerce-tabs ul.tabs {
		align-items: stretch;
		flex-direction: column;
	}

	.woocommerce div.product .woocommerce-tabs ul.tabs li a {
		display: block;
		text-align: center;
	}

	.woocommerce table.shop_table_responsive tr td,
	.woocommerce-page table.shop_table_responsive tr td {
		padding: 14px;
	}

	.woocommerce-cart table.cart td.actions .coupon {
		flex-direction: column;
	}

	.woocommerce-cart table.cart td.actions .coupon .input-text,
	.woocommerce-cart table.cart td.actions .coupon .button {
		width: 100%;
	}

	.woocommerce-checkout #customer_details .col-1,
	.woocommerce-checkout #customer_details .col-2,
	.woocommerce-checkout #order_review {
		padding: 20px;
	}

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

	.woocommerce-account .woocommerce-MyAccount-content {
		margin-top: 20px;
	}

	.wc-block-components-sidebar,
	.wc-block-components-checkout-step {
		padding: 18px !important;
	}

	.wc-block-grid__products {
		grid-template-columns: 1fr;
	}
}
