/* ===========================
   SolveForce Clean Overrides
   Scope via .sf-clean
   =========================== */
.sf-clean{--sf-accent:#0a7cff;--sf-bg:#fff;--sf-text:#1a1d23;--sf-border:#e6e8ec;--sf-radius:14px;--sf-shadow:0 2px 10px rgba(20,23,28,.06);--sf-shadow-hover:0 4px 16px rgba(20,23,28,.10)}
.sf-clean img{border-radius:12px;box-shadow:none!important;filter:none!important}

/* Kill generic overlays/dims */
.sf-clean .page-hero::before,.sf-clean .page-hero::after,
.sf-clean .generatepress-page-hero::before,.sf-clean .generatepress-page-hero::after,
.sf-clean .gb-container::before,.sf-clean .gb-container::after,
.sf-clean .wp-block-cover::before,.sf-clean .wp-block-cover-image::before,
.sf-clean .wp-block-cover__background,
.sf-clean .wp-block-cover.has-background-dim::before,
.sf-clean .wp-block-cover.has-background-dim .wp-block-cover__background{background:none!important;opacity:0!important;filter:none!important}
.sf-clean .wp-block-cover h1,.sf-clean .wp-block-cover h2,.sf-clean .wp-block-cover h3,
.sf-clean .generatepress-page-hero h1,.sf-clean .generatepress-page-hero h2,.sf-clean .generatepress-page-hero h3,
.sf-clean .page-hero h1,.sf-clean .page-hero h2,.sf-clean .page-hero h3{background:transparent!important;box-shadow:none!important}

/* H2 wrapper + body block */
.sf-clean :where(.entry-content, .wp-site-blocks main) h2:not(.no-card):not(.lookup-title){
  position:relative;background:var(--sf-bg)!important;color:var(--sf-text)!important;
  border:1px solid var(--sf-border)!important;border-bottom:0!important;
  border-radius:var(--sf-radius) var(--sf-radius) 0 0!important;
  padding:16px 18px!important;margin:28px auto 0!important;box-shadow:var(--sf-shadow)!important
}
.sf-clean :where(.entry-content, .wp-site-blocks main) h2:not(.no-card):not(.lookup-title)+:is(p,.wp-block-paragraph,ul,ol,.wp-block-list,.wp-block-group,.wp-block-columns,blockquote){
  background:var(--sf-bg)!important;border:1px solid var(--sf-border)!important;border-top:0!important;
  border-radius:0 0 var(--sf-radius) var(--sf-radius)!important;
  padding:16px 18px!important;margin:0 auto 20px!important;box-shadow:var(--sf-shadow)!important;color:var(--sf-text)!important
}
.sf-clean h2+ :is(.wp-block-separator,.wp-block-spacer){margin:0!important;height:0!important;opacity:0!important;border:0!important;padding:0!important}

/* H3 accent (no fill) */
.sf-clean :where(.entry-content, .wp-site-blocks main) h3:not(.no-subcard){
  color:var(--sf-text)!important;margin:1.25rem 0 .5rem!important;padding:0!important;border:0!important;background:transparent!important
}
.sf-clean :where(.entry-content, .wp-site-blocks main) h3:not(.no-subcard)::after{
  content:"";display:block;width:56px;height:4px;margin:.5rem 0 .25rem;background:var(--sf-accent);border-radius:4px
}
.sf-clean h3:not(.no-subcard)+:is(p,.wp-block-paragraph,ul,ol,.wp-block-list){margin-top:.25rem!important;padding-left:14px!important;border-left:3px solid rgba(10,124,255,.25);background:transparent!important}
.sf-clean :where(.wp-block-cover *, .generatepress-page-hero *, .page-hero *, .has-background *, .gb-container.has-background *, .gb-container.has-background-image *) h2,
.sf-clean :where(.wp-block-cover *, .generatepress-page-hero *, .page-hero *, .has-background *, .gb-container.has-background *, .gb-container.has-background-image *) h3{
  background:transparent!important;border:0!important;box-shadow:none!important
}
.sf-clean :where(.wp-block-cover *, .generatepress-page-hero *, .page-hero *, .has-background *, .gb-container.has-background *, .gb-container.has-background-image *) h3::after{display:none!important}

/* CTA card */
.sf-clean .cta-wrap{max-width:680px;margin:2rem auto;padding:1.25rem 1.25rem 1.35rem;background:var(--sf-bg)!important;border:1px solid var(--sf-border)!important;border-radius:var(--sf-radius)!important;box-shadow:var(--sf-shadow)!important;overflow:hidden;isolation:isolate;text-align:center}
.sf-clean .cta-intro{margin:0 0 .6rem!important;color:var(--sf-text)}
.sf-clean .cta-heading{margin:0!important;color:var(--sf-accent)!important;font-weight:800}
.sf-clean .cta-heading a{color:inherit!important;text-decoration:none;border-bottom:1px dotted currentColor}
.sf-clean .cta-heading a:hover{border-bottom-style:solid}

/* Steps 1–2–3 */
.sf-clean .steps-wrap{max-width:1080px;margin:1.25rem auto 2rem}
.sf-clean .steps-columns{display:flex;flex-wrap:wrap;align-items:stretch;gap:0;background:var(--sf-bg);border:1px solid var(--sf-border);border-radius:var(--sf-radius);box-shadow:var(--sf-shadow);overflow:hidden}
.sf-clean .steps-columns>.wp-block-column.step-card{flex:1 1 0;min-width:0;padding:1.25rem 1.25rem 1.5rem;text-align:left}
@media (min-width:782px){.sf-clean .steps-columns>.wp-block-column.step-card+.wp-block-column.step-card{border-left:1px solid var(--sf-border)}}
@media (max-width:781.98px){.sf-clean .steps-columns>.wp-block-column.step-card{flex:1 1 100%;padding:1rem 1rem 1.25rem}.sf-clean .steps-columns>.wp-block-column.step-card+.wp-block-column.step-card{border-left:0;border-top:1px solid var(--sf-border)}}
.sf-clean .step-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;font-weight:700;color:var(--sf-accent);background:#0a7cff10;border:1px solid #cfe2ff;margin-right:.5rem}
.sf-clean .steps-columns .wp-block-heading{display:flex;align-items:center;gap:.6rem;margin:0 0 .5rem;font-weight:800}
.sf-clean .steps-columns p{margin:0;line-height:1.6;color:var(--sf-text)}
.fiber-green{color:#1fa971;font-weight:700}

/* Lookup iframe card */
.sf-clean .lookup-iframe-wrap{max-width:1160px;margin:2.5rem auto;padding:1.25rem;background:var(--sf-bg)!important;border:1px solid var(--sf-border)!important;border-radius:var(--sf-radius);box-shadow:var(--sf-shadow);text-align:center;overflow:hidden;isolation:isolate}
.sf-clean .lookup-iframe-wrap .lookup-title{margin:0 0 .8rem;font-weight:800;color:var(--sf-text)}
.sf-clean .lookup-iframe-wrap iframe{width:100%;height:610px;border:1px solid var(--sf-border)!important;border-radius:10px;box-shadow:0 1px 6px rgba(0,0,0,.08);display:block}
@media (max-width:1024px){.sf-clean .lookup-iframe-wrap iframe{height:520px}}
@media (max-width:768px){.sf-clean .lookup-iframe-wrap{padding:1rem}.sf-clean .lookup-iframe-wrap iframe{height:460px}}
@media (max-width:480px){.sf-clean .lookup-iframe-wrap iframe{height:420px}}

/* Icon rows / tiles with depth */
.sf-clean .wp-block-group.is-layout-flex{display:flex;flex-wrap:wrap!important;justify-content:center;gap:16px}
.sf-clean figure.wp-block-image.size-medium{border:1px solid var(--sf-border);border-radius:12px;padding:.75rem;background:var(--sf-bg);box-shadow:var(--sf-shadow);transition:transform .15s ease, box-shadow .15s ease}
.sf-clean figure.wp-block-image.size-medium:hover{transform:translateY(-2px);box-shadow:var(--sf-shadow-hover)}
.sf-clean figure.wp-block-image.size-medium img{width:160px;height:160px;object-fit:contain;border-radius:10px;display:block}
@media (max-width:600px){.sf-clean figure.wp-block-image.size-medium img{width:132px;height:132px}}

/* Shop grid polish */
.sf-clean .woocommerce ul.products li.product{background:var(--sf-bg)!important;border:1px solid var(--sf-border)!important;border-radius:var(--sf-radius)!important;padding:12px 12px 14px!important;box-shadow:var(--sf-shadow)!important;overflow:hidden;transition:transform .2s, box-shadow .2s, border-color .2s}
.sf-clean .woocommerce ul.products li.product:hover{transform:translateY(-3px);box-shadow:var(--sf-shadow-hover)!important}
.sf-clean .woocommerce ul.products li.product .attachment-woocommerce_thumbnail{aspect-ratio:1/1;width:100%;height:auto;object-fit:cover;border-radius:10px!important}

/* Footer (global) */
.sf-clean footer.site-footer, .sf-clean #colophon, .sf-clean footer .footer-widgets, .sf-clean footer .site-info{background:#0b0f16!important;color:#e6e8ec!important}
.sf-clean footer .widget-title, .sf-clean footer h1,.sf-clean footer h2,.sf-clean footer h3,.sf-clean footer h4,.sf-clean footer h5,.sf-clean footer h6{color:#fff!important;font-weight:700;letter-spacing:.3px;margin:.35rem 0 .55rem}
.sf-clean footer a{color:#5daeff!important;text-decoration:none;border-bottom:1px dotted rgba(93,174,255,.55);background:transparent!important}
.sf-clean footer a:hover, .sf-clean footer a:focus{color:#fff!important;border-bottom-style:solid}
.sf-clean footer p, .sf-clean footer li, .sf-clean footer .site-info{color:#cfd5e2!important}
.sf-clean footer .footer-widgets .widget{background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:12px!important;padding:14px 12px!important;margin:10px 8px!important}

/* Footer on Woo pages (extra specificity just in case) */
.sf-clean.woocommerce-page footer.site-footer{background:#0b0f16!important;color:#e6e8ec!important}

/* Dark mode tokens */
@media (prefers-color-scheme: dark){
  .sf-clean{--sf-bg:#0f1115;--sf-border:#222631;--sf-text:#e6e8ec;--sf-shadow:0 2px 10px rgba(0,0,0,.4);--sf-shadow-hover:0 4px 16px rgba(0,0,0,.55)}
}
