/* ============================================================
   GrL'Ca Theme — WooCommerce Checkout + Thank You
   ============================================================ */

/* ── Page wrapper ─────────────────────────────────────────── */
.woocommerce-checkout .entry-content,
.woocommerce-order-received .entry-content {
	max-width: 580px;
	margin: 0 auto;
	padding: 5rem 5vw 7rem;
}

/* ── Notices ──────────────────────────────────────────────── */
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info {
	border-radius: 9px !important;
	font-family: var(--sans) !important;
	font-size: .85rem !important;
	padding: .75rem 1.1rem !important;
	margin-bottom: 1.2rem !important;
	list-style: none !important;
	border-top: none !important;
}
.woocommerce-notices-wrapper .woocommerce-error  { background: #fff0ef !important; border-left: 3px solid var(--accent) !important; color: #7a2020 !important; }
.woocommerce-notices-wrapper .woocommerce-message { background: #f0fff4 !important; border-left: 3px solid #28c840 !important; color: #1a5c28 !important; }

/* ── Page title ───────────────────────────────────────────── */
.woocommerce-checkout .entry-title {
	font-family: var(--serif) !important;
	font-size: clamp(1.8rem, 3vw, 2.4rem) !important;
	letter-spacing: -.03em !important;
	line-height: 1.1 !important;
	margin-bottom: 2rem !important;
	color: var(--ink) !important;
}

/* ── Section headings ─────────────────────────────────────── */
.woocommerce-checkout h3 {
	font-family: var(--sans) !important;
	font-size: .65rem !important;
	font-weight: 700 !important;
	letter-spacing: .1em !important;
	text-transform: uppercase !important;
	color: var(--muted) !important;
	border-bottom: 1px solid var(--border) !important;
	padding-bottom: .55rem !important;
	margin: 0 0 1.3rem !important;
}

/* Hide the separate order review heading — info is in the summary card */
#order_review_heading { display: none !important; }

/* ── Single column layout ─────────────────────────────────── */
.woocommerce-checkout .woocommerce > form.checkout {
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* Force all direct children of the form to be full width */
.woocommerce-checkout #customer_details,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .col-1,
.woocommerce-checkout .col-2 {
	width: 100% !important;
	float: none !important;
	padding: 0 !important;
}

/* ── Billing fields — email full width, name side by side ─── */
.woocommerce-billing-fields__field-wrapper {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 0 .75rem !important;
}
.woocommerce-billing-fields__field-wrapper .form-row {
	float: none !important;
	width: auto !important;
	margin-right: 0 !important;
}
/* Email spans both columns */
#billing_email_field {
	grid-column: 1 / -1 !important;
}

/* ── Form rows ────────────────────────────────────────────── */
.woocommerce-checkout .form-row {
	margin: 0 0 1rem !important;
	padding: 0 !important;
}
.woocommerce-checkout .form-row label {
	font-family: var(--sans) !important;
	font-size: .78rem !important;
	font-weight: 600 !important;
	color: var(--ink) !important;
	margin-bottom: .35rem !important;
	display: block !important;
}
.woocommerce-checkout .form-row .required { color: var(--accent) !important; }

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select {
	width: 100% !important;
	padding: .72rem 1rem !important;
	border: 1.5px solid rgba(13,13,13,.15) !important;
	border-radius: 9px !important;
	background: #fff !important;
	font-family: var(--sans) !important;
	font-size: .92rem !important;
	color: var(--ink) !important;
	outline: none !important;
	-webkit-appearance: none !important;
	box-shadow: none !important;
	transition: border-color .15s, box-shadow .15s !important;
	line-height: 1.4 !important;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus {
	border-color: var(--accent) !important;
	box-shadow: 0 0 0 3px rgba(200,69,58,.1) !important;
}

/* ── Order summary card ───────────────────────────────────── */
#order_review {
	background: var(--ink);
	color: #fff;
	border-radius: 14px;
	padding: 1.4rem 1.5rem;
	margin-bottom: 1.5rem;
}
.woocommerce-checkout-review-order-table {
	width: 100% !important;
	border-collapse: collapse !important;
	font-family: var(--sans) !important;
	font-size: .88rem !important;
	margin-bottom: 0 !important;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: .55rem 0 !important;
	border-bottom: 1px solid rgba(255,255,255,.07) !important;
	text-align: left !important;
	color: rgba(255,255,255,.65) !important;
	font-family: var(--sans) !important;
}
.woocommerce-checkout-review-order-table thead th {
	font-size: .62rem !important;
	letter-spacing: .09em !important;
	text-transform: uppercase !important;
	color: rgba(255,255,255,.28) !important;
}
.woocommerce-checkout-review-order-table td:last-child,
.woocommerce-checkout-review-order-table th:last-child { text-align: right !important; }
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
	font-family: var(--serif) !important;
	font-size: 1.2rem !important;
	color: #fff !important;
	border-bottom: none !important;
	padding-top: .8rem !important;
}

/* ── Payment methods ──────────────────────────────────────── */
#payment {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
#payment h3 {
	font-family: var(--sans) !important;
	font-size: .65rem !important;
	font-weight: 700 !important;
	letter-spacing: .1em !important;
	text-transform: uppercase !important;
	color: var(--muted) !important;
	border-bottom: 1px solid var(--border) !important;
	padding-bottom: .55rem !important;
	margin: 0 0 1rem !important;
}
.wc_payment_methods {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 1.2rem !important;
	border: none !important;
}
.wc_payment_method {
	background: #fff !important;
	border: 1.5px solid rgba(13,13,13,.12) !important;
	border-radius: 10px !important;
	margin-bottom: .5rem !important;
	overflow: hidden !important;
}
.wc_payment_method > label {
	display: flex !important;
	align-items: center !important;
	padding: .8rem 1rem !important;
	cursor: pointer !important;
	font-family: var(--sans) !important;
	font-size: .9rem !important;
	font-weight: 600 !important;
	gap: .6rem !important;
	color: var(--ink) !important;
}
.wc_payment_method input[type=radio] {
	accent-color: var(--accent);
	width: 15px; height: 15px; flex-shrink: 0;
}
.payment_box {
	background: #f5f4f1 !important;
	border-top: 1px solid rgba(13,13,13,.08) !important;
	padding: 1rem !important;
}

