/* Carwise Site plugin stylesheet. GENERATED by site-plugin/build.py. Do not hand-edit.
   Part 1: header/footer/button/base rules extracted from wp-build/cw-homepage.css and rescoped
   (.cw.cw-home:not(#cwh-x) -> .cwsite:not(#cwsite-x), cwh-* -> cwsite-*). Parts 2-3: src/assets-src/. */
.cwsite:not(#cwsite-x) { --bg: #F1F3F8;
  --card: #FFFFFF;
  --ink: #22263A;
  --muted: #5A6078;
  --line: #E2E5EE;
  --line-ui: #82889E;          
  --stripe: #F7F8FB;
  --accent: #253993;          
  --accent-h: #1B2B72;
  --on-accent: #FFFFFF;
  --tint: #E6EAF7;            
  --tint-ink: #1C2C74;
  --ok: #1E7A4C;
  --ok-tint: #DDF3E6;
  --yellow: #FFDD00;          
  --btn-ink: #22263A;
  --btn-ink-h: #363B55;
  --on-ink: #FFFFFF;
  --shadow: 0 2px 0 rgba(34,38,58,.07);
  --r-card: 24px;
  --r-box: 16px;
  --r-sm: 14px;
  --font: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;

  font-family: var(--font);
  font-size: 17px;
  line-height: 1.55;
  color: var(--ink);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  overflow-wrap: break-word; }
