/* =========================================================
   ITS4You — EDD Blocks Checkout redesign  v1.2.2
   ========================================================= */

:root {
    --i4y-navy:      #1A2332;
    --i4y-blue:      #1E6FA5;
    --i4y-blue-dark: #155a87;
    --i4y-bg:        #f4f6f8;
    --i4y-card-bg:   #ffffff;
    --i4y-border:    #dde1e7;
    --i4y-text:      #333333;
    --i4y-muted:     #6b7280;
    --i4y-amber:     #f59e0b;
    --i4y-radius:    6px;
}

/* ── 2-column grid on EDD Blocks checkout wrapper ─────── */
.edd-blocks__checkout {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
    align-items: start !important;
    max-width: 1100px;
    margin: 0 auto;
    padding: 24px 16px 48px;
    background: transparent;
    box-shadow: none;
    border: none;
}

/* Cart → right column — transparent wrapper, cards inside */
.edd-blocks__cart {
    order: 2 !important;
    position: sticky;
    top: 24px;
}

/* Form → left column */
.edd-blocks__purchase-form {
    order: 1 !important;
}

/* Flex column inside form for section-card spacing */
form#edd_purchase_form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* ── Order Summary header (PHP hook) ──────────────────── */
.i4y-summary-header {
    background: var(--i4y-navy);
    color: #ffffff;
    padding: 12px 18px;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

/* Order Summary card — header (top) + form (bottom) = one visual card */
.edd-blocks__cart .i4y-summary-header {
    border: 1px solid var(--i4y-border);
    border-bottom: none;
    border-radius: var(--i4y-radius) var(--i4y-radius) 0 0;
}

/* Cart form wrapper — bottom half of Order Summary card */
.edd-blocks__cart form#edd_checkout_cart_form {
    background: var(--i4y-card-bg);
    border: 1px solid var(--i4y-border);
    border-top: none;
    border-radius: 0 0 var(--i4y-radius) var(--i4y-radius);
    overflow: hidden;
    margin: 0;
    padding: 0;
}

/* ── Cart rows (div-based) ────────────────────────────── */
#edd_checkout_cart {
    font-size: 0.9rem;
    border: none !important;
}

/* Hide "Item Name / Item Price" header row */
.edd-blocks-cart__row-header {
    display: none !important;
}


/* Item rows */
.edd-blocks-cart__row-item {
    padding: 14px 18px;
    border-bottom: 1px solid var(--i4y-border);
}

/* .edd_cart_item_name je wrapper pre VŠETKO: title + meta + cena */
.edd_cart_item_name {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-rows: auto auto auto !important;
    gap: 2px 16px !important;
    align-items: start !important;
}

.edd_checkout_cart_item_title {
    grid-column: 1 !important;
    grid-row: 1 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #4a5568 !important;
    white-space: normal !important;
    word-break: break-word !important;
    margin-bottom: 2px !important;
}

.edd-sl-details-cart {
    grid-column: 1 !important;
    grid-row: 2 !important;
    font-size: 11px !important;
    color: var(--i4y-muted) !important;
    font-style: italic !important;
    line-height: 1.4 !important;
}

.eddr-cart-item-notice,
p.eddr-cart-item-notice {
    grid-column: 1 !important;
    grid-row: 3 !important;
    font-size: 11px !important;
    color: var(--i4y-muted) !important;
    font-style: italic !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}

.edd_cart_item_price {
    grid-column: 2 !important;
    grid-row: 1 / 4 !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--i4y-navy) !important;
    text-align: right !important;
    align-self: start !important;
}

/* Cart footer — discount + total */
.edd-blocks-cart__row-footer {
    padding: 6px 18px;
}

/* Odstrániť border pod Total riadkom */
.edd-blocks-cart__row-footer.edd_cart_footer_row {
    border-bottom: none !important;
    border-top: none !important;
}

/* FIX 4 — Total: navy, not blue */
.edd_cart_total {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--i4y-navy);
    display: flex;
    justify-content: space-between;
}
.edd_cart_amount {
    color: var(--i4y-navy) !important;   /* FIX 4 — was blue */
    font-weight: 700;
}

