/* ==========================================================================
   WooCommerce mapping — turns native WooCommerce markup into the Heirloom
   Artisan design. Relies on the CSS variables defined in shop.css.
   ========================================================================== */

.woocommerce,
.woocommerce-page {
	color: var(--hcs-text);
	font-family: var(--hcs-sans);
}

.woocommerce h1,
.woocommerce h2,
.woocommerce h3 {
	font-family: var(--hcs-serif);
	color: var(--hcs-ink);
}

.hcs-woo {
	padding-top: 30px;
	padding-bottom: 64px;
}

/* --------------------------------------------------------------------------
   Notices
   -------------------------------------------------------------------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border: 1px solid var(--hcs-border);
	border-left-width: 4px;
	background: #fff;
	border-radius: var(--hcs-radius-sm);
	padding: 14px 18px;
	margin: 0 0 22px;
	box-shadow: var(--hcs-shadow-sm);
	list-style: none;
}

.woocommerce-message { border-left-color: var(--hcs-green); }
.woocommerce-info { border-left-color: var(--hcs-gold); }
.woocommerce-error { border-left-color: var(--hcs-red); background: #fdf3f3; }

.woocommerce .hcs-ship-warning {
	border-left-color: var(--hcs-gold);
	background: #fdf8ec;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
	height: auto;
	padding: 8px 16px;
	border-radius: 8px;
	background: var(--hcs-red);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	margin-left: 10px;
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover { background: var(--hcs-red-dark); color: #fff; }

/* --------------------------------------------------------------------------
   Breadcrumb
   -------------------------------------------------------------------------- */
.woocommerce .woocommerce-breadcrumb {
	font-size: 13px;
	color: var(--hcs-text-light);
	margin: 0 0 22px;
	padding: 0;
}

.woocommerce .woocommerce-breadcrumb a { color: var(--hcs-gold-dark); }

/* --------------------------------------------------------------------------
   Product grids (shop, related, upsells)
   -------------------------------------------------------------------------- */
.woocommerce ul.products {
	list-style: none;
	display: grid;
	gap: 24px;
	padding: 0;
	margin: 0 0 26px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	clear: both;
}

.woocommerce ul.products.columns-1 { grid-template-columns: 1fr; }
.woocommerce ul.products.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.woocommerce ul.products.columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.woocommerce ul.products.columns-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.woocommerce ul.products li.hcs-product-card {
	margin: 0;
	padding: 0;
	position: relative;
	text-align: left;
	width: auto;
	min-height: 0;
	float: none;
	border-radius: var(--hcs-radius);
	background: #fff;
	overflow: hidden;
	box-shadow: var(--hcs-shadow-sm);
	display: flex;
	flex-direction: column;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.woocommerce ul.products li.hcs-product-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--hcs-shadow);
}

/* Loop price */
.hcs-price .price {
	color: var(--hcs-red);
	font-weight: 700;
	font-size: 15px;
}

.hcs-price del { color: var(--hcs-text-light); font-weight: 400; margin-right: 6px; }
.hcs-price del .amount { color: var(--hcs-text-light); }
.hcs-price ins { background: none; color: var(--hcs-red); text-decoration: none; font-weight: 700; }

/* Loop add-to-cart button mapped to the store button */
.hcs-product-card .button,
.hcs-product-card a.added_to_cart {
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 14px;
	border-radius: 8px;
	background: var(--hcs-red);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	border: 1px solid var(--hcs-red);
	transition: background 0.2s ease;
	line-height: 1;
	white-space: nowrap;
}

.hcs-product-card .button:hover { background: var(--hcs-red-dark); color: #fff; }
.hcs-product-card .button.loading { opacity: 0.65; }

.related.products,
.upsells.products { margin-top: 58px; }

.related > h2,
.upsells > h2 {
	font-size: 24px;
	margin: 0 0 24px;
}

/* --------------------------------------------------------------------------
   Single product
   -------------------------------------------------------------------------- */
.single-product div.product {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 54px;
	margin-top: 6px;
}

.woocommerce-product-gallery { position: relative; }

.woocommerce-product-gallery__image {
	margin-bottom: 16px;
	border-radius: var(--hcs-radius);
	overflow: hidden;
	background: #f6f3ee;
}

.woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--hcs-radius);
}

.woocommerce-product-gallery .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-product-gallery .flex-control-thumbs img {
	border-radius: 8px;
	cursor: pointer;
	border: 2px solid transparent;
	width: 100%;
}

.woocommerce-product-gallery .flex-control-thumbs img.flex-active { border-color: var(--hcs-red); }