.cwsite:not(#cwsite-x) *:where(:not(.cwsite-embed *)),
.cwsite:not(#cwsite-x) *:where(:not(.cwsite-embed *))::before,
.cwsite:not(#cwsite-x) *:where(:not(.cwsite-embed *))::after { box-sizing: border-box; }
.cwsite:not(#cwsite-x) :is(div, span, p, a, strong, b, i, em, small, h1, h2, h3, h4, h5, h6, ul, ol, li, dl, dt, dd, header, footer, main, nav, section, aside, article, figure, figcaption, blockquote, details, summary, form, label, input, button, textarea, select, fieldset):where(:not(.cwsite-embed *)) {
  all: revert;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  text-transform: none;
  list-style: none; }
.cwsite:not(#cwsite-x) :is(div, span, p, a, strong, b, i, em, small, h1, h2, h3, h4, h5, h6, ul, ol, li, dl, dt, dd, header, footer, main, nav, section, aside, article, figure, figcaption, blockquote, details, summary, form, label, input, button, textarea, select, fieldset):where(:not(.cwsite-embed *))::before,
.cwsite:not(#cwsite-x) :is(div, span, p, a, strong, b, i, em, small, h1, h2, h3, h4, h5, h6, ul, ol, li, dl, dt, dd, header, footer, main, nav, section, aside, article, figure, figcaption, blockquote, details, summary, form, label, input, button, textarea, select, fieldset):where(:not(.cwsite-embed *))::after { content: none; }
.cwsite:not(#cwsite-x) svg:where(:not(.cwsite-embed *)) { max-width: none; }
.cwsite:not(#cwsite-x) svg[fill="none"]:where(:not(.cwsite-embed *)) { fill: none; }
.cwsite:not(#cwsite-x) svg:where(:not(.cwsite-embed *)) { display: block; flex: none; }
.cwsite:not(#cwsite-x) a:where(:not(.cwsite-embed *)) { color: var(--accent); text-underline-offset: 3px; }
.cwsite:not(#cwsite-x) a:hover:where(:not(.cwsite-embed *)) { color: var(--accent-h); }
.cwsite:not(#cwsite-x) a:focus-visible:where(:not(.cwsite-embed *)) { outline: 3px solid var(--accent); outline-offset: 3px; border-radius: 8px; }
.cwsite:not(#cwsite-x) p:where(:not(.cwsite-embed *)) { margin: 0; }
.cwsite:not(#cwsite-x) :is(ul, ol, dl, dd, figure, blockquote):where(:not(.cwsite-embed *)) { margin: 0; padding: 0; list-style: none; }
.cwsite:not(#cwsite-x) strong:where(:not(.cwsite-embed *)),
.cwsite:not(#cwsite-x) b:where(:not(.cwsite-embed *)) { font-weight: 700; }
.cwsite:not(#cwsite-x) .cwsite-wrap { max-width: 1200px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 40px); }
.cwsite:not(#cwsite-x) .cwsite-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 10px 26px; border-radius: 999px; font-family: var(--font); font-size: 17px; font-weight: 700; line-height: 1.2; text-decoration: none; text-align: center; border: 0; }
.cwsite:not(#cwsite-x) .cwsite-btn--accent { background: var(--accent); color: var(--on-accent); }
.cwsite:not(#cwsite-x) .cwsite-btn--accent:hover { background: var(--accent-h); color: var(--on-accent); }
.cwsite:not(#cwsite-x) .cwsite-btn--ink { background: var(--btn-ink); color: var(--on-ink); }
.cwsite:not(#cwsite-x) .cwsite-btn--ink:hover { background: var(--btn-ink-h); color: var(--on-ink); }
.cwsite:not(#cwsite-x) .cwsite-btn--sm { min-height: 44px; padding: 8px 20px; font-size: 16px; }
.cwsite:not(#cwsite-x) .cwsite-header__in { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 20px; padding-bottom: 20px; }
.cwsite:not(#cwsite-x) .cwsite-logo { display: flex; align-items: center; gap: 10px; color: var(--ink); line-height: 0; text-decoration: none; font-weight: 800; font-size: 24px; letter-spacing: -0.03em; }
.cwsite:not(#cwsite-x) .cwsite-nav { display: flex; align-items: center; gap: clamp(12px, 2.5vw, 30px); font-weight: 600; font-size: 16px; }
.cwsite:not(#cwsite-x) .cwsite-nav__link { color: var(--muted); text-decoration: none; display: none; }
.cwsite:not(#cwsite-x) .cwsite-nav__link:hover { color: var(--accent); }
@media (min-width: 900px) {
  .cwsite:not(#cwsite-x) .cwsite-nav__link { display: inline; }
}
.cwsite:not(#cwsite-x) .cwsite-btn--sm { white-space: nowrap; }
@media (max-width: 400px) {
  .cwsite:not(#cwsite-x) .cwsite-header__in .cwsite-btn--sm { padding-left: 14px; padding-right: 14px; font-size: 14px; }
}
.cwsite:not(#cwsite-x) .cwsite-footer__in { border-top: 1.5px solid var(--line); padding-top: 36px; padding-bottom: 44px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 32px; font-size: 15px; color: var(--muted); }
.cwsite:not(#cwsite-x) .cwsite-footer__links { display: flex; flex-wrap: wrap; gap: 8px 24px; font-weight: 600; }
.cwsite:not(#cwsite-x) .cwsite-footer a:where(:not(.cwsite-embed *)) { color: var(--ink); text-decoration: none; }
.cwsite:not(#cwsite-x) .cwsite-footer a:hover:where(:not(.cwsite-embed *)) { color: var(--accent); }
.cwsite:not(#cwsite-x) .cwsite-btn--ghost { background: var(--card); color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--line-ui); }
.cwsite:not(#cwsite-x) .cwsite-btn--ghost:hover { color: var(--accent); box-shadow: inset 0 0 0 1.5px var(--accent); }
.cwsite:not(#cwsite-x) .cwsite-embed { display: block; }
.cwsite:not(#cwsite-x) .cwsite-lang { display: inline-flex; align-items: center; gap: 2px; padding: 3px; border-radius: 999px; box-shadow: inset 0 0 0 1.5px var(--line-ui); font-size: 14px; font-weight: 700; }
.cwsite:not(#cwsite-x) .cwsite-lang a:where(:not(.cwsite-embed *)) { color: var(--muted); text-decoration: none; padding: 6px 10px; border-radius: 999px; line-height: 1; }
.cwsite:not(#cwsite-x) .cwsite-lang a[aria-current="page"]:where(:not(.cwsite-embed *)) { background: var(--btn-ink); color: var(--on-ink); }
.cwsite:not(#cwsite-x) .cwsite-lang a:hover:where(:not(.cwsite-embed *)) { color: var(--accent); }
.cwsite:not(#cwsite-x) .cwsite-lang a[aria-current="page"]:hover:where(:not(.cwsite-embed *)) { color: var(--on-ink); }
@media (max-width: 479px) {
  .cwsite:not(#cwsite-x) .cwsite-header__in { gap: 10px; }
  .cwsite:not(#cwsite-x) .cwsite-nav { gap: 8px; }
  .cwsite:not(#cwsite-x) .cwsite-logo svg:where(:not(.cwsite-embed *)) { height: 24px !important; }
  .cwsite:not(#cwsite-x) .cwsite-lang a:where(:not(.cwsite-embed *)) { padding: 6px 8px; }
  .cwsite:not(#cwsite-x) .cwsite-header__in .cwsite-btn--sm { padding-left: 12px; padding-right: 12px; font-size: 14px; }
}

/* ===== Plugin additions (src/assets-src/site-extra.css). Same scope as the extracted rules above. ===== */

/* Header / footer bands */
.cwsite:not(#cwsite-x).cwsite-top { position: relative; z-index: 100; }
.cwsite:not(#cwsite-x).cwsite-bottom { position: relative; }
.cwsite:not(#cwsite-x) .cwsite-header { display: block; }
.cwsite:not(#cwsite-x) .cwsite-logo svg { height: 32px; width: auto; }
.cwsite:not(#cwsite-x) .cwsite-nav__link[aria-current="page"] { color: var(--ink); }

/* Visually hidden text and skip link */
.cwsite:not(#cwsite-x) .cwsite-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.cwsite:not(#cwsite-x) .cwsite-skip { position: absolute; left: 16px; top: -100px; z-index: 1001; padding: 10px 16px; border-radius: 999px; background: var(--btn-ink); color: var(--on-ink); font-weight: 700; text-decoration: none; }
.cwsite:not(#cwsite-x) .cwsite-skip:focus { top: 12px; }

/* Mobile menu: <details>, no JavaScript. Below 900px the inline links are hidden (extracted rule). */
.cwsite:not(#cwsite-x) .cwsite-menu { position: relative; display: block; }
.cwsite:not(#cwsite-x) .cwsite-menu__btn { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 999px; box-shadow: inset 0 0 0 1.5px var(--line-ui); color: var(--ink); cursor: pointer; list-style: none; }
.cwsite:not(#cwsite-x) .cwsite-menu__btn::-webkit-details-marker { display: none; }
.cwsite:not(#cwsite-x) .cwsite-menu__btn::marker { content: ""; }
.cwsite:not(#cwsite-x) .cwsite-menu__btn:hover { color: var(--accent); box-shadow: inset 0 0 0 1.5px var(--accent); }
.cwsite:not(#cwsite-x) .cwsite-menu__btn:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.cwsite:not(#cwsite-x) .cwsite-menu__close { display: none; }
.cwsite:not(#cwsite-x) .cwsite-menu[open] .cwsite-menu__open { display: none; }
.cwsite:not(#cwsite-x) .cwsite-menu[open] .cwsite-menu__close { display: block; }
.cwsite:not(#cwsite-x) .cwsite-menu[open] .cwsite-menu__btn { background: var(--btn-ink); color: var(--on-ink); box-shadow: none; }
.cwsite:not(#cwsite-x) .cwsite-menu__panel { position: absolute; right: 0; top: calc(100% + 10px); width: min(320px, calc(100vw - 32px)); display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 10px 10px 16px; background: var(--card); border-radius: 20px; box-shadow: 0 16px 40px rgba(34,38,58,.18), 0 2px 0 rgba(34,38,58,.07); z-index: 1000; }
.cwsite:not(#cwsite-x) .cwsite-menu__list { display: flex; flex-direction: column; gap: 2px; width: 100%; }
.cwsite:not(#cwsite-x) .cwsite-menu__list a { display: flex; align-items: center; min-height: 48px; padding: 0 14px; border-radius: 14px; color: var(--ink); font-size: 17px; font-weight: 700; text-decoration: none; }
.cwsite:not(#cwsite-x) .cwsite-menu__list a:hover { background: var(--stripe); color: var(--accent); }
.cwsite:not(#cwsite-x) .cwsite-menu__list a[aria-current="page"] { background: var(--tint); color: var(--tint-ink); }
.cwsite:not(#cwsite-x) .cwsite-menu__panel .cwsite-lang { margin-left: 14px; }
@media (max-width: 599px) {
  .cwsite:not(#cwsite-x) .cwsite-nav > .cwsite-lang { display: none; }
}
@media (min-width: 900px) {
  .cwsite:not(#cwsite-x) .cwsite-menu { display: none; }
}

/* Footer contacts (WhatsApp number as plain text, wa.me link, e-mail). No tel: links. */
.cwsite:not(#cwsite-x) .cwsite-footer__contacts { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.cwsite:not(#cwsite-x) .cwsite-footer__contacts a { color: var(--ink); font-weight: 600; text-decoration: none; }
.cwsite:not(#cwsite-x) .cwsite-footer__contacts a:hover { color: var(--accent); }

/* Pages that still carry a full-bleed block: its own header/footer would duplicate the plugin's. */
body.cwsite-on .cw.cw-home > header,
body.cwsite-on .cw.cw-home > .cwh-footer,
body.cwsite-on .cw.cw-svc > .cws-header,
body.cwsite-on .cw.cw-svc > .cws-footer { display: none !important; }

/* Astra's off-canvas mobile header has no opener once the header is replaced. */
body.cwsite-on #ast-mobile-popup-wrapper,
body.cwsite-on .ast-mobile-popup-drawer,
body.cwsite-on .ast-mobile-header-wrap { display: none !important; }

/* Pages built from the new blocks (cw-home / cw-svc): full width, no Astra title, no sidebar. */
body.cwsite-blocks,
body.cwsite-blocks #page,
body.cwsite-blocks .site-content { background-color: #F1F3F8; }
body.cwsite-blocks #content > .ast-container { max-width: none; width: 100%; padding-left: 0; padding-right: 0; display: block; }
body.cwsite-blocks #primary { margin: 0; padding: 0; width: 100%; max-width: none; float: none; border: 0; }
body.cwsite-blocks #primary .ast-article-single,
body.cwsite-blocks #primary .ast-article-post,
body.cwsite-blocks.ast-separate-container .ast-article-single { padding: 0; margin: 0; background: transparent; border: 0; }
body.cwsite-blocks .entry-header,
body.cwsite-blocks .ast-single-entry-banner,
body.cwsite-blocks .ast-breadcrumbs-wrapper { display: none; }
body.cwsite-blocks #secondary { display: none; }
body.cwsite-blocks .entry-content { margin: 0; max-width: none; }
body.cwsite-blocks .entry-content > .cw { max-width: none; margin: 0; }

/* Plugin template (replaces page-carwise.php) */
body.cwsite-tpl { margin: 0; }
body.cwsite-tpl .cwsite-main { display: block; width: 100%; overflow-x: clip; }
body.cwsite-tpl .cwsite-page--legacy { box-sizing: border-box; max-width: 1200px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 40px) clamp(48px, 6vw, 80px); overflow-wrap: break-word; }
body.cwsite-tpl .cwsite-page--legacy :is(img, video, iframe, embed, object) { max-width: 100%; height: auto; }
body.cwsite-tpl .cwsite-page--legacy table { display: block; max-width: 100%; overflow-x: auto; }
body.cwsite-tpl .cwsite-page--legacy pre { max-width: 100%; overflow-x: auto; }
body.cwsite-tpl.cwsite-blocks { background-color: #F1F3F8; }

/* ===== Figtree site-wide (based on /home/claude/cw/figtree-sitewide.css; src/assets-src/fonts.css) =====
   The Google Fonts stylesheet is enqueued separately (handle cwsite-figtree), same URL as the blocks' @import.
   No !important and no universal selector: everything hangs off body.cwsite-on, so specificity stays
   moderate (beats Astra's ".entry-content h2" and Elementor's ".elementor-kit-N h1", loses to anything
   that targets an element more precisely). Icon fonts (Astra icons, Font Awesome, eicons, dashicons)
   set font-family on the icon element itself and are never matched here; form controls carrying an
   icon class are skipped explicitly. */
:root {
  --cw-font: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --e-global-typography-primary-font-family: "Figtree";
  --e-global-typography-secondary-font-family: "Figtree";
  --e-global-typography-text-font-family: "Figtree";
  --e-global-typography-accent-font-family: "Figtree";
}
body.cwsite-on,
body.cwsite-on :is(h1, h2, h3, h4, h5, h6),
body.cwsite-on .entry-content :is(h1, h2, h3, h4, h5, h6),
body.cwsite-on :is(button, input, select, textarea):not([class*="icon"]):not([class*="dashicons"]):not([class*="fa-"]):not(.fa),
body.cwsite-on :is(.site-title, .main-header-menu, .ast-builder-menu, .entry-title, .entry-content, .ast-button, .ast-custom-button, .elementor-button, .elementor-widget-text-editor),
body.cwsite-on .elementor-widget-heading .elementor-heading-title {
  font-family: var(--cw-font);
}