/* Cart subtotal / tax rows */
.edd-blocks-cart__row-subtotal,
.edd-blocks-cart__row-tax,
.edd-blocks-cart__row-discount {
    display: flex;
    justify-content: space-between;
    padding: 6px 18px;
    font-size: 0.85rem;
    color: var(--i4y-muted);
}

/* Remove item link — font-size nesmie byť 0, EDD používa 1em pre width/height/background-size */
.edd-blocks-cart__action-remove {
    display: inline-block !important;
    font-size: 14px !important;
    transition: opacity 0.15s;
}
.edd-blocks-cart__action-remove:hover { opacity: 1 !important; }

/* ── Renew: skrytý ───────────────────────────────────── */
#edd_sl_show_renewal_form,
#edd_sl_renewal_form {
    display: none !important;
}

/* ── Renew: big button → subtle link ─────────────────── */
#edd_sl_show_renewal_form_disabled {
    display: inline !important;
    background: none !important;
    border: none !important;
    border-bottom: 1px dashed var(--i4y-muted) !important;
    border-radius: 0 !important;
    padding: 0 !important;
    color: var(--i4y-muted) !important;
    font-size: 0.78rem !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    cursor: pointer !important;
    width: auto !important;
    box-shadow: none !important;
    line-height: 1.4 !important;
    margin-bottom: 0 !important;
}
#edd_sl_show_renewal_form:hover {
    color: var(--i4y-blue) !important;
    border-bottom-color: var(--i4y-blue) !important;
    background: none !important;
}

/* Renewal form wrapper (inside cart + before form) */
#edd_sl_renewal_form {
    padding: 8px 18px 14px;
    text-align: center;
}
#edd_sl_renewal_form fieldset {
    border: none;
    padding: 0;
    text-align: left;
}
/* Fields inside renewal form */
.edd-sl-renewal-form-fields {
    margin-top: 10px;
    text-align: left;
}
.edd-sl-renewal-form-fields .edd-form-group__label {
    font-size: 0.82rem;
    color: var(--i4y-muted);
    margin-bottom: 6px;
    display: block;
}
.edd-sl-renewal-form-fields input[type="text"] {
    width: 100%;
    padding: 9px 12px;
    border: 1px solid var(--i4y-border);
    border-radius: var(--i4y-radius);
    font-size: 0.88rem;
    box-sizing: border-box;
}
/* Apply + Cancel buttons inside renewal form */
.edd-sl-renewal-actions {
    margin-top: 8px;
    display: flex;
    gap: 8px;
    align-items: center;
}
.edd-sl-renewal-actions #edd-add-license-renewal {
    flex: 1;
    background: var(--i4y-blue);
    color: #fff;
    border: none;
    border-radius: var(--i4y-radius);
    padding: 9px 14px;
    font-size: 0.88rem;
    cursor: pointer;
    transition: background 0.15s;
}
.edd-sl-renewal-actions #edd-add-license-renewal:hover {
    background: var(--i4y-blue-dark);
}
.edd-sl-renewal-actions #edd-cancel-license-renewal {
    background: none;
    border: 1px solid var(--i4y-border);
    border-radius: var(--i4y-radius);
    padding: 8px 12px;
    font-size: 0.82rem;
    color: var(--i4y-muted);
    cursor: pointer;
}

/* ── Section cards (.i4y-section injected via PHP / JS) ── */
.i4y-section {
    background: var(--i4y-card-bg);
    border: 1px solid var(--i4y-border);
    border-radius: var(--i4y-radius);
    overflow: hidden;
}
.i4y-section__header {
    background: var(--i4y-navy);
    color: #ffffff;
    padding: 12px 20px;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.i4y-section__body {
    padding: 20px;
}
.i4y-section__body > *:last-child {
    margin-bottom: 0;
}

/* FIX 2 — Hide all EDD legend tags (replaced by i4y-section__header) */
#edd_checkout_user_info legend,
#edd_cc_address legend,
#edd_payment_mode_select legend,
#edd_cc_fields legend,
#edd_purchase_submit legend,
.edd-blocks-form legend,
.cc-address legend {
    display: none !important;
}

/* Remove EDD block default card styling inside our sections */
.i4y-section__body .edd-blocks__user-details,
.i4y-section__body .edd-blocks__payment-details,
.i4y-section__body .edd-blocks__checkout-user {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
    margin: 0;
}

/* FIX 4 — #edd_checkout_user_info fieldset (CFM) po presune do sekčnej karty */
#edd_checkout_user_info {
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
#edd_checkout_user_info .cfm-el {
    margin-bottom: 14px !important;
}
#edd_checkout_user_info .cfm-el:last-of-type {
    margin-bottom: 0 !important;
}

