/* Coffee Rush STA v10.3.0b · escena ilustrada
   Nueva composición estática. No altera economía ni motor de simulación. */

.shop-wrap{
  min-height:560px;
  background:linear-gradient(180deg,#edf7fd 0%,#f7fbfe 46%,#e3eddc 46%,#d7e6ce 62%,#c8ad89 62%,#b69672 100%);
  border-color:#c6d9e8;
  border-radius:20px;
  box-shadow:inset 0 -26px 38px rgba(60,78,96,.09),0 18px 36px rgba(28,56,84,.08);
}

.scene-v2-backdrop{
  position:absolute;
  inset:38px 0 0;
  z-index:1;
  display:grid;
  place-items:center;
  overflow:hidden;
  pointer-events:none;
}

.scene-v2-art{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 16px 24px rgba(21,50,90,.08));
  transition:filter .2s ease,opacity .2s ease;
}

/* El fondo ya contiene cielo y luz. Se conservan los nodos históricos por contrato DOM. */
.shop-wrap>.sun,
.shop-wrap>.cloud{display:none}

.shop-hud{top:12px;left:14px;right:14px;gap:7px;z-index:12}
.shop-chip{padding:6px 9px;background:rgba(255,255,255,.94);box-shadow:0 7px 16px rgba(21,50,90,.08);font-size:11px}
.event-banner{top:54px;z-index:11;font-size:11px;padding:7px 12px;box-shadow:0 8px 18px rgba(21,50,90,.12)}
.rain{z-index:14}

.scene-team-sign{
  position:absolute;
  left:50%;
  top:42%;
  z-index:6;
  transform:translateX(-50%);
  min-width:150px;
  max-width:250px;
  padding:7px 12px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:12px;
  color:#fff;
  background:rgba(0,90,155,.90);
  box-shadow:0 8px 16px rgba(21,50,90,.12);
  text-align:center;
  font-size:12px;
  font-weight:900;
  pointer-events:none;
}

.scene-flow-label{
  position:absolute;
  z-index:5;
  padding:5px 8px;
  border:1px solid rgba(100,132,158,.22);
  border-radius:999px;
  color:#587084;
  background:rgba(255,255,255,.78);
  font-size:9px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  pointer-events:none;
}
.scene-flow-label.entry{left:5%;bottom:148px}
.scene-flow-label.service{left:50%;bottom:154px;transform:translateX(-50%)}
.scene-flow-label.exit{right:5%;bottom:148px}

/* Elementos dinámicos colocados sobre la nueva composición. */
.shop-wrap .barista{
  left:50%;
  bottom:126px;
  z-index:7;
  width:82px;
  height:110px;
  transform:translateX(-50%);
}
.shop-wrap .barista.busy{animation:bob .58s infinite alternate ease-in-out}
.shop-wrap .barista.preparing{transform:translateX(-50%)}

.shop-wrap .queue{
  left:5.5%;
  right:auto;
  bottom:66px;
  z-index:8;
  width:39%;
  height:72px;
  justify-content:flex-start;
  align-items:flex-end;
  gap:8px;
  padding:0 8px;
}
.shop-wrap .customer{width:36px;height:54px;flex:0 0 auto}

.shop-wrap .ingredient-shelf{
  left:auto;
  right:7.2%;
  bottom:168px;
  z-index:7;
  width:194px;
  min-height:72px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  padding:7px;
  border:1px solid rgba(126,158,184,.24);
  border-radius:14px;
  background:rgba(248,252,255,.86);
  box-shadow:0 8px 18px rgba(21,50,90,.08);
  backdrop-filter:blur(3px);
}
.shop-wrap .ingredient-item{
  min-width:0;
  padding:5px 4px;
  border:1px solid rgba(126,158,184,.20)!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.92)!important;
  font-size:13px;
}
.shop-wrap .ingredient-item span{font-size:9px}

.shop-wrap .cups-area{
  left:auto;
  right:25.5%;
  bottom:142px;
  z-index:7;
  width:128px;
  min-height:54px;
  max-height:65px;
  overflow:hidden;
  padding:5px;
  background:rgba(255,255,255,.50);
  border:1px solid rgba(126,158,184,.22);
  border-radius:11px;
}
.shop-wrap .cup{width:17px;height:21px}

.shop-wrap .register.scene-register{
  right:8.8%;
  bottom:98px;
  z-index:8;
  width:78px;
  height:54px;
}
.scene-register-value{font-size:11px}

.shop-wrap .competitor-stand{
  left:2.5%;
  right:auto;
  bottom:205px;
  z-index:4;
  width:118px;
  height:102px;
  transform-origin:bottom left;
}
.shop-wrap .competitor-stand.active{transform:scale(1)}
.shop-wrap .competitor-sign{max-width:96px;margin-bottom:7px;font-size:8px}

.shop-wrap .traffic-lane{
  left:0;
  right:0;
  bottom:236px;
  z-index:3;
  height:44px;
  opacity:.48;
}
.shop-wrap .passerby{width:24px;height:38px;opacity:.62}

.shop-wrap .coins{right:10%;bottom:156px;z-index:10}
.game-feedback-layer{z-index:15}

