/* ==========================================================================
   Hello 19/29 — cart + checkout (WooCommerce blocks) in the dark brand.
   Scoped to .c-checkout so nothing leaks into other pages.
   ========================================================================== */

/* ---- Focused flow: checkout header keeps only the logo + bag ------------- */

.h1929-focus-flow .c-header__nav,
.h1929-focus-flow .c-header__menubtn,
.h1929-focus-flow [data-open="h1929-search"] {
	display: none;
}

.h1929-focus-flow .c-footer__grid {
	display: none;
}

.h1929-focus-flow .c-footer {
	margin-top: var(--sp-7);
}

/* ---- Page frame ------------------------------------------------------------ */

.c-checkout__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--sp-2) var(--sp-4);
	padding-block: var(--sp-5) var(--sp-4);
}

.c-checkout__title {
	margin: 0;
	font-size: var(--fs-h3);
	font-weight: var(--fw-bold);
	text-transform: uppercase;
}

.c-checkout__secure {
	display: inline-flex;
	align-items: center;
	gap: var(--sp-2);
	margin: 0;
	color: var(--c-text-muted);
	font-size: var(--fs-sm);
}

.c-checkout__secure .c-icon {
	color: var(--c-success);
}

/* ---- Block tokens ---------------------------------------------------------- */

.c-checkout .wc-block-components-sidebar-layout,
.c-checkout .wp-block-woocommerce-checkout,
.c-checkout .wp-block-woocommerce-cart {
	color: var(--c-text);
	font-family: var(--font-sans);
}

.c-checkout .wc-block-components-checkout-step__title,
.c-checkout .wc-block-components-title {
	color: var(--c-text);
	font-family: var(--font-sans);
	font-size: var(--fs-h6);
	font-weight: var(--fw-semibold);
}

.c-checkout .wc-block-components-checkout-step__description,
.c-checkout .wc-block-components-checkout-step__container p {
	color: var(--c-text-muted);
}

.c-checkout .wc-block-components-checkout-step {
	margin-bottom: var(--sp-6);
}

/* ---- Inputs ------------------------------------------------------------------ */

.c-checkout .wc-block-components-text-input input,
.c-checkout .wc-block-components-text-input input:-webkit-autofill,
.c-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
.c-checkout .wc-blocks-components-select .wc-blocks-components-select__select,
.c-checkout .wc-block-components-textarea,
.c-checkout .wc-block-components-totals-coupon__input input {
	min-height: 56px;
	border: 1px solid var(--c-line-strong) !important;
	border-radius: var(--r-pill) !important; /* rounded like the buttons */
	background: transparent !important;
	color: var(--c-text) !important;
	-webkit-text-fill-color: var(--c-text);
	box-shadow: none !important;
}

.c-checkout .wc-block-components-text-input input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 100px var(--c-surface) inset !important;
}

.c-checkout .wc-block-components-text-input input:focus,
.c-checkout .wc-block-components-combobox-control input:focus,
.c-checkout .wc-blocks-components-select__select:focus,
.c-checkout .wc-block-components-textarea:focus {
	border-color: var(--c-accent) !important;
	outline: 1px solid var(--c-accent) !important;
	outline-offset: 0;
}

.c-checkout .wc-block-components-text-input label,
.c-checkout .wc-block-components-combobox .wc-block-components-combobox-control label,
.c-checkout .wc-blocks-components-select__label {
	color: var(--c-text-muted) !important;
}

.c-checkout .wc-block-components-text-input.has-error input,
.c-checkout .has-error .wc-blocks-components-select__select {
	border-color: var(--c-danger) !important;
}

.c-checkout .wc-block-components-validation-error {
	color: var(--c-danger);
}

.c-checkout .wc-blocks-components-select__container {
	background: transparent !important;
}

.c-checkout .wc-blocks-components-select__select option {
	background: var(--c-surface);
	color: var(--c-text);
}

.c-checkout .wc-blocks-components-select__expand {
	fill: var(--c-text);
}

/* Company field only for business buyers, gift message only for gifts
   (assets/js/checkout.js). The state class sits on the outer block wrapper:
   the inner sidebar layout also carries .wc-block-checkout. */
.c-checkout .wp-block-woocommerce-checkout:not(.h1929-is-business) .wc-block-components-address-form__company {
	display: none;
}