/* FIX 3 — Skryť prípadné natívne h2/h3 headery v EDD user-details wrapperi */
.edd-blocks__user-details > h2,
.edd-blocks__user-details > h3,
.edd-blocks__checkout-user > h2,
.edd-blocks__checkout-user > h3 {
    display: none !important;
}

/* FIX 4 — EDD CSS gives .edd-blocks-form a border+padding card look inside our sections */
.i4y-section__body .edd-blocks-form {
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    margin: 0 !important;
}

/* FIX 4 — EDD CSS adds margin-bottom: 2rem to checkout-user */
.i4y-section__body .edd-blocks__checkout-user {
    margin-bottom: 0 !important;
}

/* FIX 4 — Hide any native EDD/Porto section title headings that duplicate i4y headers */
.edd-blocks__checkout-section-title,
.edd-blocks__section-title,
.edd-blocks__checkout-section > h2,
.edd-blocks__checkout-section > h3,
.edd-blocks__checkout-section-header,
.edd-blocks__checkout-section-title-wrap,
.edd-blocks__purchase-form > h2,
.edd-blocks__purchase-form > h3 {
    display: none !important;
}

/* Override EDD Blocks: logged-in layout forces purchase-form to grid-row:2 — keep it in row 1 */
.edd-blocks__checkout--logged-in .edd-blocks__purchase-form {
    grid-row: 1 !important;
}

/* Skryť na default pozícii (grid child mimo kolón), zobraziť po presune do sekcie */
.edd-blocks__logged-in {
    display: none !important;
}
.i4y-section__body .edd-blocks__logged-in {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-bottom: 16px !important;
    margin-bottom: 16px !important;
}
.i4y-loggedin-email {
    font-size: 13px;
    font-weight: 600;
    color: #16a34a;
}
.i4y-logout-btn {
    font-size: 12px !important;
    color: #6b7280 !important;
    text-decoration: none !important;
    border: 1px solid #d1d5db !important;
    border-radius: 4px !important;
    padding: 3px 10px !important;
    white-space: nowrap !important;
}
.i4y-logout-btn:hover {
    color: #374151 !important;
    border-color: #9ca3af !important;
}

.edd-blocks__user-details--logged-in {
    display: none !important;
}

/* ── EDD input overrides ──────────────────────────────── */
#edd_purchase_form input[type="text"],
#edd_purchase_form input[type="email"],
#edd_purchase_form input[type="password"],
#edd_purchase_form input[type="tel"],
#edd_purchase_form .edd-input {
    height: 44px !important;
    font-size: 14px !important;
    padding: 0 14px !important;
    border: 1px solid #dde3ed !important;
    border-radius: 7px !important;
    width: 100% !important;
    color: #1A2332 !important;
    background: #fff !important;
    box-sizing: border-box !important;
    transition: border-color .15s !important;
}

#edd_purchase_form input[type="text"]:focus,
#edd_purchase_form input[type="email"]:focus,
#edd_purchase_form input[type="password"]:focus {
    outline: none !important;
    border-color: #1E6FA5 !important;
    background: #f7faff !important;
}

.i4y-section__body p,
.i4y-section__body .edd-form-group {
    margin: 0 0 14px;
}
.i4y-section__body p:last-child,
.i4y-section__body .edd-form-group:last-child {
    margin-bottom: 0;
}
.i4y-section__body fieldset {
    border: none;
    padding: 0;
    margin: 0 0 14px;
}
.i4y-section__body fieldset:last-child { margin-bottom: 0; }