/* Contexto visual muy sutil; la información principal sigue en los chips. */
.shop-wrap.hot .scene-v2-art{filter:saturate(1.05) sepia(.04) drop-shadow(0 16px 24px rgba(21,50,90,.08))}
.shop-wrap.cold .scene-v2-art{filter:saturate(.88) hue-rotate(5deg) drop-shadow(0 16px 24px rgba(21,50,90,.08))}
.shop-wrap.vacation .scene-v2-art{opacity:.90}
.shop-wrap.weekend .scene-v2-art{opacity:.94}

/* Ya no existe la antigua ilustración monolítica ni el prototipo pixel en esta rama. */
.pixel-scene,.cafeteria-svg-stage,.stand,.school{display:none!important}

@media(max-width:1024px){
  .shop-wrap{min-height:520px}
  .scene-v2-backdrop{inset:44px -3% 0}
  .shop-wrap .queue{left:4%;width:42%;bottom:60px}
  .shop-wrap .barista{bottom:116px}
  .shop-wrap .ingredient-shelf{right:5%;bottom:154px;width:176px}
  .shop-wrap .cups-area{right:24%;bottom:132px;width:112px}
  .shop-wrap .register.scene-register{right:7%;bottom:91px}
  .scene-flow-label{display:none}
}

@media(max-width:820px){
  .shop-wrap{min-height:450px;border-radius:16px}
  .scene-v2-backdrop{inset:52px -12% -2%}
  .event-banner{top:58px;max-width:82%;overflow:hidden;text-overflow:ellipsis}
  .shop-wrap .competitor-stand{display:none}
  .shop-wrap .traffic-lane{display:none!important}
  .shop-wrap .barista{left:52%;bottom:94px;width:67px;height:90px}
  .shop-wrap .queue{left:3%;bottom:43px;width:48%;height:58px;gap:5px}
  .shop-wrap .customer{width:29px;height:45px}
  .shop-wrap .ingredient-shelf{right:3%;bottom:118px;width:150px;min-height:58px;gap:4px;padding:5px}
  .shop-wrap .ingredient-item{font-size:11px;padding:3px}
  .shop-wrap .ingredient-item span{font-size:8px}
  .shop-wrap .cups-area{right:22%;bottom:93px;width:90px;min-height:44px;max-height:50px}
  .shop-wrap .cup{width:14px;height:18px}
  .shop-wrap .register.scene-register{right:5%;bottom:64px;width:64px;height:46px}
  .scene-team-sign{top:43%;min-width:130px;padding:5px 8px;font-size:10px}
}

@media(max-width:540px){
  .shop-wrap{min-height:370px}
  .scene-v2-backdrop{inset:62px -23% -5%}
  .shop-hud{gap:4px}
  .shop-chip{font-size:9px;padding:4px 6px}
  .event-banner{top:84px;font-size:9px}
  .shop-wrap .barista{left:53%;bottom:75px;width:58px;height:78px}
  .shop-wrap .queue{bottom:29px;width:51%;height:48px;padding:0 4px}
  .shop-wrap .customer{width:25px;height:39px}
  .shop-wrap .ingredient-shelf{right:2%;bottom:89px;width:125px;grid-template-columns:1fr 1fr}
  .shop-wrap .cups-area{display:none}
  .shop-wrap .register.scene-register{right:4%;bottom:42px;width:57px;height:41px}
  .scene-register-value{font-size:9px}
  .scene-team-sign{top:45%;font-size:9px}
}

