.cs420-contact{--cs420c-accent:#6fa3ff;--cs420c-text:#fff;--cs420c-muted:rgba(255,255,255,.78);--cs420c-card:rgba(255,255,255,.10);--cs420c-card-border:rgba(255,255,255,.16);--cs420c-btn-text:#fff;--cs420c-btn-bg:#69b2ff;--cs420c-btn2-bg:rgba(255,255,255,.08);--cs420c-btn2-text:#fff;--cs420c-radius:28px;--cs420c-gap:24px;--cs420c-blur:22px;--cs420c-max:1280px;color:var(--cs420c-text);padding:32px 0;background:var(--cs420c-section-bg,transparent);position:relative;overflow:hidden}
.cs420-contact *{box-sizing:border-box}
.cs420-contact__bg{position:absolute;inset:0;background-image:var(--cs420c-bg-image);background-size:cover;background-position:center;opacity:1;pointer-events:none}
.cs420-contact__bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,18,35,var(--cs420c-bg-overlay,.52)),rgba(7,18,35,calc(var(--cs420c-bg-overlay,.52) + .12)))}
.cs420-contact__inner{position:relative;z-index:1;max-width:var(--cs420c-max);margin:0 auto;padding:0 16px}
.cs420-contact__head{text-align:center;max-width:900px;margin:0 auto 26px}
.cs420-contact__badge{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(calc(var(--cs420c-blur) * .7)) saturate(160%);-webkit-backdrop-filter:blur(calc(var(--cs420c-blur) * .7)) saturate(160%);margin-bottom:16px;color:var(--cs420c-text)}
.cs420-contact__badge .elementor-icon{font-size:16px;color:var(--cs420c-accent)}
.cs420-contact__title{margin:0 0 10px;color:var(--cs420c-text);font-size:clamp(32px,5vw,58px);line-height:1.03;font-weight:800}
.cs420-contact__subtitle{margin:0;color:var(--cs420c-muted);font-size:clamp(15px,2vw,20px);line-height:1.5}
.cs420-contact__grid{display:grid;grid-template-columns:minmax(320px,1.05fr) minmax(280px,.95fr);gap:var(--cs420c-gap);align-items:start}
.cs420-contact__grid.is-reverse > .cs420-contact__card{order:2}
.cs420-contact__grid.is-reverse > .cs420-contact__right{order:1}
.cs420-contact__grid.is-one_column,.cs420-contact__grid.is-one-column,.cs420-contact__grid.is-one_column > *{grid-template-columns:1fr}
.cs420-contact__grid.is-one_column,.cs420-contact__grid.is-one-column,.cs420-contact__grid.is-one_column{grid-template-columns:1fr}
.cs420-contact__grid.is-info_only,.cs420-contact__grid.is-form_only,.cs420-contact__grid.is-map_only,.cs420-contact__grid.is-info-only,.cs420-contact__grid.is-form-only,.cs420-contact__grid.is-map-only{grid-template-columns:1fr}
.cs420-contact__card,.cs420-contact__map,.cs420-contact__info,.cs420-contact__schedule,.cs420-contact__socials{border-radius:var(--cs420c-radius);background:var(--cs420c-card);border:1px solid var(--cs420c-card-border);backdrop-filter:blur(var(--cs420c-blur)) saturate(160%);-webkit-backdrop-filter:blur(var(--cs420c-blur)) saturate(160%);box-shadow:0 18px 60px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.08);position:relative;overflow:hidden}
.cs420-contact__card:before,.cs420-contact__info:before,.cs420-contact__map:before,.cs420-contact__schedule:before,.cs420-contact__socials:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.03) 38%,rgba(255,255,255,.02) 100%);pointer-events:none}
.cs420-contact__cardinner,.cs420-contact__mapinner,.cs420-contact__infoinner{position:relative;z-index:1;padding:24px}
.cs420-contact__formtitle{margin:0 0 6px;font-size:28px;line-height:1.15;color:var(--cs420c-text);font-weight:800}
.cs420-contact__formsub{margin:0 0 18px;color:var(--cs420c-muted);font-size:15px;line-height:1.5}
.cs420-contact__formwrap [type="text"],.cs420-contact__formwrap [type="email"],.cs420-contact__formwrap [type="tel"],.cs420-contact__formwrap textarea,.cs420-contact__formwrap select{width:100%;padding:16px 18px;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.10);color:#fff;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.cs420-contact__formwrap input::placeholder,.cs420-contact__formwrap textarea::placeholder{color:rgba(255,255,255,.6)}
.cs420-contact__formwrap textarea{min-height:140px}
.cs420-contact__formwrap button,.cs420-contact__formwrap input[type="submit"],.cs420-contact__btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:14px 24px;border:none;border-radius:18px;background:linear-gradient(180deg,var(--cs420c-btn-bg),color-mix(in srgb,var(--cs420c-btn-bg),#000 14%));color:var(--cs420c-btn-text);font-weight:700;text-decoration:none;box-shadow:0 14px 34px color-mix(in srgb,var(--cs420c-btn-bg),transparent 72%);cursor:pointer}
.cs420-contact__btn--alt{background:var(--cs420c-btn2-bg);color:var(--cs420c-btn2-text);border:1px solid rgba(255,255,255,.14);box-shadow:none}
.cs420-contact__right{display:grid;grid-template-rows:auto;gap:var(--cs420c-gap)}
.cs420-contact__infogrid{display:grid;gap:14px}
.cs420-contact__item{display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:start;padding:16px 18px;border-radius:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.cs420-contact__itemicon{width:56px;height:56px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12)}
.cs420-contact__itemicon .elementor-icon{font-size:24px;color:var(--cs420c-accent)}
.cs420-contact__itemtitle{margin:0 0 6px;font-size:20px;line-height:1.15;color:var(--cs420c-text);font-weight:800}
.cs420-contact__itemtext{margin:0;color:var(--cs420c-muted);font-size:15px;line-height:1.5}
.cs420-contact__mapembed iframe,.cs420-contact__mapembed img{width:100%;display:block;border:0;border-radius:22px;min-height:var(--cs420c-map-height,280px);height:var(--cs420c-map-height,280px);object-fit:cover}
.cs420-contact__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}
.cs420-contact__actions .elementor-icon{font-size:18px}
.cs420-contact__micro{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.cs420-contact__microitem{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);color:var(--cs420c-text);font-size:13px}
.cs420-contact__microitem .elementor-icon{font-size:14px;color:var(--cs420c-accent)}
.cs420-contact__blockhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.cs420-contact__status{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid rgba(255,255,255,.12)}
.cs420-contact__status.is-open{background:rgba(43,209,107,.14);color:#c6ffd8}
.cs420-contact__status.is-closed{background:rgba(255,118,118,.12);color:#ffd1d1}
.cs420-contact__schedulelist{display:grid;gap:10px}
.cs420-contact__schedulerow{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.cs420-contact__schedulerow.is-today{background:color-mix(in srgb,var(--cs420c-accent),transparent 86%);border-color:color-mix(in srgb,var(--cs420c-accent),#fff 55%)}
.cs420-contact__scheduleday{font-weight:700;color:var(--cs420c-text)}
.cs420-contact__scheduletime{color:var(--cs420c-muted);font-size:14px;line-height:1.4;text-align:right}
.cs420-contact__sociallist{display:flex;flex-wrap:wrap;gap:12px}
.cs420-contact__sociallink{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:18px;text-decoration:none;color:var(--cs420c-text);transition:transform .2s ease,opacity .2s ease}
.cs420-contact__sociallink:hover{transform:translateY(-1px);opacity:.94}
.cs420-contact__sociallink .elementor-icon{font-size:18px;color:var(--cs420c-accent)}
.cs420-contact__socials.social-style-filled .cs420-contact__sociallink{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1)}
.cs420-contact__socials.social-style-outline .cs420-contact__sociallink{background:transparent;border:1px solid rgba(255,255,255,.18)}
.cs420-contact__socials.social-style-minimal .cs420-contact__sociallink{background:transparent;border:none;padding:6px 0}
@media(max-width:1024px){.cs420-contact__grid{grid-template-columns:1fr}.cs420-contact__grid.is-reverse > .cs420-contact__card,.cs420-contact__grid.is-reverse > .cs420-contact__right{order:unset}.cs420-contact__scheduletime{text-align:left}.cs420-contact__schedulerow{grid-template-columns:1fr}.cs420-contact__actions .cs420-contact__btn{width:100%}}