/* ── Form labels — jednotné ───────────────────────────── */
#edd_purchase_form .edd-label,
#edd_purchase_form label.edd-label,
.edd-blocks-form__group label {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #6b7a90 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 5px !important;
    display: block !important;
}

#edd_purchase_form .edd-required-indicator {
    color: #e24b4a !important;
    margin-left: 2px !important;
}

#edd_purchase_form .edd-description {
    font-size: 11px !important;
    color: #9aa5b4 !important;
    margin: 2px 0 6px !important;
    display: block !important;
}

/* ── Vyplnené hodnoty vs placeholder ─────────────────── */
.edd-blocks-form__group input[type="text"],
.edd-blocks-form__group input[type="email"],
.edd-blocks-form__group select,
#edd_cc_address input,
#edd_cc_address select {
    color: #1a2332 !important;
    font-weight: 500 !important;
}

.edd-blocks-form__group input::placeholder,
#edd_cc_address input::placeholder {
    color: #aab0bb !important;
    font-weight: 400 !important;
}

.edd-blocks-form__group select option:not([value=""]) {
    color: #1a2332 !important;
}

/* ── Zelený border pre vyplnené polia (JS trieda .i4y-has-value) ── */
#edd_purchase_form input.i4y-has-value,
#edd_cc_address input.i4y-has-value,
.edd-blocks-form__group select,
#edd_cc_address select {
    border-color: #2ecc71 !important;
    box-shadow: none !important;
}

/* Neplatný formát — červený */
#edd_purchase_form input.i4y-invalid {
    border-color: #e24b4a !important;
    box-shadow: none !important;
}

/* Focus — modrý */
#edd_purchase_form input:focus,
#edd_cc_address input:focus {
    border-color: #1e6fa5 !important;
    box-shadow: 0 0 0 2px rgba(30, 111, 165, 0.2) !important;
    outline: none !important;
}

/* ── User-details spacing (separátor od CFM polí) ─────── */
.edd-blocks__user-details {
    margin-top: 20px !important;
    padding-top: 0 !important;
}

.edd-blocks-form__group {
    margin-bottom: 14px !important;
}

.edd-blocks-form__group:last-child {
    margin-bottom: 0 !important;
}

.edd-blocks-form__group {
    margin-bottom: 0px !important;
}

/* ── Select + chosen.js ───────────────────────────────── */
#edd_purchase_form select,
#edd_purchase_form .edd-select,
#billing_country {
    height: 44px !important;
    font-size: 14px !important;
    padding: 0 36px 0 14px !important;
    border: 1px solid #dde3ed !important;
    border-radius: 7px !important;
    width: 100% !important;
    color: #1A2332 !important;
    background-color: #fff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b7a90' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    transition: border-color .15s !important;
}

#edd_purchase_form select:focus,
#billing_country:focus {
    outline: none !important;
    border-color: #1E6FA5 !important;
}

.edd-select-chosen + .chosen-container {
    width: 100% !important;
}

.chosen-container .chosen-single {
    height: 44px !important;
    line-height: 44px !important;
    border: 1px solid #dde3ed !important;
    border-radius: 7px !important;
    font-size: 14px !important;
    padding: 0 14px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.chosen-container .chosen-single span {
    color: #1A2332 !important;
}

/* ── Login sekcia ─────────────────────────────────────── */

/* Skryť celý EDD wrapper — náš vlastný riadok ho nahradzuje */
.edd-blocks__checkout-forms--inline {
    display: none !important;
}


/* Login riadok — grid: ľavá strana (text+sub) | button vpravo */
.i4y-login-row {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    gap: 8px 12px !important;
    padding: 0 0 12px !important;
    margin: 0 0 12px !important;
}

.i4y-login-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    grid-column: 1 !important;
}

.i4y-login-text {
    font-size: 16px !important;
    color: #4a5568 !important;
    font-weight: 500 !important;
}

.i4y-login-sub {
    font-size: 12px !important;
    color: #9aa5b4 !important;
    font-style: italic !important;
}

