/* Fleamapket Checkout UI v0.1.13-es1 */

body.fmkc-active {
    background: #f7f8fa !important;
}


/* Checkout-only fallback for MyListing's initial full-page loader. The same
 * rule is also emitted as critical inline CSS in wp_head so it wins before
 * deferred stylesheets finish loading. Scope is intentionally limited to the
 * direct child page loader; component/AJAX loaders remain available. */
body.fmkc-active #c27-site-wrapper > .loader-bg.main-loader {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* EDD intentionally loads the selected gateway with an initial AJAX request.
 * Do not block the entire checkout while that first request is waiting on the
 * server. The html class is removed as soon as the first edd_load_gateway
 * request completes (or its payment markup appears), so later EDD loaders
 * remain available for real user-triggered cart/gateway operations. */
html.fmkc-initial-gateway-load body.fmkc-active .edd-cart-loading {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Neutralize common theme/page-builder constraints without touching EDD logic. */
body.fmkc-active .entry-content,
body.fmkc-active .page-content,
body.fmkc-active article.page,
body.fmkc-active .elementor-widget-theme-post-content,
body.fmkc-active .elementor-widget-text-editor {
    overflow: visible;
}

.fmkc-shell,
.fmkc-shell * {
    box-sizing: border-box;
}

.fmkc-shell {
    --fmkc-ink: #111827;
    --fmkc-muted: #6b7280;
    --fmkc-line: #e2e7ee;
    --fmkc-soft: #f8fafc;
    --fmkc-accent: #101827;
    --fmkc-orange: #eba53a;
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 64px 0 38px;
    color: var(--fmkc-ink);
    font-family: inherit;
}

.fmkc-preview-banner {
    margin: -34px auto 34px;
    padding: 10px 14px;
    max-width: 820px;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    background: #eff6ff;
    color: #1e3a8a;
    font-size: 13px;
    line-height: 1.45;
    text-align: center;
}

.fmkc-intro {
    max-width: 760px;
    margin: 0 auto 36px;
    text-align: center;
}

.fmkc-eyebrow {
    margin: 0 0 8px;
    color: #7a8494;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.fmkc-intro h1 {
    margin: 0 !important;
    color: var(--fmkc-ink) !important;
    font-size: clamp(32px, 4vw, 48px) !important;
    font-weight: 750 !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    text-transform: none !important;
}

.fmkc-intro p {
    margin: 12px 0 0 !important;
    color: var(--fmkc-muted) !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

.fmkc-grid,
.fmkc-footer-grid {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(300px, 2fr);
    gap: 34px;
    align-items: start;
}

.fmkc-checkout-card,
.fmkc-side-card {
    border: 1px solid var(--fmkc-line);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(15, 23, 42, .045);
}

.fmkc-checkout-card {
    min-width: 0;
    padding: clamp(22px, 4vw, 38px);
}

.fmkc-sidebar {
    display: grid;
    gap: 20px;
    position: sticky;
    top: 28px;
}

.fmkc-side-card {
    min-width: 0;
    padding: 28px;
}

/* ---------- Native testimonials slider ---------- */
.fmkc-testimonial-card {
    overflow: hidden;
}

.fmkc-avatar-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 22px;
    padding: 0;
}

.fmkc-avatar-tab {
    display: block !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 2px !important;
    overflow: hidden;
    border: 1px solid #d8dee7 !important;
    border-radius: 999px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: var(--fmkc-ink) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 38px !important;
    text-align: center !important;
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.fmkc-avatar-tab:hover {
    transform: translateY(-1px);
}

.fmkc-avatar-tab.is-active {
    border-color: var(--fmkc-ink) !important;
    box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--fmkc-ink) !important;
}

.fmkc-avatar-tab:focus-visible {
    outline: 2px solid #6b7280 !important;
    outline-offset: 3px !important;
}

.fmkc-avatar-tab img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    object-fit: cover !important;
}

.fmkc-slides {
    display: grid;
    min-width: 0;
}

.fmkc-slide {
    grid-area: 1 / 1;
    min-width: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .28s ease;
}

.fmkc-slide.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.fmkc-quote-mark {
    height: 28px;
    margin: 0 0 6px;
    color: #d9dee7;
    font-family: Georgia, serif;
    font-size: 54px;
    font-weight: 400;
    line-height: 1;
    text-align: left;
}

/* Hard reset of MyListing/theme blockquote styling. */
.fmkc-testimonial-card blockquote,
.fmkc-testimonial-card blockquote p {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #394150 !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.72 !important;
    letter-spacing: normal !important;
    text-align: left !important;
    text-indent: 0 !important;
    text-transform: none !important;
}

.fmkc-testimonial-card blockquote::before,
.fmkc-testimonial-card blockquote::after,
.fmkc-testimonial-card blockquote p::before,
.fmkc-testimonial-card blockquote p::after {
    content: none !important;
    display: none !important;
}

.fmkc-person {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid #edf0f4;
}

.fmkc-person strong,
.fmkc-person span {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    letter-spacing: normal !important;
    text-align: left !important;
    text-transform: none !important;
}