.summary h1.product_title {
	font-size: 32px;
	line-height: 1.2;
	margin: 0 0 14px;
	color: var(--hcs-ink);
}

.summary .woocommerce-product-rating { margin-bottom: 14px; }

.summary .price {
	display: block;
	color: var(--hcs-red);
	font-size: 28px;
	font-weight: 700;
	margin: 0 0 18px;
}

.summary .price del { color: var(--hcs-text-light); font-weight: 400; margin-right: 10px; }
.summary .price ins { background: none; color: var(--hcs-red); font-weight: 700; }

.summary .woocommerce-product-details__short-description {
	color: var(--hcs-text-light);
	line-height: 1.75;
	margin-bottom: 8px;
}

.stock { font-weight: 600; }
.stock.in-stock { color: var(--hcs-green); }
.stock.out-of-stock { color: var(--hcs-red); }

.woocommerce span.onsale {
	position: absolute;
	top: 14px;
	left: 14px;
	min-height: 0;
	min-width: 0;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--hcs-gold);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	z-index: 9;
	margin: 0;
}

.single-product form.cart {
	display: flex;
	gap: 12px;
	align-items: center;
	margin: 22px 0;
	flex-wrap: wrap;
}

.quantity {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	border: 1px solid var(--hcs-border);
	border-radius: var(--hcs-radius-sm);
	overflow: hidden;
}

.quantity .qty {
	width: 52px;
	min-width: 52px;
	flex: 0 0 52px;
	height: 48px;
	border: 0;
	text-align: center;
	font-size: 15px;
	font-weight: 600;
	background: #fff;
	-moz-appearance: textfield;
	appearance: textfield;
	margin: 0;
}

/* Hide the native number spinners so they never overlap the number; the
   explicit −/+ buttons (added by shop.js) sit outside the number instead. */
.quantity .qty::-webkit-outer-spin-button,
.quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Enhanced stepper: [ − ] [ number ] [ + ] */
.quantity.hcs-qty-stepper {
	background: #fff;
}
.quantity.hcs-qty-stepper .hcs-qty-btn {
	width: 38px;
	flex: 0 0 38px;
	height: 48px;
	border: 0;
	background: transparent;
	color: var(--hcs-ink);
	font-size: 20px;
	line-height: 1;
	font-weight: 600;
	cursor: pointer;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	user-select: none;
	transition: background .15s ease, color .15s ease;
}
.quantity.hcs-qty-stepper .hcs-qty-btn:hover {
	background: var(--hcs-gold);
	color: #fff;
}
.quantity.hcs-qty-stepper .hcs-qty-btn:active {
	background: var(--hcs-gold-dark);
	color: #fff;
}
.quantity.hcs-qty-stepper .qty {
	border-left: 1px solid var(--hcs-border);
	border-right: 1px solid var(--hcs-border);
	border-radius: 0;
}

.single-product .single_add_to_cart_button {
	height: 50px;
	padding: 0 30px;
	border-radius: var(--hcs-radius-sm);
	background: var(--hcs-red);
	color: #fff;
	font-weight: 600;
	font-size: 15px;
	border: 1px solid var(--hcs-red);
	cursor: pointer;
}

.single-product .single_add_to_cart_button:hover { background: var(--hcs-red-dark); color: #fff; }

.product_meta {
	font-size: 13px;
	color: var(--hcs-text-light);
	border-top: 1px solid var(--hcs-border);
	padding-top: 16px;
	margin-top: 24px;
}

.product_meta a { color: var(--hcs-red); }

/* Tabs */
.woocommerce-tabs { margin-top: 52px; }

.woocommerce-tabs ul.tabs {
	display: flex;
	gap: 2px;
	list-style: none;
	padding: 0;
	margin: 0;
	border-bottom: 2px solid var(--hcs-border);
}

.woocommerce-tabs ul.tabs li {
	margin: 0;
	border: 1px solid transparent;
	border-radius: 10px 10px 0 0;
	background: transparent;
	padding: 0;
	position: relative;
}

.woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 12px 22px;
	font-weight: 600;
	font-size: 14px;
	color: var(--hcs-text-light);
}

.woocommerce-tabs ul.tabs li.active {
	background: #faf7f2;
	border-color: var(--hcs-border);
	border-bottom-color: #faf7f2;
}

.woocommerce-tabs ul.tabs li.active a { color: var(--hcs-red); }