.c-checkout .wp-block-woocommerce-checkout:not(.h1929-is-gift) .wc-block-components-text-input:has(input[id*="h1929-gift-message"]),
.c-checkout .wp-block-woocommerce-checkout:not(.h1929-is-gift) .h1929-gift-note {
	display: none;
}

.c-checkout .h1929-gift-note {
	margin: var(--sp-2) 0 0;
	color: var(--c-text-muted);
	font-size: var(--fs-sm);
}

/* "+ Add apartment, suite…" and other inline toggles. */
.c-checkout .wc-block-components-address-form__address_2-toggle,
.c-checkout .wc-block-components-address-form__address_2-hidden-input,
.c-checkout .wc-block-checkout__add-note .wc-block-components-checkbox__label {
	color: var(--c-accent);
}

/* ---- Checkboxes + radios ---------------------------------------------------- */

.c-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	border: 1px solid var(--c-line-strong);
	background: transparent;
}

.c-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
	border-color: var(--c-accent);
	background: var(--c-accent);
}

.c-checkout .wc-block-components-checkbox .wc-block-components-checkbox__mark {
	fill: var(--c-on-accent);
}

.c-checkout .wc-block-components-checkbox__label {
	color: var(--c-text);
}

/* Whole row is the tap target (44px), so stacked boxes (gift, 18+) can't be mis-tapped. */
.c-checkout .wc-block-components-checkbox label {
	display: flex;
	align-items: center;
	min-height: var(--tap);
}

.c-checkout .wc-block-components-checkbox {
	margin-top: var(--sp-1);
}

.c-checkout .wc-block-components-radio-control__option,
.c-checkout .wc-block-components-radio-control-accordion-option {
	color: var(--c-text);
}

.c-checkout .wc-block-components-radio-control--highlight-checked::after,
.c-checkout .wc-block-components-radio-control-accordion-option,
.c-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted,
.c-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	border-color: var(--c-line-strong) !important;
	box-shadow: none !important;
}

.c-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted,
.c-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	border-color: var(--c-accent) !important;
	box-shadow: inset 0 0 0 1px var(--c-accent) !important;
}

.c-checkout .wc-block-components-radio-control__input {
	border-color: var(--c-line-strong);
	background: transparent;
}

.c-checkout .wc-block-components-radio-control__input:checked {
	border-color: var(--c-accent);
}

.c-checkout .wc-block-components-radio-control__input:checked::before {
	background: var(--c-accent);
}

.c-checkout .wc-block-components-radio-control__secondary-label,
.c-checkout .wc-block-components-radio-control__description,
.c-checkout .wc-block-components-shipping-rates-control__package__description {
	color: var(--c-text-muted);
}

/* ---- Buttons ------------------------------------------------------------------- */

.c-checkout .wc-block-components-button:not(.is-link),
.c-checkout .wc-block-cart__submit-button,
.c-checkout .wc-block-components-checkout-place-order-button {
	min-height: 56px;
	border: 1px solid var(--c-accent);
	border-radius: var(--r-pill);
	background: var(--c-accent);
	color: var(--c-on-accent);
	font-family: var(--font-sans);
	font-size: var(--fs-base);
	font-weight: var(--fw-semibold);
	text-decoration: none;
}

.c-checkout .wc-block-components-button:not(.is-link):hover,
.c-checkout .wc-block-cart__submit-button:hover,
.c-checkout .wc-block-components-checkout-place-order-button:hover {
	border-color: var(--c-white);
	background: var(--c-white);
	color: var(--c-on-accent);
}

.c-checkout .wc-block-components-button.is-link,
.c-checkout .wc-block-components-checkout-return-to-cart-button {
	color: var(--c-text-muted);
}

.c-checkout .wc-block-components-totals-coupon__button {
	min-height: 56px;
	padding-inline: var(--sp-5);
}

/* ---- Order summary + totals ------------------------------------------------- */

.c-checkout .wc-block-components-sidebar,
.c-checkout .wp-block-woocommerce-checkout-totals-block,
.c-checkout .wp-block-woocommerce-cart-totals-block {
	color: var(--c-text);
}

.c-checkout .wc-block-components-order-summary,
.c-checkout .wc-block-components-totals-wrapper,
.c-checkout .wc-block-components-panel,
.c-checkout .wc-block-components-totals-item,
.c-checkout .wc-block-checkout__sidebar {
	border-color: var(--c-line) !important;
}

