:root {
    --swcf-accent: #183E3B;
    --swcf-text: #17201f;
    --swcf-muted: #6c7775;
    --swcf-line: #e3e9e7;
    --swcf-surface: #ffffff;
    --swcf-soft: #f5f7f6;
}

.swcf-shell { width: 100%; }
.swcf-panel {
    width: 100%;
    background: var(--swcf-surface);
    border: 1px solid var(--swcf-line);
    border-radius: 18px;
    box-shadow: 0 12px 35px rgba(24, 62, 59, .07);
    overflow: hidden;
}
.swcf-form { padding: 22px; }
.swcf-heading-row { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:8px; }
.swcf-title { margin:0; font-size:22px; line-height:1.2; color:var(--swcf-text); font-weight:650; letter-spacing:-.02em; }
.swcf-clear { color:var(--swcf-muted); font-size:13px; text-decoration:none; }
.swcf-clear:hover { color:var(--swcf-accent); }
.swcf-group { border-top:1px solid var(--swcf-line); padding:5px 0; }
.swcf-group__toggle {
    width:100%; padding:16px 0; border:0; background:transparent; display:flex;
    align-items:center; justify-content:space-between; cursor:pointer; color:var(--swcf-text);
    font:inherit; font-size:15px; font-weight:650; text-align:left;
}
.swcf-chevron { width:9px; height:9px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); transition:transform .2s ease; margin-right:3px; }
.swcf-group__toggle[aria-expanded="false"] .swcf-chevron { transform:rotate(-45deg); }
.swcf-group__body { padding:0 0 16px; }
.swcf-group__body[hidden] { display:none; }
.swcf-options { display:grid; gap:10px; max-height:230px; overflow:auto; padding-right:5px; scrollbar-width:thin; }
.swcf-option { display:grid; grid-template-columns:18px minmax(0,1fr) auto; align-items:center; gap:10px; cursor:pointer; color:var(--swcf-text); font-size:14px; }
.swcf-option input { position:absolute; opacity:0; pointer-events:none; }
.swcf-checkbox { width:18px; height:18px; border:1.5px solid #bdc8c6; border-radius:5px; display:grid; place-items:center; transition:.18s ease; }
.swcf-checkbox::after { content:""; width:8px; height:4px; border-left:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(-45deg) scale(0); transition:.15s ease; margin-top:-2px; }
.swcf-option input:checked + .swcf-checkbox { background:var(--swcf-accent); border-color:var(--swcf-accent); }
.swcf-option input:checked + .swcf-checkbox::after { transform:rotate(-45deg) scale(1); }
.swcf-option input:focus-visible + .swcf-checkbox { outline:3px solid rgba(24,62,59,.16); outline-offset:2px; }
.swcf-option__count { color:var(--swcf-muted); font-size:12px; background:var(--swcf-soft); min-width:26px; height:22px; border-radius:999px; display:grid; place-items:center; padding:0 7px; }
.swcf-price__labels { display:flex; justify-content:space-between; color:var(--swcf-text); font-size:14px; font-weight:600; margin-bottom:17px; }
.swcf-currency { margin-right:2px; }
.swcf-range { position:relative; height:22px; }
.swcf-range__track { position:absolute; left:0; right:0; top:9px; height:4px; border-radius:99px; background:linear-gradient(to right, var(--swcf-line) 0 var(--min-pos), var(--swcf-accent) var(--min-pos) var(--max-pos), var(--swcf-line) var(--max-pos) 100%); }
.swcf-range input[type="range"] { position:absolute; inset:0; width:100%; height:22px; margin:0; background:transparent; pointer-events:none; appearance:none; -webkit-appearance:none; }
.swcf-range input[type="range"]::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:18px; height:18px; border-radius:50%; background:#fff; border:5px solid var(--swcf-accent); box-shadow:0 2px 8px rgba(24,62,59,.22); pointer-events:auto; cursor:grab; }
.swcf-range input[type="range"]::-moz-range-thumb { width:10px; height:10px; border-radius:50%; background:#fff; border:5px solid var(--swcf-accent); box-shadow:0 2px 8px rgba(24,62,59,.22); pointer-events:auto; cursor:grab; }
.swcf-range input[type="range"]::-moz-range-track { background:transparent; border:0; }
.swcf-submit { width:100%; border:0; border-radius:10px; background:var(--swcf-accent); color:#fff; font:inherit; font-size:14px; font-weight:700; padding:14px 18px; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease; margin-top:14px; }
.swcf-submit:hover { transform:translateY(-1px); box-shadow:0 8px 20px rgba(24,62,59,.2); }
.swcf-submit:active { transform:translateY(0); }
.swcf-mobile-toggle { display:none; width:100%; border:1px solid var(--swcf-line); border-radius:12px; background:#fff; color:var(--swcf-text); padding:14px 16px; font:inherit; font-weight:650; align-items:center; justify-content:space-between; cursor:pointer; }
.swcf-mobile-toggle__icon, .swcf-mobile-toggle__icon::before, .swcf-mobile-toggle__icon::after { display:block; width:18px; height:2px; border-radius:2px; background:var(--swcf-accent); content:""; }
.swcf-mobile-toggle__icon { position:relative; }
.swcf-mobile-toggle__icon::before { position:absolute; top:-6px; }
.swcf-mobile-toggle__icon::after { position:absolute; top:6px; }

/* Recommended Elementor layout: place shortcode in a 280–340px left column. */
.elementor-widget-shortcode .swcf-shell { max-width:100%; }

@media (max-width: 767px) {
    .swcf-mobile-toggle { display:flex; }
    .swcf-panel { display:none; margin-top:10px; }
    .swcf-shell.is-open .swcf-panel { display:block; }
    .swcf-form { padding:18px; }
}