.woocommerce-tabs .woocommerce-Tabs-panel { padding: 24px 2px; }
.woocommerce-tabs .panel h2 { font-size: 22px; margin: 0 0 12px; }
.woocommerce-tabs table.shop_attributes { width: 100%; border-collapse: collapse; }
.woocommerce-tabs table.shop_attributes th,
.woocommerce-tabs table.shop_attributes td {
	padding: 10px 12px;
	border-bottom: 1px solid var(--hcs-border);
	text-align: left;
	font-size: 14px;
}

/* --------------------------------------------------------------------------
   Shop toolbar / ordering / pagination
   -------------------------------------------------------------------------- */
.hcs-shop-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 24px;
	flex-wrap: wrap;
}

.woocommerce .woocommerce-result-count {
	color: var(--hcs-text-light);
	font-size: 13px;
	margin: 0;
}

.woocommerce .woocommerce-ordering { margin: 0; }

.woocommerce .woocommerce-ordering select {
	height: 42px;
	padding: 0 30px 0 12px;
	border: 1px solid var(--hcs-border);
	border-radius: 8px;
	background: #fff;
	font-size: 13px;
	font-weight: 500;
	min-width: 190px;
}

.hcs-mobile-filters {
	display: none;
	height: 40px;
	padding: 0 16px;
	border: 1px solid var(--hcs-border);
	border-radius: 8px;
	background: #fff;
	font-weight: 600;
	cursor: pointer;
}

.woocommerce nav.woocommerce-pagination ul {
	display: inline-flex;
	gap: 6px;
	border: 0;
	padding: 0;
	margin: 26px 0 0;
	list-style: none;
}

.woocommerce nav.woocommerce-pagination li { border: 0; margin: 0; }

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 10px;
	border: 1px solid var(--hcs-border);
	border-radius: 8px;
	background: #fff;
	color: var(--hcs-ink);
	font-weight: 600;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--hcs-red);
	color: #fff;
	border-color: var(--hcs-red);
}

/* --------------------------------------------------------------------------
   Forms / fields
   -------------------------------------------------------------------------- */
.woocommerce form .form-row { margin: 0 0 16px; }

.woocommerce label {
	font-weight: 600;
	font-size: 13px;
	color: var(--hcs-ink);
	display: block;
	margin-bottom: 7px;
}

.woocommerce .input-text,
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="password"],
.woocommerce input[type="number"],
.woocommerce select,
.woocommerce textarea {
	width: 100%;
	height: 46px;
	padding: 0 14px;
	border: 1px solid var(--hcs-border);
	border-radius: var(--hcs-radius-sm);
	background: #fff;
	font-size: 14px;
	color: var(--hcs-ink);
}

.woocommerce textarea { height: auto; padding: 12px 14px; min-height: 120px; }

.woocommerce input:focus,
.woocommerce select:focus,
.woocommerce textarea:focus {
	outline: none;
	border-color: var(--hcs-gold);
	box-shadow: 0 0 0 3px rgba(166, 134, 46, 0.12);
}

.select2-container--default .select2-selection--single {
	height: 46px;
	border: 1px solid var(--hcs-border);
	border-radius: var(--hcs-radius-sm);
}

.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 46px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 44px; }

/* Star rating */
.woocommerce .star-rating { color: var(--hcs-gold); }
.woocommerce .star-rating::before { color: #d8d2c7; }
.woocommerce .star-rating span { color: var(--hcs-gold); }

/* --------------------------------------------------------------------------
   Cart page
   -------------------------------------------------------------------------- */
.woocommerce table.shop_table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border-radius: var(--hcs-radius);
	overflow: hidden;
	box-shadow: var(--hcs-shadow-sm);
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: 16px;
	text-align: left;
	border-bottom: 1px solid var(--hcs-border);
	vertical-align: middle;
}

.woocommerce table.shop_table th {
	background: #faf7f2;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--hcs-text-light);
}

.woocommerce table.cart img { border-radius: 8px; }
.woocommerce a.remove { color: var(--hcs-red) !important; font-size: 22px; }

.woocommerce .coupon .input-text {
	height: 44px;
	width: 150px;
	display: inline-block;
	margin-right: 6px;
}

.woocommerce td.actions .button {
	height: 44px;
	padding: 0 18px;
	border-radius: 8px;
	background: var(--hcs-ink);
	color: #fff;
	font-weight: 600;
}

.cart_totals h2,
.cross-sells > h2 { font-size: 22px; }

.woocommerce .cart_totals {
	background: #fff;
	border-radius: var(--hcs-radius);
	box-shadow: var(--hcs-shadow-sm);
	padding: 24px;
}