.c-checkout .wc-block-components-checkout-order-summary__content,
.c-checkout .wc-block-components-order-summary {
	color: var(--c-text);
}

.c-checkout .wc-block-components-order-summary-item__quantity,
.c-checkout .wc-block-components-order-summary-item__quantity * {
	border-color: var(--c-surface);
	background: var(--c-accent);
	color: var(--c-on-accent) !important;
	font-weight: var(--fw-bold);
	box-shadow: none;
}

/* Wallet buttons wait for the 18+ box (assets/js/checkout.js). */
.c-checkout .wp-block-woocommerce-checkout:not(.h1929-age-ok) .wc-block-components-express-payment__event-buttons {
	opacity: 0.35;
	pointer-events: none;
}

.c-checkout .h1929-express-note {
	margin: 0 0 var(--sp-3);
	color: var(--c-text);
	font-size: var(--fs-base);
	text-align: center;
}

.c-checkout .wp-block-woocommerce-checkout.h1929-age-ok .h1929-express-note {
	display: none;
}

.c-checkout .wc-block-components-order-summary-item__image img,
.c-checkout .wc-block-cart-item__image img {
	background: var(--c-surface);
}

.c-checkout .wc-block-components-product-metadata,
.c-checkout .wc-block-components-product-metadata__description,
.c-checkout .wc-block-components-totals-item__description {
	color: var(--c-text-muted);
}

.c-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.c-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: var(--fs-h6);
	font-weight: var(--fw-bold);
}

.c-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--c-accent);
}

.c-checkout .wc-block-components-panel__button,
.c-checkout .wc-block-components-checkout-order-summary__title {
	color: var(--c-text);
}

.c-checkout .wc-block-components-panel__button-icon,
.c-checkout .wc-block-components-checkout-order-summary__title-icon {
	fill: var(--c-text);
}

/* Mobile collapsible summary bar. */
.c-checkout .wc-block-components-checkout-order-summary__title {
	min-height: 56px;
}

/* One order summary, not two. Below the two-column width WooCommerce shows
   the summary at the top AND again above "Place order"; keep the top one
   (opened by checkout.js) so the cocktails come first. */
.c-checkout .checkout-order-summary-block-fill-wrapper {
	display: none;
}

/* Apple Pay / Google Pay sit at the end now: no "Or continue below". */
.c-checkout .wc-block-components-express-payment-continue-rule {
	display: none;
}

.c-checkout .wc-block-components-express-payment--checkout {
	margin-block: var(--sp-5) var(--sp-6, 2rem);
}

/* Once a code is applied it shows as a chip under Discount; no empty box. */
.c-checkout .wp-block-woocommerce-checkout-order-summary-block:has(.wc-block-components-totals-discount__coupon-list) .wc-block-components-totals-coupon,
.c-checkout .wp-block-woocommerce-cart-order-summary-block:has(.wc-block-components-totals-discount__coupon-list) .wc-block-components-totals-coupon {
	display: none;
}

/* A single delivery option needs no choosing: it's shown in the summary. */
.c-checkout .wp-block-woocommerce-checkout-shipping-methods-block:not(:has(.wc-block-components-radio-control__option + .wc-block-components-radio-control__option)) {
	display: none;
}

.c-checkout .wc-block-components-checkout-order-summary__title-price {
	color: var(--c-accent);
	font-weight: var(--fw-semibold);
}

/* ---- Quantity selector (cart page) ----------------------------------------- */

.c-checkout .wc-block-components-quantity-selector {
	border-color: var(--c-line-strong);
	border-radius: var(--r-pill);
}

.c-checkout .wc-block-components-quantity-selector input,
.c-checkout .wc-block-components-quantity-selector__button {
	min-height: var(--tap);
	background: transparent;
	color: var(--c-text);
}

.c-checkout .wc-block-components-quantity-selector__button {
	min-width: var(--tap);
}

.c-checkout .wc-block-cart-item__remove-link {
	color: var(--c-text-muted) !important;
}

/* ---- Notices --------------------------------------------------------------------- */

.c-checkout .wc-block-components-notice-banner {
	border-color: var(--c-line-strong);
	background: var(--c-surface);
	color: var(--c-text);
}

.c-checkout .wc-block-components-notice-banner.is-error {
	border-color: var(--c-danger);
}

.c-checkout .wc-block-components-notice-banner > svg {
	background: var(--c-accent);
	fill: var(--c-on-accent);
}

