/* Scoped to the withdrawal form; reuses the landing's typography and brand colors. */
#retiro-dialog { width: min(680px, calc(100% - 24px)); max-height: calc(100dvh - 32px); padding: 0; margin: auto; border: 1px solid #dce6df; border-radius: 24px; background: #fff; color: #1f2937; box-shadow: 0 24px 80px #0003; }
#retiro-dialog::backdrop { background: #101a14a6; }
#retiro-dialog .rf-body { padding: clamp(22px, 4vw, 36px); }
#retiro-dialog .rf-top { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
#retiro-dialog .rf-eyebrow { color: var(--color-primary-ink, #2f6b4f); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
#retiro-dialog .rf-close { background: #f2f6f3; border: 1px solid #dce6df; border-radius: 50%; min-width: 44px; min-height: 44px; font-size: 26px; cursor: pointer; }
#retiro-dialog h2 { margin: 14px 0 10px; font-size: clamp(25px, 4vw, 34px); line-height: 1.12; font-weight: 800; color: #171917; }
#retiro-dialog p { line-height: 1.55; }
#retiro-dialog .rf-intro, #retiro-dialog .rf-help { font-size: 14px; color: #526158; }
#retiro-dialog form { margin-top: 22px; }
#retiro-dialog fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
#retiro-dialog .rf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
#retiro-dialog .rf-wide { grid-column: 1 / -1; }
#retiro-dialog label { display: block; font-size: 13px; font-weight: 600; }
#retiro-dialog input:not([type=checkbox]), #retiro-dialog select, #retiro-dialog textarea { display: block; box-sizing: border-box; margin-top: 7px; width: 100%; min-width: 0; padding: 12px 13px; border: 1px solid #cddbd3; border-radius: 12px; background: #f8faf9; color: #202820; font: inherit; font-size: 16px; font-weight: 400; min-height: 46px; }
#retiro-dialog textarea { resize: vertical; }
#retiro-dialog :focus-visible { outline: 3px solid var(--color-primary-dark, #4a7c59); outline-offset: 3px; }
#retiro-dialog .rf-consent { display: flex; align-items: flex-start; gap: 10px; font-weight: 400; line-height: 1.5; margin: 18px 0; }
#retiro-dialog input[type=checkbox] { flex-shrink: 0; width: 19px; height: 19px; margin-top: 2px; accent-color: #2f6b4f; }
#retiro-dialog a { color: #2f6b4f; text-decoration: underline; }
#retiro-dialog .rf-submit { display: block; width: 100%; min-height: 50px; padding: 13px 20px; border: 0; border-radius: 999px; background: linear-gradient(135deg, #1a1a1a, #000); color: #fff; font-weight: 700; font-size: 15px; cursor: pointer; }
#retiro-dialog button:disabled { opacity: .6; cursor: wait; }
#retiro-dialog .rf-error { color: #a12b24; background: #fff5f3; border-radius: 10px; padding: 12px; margin-bottom: 14px; font-size: 14px; }
#retiro-dialog .rf-help { margin-top: 14px; font-size: 12px; }
#retiro-dialog [hidden] { display: none !important; }
#retiro-dialog .rf-success { padding: 20px 0 8px; }
#retiro-dialog .rf-photo-previews { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:12px; }
#retiro-dialog .rf-photo-previews figure { min-width:0; margin:0; padding:8px; background:#f2f6f3; border:1px solid #dce6df; border-radius:12px; }
#retiro-dialog .rf-photo-previews img { width:100%; height:90px; object-fit:cover; border-radius:7px; }
#retiro-dialog .rf-photo-previews figcaption { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; margin-top:5px; }
#retiro-dialog .rf-photo-previews button { min-height:44px; width:100%; color:#2f6b4f; font-size:13px; font-weight:700; cursor:pointer; }
#retiro-dialog .rf-photo-error { font-size:13px; color:#a12b24; margin-top:8px; }
#retiro-dialog .rf-photo-picker { display:block; width:100%; min-height:48px; margin-top:10px; border:1px dashed #82a890; border-radius:12px; background:#f2f6f3; color:#2f6b4f; font-size:14px; font-weight:700; cursor:pointer; }
@media (max-width: 520px) { #retiro-dialog .rf-grid { grid-template-columns: 1fr; } #retiro-dialog { border-radius: 18px; } }
