.cde-calendar-wrap{--cde-bg:#fffaf4;--cde-text:#190b06;--cde-border:#e2d4c5;--cde-free:#a9c7a8;--cde-reserved:#ad5034;--cde-blocked:#8a8582;width:100%;color:var(--cde-text);font-family:"Inter",sans-serif}.cde-calendar-title{margin:0 0 22px;color:#100704;font-family:"Manrope",sans-serif;font-size:clamp(26px,3vw,38px)}.cde-legend{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:22px;font-size:14px}.cde-legend span{display:inline-flex;align-items:center;gap:8px}.cde-legend i{display:block;width:13px;height:13px;border-radius:50%}.cde-legend .status-free{background:var(--cde-free)}.cde-legend .status-reserved{background:var(--cde-reserved)}.cde-legend .status-blocked{background:var(--cde-blocked)}.cde-months{display:grid;gap:24px}.cde-months-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cde-months-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cde-month{padding:22px;background:var(--cde-bg);border:1px solid var(--cde-border);border-radius:20px;box-shadow:0 10px 28px rgba(52,29,17,.08)}.cde-month h3{margin:0 0 16px;color:#100704;font-family:"Manrope",sans-serif;font-size:19px;text-align:center;text-transform:capitalize}.cde-weekdays,.cde-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cde-weekdays{margin-bottom:8px}.cde-weekdays span{color:#75665e;font-size:11px;font-weight:700;text-align:center}.cde-day{display:flex;align-items:center;justify-content:center;aspect-ratio:1;min-width:0;border-radius:50%;font-size:12px;font-weight:600}.cde-day.status-free{color:#31563a;background:color-mix(in srgb,var(--cde-free) 45%,white)}.cde-day.status-reserved{color:#fff;background:var(--cde-reserved)}.cde-day.status-blocked{color:#fff;background:var(--cde-blocked)}.cde-day.is-past{opacity:.42}.cde-day.cde-empty{background:transparent}.cde-day:not(.cde-empty){transition:transform .2s ease,box-shadow .2s ease}.cde-day:not(.cde-empty):hover{box-shadow:0 6px 14px rgba(52,29,17,.16);transform:translateY(-2px)}@media(max-width:900px){.cde-months-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.cde-months-2,.cde-months-3{grid-template-columns:1fr}.cde-month{padding:18px}.cde-day{font-size:13px}}

.cde-carousel{position:relative;padding:0 58px}.cde-months{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);grid-template-columns:none;gap:24px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}.cde-months::-webkit-scrollbar{display:none}.cde-month{box-sizing:border-box;scroll-snap-align:start}.cde-arrow{position:absolute;top:50%;z-index:3;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;color:#fff;background:#8d412a;box-shadow:0 8px 20px rgba(52,29,17,.22);font-size:25px;line-height:1;cursor:pointer;transform:translateY(-50%);transition:background .2s ease,transform .2s ease,opacity .2s ease}.cde-arrow:hover{background:#ad5034;transform:translateY(-50%) scale(1.06)}.cde-arrow-prev{left:0}.cde-arrow-next{right:0}.cde-arrow:disabled{opacity:.28;cursor:default}.cde-arrow:disabled:hover{background:#8d412a;transform:translateY(-50%)}@media(max-width:900px){.cde-months{grid-auto-columns:calc((100% - 24px)/2)}}@media(max-width:620px){.cde-carousel{padding:0 44px}.cde-months{grid-auto-columns:100%;gap:16px}.cde-arrow{width:36px;height:36px;font-size:21px}}

.cde-search{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end;gap:14px;margin:0 0 12px;padding:18px;background:#fffaf4;border:1px solid var(--cde-border);border-radius:18px}.cde-search label{display:grid;gap:7px}.cde-search label span{font-size:13px;font-weight:700}.cde-search input{box-sizing:border-box;width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--cde-border);border-radius:10px;color:var(--cde-text);background:#fff;font:inherit}.cde-search button{min-height:48px;padding:10px 22px;border:0;border-radius:999px;color:#fff;background:#8d412a;font:600 15px "Inter",sans-serif;cursor:pointer;transition:background .2s ease,transform .2s ease}.cde-search button:hover{background:#ad5034;transform:translateY(-1px)}.cde-search-result{min-height:24px;margin:0 0 15px;font-size:14px;font-weight:700}.cde-search-result.is-available{color:#31563a}.cde-search-result.is-unavailable,.cde-search-result.is-error{color:#8d412a}.cde-day.is-search-range{outline:3px solid #8d412a;outline-offset:2px}@media(max-width:700px){.cde-search{grid-template-columns:1fr}.cde-search button{width:100%}}

.cde-calendar-wrap .cde-arrow:focus,.cde-calendar-wrap .cde-arrow:focus-visible,.cde-calendar-wrap .cde-arrow:active{color:#fff!important;background:#3f6b43!important;outline:3px solid rgba(63,107,67,.25)!important;outline-offset:3px}.cde-calendar-wrap .cde-arrow:disabled:focus,.cde-calendar-wrap .cde-arrow:disabled:active{background:#8d412a!important;outline:0!important}

/* Safari/iOS: allow native date controls to shrink inside the responsive grid. */
.cde-search,
.cde-search label {
	min-width: 0;
}

.cde-search input[type="date"] {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	inline-size: 100% !important;
	max-inline-size: 100% !important;
	min-inline-size: 0 !important;
	-webkit-min-logical-width: 0 !important;
	box-sizing: border-box !important;
	font-size: 16px;
}

.cde-date-control {
	position: relative;
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
	border-radius: 10px;
	box-sizing: border-box;
}

.cde-date-placeholder {
	display: none;
}

@supports (-webkit-touch-callout: none) {
	.cde-search,
	.cde-search label,
	.cde-date-control {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	.cde-date-placeholder {
		position: absolute;
		top: 50%;
		left: 15px;
		z-index: 1;
		display: block;
		color: var(--cde-text);
		font-size: 16px;
		font-weight: 400;
		line-height: 1;
		pointer-events: none;
		transform: translateY(-50%);
	}

	.cde-date-control.has-value .cde-date-placeholder {
		display: none;
	}
}

@media (max-width: 700px) {
	.cde-search {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}
}

.cde-contact-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	min-width: 190px;
	margin: 0 0 18px;
	padding: 12px 28px;
	border: 0;
	border-radius: 999px;
	box-sizing: border-box;
	color: #fff;
	background: #8d412a;
	font: 600 15px "Inter", sans-serif;
	line-height: 1.2;
	white-space: nowrap;
	text-decoration: none;
	transition: background .2s ease, transform .2s ease;
}

.cde-contact-button:hover,
.cde-contact-button:focus {
	color: #fff;
	background: #ad5034;
	transform: translateY(-1px);
}

.cde-contact-button[hidden] {
	display: none !important;
}

.cde-calendar-wrap .cde-search button,
.cde-calendar-wrap .cde-arrow,
.cde-calendar-wrap .cde-contact-button {
	background: var(--cde-primary, #8d412a);
}

.cde-calendar-wrap .cde-search button:hover,
.cde-calendar-wrap .cde-arrow:hover,
.cde-calendar-wrap .cde-contact-button:hover,
.cde-calendar-wrap .cde-contact-button:focus {
	background: var(--cde-primary-hover, #ad5034);
}

.cde-calendar-wrap .cde-arrow:focus,
.cde-calendar-wrap .cde-arrow:focus-visible,
.cde-calendar-wrap .cde-arrow:active {
	background: var(--cde-primary-hover, #ad5034) !important;
}
