@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700&display=swap');

/*
  Selectors are deliberately verbose (div.cbp-card ...) and most declarations
  carry !important. Page builder themes (Avada/Fusion, Elementor, Divi, etc.)
  ship global input/select/button resets that otherwise win the cascade.
*/

div.cbp-card{
	background:#132240 !important;
	border:1px solid rgba(201,168,76,0.25) !important;
	border-radius:16px !important;
	padding:28px 28px 24px !important;
	max-width:420px !important;
	width:100% !important;
	font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif !important;
	box-sizing:border-box !important;
	box-shadow:0 10px 40px rgba(0,0,0,0.25) !important;
}
div.cbp-card *{ box-sizing:border-box !important; }

div.cbp-card p.cbp-card-title{
	color:#E8C97A !important;
	font-size:12px !important;
	font-weight:600 !important;
	letter-spacing:2px !important;
	text-transform:uppercase !important;
	margin:0 0 20px !important;
	font-family:'DM Sans',sans-serif !important;
}

div.cbp-card form.cbp-form{ display:flex !important; flex-direction:column !important; gap:13px !important; }
div.cbp-card .cbp-group{ display:flex !important; flex-direction:column !important; gap:5px !important; margin:0 !important; }
div.cbp-card .cbp-row{ display:grid !important; grid-template-columns:1fr 1fr !important; gap:13px !important; }

div.cbp-card label.cbp-label{
	font-size:11px !important;
	line-height:1.4 !important;
	color:rgba(255,255,255,0.5) !important;
	letter-spacing:0.5px !important;
	text-transform:uppercase !important;
	font-family:'DM Sans',sans-serif !important;
	font-weight:400 !important;
	margin:0 !important;
	display:block !important;
}

div.cbp-card select.cbp-select,
div.cbp-card input.cbp-input{
	background-color:rgba(255,255,255,0.07) !important;
	border:1px solid rgba(201,168,76,0.3) !important;
	border-radius:8px !important;
	padding:11px 13px !important;
	color:#ffffff !important;
	font-size:14px !important;
	line-height:1.4 !important;
	font-family:'DM Sans',sans-serif !important;
	font-weight:400 !important;
	outline:none !important;
	width:100% !important;
	height:auto !important;
	box-shadow:none !important;
	margin:0 !important;
	-webkit-appearance:none !important;
	-moz-appearance:none !important;
	appearance:none !important;
}

div.cbp-card select.cbp-select{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23E8C97A' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
	background-repeat:no-repeat !important;
	background-position:right 13px center !important;
	background-size:11px 7px !important;
	padding-right:34px !important;
	cursor:pointer !important;
}
div.cbp-card select.cbp-select::-ms-expand{ display:none !important; }

div.cbp-card select.cbp-select:focus,
div.cbp-card input.cbp-input:focus{
	border-color:#C9A84C !important;
	background-color:rgba(255,255,255,0.1) !important;
}

div.cbp-card select.cbp-select option{ background-color:#0B1F3A !important; color:#ffffff !important; }
div.cbp-card input.cbp-input::placeholder{ color:rgba(255,255,255,0.35) !important; opacity:1 !important; }

div.cbp-card input.cbp-input[type=date]{ color-scheme:dark; }
div.cbp-card input.cbp-input[type=date]::-webkit-calendar-picker-indicator{
	filter:invert(0.8) sepia(1) saturate(3) hue-rotate(2deg) !important;
	cursor:pointer !important;
	opacity:0.9 !important;
}

div.cbp-card button.cbp-btn,
div.cbp-card a.cbp-btn{
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	gap:8px !important;
	background:linear-gradient(135deg,#C9A84C,#E8C97A) !important;
	background-image:linear-gradient(135deg,#C9A84C,#E8C97A) !important;
	color:#0B1F3A !important;
	font-weight:700 !important;
	font-size:14px !important;
	line-height:1.4 !important;
	padding:13px !important;
	border-radius:8px !important;
	text-decoration:none !important;
	letter-spacing:0.3px !important;
	margin-top:3px !important;
	font-family:'DM Sans',sans-serif !important;
	border:none !important;
	box-shadow:0 4px 14px rgba(201,168,76,0.35) !important;
	cursor:pointer !important;
	width:100% !important;
	transition:transform 0.15s ease,box-shadow 0.15s ease !important;
}
div.cbp-card button.cbp-btn:hover,
div.cbp-card a.cbp-btn:hover{
	transform:translateY(-1px) !important;
	box-shadow:0 6px 18px rgba(201,168,76,0.45) !important;
	color:#0B1F3A !important;
}
div.cbp-card button.cbp-btn:disabled{ opacity:0.6 !important; cursor:not-allowed !important; transform:none !important; }

div.cbp-card .cbp-alert{
	padding:11px 13px !important;
	border-radius:8px !important;
	font-size:13px !important;
	margin-bottom:14px !important;
	font-family:'DM Sans',sans-serif !important;
}
div.cbp-card .cbp-alert-success{ background:rgba(39,174,96,0.15) !important; border:1px solid rgba(39,174,96,0.4) !important; color:#6fe3a0 !important; }
div.cbp-card .cbp-alert-error{ background:rgba(192,57,43,0.15) !important; border:1px solid rgba(192,57,43,0.4) !important; color:#ff9d91 !important; }

@media (max-width:480px){
	div.cbp-card .cbp-row{ grid-template-columns:1fr !important; }
}