.fmkc-person strong {
    color: var(--fmkc-ink) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.fmkc-person span {
    margin-top: 2px !important;
    color: #8a93a2 !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
}

.fmkc-slider-status {
    margin-top: 14px;
    color: #a0a8b4;
    font-size: 11px;
    line-height: 1;
    text-align: right;
}

/* ---------- Trial / reassurance ---------- */
.fmkc-trial-card {
    text-align: left;
}

.fmkc-icon {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    margin-bottom: 15px;
    border-radius: 10px;
    background: #fff7e8;
    color: var(--fmkc-orange);
    font-size: 22px;
    font-weight: 800;
}

.fmkc-trial-card h2 {
    margin: 0 0 10px !important;
    color: var(--fmkc-ink) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: normal !important;
    text-align: left !important;
    text-transform: none !important;
}

.fmkc-trial-copy,
.fmkc-trial-copy p {
    margin: 0 !important;
    color: var(--fmkc-muted) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    letter-spacing: normal !important;
    text-align: left !important;
    text-transform: none !important;
}

.fmkc-benefits {
    display: grid;
    gap: 9px;
    margin: 20px 0 0 !important;
    padding: 18px 0 0 !important;
    border-top: 1px solid #edf0f4;
    list-style: none !important;
}

.fmkc-benefits li {
    position: relative;
    margin: 0 !important;
    padding: 0 0 0 24px !important;
    color: #394150 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

.fmkc-benefits li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #16805d;
    font-weight: 800;
}

/* ---------- Footer / legal ---------- */
.fmkc-footer-grid {
    margin-top: 22px;
    align-items: start;
}

.fmkc-legal-note,
.fmkc-legal-note p,
.fmkc-bottom-trust {
    color: #7f8997 !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

.fmkc-legal-note {
    padding: 0 8px;
}

.fmkc-legal-note p {
    margin: 0 !important;
}

.fmkc-legal-note a {
    color: #555f6d !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
}

.fmkc-bottom-trust {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7px;
    padding-top: 1px;
    text-align: center;
}

.fmkc-bottom-trust strong {
    color: #525c6a !important;
    font-size: inherit !important;
    font-weight: 700 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

.fmkc-lock {
    color: #b1b9c5;
    font-size: 8px;
}

/* ---------- Empty / diagnostic state ---------- */
.fmkc-empty-cart,
.fmkc-diagnostic {
    display: grid;
    gap: 8px;
    place-items: center;
    min-height: 220px;
    padding: 38px;
    border: 1px dashed #d9dee6;
    border-radius: 10px;
    background: #fbfcfd;
    color: var(--fmkc-muted);
    text-align: center;
}

.fmkc-empty-cart strong,
.fmkc-diagnostic strong {
    color: var(--fmkc-ink);
    font-size: 16px;
    line-height: 1.35;
}

.fmkc-empty-cart span,
.fmkc-diagnostic {
    font-size: 13px;
    line-height: 1.55;
}

/* ---------- EDD checkout normalization ---------- */
.fmkc-checkout-content {
    min-width: 0;
    color: var(--fmkc-ink);
    font-size: 14px;
}

.fmkc-checkout-content > :first-child {
    margin-top: 0 !important;
}

.fmkc-checkout-content > :last-child {
    margin-bottom: 0 !important;
}

.fmkc-checkout-content #edd_checkout_cart,
.fmkc-checkout-content table {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 28px !important;
    border: 1px solid var(--fmkc-line) !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 10px;
    overflow: hidden;
    background: var(--fmkc-soft);
}

.fmkc-checkout-content #edd_checkout_cart th,
.fmkc-checkout-content #edd_checkout_cart td,
.fmkc-checkout-content table th,
.fmkc-checkout-content table td {
    padding: 13px 15px !important;
    border-width: 0 0 1px 0 !important;
    border-style: solid !important;
    border-color: var(--fmkc-line) !important;
    background: transparent !important;
    color: var(--fmkc-ink) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    vertical-align: middle !important;
}

.fmkc-checkout-content #edd_checkout_cart tr:last-child th,
.fmkc-checkout-content #edd_checkout_cart tr:last-child td,
.fmkc-checkout-content table tr:last-child th,
.fmkc-checkout-content table tr:last-child td {
    border-bottom-width: 0 !important;
}

.fmkc-checkout-content fieldset,
.fmkc-checkout-content #edd_checkout_form_wrap fieldset {
    min-width: 0 !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.fmkc-checkout-content legend,
.fmkc-checkout-content .edd-blocks-form__section-title,
.fmkc-checkout-content [class*="section-title"] {
    width: 100% !important;
    margin: 0 0 15px !important;
    padding: 0 0 10px !important;
    border-bottom: 1px solid var(--fmkc-line) !important;
    color: #364152 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
}

.fmkc-checkout-content label {
    color: #303846 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

.fmkc-checkout-content input[type="text"],
.fmkc-checkout-content input[type="email"],
.fmkc-checkout-content input[type="password"],
.fmkc-checkout-content input[type="tel"],
.fmkc-checkout-content input[type="number"],
.fmkc-checkout-content select,
.fmkc-checkout-content textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px !important;
    margin-top: 6px !important;
    padding: 10px 12px !important;
    border: 1px solid #d8dee7 !important;
    border-radius: 7px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: var(--fmkc-ink) !important;
    font: inherit !important;
    line-height: 1.4 !important;
}

.fmkc-checkout-content input:focus,
.fmkc-checkout-content select:focus,
.fmkc-checkout-content textarea:focus {
    border-color: #8793a5 !important;
    outline: 2px solid rgba(17, 24, 39, .08) !important;
    outline-offset: 0 !important;
}

.fmkc-checkout-content .edd-description,
.fmkc-checkout-content [class*="description"] {
    color: #8a93a2 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}


/* ---------- Cross-version EDD order summary ---------- */
/*
 * EDD Legacy and the modern Checkout block place the discount UI differently.
 * JS groups the native cart + native discount UI in one presentation wrapper
 * without recreating either form, preserving EDD behavior and event handlers.
 */
.fmkc-order-summary {
    width: 100%;
    margin: 0 0 28px;
    overflow: hidden;
    border: 1px solid var(--fmkc-line);
    border-radius: 10px;
    background: var(--fmkc-soft);
}

.fmkc-order-summary #edd_checkout_cart,
.fmkc-order-summary .edd-blocks-cart,
.fmkc-order-summary .wp-block-edd-cart,
.fmkc-order-summary table {
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Give the actual product artwork enough visual weight, matching the cleaner
   Legacy presentation. Payment-brand icons elsewhere are intentionally untouched. */
.fmkc-order-summary .fmkc-product-image,
.fmkc-order-summary #edd_checkout_cart .edd_cart_item_image img,
.fmkc-order-summary #edd_checkout_cart td:first-child > img {
    display: inline-block !important;
    width: 64px !important;
    height: 64px !important;
    max-width: 64px !important;
    max-height: 64px !important;
    margin: 0 14px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    vertical-align: middle !important;
}

.fmkc-order-summary .fmkc-discount-block {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin: 0 !important;
    padding: 16px 15px !important;
    border-top: 1px solid var(--fmkc-line) !important;
    background: transparent !important;
}

.fmkc-order-summary .fmkc-discount-block > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.fmkc-order-summary .fmkc-discount-block input[type="text"],
.fmkc-order-summary .fmkc-discount-block input[type="search"] {
    flex: 1 1 210px;
    width: auto !important;
    min-width: 0 !important;
    max-width: 310px !important;
    min-height: 42px !important;
    margin: 0 !important;
}

.fmkc-order-summary .fmkc-discount-block button,
.fmkc-order-summary .fmkc-discount-block input[type="button"],
.fmkc-order-summary .fmkc-discount-block input[type="submit"],
.fmkc-order-summary [class*="discount"] button,
.fmkc-order-summary [class*="discount"] input[type="submit"] {
    width: auto !important;
    min-width: 0 !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 10px 16px !important;
    border: 1px solid #d4dae3 !important;
    border-radius: 7px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #4b5563 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
}

.fmkc-order-summary .fmkc-discount-block button:hover,
.fmkc-order-summary .fmkc-discount-block input[type="button"]:hover,
.fmkc-order-summary .fmkc-discount-block input[type="submit"]:hover,
.fmkc-order-summary [class*="discount"] button:hover,
.fmkc-order-summary [class*="discount"] input[type="submit"]:hover {
    border-color: #bcc5d1 !important;
    background: #fff !important;
    color: var(--fmkc-ink) !important;
    transform: none !important;
}

/* Modern EDD 3.7+ keeps Discount Form as a checkout inner block.
   Keep its native DOM ownership intact and visually attach it to the cart. */
.fmkc-order-summary--with-discount {
    margin-bottom: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-bottom-color: transparent !important;
}

.fmkc-checkout-content .fmkc-discount-attached {
    position: relative !important;
    z-index: 1;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 28px !important;
    padding: 16px 15px !important;
    border: 1px solid var(--fmkc-line) !important;
    border-top: 1px solid var(--fmkc-line) !important;
    border-radius: 0 0 10px 10px !important;
    background: var(--fmkc-soft) !important;
    box-shadow: none !important;
}

/* The native block can carry its own wrapper spacing/padding. Flatten only the
   detected Discount Form; descendants keep their EDD event bindings. */
.fmkc-checkout-content .fmkc-discount-attached > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.fmkc-checkout-content .fmkc-discount-attached .fmkc-discount-trigger,
.fmkc-checkout-content .fmkc-discount-attached > button,
.fmkc-checkout-content .fmkc-discount-attached > a,
.fmkc-checkout-content .fmkc-discount-attached input[type="button"],
.fmkc-checkout-content .fmkc-discount-attached input[type="submit"] {
    width: auto !important;
    min-width: 0 !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 10px 16px !important;
    border: 1px solid #d4dae3 !important;
    border-radius: 7px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #4b5563 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    text-transform: none !important;
}

.fmkc-checkout-content .fmkc-discount-attached input[type="text"],
.fmkc-checkout-content .fmkc-discount-attached input[type="search"] {
    flex: 1 1 220px !important;
    width: auto !important;
    min-width: 180px !important;
    max-width: 340px !important;
    min-height: 42px !important;
    margin: 0 !important;
}

/* Some EDD versions wrap the collapsed button one level deeper. */
.fmkc-checkout-content .fmkc-discount-attached > div,
.fmkc-checkout-content .fmkc-discount-attached > p {
    max-width: 100% !important;
}

/* Legacy discount markup may already live inside the cart table. Keep it compact. */
.fmkc-order-summary #edd_checkout_cart input[name*="discount"],
.fmkc-order-summary #edd_checkout_cart input[id*="discount"] {
    width: min(100%, 280px) !important;
    min-height: 42px !important;
    margin: 0 !important;
}

/* Credit-card/payment detail panel. */
.fmkc-checkout-content #edd_cc_fields,
.fmkc-checkout-content [class*="card-details"],
.fmkc-checkout-content [class*="payment-details"] {
    padding: 22px !important;
    border: 1px solid var(--fmkc-line) !important;
    border-radius: 9px !important;
    background: #fff !important;
}

/* Gateway selectors: preserve inputs/EDD JS; only restyle labels/containers. */
.fmkc-checkout-content #edd_payment_mode_select,
.fmkc-checkout-content #edd-payment-mode-wrap,
.fmkc-checkout-content [class*="gateway"] {
    gap: 10px;
}

.fmkc-checkout-content #edd-payment-mode-wrap label,
.fmkc-checkout-content .edd-gateway-option,
.fmkc-checkout-content [class*="gateway-option"] {
    border-radius: 7px !important;
}

/* Primary checkout action. */
.fmkc-checkout-content #edd-purchase-button,
.fmkc-checkout-content #edd_purchase_submit .edd-submit,
.fmkc-checkout-content #edd_purchase_submit input.edd-submit[type="submit"],
.fmkc-checkout-content #edd_purchase_submit button.edd-submit {
    width: 100% !important;
    min-height: 50px !important;
    padding: 13px 18px !important;
    border: 1px solid var(--fmkc-accent) !important;
    border-radius: 7px !important;
    background: var(--fmkc-accent) !important;
    box-shadow: none !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: normal !important;
    text-align: center !important;
    text-shadow: none !important;
    text-transform: none !important;
    cursor: pointer;
    transition: transform .12s ease, opacity .12s ease;
}

.fmkc-checkout-content #edd-purchase-button:hover,
.fmkc-checkout-content #edd_purchase_submit .edd-submit:hover,
.fmkc-checkout-content #edd_purchase_submit input.edd-submit[type="submit"]:hover,
.fmkc-checkout-content #edd_purchase_submit button.edd-submit:hover {
    opacity: .94;
    transform: translateY(-1px);
}

.fmkc-checkout-content #edd_final_total_wrap,
.fmkc-checkout-content [class*="final-total"] {
    margin: 22px 0 10px !important;
    padding: 12px 14px !important;
    border: 1px solid var(--fmkc-line) !important;
    border-radius: 7px !important;
    background: var(--fmkc-soft) !important;
    color: #4b5563 !important;
    font-size: 12px !important;
}

.fmkc-checkout-content .edd_errors,
.fmkc-checkout-content #edd_errors,
.fmkc-checkout-content .edd-alert-error {
    margin: 0 0 22px !important;
    padding: 12px 14px !important;
    border: 1px solid #fecaca !important;
    border-radius: 8px !important;
    background: #fff7f7 !important;
    color: #991b1b !important;
}

/* Avoid MyListing/Elementor typography introducing random vertical gaps inside EDD. */
.fmkc-checkout-content p {
    margin-top: 0;
}

@media (prefers-reduced-motion: reduce) {
    .fmkc-slide,
    .fmkc-avatar-tab,
    .fmkc-checkout-content button[type="submit"] {
        transition: none !important;
    }
}

@media (max-width: 980px) {
    .fmkc-shell {
        width: min(760px, calc(100% - 32px));
        padding-top: 44px;
    }

    .fmkc-grid,
    .fmkc-footer-grid {
        grid-template-columns: 1fr;
    }

    .fmkc-sidebar {
        position: static;
        grid-template-columns: 1fr 1fr;
    }

    .fmkc-footer-grid {
        gap: 16px;
    }
}

@media (max-width: 680px) {
    .fmkc-shell {
        width: min(100% - 22px, 620px);
        padding: 30px 0 24px;
    }

    .fmkc-intro {
        margin-bottom: 24px;
    }

    .fmkc-intro h1 {
        font-size: 31px !important;
    }

    .fmkc-intro p {
        font-size: 15px !important;
    }

    .fmkc-grid {
        gap: 16px;
    }

    .fmkc-checkout-card,
    .fmkc-side-card {
        border-radius: 11px;
    }

    .fmkc-checkout-card {
        padding: 18px;
    }

    .fmkc-side-card {
        padding: 21px;
    }

    .fmkc-sidebar {
        grid-template-columns: 1fr;
    }

    .fmkc-avatar-tabs {
        gap: 8px;
    }

    .fmkc-avatar-tab {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
    }

    .fmkc-order-summary .fmkc-product-image,
    .fmkc-order-summary #edd_checkout_cart .edd_cart_item_image img,
    .fmkc-order-summary #edd_checkout_cart td:first-child > img {
        width: 52px !important;
        height: 52px !important;
        max-width: 52px !important;
        max-height: 52px !important;
        margin-right: 10px !important;
    }

    .fmkc-order-summary .fmkc-discount-block {
        padding: 14px !important;
    }

    .fmkc-bottom-trust {
        flex-wrap: wrap;
    }

    .fmkc-checkout-content #edd_cc_fields,
    .fmkc-checkout-content [class*="card-details"],
    .fmkc-checkout-content [class*="payment-details"] {
        padding: 16px !important;
    }
}

