/* CreditArmor Core — make Elementor wrappers invisible on the front end so the
   design renders exactly like the source HTML (sticky header, slanted sections). */
body.ca-design:not(.elementor-editor-active) .ca-sec,
body.ca-design:not(.elementor-editor-active) .ca-sec > .e-con-inner,
body.ca-design:not(.elementor-editor-active) .ca-sec .elementor-widget-html,
body.ca-design:not(.elementor-editor-active) .ca-sec .elementor-widget-html > .elementor-widget-container,
body.ca-design:not(.elementor-editor-active) .elementor-location-header,
body.ca-design:not(.elementor-editor-active) .elementor-location-footer,
body.ca-design:not(.elementor-editor-active) [data-elementor-type="wp-page"] { display: contents; }

/* Theme Builder wraps the footer in a <footer> element — neutralise the design's footer rule on the wrapper */
footer.elementor-location-footer { background: none; border: 0; padding: 0; }

/* Editor: keep sections stacked edge-to-edge without Elementor spacing */
.ca-sec { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px; --content-width: 100%; }
.ca-sec .elementor-widget-html { width: 100%; }

/* Hello Elementor resets that fight the design */
body.ca-design { margin: 0; }
body.ca-design .page-header, body.ca-design .site-header:not(.elementor-location-header), body.ca-design .site-footer:not(.elementor-location-footer) { display: none; }

/* Main site: no "Provided by" line under the logo */
body.ca-main .logo .l2 { display: none; }

/* Logged-in admin bar: keep the sticky header below it */
body.admin-bar header.nav { top: var(--wp-admin--admin-bar--height, 32px); }

/* Main vs partner content. Trial disclosure only for partners with the trial on. */
body.ca-main .ca-partner-only, body:not(.ca-has-trial) .ca-trial { display: none !important; }
body.ca-partner .ca-main-only { display: none !important; }
.ca-trial { margin: 12px 0 4px; padding: 10px 12px; border-left: 3px solid var(--blood); background: var(--ember-dim);
  font-size: 13px; line-height: 1.5; color: inherit; text-align: left; }
.ca-trial b { color: var(--blood); }
.ca-trial a { text-decoration: underline; }

/* 0.4.5 — one red (#FF0606): small red text on paper/white fails AA (3.48:1 paper, 3.99:1 white).
   On light surfaces, small labels go ink; red stays on large type, bars, borders, ribbon, buttons, checkmarks. */
.light .eyebrow { color: var(--ink) !important; }             /* overrides inline style="color:var(--blood)" in page HTML */
.light .tag.red, .paper-panel .tag.red, .plan .tag.red { color: var(--ink); }
.light .sb-delta.up, .paper-panel .sb-delta.up { color: var(--ink); }
.light .tier.best .cost b, .paper-panel .tier.best .cost b { color: var(--ink); }
.ca-trial b { color: var(--ink); }
.dark .ca-trial b { color: var(--blood); }

/* 0.5.0 — tools grid ↔ tool sections */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
section[id] { scroll-margin-top: 110px; }
.ca-back-tools { display: inline-block; margin-top: 26px; font-family: var(--font-mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; color: var(--silver); border-bottom: 1px solid var(--edge); padding-bottom: 4px; }
.ca-back-tools:hover { color: #fff; border-bottom-color: var(--blood); }
.light .ca-back-tools { color: var(--ink); border-bottom-color: var(--paper-edge); }
.light .ca-back-tools:hover { color: var(--ink); border-bottom-color: var(--blood); }
