/* Saftladen Gewinnspiel – Formular & Zustände. Mobile first. */
.sg{
	--sg-cream:#FAF3E6;--sg-sand:#ECE4D5;--sg-sand2:#E0D7C6;--sg-line:#D8CDB8;
	--sg-olive:#7E745F;--sg-olive-dark:#6A614E;--sg-ink:#413724;--sg-text:#4D4737;--sg-muted:#7A705C;
	--sg-flamingo:#E3929F;--sg-flamingo-soft:#F7DCDF;--sg-leaf:#6B8F4E;--sg-white:#FFFDF8;--sg-error:#B0453A;
	container-type:inline-size;
	font-family:"Outfit",system-ui,sans-serif;font-weight:300;color:var(--sg-text);
	font-size:16px;line-height:1.55;text-align:left;width:100%;scroll-margin-top:24px;
}
.sg *,.sg *::before,.sg *::after{box-sizing:border-box}
.sg p{margin:0}
.sg a{color:var(--sg-ink);text-decoration:underline;text-underline-offset:2px;font-weight:400}

.sg-card{background:var(--sg-white);border-radius:28px;padding:28px 22px;box-shadow:0 10px 30px rgba(65,55,36,.08)}
.sg-form{display:flex;flex-direction:column;gap:16px;margin:0}
.sg-row{display:flex;flex-direction:column;gap:16px}
@container (min-width:460px){
	.sg-card{padding:36px 36px 30px}
	.sg-row{flex-direction:row}
	.sg-row>.sg-field{flex:1 1 0;min-width:0}
}

