/* Shared frontend/editor components, independent of a builder or form submission code. */
.editor-styles-wrapper { --ink:#17332a;--green:#176c45;--muted:#607369;--line:#d9e3da; }
.cs-page-wide.article-shell { width:min(1280px,calc(100% - 48px)); }
.cs-content-block { margin:32px 0;clear:both; }
.cs-content-block .section-head { gap:16px; }
.cs-content-grid { display:grid;grid-template-columns:repeat(var(--cs-content-columns,3),minmax(0,1fr));gap:24px; }
.cs-content-grid>* { min-width:0; }
.cs-content-grid .match-card { margin:0; }
.cs-content-block a { text-decoration:none; }
.cs-content-layout-scroll { display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:24px;padding-bottom:14px; }
.cs-content-layout-scroll>* { flex:0 0 calc((100% - (var(--cs-content-columns,3) - 1)*24px)/var(--cs-content-columns,3));scroll-snap-align:start; }
.cs-content-layout-list { grid-template-columns:1fr; }
.wp-block-group:is(.is-style-cs-panel,.is-style-cs-dark-panel,.is-style-cs-price-card,.is-style-cs-featured-price,.is-style-cs-form-panel),.cs-panel,.cs-form-panel { box-sizing:border-box;padding:clamp(24px,4vw,44px);border:1px solid var(--line,#d9e3da);border-radius:22px;margin-block:28px;background:#f4f7ef;color:var(--ink,#17332a); }
.wp-block-group.is-style-cs-dark-panel { background:#153c2e;color:#f5faef;border-color:#153c2e; }
.wp-block-group.is-style-cs-dark-panel :is(h1,h2,h3,h4,p) { color:inherit; }
.wp-block-group:is(.is-style-cs-price-card,.is-style-cs-featured-price) { background:white;padding:28px;margin-block:0;height:100%;display:flex;flex-direction:column;gap:16px;box-shadow:0 10px 30px #173d3008; }
.wp-block-group.is-style-cs-featured-price { background:#173d30;color:#f5faef;border-top:5px solid #d9ef9c; }
.wp-block-group.is-style-cs-featured-price :is(h2,h3,h4,p) { color:inherit; }
.wp-block-group:is(.is-style-cs-price-card,.is-style-cs-featured-price) :is(h3,p) { margin-block:0; }
.wp-block-group:is(.is-style-cs-price-card,.is-style-cs-featured-price) .wp-block-buttons { margin-top:auto;padding-top:12px; }
.cs-price { font-size:clamp(1.7rem,3vw,2.5rem);font-weight:800;letter-spacing:-.04em;line-height:1.15; }
.wp-block-columns:has(>.wp-block-column>.is-style-cs-price-card) { align-items:stretch; }
.wp-block-column { min-width:0; }
.wp-block-button:is(.is-style-cs-primary,.is-style-cs-outline,.is-style-cs-accent) .wp-block-button__link,.cs-button,.entry-content a.cs-button { display:inline-flex;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;min-height:48px;padding:13px 22px;border:2px solid transparent;border-radius:12px;background:#176c45;color:white;font-size:.9rem;font-weight:750;line-height:1.4;text-decoration:none;transition:transform .15s,box-shadow .15s; }
.wp-block-button.is-style-cs-outline .wp-block-button__link { background:transparent;color:inherit;border-color:currentColor; }
.wp-block-button.is-style-cs-accent .wp-block-button__link { background:#d9ef9c;color:#17332a; }
.wp-block-button:is(.is-style-cs-primary,.is-style-cs-outline,.is-style-cs-accent) .wp-block-button__link:hover,.cs-button:hover { transform:translateY(-2px);box-shadow:0 5px 14px #173d3018; }
.wp-block-button .wp-block-button__link:focus-visible,.cs-button:focus-visible { outline:3px solid #b9d989;outline-offset:4px; }
.is-style-cs-eyebrow { font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--green,#176c45); }
.wp-block-group:is(.is-style-cs-dark-panel,.is-style-cs-featured-price) .is-style-cs-eyebrow { color:#d9ef9c; }
.wp-block-details.is-style-cs-accordion,.cs-accordion { margin:14px 0;border:1px solid var(--line,#d9e3da);border-radius:14px;background:#f8faf5;overflow:hidden; }
.wp-block-details.is-style-cs-accordion>summary,.cs-accordion>summary { display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;padding:20px 24px;font-weight:750;list-style:none; }
.wp-block-details.is-style-cs-accordion>summary::after,.cs-accordion>summary::after { content:"+";font-size:24px;color:var(--green,#176c45); }
.wp-block-details.is-style-cs-accordion[open]>summary::after,.cs-accordion[open]>summary::after { content:"−"; }
.wp-block-details.is-style-cs-accordion>summary::-webkit-details-marker,.cs-accordion>summary::-webkit-details-marker { display:none; }
.wp-block-details.is-style-cs-accordion>summary:focus-visible,.cs-accordion>summary:focus-visible { outline:3px solid #b9d989;outline-offset:-4px; }
.wp-block-details.is-style-cs-accordion>:not(summary),.cs-accordion>:not(summary) { margin:0;padding:0 24px 24px; }
.is-style-cs-ticks { list-style:none;padding-left:0; }
.is-style-cs-ticks>li { position:relative;padding:10px 0 10px 30px;border-bottom:1px solid var(--line,#d9e3da); }
.is-style-cs-ticks>li::before { content:"✓";position:absolute;left:0;color:var(--green,#176c45);font-weight:800; }
/* WPForms: style real controls without changing hidden fields, honeypots or layout rules. */
:is(.article-shell,.entry-content,.cs-form-panel,.is-style-cs-form-panel) div.wpforms-container { --wpforms-field-border-radius:10px;--wpforms-field-background-color:#fff;--wpforms-field-border-color:#bccdbf;--wpforms-field-text-color:#17332a;--wpforms-label-color:#17332a;--wpforms-button-background-color:#176c45;--wpforms-button-text-color:#fff;--wpforms-button-border-radius:12px;max-width:100%;margin:24px 0; }
:is(.article-shell,.entry-content,.cs-form-panel,.is-style-cs-form-panel) div.wpforms-container .wpforms-form { padding:clamp(20px,4vw,36px);border:1px solid #d9e3da;border-top:4px solid #176c45;border-radius:18px;background:#f5f8f1;box-shadow:0 10px 28px #173d3006; }
:is(.article-shell,.entry-content,.cs-form-panel,.is-style-cs-form-panel) div.wpforms-container .wpforms-field-label { color:#17332a;font-weight:750;font-size:.9rem;line-height:1.5;margin-bottom:8px; }
:is(.article-shell,.entry-content,.cs-form-panel,.is-style-cs-form-panel) div.wpforms-container .wpforms-field :is(input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],input[type=date],input[type=time],input[type=password],select,textarea) { box-sizing:border-box;max-width:100%;min-height:48px;padding:12px 14px!important;border:1px solid #bccdbf!important;border-radius:10px!important;background:#fff!important;color:#17332a!important;font:inherit;box-shadow:inset 0 1px 2px #173d3004; }
:is(.article-shell,.entry-content,.cs-form-panel,.is-style-cs-form-panel) div.wpforms-container .wpforms-field :is(input,select,textarea):focus-visible { outline:3px solid #c5df99;outline-offset:2px; }
:is(.article-shell,.entry-content,.cs-form-panel,.is-style-cs-form-panel) div.wpforms-container .wpforms-field :is(input,select,textarea)[aria-invalid=true],:is(.article-shell,.entry-content,.cs-form-panel,.is-style-cs-form-panel) div.wpforms-container .wpforms-field .wpforms-error { border-color:#b9233c!important; }
:is(.article-shell,.entry-content,.cs-form-panel,.is-style-cs-form-panel) div.wpforms-container :is(.wpforms-field-description,.wpforms-field-sublabel) { color:#617469;font-size:.76rem;line-height:1.5; }
:is(.article-shell,.entry-content,.cs-form-panel,.is-style-cs-form-panel) div.wpforms-container :is(em.wpforms-error,label.wpforms-error) { color:#ad2036;font-size:.78rem;line-height:1.5;margin-top:6px; }
:is(.article-shell,.entry-content,.cs-form-panel,.is-style-cs-form-panel) div.wpforms-container .wpforms-form :is(button[type=submit],input[type=submit],.wpforms-page-button) { box-sizing:border-box;background:#176c45!important;color:#fff!important;border:2px solid #176c45!important;border-radius:12px!important;padding:13px 24px!important;min-height:48px;font-weight:750;font-size:.9rem;line-height:1.4;height:auto;cursor:pointer; }
:is(.article-shell,.entry-content,.cs-form-panel,.is-style-cs-form-panel) div.wpforms-container .wpforms-form button[type=submit]:hover { background:#115332!important;border-color:#115332!important; }
:is(.article-shell,.entry-content,.cs-form-panel,.is-style-cs-form-panel) div.wpforms-container .wpforms-form button:disabled { opacity:.6;cursor:wait; }
:is(.article-shell,.entry-content,.cs-form-panel,.is-style-cs-form-panel) :is(.wpforms-confirmation-container-full,.wpforms-confirmation-container) { background:#edf5e4;border:1px solid #bad497;border-left:4px solid #176c45;border-radius:14px;color:#17332a;padding:24px; }
@media(max-width:900px) { .cs-content-grid:not(.cs-content-layout-list) { grid-template-columns:repeat(2,minmax(0,1fr)); }.cs-content-layout-scroll>* { flex-basis:calc((100% - 24px)/2); } }
@media(max-width:650px) { .cs-page-wide.article-shell { width:calc(100% - 32px);padding:22px; }.cs-content-grid:not(.cs-content-layout-list) { grid-template-columns:1fr; }.cs-content-layout-scroll>* { flex-basis:88%; }.wp-block-group:is(.is-style-cs-panel,.is-style-cs-dark-panel,.is-style-cs-price-card,.is-style-cs-featured-price,.is-style-cs-form-panel) { border-radius:16px;padding:24px; } }
@media(prefers-reduced-motion:reduce) { .wp-block-button .wp-block-button__link,.cs-button { transition:none; } }

.cs-content-columns-1 .cs-content-grid { grid-template-columns:1fr; }.cs-content-columns-1 .cs-content-layout-scroll>* { flex-basis:100%; }
:is(.cs-form-panel,.is-style-cs-form-panel) div.wpforms-container .wpforms-form { padding:0;border:0;background:transparent;box-shadow:none; }

.cs-pattern-columns { gap:24px!important;align-items:stretch;margin-block:28px; }.cs-pattern-columns>.wp-block-column { margin:0;min-width:0; }.cs-pattern-columns>.wp-block-column>.wp-block-group { margin-block:0;height:100%; }
