.domani-cf {
    --domani-bg: #fbf8f0;
    --domani-bg-soft: #f5f1e8;
    --domani-fg: #1f2622;
    --domani-accent: #d97706;
    --domani-accent-hover: #b25a00;
    --domani-border: #d9d3c2;
    --domani-error: #b91c1c;
    --domani-success: #166534;
    --domani-radius: 12px;

    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: var(--domani-fg);
    max-width: 720px;
    margin: 0 auto;
}

.domani-cf * { box-sizing: border-box; }

.domani-cf__form {
    background: var(--domani-bg);
    padding: 1.5rem;
    border-radius: var(--domani-radius);
    border: 1px solid var(--domani-border);
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.domani-cf__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

@media (max-width: 600px) {
    .domani-cf__row { grid-template-columns: 1fr; }
}

.domani-cf__field { display: flex; flex-direction: column; gap: .35rem; }

.domani-cf__field label,
.domani-cf__gdpr label {
    font-weight: 600;
    font-size: 0.95rem;
}

.domani-cf__req { color: var(--domani-accent); font-weight: 700; }

.domani-cf__field input,
.domani-cf__field select,
.domani-cf__field textarea {
    width: 100%;
    padding: .65rem .8rem;
    border-radius: 8px;
    border: 1px solid var(--domani-border);
    background: #fff;
    font: inherit;
    color: inherit;
    transition: border-color .15s, box-shadow .15s;
}

.domani-cf__field input:focus,
.domani-cf__field select:focus,
.domani-cf__field textarea:focus {
    outline: none;
    border-color: var(--domani-accent);
    box-shadow: 0 0 0 3px rgba(217, 119, 6, .2);
}

.domani-cf__field--custode-selected select {
    background: #e8efde;
    border-color: var(--domani-success);
    color: var(--domani-success);
    font-weight: 700;
}

.domani-cf__field--custode-selected select:focus {
    border-color: var(--domani-success);
    box-shadow: 0 0 0 3px rgba(22, 101, 52, .18);
}

.domani-cf .privacy-note {
    margin: -.15rem 0 -.35rem;
    padding: .65rem .8rem;
    border-left: 3px solid var(--domani-accent);
    border-radius: 8px;
    background: rgba(217, 119, 6, .08);
    color: #5f4a20;
    font-size: .86rem;
    line-height: 1.45;
}

.domani-cf__field--error input,
.domani-cf__field--error select,
.domani-cf__field--error textarea,
.domani-cf__gdpr--error {
    border-color: var(--domani-error) !important;
    background: #fff5f5;
}

.domani-cf__gdpr {
    background: var(--domani-bg-soft);
    padding: .85rem 1rem;
    border-radius: 10px;
    font-size: .9rem;
    border: 1px solid var(--domani-border);
}

.domani-cf__gdpr label {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    cursor: pointer;
    font-weight: 400;
}

.domani-cf__gdpr input[type="checkbox"] {
    margin-top: .25rem;
    width: 18px;
    height: 18px;
    accent-color: var(--domani-accent);
}

.domani-cf__gdpr a { color: var(--domani-accent); }

.domani-cf__actions { display: flex; justify-content: flex-end; }

.domani-cf__submit {
    background: var(--domani-accent);
    color: #fff;
    border: none;
    padding: .85rem 1.6rem;
    border-radius: 999px;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
    transition: background-color .15s, transform .15s;
}

.domani-cf__submit:hover { background: var(--domani-accent-hover); }
.domani-cf__submit:active { transform: translateY(1px); }
.domani-cf__submit:disabled { opacity: .6; cursor: progress; }

.domani-cf__alert {
    margin-bottom: 1rem;
    padding: .9rem 1rem;
    border-radius: 10px;
    border: 1px solid transparent;
    font-weight: 500;
}

.domani-cf__alert--success {
    background: #ecfdf5;
    border-color: #a7f3d0;
    color: var(--domani-success);
}

.domani-cf__alert--error {
    background: #fef2f2;
    border-color: #fecaca;
    color: var(--domani-error);
}

.domani-cf__hp {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