.c-checkout .wc-block-components-notice-banner.is-error > svg {
	background: var(--c-danger);
}

/* ---- Terms, express separator, misc ---------------------------------------- */

.c-checkout .wc-block-checkout__terms,
.c-checkout .wc-block-components-checkout-step__description {
	color: var(--c-text-muted);
	font-size: var(--fs-sm);
}

.c-checkout .wc-block-components-express-payment__title-container,
.c-checkout .wc-block-components-express-payment-continue-rule {
	color: var(--c-text-muted);
}

.c-checkout .wc-block-components-express-payment-continue-rule::before,
.c-checkout .wc-block-components-express-payment-continue-rule::after,
.c-checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::before,
.c-checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::after,
.c-checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__content {
	border-color: var(--c-line) !important;
}

.c-checkout .wc-block-components-address-card {
	border-color: var(--c-line-strong);
	color: var(--c-text);
}

.c-checkout .wc-block-components-address-card__edit {
	color: var(--c-accent);
}

.c-checkout .wc-block-components-loading-mask__children,
.c-checkout .wc-block-components-skeleton__element {
	background: var(--c-surface);
}

/* ---- Thank-you page (classic order received markup) ------------------------- */

.c-thankyou .woocommerce-order {
	max-width: 48rem;
	padding-block: var(--sp-6);
}

.c-thankyou .woocommerce-thankyou-order-received,
.c-thankyou .woocommerce-notice--success {
	margin: 0 0 var(--sp-5);
	color: var(--c-text);
	font-size: var(--fs-h4);
	font-weight: var(--fw-bold);
}

.c-thankyou .woocommerce-order-overview {
	display: grid;
	gap: var(--sp-3);
	margin: 0 0 var(--sp-6);
	padding: var(--sp-5);
	border: 1px solid var(--c-line-strong);
	border-radius: var(--r-md);
	list-style: none;
}

.c-thankyou .woocommerce-order-overview li {
	color: var(--c-text-muted);
	font-size: var(--fs-sm);
}

.c-thankyou .woocommerce-order-overview strong {
	display: block;
	color: var(--c-text);
	font-size: var(--fs-base);
}

.c-thankyou h2 {
	font-size: var(--fs-h5);
}

.c-thankyou table {
	width: 100%;
	border-collapse: collapse;
}

.c-thankyou th,
.c-thankyou td {
	padding: var(--sp-3) 0;
	border-bottom: 1px solid var(--c-line);
	text-align: left;
}

.c-thankyou address {
	padding: var(--sp-4);
	border: 1px solid var(--c-line);
	border-radius: var(--r-md);
	font-style: normal;
}

.c-thankyou__next {
	margin: var(--sp-6) 0 0;
}

@media (min-width: 768px) {
	.c-thankyou .woocommerce-order-overview {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ---- Thank-you celebration ---------------------------------------------------
   Yellow band with one short confetti burst (black + white pieces), then the
   order at a glance. Boxes square, buttons pill. */

.c-thankyou--done {
	padding-block-end: var(--sp-6);
}

.c-thanks {
	position: relative;
	overflow: hidden;
	background: var(--c-accent);
	color: var(--c-on-accent);
}

.c-thanks__inner {
	position: relative;
	z-index: 1;
	padding-block: var(--sp-8, 3rem) var(--sp-7, 2.5rem);
}

.c-thanks__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: var(--sp-2);
	margin: 0 0 var(--sp-3);
	font-size: var(--fs-sm);
	font-weight: var(--fw-bold);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.c-thanks__title {
	margin: 0;
	color: var(--c-on-accent);
	font-size: var(--fs-h1);
	line-height: var(--lh-tight);
	text-transform: uppercase;
	overflow-wrap: anywhere;
}

.c-thanks__lead {
	max-width: 36rem;
	margin: var(--sp-4) 0 0;
	font-size: var(--fs-lg);
	line-height: var(--lh-body);
}

.c-thanks__lead strong {
	overflow-wrap: anywhere;
}

.c-thanks__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-3);
	margin-top: var(--sp-6);
}

.c-thanks .c-btn--primary {
	border-color: var(--c-black);
	background: var(--c-black);
	color: var(--c-accent);
}

.c-thanks .c-btn--primary:hover {
	background: var(--c-white);
	border-color: var(--c-white);
	color: var(--c-black);
}

