/* BONPICO v0.4: responsive móvil, galería, mapa y ubicación de tienda */
.geo-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:15px 0 18px}
.geo-toolbar select,.location-form input{background:#fff;border:1px solid #e6d8d2;border-radius:12px;min-height:42px;padding:10px 12px;color:#49333e;font:inherit}
.geo-toolbar select{flex:1;min-width:145px}
.geo-toolbar .outline-btn{white-space:nowrap;min-height:42px;padding:9px 14px}
.map-panel{background:#fff;padding:12px;border:1px solid #f0ddd3;border-radius:20px;margin-bottom:20px;box-shadow:0 6px 20px rgba(73,51,62,.04)}
.map-view{width:100%;height:320px;border-radius:14px;overflow:hidden;background:#f2eee8;z-index:0}
.map-caption{font-size:12px;color:#775a5e;margin:10px 4px 0}
.offer-art img.offer-photo{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.offer-art{position:relative;overflow:hidden}
.offer-art .offer-emoji{position:relative}
.offer-art.has-photo .offer-emoji{display:none}
.offer-art .discount-badge,.offer-art .left-badge{position:absolute;z-index:1}
.image-upload{display:flex;flex-direction:column;gap:7px}
.image-upload input{padding:10px;border:1px dashed #cda89b;border-radius:12px;background:#fff8f0;max-width:100%}
.image-upload small{color:#8d6a65;font-size:11px;line-height:1.4}
.image-upload img{max-height:130px;max-width:100%;object-fit:cover;border-radius:12px}
.location-form{border-top:1px solid #f0dcd1;margin-top:22px;padding-top:14px;display:flex;flex-direction:column;gap:10px}
.location-form h4{font-size:17px;margin:0}
.location-form p{font-size:12px;margin:0;color:#806264;line-height:1.6}
.location-form>label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700}
.pin-fields{display:flex;gap:8px}
.pin-fields label{flex:1;min-width:0;font-size:11px;color:#765d60}
.pin-fields input{display:block;width:100%;min-width:0;margin-top:5px;font-size:12px}
#merchantMapContainer{margin:0 0 8px}
.leaflet-container{font-family:system-ui,sans-serif}
@media(max-width:760px){.geo-toolbar{gap:7px}.geo-toolbar select{flex-basis:100%;width:100%}.geo-toolbar .outline-btn{flex:1;font-size:12px}.map-view{height:275px}.offer-art img.offer-photo{object-fit:cover}.location-form{margin-top:14px}.offers-grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr))}}
@media(max-width:390px){.geo-toolbar .outline-btn{font-size:11px;padding:8px}.map-view{height:235px}}
/* Accounts, photos and administration v0.5 */
.password-field{display:flex;gap:8px;align-items:center}.password-field input{min-width:0;flex:1}.password-field button{white-space:normal;max-width:120px;min-height:44px}
.photo-previews{display:flex;flex-wrap:wrap;gap:8px}.photo-previews img{width:85px;height:85px;object-fit:cover;border-radius:10px}
.photo-gallery{display:grid;gap:14px}.photo-gallery figure{margin:0}.photo-gallery img{display:block;width:100%;max-height:450px;object-fit:contain;border-radius:12px;background:#f8f4ef}.photo-gallery button{margin-top:8px}
.gallery-open{border:0;background:transparent;position:absolute;inset:0;width:100%;height:100%;cursor:pointer}.photo-count{position:absolute;bottom:10px;left:10px;background:#fff;border-radius:12px;padding:5px 10px;font-weight:700;z-index:2}.gallery-open:focus-visible{outline:4px solid #49333e;outline-offset:-4px;z-index:3}
.admin-actions{display:flex;gap:7px;flex-wrap:wrap}.admin-search{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:15px}.admin-search input{min-width:0;flex:1;padding:10px;border:1px solid #d5c6c0;border-radius:10px}.admin-pagination{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:16px}
.admin-order{gap:12px}.admin-order>div{min-width:0}.admin-order small{overflow-wrap:anywhere}.admin-panel{margin-top:18px}.auth-form select,.auth-form>input{font:inherit;padding:11px;min-width:0;border:1px solid #d5c6c0;border-radius:10px}.auth-form .split-inputs select{width:100%;margin-top:7px}.modal{max-height:90dvh;overflow:auto}button:disabled{opacity:.5;cursor:default}.feedback{overflow-wrap:anywhere}
@media(max-width:600px){.admin-order{flex-direction:column;align-items:stretch}.admin-actions button{min-height:44px}.password-field button{font-size:12px}.admin-search label{width:100%}.mobile-nav{z-index:10}body{padding-bottom:70px}}
