/* Brand Core lead form. Colors come from the theme palette when present. */
.bc-form-wrap { max-width: 760px; scroll-margin-top: 90px; }
.bc-form {
	--bc-primary: var(--wp--preset--color--primary, #0067ff);
	--bc-line: var(--wp--preset--color--line, #e3e8ef);
	--bc-ink: var(--wp--preset--color--ink, #0f172a);
	--bc-muted: var(--wp--preset--color--muted, #64748b);
	--bc-error: #c62828;
	display: grid; gap: 1.25rem;
	background: #fff; border: 1px solid var(--bc-line); border-radius: 18px;
	padding: clamp(1.25rem, 4vw, 2rem); box-shadow: 0 10px 30px rgba(6, 11, 38, .06);
}
.bc-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.bc-form legend { font-weight: 600; color: var(--bc-ink); margin-bottom: .6rem; padding: 0; }

/* Choice chips (need / contact preference). */
.bc-choice { display: flex; flex-wrap: wrap; gap: .5rem; }
.bc-choice legend { width: 100%; }
.bc-choice label { position: relative; cursor: pointer; }
.bc-choice input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.bc-choice span {
	display: inline-block; padding: .55rem 1rem; border: 1.5px solid var(--bc-line); border-radius: 999px;
	font-weight: 500; color: var(--bc-ink); transition: border-color .15s, background .15s, color .15s;
}
.bc-choice input:checked + span { border-color: var(--bc-primary); background: var(--bc-primary); color: #fff; }
.bc-choice input:focus-visible + span { outline: 2px solid var(--bc-primary); outline-offset: 2px; }
.bc-choice--compact span { padding: .45rem .9rem; font-size: .95rem; }

/* Fields. */
.bc-grid { display: grid; gap: 1rem 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .bc-grid { grid-template-columns: 1fr 1fr; } .bc-span { grid-column: 1 / -1; } }
.bc-field { display: grid; gap: .4rem; align-content: start; min-width: 0; }
.bc-field[hidden] { display: none; }
.bc-field > label { font-weight: 600; font-size: .95rem; color: var(--bc-ink); }
.bc-field > label small { font-weight: 400; font-size: .8rem; color: var(--bc-muted); margin-left: .35rem; }
.bc-form input[type=text], .bc-form input[type=email], .bc-form input[type=tel], .bc-form select, .bc-form textarea {
	width: 100%; box-sizing: border-box; min-height: 48px; padding: .75rem .9rem; font: inherit; font-size: 1rem;
	border: 1.5px solid var(--bc-line); border-radius: 10px; background: #fff; color: var(--bc-ink);
	transition: border-color .15s, box-shadow .15s;
}
.bc-form select {
	appearance: none; padding-right: 2.4rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2364748b' stroke-width='1.6' fill='none'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right .9rem center;
}
.bc-form textarea { min-height: 110px; resize: vertical; }
.bc-form input:focus, .bc-form select:focus, .bc-form textarea:focus {
	outline: none; border-color: var(--bc-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--bc-primary) 18%, transparent);
}
.bc-form [aria-invalid="true"] { border-color: var(--bc-error) !important; }
.bc-error { margin: 0; color: var(--bc-error); font-size: .85rem; min-height: 0; }
.bc-error:empty { display: none; }
.bc-hint { margin: 0; font-size: .85rem; color: var(--bc-muted); }
.bc-link { background: none; border: 0; padding: 0; color: var(--bc-primary); font: inherit; text-decoration: underline; cursor: pointer; }

/* Phone with dial code. */
.bc-phone { display: flex; align-items: stretch; }
.bc-dial {
	flex: 0 0 auto; white-space: nowrap; min-width: 3.4rem; justify-content: center;
	display: flex; align-items: center; padding: 0 .85rem; border: 1.5px solid var(--bc-line); border-right: 0;
	border-radius: 10px 0 0 10px; background: var(--wp--preset--color--surface, #f4f7fb); color: var(--bc-ink); font-weight: 600;
}
.bc-phone input[type=tel] { border-radius: 0 10px 10px 0; }

/* Submit. */
.bc-submit { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; }
.bc-form button[type=submit] { cursor: pointer; min-height: 48px; padding-inline: 2rem; }
@media (max-width: 480px) { .bc-form button[type=submit] { width: 100%; } }
.bc-privacy { font-size: .85rem; color: var(--bc-muted); margin: 0; }
.bc-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.bc-notice { padding: .9rem 1.1rem; border-radius: 12px; margin: 0 0 1rem; }
.bc-notice--success { background: #e7f6ec; color: #135c2c; }
.bc-notice--error { background: #fdecec; color: #8a1c1c; }

.bc-form select:disabled { background-color: var(--wp--preset--color--surface, #f4f7fb); color: var(--bc-muted); cursor: not-allowed; }
.bc-phone input[type=tel] { flex: 1 1 auto; min-width: 0; }

/* Paper variant (Real Setas): no boxed fields, underlines on cream paper, serif legends, radio dots, square button. */
.bc-form--paper .bc-form { background: #fffaf1; border: 1px solid #e6d7bf; border-radius: 4px; box-shadow: none; padding: clamp(1.5rem, 4vw, 2.5rem); }
.bc-form--paper .bc-form::before { content: ""; display: block; height: 3px; width: 64px; background: #ae7f35; margin-bottom: .25rem; }
.bc-form--paper legend, .bc-form--paper .bc-field > label { font-family: var(--wp--preset--font-family--fraunces, Georgia, serif); font-weight: 600; letter-spacing: 0; }
.bc-form--paper legend { font-size: 1.2rem; }
.bc-form--paper .bc-field > label { font-size: 1rem; }
.bc-form--paper input[type=text], .bc-form--paper input[type=email], .bc-form--paper input[type=tel], .bc-form--paper select, .bc-form--paper textarea {
	border: 0; border-bottom: 1.5px solid #cdb999; border-radius: 0; background-color: transparent; padding-left: 0; min-height: 44px;
}
.bc-form--paper textarea { border: 1.5px solid #cdb999; border-radius: 4px; padding-left: .8rem; background: #fffdf8; }
.bc-form--paper select { background-position: right .2rem center; }
.bc-form--paper input:focus, .bc-form--paper select:focus, .bc-form--paper textarea:focus { box-shadow: none; border-color: var(--wp--preset--color--primary); }
.bc-form--paper .bc-choice { flex-direction: column; gap: .55rem; }
.bc-form--paper .bc-choice--compact { flex-direction: row; gap: 1.4rem; }
.bc-form--paper .bc-choice span { border: 0; padding: 0 0 0 1.9rem; border-radius: 0; background: none !important; color: var(--bc-ink) !important; position: relative; }
.bc-form--paper .bc-choice span::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 1.15rem; height: 1.15rem; border-radius: 999px; border: 1.5px solid #ae7f35; background: #fff; }
.bc-form--paper .bc-choice input:checked + span::before { background: radial-gradient(circle, #7d5519 0 45%, #fff 50%); }
.bc-form--paper .bc-dial { border: 0; border-bottom: 1.5px solid #cdb999; border-radius: 0; background: transparent; padding-left: 0; }
.bc-form--paper button[type=submit] { border-radius: 4px !important; letter-spacing: .04em; text-transform: uppercase; font-size: .9rem; padding-inline: 2.2rem; }

/* Label variant (Xtralife): framed like a supplement facts panel. Heavy black frame, a thick rule under the legend,
   square fields and square check boxes, uppercase square button. */
.bc-form--label .bc-form { background: #fff; border: 3px solid var(--bc-ink); border-radius: 0; box-shadow: none; padding: clamp(1.25rem, 3.5vw, 2rem); }
.bc-form--label .bc-form > fieldset:first-of-type legend { font-size: 1.3rem; font-weight: 800; text-transform: uppercase; width: 100%;
	padding-bottom: .45rem; border-bottom: 10px solid var(--bc-ink); margin-bottom: .9rem; }
.bc-form--label legend, .bc-form--label .bc-field > label { text-transform: uppercase; letter-spacing: .08em; font-size: .8rem; font-weight: 700; }
.bc-form--label input[type=text], .bc-form--label input[type=email], .bc-form--label input[type=tel], .bc-form--label select, .bc-form--label textarea,
.bc-form--label .bc-dial { border-radius: 0 !important; border: 1px solid var(--bc-ink) !important; background: #fff; }
.bc-form--label .bc-choice span { border-radius: 0 !important; border: 1px solid var(--bc-ink); padding-left: 2.1rem; position: relative; background: #fff !important; color: var(--bc-ink) !important; }
.bc-form--label .bc-choice span::before { content: ""; position: absolute; left: .6rem; top: 50%; transform: translateY(-50%); width: 1rem; height: 1rem; border: 2px solid var(--bc-ink); background: #fff; }
.bc-form--label .bc-choice input:checked + span { border-width: 2px; }
.bc-form--label .bc-choice input:checked + span::before { background: var(--wp--preset--color--primary, #1d7f37); border-color: var(--wp--preset--color--primary, #1d7f37);
	box-shadow: inset 0 0 0 2px #fff; }
.bc-form--label button[type=submit] { border-radius: 0 !important; text-transform: uppercase; letter-spacing: .14em; font-size: .85rem; padding-inline: 2.4rem; }

/* Stamp variant (Herbalic, 2026-11-08): a soft white card, fields filled with the surface color and no borders,
   pill choices (the selected one in the night color), a gold dot above the first legend. */
.bc-form--stamp .bc-form { background: #fff; border: 0; border-radius: 22px; box-shadow: 0 18px 50px rgba(0,0,0,.08); padding: clamp(1.4rem, 4vw, 2.6rem); }
.bc-form--stamp .bc-form > fieldset:first-of-type legend::before { content: ""; display: block; width: 10px; height: 10px; border-radius: 999px;
	background: var(--wp--preset--color--glow, #dbad4e); margin-bottom: .7rem; }
.bc-form--stamp legend, .bc-form--stamp .bc-field > label { font-family: var(--wp--preset--font-family--poppins, inherit); font-weight: 600; }
.bc-form--stamp legend { font-size: 1.15rem; }
.bc-form--stamp input[type=text], .bc-form--stamp input[type=email], .bc-form--stamp input[type=tel], .bc-form--stamp select, .bc-form--stamp textarea,
.bc-form--stamp .bc-dial { border: 1px solid transparent !important; border-radius: 12px !important; background-color: var(--wp--preset--color--surface, #f3eee8) !important; }
.bc-form--stamp input:focus, .bc-form--stamp select:focus, .bc-form--stamp textarea:focus { border-color: var(--wp--preset--color--glow, #dbad4e) !important;
	box-shadow: 0 0 0 3px rgba(219,173,78,.25) !important; background-color: #fff !important; }
.bc-form--stamp .bc-choice span { border: 0 !important; border-radius: 999px !important; background: var(--wp--preset--color--surface, #f3eee8) !important;
	color: var(--bc-ink) !important; }
.bc-form--stamp .bc-choice input:checked + span { background: var(--wp--preset--color--night, #241f1c) !important; color: var(--wp--preset--color--glow, #dbad4e) !important; }
.bc-form--stamp .bc-choice input:focus-visible + span { outline: 2px solid var(--wp--preset--color--glow, #dbad4e); outline-offset: 2px; }
.bc-form--stamp button[type=submit] { border-radius: 999px !important; padding-inline: 2.4rem; }

/* Sport variant (HyperNu, 2026-11-08): a black panel with a cut corner and a red edge, underlined dark fields,
   choices as slanted tags, a parallelogram submit. Light text on night: every pair checked at 4.5:1 or more. */
.bc-form--sport .bc-form {
	--bc-ink: #ffffff; --bc-muted: #b9b9c0; --bc-line: #3a3a41; --bc-error: #ff7085;
	background: var(--wp--preset--color--night, #0a0a0b); border: 0; border-left: 6px solid var(--bc-primary); border-radius: 0; box-shadow: none;
	clip-path: polygon(0 0, calc(100% - 34px) 0, 100% 34px, 100% 100%, 0 100%); padding: clamp(1.4rem, 4vw, 2.4rem);
}
.bc-form--sport legend, .bc-form--sport .bc-field > label { color: #fff; text-transform: uppercase; font-style: italic; font-weight: 800; letter-spacing: .03em; font-size: .85rem; }
.bc-form--sport .bc-form > fieldset:first-of-type legend { font-size: 1.3rem; }
.bc-form--sport input[type=text], .bc-form--sport input[type=email], .bc-form--sport input[type=tel], .bc-form--sport select, .bc-form--sport textarea,
.bc-form--sport .bc-dial { background-color: #17171a !important; color: #fff !important; border: 0 !important; border-bottom: 2px solid var(--bc-line) !important; border-radius: 0 !important; }
.bc-form--sport input::placeholder, .bc-form--sport textarea::placeholder { color: #9d9da5; }
.bc-form--sport select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23ffffff' stroke-width='1.6' fill='none'/%3E%3C/svg%3E"); }
.bc-form--sport select:disabled { color: #9d9da5 !important; }
.bc-form--sport input:focus, .bc-form--sport select:focus, .bc-form--sport textarea:focus { border-bottom-color: var(--bc-primary) !important; box-shadow: none; }
.bc-form--sport [aria-invalid="true"] { border-bottom-color: var(--bc-error) !important; }
.bc-form--sport .bc-choice span { border: 0 !important; border-radius: 0 !important; background: #1f1f23 !important; color: #fff !important;
	transform: skewX(-10deg); font-weight: 700; text-transform: uppercase; font-size: .82rem; letter-spacing: .03em; padding: .6rem 1.1rem; }
.bc-form--sport .bc-choice input:checked + span { background: var(--bc-primary) !important; }
.bc-form--sport .bc-choice input:focus-visible + span { outline: 2px solid #fff; outline-offset: 3px; }
.bc-form--sport button[type=submit] { border-radius: 0 !important; clip-path: polygon(14px 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
	text-transform: uppercase; font-style: italic; font-weight: 800; letter-spacing: .04em; padding-inline: 2.6rem; }
.bc-form--sport .bc-privacy, .bc-form--sport .bc-hint { color: var(--bc-muted); }
.bc-form-wrap.bc-form--sport .bc-notice { border-radius: 0; border-left: 6px solid currentColor; }

/* Label variant v2 (Xtralife, 2026-11-08): the same language as the rest of the brand (white paper, copper double
   band, thin rules), not a heavy black frame. */
.bc-form--label .bc-form { border: 1px solid var(--wp--preset--color--line, #ebe0cf);
	background: linear-gradient(var(--wp--preset--color--glow, #d9782d), var(--wp--preset--color--glow, #d9782d)) top / 100% 4px no-repeat,
	            linear-gradient(var(--wp--preset--color--glow, #d9782d), var(--wp--preset--color--glow, #d9782d)) bottom / 100% 2px no-repeat, #fff; }
.bc-form--label .bc-form > fieldset:first-of-type legend { font-size: .82rem; letter-spacing: .16em; color: var(--wp--preset--color--glow, #d9782d);
	border-bottom: 1px solid var(--wp--preset--color--line, #ebe0cf); padding-bottom: .6rem; }
.bc-form--label input[type=text], .bc-form--label input[type=email], .bc-form--label input[type=tel], .bc-form--label select, .bc-form--label textarea,
.bc-form--label .bc-dial { border-color: var(--wp--preset--color--line, #ebe0cf) !important; }
.bc-form--label input:focus, .bc-form--label select:focus, .bc-form--label textarea:focus { border-color: var(--wp--preset--color--glow, #d9782d) !important; box-shadow: none; }
.bc-form--label .bc-choice span { border-color: var(--wp--preset--color--line, #ebe0cf); }
.bc-form--label .bc-choice span::before { border-color: var(--wp--preset--color--glow, #d9782d); border-width: 1.5px; }
.bc-form--label .bc-choice input:checked + span { border-color: var(--wp--preset--color--glow, #d9782d); border-width: 1px; }
