.afcf-wrap {
    --afcf-accent: #f47c20;
    --afcf-ink: #17324d;
    --afcf-border: #dfe5ea;
    --afcf-bg: #f7f9fb;
    width: 100%;
}
.afcf-form { font: inherit; color: inherit; }
.afcf-title { margin: 0 0 28px; color: inherit; font: inherit; font-size: clamp(26px, 3vw, 40px); font-weight: 700; line-height: 1.15; }

/* Dos columnas principales: datos a la izquierda y solicitud a la derecha. */
.afcf-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(28px, 4vw, 64px);
    align-items: start;
}
.afcf-column { min-width: 0; }
.afcf-column--details {
    display: flex;
    flex-direction: column;
}
.afcf-intro-title { width: 100%; }
.afcf-intro-title h2 { margin: 0; }
.afcf-details-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}
.afcf-column--request {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
}
.afcf-field--wide { grid-column: 1 / -1; }
.afcf-label { display: block; margin: 0 0 9px; font: inherit; font-weight: 600; color: inherit; }
.afcf-field input[type="text"], .afcf-field input[type="email"], .afcf-field input[type="tel"], .afcf-field input[type="date"], .afcf-field textarea {
    width: 100%; min-height: 54px; padding: 14px 16px; border: 1px solid var(--afcf-border); border-radius: 12px; background: #fff; color: inherit; font: inherit; box-shadow: none; outline: none; transition: border-color .2s ease, box-shadow .2s ease;
}
.afcf-field textarea { min-height: 250px; resize: vertical; }
.afcf-field input:focus, .afcf-field textarea:focus { border-color: var(--afcf-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--afcf-accent) 16%, transparent); }
.afcf-date-range { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.afcf-date-range label span { display: block; margin-bottom: 7px; font-size: .9em; opacity: .72; }
.afcf-image-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.afcf-option { position: relative; cursor: pointer; }
.afcf-option input { position: absolute; opacity: 0; pointer-events: none; }
.afcf-option__content { display: flex; min-height: 145px; height: 100%; padding: 14px; flex-direction: column; justify-content: center; align-items: center; gap: 12px; border: 1px solid var(--afcf-border); border-radius: 16px; background: #fff; text-align: center; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease, background .2s ease; }
.afcf-option__content img { display: block; width: 100%; height: 82px; object-fit: contain; }
.afcf-option__label { font: inherit; font-weight: 600; line-height: 1.25; }
.afcf-option:hover .afcf-option__content { transform: translateY(-2px); border-color: #b9c5cf; }
.afcf-option input:checked + .afcf-option__content { border-color: var(--afcf-accent); background: color-mix(in srgb, var(--afcf-accent) 7%, white); box-shadow: 0 0 0 2px var(--afcf-accent); }
.afcf-option input:focus-visible + .afcf-option__content { outline: 3px solid color-mix(in srgb, var(--afcf-accent) 28%, transparent); outline-offset: 2px; }
.afcf-privacy { display: flex; align-items: flex-start; gap: 10px; margin: 28px 0 22px; font: inherit; font-size: .92em; line-height: 1.5; cursor: pointer; }
.afcf-privacy input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--afcf-accent); }
.afcf-privacy a { color: inherit; text-decoration: underline; }
.afcf-submit { display: inline-flex; justify-content: center; align-items: center; min-height: 54px; padding: 14px 28px; border: 0; border-radius: 999px; background: var(--afcf-accent); color: #fff; font: inherit; font-weight: 700; cursor: pointer; transition: transform .2s ease, filter .2s ease; }
.afcf-submit:hover { transform: translateY(-1px); filter: brightness(.95); }
.afcf-submit:disabled { cursor: wait; opacity: .65; }
.afcf-notice { margin-bottom: 22px; padding: 14px 18px; border-radius: 12px; font: inherit; }
.afcf-notice--success { background: #e9f7ef; color: #166534; }
.afcf-notice--error { background: #fff1f1; color: #991b1b; }
.afcf-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

@media (min-width: 981px) {
    .afcf-column--details .afcf-details-grid { margin-top: auto; }
    .afcf-image-options { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
    .afcf-option__content { min-height: 145px; padding: 10px; }
    .afcf-option__content img { height: 70px; }
    .afcf-option__label { font-size: .9em; }
}

@media (max-width: 980px) {
    .afcf-layout { grid-template-columns: 1fr; gap: 28px; }
    .afcf-image-options { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .afcf-field textarea { min-height: 180px; }
}
@media (max-width: 760px) {
    .afcf-image-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .afcf-details-grid, .afcf-date-range { grid-template-columns: 1fr; }
    .afcf-field { grid-column: 1 / -1; }
    .afcf-image-options { grid-template-columns: 1fr 1fr; gap: 10px; }
    .afcf-option__content { min-height: 125px; padding: 10px; }
    .afcf-option__content img { height: 65px; }
    .afcf-submit { width: 100%; }
}