/* ---------- v0.1.3 polish ---------- */
.fmkc-empty-cart a {
    color: var(--fmkc-ink) !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.fmkc-empty-cart a:hover {
    opacity: .72;
}

/* Slightly denser checkout rhythm while preserving EDD's structure. */
.fmkc-checkout-content #edd_checkout_cart,
.fmkc-checkout-content table {
    margin-bottom: 24px !important;
}

.fmkc-checkout-content fieldset,
.fmkc-checkout-content #edd_checkout_form_wrap fieldset {
    margin-bottom: 24px !important;
}

.fmkc-checkout-content legend,
.fmkc-checkout-content .edd-blocks-form__section-title,
.fmkc-checkout-content [class*="section-title"] {
    margin-bottom: 12px !important;
    padding-bottom: 9px !important;
}

/* Make the free-trial total a deliberate reassurance element. */
.fmkc-checkout-content #edd_final_total_wrap,
.fmkc-checkout-content [class*="final-total"] {
    margin: 18px 0 10px !important;
    padding: 13px 15px !important;
    border-color: #d8e0e9 !important;
    background: #f5f8fb !important;
    color: #3d4755 !important;
}

.fmkc-checkout-content #edd_final_total_wrap strong,
.fmkc-checkout-content #edd_final_total_wrap b,
.fmkc-checkout-content [class*="final-total"] strong,
.fmkc-checkout-content [class*="final-total"] b {
    color: var(--fmkc-ink) !important;
    font-weight: 800 !important;
}