.c-thanks .c-btn--ghost {
	border-color: var(--c-black);
	background: var(--c-accent);
	color: var(--c-black);
}

.c-thanks .c-btn--ghost:hover {
	background: var(--c-black);
	color: var(--c-accent);
}

/* Confetti: 18 pieces fall once across the band. */
.c-thanks__confetti {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.c-thanks__confetti i {
	position: absolute;
	top: -12%;
	left: calc(var(--x) * 1%);
	width: 8px;
	height: 14px;
	background: var(--c-black);
	opacity: 0;
	animation: h1929-confetti 2.6s cubic-bezier(0.25, 0.6, 0.4, 1) var(--d) 1 forwards;
}

.c-thanks__confetti i:nth-child(3n) { background: var(--c-white); }
.c-thanks__confetti i:nth-child(4n) { width: 10px; height: 10px; border-radius: 50%; }
.c-thanks__confetti i:nth-child(1)  { --x: 4;  --d: 0s;    --r: 380deg; }
.c-thanks__confetti i:nth-child(2)  { --x: 10; --d: 0.15s; --r: -260deg; }
.c-thanks__confetti i:nth-child(3)  { --x: 16; --d: 0.05s; --r: 300deg; }
.c-thanks__confetti i:nth-child(4)  { --x: 22; --d: 0.3s;  --r: -420deg; }
.c-thanks__confetti i:nth-child(5)  { --x: 28; --d: 0.1s;  --r: 200deg; }
.c-thanks__confetti i:nth-child(6)  { --x: 34; --d: 0.4s;  --r: -320deg; }
.c-thanks__confetti i:nth-child(7)  { --x: 40; --d: 0.2s;  --r: 460deg; }
.c-thanks__confetti i:nth-child(8)  { --x: 46; --d: 0.05s; --r: -240deg; }
.c-thanks__confetti i:nth-child(9)  { --x: 52; --d: 0.35s; --r: 340deg; }
.c-thanks__confetti i:nth-child(10) { --x: 58; --d: 0.12s; --r: -380deg; }
.c-thanks__confetti i:nth-child(11) { --x: 64; --d: 0.25s; --r: 280deg; }
.c-thanks__confetti i:nth-child(12) { --x: 70; --d: 0s;    --r: -300deg; }
.c-thanks__confetti i:nth-child(13) { --x: 76; --d: 0.45s; --r: 400deg; }
.c-thanks__confetti i:nth-child(14) { --x: 82; --d: 0.18s; --r: -220deg; }
.c-thanks__confetti i:nth-child(15) { --x: 88; --d: 0.08s; --r: 320deg; }
.c-thanks__confetti i:nth-child(16) { --x: 93; --d: 0.32s; --r: -360deg; }
.c-thanks__confetti i:nth-child(17) { --x: 97; --d: 0.22s; --r: 240deg; }
.c-thanks__confetti i:nth-child(18) { --x: 50; --d: 0.5s;  --r: -280deg; }

@keyframes h1929-confetti {
	0%   { opacity: 1; transform: translate3d(0, 0, 0) rotate(0); }
	85%  { opacity: 1; }
	100% { opacity: 0; transform: translate3d(calc((var(--x) - 50) * 0.6px), 520px, 0) rotate(var(--r)); }
}

@media (prefers-reduced-motion: reduce) {
	.c-thanks__confetti {
		display: none;
	}
}

/* Order at a glance */
.c-thanks__body {
	display: grid;
	gap: var(--sp-6);
}

.c-thanks__body h2 {
	margin: 0 0 var(--sp-4);
	font-size: var(--fs-h5);
}

.c-thanks__items {
	display: grid;
	gap: var(--sp-4);
	margin: 0;
	padding: 0;
	list-style: none;
}

.c-thanks__item {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) auto;
	gap: var(--sp-4);
	align-items: center;
}

.c-thanks__thumb {
	position: relative;
	display: block;
	width: 64px;
	height: 64px;
	background: var(--c-surface);
}

.c-thanks__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.c-thanks__qty {
	position: absolute;
	top: -8px;
	right: -8px;
	display: grid;
	place-items: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--c-accent);
	color: var(--c-on-accent);
	font-size: var(--fs-xs);
	font-weight: var(--fw-bold);
}

.c-thanks__name {
	font-weight: var(--fw-semibold);
}

