/* Elementor adapter: neutralise Elementor's default spacing so the site's own design system applies 1:1. */
.e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--padding-block-start:0px;--padding-block-end:0px;--padding-inline-start:0px;--padding-inline-end:0px;
  --gap:0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--margin-block-start:0px;--margin-block-end:0px;
  --container-max-width:none;--min-height:0px;--flex-wrap:nowrap}
.elementor-element{--widgets-spacing:0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;--kit-widget-spacing:0px}
.elementor-widget:not(:last-child){margin-block-end:0;margin-bottom:0}
.elementor-widget-container{margin:0;padding:0}

/* layout classes that are grids, not flex columns */
.e-con.grid2,.e-con.grid3,.e-con.bento,.e-con.hero-grid,.e-con.test-grid,.e-con.facts{display:grid}
.e-con.grid2,.e-con.bento{gap:24px}
.e-con.hero-grid{gap:56px}.e-con.test-grid{gap:56px}
@media(max-width:900px){.e-con.hero-grid{gap:40px}}
@media(max-width:860px){.e-con.test-grid{gap:36px}}
@media(max-width:767px){.e-con.grid2,.e-con.bento{gap:20px}}

/* headings rendered by the Heading widget */
.elementor-heading-title{margin:0 0 .5em;padding:0}
h1.elementor-heading-title,h2.elementor-heading-title{line-height:1.04}
h3.elementor-heading-title,h4.elementor-heading-title{line-height:1.35}
.card h3.elementor-heading-title{margin-bottom:8px}
.prose h2.elementor-heading-title{margin-top:2.1em}
.prose>.elementor-widget-heading:first-child h2{margin-top:0}

/* text widgets: last element without trailing margin inside cards and tight blocks */
.card .elementor-widget-text-editor>*:last-child,.facts .elementor-widget-text-editor>*:last-child,.sec-head .elementor-widget-text-editor>p:last-child{margin-bottom:0}
.hero-ctas>.elementor-widget-text-editor{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.hero-ctas{margin:30px 0 22px}

/* images */
.elementor-widget-image img{max-width:100%;height:auto}
.elementor-widget-image.sec-img{border:0;box-shadow:none;background:none;border-radius:0}
.elementor-widget-image.sec-img img{width:100%;border-radius:26px;border:1px solid rgba(255,255,255,.07);box-shadow:var(--bezel);filter:brightness(.92) contrast(1.02)}
.elementor-widget-image.art-fig{margin:0 0 40px}

/* FAQ: Elementor toggle widget styled like the site's FAQ (keeps Elementor's FAQ schema) */
.faq.elementor-widget-toggle{border-top:1px solid rgba(255,255,255,.07)}
.faq .elementor-toggle-item{border-bottom:1px solid rgba(255,255,255,.07)}
.faq .elementor-toggle .elementor-tab-title{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border:0;cursor:pointer;font-weight:500;font-size:1.02rem;color:var(--ink)}
.faq .elementor-toggle .elementor-tab-title .elementor-toggle-title{color:inherit;text-decoration:none;flex:1;outline:none}
.faq .elementor-toggle .elementor-toggle-icon{display:none}
.faq .elementor-toggle .elementor-tab-title::after{content:"+";flex:none;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:1.05rem;color:var(--muted);border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);transition:border-color .4s var(--ease),color .4s var(--ease)}
.faq .elementor-toggle .elementor-tab-title.elementor-active::after{content:"\2212";color:var(--accent);border-color:rgba(94,224,161,.4)}
.faq .elementor-toggle .elementor-tab-title:hover{color:#fff}
.faq .elementor-toggle .elementor-tab-content{padding:0 0 22px;border:0;color:var(--text);max-width:68ch}
.faq .elementor-toggle .elementor-tab-content p:last-child{margin:0}

/* shortcode wrappers should not add layout */
.elementor-shortcode{display:block}
/* hero CTA row: the widget inside is the flex row; the Elementor column container must not center it */
.e-con.hero-ctas{align-items:stretch}
/* Elementor caps top-level containers at 100% with a stronger selector; restore our column widths */
[data-elementor-id]>.e-con.prose-w{max-width:var(--prose)}
[data-elementor-id]>.e-con.wrap{max-width:var(--wrap)}
.elementor-widget-toggle.faq .elementor-toggle .elementor-tab-title .elementor-toggle-icon{display:none!important}

/* The Elementor kit inherited from the previous theme (orange headings, navy background, Inter, white labels,
   light inputs, 20px widget gaps) must not override this design. body[class*=elementor-kit-] beats .elementor-kit-N. */
body[class*="elementor-kit-"]{background-color:var(--bg);color:var(--text);font-family:var(--sans)}
body[class*="elementor-kit-"] .elementor-widget-heading .elementor-heading-title{color:var(--ink)}
body[class*="elementor-kit-"] label{color:inherit;font-family:inherit;font-size:inherit}
body[class*="elementor-kit-"] .tform label:not(.chip){font-size:.88rem;font-weight:600;color:var(--ink)}
body[class*="elementor-kit-"] .tform input:not([type="button"]):not([type="submit"]):not([type="radio"]){width:100%;padding:13px 15px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.035);color:var(--ink);font:inherit;font-size:.96rem}
body[class*="elementor-kit-"] .e-con{--container-max-width:none}
body[class*="elementor-kit-"] .elementor-element{--widgets-spacing:0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px}
body[class*="elementor-kit-"] .elementor-widget:not(:last-child){margin-block-end:0}
/* rows that are flex rows in the static design */
.e-con.offer-top{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}
.offer-top>.elementor-widget-text-editor{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%}
/* article hero image: keep its own spacing (the inherited kit zeroes widget margins) */
body[class*="elementor-kit-"] .elementor-widget-image.art-fig{margin:6px 0 40px}
body[class*="elementor-kit-"] .elementor-widget-image.art-fig img{display:block;width:100%;height:auto}
body[class*="elementor-kit-"] .elementor-widget-image.sec-img{margin-top:28px}
body[class*="elementor-kit-"] .elementor-widget-image.banner{margin-top:40px;width:100%}
.elementor-widget-image.banner img{display:block;width:100%;height:auto;aspect-ratio:21/9;object-fit:cover}
@media(max-width:700px){body[class*="elementor-kit-"] .elementor-widget-image.banner{margin-top:28px}.elementor-widget-image.banner img{aspect-ratio:16/9}}
.e-con.pay{align-items:stretch}.e-con.pay>.elementor-widget-text-editor{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
/* Elementor editor: no scroll-reveal (it never fires in the preview), everything visible and clickable */
body.elementor-editor-active .rv,body.elementor-editor-preview .rv{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
body.elementor-editor-active .mbar,body.elementor-editor-active .fab{display:none!important}