/* Enabled CTA stays dark; disabled state remains visibly unavailable. */
.fmkc-checkout-content #edd-purchase-button:disabled,
.fmkc-checkout-content #edd_purchase_submit .edd-submit:disabled,
.fmkc-checkout-content input.edd-submit[type="submit"]:disabled,
.fmkc-checkout-content button.edd-submit:disabled,
.fmkc-checkout-content button[type="submit"]:disabled,
.fmkc-checkout-content .edd-submit[disabled] {
    border-color: #a4aab3 !important;
    background: #a4aab3 !important;
    color: #fff !important;
    cursor: not-allowed !important;
    opacity: 1 !important;
    transform: none !important;
}

.fmkc-sidebar {
    gap: 18px;
}

.fmkc-side-card {
    padding: 26px;
}

.fmkc-avatar-tabs {
    margin-bottom: 19px;
}

.fmkc-person {
    margin-top: 19px;
    padding-top: 16px;
}

.fmkc-trial-copy,
.fmkc-trial-copy p {
    line-height: 1.58 !important;
}

.fmkc-benefits {
    margin-top: 17px !important;
    padding-top: 16px !important;
}

.fmkc-footer-grid {
    margin-top: 15px;
}


/* v0.1.3 final specificity guards for the normalized order-summary wrapper. */
.fmkc-checkout-content .fmkc-order-summary #edd_checkout_cart,
.fmkc-checkout-content .fmkc-order-summary .edd-blocks-cart,
.fmkc-checkout-content .fmkc-order-summary .wp-block-edd-cart,
.fmkc-checkout-content .fmkc-order-summary table {
    margin: 0 !important;
}

