/* REEP v32: isolated components; no changes to reward/account calculations. */
.reep-web-link{display:flex;align-items:center;gap:14px;padding:17px 20px;margin-top:20px;border:1px solid #f15a24;border-radius:14px;background:linear-gradient(110deg,#211813,#17191b);color:#f7f7f6;text-decoration:none;box-shadow:0 6px 22px #00000030;transition:transform .2s,box-shadow .2s}.reep-web-link:hover{transform:translateY(-2px);box-shadow:0 8px 24px #f15a2426;color:#fff}.reep-web-link>i{font-size:24px}.reep-web-link span{flex:1}.reep-web-link strong,.reep-web-link small{display:block}.reep-web-link small{margin-top:3px;font-size:12px}
.reep-map-widget{border:1px solid #393d41;border-radius:22px;background:#17191b;overflow:hidden;margin:0 0 24px;container-type:inline-size;box-shadow:0 10px 34px #00000026}.reep-map-heading{padding:24px 26px 8px}.reep-map-heading>span{font-size:11px;letter-spacing:2px;color:#ff7b3a;font-weight:800}.reep-map-heading h2{font-size:26px;margin:8px 0}.reep-map-heading p{font-size:14px;color:#adb0b4}.reep-map-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(220px,1fr)}.reep-map-canvas{padding:8px 14px;background:#111315;min-width:0}.reep-cr-map{display:block;width:100%;height:auto;max-height:580px}.reep-cr-land{fill:#30353a;stroke:#687079;stroke-width:1.8;stroke-linejoin:round}.reep-map-water{fill:#9ca1a6;font-size:16px;letter-spacing:2px}.reep-map-pin{cursor:pointer;outline:none}.pin-halo{fill:#f15a24;opacity:.16}.pin-dot{fill:#f15a24;stroke:white;stroke-width:3}.reep-map-pin text{font-size:15px;font-weight:750;fill:#e6e8ea;paint-order:stroke;stroke:#111315;stroke-width:4px;stroke-linejoin:round}.reep-map-pin:hover .pin-halo,.reep-map-pin:focus .pin-halo,.reep-map-pin.selected .pin-halo{opacity:.55}.reep-map-pin:focus .pin-dot,.reep-map-pin.selected .pin-dot{stroke:#ffb28f;stroke-width:3}.reep-map-pin:hover text,.reep-map-pin.selected text{fill:#ff9a6b}.reep-map-source{display:block;font-size:10px;color:#a6a9ad;padding:4px 8px 12px}.reep-map-sidebar{padding:20px;min-width:0}.reep-map-sidebar label{display:block;font-weight:700;font-size:13px}.reep-map-search{margin-top:8px}.reep-map-options{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0;max-height:190px;overflow:auto}.reep-map-options button{border:1px solid #41464c;background:#22262a;border-radius:20px;padding:7px 11px;font-size:12px;color:#e6e8ea}.reep-map-options button.selected{background:#f15a24;border-color:#f15a24;color:white}.reep-map-detail{border-top:1px solid #393d41;padding-top:15px}.reep-map-detail h3{font-size:20px}.reep-map-detail p{font-size:14px}.reep-map-detail small{display:block;color:#adb0b4;font-size:12px;margin-bottom:12px}.reep-map-detail a{display:block;color:#ff9a6b;font-weight:650;font-size:13px;margin:10px 0}.reep-map-empty{font-size:13px;color:#adb0b4}.reep-id-fields small{display:block;margin-top:7px}
.reep-help{position:fixed;right:20px;bottom:20px;z-index:1090;display:inline-flex;align-items:center;gap:8px;background:#171a1c;color:#fff;border:1px solid #5c4031;border-radius:30px;padding:10px 16px;font-size:12px;font-weight:800;box-shadow:0 10px 32px #0007;transition:transform .18s,border-color .18s}.reep-help:hover{transform:translateY(-2px);border-color:#f15a24}.reep-help>span{display:grid;place-items:center;width:22px;height:22px;border:1px solid #75472f;border-radius:999px;background:#281b14;color:#ff9a6a;font-weight:900}.reep-help:focus-visible,.reep-map-options button:focus-visible{outline:3px solid #f87819;outline-offset:3px}
body.reep-guide-open{overflow:hidden}.reep-tour{position:fixed;inset:0;z-index:5200;display:grid;place-items:center;padding:18px;background:#000c;backdrop-filter:blur(10px)}.reep-tour[hidden]{display:none!important}.reep-tour-card{width:min(94vw,560px);max-height:min(90dvh,760px);overflow:auto;border:1px solid #5c4031;border-radius:24px;background:linear-gradient(155deg,#1c1f22,#0f1113 70%);box-shadow:0 30px 90px #000c;padding:22px;color:#fff}.reep-tour-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.reep-tour-top>div{display:flex;align-items:center;gap:12px}.reep-tour-eyebrow{font-size:10px;letter-spacing:.16em;color:#f15a24;font-weight:900}.reep-tour-top strong{font-size:11px;color:#a8adb1;font-weight:700}.reep-tour-top>button{width:38px;height:38px;border-radius:11px;border:1px solid #44494d;background:#171a1c;color:#fff;font-size:24px;line-height:1}.reep-tour-progress{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;margin:18px 0 24px}.reep-tour-progress i{height:4px;border-radius:99px;background:#34383c}.reep-tour-progress i.active{background:linear-gradient(90deg,#f15a24,#ff9d69)}.reep-tour-body{min-height:300px;display:flex;flex-direction:column;justify-content:center}.reep-tour-visual{width:86px;height:86px;border-radius:24px;display:grid;place-items:center;margin-bottom:22px;border:1px solid #6b4430;background:radial-gradient(circle at 35% 25%,#f15a2444,#211811 68%);color:#ff9d6c;box-shadow:inset 0 0 28px #f15a2414}.reep-tour-visual i{font-size:40px}.reep-tour h2{font-size:30px;line-height:1.05;margin:0 0 12px;letter-spacing:-1px;color:#fff}.reep-tour p{font-size:14px;color:#b3b7bb;line-height:1.7;margin:0}.reep-tour ul{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:10px}.reep-tour li{display:flex;gap:10px;align-items:flex-start;color:#d2d4d6;font-size:12px;line-height:1.5}.reep-tour li::before{content:'✓';flex:0 0 24px;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:#2b1c14;color:#ff8e58;font-weight:900}.reep-tour-actions{display:grid;grid-template-columns:1fr 1.45fr;gap:10px;margin-top:18px}.reep-tour-actions button{border:1px solid #454a4e;border-radius:12px;padding:12px 15px;background:#202326;color:#fff;font-weight:800;font-size:12px}.reep-tour-actions button:last-child{background:linear-gradient(135deg,#f15a24,#ff7b3c);border-color:#f15a24}.reep-tour-actions button:disabled{opacity:.35}.reep-tour-skip{display:block;width:100%;margin:10px 0 0;padding:10px;border:0;background:transparent;color:#8f959a;font-size:11px}.reep-tour-highlight{outline:4px solid #ff7919!important;outline-offset:4px!important;box-shadow:0 0 0 8px #ff791928!important;border-radius:10px}.reep-tour button:focus-visible{outline:3px solid #ff9a6b;outline-offset:2px}
@container (max-width:600px){.reep-map-layout{grid-template-columns:1fr}.reep-map-heading{padding:18px 18px 8px}.reep-map-heading h2{font-size:21px}.reep-map-sidebar{padding:16px}.reep-map-options{max-height:135px}.reep-map-pin text{display:none}.reep-map-pin.selected text,.reep-map-pin:focus text{display:block}.reep-cr-map{min-height:240px}}
@media(max-width:991px){.client-shell~.reep-help{bottom:88px}.reep-help{right:12px}.reep-tour{padding:12px}}@media(max-width:640px){.reep-tour{padding:10px;align-items:end}.reep-tour-card{width:100%;max-height:93dvh;border-radius:24px 24px 14px 14px;padding:20px 17px calc(18px + env(safe-area-inset-bottom))}.reep-tour-body{min-height:285px}.reep-tour h2{font-size:27px}.reep-tour-actions{grid-template-columns:1fr 1.6fr}}@media(prefers-reduced-motion:reduce){.reep-web-link,.reep-help{transition:none}}

.reep-map-pin text{display:none}.reep-map-pin.selected text,.reep-map-pin:hover text,.reep-map-pin:focus text{display:block}
/* Scoped map contrast within the portal dark theme. */
.client-shell .reep-map-widget{color:#f7f7f6!important}
.client-shell .reep-map-widget h2,.client-shell .reep-map-widget h3,.client-shell .reep-map-widget label{color:#f7f7f6!important}
.client-shell .reep-map-widget p,.client-shell .reep-map-widget small{color:#b6b9bd!important}
.client-shell .reep-map-widget input{display:block;width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #454a50!important;border-radius:10px;background:#111315!important;color:#f7f7f6!important;font:inherit}
.client-shell .reep-map-widget input::placeholder{color:#9ca1a6}
.client-shell .reep-id-fields .text-danger{color:#ff947f!important}

/* v32.0.1: REEP graphite / black / orange identity. */
.reep-web-link{border-color:#78432d;border-left:3px solid #f15a24;background:linear-gradient(110deg,#251a15,#17191b);color:#f7f7f6;box-shadow:0 8px 24px #0003}
.reep-web-link strong{color:#fff}.reep-web-link small{color:#b6b9bd}.reep-web-link>i{color:#ff7b3a}.reep-web-link:hover{border-color:#ff7b3a;background:linear-gradient(110deg,#322016,#1b1e21)}
.reep-web-link:focus-visible{outline:3px solid #ff9a6b;outline-offset:4px}
.reep-cr-map>rect{fill:#111315}.reep-map-canvas{border-top:1px solid #303438}
.reep-map-heading{border-bottom:1px solid #303438}.reep-map-heading>span{color:#ff7b3a}
.reep-map-pin .pin-dot{stroke:#111315;stroke-width:3.5}.reep-map-pin.selected .pin-dot,.reep-map-pin:focus .pin-dot{stroke:#ffd4bd}
.reep-map-pin text{fill:#f5f5f5;stroke:#111315}.reep-map-pin.selected text,.reep-map-pin:hover text{fill:#ffb28f}
.reep-map-options{scrollbar-color:#5c6066 #17191b;scrollbar-width:thin}
.reep-map-options button{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left;transition:background .15s,border-color .15s}
.reep-map-options button:hover{border-color:#f15a24;background:#31231c}.reep-map-options button.selected{background:#f15a24;border-color:#ff8754;color:#fff;box-shadow:0 3px 12px #f15a2426}
.reep-map-detail a{display:table;border:1px solid #70402a;border-radius:9px;padding:9px 12px;text-decoration:none;background:#261c17;overflow-wrap:anywhere}
.reep-map-detail a:hover{background:#3a251c;border-color:#f15a24;color:#ffc1a1}
.client-shell .reep-map-widget input:focus{border-color:#ff7b3a!important;outline:none;box-shadow:0 0 0 3px #f15a242b}
.reep-register-shell{background:radial-gradient(ellipse at 80% 0%,#f15a2414,transparent 55%),#090a0b;color:#f7f7f6;padding:40px 20px}
.reep-register-shell .guest-auth-card{box-sizing:border-box;width:min(520px,100%);background:linear-gradient(145deg,#1c1f23,#121416);border:1px solid #393d41;border-top:3px solid #f15a24;border-radius:22px;padding:36px;box-shadow:0 24px 70px #0007}
.reep-register-shell .guest-brand{color:#fff;letter-spacing:1px}.reep-register-shell .guest-brand span{color:#ff7b3a}
.reep-register-shell h1{color:#fff;font-size:32px;letter-spacing:-.6px}.reep-register-shell .text-muted{color:#aeb2b7!important;font-size:14px;line-height:1.7;margin-bottom:24px}
.reep-register-shell .form-label{display:block;color:#e7e9eb;font-weight:650;font-size:13px;margin-bottom:8px}
.reep-register-shell .form-control{display:block;box-sizing:border-box;width:100%;min-height:48px;padding:12px 14px;background:#0e1012!important;border:1px solid #454a50!important;border-radius:10px;color:#fff!important;caret-color:#ff7b3a;margin-bottom:20px;font:inherit}
.reep-register-shell .form-control:focus{outline:0;border-color:#ff7b3a!important;box-shadow:0 0 0 3px #f15a242b}
.reep-register-shell .form-control:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #17191b inset!important;-webkit-text-fill-color:#fff!important}
.reep-register-shell .btn-primary{display:block;width:100%;min-height:48px;background:linear-gradient(100deg,#f15a24,#e54f1b)!important;border:1px solid #ff7947!important;border-radius:10px;color:#fff;font-weight:750;box-shadow:0 8px 24px #f15a2426;cursor:pointer}
.reep-register-shell .btn-primary:hover{background:#ff7038!important}.reep-register-shell .guest-auth-link{color:#ff9364;font-size:14px;border-top:1px solid #34383d;padding-top:20px;margin-top:24px}.reep-register-shell .guest-auth-link:hover{color:#ffc2a7}
.reep-register-shell a:focus-visible,.reep-register-shell button:focus-visible{outline:3px solid #ffb28f;outline-offset:4px}
@media(max-width:600px){.reep-register-shell{padding:24px 16px}.reep-register-shell .guest-auth-card{padding:28px 22px}.reep-register-shell h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){.reep-map-options button{transition:none}}

/* v32.0.2: public map access, using the same component and palette. */
.reep-public-map-link{display:flex;align-items:center;justify-content:center;gap:9px;width:fit-content;margin:16px auto 0;border:1px solid #78432d;border-radius:9px;padding:9px 15px;font-size:13px;font-weight:650;text-decoration:none;color:#ff9a6b;background:#17191b}
.reep-public-map-link:hover{border-color:#ff7b3a;background:#2a201a;color:#fff}.reep-public-map-link:focus-visible{outline:3px solid #ff9a6b;outline-offset:3px}
.reep-public-points{margin:0;background:#090a0b;color:#f7f7f6;font-family:system-ui,sans-serif}.reep-public-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px max(20px,calc((100% - 1160px)/2));border-bottom:1px solid #34383d;background:#0e1012}.reep-public-header img{width:85px;height:55px;object-fit:contain}.reep-public-header>a:last-child{color:#ff9a6b;text-decoration:none;font-size:14px}
.client-shell.reep-public-main{display:block!important;min-height:calc(100vh - 92px);max-width:1200px;margin:auto;padding:30px 20px;box-sizing:border-box;background:#090a0b!important}.reep-public-main h1{font-size:clamp(25px,4vw,36px);margin:0 0 8px}.reep-public-intro{margin:0 0 24px;color:#b6b9bd}.reep-public-points .reep-map-widget *{box-sizing:border-box}.reep-public-points .reep-map-search{font:inherit}

/* REEP v4 — tipografía, legal y consentimiento */
:root{--reep-font:'Montserrat',Arial,sans-serif}html,body,button,input,select,textarea{font-family:var(--reep-font)!important}.legal-page{min-height:100vh;background:radial-gradient(circle at 85% 5%,#f15a2414,transparent 35%),#090a0b;color:#f5f5f5;padding:36px 18px}.legal-card{max-width:900px;margin:auto;background:#151719;border:1px solid #373b3f;border-top:3px solid #f15a24;border-radius:22px;padding:clamp(24px,5vw,52px);box-shadow:0 24px 70px #0008}.legal-card h1{font-size:clamp(30px,5vw,48px);margin:10px 0}.legal-card h2{font-size:20px;margin:30px 0 9px;color:#fff}.legal-card p,.legal-card li{color:#bec2c6;line-height:1.75}.legal-card a{color:#ff9564}.legal-version,.legal-small{font-size:12px}.legal-note{margin-top:30px;border:1px solid #69442f;background:#251a14;color:#ffc2a5;border-radius:12px;padding:16px;font-size:13px;line-height:1.6}.legal-back{display:inline-block;margin-bottom:24px;text-decoration:none}.legal-form{display:grid;gap:15px;margin:25px 0}.legal-form label{display:grid;gap:7px;font-weight:700}.legal-form label span{font-weight:400;color:#94999e}.legal-form input,.legal-form textarea{width:100%;background:#0d0f11;border:1px solid #44494e;border-radius:10px;padding:12px;color:#fff}.legal-consents{display:grid;gap:10px;margin:5px 0 22px}.consent-check{display:flex!important;align-items:flex-start;gap:10px;font-size:12px!important;line-height:1.55;color:#d1d4d7!important}.consent-check input{width:18px!important;height:18px!important;min-height:0!important;margin:2px 0 0!important;padding:0!important;flex:0 0 auto}.consent-check a{color:#ff9a6b}.consent-check.optional{color:#b1b6ba!important}.legal-mini-links{display:flex;gap:13px;flex-wrap:wrap;margin-top:18px;font-size:11px}.reep-cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:5000;display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:980px;margin:auto;background:#131517f7;border:1px solid #53585d;border-left:4px solid #f15a24;border-radius:16px;padding:16px 18px;box-shadow:0 18px 60px #0009;color:#fff;backdrop-filter:blur(12px)}.reep-cookie-banner[hidden]{display:none!important}.reep-cookie-banner strong{display:block;font-size:14px}.reep-cookie-banner p{margin:4px 0;color:#b9bdc1;font-size:11px;line-height:1.5}.reep-cookie-banner a{font-size:11px;color:#ff9a6b}.cookie-actions{display:flex;gap:8px;flex-shrink:0}.cookie-actions button{border:1px solid #4a4f54;background:#24272a;color:#fff;border-radius:9px;padding:10px 13px;font-size:11px;font-weight:700}.cookie-actions .accept{background:#f15a24;border-color:#f15a24}.compliance-checks{display:grid;gap:10px}.compliance-row{display:flex;align-items:flex-start;gap:10px;border-bottom:1px solid #eee;padding:10px 0}.compliance-row>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:900}.compliance-row>span.ok{background:#daf4e5;color:#146c43}.compliance-row>span.pending{background:#fff0d2;color:#a45b00}.compliance-row small{display:block;color:#70757a;margin-top:3px}@media(max-width:650px){.reep-cookie-banner{flex-direction:column;align-items:stretch}.cookie-actions button{flex:1}.legal-card{padding:26px 20px}}

/* REEP v4.11 · Red REEP: Puntos REEP + Talleres asociados */
.reep-map-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid #303438}.reep-map-legend>span,.map-admin-legend>span{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:#d9dcdf}.legend-dot,.network-type-dot{display:inline-block;width:10px;height:10px;border-radius:999px;flex:0 0 auto}.legend-reep,.network-type-reep{background:#f15a24;box-shadow:0 0 0 4px #f15a2420}.legend-workshop,.network-type-workshop{background:#2f80ed;box-shadow:0 0 0 4px #2f80ed20}
.reep-map-pin-workshop .pin-halo{fill:#2f80ed}.reep-map-pin-workshop .pin-dot{fill:#2f80ed}.reep-map-pin-workshop:hover text,.reep-map-pin-workshop.selected text{fill:#86baff}.reep-map-pin-workshop.selected .pin-dot,.reep-map-pin-workshop:focus .pin-dot{stroke:#cfe2ff}.reep-map-options button{display:flex;align-items:center;gap:7px}.reep-map-options button .map-option-dot{display:inline-block;width:8px;height:8px;border-radius:999px;flex:0 0 auto}.reep-map-options button small{margin-left:auto;font-size:9px!important;letter-spacing:.3px;text-transform:uppercase;color:#9ca1a6!important}.reep-map-options .map-option-reep .map-option-dot{background:#f15a24}.reep-map-options .map-option-workshop .map-option-dot{background:#2f80ed}.reep-map-options button.map-option-workshop:hover{border-color:#2f80ed;background:#17263a}.reep-map-options button.map-option-workshop.selected{background:#1d5fae;border-color:#438fe9;color:white;box-shadow:0 3px 12px #2f80ed33}.reep-map-options button.map-option-workshop.selected small{color:#d7e8ff!important}.reep-map-detail-kind{display:inline-flex!important;width:auto!important;margin:0 0 8px!important;padding:5px 9px;border-radius:999px;font-size:10px!important;font-weight:850;letter-spacing:.7px;text-transform:uppercase}.reep-map-detail-kind.orange{color:#ffab85;background:#f15a2418;border:1px solid #70402a}.reep-map-detail-kind.blue{color:#a9d0ff;background:#2f80ed17;border:1px solid #2f5f97}.reep-map-detail.workshop-selected a{color:#9bc7ff;border-color:#285b91;background:#142338}.reep-map-detail.workshop-selected a:hover{background:#193251;border-color:#438fe9;color:#cbe2ff}
.network-type-dot{margin-right:7px}.associated-workshop-placeholder{background:linear-gradient(145deg,#163250,#0f2136)!important;color:#8ec1ff!important;border-color:#2f5f97!important}.associated-workshop-card{border-color:#29496d!important}
.admin-map-editor{border:1px solid #355271;border-radius:16px;background:linear-gradient(145deg,#f8fbff,#f4f7fa);padding:20px}.admin-map-editor-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;margin-bottom:18px}.admin-map-editor-head h3{font-size:20px;margin:5px 0 4px}.admin-map-editor-head p{margin:0;color:#667085;max-width:760px;font-size:13px}.map-admin-legend{display:flex;flex-wrap:wrap;gap:13px;white-space:nowrap}.map-admin-legend>span{color:#475467}.map-coordinate-help{height:100%;padding:12px 14px;border:1px dashed #9fb6ce;border-radius:10px;background:#fff}.map-coordinate-help strong,.map-coordinate-help span{display:block}.map-coordinate-help strong{font-size:12px}.map-coordinate-help span{font-size:11px;color:#667085;margin-top:3px}.map-consent-check,.map-publish-check{height:100%;padding:14px 14px 14px 38px;border-radius:11px}.map-consent-check{border:1px solid #c9d2dc;background:#fff}.map-publish-check{border:1px solid #93bdf0;background:#edf6ff}.map-consent-check label span,.map-publish-check label span{display:block;font-size:11px;color:#667085;margin-top:3px}.map-badge-live{background:#e6f1ff;color:#175da9}.map-badge-review{background:#fff4e8;color:#9a520f}.workshop-map-profile-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.workshop-public-status{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.workshop-public-status.live{background:#153657;color:#9bc7ff;border:1px solid #2e6aa7}.workshop-public-status.review{background:#33251d;color:#ffab85;border:1px solid #70402a}.map-consent-client{padding:14px 14px 14px 38px;border:1px solid #3d5d7e;border-radius:12px;background:#101d2a}.map-consent-client label span{display:block;margin-top:4px;font-size:11px;color:#aeb7c1}.map-consent-client label strong{font-size:13px}.workshop-map-profile .form-control{background:#111315;color:#f5f5f5;border-color:#454a50}.workshop-map-profile .form-control::placeholder{color:#8d9297}
@media(max-width:767px){.admin-map-editor-head{display:block}.map-admin-legend{margin-top:12px}.reep-map-legend{gap:10px}.reep-map-legend>span{font-size:11px}.reep-map-options button small{display:none}}

/* REEP v4.12 · continuidad visual y microinteracciones para clientes
   Progressive enhancement: navegadores sin View Transition API conservan navegación normal. */
@view-transition{navigation:auto}

.client-global-brand-logo img{view-transition-name:reep-brand-mark}
.client-bottom-nav{view-transition-name:reep-client-bottom-nav}
.v31-avatar,.profile-avatar{view-transition-name:reep-profile-avatar}
.v31-progress-mark,[data-shared-tier-target]{view-transition-name:reep-tier-emblem}
.reep-map-widget{view-transition-name:reep-network-map}
[data-shared-reward-target]{view-transition-name:reep-shared-reward}

::view-transition-group(reep-brand-mark),::view-transition-group(reep-profile-avatar),
::view-transition-group(reep-tier-emblem),::view-transition-group(reep-network-map),
::view-transition-group(reep-shared-reward){animation-duration:.32s;animation-timing-function:cubic-bezier(.2,.75,.2,1)}
::view-transition-group(reep-client-bottom-nav){animation-duration:.18s}

/* Botones/tarjetas: magnificación sutil, sin reflow ni saltos de layout. */
.client-shell :is(.v31-primary,.v31-actions a,.v31-reward,.client-reward-card,.client-catalog-card,
.client-menu-list a,.client-orange-btn,.client-outline-btn,.v31-person,.tier-pill,.v31-progress-mark,
.client-bottom-nav a,.reep-map-options button,.client-branch-card a,.reward-detail-image,.quantity-stepper button,
.reep-event-action,.prospect-actions a,.client-page-head>a,.assistance-item,.reep-action-magnify){
  -webkit-tap-highlight-color:transparent;
  transform:translateZ(0);
  transition:transform .15s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease,filter .18s ease;
  transform-origin:center;
}
.client-shell :is(.v31-actions a,.client-menu-list a,.client-bottom-nav a,.v31-primary,.client-orange-btn,.client-outline-btn){min-height:46px}
.client-shell :is(.v31-actions a,.client-menu-list a,.client-bottom-nav a,.v31-primary,.client-orange-btn,.client-outline-btn) i{
  transition:transform .16s cubic-bezier(.2,.8,.2,1),filter .16s ease;
  transform-origin:center;
}

@media (hover:hover) and (pointer:fine){
  .client-shell :is(.v31-primary,.v31-actions a,.v31-reward,.client-reward-card,.client-catalog-card,
  .client-menu-list a,.client-orange-btn,.client-outline-btn,.v31-person,.tier-pill,.v31-progress-mark,
  .reep-map-options button,.client-branch-card a,.reward-detail-image,.prospect-actions a):hover{
    transform:translateY(-2px) scale(1.018);
  }
  .client-shell :is(.v31-actions a,.client-menu-list a,.client-bottom-nav a,.v31-primary,.client-orange-btn,.client-outline-btn):hover i{transform:scale(1.09)}
  .client-shell :is(.v31-reward,.client-reward-card,.client-catalog-card):hover{box-shadow:0 16px 32px rgba(0,0,0,.22)}
  .client-bottom-nav a:hover i{transform:scale(1.08)}
}

@media (hover:none),(pointer:coarse){
  .client-shell :is(.v31-primary,.v31-actions a,.v31-reward,.client-reward-card,.client-catalog-card,
  .client-menu-list a,.client-orange-btn,.client-outline-btn,.v31-person,.tier-pill,.v31-progress-mark,
  .client-bottom-nav a,.reep-map-options button,.client-branch-card a,.reward-detail-image,.quantity-stepper button,
  .reep-event-action,.prospect-actions a,.client-page-head>a):active{transform:scale(.975)}
  .client-bottom-nav a:active i{transform:scale(1.12)}
}

@media (prefers-reduced-motion:reduce){
  .client-shell *, .client-shell *::before,.client-shell *::after{scroll-behavior:auto!important}
  .client-shell :is(.v31-primary,.v31-actions a,.v31-reward,.client-reward-card,.client-catalog-card,
  .client-menu-list a,.client-orange-btn,.client-outline-btn,.v31-person,.tier-pill,.v31-progress-mark,
  .client-bottom-nav a,.reep-map-options button,.client-branch-card a,.reward-detail-image,.quantity-stepper button,
  .reep-event-action,.prospect-actions a,.client-page-head>a){transition:none!important;transform:none!important}
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:.001ms!important}
}

/* =========================================================
   REEP v4.13 · Shared elements + magnification refinados
   ========================================================= */
.legal-hero{display:flex;align-items:center;gap:16px;margin:4px 0 8px}
.legal-hero-icon{width:58px;height:58px;border:1px solid #68412d;border-radius:17px;display:grid;place-items:center;flex:0 0 auto;background:radial-gradient(circle at 35% 25%,rgba(241,90,36,.27),#211711 70%);color:#ff8b55;box-shadow:inset 0 0 24px rgba(241,90,36,.08)}
.legal-hero-icon i{font-size:27px}
.legal-hero .eyebrow{display:block;margin-bottom:3px}
.legal-hero .legal-shared-title{margin:0!important}
.legal-hero-icon{view-transition-name:reep-legal-symbol}
.legal-shared-title{view-transition-name:reep-legal-title}
.reep-tour-visual{view-transition-name:none}

::view-transition-group(reep-legal-symbol),::view-transition-group(reep-legal-title),::view-transition-group(reep-guide-symbol){animation-duration:.32s;animation-timing-function:cubic-bezier(.2,.78,.2,1)}

/* Los paneles y tarjetas nunca crecen. El feedback vive dentro. */
.client-shell :is(.v31-actions a,.v31-reward,.client-reward-card,.client-catalog-card,.client-menu-list a,
.v31-person,.v31-progress-mark,.reep-map-options button,.client-branch-card a,.reward-detail-image,
.prospect-actions a,.assistance-item){transform:none!important}

.client-shell :is(.v31-actions a,.v31-reward,.client-reward-card,.client-catalog-card,.client-menu-list a,
.v31-person,.v31-progress-mark,.reep-map-options button,.client-branch-card a,.reward-detail-image,
.prospect-actions a,.assistance-item):hover{transform:none!important}

.client-shell :is(.v31-primary,.client-orange-btn,.client-outline-btn,.client-page-head>a,.reep-action-magnify){transform:none!important}

.client-shell :is(.v31-actions a,.client-menu-list a,.client-bottom-nav a,.v31-primary,.client-orange-btn,.client-outline-btn) i,
.client-shell :is(.v31-reward,.client-reward-card,.client-catalog-card) img,
.client-shell .client-menu-list a>span:last-child{transition:transform .18s cubic-bezier(.18,.8,.22,1),filter .18s ease!important;transform-origin:center}

.client-shell .client-menu-list .legal-source-label{flex:1;min-width:0}

@media (hover:hover) and (pointer:fine){
  .client-shell :is(.v31-actions a,.client-menu-list a,.client-branch-card a,.assistance-item):hover{
    border-color:rgba(241,90,36,.46)!important;
    box-shadow:inset 0 0 0 1px rgba(241,90,36,.07),0 9px 22px rgba(0,0,0,.18);
  }
  .client-shell :is(.v31-actions a,.client-menu-list a,.client-bottom-nav a,.v31-primary,.client-orange-btn,.client-outline-btn):hover i{
    transform:scale(1.20);filter:drop-shadow(0 0 7px rgba(241,90,36,.38));
  }
  .client-shell .client-menu-list a:hover>span:last-child{transform:translateX(4px)}
  .client-shell :is(.v31-reward,.client-reward-card,.client-catalog-card):hover img{transform:scale(1.04)}
  .client-shell :is(.v31-reward,.client-reward-card,.client-catalog-card):hover{box-shadow:0 14px 30px rgba(0,0,0,.22);border-color:rgba(241,90,36,.42)!important}
  .client-shell :is(.v31-primary,.client-orange-btn,.client-outline-btn,.client-page-head>a,.reep-action-magnify):hover{
    box-shadow:0 0 0 3px rgba(241,90,36,.13),0 10px 24px rgba(0,0,0,.18)!important;
  }
  .client-bottom-nav a:hover i{transform:scale(1.20);filter:drop-shadow(0 0 7px rgba(241,90,36,.38))}
}

@media (hover:none),(pointer:coarse){
  .client-shell :is(.v31-actions a,.v31-reward,.client-reward-card,.client-catalog-card,.client-menu-list a,
  .v31-primary,.client-orange-btn,.client-outline-btn,.v31-person,.v31-progress-mark,.client-bottom-nav a,
  .reep-map-options button,.client-branch-card a,.reward-detail-image,.prospect-actions a,.client-page-head>a,.assistance-item):active{
    transform:none!important;filter:brightness(1.07)
  }
  .client-shell :is(.v31-actions a,.client-menu-list a,.client-bottom-nav a,.v31-primary,.client-orange-btn,.client-outline-btn):active i{transform:scale(1.16)}
}

@media(max-width:650px){.legal-hero{align-items:flex-start}.legal-hero-icon{width:50px;height:50px;border-radius:14px}.legal-hero-icon i{font-size:23px}}

@media (prefers-reduced-motion:reduce){
  .legal-hero-icon,.legal-shared-title{view-transition-name:none!important}
  .client-shell :is(.v31-actions a,.client-menu-list a,.client-bottom-nav a,.v31-primary,.client-orange-btn,.client-outline-btn) i,
  .client-shell :is(.v31-reward,.client-reward-card,.client-catalog-card) img,.client-shell .client-menu-list a>span:last-child{transition:none!important;transform:none!important;filter:none!important}
  ::view-transition-group(reep-legal-symbol),::view-transition-group(reep-legal-title),::view-transition-group(reep-guide-symbol){animation-duration:.001ms!important}
}

/* REEP V4.14: magnification of the whole control; layout dimensions stay stable. */
.client-shell :is(.v31-actions a,.client-menu-list a,.client-bottom-nav a,.v31-primary,.client-orange-btn,.client-outline-btn,.client-page-head>a,.reep-action-magnify,.client-branch-card a,.prospect-actions a,.assistance-item),.legal-back{transition:transform .2s cubic-bezier(.2,.75,.2,1),box-shadow .2s ease,background-color .2s ease!important;transform-origin:center;position:relative}
@media (hover:hover) and (pointer:fine){:is(.client-shell :is(.v31-actions a,.client-menu-list a,.client-bottom-nav a,.v31-primary,.client-orange-btn,.client-outline-btn,.client-page-head>a,.reep-action-magnify,.client-branch-card a,.prospect-actions a,.assistance-item),.legal-back):not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible){transform:scale(1.045)!important;z-index:2}}
@media (hover:none),(pointer:coarse){:is(.client-shell :is(.v31-actions a,.client-menu-list a,.client-bottom-nav a,.v31-primary,.client-orange-btn,.client-outline-btn,.client-page-head>a,.reep-action-magnify,.client-branch-card a,.prospect-actions a,.assistance-item),.legal-back):not(:disabled):active{transform:scale(.975)!important}}
:is(.client-shell :is(.v31-actions a,.client-menu-list a,.client-bottom-nav a,.v31-primary,.client-orange-btn,.client-outline-btn,.client-page-head>a,.reep-action-magnify,.client-branch-card a,.prospect-actions a,.assistance-item),.legal-back):focus-visible{outline:2px solid #ff976a;outline-offset:4px}
@media(prefers-reduced-motion:reduce){:is(.client-shell :is(.v31-actions a,.client-menu-list a,.client-bottom-nav a,.v31-primary,.client-orange-btn,.client-outline-btn,.client-page-head>a,.reep-action-magnify,.client-branch-card a,.prospect-actions a,.assistance-item),.legal-back),:is(.client-shell :is(.v31-actions a,.client-menu-list a,.client-bottom-nav a,.v31-primary,.client-orange-btn,.client-outline-btn,.client-page-head>a,.reep-action-magnify,.client-branch-card a,.prospect-actions a,.assistance-item),.legal-back):is(:hover,:active,:focus-visible){transform:none!important;transition:none!important}}

/* V4.15: one aligned profile column, including the workshop form. */
.client-shell .client-profile-layout{width:100%;max-width:920px;margin:0 auto}
.client-shell .client-profile-layout>:is(.client-profile-card,.client-level-summary,.profile-photo-form,.workshop-map-profile,.client-menu-list,.prospect-mini-note){width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box}
.client-shell .client-profile-layout .workshop-map-profile{padding:18px 22px!important;border-radius:16px!important}
.client-shell .workshop-map-profile h3{font-size:20px!important;margin:0 0 4px!important}
.client-shell .workshop-map-profile>p{font-size:13px!important;line-height:1.55;margin:8px 0 12px!important}
.client-shell .workshop-map-profile .form-label{font-size:13px;margin:0 0 6px!important}
.client-shell .workshop-map-profile .form-control{height:42px!important;font-size:13px!important}
.client-shell .workshop-map-profile .map-consent-client{display:flex;align-items:flex-start;gap:10px;padding:12px!important}
.client-shell .workshop-map-profile .map-consent-client .form-check-input{float:none;margin:3px 0 0!important;flex-shrink:0}
.client-shell .workshop-map-profile .map-consent-client label{margin:0!important;line-height:1.45}
.client-shell .workshop-map-profile .client-orange-btn{min-height:40px!important;padding:10px 18px!important;font-size:13px!important;margin-top:14px!important;border-radius:10px!important}
.client-shell .client-profile-layout .client-menu-list a{display:flex;gap:12px;min-width:0;font-size:14px!important}
.client-shell .client-profile-layout .client-menu-list a>:is([data-route-label],.legal-source-label){flex:1;min-width:0}
.client-shell .client-profile-layout .client-menu-list a>span:last-child:not([data-route-label]):not(.legal-source-label){margin-left:auto}
@media(max-width:650px){.client-shell .client-profile-layout .workshop-map-profile,.client-shell .client-profile-layout .profile-photo-form{padding:16px!important}.client-shell .client-profile-layout .client-menu-list{grid-template-columns:1fr!important}}
/* Keep hover restrained on the web while navigation provides the spatial cue. */
@media(hover:hover) and (pointer:fine){.client-shell :is(.client-menu-list a,.v31-actions a,.client-orange-btn,.client-outline-btn,.v31-primary):not(:disabled):is(:hover,:focus-visible){transform:scale(1.018)!important}}
.client-shell :is(.reep-desktop-nav,.client-bottom-nav) a.is-current{color:#ff8955!important;background:#f15a2417!important;box-shadow:inset 0 -3px #f15a24!important;border-radius:10px}
.client-shell :is(.client-page-head h1,.reward-detail-copy h2),.legal-shared-title{width:fit-content}
::view-transition-group(reep-route-title){animation-duration:.38s;animation-timing-function:cubic-bezier(.22,.75,.2,1)}
::view-transition-old(reep-route-title),::view-transition-new(reep-route-title){height:100%;width:100%;object-fit:contain;object-position:left center}
/* Names belong only to the selected source/destination, never to idle headings. */
[data-shared-reward-target]{view-transition-name:none}
@media(prefers-reduced-motion:reduce){[data-web-motion]{view-transition-name:none!important}.client-shell :is(.client-menu-list a,.v31-actions a,.client-orange-btn,.client-outline-btn,.v31-primary):is(:hover,:focus-visible){transform:none!important}::view-transition-group(reep-route-title){animation:none!important}}

/* V4.16 · Map stage and selected location shared by all views. */
.reep-map-widget .reep-map-canvas{position:relative;padding:54px 14px 10px;background:radial-gradient(ellipse at 48% 40%,#263032 0%,#151b1d 48%,#0c1012 90%)}
.reep-map-widget .reep-map-canvas::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#b8c9cb06 1px,transparent 1px),linear-gradient(90deg,#b8c9cb06 1px,transparent 1px);background-size:32px 32px}
.reep-map-widget .reep-cr-map{position:relative;max-height:510px;overflow:hidden}
.reep-map-widget .reep-cr-map>rect{fill:transparent}
.reep-map-widget .reep-map-depth .reep-cr-land{fill:#080c0e;stroke:#131c20;stroke-width:3}
.reep-map-widget .reep-map-surface .reep-cr-land{fill:#364748;stroke:#8da1a0;stroke-width:1.6;filter:drop-shadow(0 5px 12px #0006)}
.reep-map-widget .reep-map-water{fill:#a9bdbd;font-size:13px;letter-spacing:2.5px}
.reep-map-toolbar{position:absolute;top:13px;right:16px;display:flex;gap:6px;z-index:2}
.reep-map-toolbar button,.reep-map-clear{border:1px solid #4c5557;border-radius:9px;background:#172023;color:#e8efee;font:inherit;font-size:12px;min-height:34px;padding:7px 12px;cursor:pointer}
.reep-map-toolbar button:disabled{opacity:.35;cursor:default}.reep-map-toolbar button:hover:not(:disabled){border-color:#f15a24;color:#ffab85}
.reep-map-widget .pin-ring{fill:none;stroke:#ff8d50;stroke-width:1;opacity:0}
.reep-map-widget .reep-map-pin-workshop .pin-ring{stroke:#72b7ff}
.reep-map-widget .pin-dot{stroke:#202d30;stroke-width:4;filter:drop-shadow(0 2px 3px #0009)}
.reep-map-widget .reep-map-pin.selected .pin-ring{opacity:.8;animation:reep-pin-breathe 2.5s ease-out infinite}
.reep-map-widget .reep-map-pin.selected .pin-dot{stroke:#ffe5d4;filter:drop-shadow(0 0 5px #f15a2480)}
.reep-map-widget .reep-map-pin-workshop.selected .pin-dot{stroke:#d4ecff;filter:drop-shadow(0 0 5px #2f80ed80)}
.reep-map-widget .reep-map-source{position:relative;display:flex;justify-content:space-between;gap:8px;font-size:9px;color:#93a6a6;padding:8px 4px 0}
.reep-map-widget .reep-map-source span{opacity:.65}
.reep-map-widget .reep-map-sidebar{padding:20px;background:#151a1c;border-left:1px solid #384143}
.reep-map-widget .reep-map-options{max-height:320px;gap:8px}
.reep-map-widget .reep-map-options button{min-height:36px;border-radius:10px;text-align:left}
.reep-map-selection-hint{font-size:12px!important;line-height:1.6;border-top:1px solid #343f42;padding-top:14px;margin:16px 0 0}
.reep-map-clear{color:#ffad85;border-color:#6f4934;margin-top:10px}
.reep-map-widget .reep-map-detail{display:flex;align-items:center;gap:20px;border-top:1px solid #425054;padding:22px 26px;background:#1a2022;min-width:0}
.reep-map-widget .reep-map-detail[hidden],.reep-map-widget [hidden]{display:none!important}
.reep-selected-copy{min-width:0;flex:1}.reep-map-widget .reep-selected-copy h3{font-size:22px;line-height:1.3;margin:3px 0 8px}
.reep-map-widget .reep-selected-copy p{font-size:13px;line-height:1.6;margin:0 0 12px}
.reep-selected-photo{width:130px;height:112px;object-fit:cover;border-radius:13px}
.reep-selected-actions{display:flex;gap:10px;flex-wrap:wrap}
.reep-map-widget .reep-selected-actions a{display:inline-flex;align-items:center;width:auto;margin:0;padding:10px 14px;border:1px solid #79492f;border-radius:9px;background:#302017;color:#ffb28d;font-size:12px;text-decoration:none}
@keyframes reep-pin-breathe{0%{r:18;opacity:.7}80%,100%{r:29;opacity:0}}
@container(max-width:600px){.reep-map-widget .reep-map-sidebar{border-left:0;border-top:1px solid #384143;padding:16px}.reep-map-widget .reep-map-options{max-height:150px}.reep-map-widget .reep-map-detail{padding:18px;gap:12px}.reep-selected-photo{width:84px;height:84px}.reep-map-widget .reep-map-canvas{padding-top:48px}.reep-map-widget .reep-cr-map{max-height:390px}}
@media(prefers-reduced-motion:reduce){.reep-map-widget .reep-map-pin.selected .pin-ring{animation:none;opacity:.65}}

/* The web uses the same contained legal-document presentation as the app. */
.reep-web-legal-dialog{color-scheme:dark;width:min(740px,calc(100vw - 28px));max-width:740px;max-height:calc(100dvh - 36px);padding:0;overflow:auto;overscroll-behavior:contain;border:1px solid #574638;border-radius:22px;background:#15191b;color:#f2f4f4;box-shadow:0 30px 100px #0009}
.reep-web-legal-dialog::backdrop{background:#000a;backdrop-filter:blur(6px)}
.reep-web-legal-dialog .legal-card{margin:0;padding:28px;border:0;border-radius:0;box-shadow:none;background:transparent;color:#f2f4f4}
.reep-web-legal-dialog .legal-card h1{font-size:clamp(24px,4vw,32px);line-height:1.25;color:#fff}
.reep-web-legal-dialog .legal-card h2{font-size:18px;color:#f5f5f5}
.reep-web-legal-dialog .legal-card p{color:#bec5c8;font-size:14px;line-height:1.75}
.reep-web-legal-dialog .legal-back{display:inline-flex;font-size:14px;padding:9px 13px;border:1px solid #69452f;border-radius:10px;margin-bottom:20px;color:#ffae83;text-decoration:none}
.reep-web-legal-dialog .legal-hero-icon,.reep-web-legal-dialog .legal-shared-title{view-transition-name:none}
body:has(.reep-web-legal-dialog[open]){overflow:hidden}
::view-transition-group(reep-panel-title),::view-transition-group(reep-panel-symbol){animation-duration:.34s;animation-timing-function:cubic-bezier(.22,.75,.2,1)}
::view-transition-old(reep-panel-title),::view-transition-new(reep-panel-title){height:100%;width:100%;object-fit:contain;object-position:left center}
@media(max-width:600px){.reep-web-legal-dialog .legal-card{padding:20px}}
@media(prefers-reduced-motion:reduce){::view-transition-group(reep-panel-title),::view-transition-group(reep-panel-symbol){animation:none!important}}


/* =========================================================
   REEP v4.19 · tarjetas de cliente resistentes a datos reales
   ========================================================= */
.v31-person{grid-template-columns:48px minmax(0,1fr) 18px!important;overflow:hidden!important}
.v31-person>div:nth-child(2){min-width:0!important;overflow:hidden!important}
.v31-person strong{max-width:100%!important;overflow:hidden!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;white-space:normal!important;word-break:break-word!important}
.v31-person small{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.v31-person b{max-width:100%!important;width:max-content!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.v31-avatar,.v31-progress-mark{position:relative!important;overflow:hidden!important}
.v31-avatar .reep-img-fallback,.v31-progress-mark .reep-img-fallback{display:grid!important;place-items:center!important;width:100%!important;height:100%!important;font-size:10px!important;font-weight:950!important;letter-spacing:.04em!important;color:#f15a24!important;background:#141414!important;text-align:center!important}
.v31-progress-mark .reep-img-fallback{background:#f5f5f5!important;color:#f15a24!important;border-radius:12px!important}
.v31-stat>div{min-width:0!important}.v31-stat strong{display:block!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.v31-progress-copy{overflow:hidden!important}.v31-progress-head span{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
@media(max-width:1180px){.v31-person strong{font-size:10px!important}.v31-stat strong{font-size:19px!important}.v31-progress.v31-progress-with-mark{grid-template-columns:68px minmax(0,1fr)!important;gap:10px!important}.v31-progress.v31-progress-with-mark>.v31-progress-mark{width:64px!important;height:64px!important;min-width:64px!important}}

/* =========================================================
   REEP v4.20 · fallbacks visuales sin deformar tarjetas
   ========================================================= */
/* El fallback genérico antiguo usa min-height:92px. En avatar/nivel eso deformaba
   el círculo y la insignia; estos componentes deben conservar su geometría. */
.v31-avatar.image-fallback,
.v31-avatar.reep-safe-image-fallback{
  width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;
  max-width:48px!important;max-height:48px!important;border-radius:50%!important;
  background:#121212 url('/static/img/reep_v31_6/logo_reep.png') center/72% auto no-repeat!important;
  border:1px solid #f15a24!important;
}
.v31-avatar.image-fallback .reep-img-fallback,
.v31-avatar.reep-safe-image-fallback .reep-img-fallback{display:none!important}

.v31-progress.v31-progress-with-mark>.v31-progress-mark.image-fallback,
.v31-progress.v31-progress-with-mark>.v31-progress-mark.reep-safe-image-fallback{
  min-height:0!important;
  background:#151515 url('/static/img/reep_v31_6/logo_reep.png') center/72% auto no-repeat!important;
  border-color:#f15a24!important;
  box-shadow:0 8px 20px rgba(0,0,0,.25),inset 0 0 0 1px rgba(255,255,255,.04)!important;
}
.v31-progress-mark.image-fallback .reep-img-fallback,
.v31-progress-mark.reep-safe-image-fallback .reep-img-fallback{display:none!important}

/* Si un premio fue eliminado del storage o quedó con URL inválida, no mostramos
   alt-text roto. Conservamos el tamaño de la tarjeta y mostramos una marca REEP limpia. */
.v31-reward-media.image-fallback,
.v31-reward-media.reep-safe-image-fallback,
.client-reward-imagebox.image-fallback,
.client-catalog-imagebox.image-fallback{
  position:relative!important;
  background:#111 url('/static/img/reep_v31_6/logo_reep.png') center/34% auto no-repeat!important;
}
.v31-reward-media.image-fallback>.reep-img-fallback,
.v31-reward-media.reep-safe-image-fallback>.reep-img-fallback,
.client-reward-imagebox.image-fallback>.reep-img-fallback,
.client-catalog-imagebox.image-fallback>.reep-img-fallback{
  display:none!important;
}

/* Ningún fallback puede heredar el alto genérico dentro de estos componentes compactos. */
.v31-avatar.image-fallback,
.v31-progress-mark.image-fallback{min-height:0!important}
.v31-avatar.image-fallback{min-height:48px!important}

@media(max-width:1180px){
  .v31-progress.v31-progress-with-mark>.v31-progress-mark.image-fallback,
  .v31-progress.v31-progress-with-mark>.v31-progress-mark.reep-safe-image-fallback{
    width:64px!important;height:64px!important;min-width:64px!important;min-height:0!important;
  }
}

/* V4.21: ficha amplia de sucursal/taller */
.reep-map-widget .reep-map-detail{padding:28px;gap:28px;align-items:flex-start;min-height:220px}
.reep-map-widget .reep-selected-photo{width:36%;max-width:360px;height:240px;object-fit:cover;border-radius:16px;background:#222}
.reep-map-widget .reep-selected-copy{flex:1;min-width:0}.reep-map-widget .reep-selected-copy h3{font-size:1.7rem;margin:12px 0}.reep-map-widget .reep-selected-copy h4{font-size:1rem;margin-top:18px;color:#64adff}.reep-map-widget .reep-workshop-specialties{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1rem;line-height:1.6}
@media(max-width:640px){.reep-map-widget .reep-map-detail{display:flex;flex-direction:column;padding:20px;gap:18px}.reep-map-widget .reep-selected-photo{width:100%;max-width:none;height:230px}.reep-map-widget .reep-selected-copy{width:100%}}
