.ilercavonia-wrap {
    --band:     #dbd6c6;
    --page:     #f9f7f0;
    --box:      #c9c3b3;
    --ink:      #4a3928;
    --ink-soft: rgba(74,57,40,.30);
    background: var(--page);
    color: var(--ink);
}
/* Header */
.ilercavonia-header {
    width: 100%;
    background: var(--band);
}
.ilercavonia-header-inner {
    max-width: 1180px;
    margin: 0 auto;
    padding: 18px 40px 28px;
    display: flex;
    justify-content: center;
}
.elementor .ilercavonia-header img {
    display: block;
    width: 100%;
    max-width: 760px;
}
/* Main */
.ilercavonia-main {
    padding: 54px 20px 64px;
    display: flex;
    justify-content: center;
}
/* Card / form */
.ilercavonia-card {
    width: 100%;
    max-width: 680px;
    background: var(--band);
    border: 1px solid var(--ink-soft);
    border-radius: 18px;
    padding: 42px 44px 40px;
}
.ilercavonia-card h2 {
    margin: 0 0 30px;
    font-size: 34px;
    font-weight: 800;
    color: var(--ink);
}
.ilercavonia-field { margin-bottom: 26px; }
.ilercavonia-field > label,
.ilercavonia-group-label {
    display: block;
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 10px;
    line-height: 1.35;
}
.ilercavonia-card input[type="text"],
.ilercavonia-card input[type="tel"],
.ilercavonia-card input[type="email"],
.ilercavonia-card textarea {
    width: 100%;
    background: var(--band);
    border: 1px solid var(--ink-soft);
    border-radius: 9px;
    padding: 13px 15px;
    font-size: 15px;
    color: var(--ink);
    outline: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.ilercavonia-card input::placeholder,
.ilercavonia-card textarea::placeholder{ color: rgba(74,57,40,.42); }
.ilercavonia-card input:focus,
.ilercavonia-card textarea:focus {
    border-color: var(--ink);
    box-shadow: 0 0 0 2px rgba(74,57,40,.14);
}
.ilercavonia-card textarea { min-height: 96px; resize: vertical; }

/* Option boxes (radio + consent) */
.ilercavonia-option {
    background: var(--box);
    border-radius: 9px;
    padding: 18px;
    margin-bottom: 18px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
}
.ilercavonia-option:last-of-type { margin-bottom: 0; }
.ilercavonia-option label {
    font-size: 15px;
    line-height: 1.4;
    cursor: pointer;
}
/* Custom radio */
.ilercavonia-card input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 17px; height: 17px;
    flex: 0 0 auto;
    margin-top: 1px;
    border: 1px solid var(--ink);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    position: relative;
    transition: background .1s;
}
.ilercavonia-card input[type="radio"]:checked{ background: var(--ink); }
.ilercavonia-card input[type="radio"]:checked::after {
    content: "";
    position: absolute;
    inset: 3px;
    border-radius: 50%;
    background: var(--band);
}
/* Custom checkbox */
.ilercavonia-card input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 17px; height: 17px;
    flex: 0 0 auto;
    margin-top: 1px;
    border: 1px solid var(--ink);
    border-radius: 3px;
    background: transparent;
    cursor: pointer;
    position: relative;
}
.ilercavonia-card input[type="checkbox"]:checked{ background: var(--ink); }
.ilercavonia-card input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 5px; top: 1px;
    width: 4px; height: 9px;
    border: solid var(--band);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
/* Submit */
.ilercavonia-submit[type="submit"] {
    width: 100%;
    margin-top: 30px;
    background: var(--ink);
    color: var(--page);
    border: none;
    border-radius: 9px;
    padding: 18px;
    font-size: 17px;
    cursor: pointer;
    transition: background .15s ease;
}
.ilercavonia-submit[type="submit"]:hover { background: #3a2c1d; }
/* Notice messages */
.ilercavonia-error{
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
    border-radius: 9px;
    padding: 14px 18px;
    margin-bottom: 22px;
    font-size: 15px;
}
/* Responsive */
@media (max-width: 560px) {
    .ilercavonia-header-inner { padding: 14px 20px 22px; }
    .ilercavonia-card { padding: 30px 22px 32px; border-radius: 14px; }
    .ilercavonia-card h2 { font-size: 27px; margin-bottom: 24px; }
    .ilercavonia-main { padding: 34px 14px 44px; }
}