/* Stock integrado en la escena: compacto y legible, sin comportarse como otro dashboard. */
.shop-wrap .stock-bars{display:grid;gap:5px;width:100%}
.shop-wrap .stock-row{
  display:grid;
  grid-template-columns:16px minmax(0,1fr) auto;
  grid-template-rows:auto 4px;
  align-items:center;
  gap:2px 5px;
  min-width:0;
  padding:4px 5px;
  border:1px solid rgba(126,158,184,.18);
  border-radius:8px;
  background:rgba(255,255,255,.78);
  color:#496174;
  font-size:8px;
  font-weight:800;
  line-height:1;
}
.shop-wrap .stock-row .cr-icon{width:14px;height:14px;color:#005a9b}
.shop-wrap .stock-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shop-wrap .stock-row strong{color:#173b5a;font-size:8px}
.shop-wrap .stock-track{grid-column:1/-1;height:4px;overflow:hidden;border-radius:999px;background:#dce8f0}
.shop-wrap .stock-fill{width:var(--level,0%);height:100%;border-radius:inherit;background:#2b84bc}
.shop-wrap .stock-row.just .stock-fill{background:#d49b19}
.shop-wrap .stock-row.critical .stock-fill{background:#bd3f35}
.shop-wrap .stock-alerts{display:flex;flex-wrap:wrap;gap:3px}
.shop-wrap .stock-alert{padding:3px 5px;border-radius:999px;background:#fff3d6;color:#7a5600;font-size:7px;font-weight:900;line-height:1.1}

@media(max-width:820px){
  .shop-wrap .stock-row{grid-template-columns:14px minmax(0,1fr) auto;padding:3px 4px;font-size:7px}
  .shop-wrap .stock-row .cr-icon{width:12px;height:12px}
  .shop-wrap .stock-row strong{font-size:7px}
  .shop-wrap .stock-alert{font-size:6px}
}

/* V10.3.0b · refinamiento artístico */
.shop-wrap{background:#eef7fb;box-shadow:0 22px 50px rgba(25,55,82,.10);}
.scene-v2-backdrop{inset:30px 0 0;}
.scene-v2-art{filter:drop-shadow(0 18px 28px rgba(21,50,90,.10));}
.scene-team-sign{top:39%;background:rgba(0,90,155,.92);backdrop-filter:blur(6px);}
.shop-wrap .barista{bottom:119px;width:88px;height:116px;}
.shop-wrap .queue{bottom:56px;left:4.5%;width:39%;}
.shop-wrap .ingredient-shelf{right:6.5%;bottom:158px;background:rgba(255,253,247,.93);}
.shop-wrap .cups-area{right:24.5%;bottom:132px;background:rgba(255,253,247,.78);}
.shop-wrap .register.scene-register{right:8.2%;bottom:88px;}
.shop-wrap .competitor-stand{left:2.2%;bottom:180px;opacity:.9;}
@media(max-width:820px){.scene-v2-backdrop{inset:48px -11% -2%}.shop-wrap .barista{bottom:88px}.shop-wrap .ingredient-shelf{bottom:108px}.shop-wrap .register.scene-register{bottom:56px}}
@media(max-width:540px){.scene-v2-backdrop{inset:58px -22% -5%}.shop-wrap .barista{bottom:67px}.shop-wrap .ingredient-shelf{bottom:80px}.shop-wrap .register.scene-register{bottom:36px}}


/* V10_3_0C ESCENA PROFUNDA ESTATICA · Coffee Rush STA */
.scene-v3-backdrop{inset:0!important;overflow:hidden;border-radius:inherit;background:#eef8fd;}
.scene-v3-art{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center center!important;filter:none!important;}
.scene-flow-label{display:none!important;}
.shop-wrap{min-height:560px;background:#eef8fd!important;border-color:#cbdde8;}
.shop-wrap .sun,.shop-wrap .cloud{display:none!important;}
.shop-wrap .stand{bottom:72px;width:min(700px,78%);height:310px;}
.shop-wrap .barista{left:38%;bottom:145px;width:88px;height:118px;z-index:6;}
.shop-wrap .ingredient-shelf{left:auto;right:13%;bottom:205px;width:190px;justify-content:flex-end;z-index:6;}
.shop-wrap .cups-area{left:42%;right:auto;bottom:147px;width:210px;z-index:6;background:rgba(255,255,255,.2);}
.shop-wrap .register{right:18%;bottom:154px;z-index:7;}
.shop-wrap .queue{left:8%;right:42%;bottom:30px;justify-content:flex-start;gap:10px;z-index:8;}
.shop-wrap .customer{width:44px;height:66px;}
.shop-wrap .competitor-stand{right:7%;bottom:330px;transform:scale(.62);opacity:0;}
.shop-wrap .competitor-stand.active{opacity:.78;transform:scale(.68);}
.shop-wrap .traffic-lane{bottom:310px;opacity:.55;}
.scene-team-sign{display:none!important;}
@media(max-width:900px){.shop-wrap{min-height:500px}.scene-v3-art{object-position:center center!important}.shop-wrap .barista{left:36%;bottom:132px}.shop-wrap .ingredient-shelf{right:9%;bottom:186px}.shop-wrap .register{right:14%;bottom:140px}.shop-wrap .queue{left:5%;right:36%;bottom:24px}.shop-wrap .customer{width:40px;height:60px}}
@media(max-width:560px){.shop-wrap{min-height:430px}.scene-v3-art{width:125%!important;max-width:none!important;transform:translateX(-10%);object-fit:cover!important}.shop-wrap .barista{left:32%;bottom:112px;width:70px;height:96px}.shop-wrap .ingredient-shelf{right:4%;bottom:160px;width:145px}.shop-wrap .register{right:8%;bottom:116px}.shop-wrap .queue{left:3%;right:30%;bottom:20px;gap:5px}.shop-wrap .customer{width:34px;height:52px}.shop-hud{gap:4px}.shop-chip{font-size:9px;padding:4px 6px}}

/* V10_3_0D PERSONAJES · Coffee Rush STA */
.shop-wrap .customer{width:48px;height:72px;filter:drop-shadow(0 5px 4px rgba(21,50,90,.12));}
.shop-wrap .customer:nth-child(2n){transform:translateY(4px) scale(.96)}
.shop-wrap .customer:nth-child(3n){transform:translateY(-2px) scale(1.04)}
.shop-wrap .barista{filter:drop-shadow(0 6px 5px rgba(21,50,90,.15));}
.shop-wrap .scene-customer-svg,.shop-wrap .scene-barista-svg{overflow:visible}
@media(max-width:900px){.shop-wrap .customer{width:43px;height:65px}}
@media(max-width:560px){.shop-wrap .customer{width:36px;height:54px}}