/* Felder */
.sg-field label{display:block;font-size:14px;font-weight:500;color:var(--sg-ink);margin:0 0 7px;line-height:1.3}
.sg-field label i{font-style:normal;font-weight:300;color:var(--sg-muted)}
.sg .sg-field input{
	display:block;width:100%;height:54px;margin:0;border-radius:14px;background:var(--sg-white);
	border:1.5px solid var(--sg-line);padding:0 16px;font:inherit;font-size:16px;font-weight:300;color:var(--sg-text);
	box-shadow:none;outline:none;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none;
}
.sg .sg-field input::placeholder{color:#A99F89;opacity:1}
.sg .sg-field input:focus{border-color:var(--sg-olive);box-shadow:0 0 0 4px rgba(126,116,95,.18)}
.sg .sg-field.has-error input{border-color:#C2564A;background:#FFF6F3}
.sg-hint{font-size:12.5px;color:var(--sg-muted);margin-top:6px !important;line-height:1.4}
.sg-error{display:flex;gap:6px;align-items:flex-start;font-size:13px;color:var(--sg-error);margin-top:6px !important;font-weight:400;line-height:1.4}
.sg-error svg{flex:none;margin-top:2px}

/* Checkboxen */
.sg-check{position:relative}
.sg-check input{position:absolute;opacity:0;width:24px;height:24px;margin:0;left:0;top:1px}
.sg-check label{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5;cursor:pointer;margin:0;font-weight:300;color:var(--sg-text)}
.sg-box{flex:none;width:24px;height:24px;border-radius:7px;border:1.5px solid var(--sg-line);background:var(--sg-white);margin-top:1px;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}
.sg-box svg{opacity:0;transition:opacity .15s}
.sg-check input:checked+label .sg-box{background:var(--sg-olive);border-color:var(--sg-olive)}
.sg-check input:checked+label .sg-box svg{opacity:1}
.sg-check input:focus-visible+label .sg-box{box-shadow:0 0 0 4px rgba(126,116,95,.25)}
.sg-check.has-error .sg-box{border-color:#C2564A;background:#FFF6F3}
.sg-check-text .sg-error{display:block;margin-top:4px !important}

/* Spam-Falle */
.sg-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}

/* Buttons */
.sg .sg-btn{
	display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:54px;padding:12px 22px;margin:0;
	border:0;border-radius:999px;background:var(--sg-olive);color:#fff;font:inherit;font-size:16px;font-weight:400;
	letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background .15s,transform .1s;text-align:center;line-height:1.2;
}
.sg .sg-btn:hover{background:var(--sg-olive-dark);color:#fff}
.sg .sg-btn:active{transform:scale(.99)}
.sg .sg-btn:focus-visible{outline:3px solid var(--sg-flamingo);outline-offset:3px}
.sg .sg-btn-ghost{background:transparent;border:1.5px solid var(--sg-olive);color:var(--sg-olive)}
.sg .sg-btn-ghost:hover{background:rgba(126,116,95,.08);color:var(--sg-olive)}
.sg-small{font-size:12.5px;color:var(--sg-muted);line-height:1.5;text-align:center}

/* Hinweise */
.sg-alert{display:flex;gap:12px;align-items:flex-start;background:var(--sg-flamingo-soft);border-radius:16px;padding:14px 16px;font-size:14px;line-height:1.45;color:#7D3C47;outline:none}
.sg-alert svg{flex:none;margin-top:1px}
.sg-alert strong{font-weight:500}

/* Danke / Beendet */
.sg-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;max-width:440px;margin:0 auto}
.sg-tick{width:64px;height:64px;border-radius:50%;background:var(--sg-leaf);display:flex;align-items:center;justify-content:center;border:5px solid var(--sg-cream);box-shadow:0 8px 20px rgba(107,143,78,.25)}
.sg .sg-script{font-family:"Oooh Baby",cursive;font-weight:400;color:var(--sg-ink);font-size:54px;line-height:1.05;margin:4px 0 0;letter-spacing:0;text-transform:none}
.sg-lead{max-width:340px}
.sg-eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:var(--sg-olive)}
.sg-datecard{width:100%;background:var(--sg-sand);border-radius:22px;padding:20px;display:flex;gap:16px;align-items:center;text-align:left;margin:8px 0 4px}
.sg-datecard strong{display:block;font-size:16px;font-weight:500;color:var(--sg-ink)}
.sg-datecard p{font-size:14px;line-height:1.45;margin-top:3px}
.sg-cal{flex:none;width:62px;height:66px;border-radius:14px;background:var(--sg-white);overflow:hidden;display:flex;flex-direction:column;align-items:center}
.sg-cal span{width:100%;height:20px;background:var(--sg-flamingo);color:#fff;font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;justify-content:center}
.sg-cal b{font-size:24px;font-weight:500;color:var(--sg-ink);margin-top:6px;line-height:1.2}
.sg-share{width:100%;border-top:1px solid var(--sg-sand2);margin-top:14px;padding-top:22px;display:flex;flex-direction:column;align-items:center;gap:10px}
.sg-share strong{font-size:16px;font-weight:500;color:var(--sg-ink)}
.sg .sg-link{display:inline-flex;gap:8px;align-items:center;background:none;border:0;padding:6px;margin:0;font:inherit;font-size:15px;font-weight:400;color:var(--sg-olive);cursor:pointer}
.sg .sg-link span{text-decoration:underline;text-underline-offset:3px}
.sg .sg-link:hover{background:none;color:var(--sg-ink)}

/* Platzhalter aus [sg_info], solange in den Einstellungen nichts eingetragen ist */
.sg-ph{background:#F7DCDF;color:#9A4E5B;border-radius:6px;padding:0 6px;font-weight:500;white-space:nowrap}

/* Preisliste (Plätze) */
.sg-prizes{display:flex;flex-direction:column;gap:12px}
.sg-prize{display:flex;gap:16px;align-items:center;background:var(--sg-white);border-radius:22px;padding:18px 20px;border:1.5px solid var(--sg-flamingo-soft)}
.sg-prize-1{border-color:var(--sg-flamingo);box-shadow:0 10px 26px rgba(201,112,127,.14);padding:22px 20px}
.sg-prize-rank{flex:none;width:56px;height:56px;border-radius:50%;background:var(--sg-flamingo-soft);color:#9A4E5B;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.sg-prize-rank b{font-family:"Oooh Baby",cursive;font-weight:400;font-size:30px;line-height:.9}
.sg-prize-rank span{font-size:9px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;margin-top:2px}
.sg-prize-1 .sg-prize-rank{background:var(--sg-flamingo);color:#fff;width:64px;height:64px}
.sg-prize-1 .sg-prize-rank b{font-size:36px}
.sg-prize-body{min-width:0}
.sg-prize-label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--sg-olive)}
.sg-prize-title{font-size:19px;font-weight:500;color:var(--sg-ink);line-height:1.3;margin-top:2px !important}
.sg-prize-1 .sg-prize-title{font-size:21px}
.sg-prize-text{font-size:14px;color:var(--sg-muted);line-height:1.45;margin-top:4px !important}
