/* BGC Solicitudes — estilos del formulario público. Móvil primero. */

.bgc-sol-app {
	max-width: 640px;
	margin: 0 auto;
	font-family: inherit;
}

.bgc-sol-selector {
	margin: 0 0 1.25em;
}

.bgc-sol-selector .bgc-sol-label {
	display: block;
	font-weight: 700;
	margin-bottom: .4em;
}

.bgc-sol-selector select {
	width: 100%;
	box-sizing: border-box;
}

.bgc-sol-noscript {
	padding: 1em;
	border-radius: var(--bgc-radius-sm, 14px);
	background: var(--bgc-cream-soft, #fdf5ee);
	color: #333;
}

.bgc-sol-card {
	position: relative;
	background: #fff;
	border-radius: var(--bgc-radius, 20px);
	box-shadow: var(--bgc-shadow-md, 0 4px 12px rgba(105, 80, 133, .10), 0 16px 34px rgba(105, 80, 133, .13));
	border: 1px solid rgba(105, 80, 133, .08);
	padding: 1.75em 1.25em;
	overflow: hidden;
}

.bgc-sol-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 5px;
	background: linear-gradient(90deg, var(--bgc-primary, #695085), var(--bgc-lilac, #b79fd0));
}

@media (min-width: 480px) {
	.bgc-sol-card {
		padding: 2.25em 2em;
	}
}

.bgc-sol-title {
	margin: 0 0 .25em;
	color: var(--bgc-primary, #695085);
	font-size: 1.5em;
}

.bgc-sol-price {
	display: inline-block;
	margin: 0 0 1em;
	font-weight: 700;
	color: var(--bgc-primary-dark, #523e69);
}

.bgc-sol-steps {
	display: flex;
	gap: .3em;
	margin: 0 0 1.5em;
	border-bottom: 1px solid rgba(105, 80, 133, .15);
}

.bgc-sol-step-tab {
	flex: 1;
	background: transparent;
	border: none;
	border-bottom: 3px solid transparent;
	padding: .6em .3em;
	margin-bottom: -1px;
	font: inherit;
	font-weight: 700;
	font-size: .82em;
	color: #999;
	cursor: pointer;
	text-align: center;
}

.bgc-sol-step-tab[aria-selected="true"] {
	color: var(--bgc-primary-dark, #523e69);
	border-bottom-color: var(--bgc-primary, #695085);
}

.bgc-sol-step-tab.bgc-sol-step-done {
	color: var(--bgc-primary, #695085);
}

.bgc-sol-step-tab:disabled {
	color: #ccc;
	cursor: not-allowed;
}

.bgc-sol-step-back {
	display: block;
	background: transparent;
	border: none;
	padding: 0;
	margin: 0 0 1.25em;
	font: inherit;
	font-size: .88em;
	font-weight: 600;
	color: var(--bgc-primary, #695085);
	cursor: pointer;
	text-decoration: underline;
}

.bgc-sol-visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

.bgc-sol-text-block {
	white-space: pre-wrap;
	margin: 0 0 1.25em;
	line-height: 1.6;
}

.bgc-sol-notice {
	background: var(--bgc-cream, #f9e4d0);
	border-radius: var(--bgc-radius-sm, 14px);
	padding: .9em 1.1em;
	margin: 0 0 1.25em;
	font-size: .92em;
	line-height: 1.5;
}

.bgc-sol-field {
	margin: 0 0 1.4em;
}

.bgc-sol-label {
	display: block;
	font-weight: 700;
	margin-bottom: .4em;
}

.bgc-sol-input,
.bgc-sol-textarea {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid rgba(105, 80, 133, .25);
	border-radius: var(--bgc-radius-sm, 14px);
	padding: .75em .9em;
	font: inherit;
	color: inherit;
	background: #fff;
}

.bgc-sol-input:focus,
.bgc-sol-textarea:focus {
	outline: 3px solid rgba(105, 80, 133, .35);
	outline-offset: 1px;
	border-color: var(--bgc-primary, #695085);
}

.bgc-sol-input[aria-invalid="true"],
.bgc-sol-textarea[aria-invalid="true"] {
	border-color: #b3261e;
}

.bgc-sol-counter {
	display: block;
	text-align: right;
	font-size: .82em;
	color: #666;
	margin-top: .25em;
}

.bgc-sol-error {
	display: block;
	color: #b3261e;
	font-size: .88em;
	margin-top: .35em;
}

.bgc-sol-help-text {
	white-space: pre-wrap;
	font-size: .92em;
	color: #444;
	background: var(--bgc-cream-soft, #fdf5ee);
	border-radius: var(--bgc-radius-sm, 14px);
	padding: 1em 1.1em;
	margin: 0 0 1em;
	line-height: 1.55;
}

.bgc-sol-not-for {
	font-size: .92em;
	color: #444;
	background: var(--bgc-cream-soft, #fdf5ee);
	border-left: 4px solid var(--bgc-lilac, #b79fd0);
	border-radius: var(--bgc-radius-sm, 14px);
	padding: 1em 1.1em;
	margin: 0 0 1em;
	line-height: 1.55;
}

.bgc-sol-not-for-title {
	font-weight: 700;
	color: var(--bgc-primary, #695085);
	margin: 0 0 .5em;
}

.bgc-sol-not-for-text {
	white-space: pre-wrap;
}

.bgc-sol-consents {
	list-style: none;
	margin: 0 0 1.5em;
	padding: 0;
}

.bgc-sol-consent-item {
	display: flex;
	align-items: flex-start;
	gap: .6em;
	margin-bottom: .9em;
	font-size: .94em;
	line-height: 1.5;
}

.bgc-sol-consent-item input[type="checkbox"] {
	margin-top: .2em;
	width: 1.2em;
	height: 1.2em;
	flex-shrink: 0;
}

.bgc-sol-consent-item a {
	color: var(--bgc-primary, #695085);
	text-decoration: underline;
}

.bgc-sol-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75em;
	margin-top: 1.5em;
}

.bgc-sol-btn {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	border-radius: 999px;
	padding: .9em 1.9em;
	font-weight: 600;
	font: inherit;
	cursor: pointer;
	border: 2px solid transparent;
	transition: transform .15s ease, background-color .15s ease;
	text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
	.bgc-sol-btn {
		transition: none;
	}
}

.bgc-sol-btn:hover {
	transform: translateY(-2px);
}

.bgc-sol-btn-primary {
	background: var(--bgc-primary, #695085);
	color: #fff;
	box-shadow: 0 6px 18px rgba(105, 80, 133, .28);
}

.bgc-sol-btn-primary:hover {
	background: var(--bgc-primary-dark, #523e69);
}

.bgc-sol-btn-secondary {
	background: transparent;
	border-color: var(--bgc-primary, #695085);
	color: var(--bgc-primary, #695085);
}

.bgc-sol-btn-secondary:hover {
	background: var(--bgc-primary, #695085);
	color: #fff;
}

.bgc-sol-btn[disabled],
.bgc-sol-btn[aria-disabled="true"] {
	opacity: .5;
	cursor: not-allowed;
	transform: none;
}

.bgc-sol-link-warning {
	font-size: .88em;
	color: #8a5a00;
	margin-top: .4em;
}

.bgc-sol-code-box {
	display: inline-flex;
	align-items: center;
	gap: .75em;
	background: var(--bgc-cream, #f9e4d0);
	border-radius: var(--bgc-radius-sm, 14px);
	padding: .6em 1em;
	margin: .5em 0 1.25em;
}

.bgc-sol-code {
	font-size: 1.4em;
	font-weight: 700;
	letter-spacing: .18em;
	color: var(--bgc-primary-dark, #523e69);
}

.bgc-sol-message-box {
	white-space: pre-wrap;
	width: 100%;
	box-sizing: border-box;
	border: 1px solid rgba(105, 80, 133, .2);
	border-radius: var(--bgc-radius-sm, 14px);
	padding: 1em;
	font-size: .92em;
	line-height: 1.5;
	background: #fafafa;
	margin: 0 0 1em;
}


.bgc-sol-payment-methods {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: .6em;
}

.bgc-sol-payment-method {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: .55em;
	border: 1px solid rgba(105, 80, 133, .15);
	border-radius: var(--bgc-radius-sm, 14px);
	padding: 1em .4em;
	box-shadow: var(--bgc-shadow-sm, 0 2px 6px rgba(105, 80, 133, .08), 0 8px 20px rgba(105, 80, 133, .08));
}

.bgc-sol-icon {
	width: 1.9em;
	height: 1.9em;
	color: var(--bgc-primary, #695085);
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
	fill: none;
}

.bgc-sol-payment-caption {
	font-weight: 700;
	font-size: .92em;
	color: var(--bgc-primary-dark, #523e69);
}

.bgc-sol-payment-detail {
	margin: 0;
	font-size: .78em;
	color: #666;
	word-break: break-word;
}

.bgc-sol-btn-sm {
	padding: .55em .6em;
	font-size: .8em;
}

.bgc-sol-payment-method .bgc-sol-btn {
	width: 100%;
	box-sizing: border-box;
	justify-content: center;
	white-space: nowrap;
	text-align: center;
	line-height: 1.2;
}

.bgc-sol-payment-note {
	flex-wrap: wrap;
	margin-top: 1.25em;
	font-size: .92em;
}

.bgc-sol-copy-row {
	display: flex;
	align-items: center;
	gap: .5em;
	margin: .4em 0;
}

.bgc-sol-live {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

.bgc-sol-live.bgc-sol-live-visible {
	position: static;
	width: auto;
	height: auto;
	clip: auto;
	display: block;
	margin-bottom: 1em;
	font-size: .9em;
	color: var(--bgc-primary-dark, #523e69);
}

.bgc-sol-footer-help {
	margin-top: 1.75em;
	font-size: .9em;
	color: #555;
}

.bgc-sol-footer-help a {
	color: var(--bgc-primary, #695085);
}

.bgc-sol-hidden {
	display: none !important;
}
