/* SERU funnels (CartFlows Instant Layout) — site colours, large clear text for older students. */
body.cartflows_step-template { --seru-accent: #0E9A88; --seru-accent-dk: #0A7F70; --seru-dark: #0B1B3F; --seru-text: #475569; --seru-muted: #64748B; --seru-line: #E3E8F0; --seru-soft: #F5F8FC; }
body.cartflows_step-template,
body.cartflows_step-template .cartflows-checkout-main-wrapper,
body.cartflows_step-template .wcf-embed-checkout-form,
body.cartflows_step-template .wcf-embed-checkout-form *:not(svg):not(path):not(.cartflows-icon),
body.cartflows_step-template .main-header--wrapper { font-family: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif !important; }

/* header */
body.cartflows_step-template .main-header--wrapper { border-bottom: 1px solid var(--seru-line); box-shadow: 0 1px 2px rgba(11,27,63,.04); }
body.cartflows_step-template .main-header--content { padding-top: 14px; padding-bottom: 14px; }
body.cartflows_step-template .main-header--action { display: none; }

/* left column: form */
body.cartflows_step-template .wcf-embed-checkout-form .woocommerce h3,
body.cartflows_step-template .wcf-embed-checkout-form #order_review_heading { font-size: 24px !important; font-weight: 800 !important; color: var(--seru-dark) !important; letter-spacing: -.02em; }
body.cartflows_step-template .wcf-embed-checkout-form .woocommerce-billing-fields__customer-login-label a { font-size: 16px; font-weight: 700; color: var(--seru-accent-dk) !important; }
body.cartflows_step-template .wcf-embed-checkout-form .woocommerce form .form-row input.input-text,
body.cartflows_step-template .wcf-embed-checkout-form .woocommerce form .form-row select,
body.cartflows_step-template .wcf-embed-checkout-form .select2-container--default .select2-selection--single { font-size: 18px !important; min-height: 60px; border: 1.5px solid #D5DCE7 !important; border-radius: 12px !important; color: var(--seru-dark) !important; background: #fff; box-shadow: none !important; }
body.cartflows_step-template .wcf-embed-checkout-form .woocommerce form .form-row input.input-text:focus,
body.cartflows_step-template .wcf-embed-checkout-form .select2-container--focus .select2-selection--single { border-color: var(--seru-accent) !important; box-shadow: 0 0 0 4px rgba(20,179,158,.18) !important; outline: 0; }
body.cartflows_step-template .wcf-embed-checkout-form.wcf-field-modern-label .woocommerce form .form-row label,
body.cartflows_step-template .wcf-embed-checkout-form .woocommerce form .form-row label { font-size: 15px !important; color: var(--seru-muted) !important; }
body.cartflows_step-template .wcf-embed-checkout-form .select2-container .select2-selection__rendered { font-size: 18px !important; color: var(--seru-dark) !important; }
body.cartflows_step-template .wcf-embed-checkout-form .woocommerce-privacy-policy-text p { font-size: 14px; color: var(--seru-muted); }
body.cartflows_step-template .wcf-embed-checkout-form .woocommerce-privacy-policy-text a { color: var(--seru-accent-dk); }
body.cartflows_step-template .wcf-embed-checkout-form #payment .woocommerce-info,
body.cartflows_step-template .wcf-embed-checkout-form .woocommerce-info { font-size: 16px; border-radius: 12px; }

/* pay button */
body.cartflows_step-template .wcf-embed-checkout-form .woocommerce #payment #place_order,
body.cartflows_step-template .wcf-embed-checkout-form #place_order { background: var(--seru-accent) !important; border: 0 !important; color: #fff !important; font-size: 20px !important; font-weight: 800 !important; min-height: 64px; border-radius: 14px !important; box-shadow: 0 14px 28px -14px rgba(14,154,136,.9) !important; transition: background-color .2s, transform .2s; }
body.cartflows_step-template .wcf-embed-checkout-form #place_order:hover,
body.cartflows_step-template .wcf-embed-checkout-form #place_order:focus { background: var(--seru-accent-dk) !important; transform: translateY(-1px); }

/* right column: order summary card */
body.cartflows_step-template .wcf-ic-layout-right-column .wcf-order-wrap { background: #fff; border: 1px solid var(--seru-line); border-radius: 18px; padding: 26px 26px 10px; box-shadow: 0 24px 48px -32px rgba(11,27,63,.35); }
body.cartflows_step-template .wcf-embed-checkout-form .instant-checkout-order-review-table .wcf-product-name { font-size: 18px !important; font-weight: 800 !important; color: var(--seru-dark) !important; line-height: 1.35; }
body.cartflows_step-template .wcf-embed-checkout-form .wcf-product-thumbnail img { width: 92px !important; height: auto !important; border-radius: 10px !important; }
body.cartflows_step-template .wcf-embed-checkout-form .instant-checkout-batch { background: var(--seru-dark) !important; }
body.cartflows_step-template .wcf-embed-checkout-form .instant-checkout-order-review-table td,
body.cartflows_step-template .wcf-embed-checkout-form .instant-checkout-order-review-table th { font-size: 17px !important; color: var(--seru-dark) !important; }
body.cartflows_step-template .wcf-embed-checkout-form .instant-checkout-order-review-table tr.order-total th,
body.cartflows_step-template .wcf-embed-checkout-form .instant-checkout-order-review-table tr.order-total td,
body.cartflows_step-template .wcf-embed-checkout-form .instant-checkout-order-review-table tr.order-total .amount { font-size: 26px !important; font-weight: 800 !important; }
body.cartflows_step-template .wcf-embed-checkout-form .wcf-optimized-coupon-field { font-size: 16px; font-weight: 700; color: var(--seru-accent-dk) !important; }

/* what's included + trust (added by seru-elementor-widgets) */
.seru-co-included { margin-top: 18px; background: #fff; border: 1px solid var(--seru-line, #E3E8F0); border-radius: 18px; padding: 22px 26px; }
.seru-co-included h4 { margin: 0 0 12px; font-size: 19px; font-weight: 800; color: #0B1B3F; }
.seru-co-included ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.seru-co-included li { position: relative; padding-left: 34px; font-size: 17px; line-height: 1.5; color: #0B1B3F; }
.seru-co-included li::before { content: ""; position: absolute; left: 0; top: 1px; width: 24px; height: 24px; border-radius: 50%; background: #EEFAF7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A7F70' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") no-repeat center / 14px; }
.seru-co-trust { display: grid; gap: 10px; margin-top: 16px; padding: 4px 6px; }
.seru-co-trust span { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; color: #475569; }
.seru-co-trust svg { width: 20px; height: 20px; flex: none; fill: none; stroke: #0E9A88; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* thank you */
body.cartflows_step-template .seru-ty { display: block; font-size: 18px; line-height: 1.6; color: #475569; }
body.cartflows_step-template .seru-ty strong { display: block; font-size: 26px; line-height: 1.3; font-weight: 800; color: #0B1B3F; margin-bottom: 8px; letter-spacing: -.02em; }
body.cartflows_step-template .seru-ty__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
body.cartflows_step-template .seru-ty__btn { display: inline-flex; align-items: center; justify-content: center; padding: 16px 24px; border-radius: 12px; background: #0E9A88; color: #fff !important; font-size: 18px; font-weight: 800; text-decoration: none !important; box-shadow: 0 12px 24px -12px rgba(14,154,136,.9); }
body.cartflows_step-template .seru-ty__btn:hover { background: #0A7F70; }
body.cartflows_step-template .seru-ty__btn.is-ghost { background: #fff; color: #0B1B3F !important; border: 2px solid #E3E8F0; box-shadow: none; }
body.cartflows_step-template .seru-ty__btn.is-ghost:hover { border-color: #0B1B3F; }

@media (max-width: 768px) {
  body.cartflows_step-template .wcf-ic-layout-right-column .wcf-order-wrap { padding: 18px 18px 6px; }
  body.cartflows_step-template .seru-ty strong { font-size: 22px; }
  body.cartflows_step-template .seru-ty__btn { width: 100%; }
}

/* summary: no empty space under the total */
body.cartflows_step-template .wcf-embed-checkout-form #order_review { min-height: 0 !important; }
body.cartflows_step-template .wcf-ic-layout-right-column .wcf-order-wrap { min-height: 0 !important; }

/* payment method box */
body.cartflows_step-template .wcf-embed-checkout-form #payment ul.payment_methods { border: 1.5px solid #D5DCE7 !important; border-radius: 14px !important; overflow: hidden; background: #fff; }
body.cartflows_step-template .wcf-embed-checkout-form #payment ul.payment_methods li { border-color: #E3E8F0 !important; }
body.cartflows_step-template .wcf-embed-checkout-form #payment ul.payment_methods li label { font-size: 17px !important; font-weight: 700; color: #0B1B3F !important; }
body.cartflows_step-template .wcf-embed-checkout-form #payment div.payment_box { background: #F5F8FC !important; font-size: 16px !important; color: #475569 !important; }

/* floating labels / placeholders a bit larger */
body.cartflows_step-template .wcf-embed-checkout-form.wcf-field-modern-label .woocommerce form .form-row label:not(.checkbox) { font-size: 16px !important; }
body.cartflows_step-template .wcf-embed-checkout-form .woocommerce form .form-row input.input-text::placeholder { font-size: 17px; color: #94A3B8; }

/* header logo: keep the full logo readable on phones */
body.cartflows_step-template .main-header--site-logo { width: auto !important; height: auto !important; }
body.cartflows_step-template .main-header--site-logo img { height: 44px !important; width: auto !important; max-width: 100%; }
@media (max-width: 480px) { body.cartflows_step-template .main-header--site-logo img { height: 38px !important; } }

/* Instant Thank You */
body.cartflows_step-template .wcf-thankyou-wrap { display: contents; } /* wrapper only appears on Windows hosts */
body.cartflows_step-template .seru-ty-box { display: grid; gap: 8px; justify-items: start; margin: 0 0 22px; padding: 22px 24px; border-radius: 16px; background: #EEFAF7; border: 1px solid #9ADBCF; }
body.cartflows_step-template .seru-ty-box.is-pending { background: #FFF8EB; border-color: #F5D7A1; }
body.cartflows_step-template .seru-ty-box strong { font-size: 24px; font-weight: 800; line-height: 1.3; color: #0B1B3F; letter-spacing: -.02em; }
body.cartflows_step-template .seru-ty-box span { font-size: 17px; line-height: 1.6; color: #475569; }
body.cartflows_step-template .seru-ty-box .seru-ty__btn { margin-top: 6px; }
body.cartflows_step-template .wcf-ic-button--ty,
body.cartflows_step-template a.wcf-ic-button { background: #0E9A88 !important; border-color: #0E9A88 !important; color: #fff !important; font-size: 18px !important; font-weight: 800 !important; padding: 16px 26px !important; border-radius: 12px !important; }
body.cartflows_step-template .wcf-ic-button--ty:hover { background: #0A7F70 !important; }
body.cartflows_step-template .woocommerce-order h2, body.cartflows_step-template .woocommerce-order .woocommerce-order-status { font-size: 20px !important; font-weight: 800 !important; color: #0B1B3F !important; }
body.cartflows_step-template .woocommerce-order p, body.cartflows_step-template .woocommerce-order td, body.cartflows_step-template .woocommerce-order th { font-size: 16px !important; }

/* account creation: visible from the start (CartFlows still hides it and shows "Log in" when the
   email already has an account, because its script sets an inline display:none) */
body.cartflows_step-template .wcf-create-account-section { display: block !important; }
body.cartflows_step-template .wcf-customer-login-section.wcf-show ~ .wcf-create-account-section { display: none !important; }
body.cartflows_step-template .wcf-create-account-section .form-row { margin-top: 4px; }

/* site header + footer around the funnel: keep the two-column layout inside the page */
body.cartflows_step-template .seru-funnel-page { position: relative; background: #fff; }
body.cartflows_step-template .seru-funnel-page .main-header--wrapper { display: none; }

/* breathing room between the site header / footer and the funnel */
body.cartflows_step-template .seru-funnel-page { padding: 48px 0 80px; background: #F5F8FC; }
body.cartflows_step-template .seru-funnel-page .main-container--wrapper,
body.cartflows_step-template .seru-funnel-page.wrapper .main-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
body.cartflows_step-template .seru-funnel-page .wcf-ic-layout-left-column,
body.cartflows_step-template .seru-funnel-page .wcf-instant-thankyou .woocommerce-order { background: #fff; border: 1px solid #E3E8F0; border-radius: 18px; padding: 36px 36px 28px !important; }
@media (max-width: 768px) {
  body.cartflows_step-template .seru-funnel-page { padding: 24px 0 48px; }
  body.cartflows_step-template .seru-funnel-page .main-container--wrapper,
  body.cartflows_step-template .seru-funnel-page.wrapper .main-container { padding: 0 14px; }
  body.cartflows_step-template .seru-funnel-page .wcf-ic-layout-left-column { padding: 22px 18px !important; }
}
/* inside the site page the Instant Layout columns must not paint full-height white panels */
body.cartflows_step-template .seru-funnel-page .wcf-customer-info-main-wrapper { background: transparent !important; border: 0 !important; }
body.cartflows_step-template .seru-funnel-page .wcf-ic-layout-right-column { background: transparent !important; min-height: 0 !important; }
body.cartflows_step-template .seru-funnel-page,
body.cartflows_step-template .seru-funnel-page .main-container--wrapper,
body.cartflows_step-template .seru-funnel-page .checkout-form--wrapper { min-height: 0 !important; height: auto !important; }
/* CartFlows' checkout markup leaves the outer wrapper open, so the footer ends up inside it:
   put the bottom gap on the inner container (which closes properly) instead of the wrapper. */
body.cartflows_step-template .seru-funnel-page { padding-bottom: 0 !important; }
body.cartflows_step-template .seru-funnel-page .main-container--wrapper,
body.cartflows_step-template .seru-funnel-page.wrapper .main-container { padding-bottom: 80px !important; }
body.cartflows_step-template .seru-funnel-page [data-elementor-type="footer"] { position: relative; }
@media (max-width: 768px) {
  body.cartflows_step-template .seru-funnel-page .main-container--wrapper,
  body.cartflows_step-template .seru-funnel-page.wrapper .main-container { padding-bottom: 48px !important; }
}
@media (max-width: 768px) {
  body.cartflows_step-template .seru-funnel-page { padding-top: 16px !important; }
  body.cartflows_step-template .seru-funnel-page .wcf-ic-layout-left-column { border: 0 !important; background: transparent !important; padding: 18px 4px 8px !important; }
  body.cartflows_step-template .seru-funnel-page .wcf-collapsed-order-review-section { border-radius: 14px; overflow: hidden; border: 1px solid #E3E8F0; }
}
/* Thank You keeps CartFlows' own two-tone layout (white left, grey right); only the gaps change */
body.cartflows_step-template .seru-funnel-page.wrapper { background: transparent; padding-top: 0 !important; }
body.cartflows_step-template .seru-funnel-page.wrapper .main-container { max-width: none; padding: 0 !important; }
body.cartflows_step-template .seru-funnel-page .wcf-instant-thankyou .woocommerce-order { background: transparent; border: 0; border-radius: 0; padding: 0 !important; }
/* Thank You: plain white left, light grey right (undo the checkout card styling it shares classes with) */
body.cartflows_step-template .seru-funnel-page.wrapper .wcf-ic-layout-left-column { border: 0 !important; border-radius: 0 !important; background: #fff !important; padding: 0 !important; }
body.cartflows_step-template .seru-funnel-page.wrapper .wcf-ic-layout-right-column { background: #F5F8FC !important; }
body.cartflows_step-template .seru-funnel-page.wrapper .wcf-instant-thankyou { border-bottom: 1px solid #E3E8F0; }

/* "Already have an account? Log in here" line (added by membership-bridge.php) */
body.cartflows_step-template .seru-co-account-note { margin: -6px 7px 18px; font-size: 16px; line-height: 1.6; color: #475569; }
body.cartflows_step-template .seru-co-account-note span { font-weight: 700; color: #0B1B3F; }
body.cartflows_step-template .seru-co-account-note a { font-weight: 800; color: #0A7F70 !important; text-decoration: underline; text-underline-offset: 3px; }
body.cartflows_step-template .woocommerce-billing-fields__customer-login-label { display: none !important; }
body.cartflows_step-template .seru-co-account-note { margin-left: 0 !important; margin-right: 0 !important; }
/* login mode: CartFlows' Login button + lost password in site style */
body.cartflows_step-template .wcf-customer-login-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 6px; }
body.cartflows_step-template input.wcf-customer-login-section__login-button,
body.cartflows_step-template .wcf-customer-login-section__login-button { background: #0E9A88 !important; border: 0 !important; color: #fff !important; font: 800 18px "Plus Jakarta Sans", system-ui, sans-serif !important; padding: 15px 30px !important; border-radius: 12px !important; cursor: pointer; }
body.cartflows_step-template .wcf-customer-login-section__login-button:hover { background: #0A7F70 !important; }
body.cartflows_step-template .wcf-customer-login-lost-password-url { font-size: 16px !important; font-weight: 700; color: #0A7F70 !important; }
