/**
 * UCAM Checkout Reskin — Figma node 585-8015 ("3. Cart")
 * Presentation-only layer over FunnelKit checkout + UCAM Reservations + UCAM Subscription Upsell.
 * Scoped to body.ucr-reskin.ucr-reskin.ucr-reskin (set by the plugin on the checkout form page only).
 *
 * Heavy use of !important is deliberate: FunnelKit prints large inline <style> blocks in the
 * body, which outrank same-specificity head styles by source order.
 */

/* ============ Design tokens ============ */
body.ucr-reskin.ucr-reskin.ucr-reskin {
    --ucr-purple: #8a4fd9;
    --ucr-purple-dark: #7a3fc9;
    --ucr-purple-tint: rgba(138, 79, 217, 0.1);
    --ucr-ink: #121212;
    --ucr-ink-2: #242424;
    --ucr-grey: #8d8d8d;
    --ucr-grey-2: #555555;
    --ucr-line: #e0e0e0;
    --ucr-line-2: #e5e5e5;
    --ucr-line-3: #e8e8e8;
    --ucr-bg: #f5f5f7;
    --ucr-green: #4caf50;
    --ucr-green-bg: rgba(76, 175, 80, 0.1);
    --ucr-green-bg-2: rgba(76, 175, 80, 0.15);
    --ucr-font: "Choose U – Regular", "Choose U - Regular", "Choose U", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* ============ Page canvas ============ */
/* Figma frame 1751-13455: full-height white panel on the left 51.171% (699/1366),
   #f5f5f7 rail on the right. Painted on the body so it spans the whole page height;
   percentages resolve against the body box, which is the same coordinate space as the
   full-bleed grid below, so the boundary aligns with the column edge at every width. */
body.ucr-reskin.ucr-reskin.ucr-reskin {
    background: linear-gradient(90deg, #ffffff 51.171%, var(--ucr-bg) 51.171%) !important;
    font-family: var(--ucr-font);
}

/* Hide the old black logo bar (replaced by .ucr-topbar) */
body.ucr-reskin.ucr-reskin.ucr-reskin .elementor-element-5ae34651 {
    display: none !important;
}

/* Hide FunnelKit's duplicate page-top coupon toggle (coupon UI lives in the order summary) */
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form > .wfacp-coupon-section {
    display: none !important;
}

/* Flatten every Elementor wrapper between the page root and the checkout grid so the
   grid spans the full viewport and its column edge lands exactly on the 51.171% line. */
body.ucr-reskin.ucr-reskin.ucr-reskin .elementor-element-f43be49,
body.ucr-reskin.ucr-reskin.ucr-reskin .elementor-element-f43be49 .elementor-container,
body.ucr-reskin.ucr-reskin.ucr-reskin .elementor-element-f43be49 .elementor-widget-wrap {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .elementor-element-f43be49 {
    padding: 0 !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .elementor-element-f43be49 .elementor-container {
    max-width: 100% !important;
    padding: 0 !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .elementor-element-f43be49 .elementor-widget-wrap {
    padding: 0 !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .elementor-element-f43be49 .elementor-element-populated {
    margin: 0 !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .elementor-element-f43be49 .elementor-widget-wfacp_form {
    margin: 0 !important;
    width: 100% !important;
}

/* Topbar clearance: content starts flush under the 80px bar; the 40px breathing room
   comes from the grid cells' own padding-top (matches Figma: summary top = 120). */
body.ucr-reskin.ucr-reskin.ucr-reskin .elementor-2197 {
    padding-top: 80px !important;
    padding-bottom: 0 !important;
}

/* Copyright footer — relocated by reskin.js to the bottom of the left white panel
   (Figma: border-top #e8e8e8, 25px above the line to text, centered, 12px grey). */
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp-left-panel .elementor-element-74c03387 {
    border-top: 1px solid var(--ucr-line-3);
    margin-top: 40px;
    padding: 25px 0 0;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .elementor-element-74c03387 .elementor-widget-text-editor,
body.ucr-reskin.ucr-reskin.ucr-reskin .elementor-element-74c03387 p {
    font-family: var(--ucr-font) !important;
    font-size: 12px !important;
    color: var(--ucr-grey) !important;
    text-align: center;
    margin: 0;
}
/* Fallback styling if JS hasn't moved it yet (avoids a flash of unstyled footer) */
body.ucr-reskin.ucr-reskin.ucr-reskin .elementor-2197 > .elementor-section-wrap > .elementor-element-74c03387,
body.ucr-reskin.ucr-reskin.ucr-reskin .elementor-2197 > .elementor-element-74c03387 {
    padding: 24px 0 32px;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp-left-panel .elementor-element-74c03387 .elementor-container {
    max-width: 100% !important;
    padding: 0 !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp-left-panel .elementor-element-74c03387 .elementor-widget-wrap {
    padding: 0 !important;
}

/* "+ Add apartment, suite, unit, etc." toggle link (Figma 1751:13476) */
.ucr-a2-toggle {
    display: inline-block;
    font-family: var(--ucr-font);
    font-size: 13px;
    font-weight: 600;
    line-height: 19.5px;
    color: var(--ucr-purple) !important;
    text-decoration: none !important;
    margin: 2px 0 10px;
    cursor: pointer;
}
.ucr-a2-toggle:hover { color: var(--ucr-purple-dark) !important; }
body.ucr-reskin.ucr-reskin.ucr-reskin .ucr-a2-hidden { display: none !important; }

/* ============ Topbar (injected by reskin.js) ============ */
.ucr-topbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9990;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 48px;
    background: rgba(255, 255, 255, 0.92);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--ucr-line-2);
    font-family: var(--ucr-font);
    box-sizing: border-box;
}
body.admin-bar .ucr-topbar { top: 32px; }
.ucr-topbar__logo img {
    width: 56px;
    height: 56px;
    display: block;
    object-fit: contain;
}
.ucr-topbar__nav {
    display: flex;
    align-items: center;
    gap: 32px;
    margin-left: auto;
}
.ucr-topbar__actions {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-left: 32px;
}
.ucr-topbar__burger {
    display: none;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    background: transparent;
    border: none;
    cursor: pointer;
}
.ucr-topbar__burger svg { width: 24px; height: 24px; display: block; }
.ucr-topbar__nav a.ucr-topbar__link {
    font-family: var(--ucr-font);
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    color: var(--ucr-ink);
    text-decoration: none;
    transition: color 0.15s ease;
}
.ucr-topbar__nav a.ucr-topbar__link:hover { color: var(--ucr-purple); }
.ucr-topbar__cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 40px;
    background: var(--ucr-purple);
    border: 2px solid var(--ucr-purple);
    border-radius: 10px;
    transition: background 0.15s ease;
}
.ucr-topbar__cart:hover { background: var(--ucr-purple-dark); }
.ucr-topbar__cart svg { width: 20px; height: 20px; display: block; }

/* ============ Two-column layout (FunnelKit renders a CSS grid: #wfacp-sec-wrapper) ============ */
/* Figma geometry at 1366: white panel 0→699; form content 48→667 (619 wide, 32 to the
   divider); summary 731→1318 (587 wide, 32 from the divider, 48 from the right edge).
   Above 1366 both columns hug the divider; the paddings reproduce 1366 exactly. */
body.ucr-reskin.ucr-reskin.ucr-reskin #wfacp-sec-wrapper {
    grid-template-columns: 51.171% 48.829% !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important; /* FunnelKit caps the wrapper at 1100px and centers it */
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp-form {
    width: auto !important;
    padding: 40px 32px 64px 48px !important;
    box-sizing: border-box;
    background: transparent !important; /* the old bubble card — flat white panel now */
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_collapsible_order_summary_wrap.wfacp_desktop {
    width: auto !important;
    padding: 40px 48px 24px 32px !important; /* slim bottom pad = more sticky travel, so the rail is never dragged under at scroll end */
    box-sizing: border-box;
    background: transparent !important;
    align-self: stretch !important; /* full row height, so the sticky summary can travel the whole page */
    height: auto !important;
    position: static !important; /* FunnelKit makes this cell sticky at top:0 — it pinned the cards under the topbar */
    border: none !important; /* FunnelKit draws a 1px border + 12px radius here — a rounded-card outline against the flat Figma rail */
    border-radius: 0 !important;
    box-shadow: none !important;
}
/* Belt-and-suspenders: the accordion content wrapper carries its own bottom radius too */
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_collapsible_order_summary_wrap .wfacp_mb_mini_cart_sec_accordion_content {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp-form .wfacp_page {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* The former "bubble" card is now a flat container on the white panel */
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp-left-panel {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    box-sizing: border-box;
    max-width: 619px !important;
    margin-left: auto !important;
    margin-right: 0 !important;
}

body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_order_summary_container {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    position: sticky;
    top: 120px; /* 80px bar + 40px gap — matches the resting position, so no jump on scroll */
    max-width: 587px !important;
    margin-right: auto !important;
    margin-left: 0 !important;
    width: auto !important;
}
body.admin-bar.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_order_summary_container {
    top: 152px !important; /* admin bar adds 32px — without this the summary sticks under the bar */
}

/* Inner FunnelKit wrappers that paint their own backgrounds */
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_mb_mini_cart_sec_accordion_content,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_form_cart,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_order_sec {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Desktop: hide the collapsible "$106.18 / Hide Order Summary" bar */
@media (min-width: 993px) {
    body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_mb_cart_accordian { display: none !important; }
    body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_mb_mini_cart_sec_accordion_content {
        display: block !important;
        height: auto !important;
        overflow: visible !important;
    }
}

/* ============ Generic typography inside checkout ============ */
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form p,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form label,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form span,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form td,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form th,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form input,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form select,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form button {
    font-family: var(--ucr-font) !important;
}

/* Section headings: purple number circle + 16px bold title */
body.ucr-reskin.ucr-reskin.ucr-reskin h2.wfacp_section_heading {
    font-family: var(--ucr-font) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--ucr-ink) !important;
    letter-spacing: 0 !important;
    margin: 0 0 20px !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin h2.wfacp_section_heading .wfacp_section_number,
body.ucr-reskin.ucr-reskin.ucr-reskin h2.wfacp_section_heading span[class*="number"],
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp-comm-title .steps {
    background: var(--ucr-purple) !important;
    color: #ffffff !important;
    border-color: var(--ucr-purple) !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp-comm-title h4 {
    font-family: var(--ucr-font) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    color: var(--ucr-grey) !important;
    line-height: 18px !important;
}

/* Sections separated by soft dividers (Figma: 32px below section end, 33px above heading) */
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp-section.wfacp_payment {
    border-top: 1px solid var(--ucr-line-3);
    margin-top: 32px !important;
    padding-top: 32px !important;
}

/* "Returning customer?" login prompt — plain text in the design, no box */
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form .woocommerce-form-login-toggle .woocommerce-info {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    color: var(--ucr-grey-2) !important;
    font-size: 13px !important;
    line-height: 19.5px !important;
    padding: 0 !important;
    margin: 0 0 32px !important;
    box-shadow: none !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form .woocommerce-form-login-toggle .woocommerce-info a {
    color: var(--ucr-purple) !important;
    font-weight: 600;
    text-decoration: none;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form .woocommerce-info,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form .woocommerce-message,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form .woocommerce-error {
    background: #ffffff !important;
    border: 1px solid var(--ucr-line) !important;
    border-radius: 10px !important;
    color: var(--ucr-grey-2) !important;
    font-size: 13px !important;
    padding: 12px 16px !important;
    box-shadow: none !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form .woocommerce-error {
    border-color: #e5484d !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form .woocommerce-info a,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form .woocommerce-message a {
    color: var(--ucr-purple) !important;
    font-weight: 600;
    text-decoration: none;
}

/* ============ Form fields ============ */
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form input.wfacp-form-control,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form select.wfacp-form-control,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form textarea.wfacp-form-control,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form .select2-container .select2-selection--single {
    background: #ffffff !important;
    border: 1px solid var(--ucr-line) !important;
    border-radius: 10px !important;
    min-height: 47px !important;
    font-size: 14px !important;
    color: var(--ucr-ink) !important;
    box-shadow: none !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form input.wfacp-form-control:hover,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form select.wfacp-form-control:hover,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form .select2-container .select2-selection--single:hover {
    border-color: #c9c9c9 !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form input.wfacp-form-control:focus,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form select.wfacp-form-control:focus,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form .select2-container--focus .select2-selection--single,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form .select2-container--open .select2-selection--single {
    border-color: var(--ucr-purple) !important;
    box-shadow: 0 0 0 3px rgba(138, 79, 217, 0.12) !important;
    outline: none !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form input.wfacp-form-control::placeholder {
    color: var(--ucr-grey) !important;
    opacity: 1;
}
/* native select arrow off — FunnelKit draws its own chevron */
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form select.wfacp-form-control {
    -webkit-appearance: none;
    appearance: none;
    background-image: none !important;
}
/* checkbox/radio inputs share .wfacp-form-control — undo the 47px stretch */
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form input.wfacp-form-control[type="checkbox"],
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form input.wfacp-form-control[type="radio"] {
    min-height: 0 !important;
    height: 16px !important;
    width: 16px !important;
    flex: 0 0 auto;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form input.wfacp-form-control[type="checkbox"] {
    border-radius: 4px !important;
}
/* Floating labels: empty fields show only the centered placeholder (Figma Input/Default);
   once a field has a value the small title appears inside the top of the box and the value
   sits neatly below it — no dead space above the value (the sag came from FunnelKit
   reserving label space while the label was hidden). */
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form .wfacp-form-control-wrapper {
    position: relative;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form label.wfacp-form-control-label {
    display: none !important;
    position: absolute !important;
    top: 7px !important;
    left: 17px !important;
    margin: 0 !important;
    font-size: 11px !important;
    line-height: 13px !important;
    color: var(--ucr-grey) !important;
    pointer-events: none;
    z-index: 2;
}
/* empty text inputs: value/placeholder vertically centered */
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form .wfacp-form-control-wrapper input.wfacp-form-control {
    padding: 12px 16px !important;
    line-height: 21px !important;
}
/* filled text inputs: title on, value tucked under it */
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form .wfacp-form-control-wrapper:has(input.wfacp-form-control:not([type="checkbox"]):not([type="radio"]):not(:placeholder-shown)) label.wfacp-form-control-label {
    display: block !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form .wfacp-form-control-wrapper input.wfacp-form-control:not([type="checkbox"]):not([type="radio"]):not(:placeholder-shown) {
    padding: 22px 16px 4px !important;
    line-height: 19px !important;
}
/* selects always hold a value — title always on, same geometry */
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form .wfacp-form-control-wrapper:has(select.wfacp-form-control) label.wfacp-form-control-label {
    display: block !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form .wfacp-form-control-wrapper select.wfacp-form-control {
    padding: 22px 32px 4px 16px !important;
    line-height: 19px !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form .wfacp-form-control-wrapper input.wfacp-form-control[type="checkbox"],
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form .wfacp-form-control-wrapper input.wfacp-form-control[type="radio"] {
    padding: 0 !important;
}
/* select2 single selection (country/state) — same treatment */
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form .select2-container .select2-selection--single .select2-selection__rendered {
    padding: 22px 24px 4px 16px !important;
    line-height: 19px !important;
    color: var(--ucr-ink) !important;
    font-size: 14px !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form .wfacp-form-control-wrapper:has(.select2-container) label.wfacp-form-control-label {
    display: block !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form abbr.required {
    color: var(--ucr-grey) !important;
    text-decoration: none;
}
/* Inline validation */
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form .wfacp-form-control-wrapper.woocommerce-invalid input.wfacp-form-control {
    border-color: #e5484d !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form span.wfacp_inline_error {
    font-size: 11px;
    color: #e5484d;
}

/* Name fields: two-column row per design (a template rule forces these to 100%) */
body.ucr-reskin.ucr-reskin.ucr-reskin #billing_first_name_field,
body.ucr-reskin.ucr-reskin.ucr-reskin #billing_last_name_field,
body.ucr-reskin.ucr-reskin.ucr-reskin #shipping_first_name_field,
body.ucr-reskin.ucr-reskin.ucr-reskin #shipping_last_name_field {
    width: 50% !important;
}

/* Checkboxes / radios accent — FunnelKit sets appearance:none and paints its own box,
   so accent-color alone does nothing; paint the design's checkbox explicitly. */
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form input[type="checkbox"] {
    accent-color: var(--ucr-purple);
    width: 16px;
    height: 16px;
    border-radius: 4px !important;
    background: #ffffff !important;
    border: 1px solid var(--ucr-line) !important;
    box-shadow: none !important;
    cursor: pointer;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form input[type="checkbox"]:checked {
    background-color: var(--ucr-purple) !important;
    border-color: var(--ucr-purple) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 12px 12px !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form input[type="checkbox"]::before,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form input[type="checkbox"]::after {
    display: none !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form input[type="radio"] {
    accent-color: var(--ucr-purple);
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form label.woocommerce-form__label-for-checkbox {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form label.woocommerce-form__label-for-checkbox input[type="checkbox"] {
    flex: 0 0 auto;
    margin-top: 2px;
}

/* Purple links in the form area */
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_main_form a {
    color: var(--ucr-purple);
}

/* ============ Payment section ============ */
/* Card brand chips (injected into .wfacp-comm-title) */
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp-section.wfacp_payment .wfacp-comm-title { position: relative; }
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp-section.wfacp_payment h2.wfacp_section_heading { white-space: nowrap; }
.ucr-cardbrands {
    position: absolute;
    right: 0;
    top: 2px;
    display: inline-flex;
    gap: 4px;
}
.ucr-cardbrands span {
    display: inline-block;
    border: 1px solid var(--ucr-line);
    border-radius: 4px;
    font-size: 9px;
    font-weight: 700;
    color: var(--ucr-grey-2);
    padding: 2px 6px;
    line-height: 13.5px;
    font-family: var(--ucr-font);
}

body.ucr-reskin.ucr-reskin.ucr-reskin #payment {
    background: transparent !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #payment ul.wc_payment_methods {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 0 !important;
    margin: 0 0 4px !important;
    border: none !important;
    background: transparent !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #payment ul.wc_payment_methods li.wc_payment_method {
    list-style: none;
    position: relative !important;
    display: block !important;
    border: 1px solid var(--ucr-line) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #payment li.wc_payment_method > label {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: #fafafa !important;
    padding: 10px 16px 10px 40px !important;
    margin: 0 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--ucr-grey-2) !important;
    cursor: pointer;
    width: 100% !important;
    box-sizing: border-box !important;
    line-height: 18px !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #payment li.wc_payment_method > input[type="radio"] {
    position: absolute !important;
    margin: 13px 0 0 16px !important;
    z-index: 2;
}
/* "Powered by Stripe" on the card method header */
body.ucr-reskin.ucr-reskin.ucr-reskin #payment li.payment_method_stripe > label::after {
    content: "Powered by Stripe";
    margin-left: auto;
    font-size: 11px;
    font-weight: 400;
    color: var(--ucr-grey);
}
body.ucr-reskin.ucr-reskin.ucr-reskin #payment li.wc_payment_method > label img {
    max-height: 20px;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #payment div.payment_box {
    background: #ffffff !important;
    border-top: 1px solid var(--ucr-line) !important;
    margin: 0 !important;
    padding: 16px !important;
    font-size: 13px;
    color: var(--ucr-grey-2);
}
body.ucr-reskin.ucr-reskin.ucr-reskin #payment div.payment_box::before {
    display: none !important; /* kill the speech-bubble arrow */
}

/* Saved payment methods */
body.ucr-reskin.ucr-reskin.ucr-reskin #payment ul.woocommerce-SavedPaymentMethods {
    margin: 0 0 8px !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #payment ul.woocommerce-SavedPaymentMethods li {
    list-style: none;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    border: 1px solid var(--ucr-line) !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    margin: 0 !important;
    font-size: 14px;
    color: var(--ucr-ink);
}
body.ucr-reskin.ucr-reskin.ucr-reskin #payment ul.woocommerce-SavedPaymentMethods li input[type="radio"] {
    position: static !important;
    margin: 0 !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #payment ul.woocommerce-SavedPaymentMethods li label {
    display: inline !important;
    font-size: 14px !important;
    color: var(--ucr-ink) !important;
    font-weight: 400 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    cursor: pointer;
}
/* Stripe UPE element container */
body.ucr-reskin.ucr-reskin.ucr-reskin .wc-stripe-upe-element {
    border: 1px solid var(--ucr-line) !important;
    border-radius: 8px !important;
    padding: 12px;
    background: #ffffff !important;
}

/* Privacy text under payment box */
body.ucr-reskin.ucr-reskin.ucr-reskin .woocommerce-privacy-policy-text,
body.ucr-reskin.ucr-reskin.ucr-reskin .woocommerce-privacy-policy-text p {
    font-size: 12px !important;
    line-height: 18px !important;
    color: var(--ucr-grey) !important;
    margin: 0 0 16px !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .woocommerce-privacy-policy-text a {
    color: var(--ucr-purple) !important;
    text-decoration: none;
}

/* ============ Reservation payment options (pay in full / consent) ============ */
body.ucr-reskin.ucr-reskin.ucr-reskin .ucam-pay-full-wrapper,
body.ucr-reskin.ucr-reskin.ucr-reskin .ucam-consent-checkbox-wrapper {
    background: #ffffff !important;
    border: 1px solid var(--ucr-line) !important;
    border-radius: 12px !important;
    padding: 17px !important;
    margin: 0 0 12px !important;
    transition: border-color 0.15s ease;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .ucam-pay-full-wrapper:hover,
body.ucr-reskin.ucr-reskin.ucr-reskin .ucam-consent-checkbox-wrapper:hover {
    border-color: #c9c9c9 !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .ucam-pay-full-wrapper label,
body.ucr-reskin.ucr-reskin.ucr-reskin .ucam-consent-checkbox-wrapper label {
    align-items: flex-start !important;
    gap: 12px !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .ucam-pay-full-wrapper label,
body.ucr-reskin.ucr-reskin.ucr-reskin .ucam-pay-full-wrapper span,
body.ucr-reskin.ucr-reskin.ucr-reskin .ucam-consent-checkbox-wrapper label,
body.ucr-reskin.ucr-reskin.ucr-reskin .ucam-consent-checkbox-wrapper span {
    text-align: left !important;
    justify-content: flex-start !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .ucam-pay-full-wrapper input[type="checkbox"],
body.ucr-reskin.ucr-reskin.ucr-reskin .ucam-consent-checkbox-wrapper input[type="checkbox"] {
    margin-top: 2px;
    flex: 0 0 auto;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .ucam-pay-full-wrapper strong {
    color: var(--ucr-ink) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .ucam-pay-full-wrapper strong + span,
body.ucr-reskin.ucr-reskin.ucr-reskin .ucam-pay-full-wrapper .woocommerce-Price-amount {
    color: var(--ucr-ink) !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .ucam-pay-full-wrapper span[style*="display: block"],
body.ucr-reskin.ucr-reskin.ucr-reskin .ucam-pay-full-wrapper span[style*="display:block"] {
    color: var(--ucr-grey) !important;
    font-size: 12px !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .ucam-consent-checkbox-wrapper span {
    font-size: 13px !important;
    line-height: 21px !important;
    color: var(--ucr-ink) !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .ucam-consent-checkbox-wrapper .woocommerce-Price-amount {
    font-weight: 600;
}

/* ============ Add-ons (Ubenefit upsell) ============ */
.ucr-addons-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    border-top: 1px solid var(--ucr-line-3);
    margin: 32px 0 20px;
    padding-top: 33px;
    font-family: var(--ucr-font);
}
.ucr-addons-heading .ucr-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--ucr-purple);
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    flex: 0 0 auto;
}
.ucr-addons-heading .ucr-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--ucr-ink);
    line-height: 24px;
}

/* One unified white card — outranks the template's inline !important styles */
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer { margin: 0 0 8px !important; }
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer .usu-option-box {
    background: #ffffff !important;
    border: 1px solid var(--ucr-line) !important;
    border-bottom: none !important;
    border-radius: 16px 16px 0 0 !important;
    padding: 20px 20px 4px !important;
    align-items: flex-start !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer .usu-option-box:hover {
    background: #ffffff !important;
    border-color: var(--ucr-line) !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer .usu-option-box.usu-selected {
    background: #ffffff !important;
    border-color: var(--ucr-purple) !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer .usu-benefits-panel {
    background: #ffffff !important;
    border: 1px solid var(--ucr-line) !important;
    border-top: none !important;
    border-radius: 0 0 16px 16px !important;
    margin-top: 0 !important;
    padding: 8px 20px 0 48px !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer .usu-option-box.usu-selected + .usu-benefits-panel {
    background: #ffffff !important;
    border-color: var(--ucr-purple) !important;
    border-top: none !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer .usu-checkbox-custom {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    border: 1px solid rgba(141, 141, 141, 0.4) !important;
    border-radius: 4px !important;
    margin-top: 3px !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer .usu-option-box.usu-selected .usu-checkbox-custom {
    background: var(--ucr-purple) !important;
    border-color: var(--ucr-purple) !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer .usu-option-box.usu-selected .usu-checkbox-custom::after {
    width: 4px !important;
    height: 8px !important;
    border-width: 0 2px 2px 0 !important;
    margin-bottom: 2px !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer .usu-plan-name {
    font-family: var(--ucr-font) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--ucr-ink) !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer .usu-recommended-badge {
    background: var(--ucr-green-bg-2) !important;
    color: var(--ucr-green) !important;
    font-size: 10px !important;
    padding: 2px 8px !important;
    line-height: 15px !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer .usu-plan-price {
    font-family: var(--ucr-font) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--ucr-ink) !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer .usu-per-year {
    font-size: 12px !important;
    color: var(--ucr-grey) !important;
    font-weight: 400 !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer .usu-option-details {
    text-align: left !important;
    font-size: 13px !important;
    color: var(--ucr-grey) !important;
    margin-top: 4px !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer .usu-option-box.usu-selected .usu-label-added {
    color: var(--ucr-green) !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer .usu-benefits-highlight {
    background: var(--ucr-green-bg) !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    margin-bottom: 12px !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer .usu-benefits-highlight span:last-child {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--ucr-ink) !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer .usu-highlight-check {
    color: var(--ucr-green) !important;
    font-size: 13px !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer .usu-benefits-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin: 0 0 12px !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer .usu-benefits-list li {
    font-size: 13px !important;
    color: var(--ucr-ink) !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer .usu-benefit-icon {
    font-size: 13px !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer .usu-billing-note {
    font-style: normal !important;
    font-size: 11px !important;
    color: var(--ucr-grey) !important;
    text-align: center !important;
    border-top: 1px solid var(--ucr-line-2) !important;
    margin: 4px -20px 0 -48px !important;
    padding: 12px 16px !important;
}

/* Subscription info panel (reservation + subscription) */
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-subscription-info {
    background: #ffffff !important;
    border: 1px solid var(--ucr-line) !important;
    border-radius: 12px !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-subscription-info > div:first-child {
    background: #fafafa !important;
    border-bottom: 1px solid var(--ucr-line) !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-subscription-info strong {
    color: var(--ucr-ink) !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #usu-subscription-info span[style*="background"] {
    background: var(--ucr-purple) !important;
}

/* ============ Place order ============ */
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp-order-place-btn-wrap { margin-top: 32px; }
body.ucr-reskin.ucr-reskin.ucr-reskin #place_order,
body.ucr-reskin.ucr-reskin.ucr-reskin button#place_order.button.alt {
    background: var(--ucr-purple) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 14px !important;
    min-height: 56px !important;
    font-family: var(--ucr-font) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    box-shadow: none !important;
    width: 100%;
    white-space: nowrap !important;
    transition: background 0.15s ease;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #place_order:hover {
    background: var(--ucr-purple-dark) !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin #place_order i,
body.ucr-reskin.ucr-reskin.ucr-reskin #place_order svg,
body.ucr-reskin.ucr-reskin.ucr-reskin #place_order img {
    display: none !important; /* design has no lock glyph */
}
body.ucr-reskin.ucr-reskin.ucr-reskin #place_order::before,
body.ucr-reskin.ucr-reskin.ucr-reskin #place_order::after {
    content: none !important;
    display: none !important;
}

/* Injected agree-line under the button */
body.ucr-reskin.ucr-reskin.ucr-reskin p.ucr-agree {
    margin: 16px 0 0 !important;
    text-align: center !important;
    font-family: var(--ucr-font) !important;
    font-size: 11px !important;
    line-height: 16.5px !important;
    color: var(--ucr-grey) !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin p.ucr-agree a {
    color: var(--ucr-purple) !important;
    text-decoration: none !important;
}

/* ============ Order summary column ============ */
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_active_coupon {
    display: flex;
    flex-direction: column;
    gap: 17px;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_template_9_cart_item_details {
    background: #ffffff !important;
    border: 1px solid var(--ucr-line-2) !important;
    border-radius: 16px 16px 0 0 !important;
    border-bottom: none !important;
    padding: 15px 20px 0 !important;
    margin: 0 !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin table.wfacp_mini_cart_items {
    margin: 0 !important;
    border: none !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin table.wfacp_mini_cart_items td {
    border: none !important;
    padding: 0 0 15px !important;
    vertical-align: top;
    background: transparent !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin table.wfacp_mini_cart_items tr.wfacp_product_row + tr.wfacp_product_row td {
    border-top: 1px solid var(--ucr-line-2) !important;
    padding-top: 15px !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp-pro-thumb {
    background: #f0f0f0;
    border-radius: 10px;
    overflow: hidden;
    width: 60px !important;
    height: 60px !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp-pro-thumb img {
    width: 60px !important;
    height: 60px !important;
    object-fit: cover;
    border: none !important;
    border-radius: 10px;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp-qty-ball { display: none !important; }
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_mini_cart_item_title {
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 16.25px !important;
    color: var(--ucr-ink) !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_mini_cart_item_title .product-quantity {
    display: none !important; /* qty lives in the stepper */
}
/* Reservation pill (built by reskin.js from the plugin's note) */
body.ucr-reskin.ucr-reskin.ucr-reskin .ucr-pill {
    display: table;
    background: var(--ucr-purple-tint);
    color: var(--ucr-purple) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 16.5px;
    border-radius: 4px;
    padding: 2px 8px;
    margin-top: 6px;
}
/* Quantity stepper → round buttons */
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_quantity_selector {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    border: none !important;
    background: transparent !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_quantity_selector .value-button {
    width: 24px !important;
    height: 24px !important;
    border: 1px solid var(--ucr-line) !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    color: var(--ucr-ink) !important;
    font-size: 14px !important;
    line-height: 22px !important;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.15s ease;
    box-sizing: border-box;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_quantity_selector .value-button:hover {
    border-color: var(--ucr-purple) !important;
    color: var(--ucr-purple) !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_quantity_selector input.wfacp_product_quantity_number_field {
    width: 24px !important;
    min-height: 0 !important;
    height: 24px !important;
    border: none !important;
    background: transparent !important;
    text-align: center;
    font-size: 14px !important;
    color: var(--ucr-ink) !important;
    padding: 0 !important;
    box-shadow: none !important;
}
/* Price cell */
body.ucr-reskin.ucr-reskin.ucr-reskin table.wfacp_mini_cart_items td.product-total {
    text-align: right;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--ucr-ink) !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin table.wfacp_mini_cart_items td.product-total small {
    display: block;
    font-size: 11px !important;
    font-weight: 400 !important;
    color: var(--ucr-grey) !important;
    line-height: 13.75px;
    margin-top: 2px;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_cart_product_name_h { display: none !important; }
body.ucr-reskin.ucr-reskin.ucr-reskin table.wfacp_mini_cart_items td.product-total .usu-free-with-plan,
body.ucr-reskin.ucr-reskin.ucr-reskin table.wfacp_mini_cart_items td.product-total .usu-included-in-plan {
    color: var(--ucr-green) !important;
}

/* Coupon block: bottom half of the product card */
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_woocommerce_form_coupon {
    background: #ffffff !important;
    border: 1px solid var(--ucr-line-2) !important;
    border-radius: 0 0 16px 16px !important;
    padding: 13px 20px 14px !important;
    margin: -17px 0 0 !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_woocommerce_form_coupon .wfacp-coupon-section { margin: 0 !important; display: block !important; }
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_woocommerce_form_coupon .woocommerce-form-coupon-toggle .woocommerce-info {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 12px !important;
    box-shadow: none !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_woocommerce_form_coupon a.showcoupon {
    color: var(--ucr-purple) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_woocommerce_form_coupon a.showcoupon::before {
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    margin: 0 6px -2px 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a4fd9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}
body.ucr-reskin.ucr-reskin.ucr-reskin form.checkout_coupon.woocommerce-form-coupon {
    border: none !important;
    background: transparent !important;
    padding: 12px 0 0 !important;
    margin: 0 !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin form.checkout_coupon input.input-text,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_woocommerce_form_coupon input.input-text {
    border: 1px solid var(--ucr-line) !important;
    border-radius: 8px !important;
    min-height: 40px !important;
    font-size: 13px !important;
    background: #fff !important;
    box-shadow: none !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin form.checkout_coupon input.input-text:focus,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_woocommerce_form_coupon input.input-text:focus {
    border-color: var(--ucr-purple) !important;
    box-shadow: 0 0 0 3px rgba(138, 79, 217, 0.12) !important;
    outline: none !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin form.checkout_coupon button,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_woocommerce_form_coupon .wfacp-coupon-btn {
    background: var(--ucr-purple) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    min-height: 40px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin form.checkout_coupon button:disabled,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_woocommerce_form_coupon .wfacp-coupon-btn:disabled {
    background: var(--ucr-purple) !important;
    opacity: 0.45;
}
body.ucr-reskin.ucr-reskin.ucr-reskin form.checkout_coupon button:hover,
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_woocommerce_form_coupon .wfacp-coupon-btn:hover { background: var(--ucr-purple-dark) !important; }
body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp-coupon-code-title { display: none !important; }

/* Totals card */
body.ucr-reskin.ucr-reskin.ucr-reskin table.wfacp_mini_cart_reviews {
    background: #ffffff !important;
    border: 1px solid var(--ucr-line-2) !important;
    border-radius: 16px !important;
    border-collapse: separate !important;
    border-spacing: 0;
    padding: 16px !important;
    margin: 0 !important;
    width: 100%;
}
body.ucr-reskin.ucr-reskin.ucr-reskin table.wfacp_mini_cart_reviews th,
body.ucr-reskin.ucr-reskin.ucr-reskin table.wfacp_mini_cart_reviews td {
    border: none !important;
    background: transparent !important;
    padding: 6px 0 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin table.wfacp_mini_cart_reviews th {
    color: var(--ucr-grey-2) !important;
    text-align: left;
}
body.ucr-reskin.ucr-reskin.ucr-reskin table.wfacp_mini_cart_reviews td {
    color: var(--ucr-ink) !important;
    text-align: right;
}
body.ucr-reskin.ucr-reskin.ucr-reskin table.wfacp_mini_cart_reviews tr.shipping_total_fee td,
body.ucr-reskin.ucr-reskin.ucr-reskin table.wfacp_mini_cart_reviews tr.shipping_total_fee .woocommerce-Price-amount {
    color: var(--ucr-green) !important;
    font-weight: 600 !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin table.wfacp_mini_cart_reviews tr.order-total th,
body.ucr-reskin.ucr-reskin.ucr-reskin table.wfacp_mini_cart_reviews tr.order-total td {
    border-top: 1px solid var(--ucr-line-2) !important;
    padding-top: 14px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--ucr-ink) !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin table.wfacp_mini_cart_reviews tr.order-total td .woocommerce-Price-amount {
    font-size: 18px !important;
    font-weight: 700 !important;
}
body.ucr-reskin.ucr-reskin.ucr-reskin table.wfacp_mini_cart_reviews tr.order-total td::after {
    content: "USD";
    display: block;
    font-size: 11px;
    font-weight: 400;
    color: var(--ucr-grey);
    line-height: 16.5px;
}
body.ucr-reskin.ucr-reskin.ucr-reskin table.wfacp_mini_cart_reviews tr.usu-savings-row td,
body.ucr-reskin.ucr-reskin.ucr-reskin table.wfacp_mini_cart_reviews tr.usu-savings-row .usu-discount,
body.ucr-reskin.ucr-reskin.ucr-reskin table.wfacp_mini_cart_reviews tr.usu-total-savings td {
    color: var(--ucr-green) !important;
    font-size: 12px !important;
}

/* ============ "How Your Reservation Works" slider card (built by reskin.js) ============ */
.ucr-steps-card {
    background: var(--ucr-ink-2);
    border-radius: 18px;
    padding: 20px 16px;
    margin-top: 17px;
    font-family: var(--ucr-font);
}
.ucr-steps-card__title {
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    line-height: 21px;
    margin: 0 0 12px;
}
.ucr-steps-card__viewport { position: relative; }
.ucr-steps-card__slide {
    display: none;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    min-height: 181px;
    padding: 13px 8px;
    text-align: center;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-sizing: border-box;
}
.ucr-steps-card__slide.is-active { display: flex; }
.ucr-steps-card__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--ucr-purple);
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
}
.ucr-steps-card__emoji { font-size: 20px; line-height: 28px; }
.ucr-steps-card__label {
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: var(--ucr-grey);
}
.ucr-steps-card__amount,
.ucr-steps-card__amount span,
.ucr-steps-card__amount bdi {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--ucr-purple) !important;
    line-height: 20px;
}
.ucr-steps-card__desc {
    font-size: 10px;
    color: var(--ucr-grey);
    line-height: 12.5px;
    max-width: 220px;
}
.ucr-steps-card__dots {
    display: flex;
    gap: 3px;
    align-items: center;
    justify-content: center;
    margin-top: 12px;
}
.ucr-steps-card__dot {
    width: 8px;
    height: 8px;
    border-radius: 31px;
    background: var(--ucr-grey) !important;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: width 0.25s ease, background 0.25s ease;
}
.ucr-steps-card__dot.is-active {
    width: 16px;
    background: #fffefe !important;
}

/* Trust badges relocated under the summary (reskin.js) */
.ucr-trust {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-top: 16px;
}
.ucr-trust,
.ucr-trust .elementor-widget-icon-list,
.ucr-trust .elementor-widget-container {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}
.ucr-trust .elementor-widget-icon-list {
    width: auto !important;
    margin: 0 !important; /* Elementor's default 20px widget margin threw the two badges off-level */
    padding: 0 !important;
}
.ucr-trust .elementor-icon-list-item {
    display: flex !important;
    align-items: center !important;
    gap: 6px;
    margin: 0 !important;
    padding: 0 !important;
}
.ucr-trust .elementor-icon-list-icon,
.ucr-trust .elementor-icon-list-icon span {
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
}
.ucr-trust .elementor-icon-list-text {
    font-family: var(--ucr-font) !important;
    font-size: 11px !important;
    color: var(--ucr-grey) !important;
}
.ucr-trust .elementor-icon-list-icon svg,
.ucr-trust .elementor-icon-list-icon i {
    width: 13px !important;
    font-size: 13px !important;
    fill: var(--ucr-grey) !important;
    color: var(--ucr-grey) !important;
}

/* ============ Hidden source for the steps slider ============ */
#ucr-steps-src { display: none !important; }

/* ============ Corrective pass — FunnelKit's #payment/template selectors outrank the earlier blocks ============ */
/* Gateway rows: radio dot dead-centered in the header row, label properly padded */
html body.ucr-reskin.ucr-reskin.ucr-reskin #payment ul.wc_payment_methods li.wc_payment_method {
    position: relative !important;
}
html body.ucr-reskin.ucr-reskin.ucr-reskin #payment ul.wc_payment_methods li.wc_payment_method > input[type="radio"] {
    position: absolute !important;
    left: 16px !important;
    top: 21px !important;
    margin: 0 !important;
    transform: translateY(-50%);
    z-index: 2;
}
html body.ucr-reskin.ucr-reskin.ucr-reskin #payment ul.wc_payment_methods li.wc_payment_method > label {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 42px !important;
    padding: 8px 16px 8px 40px !important;
    margin: 0 !important;
    line-height: 18px !important;
    box-sizing: border-box !important;
}
html body.ucr-reskin.ucr-reskin.ucr-reskin #payment ul.wc_payment_methods li.wc_payment_method > label img {
    max-height: 22px !important;
    width: auto !important;
    display: inline-block !important;
    vertical-align: middle !important;
}
/* The mini-cart table paints its own white rounded box inside the product card —
   that is the stray rounded corner at the product/coupon seam */
html body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_template_9_cart_item_details table.wfacp_mini_cart_items,
html body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_template_9_cart_item_details .wfacp_form_cart,
html body.ucr-reskin.ucr-reskin.ucr-reskin table.wfacp_mini_cart_items {
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* One real box for product + coupon (built by reskin.js) — a single border and radius,
   overflow hidden, so no seam or stray corner can ever render */
html body.ucr-reskin.ucr-reskin.ucr-reskin .ucr-product-card {
    background: #ffffff;
    border: 1px solid var(--ucr-line-2);
    border-radius: 16px;
    overflow: hidden;
}
html body.ucr-reskin.ucr-reskin.ucr-reskin .ucr-product-card .wfacp_template_9_cart_item_details {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}
html body.ucr-reskin.ucr-reskin.ucr-reskin .ucr-product-card .wfacp_woocommerce_form_coupon {
    background: transparent !important;
    border: none !important;
    border-top: 1px solid var(--ucr-line-2) !important;
    border-radius: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

/* ============ Responsive ============ */
/* Figma tablet frame 1751-13957 (768) and mobile frame 1751-14213 (360): expanded order
   summary first on a full-bleed #f5f5f7 band, then the form on white. No accordion. */
@media (max-width: 992px) {
    body.ucr-reskin.ucr-reskin.ucr-reskin { background: #ffffff !important; }
    body.ucr-reskin.ucr-reskin.ucr-reskin .elementor-2197 { padding-top: 64px !important; }
    .ucr-topbar { height: 64px; padding: 0 24px; }
    body.admin-bar .ucr-topbar { top: 32px; }
    .ucr-topbar__logo img { width: 44px; height: 44px; }
    .ucr-topbar__nav { gap: 24px; }
    .ucr-topbar__actions { margin-left: 24px; gap: 16px; }
    body.ucr-reskin.ucr-reskin.ucr-reskin #wfacp-sec-wrapper { grid-template-columns: 1fr !important; }
    body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp-form { padding: 32px 24px 48px !important; }
    body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp-left-panel { max-width: none; margin: 0 !important; }
    /* summary band above the form (Figma: cards inset 24px on the grey band) */
    body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_collapsible_order_summary_wrap {
        order: -1;
        width: auto !important;
        background: var(--ucr-bg) !important;
        padding: 24px 24px 28px;
        box-sizing: border-box;
    }
    body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_order_summary_container {
        padding: 0 !important;
        position: static !important;
        max-width: none !important;
        margin: 0 !important;
    }
    /* design has no show/hide toggle — summary always expanded */
    body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_mb_cart_accordian { display: none !important; }
    body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_mb_mini_cart_sec_accordion_content {
        display: block !important;
        height: auto !important;
        overflow: visible !important;
    }
    body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp-left-panel .elementor-element-74c03387 { margin-top: 32px; }
    /* field pairs stay two-column all the way down (Figma keeps them 2-col at 360) */
    body.ucr-reskin.ucr-reskin.ucr-reskin #billing_first_name_field,
    body.ucr-reskin.ucr-reskin.ucr-reskin #billing_last_name_field,
    body.ucr-reskin.ucr-reskin.ucr-reskin #shipping_first_name_field,
    body.ucr-reskin.ucr-reskin.ucr-reskin #shipping_last_name_field,
    body.ucr-reskin.ucr-reskin.ucr-reskin #shipping_city_field,
    body.ucr-reskin.ucr-reskin.ucr-reskin #shipping_postcode_field,
    body.ucr-reskin.ucr-reskin.ucr-reskin #shipping_country_field,
    body.ucr-reskin.ucr-reskin.ucr-reskin #shipping_state_field,
    body.ucr-reskin.ucr-reskin.ucr-reskin #billing_city_field,
    body.ucr-reskin.ucr-reskin.ucr-reskin #billing_postcode_field,
    body.ucr-reskin.ucr-reskin.ucr-reskin #billing_country_field,
    body.ucr-reskin.ucr-reskin.ucr-reskin #billing_state_field {
        width: 50% !important;
        max-width: 50% !important;
        flex: 0 0 50% !important; /* FunnelKit's mobile CSS stretches these via flex-basis */
    }
    body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_order_summary_container .ucr-trust { margin-bottom: 4px; }
}

/* Mobile (Figma 1751-14213): tighter gutters, hamburger nav */
@media (max-width: 600px) {
    body.ucr-reskin.ucr-reskin.ucr-reskin .elementor-2197 { padding-top: 56px !important; }
    .ucr-topbar { height: 56px; padding: 0 12px; }
    .ucr-topbar__logo img { width: 40px; height: 40px; }
    .ucr-topbar__nav a.ucr-topbar__link { display: none; }
    .ucr-topbar__burger { display: inline-flex !important; }
    /* open state: links drop into a panel under the bar */
    body.ucr-nav-open .ucr-topbar__nav {
        display: flex;
        position: fixed;
        top: 56px;
        left: 0;
        right: 0;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        margin: 0;
        background: #ffffff;
        border-bottom: 1px solid var(--ucr-line-2);
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
        padding: 8px 0;
        z-index: 9989;
    }
    body.admin-bar.ucr-nav-open .ucr-topbar__nav { top: 88px; }
    body.ucr-nav-open .ucr-topbar__nav a.ucr-topbar__link {
        display: block;
        width: 100%;
        padding: 12px 20px;
        box-sizing: border-box;
    }
    body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp-form { padding: 24px 16px 40px !important; }
    body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_collapsible_order_summary_wrap { padding: 16px 12px 20px; }
    body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_template_9_cart_item_details { padding: 12px 14px 0 !important; }
    body.ucr-reskin.ucr-reskin.ucr-reskin .wfacp_woocommerce_form_coupon { padding: 12px 14px !important; }
    body.ucr-reskin.ucr-reskin.ucr-reskin table.wfacp_mini_cart_reviews { padding: 14px !important; }
    .ucr-steps-card { padding: 16px 12px; }
    body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer .usu-option-box { padding: 16px 14px 4px !important; }
    body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer .usu-benefits-panel { padding: 8px 14px 0 14px !important; }
    body.ucr-reskin.ucr-reskin.ucr-reskin #usu-premium-offer .usu-billing-note { margin: 4px -14px 0 -14px !important; }
    body.ucr-reskin.ucr-reskin.ucr-reskin #place_order { font-size: 15px !important; }
}

/* ============ Country/State (select2): single clean border ============
   FunnelKit paints a SECOND 1px border + 4px-radius white fill on the inner
   .select2-selection__rendered span via ID-weighted rules (#wfacp-e-form …
   p.wfacp-form-control-wrapper …) that also beat the padding in the earlier
   select2 block. Outranked here (ID + more classes + !important) so the two
   dropdowns carry exactly one border and the same 47px metrics as text inputs. */
html body.ucr-reskin.ucr-reskin.ucr-reskin #wfacp-e-form .wfacp-form.wfacp-modern-label p.wfacp-form-control-wrapper .select2-container .select2-selection--single {
    height: 47px !important;
    min-height: 47px !important;
    overflow: hidden;
}
html body.ucr-reskin.ucr-reskin.ucr-reskin #wfacp-e-form .wfacp-form.wfacp-modern-label p.wfacp-form-control-wrapper .select2-container .select2-selection--single .select2-selection__rendered {
    border: none !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 22px 32px 4px 16px !important;
    line-height: 19px !important;
}
html body.ucr-reskin.ucr-reskin.ucr-reskin #wfacp-e-form .wfacp-form.wfacp-modern-label p.wfacp-form-control-wrapper .select2-container .select2-selection--single .select2-selection__arrow {
    top: 50% !important;
    margin-top: 0 !important;
    transform: translateY(-50%) !important;
    right: 12px !important;
    height: 12px !important;
}
