/* Kasiinokompass — e-posti liitumise vorm.
   Maja pind: liivapaneeli sees valge sisend, oranž tegevusnupp, hiusjooned. */

.kks{
	--kks-ink:#0E2233;
	--kks-soft:#33505f;
	--kks-muted:#5C6B72;
	--kks-brass:#C08B2E;
	--kks-brass-ink:#8A6516;
	--kks-teal:#2E8B8B;
	--kks-teal-ink:#1F6B6B;
	--kks-orange:#E8590C;
	--kks-paper:#EEF1F0;
	--kks-tile:#fff;
	--kks-hair:rgba(60,45,25,.11);
	--kks-err:#8F3A1A;
	font-family:"Inter",system-ui,sans-serif;
	display:block;
	width:100%;
	max-width:520px;
}

.kks *{box-sizing:border-box}

.kks-sr{
	position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
	clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

.kks-row{display:flex;gap:10px;align-items:stretch}

.kks-email{
	flex:1 1 auto;min-width:0;
	font-family:inherit;font-size:15px;color:var(--kks-ink);
	background:var(--kks-tile);border:none;border-radius:999px;
	padding:13px 18px;min-height:48px;
	box-shadow:inset 0 0 0 1px var(--kks-hair);
	transition:box-shadow .16s ease;
}
.kks-email::placeholder{color:#9aa7ad}
.kks-email:focus{
	outline:none;
	box-shadow:inset 0 0 0 1px var(--kks-teal),0 0 0 3px rgba(46,139,139,.18);
}

.kks-btn{
	flex:none;position:relative;cursor:pointer;
	font-family:inherit;font-size:15px;font-weight:700;color:#fff;
	background:var(--kks-orange);border:none;border-radius:999px;
	padding:13px 24px;min-height:48px;
	box-shadow:0 1px 2px rgba(60,45,25,.05),0 10px 24px -16px rgba(60,45,25,.28);
	transition:transform .16s ease,box-shadow .16s ease,background .16s ease,opacity .16s ease;
}
.kks-btn:hover:not(:disabled){
	transform:translateY(-2px);
	box-shadow:0 2px 4px rgba(60,45,25,.06),0 16px 32px -18px rgba(60,45,25,.34);
}
.kks-btn:focus-visible{outline:2px solid var(--kks-ink);outline-offset:3px}
.kks-btn:disabled{
	background:#d8ded9;color:#7d8a90;cursor:not-allowed;
	box-shadow:none;transform:none;
}

.kks-spin{display:none}
.kks.is-busy .kks-btn-text{visibility:hidden}
.kks.is-busy .kks-spin{
	display:block;position:absolute;top:50%;left:50%;
	width:18px;height:18px;margin:-9px 0 0 -9px;
	border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;
	animation:kks-spin .7s linear infinite;
}
@keyframes kks-spin{to{transform:rotate(360deg)}}

/* --- nõusolek: märkeruut, mis peab enne olema märgitud ------------------ */
.kks-consent{
	display:flex;align-items:flex-start;gap:11px;
	margin:14px 0 0;padding:0;cursor:pointer;
	font-size:13px;line-height:1.55;color:var(--kks-muted);
}
.kks-consent input{
	position:absolute;opacity:0;width:1px;height:1px;margin:0;
}
.kks-box{
	flex:none;width:22px;height:22px;margin-top:1px;border-radius:7px;
	background:var(--kks-tile);box-shadow:inset 0 0 0 1px var(--kks-hair);
	position:relative;transition:background .16s ease,box-shadow .16s ease;
}
.kks-box::after{
	content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;
	border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(.5);
	opacity:0;transition:opacity .16s ease,transform .16s ease;
}
.kks-consent input:checked ~ .kks-box{
	background:var(--kks-teal);box-shadow:inset 0 0 0 1px var(--kks-teal);
}
.kks-consent input:checked ~ .kks-box::after{opacity:1;transform:rotate(45deg) scale(1)}
.kks-consent input:focus-visible ~ .kks-box{
	box-shadow:inset 0 0 0 1px var(--kks-teal),0 0 0 3px rgba(46,139,139,.22);
}
.kks-consent-text a{color:var(--kks-teal-ink);font-weight:600}
.kks-consent-text a:hover{color:var(--kks-ink)}

/* honeypot — off-screen, never shown, never announced */
.kks-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.kks-msg{margin:12px 0 0;font-size:13.5px;line-height:1.5;min-height:1px}
.kks-msg.is-error{color:var(--kks-err);font-weight:600}

/* --- kinnitus ----------------------------------------------------------- */
.kks-done{
	display:flex;align-items:flex-start;gap:13px;
	background:var(--kks-tile);border-radius:18px;padding:18px 20px;
	max-width:520px;
	box-shadow:0 1px 2px rgba(60,45,25,.05),0 10px 24px -16px rgba(60,45,25,.28);
	font-family:"Inter",system-ui,sans-serif;font-size:14.5px;line-height:1.55;
	color:#0E2233;outline:none;
	animation:kks-in .28s cubic-bezier(.22,.61,.36,1);
}
@keyframes kks-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.kks-tick{
	flex:none;width:30px;height:30px;border-radius:50%;
	background:rgba(46,139,139,.12);display:grid;place-items:center;
}
.kks-tick svg{width:17px;height:17px;fill:none;stroke:#1F6B6B;stroke-width:2.6;
	stroke-linecap:round;stroke-linejoin:round}

@media (max-width:600px){
	.kks-row{flex-direction:column}
	.kks-btn{width:100%}
	.kks,.kks-done{max-width:none}
}

@media (prefers-reduced-motion:reduce){
	.kks-btn,.kks-box,.kks-box::after,.kks-done{transition:none;animation:none}
	.kks.is-busy .kks-spin{animation:none}
}