.woocommerce .cart_totals table { box-shadow: none; border-radius: 0; }
.woocommerce .cart_totals th,
.woocommerce .cart_totals td { padding: 12px 4px; }

.woocommerce .wc-proceed-to-checkout { padding: 0; margin-top: 16px; }

.woocommerce .checkout-button,
.wc-proceed-to-checkout a.checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	height: 54px;
	line-height: 1.4;
	text-align: center;
	background: var(--hcs-red);
	color: #fff;
	border-radius: var(--hcs-radius-sm);
	font-weight: 600;
	font-size: 15px;
	padding: 0 18px;
	text-decoration: none;
}

.woocommerce .checkout-button:hover { background: var(--hcs-red-dark); color: #fff; }

/* --------------------------------------------------------------------------
   Checkout
   -------------------------------------------------------------------------- */
.woocommerce-checkout #customer_details { margin-bottom: 28px; }

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	width: 100%;
	float: none;
}

h3#order_review_heading { font-size: 22px; margin: 0 0 14px; }

.woocommerce-checkout-review-order {
	background: #fff;
	border-radius: var(--hcs-radius);
	box-shadow: var(--hcs-shadow-sm);
	padding: 24px;
}

.woocommerce-checkout-review-order-table { box-shadow: none; border-radius: 0; }
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td { padding: 13px 6px; }

.woocommerce-checkout-payment {
	background: #faf7f2;
	border-radius: var(--hcs-radius-sm);
	padding: 18px;
	margin-top: 18px;
}

.woocommerce-checkout-payment ul.payment_methods { list-style: none; padding: 0; margin: 0; }
.woocommerce-checkout-payment ul.payment_methods li { margin: 0 0 10px; }

.payment_box {
	background: #fff;
	border-radius: 8px;
	padding: 12px 14px;
	margin: 10px 0;
	font-size: 13px;
	color: var(--hcs-text-light);
}

#place_order {
	width: 100%;
	height: 54px;
	background: var(--hcs-red);
	color: #fff;
	border-radius: var(--hcs-radius-sm);
	font-size: 16px;
	font-weight: 600;
	border: 1px solid var(--hcs-red);
	cursor: pointer;
	margin-top: 12px;
}

#place_order:hover { background: var(--hcs-red-dark); color: #fff; }

.woocommerce form.login,
.woocommerce form.register {
	background: #fff;
	border-radius: var(--hcs-radius);
	box-shadow: var(--hcs-shadow-sm);
	padding: 24px;
	margin: 0 0 24px;
	border: 0;
}

/* --------------------------------------------------------------------------
   My Account
   -------------------------------------------------------------------------- */
.woocommerce-account .woocommerce {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 26px;
	align-items: start;
}

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
	background: #fff;
	border-radius: var(--hcs-radius);
	box-shadow: var(--hcs-shadow-sm);
	overflow: hidden;
}

.woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 13px 18px;
	border-bottom: 1px solid var(--hcs-border);
	color: var(--hcs-ink);
	font-size: 14px;
	font-weight: 500;
}

