/* Nextly Alpenrose Booking — frontend */

.nab-booking {
	background: #fff;
	border: 1px solid #e6dcd2;
	border-radius: 22px;
	padding: clamp(28px, 4vw, 44px);
	max-width: 880px;
	margin: 0 auto;
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: #1a1614;
}

.nab-h3 {
	font-family: "Fraunces", Georgia, serif;
	font-size: 26px;
	font-weight: 500;
	margin: 28px 0 16px;
	letter-spacing: -0.012em;
}

.nab-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin-bottom: 22px;
}

.nab-field { display: flex; flex-direction: column; gap: 6px; }
.nab-field--full { grid-column: 1 / -1; }

.nab-field label {
	font-size: 12px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: #6f635c;
	font-weight: 600;
}
.nab-field small {
	font-size: 12px;
	color: #6f635c;
}

.nab-field input,
.nab-field select,
.nab-field textarea {
	padding: 14px 16px;
	font-family: inherit;
	font-size: 15px;
	color: #1a1614;
	background: #fbf8f4;
	border: 1px solid #e6dcd2;
	border-radius: 10px;
	width: 100%;
	transition: border-color 0.25s ease, background 0.25s ease;
}
.nab-field input:focus,
.nab-field select:focus,
.nab-field textarea:focus {
	outline: none;
	border-color: #b3261e;
	background: #fff;
}
.nab-field textarea { min-height: 100px; resize: vertical; }

/* Live calc box */
.nab-calc {
	background: #f7f2ec;
	border-radius: 14px;
	padding: 22px 26px;
	margin: 24px 0 12px;
	border-left: 4px solid #b3261e;
	min-height: 120px;
	transition: background 0.3s ease;
}
.nab-calc__empty {
	color: #6f635c;
	font-style: italic;
}
.nab-calc.is-loading { opacity: 0.6; }
.nab-calc.is-error {
	background: #fdecea;
	border-left-color: #b3261e;
	color: #8a1d17;
}

.nab-calc__season {
	font-size: 12px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #b3261e;
	font-weight: 600;
	margin-bottom: 14px;
}

.nab-calc__table { width: 100%; border-collapse: collapse; font-size: 14px; }
.nab-calc__table th {
	text-align: left;
	font-weight: 600;
	padding: 8px 0;
	color: #6f635c;
	font-size: 12px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	border-bottom: 1px solid #e6dcd2;
}
.nab-calc__table th:nth-child(2),
.nab-calc__table th:nth-child(3),
.nab-calc__table th:nth-child(4) { text-align: right; }
.nab-calc__table td {
	padding: 9px 0;
	border-bottom: 1px solid rgba(26, 22, 20, 0.06);
}
.nab-calc__table td:nth-child(2),
.nab-calc__table td:nth-child(3),
.nab-calc__table td:nth-child(4) { text-align: right; }
.nab-calc__table td.label { font-weight: 500; }
.nab-calc__table td.qty { color: #6f635c; font-size: 13px; }
.nab-calc__table td.total {
	font-weight: 600;
	font-family: "Fraunces", Georgia, serif;
	font-size: 16px;
}

.nab-calc__total-row td {
	padding-top: 16px;
	font-size: 16px;
	font-weight: 600;
	border-bottom: none !important;
	border-top: 2px solid #1a1614;
}
.nab-calc__total-row td:last-child {
	color: #b3261e;
	font-family: "Fraunces", Georgia, serif;
	font-size: 22px;
}

.nab-calc__deposit {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px dashed #d4c5b6;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 14px;
}
.nab-calc__deposit strong {
	font-family: "Fraunces", Georgia, serif;
	font-size: 18px;
	color: #1a1614;
}

.nab-calc__footnote {
	font-size: 12px;
	color: #6f635c;
	margin-top: 14px;
	line-height: 1.5;
}

/* Submit */
.nab-submit-wrap {
	margin-top: 28px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	align-items: stretch;
}
.nab-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 18px 32px;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.04em;
	border-radius: 100px;
	border: 0;
	background: #b3261e;
	color: #fff;
	cursor: pointer;
	box-shadow: 0 6px 20px -6px rgba(179, 38, 30, 0.55);
	transition: background 0.25s ease, transform 0.35s ease, box-shadow 0.35s ease;
}
.nab-submit:hover {
	background: #8a1d17;
	transform: translateY(-1px);
	box-shadow: 0 12px 30px -8px rgba(179, 38, 30, 0.65);
}
.nab-submit:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none;
}

.nab-notice {
	padding: 14px 18px;
	border-radius: 10px;
	font-size: 14.5px;
	display: none;
}
.nab-notice.is-visible { display: block; }
.nab-notice.is-ok {
	background: rgba(45, 111, 62, 0.08);
	border-left: 3px solid #2d6f3e;
	color: #1f4f2a;
}
.nab-notice.is-err {
	background: rgba(179, 38, 30, 0.08);
	border-left: 3px solid #b3261e;
	color: #8a1d17;
}

.nab-disclaimer {
	margin-top: 22px;
	padding: 18px 22px;
	background: #fbf8f4;
	border-radius: 10px;
	font-size: 13.5px;
	line-height: 1.65;
	color: #6f635c;
	border-left: 3px solid #d4c5b6;
}

/* Responsive */
@media (max-width: 640px) {
	.nab-grid { grid-template-columns: 1fr; }
	.nab-booking { padding: 24px 20px; }
}
