/* Original Lives V0.34.6 — Subidas de fotos discretas, uniformes y accesibles. */
.ol346-photo-picker{display:inline-flex!important;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;max-width:100%;margin:3px 0;vertical-align:middle}
.ol346-photo-picker .ol346-photo-pick-control{box-sizing:border-box;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;min-height:35px;min-width:105px;padding:7px 11px;border:1px solid #367f95;border-radius:10px;background:#153247;color:#c9eff6;font:700 12px/1.2 system-ui,sans-serif;cursor:pointer;transition:border-color .14s,background .14s;overflow:hidden}
.ol346-photo-picker .ol346-photo-pick-icon{font-size:14px}
.ol346-photo-picker .ol346-photo-pick-control:hover{background:#20516a;border-color:#3acee0}
.ol346-photo-picker .ol346-photo-pick-control:focus-within{outline:2px solid #65eaf1;outline-offset:2px}
.ol346-photo-picker .ol346-photo-pick-control:has(input:disabled){opacity:.55;cursor:not-allowed}
/* Keep the *same actual file input* overlaying the control for keyboard, mouse and touch. */
.ol346-photo-picker .ol346-photo-pick-control > input[type="file"],
#familias-beta .ol346-photo-picker .ol346-photo-pick-control > input[type="file"],
#olV29Room .ol346-photo-picker .ol346-photo-pick-control > input[type="file"]{display:block!important;position:absolute!important;inset:0!important;opacity:0!important;cursor:pointer!important;width:100%!important;height:100%!important;min-width:0!important;max-width:none!important;padding:0!important;margin:0!important;border:0!important;z-index:2!important;font-size:0!important}
.ol346-photo-picker .ol346-photo-file{max-width:150px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#9fb9cb;font-weight:500}
.ol346-photo-picker.ol346-chosen .ol346-photo-file{color:#b7e5dc}
.ol346-photo-picker.ol346-invalid .ol346-photo-file{color:#ffbba9}
.ol346-photo-picker .ol346-photo-mini{width:36px;height:36px;flex:0 0 36px;object-fit:contain;background:#071b29;border:1px solid #33788d;border-radius:8px}
.ol346-photo-picker .ol346-photo-mini[hidden]{display:none!important}
/* Tiny file forms rather than oversized promotional cards. */
#olV29Room .ol343-room-wall-editor,
#olV29Room .ol332-bg-tool{padding:7px 10px!important;border-radius:11px!important}
#olV29Room .ol343-room-wall-editor summary,
#olV29Room #ol332BgToggle{font-size:12px!important;line-height:1.3!important}
#olV29Room .ol343-room-wall-body{padding:7px 0 2px!important}
#olV29Room .ol343-room-wall-body p,
#olV29Room #ol332BgPanel > p{font-size:11px!important;line-height:1.5!important;margin:4px 0!important}
#olV29Room #ol343WallForm{max-width:none!important;display:flex!important;flex-direction:row!important;align-items:center!important;flex-wrap:wrap!important;gap:7px!important}
#olV29Room #ol343WallForm label{flex-basis:100%;margin:0!important;color:#accad7;font-size:11px!important}
#olV29Room #ol343WallBuy,
#olV29Room #ol332BgBuy,
#olV29Room #ol335RestoreLegacy{width:auto!important;min-height:35px!important;padding:7px 12px!important;border-radius:9px!important;font-size:12px!important;line-height:1.3!important;flex:0 1 auto!important}
#olV29Room #ol343WallPreview{width:100px!important;height:65px!important;object-fit:contain!important;background:#071a29!important;border-radius:9px!important}
#olV29Room #ol332BgPanel{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px!important;padding:9px 2px 3px!important}
#olV29Room #ol332BgPanel[hidden]{display:none!important}
#olV29Room #ol332BgPanel > p,#olV29Room #ol335BgInfo,#olV29Room #ol332BgStatus{flex-basis:100%}
#olV29Room #ol335BgPreview{width:67px!important;height:67px!important;max-width:25vw!important;object-fit:contain!important;background:#071827!important;border-radius:9px!important}
.ol338-saved-room{padding:10px 12px!important;border-radius:12px!important}
.ol338-saved-room .ol338-cover-form, #olV29Room .ol339-room-photo-settings .ol338-cover-form{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:8px!important}
.ol338-cover-form label{flex-basis:100%;font-size:11px!important;color:#b4d5e3!important}
.ol338-cover-form button{min-height:35px;padding:7px 11px!important;font-size:12px!important}
#olV29Room .ol339-room-photo-settings summary{padding:5px 8px!important;font-size:11px!important}
/* Family and profile photo sections keep their respective backend / safety rules. */
#familias-beta .olf-form label:has(.ol346-photo-picker),
#familias-beta .olf-first-photo{font-size:12px!important}
#familias-beta .olf-first-photo{padding:10px!important;gap:8px!important}
#familias-beta .olf-first-photo .ol346-photo-picker{align-self:start}
.ol-v20-gallery-toolbar .ol-contact-primary{font-size:12px!important;min-height:34px!important;padding:7px 10px!important}
.ol-v20-gallery-toolbar .ol-contact-muted{font-size:11px!important}
@media(max-width:540px){
 .ol346-photo-picker .ol346-photo-file{max-width:100px}
 .ol346-photo-picker .ol346-photo-pick-control{min-width:97px;padding:7px 8px}
 #olV29Room #ol343WallBuy,#olV29Room #ol332BgBuy{max-width:100%!important}
}
@media(prefers-reduced-motion:reduce){.ol346-photo-picker .ol346-photo-pick-control{transition:none}}