/* Stripe express checkout (Link / Apple Pay / Google Pay) — shown above card form */
.wc-stripe-express-checkout-wrapper { margin-bottom: 1.2rem !important; }
.wc-stripe-express-checkout-button-separator {
	font-family: var(--sans) !important;
	font-size: .75rem !important;
	color: var(--muted) !important;
	text-align: center !important;
	margin: .8rem 0 !important;
}

/* ── Place order ──────────────────────────────────────────── */
#place_order {
	display: block !important;
	width: 100% !important;
	background: var(--accent) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 100px !important;
	padding: .95rem 2rem !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	font-family: var(--sans) !important;
	letter-spacing: -.01em !important;
	cursor: pointer !important;
	transition: background .2s !important;
	margin-top: .5rem !important;
}
#place_order:hover { background: #b03530 !important; }

/* Privacy text below button */
/* Pull privacy text OUT of the dark card visually */
#order_review .woocommerce-privacy-policy-text {
	display: none !important;
}
.woocommerce-privacy-policy-text {
	font-size: .72rem !important;
	color: var(--muted) !important;
	text-align: center !important;
	margin-top: 1rem !important;
	line-height: 1.6 !important;
	font-family: var(--sans) !important;
}
.woocommerce-privacy-policy-text a { color: var(--muted) !important; text-decoration: underline !important; }

/* Hide extras */
.woocommerce-additional-fields,
.woocommerce-form-coupon-toggle,
.checkout_coupon { display: none !important; }

/* ═══════════════════════════════════════════════════════════
   THANK YOU PAGE
   ═══════════════════════════════════════════════════════════ */

.woocommerce-order-received .entry-content { max-width: 620px; }
.woocommerce-order { max-width: 100%; }
.woocommerce-thankyou-order-received { display: none !important; }

