﻿.reserve-page{background:#f7f5f0}
	.reserve-page h1{font-size:42px;margin-bottom:6px;line-height:1.1}
	.reserve-page .lead{margin-bottom:24px;font-size:18px;color:#667085;line-height:1.5}
	.reserve-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:start}
	.reserve-form-card,.reserve-summary{background:#fff;border:1px solid #e5e1d8;border-radius:10px;padding:24px;box-shadow:0 6px 18px rgba(15,23,42,.03)}
	.reserve-form-card{display:flex;flex-direction:column;gap:18px}
	.reserve-form-card h2,.reserve-summary h2{margin:0 0 8px 0;line-height:1.2}
	.reserve-form-card h2{font-size:28px}
	.reserve-summary h2{font-size:26px}
	.reserve-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:0}
	.reserve-grid.compact{grid-template-columns:repeat(4,1fr)}
	.reserve-grid label,.full-field label{font-weight:700;color:#344054}
	.reserve-grid label{display:grid;gap:8px;align-content:start}
	.reserve-grid label{line-height:1.2}
	.reserve-grid input,.reserve-grid select,.full-field textarea{
		width:100%;
		min-height:46px;
		border:1px solid #d0d5dd;
		border-radius:8px;
		padding:10px 12px;
		font-weight:400;
		font-size:14px;
		color:#111827;
		background:#fff;
		box-sizing:border-box;
		color-scheme:light;
	}
	.reserve-grid input:focus,.reserve-grid select:focus,.full-field textarea:focus{
		outline:none;
		border-color:#cda13d;
		box-shadow:0 0 0 3px rgba(205,161,61,.12);
	}
	.reserve-grid input[type="date"]{
		appearance:auto;
		-webkit-appearance:auto;
		padding-right:10px;
	}
	.reserve-grid input[type="date"]::-webkit-calendar-picker-indicator{
		cursor:pointer;
		opacity:.9;
	}
	.reserve-grid input[type="date"]::-webkit-datetime-edit,
	.reserve-grid input[type="date"]::-webkit-datetime-edit-text,
	.reserve-grid input[type="date"]::-webkit-datetime-edit-month-field,
	.reserve-grid input[type="date"]::-webkit-datetime-edit-day-field,
	.reserve-grid input[type="date"]::-webkit-datetime-edit-year-field{
		color:#111827;
	}
	.full-field{display:flex;flex-direction:column;gap:8px;position:relative;z-index:5;isolation:isolate;pointer-events:auto}
	.full-field label{display:block;line-height:1.2}
	.full-field .field-hint{display:block;margin-top:-3px;color:#98a2b3;font-size:13px;font-weight:400;line-height:1.35}
	.full-field textarea{display:block;position:relative;z-index:2;min-height:120px;resize:vertical;pointer-events:auto!important;user-select:text!important;-webkit-user-select:text!important;caret-color:#111827;cursor:text;touch-action:manipulation}
	.booking-voucher{
		display:grid;
		grid-template-columns:46px minmax(0,1fr);
		gap:14px;
		align-items:start;
		padding:17px 18px;
		border:1px solid #dfd2b6;
		border-radius:12px;
		background:linear-gradient(135deg,#fffdf8 0%,#fbf7ee 100%);
		box-shadow:0 4px 14px rgba(83,62,26,.04);
	}
	.booking-voucher__icon{
		display:grid;
		place-items:center;
		width:46px;
		height:46px;
		border-radius:12px;
		background:#f1e5cd;
		color:#795b28;
		font-size:19px;
	}
	.booking-voucher__content{min-width:0}
	.booking-voucher__heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 3px}
	.booking-voucher__heading label{margin:0;color:#25211b;font-size:16px;font-weight:800;line-height:1.3;cursor:pointer}
	.booking-voucher__optional{padding:4px 9px;border-radius:999px;background:#eee5d5;color:#72572f;font-size:11px;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.04em}
	.booking-voucher__hint{margin:0 0 11px;color:#6b7280;font-size:13px;line-height:1.4}
	.booking-voucher__field{position:relative}
	.booking-voucher__field > i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9c7a43;font-size:14px;pointer-events:none}
	.booking-voucher__field input{
		display:block;
		width:100%;
		min-height:46px;
		box-sizing:border-box;
		border:1px solid #cfc6b6;
		border-radius:9px;
		padding:10px 14px 10px 39px;
		background:#fff;
		color:#111827;
		font-size:14px;
		font-weight:600;
		letter-spacing:.02em;
		text-transform:uppercase;
		transition:border-color .18s ease,box-shadow .18s ease;
	}
	.booking-voucher__field input::placeholder{color:#9b9b96;font-weight:400;letter-spacing:0;text-transform:none}
	.booking-voucher__field input:focus{outline:none;border-color:#9c7a43;box-shadow:0 0 0 3px rgba(156,122,67,.14)}
	.guest-mini{border-top:1px solid #eee;padding-top:18px;margin-top:2px;display:grid;gap:12px}
	.guest-mini strong{font-size:18px;line-height:1.2}
	.privacy-check{display:flex;gap:12px;align-items:flex-start;margin:6px 0 0;color:#344054;line-height:1.45}
	.privacy-check input{margin-top:4px;flex:0 0 auto}
	.privacy-check a{color:#72572f;font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
	.terms-check{padding:15px;border:1px solid #d8c49f;border-radius:10px;background:#fffaf0;color:#3f3427}
	.booking-order-final{display:grid;gap:7px;margin-top:4px;padding:18px;border:2px solid #2f2921;border-radius:12px;background:#fff}
	.booking-order-final>strong{font-size:18px;color:#211d18}
	.booking-order-final>span{color:#4b5563;line-height:1.45}
	.booking-order-final__price{font-size:26px!important;font-weight:900;color:#17130f!important;line-height:1.15!important}
	.booking-order-final small{color:#667085;line-height:1.5}
	.reserve-submit{
		border:0;background:#cda13d;color:#fff;border-radius:8px;padding:14px 22px;
		font-weight:800;font-size:15px;min-height:48px;align-self:flex-start
	}
	.reserve-summary{position:sticky;top:24px;display:flex;flex-direction:column;gap:12px}
	.reserve-summary p{margin:0;color:#667085;line-height:1.45}
	.reserve-summary .booking-breakfast-included{color:#198754}
	.reserve-summary ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:10px}
	.reserve-summary li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #eee;padding-bottom:8px;align-items:flex-end}
	.reserve-summary li span{color:#667085;line-height:1.35}
	.reserve-summary li strong{color:#111827;line-height:1.35;text-align:right}
	.reserve-total{border-top:2px solid #1f2933;padding-top:16px;margin-top:8px;display:grid;gap:6px}
	.reserve-total span{display:block;color:#667085;line-height:1.35}
	.reserve-total strong{font-size:26px;line-height:1.1;color:#111827}
	.reserve-summary small{display:block;color:#667085;line-height:1.45;margin-top:auto}
	.booking-promotion{display:grid;gap:3px;padding:11px 13px;border:1px solid #d9bd72;border-radius:8px;background:linear-gradient(135deg,#fff9e8,#f8efcf);color:#5f4612}
	.booking-promotion strong,.booking-promotion span{line-height:1.35}
	.booking-promotion span{font-size:13px}
	.reserve-total del{color:#8a8f98;font-size:14px}

	.booking-price-breakdown{
		margin:16px 0 0;
		padding-top:14px;
		border-top:1px solid #eee;
	}

	.booking-price-breakdown > strong{
		display:block;
		margin-bottom:10px;
		color:#111827;
		font-size:15px;
		line-height:1.35;
	}

	.booking-price-breakdown-list{
		display:grid;
		gap:8px;
	}

	.booking-price-breakdown-row{
		display:grid;
		grid-template-columns:minmax(0,1fr);
		gap:3px;
		align-items:start;
		padding:8px 0;
		border-top:1px solid #f1eadf;
	}

	.booking-price-breakdown-row:first-child{
		border-top:0;
		padding-top:0;
	}

	.booking-price-breakdown-person{
		display:grid;
		grid-column:1 / -1;
		gap:3px;
		min-width:0;
	}

	.booking-price-breakdown-person > span{
		display:block;
		max-width:100%;
	}

	.booking-price-breakdown-label,
	.booking-price-breakdown-value{
		min-width:0;
		line-height:1.4;
	}

	.booking-price-breakdown-label{
		font-weight:700;
		color:#111827;
		overflow-wrap:anywhere;
	}

	.booking-price-breakdown-value{
		text-align:left;
		color:#667085;
		overflow-wrap:anywhere;
		word-break:break-word;
	}

	.booking-price-breakdown-row.is-total{
		grid-template-columns:minmax(0,1fr) auto;
		gap:12px;
		align-items:center;
		padding-top:12px;
		margin-top:2px;
		border-top:1px solid #e5e7eb;
	}

	.booking-price-breakdown-row.is-total .booking-price-breakdown-label,
	.booking-price-breakdown-row.is-total .booking-price-breakdown-value{
		color:#111827;
		font-weight:800;
	}

	.booking-price-breakdown-row.is-total .booking-price-breakdown-value{
		font-size:15px;
		text-align:right;
		white-space:nowrap;
	}

	.booking-payment{
		margin:24px 0 18px;
		padding:20px;
		border:1px solid #ded7ca;
		border-radius:12px;
		background:#fbfaf7;
	}
	.booking-payment__heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
	.booking-payment__heading h2{margin:0 0 5px}
	.booking-payment__heading p{margin:0;color:#667085;line-height:1.5}
	.booking-payment__secure{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#e9f6ee;color:#176b3a;font-size:12px;font-weight:700;white-space:nowrap}
	.booking-payment__methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
	.booking-payment__method{position:relative;display:flex;align-items:center;gap:12px;min-height:72px;padding:12px 14px;border:1px solid #d8d5ce;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
	.booking-payment__method:hover{border-color:#9c7a43;transform:translateY(-1px)}
	.booking-payment__method:has(input:checked){border-color:#9c7a43;box-shadow:0 0 0 2px rgba(156,122,67,.16)}
	.booking-payment__method input{width:18px;height:18px;accent-color:#9c7a43;flex:0 0 auto}
	.booking-payment__icon{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:#f4efe7;color:#72572f;font-size:17px;flex:0 0 auto}
	.booking-payment__method > span:last-child{display:flex;flex-direction:column;min-width:0}
	.booking-payment__method strong{color:#25211b;line-height:1.3}
	.booking-payment__method small{color:#6b7280;line-height:1.35;margin-top:2px}
	.booking-payment__provider{margin:13px 0 0;color:#777;font-size:12px;line-height:1.45}
	.reserve-submit{display:inline-flex;align-items:center;justify-content:center;gap:9px}
	@media(max-width:991px){
		.reserve-layout{grid-template-columns:1fr}
		.reserve-summary{position:static}
		.reserve-grid,.reserve-grid.compact{grid-template-columns:1fr}
		.booking-payment__methods{grid-template-columns:1fr}
	}
	@media(max-width:520px){
		.booking-voucher{grid-template-columns:38px minmax(0,1fr);gap:11px;padding:15px}
		.booking-voucher__icon{width:38px;height:38px;border-radius:10px;font-size:16px}
		.booking-voucher__heading{align-items:flex-start}
		.booking-voucher__hint{margin-top:5px}
		.booking-payment{padding:16px}
		.booking-payment__heading{display:block}
		.booking-payment__secure{margin-top:10px}
	}

