.umdf-wrap{max-width:1220px}.umdf-controls,.umdf-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:16px 0}.umdf-controls label{display:flex;gap:8px;align-items:center}.umdf-controls input[type=number]{width:85px}.umdf-toolbar #umdf-search{width:300px;max-width:95%}.umdf-map{height:680px;min-height:420px;border-radius:9px;border:1px solid #ccd0d4;overflow:hidden;z-index:0;background:#f1f5f9}.umdf-public .umdf-map{height:min(82vh,860px)}.umdf-stats{display:flex;gap:24px;flex-wrap:wrap;margin:15px 0;background:#fff;padding:16px;border:1px solid #dcdcde;border-radius:8px}.umdf-message{margin-top:10px;font-weight:600}.umdf-message.error{color:#b91c1c}.umdf-message.success{color:#166534}.umdf-caption{color:#596477;font-size:13px}.umdf-public{max-width:1440px;margin:auto}.umdf-map .leaflet-popup-content-wrapper{border-radius:18px;padding:0;box-shadow:0 18px 40px rgba(15,23,42,.18)}.umdf-map .leaflet-popup-content{min-width:230px;max-width:280px;margin:0}.umdf-map .leaflet-popup-tip{background:#fff}@media(max-width:650px){.umdf-map{height:520px}.umdf-stats{gap:10px}.umdf-toolbar #umdf-search{width:100%}}
.umdf-sync-panel{background:#f8fafc;border:1px solid #cbd5e1;border-radius:9px;padding:15px;margin-top:15px}.umdf-sync-panel h2{margin-top:0}.umdf-sync-panel #umdf-sync-result{font-weight:600}

.umdf-public-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0}.umdf-chip{font-size:13px;background:#f1f5f9;border-radius:14px;padding:5px 9px}.umdf-search-label{font-size:13px}.umdf-search-label input{max-width:180px;padding:6px}.umdf-public button{cursor:pointer;border:1px solid #d1d5db;border-radius:6px;padding:7px 11px;background:#fff;color:#16324a}.umdf-public-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:14px;align-items:start}.umdf-selection{background:#f8fafc;border:1px solid #cbd5e1;padding:16px;border-radius:9px;color:#1e293b;max-height:860px;overflow:auto;position:sticky;top:16px}.umdf-selection h3{margin-top:0}.umdf-selection-list{overflow-wrap:anywhere}#umdf-selection-list{max-height:280px;overflow-y:auto}.umdf-popup-select{margin-top:9px}.umdf-public .leaflet-popup button{color:#1e293b}@media(max-width:1100px){.umdf-public-layout{grid-template-columns:1fr}.umdf-selection{max-height:none;position:static}.umdf-public .umdf-map{height:66vh;min-height:430px}}

/* 0.4.0: mapa maximizado y reconocimiento demostrativo */
.umdf-public .umdf-map:fullscreen{width:100vw;height:100vh;min-height:100vh;border:0;border-radius:0;background:#f1f5f9}
.umdf-public .umdf-map:-webkit-full-screen{width:100vw;height:100vh;min-height:100vh}
.umdf-public-tools #umdf-fullscreen{font-weight:600;background:#eff6ff;border-color:#93c5fd}
.umdf-donor-preview{border-top:1px solid #cbd5e1;margin-top:14px;padding-top:12px}
.umdf-donor-preview label{display:block;font-size:13px;margin:10px 0}
.umdf-donor-preview input:not([type=checkbox]),.umdf-donor-preview textarea{box-sizing:border-box;width:100%;max-width:100%;padding:8px;border:1px solid #cbd5e1;border-radius:6px}
.umdf-donor-preview input[type=checkbox]{margin-right:6px}
.umdf-total-preview{font-weight:600;margin-top:15px}
.umdf-selection #umdf-show-donor-form:not(:disabled){background:#2563eb;color:white;border-color:#2563eb}
.umdf-selection #umdf-show-donor-form:disabled{opacity:.5;cursor:not-allowed}

.umdf-auto-message{background:#f1f5f9;border-radius:7px;padding:10px;margin:12px 0}.umdf-auto-message p{margin:6px 0 0}.umdf-recognition-card{border:1px solid #d1d5db;border-radius:9px;padding:12px;margin:12px 0;text-align:center}.umdf-recognition-card img{display:block;max-width:100%;max-height:150px;object-fit:contain;margin:10px auto;border-radius:7px}.umdf-recognition-card strong{display:block}.umdf-popup-card{padding:0;text-align:center;background:linear-gradient(180deg,#fffbeb 0%,#ffffff 18%,#f8fafc 100%);overflow:hidden}.umdf-popup-top{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px 10px}.umdf-popup-code{font-size:12px;font-weight:800;color:#475569;letter-spacing:.4px;overflow-wrap:anywhere;text-align:left}.umdf-popup-status{display:inline-block;padding:6px 11px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.3px;white-space:nowrap}.umdf-status-donated{background:#dcfce7;color:#166534}.umdf-status-reserved{background:#fef3c7;color:#92400e}.umdf-status-available{background:#dbeafe;color:#1d4ed8}.umdf-status-unavailable{background:#e2e8f0;color:#475569}.umdf-popup-ribbon{margin:0 16px 10px;padding:9px 12px;border-radius:12px;background:linear-gradient(90deg,#8b5e3c 0%,#b08968 100%);color:#fff;font-size:12px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.umdf-popup-donor{font-size:25px;line-height:1.12;font-weight:800;color:#0f172a;margin:2px 18px 12px}.umdf-popup-photo{width:100%;display:flex;justify-content:center;margin:0 0 14px}.umdf-popup-photo img{display:block;width:136px;height:172px;object-fit:cover;border-radius:16px;border:4px solid #fff;box-shadow:0 14px 30px rgba(15,23,42,.18)}.umdf-popup-message-box{margin:0 16px 12px;padding:14px 14px 12px;border-radius:16px;background:#fff;border:1px solid #e5e7eb;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.umdf-popup-thanks{font-size:17px;line-height:1.45;color:#334155;margin:0;font-style:italic;white-space:pre-wrap}.umdf-popup-footer{padding:0 16px 16px;font-size:12px;font-weight:700;letter-spacing:.3px;color:#64748b;text-transform:uppercase}.umdf-popup-caption{font-size:14px;line-height:1.4;color:#475569;padding:0 16px 16px}

.umdf-dynamic-field{display:flex;flex-direction:column;gap:5px;margin:12px 0;font-size:14px}.umdf-dynamic-field input:not([type=checkbox]),.umdf-dynamic-field textarea,.umdf-dynamic-field select{width:100%;max-width:100%;box-sizing:border-box}.umdf-dynamic-field:has(input[type=checkbox]){display:block}

/* 0.8.0 — Métodos de pago y estadísticas */
.umdf-payment-instructions{border:1px solid #b6d6c5;background:#f0fdf4;border-radius:12px;padding:14px;margin:12px 0;overflow-wrap:anywhere}.umdf-payment-instructions h4{margin:0 0 8px}.umdf-payment-instructions p{line-height:1.5;margin:8px 0}.umdf-progress{border:1px solid #dbe5dd;border-radius:16px;padding:24px;background:#fff}.umdf-progress h3{margin-top:0}.umdf-progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px}.umdf-progress-item{padding:16px;background:#f5f8f6;border-radius:12px;display:flex;flex-direction:column;gap:8px}.umdf-progress-item small{color:#52635b}.umdf-progress-item strong{font-size:23px;color:#174b35}.umdf-bar{height:13px;border-radius:99px;background:#e2e8e5;overflow:hidden}.umdf-bar span{display:block;height:100%;background:#248b5d;border-radius:99px}

.umdf-tree-tools{background:#f0fdf4;border:1px solid #a7f3d0;border-radius:10px;padding:14px;margin:16px 0}.umdf-tree-tools select{min-width:170px}.umdf-tree-tools #umdf-tree-count{font-weight:700;margin-left:8px}.umdf-tree-tools .description{margin-bottom:0}

.umdf-trees-public{max-width:1440px;margin:auto}.umdf-trees-public .umdf-map{height:min(82vh,850px)}.umdf-tree-popup{min-width:185px;text-align:center}.umdf-tree-popup strong{font-size:18px;color:#166534}.umdf-tree-popup p{font-weight:700;margin:10px 0}.umdf-tree-popup small{color:#64748b}
/* v0.9.3 - public shortcode layouts */
.umdf-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.umdf-trees-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:14px;align-items:start}
.umdf-tree-side{border:1px solid #cbd5e1;background:#f8fafc;border-radius:10px;padding:17px;max-height:850px;overflow:auto}
.umdf-tree-side h3{margin-top:0}.umdf-tree-side button{padding:9px 12px;margin:5px 5px 5px 0;border:1px solid #cbd5e1;border-radius:7px;background:#fff;cursor:pointer}
.umdf-tree-side button:disabled{opacity:.5;cursor:not-allowed}.umdf-tree-side #umdf-tree-continue:not(:disabled),.umdf-tree-side [type=submit]{background:#166534;color:#fff;border-color:#166534}
.umdf-tree-side #umdf-tree-selected-list{overflow-wrap:anywhere;max-height:130px;overflow-y:auto}.umdf-tree-side #umdf-tree-payment{background:#ecfdf5;border:1px solid #86efac;padding:12px;border-radius:8px;overflow-wrap:anywhere}
.umdf-trees-public .umdf-map{height:min(82vh,850px)}.umdf-trees-public .umdf-dynamic-field input,.umdf-trees-public .umdf-dynamic-field select,.umdf-trees-public .umdf-dynamic-field textarea{max-width:100%;box-sizing:border-box}
@media(max-width:1050px){.umdf-trees-layout{grid-template-columns:1fr}.umdf-tree-side{max-height:none}.umdf-trees-public .umdf-map{height:65vh;min-height:430px}}

/* 0.9.5: reliable tree map container and visible errors */
.umdf-trees-public #umdf-trees-public-map{display:block;width:100%;height:740px;min-height:460px;position:relative;background:#e8eef1;border:1px solid #cbd5e1;border-radius:10px}.umdf-trees-public .umdf-tree-error{display:block!important;position:relative!important;clip:auto!important;white-space:normal!important;width:auto!important;height:auto!important;margin:8px 0!important;padding:12px!important;color:#991b1b;background:#fff1f2;border:1px solid #fecdd3;border-radius:8px}@media(max-width:1050px){.umdf-trees-public #umdf-trees-public-map{height:65vh;min-height:430px}}

/* 0.9.7: diagnostic visibility and theme override isolation */
.umdf-trees-public .umdf-trees-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 280px!important;gap:14px!important;}
.umdf-trees-public #umdf-trees-public-map{display:block!important;visibility:visible!important;opacity:1!important;box-sizing:border-box!important;height:740px!important;min-height:460px!important;background-color:#e2e8f0!important;width:100%!important;}
.umdf-trees-public .umdf-tree-debug{display:block!important;position:relative!important;clip:auto!important;overflow:visible!important;width:auto!important;height:auto!important;margin:8px 0!important;font-size:12px!important;color:#475569!important;}
@media(max-width:1050px){.umdf-trees-public .umdf-trees-layout{grid-template-columns:1fr!important}.umdf-trees-public #umdf-trees-public-map{height:65vh!important;min-height:430px!important;}}

/* Refuerzo del CSS del mapa de árboles sin alterar el mapa principal. */
.umdf-trees-public #umdf-trees-public-map.leaflet-container{display:block!important;background:#e2e8f0!important;min-height:460px!important;position:relative!important;z-index:0!important}
.umdf-trees-public #umdf-trees-public-map .leaflet-control-container{display:block!important;visibility:visible!important}
.umdf-trees-public #umdf-trees-public-map .leaflet-pane{visibility:visible!important}

/* 0.9.9: Layout estable del visor ambiental en temas con estilos restrictivos. */
.umdf-trees-public{display:block!important;width:100%!important;max-width:1440px!important;min-width:0!important;box-sizing:border-box!important}
.umdf-trees-public .umdf-trees-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 300px!important;align-items:stretch!important;width:100%!important;min-width:0!important}
.umdf-trees-public .umdf-trees-layout > #umdf-trees-public-map{width:100%!important;min-width:0!important;max-width:none!important;float:none!important;margin:0!important;box-sizing:border-box!important}
.umdf-trees-public .umdf-tree-side{min-width:0!important;box-sizing:border-box!important}
@media(max-width:900px){.umdf-trees-public .umdf-trees-layout{grid-template-columns:minmax(0,1fr)!important}.umdf-trees-public #umdf-trees-public-map{height:60vh!important;min-height:430px!important}}

/* v0.9.11: stabilize public tree layout even with restrictive theme grid rules */
.umdf-trees-public .umdf-trees-layout{display:flex!important;flex-direction:row!important;align-items:stretch!important;flex-wrap:wrap!important;gap:18px!important;grid-template-columns:none!important;width:100%!important;min-width:0!important}
.umdf-trees-public #umdf-trees-public-map{flex:1 1 560px!important;width:auto!important;min-width:320px!important;max-width:100%!important;margin:0!important;float:none!important;box-sizing:border-box!important}
.umdf-trees-public .umdf-tree-side{flex:0 1 300px!important;width:300px!important;min-width:260px!important;max-width:100%!important;box-sizing:border-box!important}
@media(max-width:780px){.umdf-trees-public .umdf-trees-layout{flex-direction:column!important;flex-wrap:nowrap!important}.umdf-trees-public #umdf-trees-public-map{flex:none!important;width:100%!important;min-width:0!important;height:65vh!important}.umdf-trees-public .umdf-tree-side{flex:none!important;width:100%!important;max-width:100%!important}}

/* v0.9.12: el tema WordPress reduce el ancho del bloque shortcode.
   El contenido del mapa necesita escapar del contenedor angosto en escritorio. */
.umdf-trees-public{
 position:relative!important;
 left:50%!important;
 transform:translateX(-50%)!important;
 width:min(1440px,calc(100vw - 32px))!important;
 max-width:none!important;
 margin:0!important;
 box-sizing:border-box!important;
 clear:both!important;
}
.umdf-trees-public .umdf-trees-layout{
 display:grid!important;
 grid-template-columns:minmax(0,1fr) 300px!important;
 gap:18px!important;
 align-items:start!important;
 width:100%!important;
 min-width:0!important;
 max-width:100%!important;
 flex-direction:unset!important;
 flex-wrap:unset!important;
}
.umdf-trees-public .umdf-trees-layout > #umdf-trees-public-map{
 display:block!important;
 width:100%!important;
 min-width:0!important;
 max-width:100%!important;
 height:min(78vh,850px)!important;
 min-height:520px!important;
 flex:none!important;
 margin:0!important;
 box-sizing:border-box!important;
}
.umdf-trees-public .umdf-tree-side{
 width:100%!important;
 min-width:0!important;
 max-width:100%!important;
 flex:none!important;
 box-sizing:border-box!important;
}
@media screen and (max-width:780px){
 .umdf-trees-public{width:calc(100vw - 24px)!important;}
 .umdf-trees-public .umdf-trees-layout{grid-template-columns:minmax(0,1fr)!important;}
 .umdf-trees-public .umdf-trees-layout > #umdf-trees-public-map{height:62vh!important;min-height:420px!important;}
}

/* v0.9.14: Reconocimiento de árboles confirmados */
.umdf-tree-recognition{text-align:center;min-width:225px;max-width:280px;padding:8px;color:#1e293b}.umdf-tree-recognition>strong{display:block;font-size:12px;color:#64748b;margin-bottom:8px}.umdf-tree-recognition-badge{display:inline-block;border-radius:20px;padding:5px 12px;background:#dcfce7;color:#166534;font-size:12px;font-weight:700}.umdf-tree-recognition h3{font-size:21px;line-height:1.2;margin:12px 0;color:#14532d}.umdf-tree-recognition-photo{display:block;max-width:180px;max-height:180px;width:auto;height:auto;object-fit:contain;margin:10px auto;border-radius:12px;box-shadow:0 5px 16px rgba(0,0,0,.14)}.umdf-tree-recognition-thanks{font-style:italic;line-height:1.5;margin:12px 0;color:#475569;white-space:pre-wrap}.umdf-tree-recognition small{display:block;font-weight:700;color:#64748b}

/* v0.9.15: El mapa de metros usa el mismo ancho y columnas que el de árboles. */
.umdf-public{
 position:relative!important;
 left:50%!important;
 transform:translateX(-50%)!important;
 width:min(1440px,calc(100vw - 32px))!important;
 max-width:none!important;
 margin:0!important;
 box-sizing:border-box!important;
 clear:both!important;
}
.umdf-public .umdf-public-layout{
 display:grid!important;
 grid-template-columns:minmax(0,1fr) 300px!important;
 gap:18px!important;
 align-items:start!important;
 width:100%!important;
 min-width:0!important;
 max-width:100%!important;
}
.umdf-public .umdf-public-layout > #umdf-public-map{
 display:block!important;
 width:100%!important;
 min-width:0!important;
 max-width:100%!important;
 height:min(78vh,850px)!important;
 min-height:520px!important;
 margin:0!important;
 box-sizing:border-box!important;
}
.umdf-public .umdf-public-layout > .umdf-selection{
 width:100%!important;
 min-width:0!important;
 max-width:100%!important;
 box-sizing:border-box!important;
}
@media screen and (max-width:780px){
 .umdf-public{width:calc(100vw - 24px)!important;}
 .umdf-public .umdf-public-layout{grid-template-columns:minmax(0,1fr)!important;}
 .umdf-public .umdf-public-layout > #umdf-public-map{height:62vh!important;min-height:420px!important;}
 .umdf-public .umdf-public-layout > .umdf-selection{position:static!important;max-height:none!important;}
}

/* v0.9.17: herramientas del mapa de árboles, mismo lenguaje visual que el de metros. */
.umdf-trees-public .umdf-tree-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 16px}
.umdf-trees-public .umdf-tree-toolbar button{border:1px solid #cbd5e1;background:#fff;color:#17324a;border-radius:8px;padding:9px 14px;cursor:pointer;font-size:14px}
.umdf-trees-public .umdf-tree-toolbar #umdf-tree-fullscreen{background:#eff6ff;border-color:#93c5fd;font-weight:700}
.umdf-trees-public .umdf-tree-find-label{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:14px}
.umdf-trees-public .umdf-tree-find-label input{max-width:210px;min-width:120px;padding:9px;border:1px solid #cbd5e1;border-radius:5px}
.umdf-trees-public #umdf-trees-public-map:fullscreen{width:100vw!important;height:100vh!important;max-width:none!important;min-height:100vh!important;border:0!important;border-radius:0!important}
@media(max-width:780px){.umdf-trees-public .umdf-tree-toolbar{gap:8px}.umdf-trees-public .umdf-tree-find-label input{max-width:155px}}

/* 0.9.21: Encabezado institucional, no altera los mapas */
.umdf-public-brand{display:flex;align-items:center;gap:12px;max-width:100%;padding:12px 16px;margin:0 0 14px;border-radius:12px;border-left:4px solid var(--umdf-brand-primary,#166534);background:#f8fafc;color:#1f2937;box-sizing:border-box}
.umdf-public-brand .umdf-brand-logo{width:52px;height:52px;object-fit:contain;flex:none}
.umdf-public-brand strong{display:block;font-size:19px;line-height:1.25;color:var(--umdf-brand-primary,#166534)}
.umdf-public-brand span{display:block;font-size:13px;opacity:.85;margin-top:3px}