.fmkc-checkout-content .fmkc-order-summary {
    margin-bottom: 24px !important;
}


/* ---------- v0.1.5 modern EDD cart + discount join fix ---------- */
/*
 * v0.1.3 added a late specificity guard that restored a 24px bottom margin
 * on .fmkc-order-summary. That rule won over the earlier attached-discount
 * state and produced two visibly separate cards on modern EDD Checkout.
 * Keep the native EDD DOM separate, but remove that layout gap completely.
 */
.fmkc-checkout-content .fmkc-order-summary.fmkc-order-summary--with-discount {
    margin-bottom: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-bottom-color: transparent !important;
}

.fmkc-checkout-content .fmkc-order-summary.fmkc-order-summary--with-discount + .fmkc-discount-attached {
    margin-top: -1px !important;
}

/* EDD can insert a generic wrapper between the two blocks. The discount block
   itself must still start flush against the order-summary presentation. */
.fmkc-checkout-content .fmkc-discount-attached {
    margin-top: -1px !important;
}


/* ---------- v0.1.6 compact inline discount ---------- */
/*
 * Modern EDD renders Discount Form as a separate checkout block. We now keep
 * the native control but place that native block inside the order-summary
 * presentation wrapper. In its collapsed state it occupies the left half of
 * the existing total row instead of creating a new row/card. When expanded,
 * the native form opens as a normal full-width row beneath the total line.
 */
.fmkc-checkout-content .fmkc-order-summary.fmkc-order-summary--inline-discount {
    position: relative !important;
    overflow: visible !important;
    margin-bottom: 24px !important;
    border-radius: 10px !important;
    border-bottom-color: var(--fmkc-line) !important;
}

/* Reserve enough room on the final cart/total row for the collapsed coupon
   trigger on the left while leaving EDD's total untouched on the right. */
.fmkc-checkout-content .fmkc-order-summary.fmkc-order-summary--inline-discount:not(.fmkc-order-summary--discount-open) #edd_checkout_cart tr:last-child td,
.fmkc-checkout-content .fmkc-order-summary.fmkc-order-summary--inline-discount:not(.fmkc-order-summary--discount-open) #edd_checkout_cart tr:last-child th,
.fmkc-checkout-content .fmkc-order-summary.fmkc-order-summary--inline-discount:not(.fmkc-order-summary--discount-open) table tr:last-child td,
.fmkc-checkout-content .fmkc-order-summary.fmkc-order-summary--inline-discount:not(.fmkc-order-summary--discount-open) table tr:last-child th {
    min-height: 70px !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
}

.fmkc-checkout-content .fmkc-order-summary .fmkc-discount-inline {
    box-sizing: border-box !important;
}