.i4y-login-btn {
    grid-column: 2 !important;
    font-size: 13px !important;
    color: #1E6FA5 !important;
    background: transparent !important;
    border: 1px solid #1E6FA5 !important;
    border-radius: 6px !important;
    padding: 7px 16px !important;
    cursor: pointer !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    transition: background .15s, color .15s !important;
}

.i4y-login-btn:hover {
    background: #1E6FA5 !important;
    color: #fff !important;
}

/* ── Username pole — skryté (email sa používa ako username) ── */
.edd-blocks-form__group-username {
    display: none !important;
}

/* ── VAT checkbox ─────────────────────────────────────── */
#edd-vat-show-fields {
    width: 18px !important;
    height: 18px !important;
    cursor: pointer !important;
    vertical-align: middle !important;
}
#edd-vat-show-fields + label {
    font-size: 14px !important;
    vertical-align: middle !important;
    cursor: pointer !important;
}

/* ── VAT check result ─────────────────────────────────── */
#edd_purchase_form #edd-card-vat-wrap #edd-vat-check-result,
#edd-vat-check-result {
    margin-top: 14px !important;
    margin-bottom: 0 !important;
    padding: 10px 14px !important;
    box-sizing: border-box !important;
}

#edd_purchase_form .edd-vat-number-wrap {
    margin-bottom: 0 !important;
}

#edd-card-vat-wrap {
    margin-top: 8px !important;
}

#edd-vat-check-result.edd-alert-success,
#edd-vat-check-result.edd-vat__check--success {
    background: #f0faf4 !important;
    border: 1px solid #a8dbb9 !important;
    border-left: 3px solid #1a8a4a !important;
    border-radius: 7px !important;
    color: #1a5c35 !important;
    font-size: 12px !important;
    padding: 10px 14px !important;
    margin-top: 12px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    line-height: 1.4 !important;
    box-sizing: border-box !important;
}

#edd-vat-check-result.edd-alert-success::before {
    content: '\2713' !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    background: #1a8a4a !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    flex-shrink: 0 !important;
}

#edd-vat-check-result.edd-alert-error {
    background: #fef2f2 !important;
    border: 1px solid #f09595 !important;
    border-left: 3px solid #a32d2d !important;
    border-radius: 7px !important;
    color: #7f1d1d !important;
    font-size: 12px !important;
    padding: 10px 14px !important;
    margin-top: 12px !important;
    box-sizing: border-box !important;
}

/* ── Renew / migration notice (amber, before form) ────── */
.i4y-renew-notice {
    border: 2px dashed var(--i4y-amber);
    background: #fffbeb;
    border-radius: var(--i4y-radius);
    padding: 14px 18px;
    font-size: 0.88rem;
    color: #92400e;
    margin-bottom: 1.5rem;
}
.i4y-renew-notice strong { color: #78350f; }

/* ── Purchase / submit button ─────────────────────────── */
#edd_purchase_submit,
.i4y-section__body #edd_purchase_submit {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}
#edd-purchase-button,
input#edd-purchase-button,
.edd-submit,
#edd_purchase_submit input[type="submit"] {
    display: block !important;
    width: 100% !important;
    background: var(--i4y-blue) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 7px !important;
    padding: 14px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background 0.15s !important;
    text-align: center !important;
    margin-top: 16px !important;
    box-sizing: border-box !important;
}
#edd-purchase-button:hover,
input#edd-purchase-button:hover,
.edd-submit:hover,
#edd_purchase_submit input[type="submit"]:hover {
    background: #185e91 !important;
}

/* ── Stripe ───────────────────────────────────────────── */
.edd-stripe-new-card,
#edd_cc_fields { border: none; padding: 0; margin: 0; }
.StripeElement {
    padding: 10px 12px;
    border: 1px solid var(--i4y-border);
    border-radius: var(--i4y-radius);
    background: #fff;
    transition: border-color 0.15s;
}
.StripeElement--focus {
    border-color: var(--i4y-blue);
    box-shadow: 0 0 0 3px rgba(30, 111, 165, 0.12);
}

