/* =========================================================
   forms.css — editorial form style, hairline underlines
   ========================================================= */

.as-form {
	max-width: 720px;
	margin: 0;
	display: grid;
	gap: 32px;
}

.as-form__row {
	display: grid;
	gap: 8px;
}
.as-form__row--cols {
	grid-template-columns: 1fr 1fr;
	gap: 32px;
}

.as-form label {
	font-size: var(--f-label);
	letter-spacing: 0.15em;
	text-transform: uppercase;
	font-weight: 600;
	color: inherit;
	display: block;
}
.as-form label .as-req { color: var(--c-accent); margin-left: 4px; }

.as-form input[type="text"],
.as-form input[type="email"],
.as-form input[type="tel"],
.as-form input[type="number"],
.as-form input[type="date"],
.as-form select,
.as-form textarea {
	width: 100%;
	background: transparent;
	color: inherit;
	border: none;
	border-bottom: 1px solid currentColor;
	padding: 12px 0;
	font-family: var(--f-body);
	font-size: 1.0625rem;
	line-height: 1.4;
	border-radius: 0;
	outline: none;
	transition: border-color 0.2s;
	appearance: none;
}

.as-form input:focus,
.as-form select:focus,
.as-form textarea:focus {
	border-bottom-color: var(--c-accent);
}

.as-form textarea {
	resize: vertical;
	min-height: 120px;
}

.as-form select {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23C4442A' stroke-width='1'><path d='M1 1.5 L6 6.5 L11 1.5'/></svg>");
	background-position: right 4px center;
	background-size: 12px 8px;
	background-repeat: no-repeat;
	padding-right: 28px;
}

/* Wyższa specyficzność, bo .as-form label (0,1,1) przebija .as-form__consent (0,1,0) */
.as-form label.as-form__consent {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 12px;
	align-items: start;
	font-size: var(--f-body-s);
	line-height: 1.55;
	letter-spacing: 0;
	text-transform: none;
	font-weight: 400;
}
.as-form__consent input {
	width: 18px;
	height: 18px;
	accent-color: var(--c-accent);
	margin-top: 2px;
}
.as-form__consent a { text-decoration: underline; text-underline-offset: 3px; }

.as-form__actions {
	display: flex;
	gap: 24px;
	align-items: center;
	flex-wrap: wrap;
	margin-top: 8px;
}

.as-form__status {
	font-size: var(--f-body-s);
	min-height: 1.4em;
}
.as-form__status.is-error { color: var(--c-error); }
.as-form__status.is-success { color: var(--c-success); }

.as-form__error {
	font-size: var(--f-body-s);
	color: var(--c-error);
	letter-spacing: 0;
	text-transform: none;
	font-weight: 400;
	margin-top: 4px;
	display: none;
}
.as-form__row.has-error .as-form__error { display: block; }
.as-form__row.has-error input,
.as-form__row.has-error select,
.as-form__row.has-error textarea { border-bottom-color: var(--c-error); }

/* Editorial map block */
.as-map {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: start;
}
.as-map__embed iframe,
.as-map__embed {
	width: 100%;
	height: 420px;
	border: none;
	border-radius: var(--r-sm);
	display: block;
}
.as-map__info p { margin: 0 0 12px 0; }
.as-map__info .as-label {
	font-size: var(--f-label);
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--c-accent);
	font-weight: 600;
	margin-bottom: 16px;
	display: block;
}
.as-map__info address {
	font-style: normal;
	font-size: 1.125rem;
	line-height: 1.5;
	margin: 0 0 24px 0;
}