/* Collapsed: sit inside the cart's existing bottom band, like the Legacy UI. */
.fmkc-checkout-content .fmkc-order-summary .fmkc-discount-inline:not(.is-open) {
    position: absolute !important;
    z-index: 3 !important;
    left: 15px !important;
    bottom: 13px !important;
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    max-width: min(48%, 320px) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.fmkc-checkout-content .fmkc-order-summary .fmkc-discount-inline:not(.is-open) > * {
    margin: 0 !important;
}

.fmkc-checkout-content .fmkc-order-summary .fmkc-discount-inline:not(.is-open) .fmkc-discount-trigger,
.fmkc-checkout-content .fmkc-order-summary .fmkc-discount-inline:not(.is-open) > button,
.fmkc-checkout-content .fmkc-order-summary .fmkc-discount-inline:not(.is-open) > a,
.fmkc-checkout-content .fmkc-order-summary .fmkc-discount-inline:not(.is-open) input[type="button"],
.fmkc-checkout-content .fmkc-order-summary .fmkc-discount-inline:not(.is-open) input[type="submit"] {
    width: auto !important;
    min-width: 0 !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 10px 16px !important;
    border: 1px solid #d4dae3 !important;
    border-radius: 7px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #4b5563 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;
}

/* Expanded: remain inside the same card, but use a dedicated row so the code
   field and Apply button have enough room. */
.fmkc-checkout-content .fmkc-order-summary .fmkc-discount-inline.is-open {
    position: static !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 16px 15px !important;
    border: 0 !important;
    border-top: 1px solid var(--fmkc-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.fmkc-checkout-content .fmkc-order-summary .fmkc-discount-inline.is-open input[type="text"],
.fmkc-checkout-content .fmkc-order-summary .fmkc-discount-inline.is-open input[type="search"] {
    flex: 1 1 220px !important;
    width: auto !important;
    min-width: 180px !important;
    max-width: 340px !important;
    margin: 0 !important;
}

/* Supersede the v0.1.4/v0.1.5 attached-card treatment when v0.1.6 inline
   integration is active. */
.fmkc-checkout-content .fmkc-order-summary .fmkc-discount-inline {
    margin-top: 0 !important;
}

@media (max-width: 620px) {
    /* On narrow screens a dedicated row is safer than forcing coupon + total
       into the same horizontal band. It remains inside the same card. */
    .fmkc-checkout-content .fmkc-order-summary .fmkc-discount-inline:not(.is-open) {
        position: static !important;
        width: 100% !important;
        max-width: none !important;
        padding: 14px 15px !important;
        border-top: 1px solid var(--fmkc-line) !important;
    }

    .fmkc-checkout-content .fmkc-order-summary.fmkc-order-summary--inline-discount:not(.fmkc-order-summary--discount-open) #edd_checkout_cart tr:last-child td,
    .fmkc-checkout-content .fmkc-order-summary.fmkc-order-summary--inline-discount:not(.fmkc-order-summary--discount-open) #edd_checkout_cart tr:last-child th,
    .fmkc-checkout-content .fmkc-order-summary.fmkc-order-summary--inline-discount:not(.fmkc-order-summary--discount-open) table tr:last-child td,
    .fmkc-checkout-content .fmkc-order-summary.fmkc-order-summary--inline-discount:not(.fmkc-order-summary--discount-open) table tr:last-child th {
        min-height: 0 !important;
    }
}


/* ---------- v0.1.7: Legacy-like compact discount interaction ---------- */
/* Keep the discount action in the same summary footer row as the total. */
.fmkc-order-summary--inline-discount {
    position: relative;
}

.fmkc-order-summary--inline-discount .fmkc-discount-inline {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: calc(100% - 150px) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Collapsed state: match the small, quiet Legacy toggle. */
.fmkc-order-summary--inline-discount .fmkc-discount-inline:not(.is-open) .fmkc-discount-trigger,
.fmkc-order-summary--inline-discount .fmkc-discount-inline:not(.is-open) > button,
.fmkc-order-summary--inline-discount .fmkc-discount-inline:not(.is-open) > a,
.fmkc-order-summary--inline-discount .fmkc-discount-inline:not(.is-open) input[type="button"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 9px 16px !important;
    border: 1px solid #d7dce3 !important;
    border-radius: 5px !important;
    background: #f2f2f2 !important;
    box-shadow: none !important;
    color: #6b7280 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    text-transform: none !important;
    cursor: pointer !important;
    transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}

.fmkc-order-summary--inline-discount .fmkc-discount-inline:not(.is-open) .fmkc-discount-trigger:hover,
.fmkc-order-summary--inline-discount .fmkc-discount-inline:not(.is-open) > button:hover,
.fmkc-order-summary--inline-discount .fmkc-discount-inline:not(.is-open) > a:hover,
.fmkc-order-summary--inline-discount .fmkc-discount-inline:not(.is-open) input[type="button"]:hover {
    border-color: #c8ced7 !important;
    background: #ededed !important;
    color: #374151 !important;
}

/* Expanded state: input + Apply stay on ONE line, as in the Legacy checkout. */
.fmkc-order-summary--inline-discount .fmkc-discount-inline.is-open,
.fmkc-order-summary--inline-discount .fmkc-discount-inline.is-open .fmkc-discount-form-shell {
    display: grid !important;
    grid-template-columns: minmax(160px, 250px) auto !important;
    align-items: center !important;
    justify-content: start !important;
    gap: 8px !important;
    width: auto !important;
    max-width: min(100%, 365px) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Flatten only layout wrappers that JS has identified between the native EDD
   controls and their shared container. The actual form/control nodes stay native. */
.fmkc-order-summary--inline-discount .fmkc-discount-inline.is-open .fmkc-discount-flatten {
    display: contents !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.fmkc-order-summary--inline-discount .fmkc-discount-code-field {
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 9px 12px !important;
    border: 1px solid #d8dee7 !important;
    border-radius: 5px !important;
    background: #fff !important;
    box-shadow: none !important;
    animation: fmkc-discount-reveal .14s ease-out both;
}

.fmkc-order-summary--inline-discount .fmkc-discount-apply {
    grid-column: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 68px !important;
    max-width: none !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 9px 14px !important;
    border: 1px solid #d2d8e1 !important;
    border-radius: 5px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #4b5563 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    animation: fmkc-discount-reveal .14s ease-out both;
}

.fmkc-order-summary--inline-discount .fmkc-discount-apply:hover {
    border-color: #bfc7d2 !important;
    color: var(--fmkc-ink) !important;
}

@keyframes fmkc-discount-reveal {
    from { opacity: 0; transform: translateY(-2px); }
    to   { opacity: 1; transform: translateY(0); }
}

@media (max-width: 560px) {
    .fmkc-order-summary--inline-discount .fmkc-discount-inline {
        max-width: 100% !important;
    }

    .fmkc-order-summary--inline-discount .fmkc-discount-inline.is-open,
    .fmkc-order-summary--inline-discount .fmkc-discount-inline.is-open .fmkc-discount-form-shell {
        grid-template-columns: minmax(0, 1fr) auto !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}


/* ---------- v0.1.8: stable modern-EDD discount facade ---------- */
/*
 * The modern EDD Discount inner block remains mounted in its original DOM
 * position for EDD/React/AJAX. We hide it visually and use a small facade in
 * the cart total row. Applying a code still clicks EDD's real Apply control.
 */
.fmkc-native-discount-source {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    border: 0 !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.fmkc-order-summary--discount-facade {
    position: relative !important;
    overflow: hidden !important;
}

.fmkc-summary-total-cell {
    padding: 0 !important;
}

.fmkc-summary-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    width: 100% !important;
    min-height: 68px !important;
    padding: 14px 16px !important;
}

.fmkc-summary-total {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    color: var(--fmkc-ink) !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

.fmkc-discount-facade {
    flex: 0 1 390px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.fmkc-discount-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 9px 16px !important;
    border: 1px solid #d7dce3 !important;
    border-radius: 5px !important;
    background: #f2f2f2 !important;
    box-shadow: none !important;
    color: #6b7280 !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: normal !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
}

.fmkc-discount-toggle:hover,
.fmkc-discount-toggle:focus-visible {
    border-color: #c5ccd6 !important;
    background: #eceef1 !important;
    color: #374151 !important;
}

.fmkc-discount-toggle:focus-visible {
    outline: 2px solid rgba(17,24,39,.11) !important;
    outline-offset: 2px !important;
}

.fmkc-discount-editor {
    display: grid !important;
    grid-template-columns: minmax(160px, 1fr) auto !important;
    gap: 8px !important;
    align-items: center !important;
    width: min(100%, 360px) !important;
}

.fmkc-discount-editor[hidden] {
    display: none !important;
}

.fmkc-discount-input {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 9px 12px !important;
    border: 1px solid #d8dee7 !important;
    border-radius: 5px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: var(--fmkc-ink) !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
}

.fmkc-discount-input:focus {
    border-color: #8793a5 !important;
    outline: 2px solid rgba(17,24,39,.08) !important;
    outline-offset: 0 !important;
}

.fmkc-discount-apply-proxy {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 72px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 9px 15px !important;
    border: 1px solid var(--fmkc-accent) !important;
    border-radius: 5px !important;
    background: var(--fmkc-accent) !important;
    box-shadow: none !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    cursor: pointer !important;
}

.fmkc-discount-facade.is-applying .fmkc-discount-apply-proxy {
    opacity: .62 !important;
    cursor: wait !important;
}

/* Mobile typography deliberately matches the roomier Legacy checkout rather
 * than inheriting the compact desktop scale. */
@media (max-width: 680px) {
    .fmkc-shell {
        width: min(100% - 18px, 620px) !important;
    }

    .fmkc-checkout-card {
        padding: 16px !important;
    }

    .fmkc-checkout-content {
        font-size: 16px !important;
        line-height: 1.5 !important;
    }

    .fmkc-checkout-content #edd_checkout_cart th,
    .fmkc-checkout-content #edd_checkout_cart td,
    .fmkc-checkout-content table th,
    .fmkc-checkout-content table td {
        padding: 18px 16px !important;
        font-size: 16px !important;
        line-height: 1.5 !important;
    }

    .fmkc-checkout-content #edd_checkout_cart th,
    .fmkc-checkout-content table th {
        font-size: 16px !important;
        font-weight: 800 !important;
    }

    .fmkc-order-summary .fmkc-product-image,
    .fmkc-order-summary #edd_checkout_cart .edd_cart_item_image img,
    .fmkc-order-summary #edd_checkout_cart td:first-child > img {
        width: 64px !important;
        height: 64px !important;
        max-width: 64px !important;
        max-height: 64px !important;
        margin-right: 14px !important;
    }

    .fmkc-checkout-content legend,
    .fmkc-checkout-content .edd-blocks-form__section-title,
    .fmkc-checkout-content [class*="section-title"] {
        margin-bottom: 16px !important;
        padding-bottom: 11px !important;
        font-size: 15px !important;
        line-height: 1.3 !important;
    }

    .fmkc-checkout-content label {
        font-size: 16px !important;
        line-height: 1.35 !important;
    }

    .fmkc-checkout-content input[type="text"],
    .fmkc-checkout-content input[type="email"],
    .fmkc-checkout-content input[type="password"],
    .fmkc-checkout-content input[type="tel"],
    .fmkc-checkout-content input[type="number"],
    .fmkc-checkout-content select,
    .fmkc-checkout-content textarea {
        min-height: 52px !important;
        padding: 12px 14px !important;
        font-size: 17px !important;
        line-height: 1.35 !important;
    }

    .fmkc-checkout-content .edd-description,
    .fmkc-checkout-content [class*="description"] {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }

    .fmkc-summary-footer {
        align-items: stretch !important;
        flex-wrap: wrap !important;
        gap: 14px !important;
        min-height: 0 !important;
        padding: 18px 16px !important;
    }

    .fmkc-summary-total {
        order: 1 !important;
        width: 100% !important;
        margin: 0 !important;
        font-size: 18px !important;
        line-height: 1.35 !important;
        text-align: right !important;
    }

    .fmkc-discount-facade {
        order: 2 !important;
        flex: 1 0 100% !important;
        width: 100% !important;
    }

    .fmkc-discount-toggle {
        min-height: 48px !important;
        padding: 11px 18px !important;
        font-size: 16px !important;
    }

    .fmkc-discount-editor {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: none !important;
    }

    .fmkc-discount-input,
    .fmkc-discount-apply-proxy {
        width: 100% !important;
        min-height: 52px !important;
        font-size: 17px !important;
    }

    .fmkc-discount-apply-proxy {
        font-weight: 750 !important;
    }
}

/* ---------- v0.1.9: native EDD discount, positioned server-side ---------- */
/*
 * The modern EDD 3.7 Discount Form is now moved into the cart footer in PHP,
 * before EDD's checkout JavaScript binds. This is deliberately styled using
 * EDD's real IDs/classes rather than a proxy control.
 */
.fmkc-order-summary .fmkc-native-summary-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    width: 100% !important;
    min-height: 68px !important;
    padding: 14px 16px !important;
}

.fmkc-order-summary .fmkc-native-summary-footer > .edd_cart_total {
    flex: 0 0 auto !important;
    margin: 0 0 0 auto !important;
    color: var(--fmkc-ink) !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

.fmkc-order-summary #edd_discount_code.fmkc-native-discount-inline {
    flex: 0 1 360px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 360px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.fmkc-order-summary #edd_show_discount {
    margin: 0 !important;
    padding: 0 !important;
}

.fmkc-order-summary #edd_show_discount .edd_discount_link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 9px 16px !important;
    border: 1px solid #d7dce3 !important;
    border-radius: 5px !important;
    background: #f2f2f2 !important;
    box-shadow: none !important;
    color: #6b7280 !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: normal !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
}

.fmkc-order-summary #edd_show_discount .edd_discount_link:hover,
.fmkc-order-summary #edd_show_discount .edd_discount_link:focus-visible {
    border-color: #c5ccd6 !important;
    background: #eceef1 !important;
    color: #374151 !important;
}

.fmkc-order-summary #edd-discount-code-wrap {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.fmkc-order-summary #edd-discount-code-wrap .edd-discount-code-field-wrap {
    display: grid !important;
    grid-template-columns: minmax(150px, 1fr) auto !important;
    gap: 8px !important;
    align-items: center !important;
    width: min(100%, 360px) !important;
    max-width: 360px !important;
}

.fmkc-order-summary #edd-discount {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 9px 12px !important;
    border: 1px solid #d8dee7 !important;
    border-radius: 5px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: var(--fmkc-ink) !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
}

.fmkc-order-summary #edd-discount:focus {
    border-color: #8793a5 !important;
    outline: 2px solid rgba(17,24,39,.08) !important;
    outline-offset: 0 !important;
}

.fmkc-order-summary #edd-discount-code-wrap .edd-apply-discount {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 72px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 9px 15px !important;
    border: 1px solid var(--fmkc-accent) !important;
    border-radius: 5px !important;
    background: var(--fmkc-accent) !important;
    box-shadow: none !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    text-transform: none !important;
    cursor: pointer !important;
}

