/**
 * Hawkes' Impossible Portraits — WooCommerce Cart + Checkout page styling.
 *
 * SIBLING to configurator.css (enqueued as a dependency): every color / font /
 * radius is a shared var(--hac-*) token, so the mid-flow WooCommerce pages match
 * the HIP web app. NO WooCommerce template overrides — this only restyles the
 * classic-shortcode markup ([woocommerce_cart] / [woocommerce_checkout]).
 *
 * Live structure (Kadence): parchment Hero (header spacer) + parchment Row Layout
 * constrained to 1200px. This paints the WooCommerce output INSIDE that Row as the
 * dark #1c1c1e workspace, contents on the --hac-* palette.
 *
 * Scoped to body.woocommerce-cart / body.woocommerce-checkout so it never touches
 * the HIP order-page app (.hac-configurator) or any non-WC page. body.woocommerce-
 * checkout also covers the order-received (thank-you) endpoint.
 *
 * READABILITY RULE: never dark crimson (--hac-crimson #7a1f1f) as text on the dark
 * ground — WooCommerce's red (errors, required *, invalid fields) is remapped to
 * the readable #e0736b (same fix already applied to the order page's blockers).
 */

/* ── The dark workspace band, inside the parchment Row ───────────────────── */
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce {
    max-width: 1200px;
    margin: 0 auto;
    padding: clamp(20px, 4vw, 40px);
    background: var(--hac-bg, #1c1c1e);
    color: var(--hac-text, #f5e9c9);
    border-radius: var(--hac-radius-lg, 8px);
    font-family: var(--hac-font-body, 'EB Garamond', serif);
    box-sizing: border-box;
}

/* Body text inside the workspace */
body.woocommerce-cart .woocommerce p,
body.woocommerce-cart .woocommerce li,
body.woocommerce-cart .woocommerce td,
body.woocommerce-cart .woocommerce th,
body.woocommerce-checkout .woocommerce p,
body.woocommerce-checkout .woocommerce li,
body.woocommerce-checkout .woocommerce td,
body.woocommerce-checkout .woocommerce th {
    color: var(--hac-text, #f5e9c9);
}

/* Headings */
body.woocommerce-cart .woocommerce h1,
body.woocommerce-cart .woocommerce h2,
body.woocommerce-cart .woocommerce h3,
body.woocommerce-checkout .woocommerce h1,
body.woocommerce-checkout .woocommerce h2,
body.woocommerce-checkout .woocommerce h3,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3 {
    color: var(--hac-gold, #c1a87b);
    font-family: var(--hac-font-heading, 'Cinzel', serif);
}

/* Links */
body.woocommerce-cart .woocommerce a,
body.woocommerce-checkout .woocommerce a {
    color: var(--hac-gold, #c1a87b);
}

/* ── Form fields ─────────────────────────────────────────────────────────── */
body.woocommerce-checkout .woocommerce form .form-row label,
body.woocommerce-checkout .woocommerce .woocommerce-billing-fields label,
body.woocommerce-cart .woocommerce label {
    color: var(--hac-text, #f5e9c9);
}
body.woocommerce-checkout .woocommerce .input-text,
body.woocommerce-checkout .woocommerce select,
body.woocommerce-checkout .woocommerce textarea,
body.woocommerce-cart .woocommerce .input-text {
    background: var(--global-palette7, #f5e9c9);   /* light parchment field on the dark band */
    color: var(--global-palette3, #1c1c1e);        /* dark text in the field */
    border: 1px solid var(--hac-gold-deep, #8a7454);
    border-radius: var(--hac-radius, 4px);
}
body.woocommerce-checkout .woocommerce .input-text::placeholder,
body.woocommerce-cart .woocommerce .input-text::placeholder {
    color: var(--hac-gold-deep, #8a7454);
}
body.woocommerce-checkout .woocommerce .input-text:focus,
body.woocommerce-checkout .woocommerce select:focus,
body.woocommerce-checkout .woocommerce textarea:focus {
    outline: 2px solid var(--hac-gold, #c1a87b);
    outline-offset: 1px;
}
/* select2 (WooCommerce country/state dropdowns) */
body.woocommerce-checkout .select2-container--default .select2-selection--single,
body.woocommerce-checkout .select2-dropdown {
    background: var(--global-palette7, #f5e9c9);
    border: 1px solid var(--hac-gold-deep, #8a7454);
    color: var(--global-palette3, #1c1c1e);
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered,
body.woocommerce-checkout .select2-results__option {
    color: var(--global-palette3, #1c1c1e);
}

/* ── Right column: dark top-to-bottom to match the billing side ─────────── */
/* WooCommerce/Kadence render the review + payment panels light by default;
   paint them dark so the whole workspace reads as one dark band. */
body.woocommerce-checkout #order_review,
body.woocommerce-checkout .woocommerce-checkout-review-order,
body.woocommerce-checkout #payment,
body.woocommerce-checkout #payment ul.payment_methods,
body.woocommerce-checkout #payment .payment_box {
    background: var(--hac-bg, #1c1c1e);
    color: var(--hac-text, #f5e9c9);
    border: 0;
    box-shadow: none;
}
/* The embedded Stripe / Link payment widget is a third-party iframe — it keeps
   its own white styling (can't and shouldn't be restyled from here). */

/* ── Tables: the PRODUCT / order-review table is parchment, dark text ────── */
body.woocommerce-cart .woocommerce table.shop_table,
body.woocommerce-checkout .woocommerce table.shop_table,
body.woocommerce-checkout .woocommerce .woocommerce-checkout-review-order-table,
body.woocommerce-checkout .woocommerce .woocommerce-table--order-details {
    background: var(--global-palette7, #f5e9c9);
    border: 1px solid var(--hac-gold-deep, #8a7454);
    color: var(--global-palette3, #1c1c1e);
}
/* Higher-specificity cell rule so cells beat the workspace body-text color. */
body.woocommerce-cart .woocommerce table.shop_table th,
body.woocommerce-cart .woocommerce table.shop_table td,
body.woocommerce-checkout .woocommerce table.shop_table th,
body.woocommerce-checkout .woocommerce table.shop_table td,
body.woocommerce-checkout .woocommerce .woocommerce-table--order-details th,
body.woocommerce-checkout .woocommerce .woocommerce-table--order-details td {
    color: var(--global-palette3, #1c1c1e);
    border-color: var(--hac-gold-deep, #8a7454);
}
body.woocommerce-cart .woocommerce table.shop_table th,
body.woocommerce-checkout .woocommerce table.shop_table th {
    color: var(--hac-gold-deep, #8a7454);   /* header emphasis, still dark-on-parchment */
    font-weight: 700;
}
/* Links inside the parchment table (e.g. cart product names) need contrast on light. */
body.woocommerce-cart .woocommerce table.shop_table a,
body.woocommerce-checkout .woocommerce table.shop_table a {
    color: var(--hac-gold-deep, #8a7454);
}

/* ── Buttons ─────────────────────────────────────────────────────────────── */
body.woocommerce-cart .woocommerce .button,
body.woocommerce-cart .woocommerce button.button,
body.woocommerce-checkout .woocommerce .button,
body.woocommerce-checkout .woocommerce #place_order {
    background: var(--hac-gold, #c1a87b);
    color: var(--hac-bg, #1c1c1e);
    border: 0;
    border-radius: var(--hac-radius, 4px);
    font-weight: 600;
}
body.woocommerce-cart .woocommerce .button:hover,
body.woocommerce-checkout .woocommerce .button:hover,
body.woocommerce-checkout .woocommerce #place_order:hover {
    background: var(--hac-gold-light, #e9dbb8);
    color: var(--hac-bg, #1c1c1e);
}

/* ── Notices — never dark crimson on dark ───────────────────────────────── */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-checkout .woocommerce-info {
    background: var(--hac-bg-raised, #26262a);
    color: var(--hac-text, #f5e9c9);
    border-top: 3px solid var(--hac-gold, #c1a87b);
}
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-error {
    background: var(--hac-bg-raised, #26262a);
    color: #e0736b;                 /* readable red, never --hac-crimson #7a1f1f */
    border-top: 3px solid #e0736b;
}
body.woocommerce-cart .woocommerce-error li,
body.woocommerce-checkout .woocommerce-error li {
    color: #e0736b;
}

/* Required asterisk + invalid fields — readable red */
body.woocommerce-checkout .woocommerce .required,
body.woocommerce-checkout .woocommerce abbr.required {
    color: #e0736b;
    border: 0;
    text-decoration: none;
}
body.woocommerce-checkout .woocommerce-invalid label {
    color: #e0736b;
}
body.woocommerce-checkout .woocommerce-invalid .input-text {
    border-color: #e0736b;
    color: var(--hac-text, #f5e9c9);   /* typed text stays readable; border signals invalid */
}

/* ── HIP "continue → upload" CTA on the thank-you (order-received) page ──── */
/* Was inline-hex in hac_hip_thankyou_continue_cta(); tokenized here. */
.hac-hip-continue {
    margin: 0 0 2em;
    padding: 24px;
    border: 2px solid var(--hac-gold, #c1a87b);
    border-radius: var(--hac-radius-lg, 8px);
    background: var(--hac-bg, #1c1c1e);
    color: var(--hac-text, #f5e9c9);
    text-align: center;
}
.hac-hip-continue__title {
    margin: 0 0 8px;
    color: var(--hac-gold, #c1a87b);
    font-family: var(--hac-font-heading, 'Cinzel', serif);
}
.hac-hip-continue__lead { margin: 0 0 16px; }
.hac-hip-continue__btn {
    display: inline-block;
    padding: 12px 28px;
    background: var(--hac-gold, #c1a87b);
    color: var(--global-palette3) !important;
    text-decoration: none;
    border-radius: var(--hac-radius, 4px);
    font-weight: 600;
}