.grlca-ty-header { text-align: center; margin-bottom: 3rem; }
.grlca-ty-icon { width: 68px; height: 68px; margin: 0 auto 1.3rem; color: var(--accent); }
.grlca-ty-circle { stroke-dasharray: 157; stroke-dashoffset: 157; animation: grlca-ty-circle .55s ease forwards; }
.grlca-ty-check  { stroke-dasharray: 40;  stroke-dashoffset: 40;  animation: grlca-ty-check  .35s ease .5s forwards; }
@keyframes grlca-ty-circle { to { stroke-dashoffset: 0; } }
@keyframes grlca-ty-check  { to { stroke-dashoffset: 0; } }
.grlca-ty-label { font-size: .65rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); margin-bottom: .55rem; font-family: var(--sans); }
.grlca-ty-h1 { font-family: var(--serif); font-size: clamp(2rem,4vw,2.8rem); letter-spacing: -.03em; line-height: 1.08; margin-bottom: .75rem; color: var(--ink); }
.grlca-ty-sub { font-size: .92rem; color: var(--muted); line-height: 1.75; margin-bottom: 2rem; font-family: var(--sans); }
.grlca-ty-sub strong { color: var(--ink); font-weight: 600; }

.woocommerce-order-overview {
	list-style: none !important; padding: 0 !important; margin: 0 0 2rem !important;
	background: #fff; border: 1px solid var(--border); border-radius: 12px; overflow: hidden; display: block !important;
}
.woocommerce-order-overview li {
	display: flex !important; justify-content: space-between !important; align-items: center !important;
	padding: .8rem 1.2rem !important; border-bottom: 1px solid var(--border) !important;
	font-size: .85rem !important; font-family: var(--sans) !important; margin: 0 !important; color: var(--muted);
}
.woocommerce-order-overview li:last-child { border-bottom: none !important; }
.woocommerce-order-overview li::before { display: none !important; }
.woocommerce-order-overview li strong { color: var(--ink) !important; font-weight: 600 !important; }

.woocommerce-order-details__title,
.woocommerce-column__title {
	font-family: var(--sans) !important; font-size: .65rem !important; font-weight: 700 !important;
	letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--muted) !important;
	border-bottom: 1px solid var(--border) !important; padding-bottom: .55rem !important; margin-bottom: 1rem !important;
}
.woocommerce-table--order-details {
	width: 100% !important; border-collapse: collapse !important; margin-bottom: 2rem !important; font-family: var(--sans) !important;
}
.woocommerce-table--order-details th,
.woocommerce-table--order-details td { padding: .75rem 0 !important; border-bottom: 1px solid var(--border) !important; font-size: .88rem !important; text-align: left !important; color: var(--ink) !important; }
.woocommerce-table--order-details tfoot tr:last-child td,
.woocommerce-table--order-details tfoot tr:last-child th { font-family: var(--serif) !important; font-size: 1.1rem !important; border-bottom: none !important; }

.grlca-ty-steps { display: flex; flex-direction: column; gap: .75rem; margin: 2rem 0; }
.grlca-ty-step { display: flex; gap: 1rem; align-items: flex-start; background: #fff; border: 1px solid var(--border); border-radius: 10px; padding: .9rem 1.1rem; }
.grlca-ty-step-num { width: 26px; height: 26px; border-radius: 50%; background: var(--ink); color: #fff; font-size: .72rem; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-family: var(--sans); }
.grlca-ty-step-title { font-weight: 700; font-size: .85rem; margin-bottom: .15rem; font-family: var(--sans); color: var(--ink); }
.grlca-ty-step-desc  { font-size: .78rem; color: var(--muted); line-height: 1.55; font-family: var(--sans); }
.grlca-ty-actions { display: flex; gap: .85rem; flex-wrap: wrap; margin-top: 2rem; }

@media (max-width: 600px) {
	.woocommerce-checkout .entry-content,
	.woocommerce-order-received .entry-content { padding: 3rem 1.2rem 5rem; }
	.grlca-ty-actions { flex-direction: column; }
	.grlca-ty-actions a { text-align: center; width: 100%; }
}