/* Modern EDD cart uses div rows, not the legacy table. Explicitly scale the
 * same elements on phones so the live checkout matches the readable staging
 * density rather than inheriting EDD's compact block defaults. */
@media (max-width: 680px) {
    .fmkc-shell {
        width: min(100% - 14px, 620px) !important;
    }

    .fmkc-checkout-card {
        padding: 14px 10px !important;
    }

    .fmkc-order-summary .edd-blocks-cart__row {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .fmkc-order-summary .edd-blocks-cart__row-header {
        min-height: 74px !important;
        padding-top: 22px !important;
        padding-bottom: 22px !important;
    }

    .fmkc-order-summary .edd-blocks-cart__row-header .edd_cart_item_name,
    .fmkc-order-summary .edd-blocks-cart__row-header .edd_cart_item_price {
        font-size: 17px !important;
        font-weight: 800 !important;
        line-height: 1.3 !important;
    }

    .fmkc-order-summary .edd-blocks-cart__row-item {
        padding-top: 26px !important;
        padding-bottom: 26px !important;
    }

    .fmkc-order-summary .edd_checkout_cart_item_title,
    .fmkc-order-summary .edd-blocks-cart__row-item .edd_cart_item_name {
        font-size: 18px !important;
        line-height: 1.4 !important;
    }

    .fmkc-order-summary .edd-blocks-cart__row-item .edd_cart_item_price {
        font-size: 18px !important;
        line-height: 1.4 !important;
    }

    .fmkc-order-summary .eddr-cart-item-notice,
    .fmkc-order-summary .eddr-cart-item-notice em {
        font-size: 16px !important;
        line-height: 1.55 !important;
    }

    .fmkc-order-summary .fmkc-product-image,
    .fmkc-order-summary .edd_cart_item_image img {
        width: 72px !important;
        height: 72px !important;
        max-width: 72px !important;
        max-height: 72px !important;
        margin-right: 16px !important;
    }

    .fmkc-order-summary .fmkc-native-summary-footer {
        flex-wrap: wrap !important;
        align-items: stretch !important;
        gap: 14px !important;
        min-height: 0 !important;
        padding: 20px 18px !important;
    }

    .fmkc-order-summary #edd_discount_code.fmkc-native-discount-inline {
        order: 1 !important;
        flex: 1 0 100% !important;
        width: 100% !important;
        max-width: none !important;
    }

    .fmkc-order-summary .fmkc-native-summary-footer > .edd_cart_total {
        order: 2 !important;
        width: 100% !important;
        margin: 0 !important;
        font-size: 19px !important;
        line-height: 1.35 !important;
        text-align: right !important;
    }

    .fmkc-order-summary #edd_show_discount .edd_discount_link {
        min-height: 48px !important;
        padding: 11px 18px !important;
        font-size: 17px !important;
    }

    .fmkc-order-summary #edd-discount-code-wrap .edd-discount-code-field-wrap {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: none !important;
    }

    .fmkc-order-summary #edd-discount,
    .fmkc-order-summary #edd-discount-code-wrap .edd-apply-discount {
        display: flex !important;
        flex: 0 0 auto !important;
        align-self: stretch !important;
        justify-self: stretch !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        min-height: 54px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
        font-size: 18px !important;
    }

    .fmkc-order-summary #edd-discount-code-wrap .edd-apply-discount {
        font-weight: 750 !important;
    }

    .fmkc-checkout-content .edd-blocks-form legend,
    .fmkc-checkout-content .edd-label {
        font-size: 17px !important;
        line-height: 1.35 !important;
    }

    .fmkc-checkout-content .edd-input,
    .fmkc-checkout-content input[type="text"],
    .fmkc-checkout-content input[type="email"],
    .fmkc-checkout-content input[type="password"],
    .fmkc-checkout-content input[type="tel"],
    .fmkc-checkout-content select,
    .fmkc-checkout-content textarea {
        min-height: 54px !important;
        padding: 13px 14px !important;
        font-size: 18px !important;
        line-height: 1.35 !important;
    }

    .fmkc-checkout-content .edd-description,
    .fmkc-checkout-content [class*="description"] {
        font-size: 15px !important;
        line-height: 1.5 !important;
    }
}