/* ── Gateway selector ─────────────────────────────────── */
#edd_payment_mode_select_wrap { margin-bottom: 16px; }
#edd-payment-mode-wrap {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important;
    gap: 10px !important;
    margin-top: 8px;
}
.edd-gateway-option {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 12px 8px !important;
    border: 1.5px solid #dde3ed !important;
    border-radius: 7px !important;
    cursor: pointer !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #6b7a90 !important;
    background: #fff !important;
    text-align: center !important;
    transition: border-color .15s, background .15s !important;
}
.edd-gateway-option:hover {
    border-color: var(--i4y-blue) !important;
}
.edd-gateway-option.edd-gateway-option-selected,
.edd-gateway-option:has(input:checked) {
    border-color: var(--i4y-blue) !important;
    border-width: 2px !important;
    background: #e8f3fb !important;
    color: var(--i4y-blue) !important;
    font-weight: 600 !important;
}
.edd-gateway-option input[type="radio"] {
    display: none !important;
}
.edd-payment-icons {
    display: flex !important;
    gap: 3px !important;
    align-items: center !important;
    justify-content: center !important;
}
.edd-payment-icons svg {
    width: 32px !important;
    height: 20px !important;
}

/* ── Final total (before submit) ──────────────────────── */
#edd_final_total_wrap {
    font-size: 1rem;
    font-weight: 700;
    color: var(--i4y-navy);
    margin: 12px 0;
    padding: 12px 0 0;
    border-top: 1px solid var(--i4y-border);
    display: flex;
    justify-content: space-between;
}

/* ── Payment Method v pravom stĺpci ──────────────────── */
.edd-blocks__cart .i4y-section {
    margin-top: 20px !important;
    border-radius: var(--i4y-radius);
    overflow: hidden;
}

.edd-blocks__cart #edd_payment_mode_select_wrap {
    margin-bottom: 0;
}
.edd-blocks__cart #edd-payment-mode-wrap {
    margin-top: 0;
}

/* ── Total band nad Stripe formulárom ────────────────── */
#i4y-total-band {
    background: #1a2332;
    color: #fff;
    border-radius: var(--i4y-radius) var(--i4y-radius) 0 0;
    padding: 14px 18px 12px;
    margin-bottom: 16px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
}
#i4y-total-band .i4y-band-total {
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.2;
}
#i4y-total-band .i4y-band-vat {
    font-size: 0.78rem;
    opacity: 0.65;
    letter-spacing: 0.01em;
}

/* ── Sticky mobile total bar ─────────────────────────── */
#i4y-sticky-total {
    display: none;
}
@media (max-width: 768px) {
    #i4y-sticky-total {
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 9999;
        background: #1a2332;
        color: #fff;
        padding: 12px 20px;
        padding-bottom: calc(12px + env(safe-area-inset-bottom));
        box-shadow: 0 -2px 12px rgba(0,0,0,0.18);
        gap: 12px;
        transition: transform 0.25s ease;
    }
    #i4y-sticky-total.i4y-sticky--hidden {
        transform: translateY(100%);
    }
    #i4y-sticky-total .i4y-sticky-product {
        font-size: 0.82rem;
        opacity: 0.8;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        min-width: 0;
        flex: 1;
    }
    #i4y-sticky-total .i4y-sticky-amount {
        font-size: 1.1rem;
        font-weight: 700;
        white-space: nowrap;
        flex-shrink: 0;
    }
}

/* Renew link / renewal form spacing */
.edd-blocks__cart .i4y-renew-link,
#edd_sl_renewal_form {
    margin-top: 12px !important;
    margin-bottom: 4px !important;
}

.edd-blocks__cart #edd_cc_fields {
    border: none !important;
    padding: 0 !important;
    margin-top: 12px;
}
.edd-blocks__cart #edd_cc_fields legend {
    display: none !important;
}

.edd-blocks__cart #edd_purchase_submit {
    margin-top: 12px;
}

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 860px) {
    .edd-blocks__checkout {
        grid-template-columns: 1fr !important;
    }
    .edd-blocks__purchase-form {
        order: 1 !important;
    }
    .edd-blocks__cart {
        order: 2 !important;
        position: static !important;
    }
}
