/* Surcam Contact 2026: channels column, and the native Elementor form beside it (.scx-form) */
.scx, .scx-form {
	--scx-ink: #0e1213; --scx-ink-2: #4b5458; --scx-muted: #6f7a7e; --scx-paper: #f1f3f3; --scx-line: rgba(14, 18, 19, .1); --scx-field-line: #d3dbdb;
	--scx-accent: #03695e; --scx-accent-hover: #025a51; --scx-bad: #b3261e; --scx-ease: cubic-bezier(0.23, 1, 0.32, 1);
	font-family: "IBM Plex Sans", system-ui, sans-serif; -webkit-font-smoothing: antialiased;
}
.scx *, .scx *::before, .scx *::after { box-sizing: border-box; }
.scx .scx__h { margin: 0; max-width: 16ch; font-family: inherit; font-size: clamp(2rem, 1.2rem + 2.2vw, 3.4rem); font-weight: 600; line-height: 1.02; letter-spacing: -.022em; color: var(--scx-ink); text-wrap: balance; }
.scx .scx__p { margin: 18px 0 0; max-width: 40ch; font-size: clamp(1.1875rem, 1.05rem + .55vw, 1.5rem); line-height: 1.42; color: var(--scx-ink-2); text-wrap: pretty; }
.scx .scx__chan { margin: 34px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--scx-line); }
.scx .scx__chan li { margin: 0; padding: 0; }
.scx .scx__chan a, .scx .scx__row { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--scx-line); color: var(--scx-ink); text-decoration: none; }
.scx .scx__chan a:hover, .scx .scx__chan a:focus, .scx .scx__chan a:active { color: var(--scx-ink); text-decoration: none; }
.scx .scx__i { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #fff; color: var(--scx-ink); box-shadow: inset 0 0 0 1px var(--scx-line); transition: color 200ms ease, box-shadow 200ms ease, transform 160ms var(--scx-ease); }
.scx svg { width: 1.125rem; height: 1.125rem; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.scx .scx__t small { display: block; font-size: .8125rem; line-height: 1.4; color: var(--scx-ink-2); }
.scx .scx__t b { display: block; font-size: 1.0625rem; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.scx .scx__t b.is-num { font-variant-numeric: tabular-nums; }
.scx .scx__go { display: grid; color: var(--scx-muted); transition: transform 220ms var(--scx-ease), color 160ms ease; }
.scx .scx__go svg { width: 1.0625rem; height: 1.0625rem; }
.scx .scx__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.scx .scx__chan a:active .scx__i { transform: scale(.94); }
.scx .scx__chan a:focus-visible { outline: 2px solid var(--scx-accent); outline-offset: 3px; border-radius: 6px; }
@media (hover: hover) and (pointer: fine) {
	.scx .scx__chan a:hover .scx__i { color: var(--scx-accent); box-shadow: inset 0 0 0 1px var(--scx-accent); }
	.scx .scx__chan a:hover .scx__go { color: var(--scx-accent); transform: translateX(4px); }
}

/* The form card */
.scx-sec .scx-form .elementor-form { padding: 32px; border-radius: 32px; background: var(--scx-paper); }
.scx-sec .scx-form .elementor-field-group > .elementor-field-label { margin: 0; padding: 0 0 6px; font-family: inherit; font-size: .8125rem; font-weight: 500; line-height: 1.4; color: var(--scx-ink-2); }
.scx-sec .scx-form .elementor-field-type-radio { margin-bottom: 26px; }
.scx-sec .scx-form .elementor-field-type-radio > .elementor-field-label { padding-bottom: 12px; font-size: .9375rem; font-weight: 600; color: var(--scx-ink); }
.scx-sec .scx-form .elementor-field-group .elementor-field-textual { width: 100%; min-height: 50px; margin: 0; padding: 12px 14px; border: 0; border-radius: 12px; background-color: #fff; box-shadow: inset 0 0 0 1px var(--scx-field-line); color: var(--scx-ink); font-family: inherit; font-size: 1rem; line-height: 1.4; outline: none; transition: box-shadow 160ms ease; }
.scx-sec .scx-form .elementor-field-group textarea.elementor-field-textual { min-height: 120px; resize: vertical; }
.scx-sec .scx-form .elementor-field-group .elementor-field-textual:focus { box-shadow: inset 0 0 0 1.5px var(--scx-accent); }
.scx-sec .scx-form .elementor-field-textual::placeholder { color: #69757a; opacity: 1; }
.scx-sec .scx-form .elementor-select-wrapper select.elementor-field-textual { padding-right: 40px; appearance: none; -webkit-appearance: none; cursor: pointer; }
.scx-sec .scx-form .elementor-select-wrapper .select-caret-down-wrapper { right: 16px; inset-inline-end: 16px; color: var(--scx-ink); font-size: 11px; }
.scx-sec .scx-form .elementor-select-wrapper .select-caret-down-wrapper svg { fill: currentColor; }

/* Topic chips: Elementor radio options restyled */
.scx-sec .scx-form .elementor-field-type-radio .elementor-field-subgroup { display: flex; flex-wrap: wrap; gap: 8px; }
.scx-sec .scx-form .elementor-field-type-radio .elementor-field-option { position: relative; display: block; margin: 0; padding: 0; }
/* z-index keeps the invisible radio above its label: the label's press scale would otherwise lift it on top mid-click, the release would land on the label and the click would be lost. */
.scx-sec .scx-form .elementor-field-type-radio .elementor-field-option input { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; margin: 0; padding: 0; opacity: 0; cursor: pointer; }
.scx-sec .scx-form .elementor-field-type-radio .elementor-field-option label { display: inline-flex; align-items: center; min-height: 40px; margin: 0; padding: 0 15px; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px var(--scx-field-line); color: var(--scx-ink-2); font-family: inherit; font-size: .9375rem; font-weight: 500; line-height: 1.2; cursor: pointer; user-select: none; transition: background-color 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 160ms var(--scx-ease); }
.scx-sec .scx-form .elementor-field-type-radio .elementor-field-option input:checked + label { background: var(--scx-ink); box-shadow: none; color: #fff; }
.scx-sec .scx-form .elementor-field-type-radio .elementor-field-option input:focus-visible + label { outline: 2px solid var(--scx-accent); outline-offset: 2px; }
.scx-sec .scx-form .elementor-field-type-radio .elementor-field-option:active label { transform: scale(.97); }
@media (hover: hover) and (pointer: fine) {
	.scx-sec .scx-form .elementor-field-type-radio .elementor-field-option:hover input:not(:checked) + label { color: var(--scx-ink); box-shadow: inset 0 0 0 1px var(--scx-ink-2); }
}

/* Submit, guarded against the theme reset's pink button hover */
.scx-sec .scx-form .elementor-field-type-submit { margin-top: 10px; margin-bottom: 0; }
.scx-sec .scx-form .elementor-field-type-submit .elementor-button, .scx-sec .scx-form .elementor-field-type-submit .elementor-button:hover, .scx-sec .scx-form .elementor-field-type-submit .elementor-button:focus { width: auto; min-height: 48px; padding: 0 22px; border: 0; border-radius: 999px; background-color: var(--scx-accent); color: #fff; font-family: inherit; font-size: 1rem; font-weight: 600; line-height: 1; transition: background-color 200ms ease, transform 160ms var(--scx-ease); }
.scx-sec .scx-form .elementor-field-type-submit .elementor-button-content-wrapper { gap: .55em; }
.scx-sec .scx-form .elementor-field-type-submit .elementor-button-text::after { content: ""; display: inline-block; width: 1em; height: 1em; margin-left: .55em; vertical-align: -.15em; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform 200ms var(--scx-ease); }
.scx-sec .scx-form .elementor-field-type-submit .elementor-button:active { transform: scale(.97); }
.scx-sec .scx-form .elementor-field-type-submit .elementor-button:focus-visible { outline: 2px solid var(--scx-accent); outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) {
	.scx-sec .scx-form .elementor-field-type-submit .elementor-button:hover { background-color: var(--scx-accent-hover); }
	.scx-sec .scx-form .elementor-field-type-submit .elementor-button:hover .elementor-button-text::after { transform: translateX(3px); }
}

/* Validation and result messages */
.scx-sec .scx-form .elementor-error .elementor-field-textual { box-shadow: inset 0 0 0 1.5px var(--scx-bad); }
.scx-sec .scx-form .elementor-message { margin-top: 14px; font-family: inherit; font-size: .9375rem; line-height: 1.45; }
.scx-sec .scx-form .elementor-message::before { content: none; }
.scx-sec .scx-form .elementor-field-group .elementor-message { margin-top: 6px; font-size: .8125rem; color: var(--scx-bad); }
.scx-sec .scx-form .elementor-message-success { color: var(--scx-accent); font-weight: 600; }
.scx-sec .scx-form .elementor-message-danger { color: var(--scx-bad); }

@media (max-width: 560px) {
	.scx-sec .scx-form .elementor-form { padding: 22px; border-radius: 24px; }
}
@media (prefers-reduced-motion: reduce) {
	.scx .scx__i, .scx .scx__go, .scx-sec .scx-form .elementor-button, .scx-sec .scx-form .elementor-field-option label { transition: none; }
}

/* Phones: shorter rows, topic chips two to a row, and the short fields in pairs, so the form fits about one screen. */
@media (max-width: 560px) {
	.scx .scx__h { font-size: 1.875rem; }
	.scx .scx__p { margin-top: 12px; font-size: 1.0625rem; line-height: 1.45; }
	.scx .scx__chan { margin-top: 22px; }
	.scx .scx__chan a, .scx .scx__row { grid-template-columns: 38px minmax(0, 1fr) auto; gap: 12px; padding: 10px 0; }
	.scx .scx__i { width: 38px; height: 38px; }
	.scx .scx__t b { font-size: 1rem; }
	.scx-sec .scx-form .elementor-form { padding: 18px 16px 20px; border-radius: 22px; }
	.scx-sec .scx-form .elementor-field-type-radio { margin-bottom: 14px; }
	.scx-sec .scx-form .elementor-field-type-radio > .elementor-field-label { padding-bottom: 10px; }
	.scx-sec .scx-form .elementor-field-type-radio .elementor-field-subgroup { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px; }
	.scx-sec .scx-form .elementor-field-type-radio .elementor-field-option:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.scx-sec .scx-form .elementor-field-type-radio .elementor-field-option label { display: flex; justify-content: center; width: 100%; min-height: 40px; padding: 6px 8px; font-size: .875rem; text-align: center; }
	.scx-sec .scx-form .elementor-form .elementor-field-group.elementor-field-group-name,
	.scx-sec .scx-form .elementor-form .elementor-field-group.elementor-field-group-phone,
	.scx-sec .scx-form .elementor-form .elementor-field-group.elementor-field-group-email,
	.scx-sec .scx-form .elementor-form .elementor-field-group.elementor-field-group-country { width: 50%; }
	.scx-sec .scx-form .elementor-field-group .elementor-field-textual { min-height: 44px; padding: 10px 12px; }
	.scx-sec .scx-form .elementor-field-group textarea.elementor-field-textual { min-height: 96px; }
	.scx-sec .scx-form .elementor-field-type-submit .elementor-button, .scx-sec .scx-form .elementor-field-type-submit .elementor-button:hover, .scx-sec .scx-form .elementor-field-type-submit .elementor-button:focus { width: 100%; }
}
/* reCAPTCHA badge shown inside the form instead of floating over the page corner */
.scx-sec .scx-form .elementor-field-type-recaptcha_v3 { margin-bottom: 0; }
.scx-sec .scx-form .elementor-field-type-recaptcha_v3 .grecaptcha-badge { margin-top: 2px; border-radius: 8px; overflow: hidden; }
@media (max-width: 380px) { .scx-sec .scx-form .elementor-field-type-radio .elementor-field-option label { padding: 6px; font-size: .8125rem; } }