
/* Christkindlmarkt form - theme-safe styles */
.ckm-presse-form,
.ckm-presse-form * { box-sizing: border-box; }

.ckm-presse-form { max-width: 850px; margin: 0 auto; color: #222 !important; }
.ckm-presse-form [hidden] { display: none !important; }

.ckm-presse-form fieldset { border: 0 !important; padding: 0 !important; margin: 0 0 30px !important; }
.ckm-presse-form legend,
.ckm-presse-form h3,
.ckm-presse-form label,
.ckm-presse-form .ckm-label,
.ckm-presse-form .ckm-choice span,
.ckm-presse-form .ckm-usage,
.ckm-presse-form .ckm-usage p,
.ckm-presse-form .ckm-usage strong,
.ckm-presse-form .ckm-accreditation span,
.ckm-presse-form .ckm-consent span {
    color: #222 !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.ckm-presse-form legend { font-size: 1.35rem !important; font-weight: 700 !important; margin: 0 0 14px !important; }
.ckm-presse-form h3 { margin: 0 0 22px !important; font-size: 1.2rem !important; }

.ckm-choice-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px !important; }
.ckm-choice {
    display:flex !important; align-items:center !important; gap:10px !important;
    border:1px solid #d7d7d7 !important; padding:17px 18px !important;
    border-radius:7px !important; cursor:pointer !important;
    background:#fff !important; color:#222 !important;
}
.ckm-choice input { width:auto !important; margin:0 !important; }
.ckm-choice span { font-weight:600 !important; }

.ckm-section {
    display:block; margin:28px 0 !important; padding:24px !important;
    border:1px solid #e1e1e1 !important; border-radius:7px !important;
    background:#fff !important;
}
.ckm-section[hidden] { display:none !important; }

.ckm-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px !important; }
.ckm-field { margin-bottom:20px !important; }
.ckm-field label,
.ckm-label {
    display:block !important; font-weight:600 !important; font-size:15px !important;
    margin:0 0 8px !important; color:#222 !important; text-align:left !important;
}
.ckm-field input,
.ckm-field textarea {
    display:block !important; width:100% !important; max-width:100% !important;
    padding:12px 13px !important; min-height:44px !important;
    border:1px solid #bdbdbd !important; border-radius:5px !important;
    background:#fff !important; color:#222 !important; font-size:16px !important;
    line-height:1.4 !important;
}
.ckm-field textarea { min-height:120px !important; resize:vertical !important; }

.ckm-check-grid { display:flex !important; flex-wrap:wrap !important; gap:12px 22px !important; }
.ckm-check-grid label {
    display:flex !important; align-items:center !important; gap:7px !important;
    font-weight:400 !important; color:#222 !important; cursor:pointer !important;
}
.ckm-check-grid input { width:auto !important; }

.ckm-accreditation,
.ckm-consent {
    display:flex !important; gap:10px !important; align-items:flex-start !important;
    margin-top:18px !important; color:#222 !important;
}
.ckm-accreditation input,
.ckm-consent input { width:auto !important; margin:4px 0 0 !important; flex:0 0 auto !important; }

.ckm-usage {
    padding:20px !important; background:#f7f7f7 !important;
    margin:25px 0 !important; border-radius:6px !important;
}
.ckm-usage strong { font-weight:700 !important; }
.ckm-usage p { margin:8px 0 14px !important; line-height:1.6 !important; }

.ckm-submit {
    display:inline-block !important; padding:13px 25px !important;
    border:0 !important; border-radius:5px !important; cursor:pointer !important;
    font-weight:700 !important; font-size:16px !important;
    background:#222 !important; color:#fff !important;
}
.ckm-notice { padding:15px 18px !important; margin-bottom:22px !important; border-radius:5px !important; }
.ckm-success { background:#eaf7ed !important; color:#164d23 !important; }
.ckm-error { background:#fdecec !important; color:#7a1717 !important; }
.ckm-hp { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }

@media (max-width:650px) {
    .ckm-choice-grid, .ckm-grid { grid-template-columns:1fr !important; }
    .ckm-section { padding:18px !important; }
}
