/* Decrea Booking — front-end (todo controlado por variables CSS) */
.decrea-booking{
	background:var(--db-bg);
	color:var(--db-text);
	font-family:var(--db-font);
	font-weight:300;
	padding:40px;
	box-sizing:border-box;
}
.decrea-booking *{box-sizing:border-box;}

.decrea-booking .db-grid{
	display:grid;
	grid-template-columns:1.15fr 1fr;
	gap:56px;
	max-width:960px;
	margin:0 auto;
	align-items:start;
}

/* ---------- Etiquetas comunes ---------- */
.decrea-booking .db-label{
	text-transform:uppercase;
	letter-spacing:var(--db-ls);
	font-size:11px;
	color:var(--db-heading);
	font-weight:400;
	display:block;
}

/* ---------- Calendario ---------- */
.decrea-booking .db-cal-head{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:24px;
	margin-bottom:26px;
}
.decrea-booking .db-month{
	text-transform:uppercase;
	letter-spacing:calc(var(--db-ls) + 1px);
	font-size:13px;
	color:var(--db-heading);
	min-width:150px;
	text-align:center;
}
.decrea-booking .db-nav{
	background:none;
	border:none;
	color:var(--db-heading);
	font-size:16px;
	cursor:pointer;
	padding:6px 10px;
	line-height:1;
	transition:opacity .2s ease;
}
.decrea-booking .db-nav:hover{opacity:.6;}
.decrea-booking .db-nav[disabled]{opacity:.2;cursor:default;}

.decrea-booking .db-weekdays,
.decrea-booking .db-days{
	display:grid;
	grid-template-columns:repeat(7,1fr);
}
.decrea-booking .db-weekdays{
	margin-bottom:10px;
	border-bottom:1px solid var(--db-border);
	padding-bottom:14px;
}
.decrea-booking .db-weekdays span{
	text-align:center;
	text-transform:uppercase;
	letter-spacing:1px;
	font-size:11px;
	color:var(--db-heading);
}
.decrea-booking .db-days{gap:6px 0;padding-top:12px;}

.decrea-booking .db-day{
	aspect-ratio:1/1;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:14px;
	border-radius:50%;
	cursor:pointer;
	transition:background .2s ease,color .2s ease;
	max-width:44px;
	margin:0 auto;
	width:100%;
}
.decrea-booking .db-day.is-empty{cursor:default;}
.decrea-booking .db-day.is-disabled{color:var(--db-border);cursor:default;}
.decrea-booking .db-day.is-available:hover{background:rgba(0,0,0,.04);}
.decrea-booking .db-day.is-selected{
	background:var(--db-accent);
	color:var(--db-accent-text);
}

/* ---------- Horas ---------- */
.decrea-booking .db-hours-wrap{margin-top:34px;}
.decrea-booking .db-hours-wrap .db-label{margin-bottom:14px;}
.decrea-booking .db-hours{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
}
.decrea-booking .db-hint{
	font-size:13px;
	color:var(--db-text);
	opacity:.7;
	margin:0;
}
.decrea-booking .db-slot{
	border:1px solid var(--db-border);
	background:transparent;
	color:var(--db-text);
	border-radius:22px;
	padding:9px 20px;
	font-size:13px;
	font-family:inherit;
	letter-spacing:1px;
	cursor:pointer;
	transition:all .2s ease;
}
.decrea-booking .db-slot:hover{border-color:var(--db-accent);}
.decrea-booking .db-slot.is-selected{
	background:var(--db-accent);
	border-color:var(--db-accent);
	color:var(--db-accent-text);
}

/* ---------- Formulario ---------- */
.decrea-booking .db-selected-date{
	text-transform:uppercase;
	letter-spacing:calc(var(--db-ls) + 1px);
	font-size:14px;
	color:var(--db-heading);
	margin-bottom:34px;
	min-height:18px;
}
.decrea-booking .db-field{margin-bottom:30px;}
.decrea-booking .db-field .db-label{margin-bottom:10px;}
.decrea-booking .db-form input[type=text],
.decrea-booking .db-form input[type=email],
.decrea-booking .db-form input[type=tel]{
	width:100%;
	border:none;
	border-bottom:1px solid var(--db-border);
	background:transparent;
	padding:8px 0;
	font-size:15px;
	font-family:inherit;
	color:var(--db-text);
	outline:none;
	transition:border-color .2s ease;
	border-radius:0;
}
.decrea-booking .db-form input:focus{border-bottom-color:var(--db-accent);}

.decrea-booking .db-message{
	font-size:13px;
	margin:6px 0 18px;
	min-height:16px;
}
.decrea-booking .db-message.is-error{color:#b3453b;}
.decrea-booking .db-message.is-success{color:var(--db-heading);}

.decrea-booking .db-submit{
	width:100%;
	background:var(--db-btn-bg);
	color:var(--db-btn-text);
	border:none;
	border-radius:30px;
	padding:16px 24px;
	text-transform:uppercase;
	letter-spacing:calc(var(--db-ls) + 1px);
	font-size:12px;
	font-family:inherit;
	cursor:pointer;
	transition:opacity .2s ease;
	margin-top:6px;
}
.decrea-booking .db-submit:hover{opacity:.88;}
.decrea-booking .db-submit[disabled]{opacity:.5;cursor:default;}

/* ---------- Responsive ---------- */
@media (max-width:820px){
	.decrea-booking{padding:24px;}
	.decrea-booking .db-grid{grid-template-columns:1fr;gap:44px;}
}
