/*
"Book a 15-minute demo" popup modal.
Uses the same design tokens (--ink, --teal, --coral, --line, --muted, .btn)
defined in assets/css/main.css — no colors/fonts are redefined here.
*/
.cdm-overlay{
	position:fixed;
	inset:0;
	background:rgba(20,52,59,.55);
	display:flex;
	align-items:center;
	justify-content:center;
	padding:24px;
	z-index:1000;
	opacity:0;
	visibility:hidden;
	transition:opacity .25s ease,visibility 0s linear .25s;
}
.cdm-overlay.is-open{
	opacity:1;
	visibility:visible;
	transition:opacity .25s ease,visibility 0s linear 0s;
}
.cdm-box{
	background:var(--white);
	border-radius:20px;
	width:100%;
	max-width:440px;
	max-height:calc(100vh - 48px);
	overflow-y:auto;
	padding:36px 32px;
	position:relative;
	box-shadow:0 24px 60px rgba(20,52,59,.25);
	transform:translateY(18px) scale(.97);
	opacity:0;
	transition:transform .25s ease,opacity .25s ease;
}
.cdm-overlay.is-open .cdm-box{
	transform:translateY(0) scale(1);
	opacity:1;
}
.cdm-close{
	position:absolute;
	top:16px;
	right:16px;
	width:34px;
	height:34px;
	border:none;
	background:var(--teal-mist);
	color:var(--ink);
	border-radius:100px;
	font-size:20px;
	line-height:1;
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:center;
	transition:background .15s ease;
}
.cdm-close:hover{background:#D6E5E1}
.cdm-close:focus-visible{outline:3px solid var(--teal);outline-offset:2px}

.cdm-form h2{font-size:24px;margin-bottom:8px;padding-right:28px}
.cdm-sub{color:var(--muted);font-size:15.5px;margin-bottom:24px}

.cdm-field{margin-bottom:18px}
.cdm-field label{display:block;font-weight:600;font-size:14.5px;margin-bottom:6px;color:var(--ink)}
.cdm-field input{
	width:100%;
	padding:12px 14px;
	border:1px solid var(--line);
	border-radius:10px;
	font-family:inherit;
	font-size:15.5px;
	color:var(--ink);
	background:var(--paper);
	transition:border-color .15s ease,box-shadow .15s ease;
}
.cdm-field input::placeholder{color:#8FA19D}
.cdm-field input:focus{
	outline:none;
	border-color:var(--teal);
	box-shadow:0 0 0 3px var(--teal-mist);
}
.cdm-field input[aria-invalid="true"]{border-color:var(--coral)}

.cdm-error{
	display:block;
	color:var(--coral-deep);
	font-size:13px;
	margin-top:6px;
	min-height:0;
}
.cdm-error:empty{display:none}
.cdm-form-error{margin:0 0 14px;text-align:center}

.cdm-submit{width:100%;margin-top:4px}
.cdm-submit:disabled{opacity:.65;cursor:default;transform:none}

.cdm-success{text-align:center;padding:12px 0}
.cdm-success p{font-size:17px;color:var(--ink)}

@media (max-width:480px){
	.cdm-box{padding:28px 22px}
	.cdm-form h2{font-size:21px}
}