.woocommerce-MyAccount-navigation li.is-active a { background: var(--hcs-red); color: #fff; }

.woocommerce-MyAccount-content {
	background: #fff;
	border-radius: var(--hcs-radius);
	box-shadow: var(--hcs-shadow-sm);
	padding: 26px;
}

.woocommerce-MyAccount-content .button {
	height: auto;
	padding: 9px 18px;
	border-radius: 8px;
	background: var(--hcs-red);
	color: #fff;
	font-weight: 600;
	font-size: 13px;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 980px) {
	.woocommerce ul.products,
	.woocommerce ul.products[class*="columns-"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
	.single-product div.product { grid-template-columns: 1fr; gap: 30px; }
	.woocommerce-account .woocommerce { grid-template-columns: 1fr; }
	.hcs-mobile-filters { display: inline-flex; align-items: center; }
}

@media (max-width: 520px) {
	.woocommerce ul.products,
	.woocommerce ul.products[class*="columns-"] { grid-template-columns: 1fr; }
}

/* ================================================================
   v3.0 editable columns & payment styling
   ================================================================ */

/* Desktop product columns come from the Customizer (--hcs-cols) */
@media ( min-width: 1025px ) {
	.woocommerce ul.products,
	.woocommerce ul.products[class*="columns-"] {
		grid-template-columns: repeat( var( --hcs-cols, 4 ), minmax(0, 1fr) );
	}
}

/* Payment methods: clean selectable cards */
.woocommerce-checkout #payment ul.payment_methods {
	border: 1px solid var(--border);
	border-radius: var(--radius);
	overflow: hidden;
	background: var(--card);
	padding: 0;
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method {
	padding: 14px 18px;
	border-bottom: 1px solid var(--border);
	margin: 0;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 4px 12px;
	align-items: start;
	transition: background .15s ease;
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:hover { background: #faf7f1; }
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label {
	margin: 0; font-weight: 600; cursor: pointer;
}
.woocommerce-checkout #payment ul.payment_methods li:last-child { border-bottom: 0; }
.woocommerce-checkout #payment div.payment_box {
	grid-column: 2; background: transparent; padding: 6px 0 2px;
	color: var(--muted-fg); font-size: 14px;
}
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment { background: transparent; border-radius: var(--radius); }
.woocommerce-checkout #place_order {
	width: 100%; padding: 16px; font-size: 16px; font-weight: 600;
	border-radius: var(--radius); margin-top: 12px;
}

/* Payment gateway brand icons alignment */
.wc_payment_method .payment_method_icons,
.wc_payment_method img { vertical-align: middle; }

/* ================================================================
   Notices: hide the default icon-font glyph so it can never overlap
   the message text (our left border + inline emoji carry the meaning).
   ================================================================ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	position: relative;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	content: none !important;
	display: none !important;
}

/* ================================================================
   Checkout submit ("Place order") — always a strong, visible CTA.
   The native button is the confirm button for hosted card fields;
   the PayPal wallet keeps its own rendered button and hides this one.
   ================================================================ */
.woocommerce-checkout form.checkout #place_order,
.woocommerce-checkout form.checkout #place_order.button,
.woocommerce-checkout form.checkout #place_order.button.alt,
.woocommerce-checkout form.checkout #place_order.wp-element-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 56px;
	padding: 15px 22px;
	margin-top: 14px;
	background: var(--hcs-red);
	color: #fff;
	border: 1px solid var(--hcs-red);
	border-radius: 10px;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
	text-align: center;
	cursor: pointer;
	opacity: 1;
	visibility: visible;
	box-shadow: 0 10px 22px rgba(156, 43, 36, 0.22);
	-webkit-appearance: none;
	appearance: none;
}
.woocommerce-checkout form.checkout #place_order:hover,
.woocommerce-checkout form.checkout #place_order:focus {
	background: var(--hcs-red-dark);
	border-color: var(--hcs-red-dark);
	color: #fff;
	transform: translateY(-1px);
}
.woocommerce-checkout form.checkout #place_order:disabled {
	cursor: not-allowed;
	opacity: 0.6;
	transform: none;
}
/* When a card gateway is selected, force the native confirm button back
   (PayPal's JS adds .ppcp-hidden for the wallet). */
body.oc-card-selected form.checkout #place_order {
	display: flex !important;
	align-items: center;
	justify-content: center;
	visibility: visible !important;
	opacity: 1 !important;
}

/* ================================================================
   PayPal Advanced Card Fields ("Hosted fields", ppcp-credit-card-gateway).
   PayPal renders a SECOND #place_order inside #ppcp-hosted-fields; that
   button is the one that tokenizes the card. The standard WooCommerce
   #place_order must stay hidden while the hosted card is active, otherwise
   the visible red button does not tokenize and the order never proceeds.
   ================================================================ */
body.oc-ppcp-card #ppcp-hosted-fields {
	display: block !important;
	width: 100%;
	margin-top: 14px;
}
body.oc-ppcp-card #ppcp-hosted-fields #place_order,
body.oc-ppcp-card #ppcp-hosted-fields #place_order.button,
body.oc-ppcp-card #ppcp-hosted-fields #place_order.ppcp-dcc-order-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 56px;
	padding: 15px 22px;
	background: var(--hcs-red);
	color: #fff;
	border: 1px solid var(--hcs-red);
	border-radius: 10px;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
	text-align: center;
	cursor: pointer;
	visibility: visible !important;
	opacity: 1 !important;
	box-shadow: 0 10px 22px rgba(156, 43, 36, 0.22);
}
body.oc-ppcp-card #ppcp-hosted-fields #place_order:hover,
body.oc-ppcp-card #ppcp-hosted-fields #place_order:focus {
	background: var(--hcs-red-dark);
	border-color: var(--hcs-red-dark);
	color: #fff;
}
/* Hide the standard WooCommerce submit button while PayPal's hosted card
   fields own the confirm action (it must still exist so PayPal can
   programmatically click it to finish the order after tokenization). */
body.oc-ppcp-card #place_order:not(.ppcp-dcc-order-button) {
	display: none !important;
}