.c-thanks__totals {
	margin: var(--sp-5) 0 0;
	padding-top: var(--sp-4);
	border-top: 1px solid var(--c-line);
}

.c-thanks__row {
	display: flex;
	justify-content: space-between;
	gap: var(--sp-4);
	padding-block: var(--sp-2);
	color: var(--c-text-muted);
}

.c-thanks__row dt,
.c-thanks__row dd {
	margin: 0;
}

.c-thanks__row dd {
	color: var(--c-text);
	text-align: right;
}

.c-thanks__row--total {
	margin-top: var(--sp-2);
	padding-top: var(--sp-3);
	border-top: 1px solid var(--c-line);
	color: var(--c-text);
	font-size: var(--fs-h6);
	font-weight: var(--fw-bold);
}

.c-thanks__row--total dd {
	color: var(--c-accent);
}

.c-thanks__side {
	display: grid;
	gap: var(--sp-5);
	align-content: start;
}

.c-thanks__block h2,
.c-thanks__block h3 {
	margin: 0 0 var(--sp-2);
	color: var(--c-text-muted);
	font-size: var(--fs-sm);
	font-weight: var(--fw-bold);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.c-thanks__block p,
.c-thanks__block address {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	line-height: var(--lh-body);
}

.c-thanks__more {
	border-top: 1px solid var(--c-line);
	border-bottom: 1px solid var(--c-line);
}

.c-thanks__more summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	list-style: none;
	min-height: var(--tap);
	padding-block: var(--sp-3);
	font-weight: var(--fw-semibold);
	cursor: pointer;
}

.c-thanks__more summary::-webkit-details-marker {
	display: none;
}

.c-thanks__more summary::after {
	content: "+";
	color: var(--c-accent);
	font-size: var(--fs-h6);
	font-weight: var(--fw-medium);
}

.c-thanks__more[open] summary::after {
	content: "−";
}

.c-thanks__more[open] {
	padding-bottom: var(--sp-4);
}

.c-thanks__more .c-thanks__block + .c-thanks__block,
.c-thanks__date {
	margin-top: var(--sp-4);
}

.c-thanks__date {
	margin-bottom: 0;
	color: var(--c-text-muted);
	font-size: var(--fs-sm);
}

.c-thanks__help {
	margin: 0;
	color: var(--c-text-muted);
}

@media (min-width: 900px) {
	.c-thanks__body {
		grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
		gap: var(--sp-8, 3rem);
	}
}

/* ---- Cart page line items ------------------------------------------------------ */

.c-checkout a.wc-block-components-product-name,
.c-checkout .wc-block-components-product-name {
	color: var(--c-text);
	font-weight: var(--fw-semibold);
	text-decoration: none;
}

.c-checkout a.wc-block-components-product-name:hover {
	color: var(--c-accent);
}

.c-checkout .wc-block-cart-item__quantity {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sp-3);
}

.c-checkout .wc-block-components-quantity-selector {
	display: inline-flex;
	flex: 0 0 auto;
	width: auto;
	min-width: 132px;
}

.c-checkout .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	width: 44px;
	min-width: 44px;
	padding: 0;
	border: 0 !important;
	font-weight: var(--fw-semibold);
}

.c-checkout .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	width: var(--tap);
	height: var(--tap);
	border: 0;
	font-size: 1.25rem;
}

.c-checkout .wc-block-components-quantity-selector__button:disabled {
	opacity: 0.35;
}

/* Pill fields: keep text and floating labels clear of the curve. */
.c-checkout .wc-block-components-text-input input,
.c-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
.c-checkout .wc-blocks-components-select .wc-blocks-components-select__select,
.c-checkout .wc-block-components-totals-coupon__input input {
	padding-left: 22px !important;
	padding-right: 22px !important;
}

.c-checkout .wc-block-components-text-input label,
.c-checkout .wc-block-components-combobox .wc-block-components-combobox-control label,
.c-checkout .wc-blocks-components-select .wc-blocks-components-select__label {
	left: 23px !important;
}

.c-checkout .wc-block-components-textarea {
	border-radius: 24px !important;
}

/* Cart page: hold the space while the cart block loads, so the footer doesn't
   jump up and back down (CLS 0.29 on a throttled phone, 2026-10-21). */
.c-cartpage > .l-container {
	min-height: 75svh;
}

.c-cartpage .wp-block-woocommerce-cart.is-loading {
	min-height: 60svh;
}
