:root {
    --ccf-primary: #0f766e;
    --ccf-secondary: #1f2937;
    --ccf-accent: #2563eb;
    --ccf-primary-rgb: 15, 118, 110;
    --ccf-secondary-rgb: 31, 41, 55;
    --ccf-accent-rgb: 37, 99, 235;
    --ccf-bg: #f5f8fb;
    --ccf-surface: #ffffff;
    --ccf-soft: #f8fafc;
    --ccf-border: #dbe5ee;
    --ccf-text: #061833;
    --ccf-muted: #64748b;
    --ccf-radius: 22px;
    --ccf-shadow: 0 24px 70px rgba(15, 23, 42, 0.08);
    --ccf-max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.ccf-theme {
    margin: 0;
    background: radial-gradient(circle at top, rgba(var(--ccf-primary-rgb), 0.08), transparent 34rem), var(--ccf-bg);
    color: var(--ccf-text);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}
body.admin-bar .ccf-site-header { top: 32px; }
a { color: var(--ccf-primary); text-decoration-thickness: 1px; text-underline-offset: 3px; }
img { max-width: 100%; height: auto; }
.ccf-skip-link { position: absolute; left: -9999px; }
.ccf-skip-link:focus { left: 1rem; top: 1rem; z-index: 100000; background: #fff; padding: .75rem 1rem; border-radius: .75rem; }
.screen-reader-text { position:absolute; left:-9999px; }

.ccf-site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(219, 229, 238, 0.86);
}
.ccf-header-inner {
    width: min(var(--ccf-max), calc(100% - 40px));
    margin: 0 auto;
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.ccf-site-logo {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--ccf-text);
    text-decoration: none;
    font-weight: 800;
    letter-spacing: -0.02em;
}
.ccf-site-logo-img { max-height: 42px; width: auto; display: block; }
.ccf-site-logo-mark {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: var(--ccf-primary);
    color: #fff;
    font-weight: 900;
}
.ccf-site-logo-text { font-size: 1.05rem; }
.ccf-nav {
    display: flex;
    align-items: center;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.ccf-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 13px;
    border-radius: 999px;
    color: var(--ccf-secondary);
    text-decoration: none;
    font-weight: 700;
    font-size: 0.93rem;
}
.ccf-nav a:hover,
.ccf-nav a:focus { background: rgba(var(--ccf-primary-rgb), 0.1); color: var(--ccf-primary); }
.ccf-menu-toggle { display: none; }

.ccf-main {
    width: min(var(--ccf-max), calc(100% - 40px));
    margin: 0 auto;
    padding: 42px 0 70px;
}
.ccf-page-card,
.ccf-woo-card,
.ccf-section,
.ccf-hero {
    background: rgba(255,255,255,.93);
    border: 1px solid var(--ccf-border);
    border-radius: var(--ccf-radius);
    box-shadow: var(--ccf-shadow);
}
.ccf-page-card,
.ccf-woo-card { padding: clamp(22px, 4vw, 44px); border-top: 7px solid var(--ccf-primary); }
.ccf-page-header { text-align: center; margin-bottom: 28px; }
.ccf-page-header h1,
.ccf-section-heading h2,
.ccf-hero h1 { margin: .25rem 0 .75rem; line-height: 1.06; letter-spacing: -0.045em; color: var(--ccf-text); }
.ccf-page-header h1 { font-size: clamp(2rem, 4vw, 3.3rem); }
.ccf-eyebrow { display: inline-block; color: var(--ccf-primary); font-size: .78rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.ccf-page-content > *:first-child { margin-top: 0; }
.ccf-page-content > *:last-child { margin-bottom: 0; }

.ccf-hero {
    min-height: 560px;
    padding: clamp(28px, 6vw, 72px);
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
    gap: 42px;
    align-items: center;
    border-top: 7px solid var(--ccf-primary);
}
.ccf-hero h1 { font-size: clamp(2.5rem, 6vw, 5.4rem); max-width: 840px; }
.ccf-hero p { color: var(--ccf-muted); font-size: clamp(1.05rem, 2vw, 1.28rem); max-width: 720px; }
.ccf-hero-actions,
.ccf-contact-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
.ccf-button,
button.ccf-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #payment #place_order {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 0 28px !important;
    border-radius: 16px !important;
    border: 0 !important;
    background: var(--ccf-primary) !important;
    color: #fff !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    box-shadow: 0 18px 34px rgba(var(--ccf-primary-rgb), .22) !important;
    cursor: pointer;
}
.ccf-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #payment #place_order:hover { filter: brightness(.95); }
.ccf-button-secondary { background: rgba(var(--ccf-primary-rgb), .1) !important; color: var(--ccf-primary) !important; box-shadow: none !important; }
.ccf-hero-card { display: grid; gap: 14px; }
.ccf-mini-step { display: flex; align-items: center; gap: 14px; padding: 18px; border-radius: 18px; border: 1px solid var(--ccf-border); background: var(--ccf-soft); font-weight: 800; }
.ccf-mini-step strong { width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #fff; color: var(--ccf-primary); border: 1px solid rgba(var(--ccf-primary-rgb), .22); }
.ccf-mini-step.active { background: var(--ccf-primary); color: #fff; }
.ccf-mini-step.active strong { background: #fff; color: var(--ccf-primary); }

.ccf-section { margin-top: 28px; padding: clamp(24px, 4vw, 46px); scroll-margin-top: 92px; }
.ccf-section-heading { text-align: center; max-width: 780px; margin: 0 auto 30px; }
.ccf-section-heading h2 { font-size: clamp(2rem, 4vw, 3.1rem); }
.ccf-section-heading p { color: var(--ccf-muted); font-size: 1.05rem; }
.ccf-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ccf-feature-card,
.ccf-timeline > div,
.ccf-faq-list details {
    background: var(--ccf-soft);
    border: 1px solid var(--ccf-border);
    border-radius: 18px;
    padding: 22px;
}
.ccf-feature-card h3,
.ccf-timeline h3 { margin: 0 0 8px; }
.ccf-feature-card p,
.ccf-timeline p { color: var(--ccf-muted); margin: 0; }
.ccf-timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.ccf-timeline strong { display: inline-flex; color: var(--ccf-primary); margin-bottom: 12px; font-size: .9rem; letter-spacing: .12em; }
.ccf-shortcode-shell { max-width: 980px; margin: 0 auto; }
.ccf-faq-list { display: grid; gap: 14px; max-width: 860px; margin: 0 auto; }
.ccf-faq-list summary { cursor: pointer; font-weight: 900; color: var(--ccf-text); }
.ccf-faq-list p { color: var(--ccf-muted); margin-bottom: 0; }
.ccf-contact-strip { display: flex; justify-content: space-between; gap: 28px; align-items: center; }
.ccf-contact-strip h2 { margin: .25rem 0 .25rem; }
.ccf-contact-strip p { color: var(--ccf-muted); margin: 0; }


.ccf-site-footer {
    background: #ffffff;
    border-top: 1px solid var(--ccf-border);
    color: var(--ccf-muted);
}
.ccf-footer-inner {
    width: min(var(--ccf-max), calc(100% - 40px));
    margin: 0 auto;
    padding: 38px 0 26px;
    display: grid;
    grid-template-columns: minmax(260px, 1.45fr) minmax(190px, .9fr) minmax(190px, .85fr) minmax(210px, .85fr);
    gap: 28px;
    align-items: start;
}
.ccf-footer-column {
    min-width: 0;
    display: grid;
    gap: 9px;
    font-size: 0.93rem;
    line-height: 1.55;
}
.ccf-footer-column strong {
    color: var(--ccf-text);
    font-size: 0.82rem;
    letter-spacing: .11em;
    text-transform: uppercase;
    margin-bottom: 4px;
}
.ccf-footer-brand {
    display: inline-flex;
    align-items: center;
    margin-bottom: 2px;
}
.ccf-footer-brand .ccf-site-logo-mark {
    width: 34px;
    height: 34px;
    border-radius: 12px;
}
.ccf-footer-brand .ccf-site-logo-text {
    color: var(--ccf-text);
    font-weight: 900;
}
.ccf-footer-brand .ccf-site-logo-img {
    max-height: 42px;
    max-width: 220px;
    object-fit: contain;
}
.ccf-footer-brand-block p {
    margin: 0;
    max-width: 520px;
}
.ccf-footer-note {
    margin-top: 4px;
    color: var(--ccf-muted);
    font-size: 0.86rem;
    line-height: 1.6;
}
.ccf-footer-disclaimer-block .ccf-footer-note {
    max-width: 560px;
}
.ccf-footer-disclaimer-block .ccf-footer-note p {
    margin: 0 0 0.55rem;
}
.ccf-footer-disclaimer-block .ccf-footer-note p:last-child {
    margin-bottom: 0;
}
.ccf-footer-legal-details span {
    color: var(--ccf-muted);
}
.ccf-footer-contact a,
.ccf-footer-links a {
    color: var(--ccf-secondary) !important;
    font-weight: 750;
    text-decoration: none;
    overflow-wrap: anywhere;
}
.ccf-footer-contact a:hover,
.ccf-footer-links a:hover {
    color: var(--ccf-primary);
    text-decoration: underline;
}
.ccf-footer-links {
    display: grid;
    gap: 8px;
}
.ccf-footer-compliance {
    grid-column: 1 / -1;
    margin-top: 8px;
    padding-top: 22px;
    border-top: 1px solid var(--ccf-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}
.ccf-footer-compliance-label {
    color: var(--ccf-muted);
    font-size: 0.82rem;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.ccf-footer-compliance-banners {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
}
.ccf-compliance-banner {
    display: inline-flex;
    width: min(250px, 100%);
    min-height: 50px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    overflow: hidden;
    background: var(--ccf-soft);
    border: 1px solid var(--ccf-border);
    text-decoration: none;
}
.ccf-compliance-banner img {
    display: block;
    max-width: 250px;
    width: 100%;
    height: auto;
}
.ccf-payment-provider-banner img {
    object-fit: contain;
}

/* WooCommerce */
.ccf-woo-main { max-width: 1120px; }
.ccf-woo-card .woocommerce { width: 100%; }
.ccf-woocommerce-page .woocommerce-notices-wrapper,
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message {
    border-radius: 16px;
    border: 1px solid var(--ccf-border);
    background: var(--ccf-soft);
    color: var(--ccf-text);
    padding: 16px 18px;
    margin-bottom: 18px;
}
.woocommerce table.shop_table {
    border: 1px solid var(--ccf-border) !important;
    border-radius: 18px !important;
    overflow: hidden;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #fff;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { padding: 16px 18px !important; border-color: var(--ccf-border) !important; }
.woocommerce table.shop_table th { background: var(--ccf-soft); color: var(--ccf-text); }
.woocommerce-checkout #payment,
.woocommerce #payment { background: var(--ccf-soft) !important; border: 1px solid var(--ccf-border); border-radius: 18px !important; overflow: hidden; }
.woocommerce-checkout #payment div.payment_box { background: rgba(var(--ccf-primary-rgb), .08) !important; color: var(--ccf-text) !important; border-radius: 14px; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: rgba(var(--ccf-primary-rgb), .08) !important; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    min-height: 48px;
    border: 1px solid var(--ccf-border);
    border-radius: 14px;
    padding: 10px 14px;
}
.woocommerce-order-overview { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; padding: 0 !important; margin: 0 0 24px !important; }
.woocommerce-order-overview li { list-style: none !important; border: 1px solid var(--ccf-border) !important; border-radius: 16px; padding: 16px !important; background: var(--ccf-soft); margin: 0 !important; }
.woocommerce-order-overview li strong { display: block; margin-top: 4px; }
.woocommerce-order-received .woocommerce-order > p:first-child { font-size: 1.2rem; background: var(--ccf-soft); border: 1px solid var(--ccf-border); border-radius: 16px; padding: 18px; }
.woocommerce .woocommerce-customer-details address { border: 1px solid var(--ccf-border); border-radius: 16px; padding: 18px; background: var(--ccf-soft); }

@media (max-width: 960px) {
    body.admin-bar .ccf-site-header { top: 46px; }
    .ccf-header-inner { min-height: 68px; }
    .ccf-menu-toggle { display: inline-flex; width: 44px; height: 44px; border: 1px solid var(--ccf-border); border-radius: 14px; background: #fff; flex-direction: column; justify-content: center; gap: 5px; padding: 0 11px; }
    .ccf-menu-toggle span:not(.screen-reader-text) { height: 2px; background: var(--ccf-text); border-radius: 999px; width: 100%; }
    .ccf-site-nav { position: fixed; left: 20px; right: 20px; top: 84px; background: #fff; border: 1px solid var(--ccf-border); border-radius: 20px; box-shadow: var(--ccf-shadow); padding: 12px; transform: translateY(-12px); opacity: 0; pointer-events: none; transition: .18s ease; }
    body.admin-bar .ccf-site-nav { top: 100px; }
    body.ccf-menu-open .ccf-site-nav { transform: translateY(0); opacity: 1; pointer-events: auto; }
    .ccf-nav { display: grid; gap: 4px; }
    .ccf-nav a { width: 100%; }
    .ccf-hero { grid-template-columns: 1fr; min-height: auto; }
    .ccf-grid-3,
    .ccf-timeline { grid-template-columns: 1fr; }
    .ccf-contact-strip { flex-direction: column; align-items: flex-start; }
    .ccf-footer-inner { grid-template-columns: 1fr 1fr; }
    .ccf-footer-contact { text-align: left; }
    .ccf-footer-compliance { align-items: flex-start; flex-direction: column; }
    .ccf-footer-compliance-banners { justify-content: flex-start; }
    .woocommerce-order-overview { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
    .ccf-main { width: min(100% - 24px, var(--ccf-max)); padding: 24px 0 44px; }
    .ccf-header-inner,
    .ccf-footer-inner { width: min(100% - 24px, var(--ccf-max)); }
    .ccf-footer-inner { grid-template-columns: 1fr; gap: 22px; }
    .ccf-page-card,
    .ccf-woo-card,
    .ccf-section,
    .ccf-hero { border-radius: 18px; }
    .ccf-page-card,
    .ccf-woo-card { padding: 18px; }
    .ccf-section,
    .ccf-hero { padding: 20px; }
    .ccf-hero h1 { font-size: 2.25rem; }
    .ccf-button,
    .woocommerce a.button,
    .woocommerce button.button,
    .woocommerce input.button,
    .woocommerce #payment #place_order { width: 100%; }
    .woocommerce-order-overview { grid-template-columns: 1fr; }
    .woocommerce table.shop_table th,
    .woocommerce table.shop_table td { padding: 12px !important; font-size: .92rem; }
}

/* Form-first homepage */
.ccf-order-first {
    display: block;
    min-height: auto;
    padding: clamp(24px, 4vw, 52px);
}
.ccf-order-first-heading {
    max-width: 1040px;
    margin: 0 auto 24px;
    text-align: center;
}
.ccf-order-first-heading h1 {
    margin: 0 0 12px;
    font-size: clamp(2rem, 4vw, 3.45rem);
    line-height: 1.05;
    letter-spacing: -0.045em;
    color: var(--ccf-text);
}
.ccf-order-first-heading p {
    margin: 0;
    color: var(--ccf-muted);
    font-size: clamp(1rem, 1.7vw, 1.15rem);
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}
.ccf-shortcode-shell-wide {
    max-width: 1080px;
}
.ccf-shortcode-shell .ccf-wizard-head {
    text-align: center;
    margin-bottom: 24px;
}
.ccf-shortcode-shell .ccf-wizard-head .ccf-muted {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.ccf-already-ordered {
    margin: 26px auto 0;
    max-width: 1080px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 22px;
    border: 1px solid var(--ccf-border);
    border-radius: 20px;
    background: var(--ccf-soft);
}
.ccf-already-ordered h2 {
    margin: 0 0 6px;
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    letter-spacing: -0.025em;
    color: var(--ccf-text);
}
.ccf-already-ordered p {
    margin: 0;
    color: var(--ccf-muted);
}
.ccf-anchor-target {
    display: block;
    position: relative;
    top: -100px;
    visibility: hidden;
}

@media (max-width: 760px) {
    .ccf-already-ordered {
        flex-direction: column;
        align-items: stretch;
        text-align: left;
    }
}


/* v1.0.6: form-first homepage alignment polish */
.ccf-order-first-heading {
    width: 100%;
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.ccf-order-first-heading h1,
.ccf-order-first-heading p {
    width: 100%;
    text-align: center;
}
.ccf-order-first .ccf-shortcode-shell {
    width: 100%;
}
.ccf-order-first .ccf-form {
    margin-top: 0;
}
.ccf-order-first .ccf-form-card::before {
    display: none !important;
}


/* v1.0.7: homepage text/style settings from plugin */
.ccf-order-first-heading {
    text-align: var(--ccf-home-align, center);
    align-items: var(--ccf-home-align, center);
}
.ccf-order-first-heading .ccf-theme-hero-title {
    font-size: var(--ccf-home-title-size, clamp(2.2rem, 5vw, 3.7rem)) !important;
    color: var(--ccf-home-title-color, var(--ccf-text)) !important;
    text-align: var(--ccf-home-align, center) !important;
}
.ccf-order-first-heading .ccf-theme-hero-subtitle {
    font-size: var(--ccf-home-subtitle-size, 1.15rem) !important;
    color: var(--ccf-home-subtitle-color, var(--ccf-muted)) !important;
    text-align: var(--ccf-home-align, center) !important;
}


/* v1.1.0 — client-approved homepage */
.ccf-client-homepage{padding-top:34px}
.ccf-client-hero{
    scroll-margin-top:96px;
    padding:clamp(22px,3.8vw,44px) 0 10px;
}
.ccf-client-hero-grid{
    display:grid;
    grid-template-columns:minmax(320px,.82fr) minmax(560px,1.18fr);
    gap:30px;
    align-items:start;
}
.ccf-client-hero-copy{padding:34px 4px 18px;text-align:left}
.ccf-client-hero-copy h1{
    margin:0 0 28px;
    color:var(--ccf-home-title-color,var(--ccf-text));
    font-size:clamp(3rem,5.3vw,var(--ccf-home-title-size,64px));
    line-height:.98;
    letter-spacing:-.06em;
}
.ccf-client-benefits{display:grid;gap:16px;margin:0 0 30px}
.ccf-client-benefit{display:flex;align-items:center;gap:15px;font-size:clamp(1.12rem,2vw,1.42rem);font-weight:850;letter-spacing:-.025em;color:var(--ccf-text)}
.ccf-client-benefit-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;flex:0 0 auto;background:rgba(var(--ccf-primary-rgb),.1);border:1px solid rgba(var(--ccf-primary-rgb),.2);color:var(--ccf-primary)}
.ccf-client-benefit-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ccf-client-proofs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:26px}
.ccf-client-proof{background:rgba(255,255,255,.72);border:1px solid var(--ccf-border);border-radius:17px;padding:15px;display:grid;gap:3px}
.ccf-client-proof strong{font-size:1.08rem;color:var(--ccf-text)}
.ccf-client-proof span{font-size:.84rem;color:var(--ccf-muted);line-height:1.45}
.ccf-client-order-card{background:rgba(255,255,255,.95);border:1px solid var(--ccf-border);border-top:7px solid var(--ccf-primary);border-radius:28px;box-shadow:var(--ccf-shadow);padding:22px;min-width:0}
.ccf-client-order-heading{text-align:center;max-width:600px;margin:0 auto 14px}
.ccf-client-order-heading h2{margin:0 0 7px;font-size:clamp(1.65rem,3vw,2rem);letter-spacing:-.04em;color:var(--ccf-text)}
.ccf-client-order-heading p{margin:0;color:var(--ccf-muted);font-size:1rem}
.ccf-client-shortcode-shell .ccf-form-card{box-shadow:none!important;margin:0!important}
.ccf-client-shortcode-shell .ccf-form{max-width:none!important}
.ccf-client-shortcode-shell .ccf-wizard-card{border-top:0!important}

.ccf-pricing-section{scroll-margin-top:96px}
.ccf-client-pricing-wrap{display:flex;justify-content:center}
.ccf-client-price-card{width:min(100%,590px);background:#fff;border:1px solid var(--ccf-border);border-radius:26px;padding:clamp(25px,4vw,38px);box-shadow:0 18px 46px rgba(15,23,42,.06)}
.ccf-client-price-card h3{margin:0 0 12px;font-size:clamp(1.6rem,3vw,2rem);letter-spacing:-.04em}
.ccf-client-tax-label{color:var(--ccf-muted);font-size:.95rem;margin-bottom:4px}
.ccf-client-price{margin:0 0 20px;font-size:clamp(2.7rem,6vw,4rem);font-weight:950;line-height:1;letter-spacing:-.06em;color:var(--ccf-text)}
.ccf-client-price .woocommerce-Price-currencySymbol{font-size:.48em;font-weight:800;letter-spacing:-.02em}
.ccf-client-price-button{width:100%;margin-bottom:24px}
.ccf-client-price-benefits{list-style:none;padding:0;margin:0;display:grid;gap:13px;color:#475569}
.ccf-client-price-benefits li{position:relative;padding-left:30px}
.ccf-client-price-benefits li:before{content:"✓";position:absolute;left:0;top:-1px;color:var(--ccf-primary);font-weight:950;font-size:1.15rem}
.ccf-timeline-3{grid-template-columns:repeat(3,1fr)}
.ccf-process-section{scroll-margin-top:96px}

@media(max-width:1080px){
    .ccf-client-hero-grid{grid-template-columns:1fr}
    .ccf-client-hero-copy{padding-top:6px}
    .ccf-client-order-card{max-width:860px;width:100%;margin:0 auto}
}
@media(max-width:760px){
    .ccf-client-homepage{padding-top:18px}
    .ccf-client-hero{padding-top:10px}
    .ccf-client-hero-copy h1{font-size:clamp(2.5rem,13vw,3.8rem)}
    .ccf-client-benefit{font-size:1.08rem}
    .ccf-client-benefit-icon{width:48px;height:48px;border-radius:16px}
    .ccf-client-proofs{grid-template-columns:1fr}
    .ccf-client-order-card{padding:14px;border-radius:22px}
    .ccf-timeline-3{grid-template-columns:1fr}
    .ccf-contact-strip{align-items:flex-start}
}


/* v1.1.1 — compact shortcode layout inside homepage hero */
.ccf-client-shortcode-shell .ccf-form{
    margin:18px 0 0!important;
}
.ccf-client-shortcode-shell .ccf-form-card{
    padding:18px!important;
}
.ccf-client-shortcode-shell .ccf-wizard-layout{
    grid-template-columns:180px minmax(0,1fr)!important;
    gap:16px!important;
}
.ccf-client-shortcode-shell .ccf-stepper{
    padding:6px!important;
}
.ccf-client-shortcode-shell .ccf-step-indicator{
    gap:10px!important;
    padding-left:8px!important;
    padding-right:8px!important;
}
.ccf-client-shortcode-shell .ccf-step-indicator strong{
    line-height:1.25;
}
.ccf-client-shortcode-shell .ccf-wizard-body{
    min-width:0;
    padding:22px!important;
}
.ccf-client-shortcode-shell .ccf-lookup-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:stretch;
    gap:10px;
}
.ccf-client-shortcode-shell .ccf-lookup-row input{
    min-width:0;
}
.ccf-client-shortcode-shell .ccf-lookup-row .ccf-button{
    margin-top:0!important;
    min-width:145px;
    padding-left:18px!important;
    padding-right:18px!important;
}
@media(max-width:1080px){
    .ccf-client-shortcode-shell .ccf-wizard-layout{
        grid-template-columns:210px minmax(0,1fr)!important;
    }
}
@media(max-width:760px){
    .ccf-client-shortcode-shell .ccf-form-card{padding:14px!important;}
    .ccf-client-shortcode-shell .ccf-wizard-layout{grid-template-columns:1fr!important;gap:14px!important;}
    .ccf-client-shortcode-shell .ccf-stepper{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
    .ccf-client-shortcode-shell .ccf-lookup-row{grid-template-columns:1fr!important;}
    .ccf-client-shortcode-shell .ccf-lookup-row .ccf-button{width:100%;min-width:0;}
}

/* v1.1.2 — full-viewport homepage hero */
.ccf-client-homepage{
    padding-top:0;
}
.ccf-client-hero{
    padding-top:8px;
}
@media(min-width:1081px){
    .ccf-client-hero{
        min-height:calc(100vh - 76px);
        min-height:calc(100svh - 76px);
        display:flex;
        align-items:flex-start;
    }
    body.admin-bar .ccf-client-hero{
        min-height:calc(100vh - 108px);
        min-height:calc(100svh - 108px);
    }
    .ccf-client-hero-grid{
        width:100%;
        padding-top:0;
    }
}
@media(max-width:1080px){
    .ccf-client-homepage{
        padding-top:0;
    }
    .ccf-client-hero{
        padding-top:8px;
    }
}

/* v1.1.4 — balanced viewport sections */
@media (min-width: 761px) {
    /* Pricing gets a true one-screen composition without clipping its benefits. */
    .ccf-client-homepage > .ccf-pricing-section {
        min-height: calc(100vh - 104px);
        min-height: calc(100svh - 104px);
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding-top: clamp(22px, 3vw, 34px);
        padding-bottom: clamp(22px, 3vw, 34px);
    }
    body.admin-bar .ccf-client-homepage > .ccf-pricing-section {
        min-height: calc(100vh - 136px);
        min-height: calc(100svh - 136px);
    }
    .ccf-pricing-section .ccf-section-heading {
        margin-bottom: 18px;
    }
    .ccf-pricing-section .ccf-section-heading h2 {
        margin-bottom: 8px;
    }
    .ccf-pricing-section .ccf-section-heading p {
        margin-top: 0;
        margin-bottom: 0;
    }
    .ccf-pricing-section .ccf-client-price-card {
        padding: 26px 32px;
    }
    .ccf-pricing-section .ccf-client-price-card h3 {
        margin-bottom: 7px;
    }
    .ccf-pricing-section .ccf-client-price {
        margin-bottom: 14px;
        font-size: clamp(2.8rem, 5vw, 3.75rem);
    }
    .ccf-pricing-section .ccf-client-price-button {
        min-height: 50px;
        margin-bottom: 16px;
    }
    .ccf-pricing-section .ccf-client-price-benefits {
        gap: 8px;
    }

    /* Process + Contact intentionally share one viewport. */
    .ccf-client-homepage > .ccf-process-contact-section {
        min-height: calc(100vh - 104px);
        min-height: calc(100svh - 104px);
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: clamp(28px, 4vh, 42px);
        padding-top: clamp(28px, 4vw, 44px);
        padding-bottom: clamp(28px, 4vw, 44px);
    }
    body.admin-bar .ccf-client-homepage > .ccf-process-contact-section {
        min-height: calc(100vh - 136px);
        min-height: calc(100svh - 136px);
    }
    .ccf-process-block {
        scroll-margin-top: 96px;
    }
    .ccf-process-block .ccf-section-heading {
        margin-bottom: 22px;
    }
    .ccf-process-block .ccf-timeline > div {
        padding: 20px 22px;
    }
    .ccf-contact-block {
        scroll-margin-top: 96px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 32px;
        padding: 24px 28px;
        border: 1px solid rgba(var(--ccf-primary-rgb), .16);
        border-radius: 22px;
        background: linear-gradient(135deg, rgba(var(--ccf-primary-rgb), .07), rgba(255,255,255,.86));
    }
    .ccf-contact-block h2 {
        margin: .2rem 0 .35rem;
        font-size: clamp(1.55rem, 2.5vw, 2rem);
    }
    .ccf-contact-block p {
        margin: 0;
        color: var(--ccf-muted);
    }
    .ccf-contact-block .ccf-contact-actions {
        margin-top: 0;
        justify-content: flex-end;
        max-width: 520px;
    }
    .ccf-contact-block .ccf-button {
        min-height: 50px;
    }
}

@media (max-width: 760px) {
    .ccf-client-homepage > .ccf-pricing-section,
    .ccf-client-homepage > .ccf-process-contact-section {
        min-height: auto;
    }
    .ccf-client-homepage > .ccf-pricing-section {
        padding-top: 28px;
        padding-bottom: 28px;
    }
    .ccf-client-homepage > .ccf-process-contact-section {
        display: flex;
        flex-direction: column;
        gap: 24px;
        padding-top: 28px;
        padding-bottom: 28px;
    }
    .ccf-contact-block {
        display: grid;
        gap: 18px;
        padding: 20px;
        border: 1px solid rgba(var(--ccf-primary-rgb), .16);
        border-radius: 18px;
        background: rgba(var(--ccf-primary-rgb), .06);
    }
    .ccf-contact-block .ccf-contact-actions {
        margin-top: 0;
        align-items: stretch;
    }
    .ccf-contact-block .ccf-button {
        width: 100%;
    }
}

/* v1.1.6 — add one visual row between pricing intro and price card */
@media (min-width: 761px) {
    .ccf-pricing-section .ccf-section-heading {
        margin-bottom: 34px;
    }
    .ccf-pricing-section .ccf-section-heading .ccf-eyebrow {
        margin-bottom: 7px;
        font-size: .82rem;
    }
    .ccf-pricing-section .ccf-section-heading h2 {
        font-size: clamp(2.35rem, 4.1vw, 3.25rem);
        line-height: 1.02;
        margin-bottom: 6px;
    }
    .ccf-pricing-section .ccf-section-heading p {
        font-size: clamp(.98rem, 1.35vw, 1.08rem);
        line-height: 1.4;
    }
    .ccf-pricing-section .ccf-client-price-card {
        width: min(100%, 560px);
        padding: 20px 28px;
        border-radius: 23px;
    }
    .ccf-pricing-section .ccf-client-price-card h3 {
        margin-bottom: 4px;
        font-size: clamp(1.42rem, 2.2vw, 1.75rem);
        line-height: 1.1;
    }
    .ccf-pricing-section .ccf-client-tax-label {
        margin-bottom: 5px;
        font-size: .95rem;
        line-height: 1.25;
    }
    .ccf-pricing-section .ccf-client-price {
        margin-bottom: 10px;
        font-size: clamp(2.45rem, 4.6vw, 3.3rem);
        line-height: .96;
    }
    .ccf-pricing-section .ccf-client-price-button {
        min-height: 46px;
        padding-top: 11px;
        padding-bottom: 11px;
        margin-bottom: 12px;
        font-size: .96rem;
        border-radius: 16px;
    }
    .ccf-pricing-section .ccf-client-price-benefits {
        gap: 5px;
        font-size: .95rem;
        line-height: 1.32;
    }
    .ccf-pricing-section .ccf-client-price-benefits li {
        padding-left: 26px;
    }
    .ccf-pricing-section .ccf-client-price-benefits li:before {
        font-size: 1rem;
        top: -1px;
    }
}

/* v1.1.7 — mobile hero cleanup */
@media (max-width: 760px) {
    /* Hide the three secondary proof cards (Online / PDF / Suport) on mobile. */
    .ccf-client-proofs {
        display: none !important;
    }

    /* Hide the decorative teal strip above the embedded CCF form on mobile. */
    .ccf-client-shortcode-shell .ccf-form-card::before,
    .ccf-client-shortcode-shell .ccf-form-card:before {
        display: none !important;
        content: none !important;
    }
}

/* v1.1.8 — remove repetitive hero title on mobile */
@media (max-width: 760px) {
    .ccf-client-hero-copy h1 {
        display: none !important;
    }

    /* Tighten the space left behind by the removed title. */
    .ccf-client-hero-copy {
        padding-top: 0 !important;
    }

    .ccf-client-benefits {
        margin-top: 0 !important;
    }
}


/* v1.1.9 — mobile hero balance */
.ccf-client-mobile-benefit-title {
    display: none;
}

@media (max-width: 760px) {
    .ccf-client-mobile-benefit-title {
        display: block;
        margin: 0 0 18px;
        color: var(--ccf-text);
        font-size: 1.35rem;
        line-height: 1.2;
        font-weight: 850;
        letter-spacing: -0.025em;
        text-align: center;
    }

    .ccf-client-hero-copy {
        padding-bottom: 0 !important;
    }

    .ccf-client-benefits {
        gap: 14px;
        margin-bottom: 10px !important;
    }

    .ccf-client-hero-grid {
        gap: 18px;
    }
}
