
:root{--forest:#12352f;--leaf:#4f8f45;--sun:#F6821F;--rose:#942629;--cream:#f7f1e8;--ink:#18322d;--muted:#64726d;--line:rgba(18,53,47,.13);--shadow:0 18px 46px rgba(18,53,47,.14)}
*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif;background:var(--cream);color:var(--ink);overflow-x:hidden}button,input{font:inherit}.app{min-height:100dvh;max-width:1440px;margin:0 auto;display:flex;flex-direction:column}.top{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px clamp(14px,2.6vw,28px);background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#eef7eb;border:1px solid rgba(79,143,69,.22);font-size:28px}.title{font-weight:950;font-size:clamp(21px,2.45vw,30px);color:var(--forest)}.sub{font-size:12px;color:var(--muted);margin-top:3px}.tabs{display:flex;gap:8px}.pill{border:1px solid rgba(18,53,47,.18);background:#fff;color:var(--forest);border-radius:14px;padding:10px 16px;font-weight:900;cursor:pointer}.pill.active{background:var(--forest);color:#fff;border-color:var(--forest)}.screen{flex:1;min-height:0;padding:18px 26px}
.chat-card{height:calc(100dvh - 82px - 36px);min-height:520px;display:flex;flex-direction:column;overflow:hidden;border-radius:26px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.chat-head{min-height:84px;background:var(--forest);color:#fff;padding:14px clamp(14px,2vw,22px);display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:4px solid var(--sun)}.agent{display:flex;align-items:center;gap:12px}.sofia-brand{min-width:92px;padding:11px 14px;border-radius:16px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);font-weight:950;text-align:center}.agent-name{font-weight:950;font-size:20px}.agent-status{font-size:13px;margin-top:4px;color:rgba(255,255,255,.90)}.online-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#70BB44;margin-right:6px}.head-right{text-align:right;font-size:12px;font-weight:850;line-height:1.35;white-space:nowrap}.chat-body{flex:1;overflow-y:auto;min-height:0;padding:clamp(14px,2vw,24px);scroll-behavior:smooth;background:#fbfaf6}.msg{max-width:min(94%,980px);padding:14px 16px;border-radius:18px;margin:10px 0;font-size:16px;line-height:1.56}.msg.wide{max-width:100%;width:100%}.bot{background:#fff;border:1px solid rgba(18,53,47,.10);border-bottom-left-radius:6px;box-shadow:0 8px 20px rgba(18,53,47,.05)}.user{background:#fff1df;color:#18322d;border:1px solid rgba(246,130,31,.22);margin-left:auto;border-bottom-right-radius:6px;font-weight:800}.input-row{display:flex;gap:8px;padding:11px;background:#fff;border-top:1px solid var(--line);align-items:center}.input-row input{flex:1;min-width:0;border:1px solid var(--line);border-radius:14px;padding:12px 15px;font-size:15px;outline:none;background:#fff;color:var(--ink)}.input-row input:disabled{background:#f3f3ef;color:#8b928f}.send{border:0;background:var(--forest);color:white;border-radius:14px;padding:0 17px;height:46px;font-weight:950;cursor:pointer}.send:disabled{opacity:.45;cursor:not-allowed}.quick{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.btn{border:0;border-radius:14px;padding:12px 15px;min-height:44px;font-weight:950;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-size:14px;line-height:1.15}.btn-green{background:var(--forest);color:#fff;border:1px solid var(--forest)}.btn-leaf{background:var(--leaf);color:white;border:1px solid var(--leaf)}.btn-light{background:#fff;color:var(--forest);border:1px solid rgba(18,53,47,.18)}.btn-blue{background:#eef8fd;color:#0A3A5A;border:1px solid rgba(7,140,215,.24)}.btn-red{background:#fff0f0;color:var(--rose);border:1px solid rgba(148,38,41,.25)}.btn-warning{background:#fff7ea;color:#8a4a0a;border:1px solid rgba(246,130,31,.28)}.section-title{font-weight:950;font-size:18px;margin-bottom:6px;color:var(--forest)}.hero-copy{font-size:15px;line-height:1.56}.soft-note{margin-top:10px;padding:11px 12px;border-radius:14px;font-size:13px;color:#365148;border:1px solid rgba(18,53,47,.10);background:#f7fbf8}
.two-col{display:grid;grid-template-columns:minmax(260px,420px) minmax(300px,1fr);gap:18px;align-items:stretch;margin-top:12px}.media-box{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;min-height:280px;display:flex}.media-box img{width:100%;height:100%;max-height:430px;object-fit:cover;display:block;cursor:zoom-in}.info-box{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;display:flex;flex-direction:column;justify-content:center}.info-box h3{font-size:24px;color:var(--forest);margin-bottom:8px}.info-box p{color:#40544c;line-height:1.55;margin:6px 0}.summary-box{border:1px solid rgba(18,53,47,.12);border-radius:20px;background:#fff;padding:14px;margin-top:12px}.summary-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed rgba(18,53,47,.14);padding:8px 0;font-size:14px}.summary-row:last-child{border-bottom:0}.total{font-size:22px;font-weight:950;color:var(--forest)}.mini{font-size:12px;color:var(--muted)}
.section-menu-clean{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:14px}.section-menu-card{border:1px solid rgba(18,53,47,.12);background:#fff;border-radius:18px;padding:14px;text-align:left;cursor:pointer;box-shadow:0 8px 18px rgba(18,53,47,.04)}.section-menu-card b{display:block;color:var(--forest);margin-bottom:4px}.section-menu-card span{display:block;color:var(--muted);font-size:13px;line-height:1.35}.clean-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:14px;align-items:stretch}.clean-card{background:#fff;border:1px solid rgba(18,53,47,.12);border-radius:22px;overflow:hidden;box-shadow:0 8px 22px rgba(18,53,47,.05);display:flex;flex-direction:column}.clean-img{width:100%;height:230px;background:#f7f1e8;overflow:hidden}.clean-img img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}.clean-body{padding:15px;display:flex;flex-direction:column;gap:9px;flex:1}.clean-body h3{font-size:18px;color:var(--forest);line-height:1.16}.clean-price{font-size:20px;font-weight:950;color:var(--forest)}.clean-body p{font-size:13px;line-height:1.45;color:#40544c}.clean-tags{display:flex;gap:6px;flex-wrap:wrap}.clean-tags span{border:1px solid rgba(18,53,47,.10);background:#fbfaf6;border-radius:999px;padding:5px 8px;color:#52605a;font-size:12px;font-weight:850}.clean-detail{display:grid;gap:7px;margin-top:4px}.clean-detail div{border-left:3px solid var(--sun);padding:7px 9px;background:#fff7ea;border-radius:10px;font-size:13px;color:#40544c;line-height:1.35}.clean-detail b{display:block;color:var(--forest);margin-bottom:3px}.clean-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px}.qty-clean{display:grid;grid-template-columns:42px 1fr 42px;gap:8px;align-items:center;max-width:210px}.qty-clean button{height:42px;border:1px solid rgba(18,53,47,.14);background:#fff7ea;color:var(--forest);border-radius:12px;font-weight:950;font-size:18px;cursor:pointer}.qty-clean span{height:42px;display:grid;place-items:center;border:1px solid rgba(18,53,47,.12);border-radius:12px;font-weight:950;color:var(--forest)}
.cart-summary-clean{margin:12px 0;background:var(--forest);color:#fff;border-radius:16px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;box-shadow:0 10px 24px rgba(18,53,47,.14)}.cart-summary-clean b{font-size:14px}.cart-summary-clean span{font-size:13px;opacity:.94}.cart-summary-clean .btn{background:var(--sun)!important;color:#fff!important;border-color:var(--sun)!important;min-height:36px!important;padding:8px 12px!important;font-size:12px!important}.cart-table-clean{margin-top:10px;border:1px solid rgba(18,53,47,.12);background:#fff;border-radius:18px;overflow:hidden}.cart-line-clean{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:10px 12px;border-bottom:1px dashed rgba(18,53,47,.13);align-items:center;font-size:13px}.cart-line-clean:last-child{border-bottom:0}.cart-line-clean b{color:var(--forest)}.remove-clean{border:0;background:#fff0f0;color:var(--rose);border-radius:10px;padding:7px 9px;font-weight:950;cursor:pointer}
.food-clean{display:grid;grid-template-columns:140px 1fr;gap:12px;border:1px solid rgba(18,53,47,.12);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 8px 22px rgba(18,53,47,.05)}.food-clean-img{height:160px;background:#f7f1e8}.food-clean-img img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}.food-clean-body{padding:13px;display:grid;gap:8px}.food-clean-body h3{font-size:17px;color:var(--forest)}.video-wrap-clean{width:100%;background:#000;border-radius:20px;overflow:hidden;border:1px solid rgba(18,53,47,.13);aspect-ratio:16/9;min-height:260px}.video-wrap-clean iframe{width:100%;height:100%;display:block;border:0}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:12px}.gallery-item{border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#fff;aspect-ratio:4/3}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}.final-summary-clean{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(280px,1.15fr);gap:16px;align-items:start;margin-top:12px}.final-summary-clean img{width:100%;height:270px;object-fit:cover;border-radius:18px;display:block;border:1px solid rgba(18,53,47,.12)}.final-ticket-clean{background:#fff;border:1px solid rgba(18,53,47,.12);border-radius:22px;padding:16px;box-shadow:0 8px 22px rgba(18,53,47,.05)}.ticket-row-clean{display:grid;grid-template-columns:1fr auto;gap:10px;border-bottom:1px dashed rgba(18,53,47,.14);padding:9px 0}.ticket-row-clean:last-child{border-bottom:0}.ticket-row-clean b{color:var(--forest)}
.calendar{border:1px solid var(--line);border-radius:20px;background:#fff;padding:14px;margin-top:12px}.cal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.cal-title{font-weight:950;color:var(--forest)}.cal-days,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.cal-day-name{text-align:center;font-size:12px;font-weight:900;color:#66736d}.cal-btn{min-height:48px;border-radius:14px;border:1px solid rgba(18,53,47,.13);font-weight:950;cursor:pointer;background:#fff;color:var(--forest)}.cal-btn.available{background:#eef7eb;border-color:rgba(79,143,69,.32);color:#2f6530}.cal-btn.weekend{background:#fff7ea;border-color:rgba(246,130,31,.30);color:#8a4a0a}.cal-btn.busy{background:#eee;color:#999;text-decoration:line-through;cursor:not-allowed}.hours{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.hour-btn{border:1px solid rgba(7,140,215,.24);background:#eef8fd;color:#0A3A5A;border-radius:14px;padding:10px 14px;font-weight:900;cursor:pointer}.paybox{border:1px solid rgba(246,130,31,.24);background:#fff7ea;border-radius:20px;padding:14px;margin-top:12px}.whatsapp-number{font-size:20px;font-weight:950;color:var(--forest);margin:8px 0}
.image-modal{display:none;position:fixed;inset:0;background:rgba(18,53,47,.72);z-index:99;align-items:center;justify-content:center;padding:14px}.image-modal.show{display:flex}.image-modal-box{width:min(96vw,1100px);max-height:94dvh;background:#fff;border-radius:24px;box-shadow:0 22px 70px rgba(0,0,0,.34);overflow:auto;position:relative}.image-modal-box img{width:100%;height:auto;max-height:84dvh;object-fit:contain;display:block;background:#f7f1e8}.modal-title{padding:14px 16px;font-weight:950;color:var(--forest)}.modal-close{position:absolute;top:10px;right:10px;width:38px;height:38px;border-radius:50%;border:0;background:#141d19;color:white;font-size:22px;cursor:pointer;z-index:2}
.admin-wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:16px;align-items:start}.admin-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;margin-bottom:14px;box-shadow:0 8px 22px rgba(18,53,47,.05)}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stat{background:#fbfaf6;border:1px solid var(--line);border-radius:16px;padding:12px}.stat small{display:block;font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:800}.stat b{font-size:26px;color:var(--forest)}.res-card{border:1px solid var(--line);border-radius:16px;padding:14px;margin:10px 0;background:#fffdf9}.badge{display:inline-block;font-size:11px;font-weight:950;border-radius:8px;padding:5px 9px}.pend{background:#fff7ea;color:#8a4a0a}.conf{background:#eef7eb;color:#2f6530}.cancel{background:#fff0f0;color:var(--rose)}.admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
@media(max-width:900px){.top{align-items:stretch;flex-direction:column;padding:16px}.tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}.pill{width:100%}.screen{padding:10px}.chat-card{height:calc(100dvh - 150px);min-height:480px;border-radius:18px}.head-right{display:none}.two-col,.final-summary-clean,.admin-wrap{grid-template-columns:1fr}.video-wrap-clean{aspect-ratio:9/16;max-height:520px}.food-clean{grid-template-columns:1fr}.food-clean-img{height:180px}}@media(max-width:560px){.clean-grid,.section-menu-clean{grid-template-columns:1fr}.clean-img{height:210px}.cart-line-clean{grid-template-columns:1fr}.cart-summary-clean{align-items:flex-start;flex-direction:column}.stat-grid{grid-template-columns:1fr}.msg{font-size:15px;max-width:98%;padding:13px}.cal-days,.cal-grid{gap:4px}.cal-btn{min-height:42px;font-size:12px}}


/* === V5 AJUSTES === */
.clean-img{
  height:240px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f8f4ea;
}
.clean-img img{
  object-fit:contain !important;
  width:100%;
  height:100%;
  background:#f8f4ea;
}
.media-box img{
  object-fit:contain !important;
  background:#f8f4ea;
}
.gallery-item img{
  object-fit:contain !important;
  background:#f8f4ea;
}
.food-layout-v5{
  display:grid;
  grid-template-columns:minmax(260px,360px) 1fr;
  gap:14px;
  align-items:start;
  margin-top:14px;
}
.food-banner-v5{
  border:1px solid rgba(18,53,47,.12);
  background:#fff;
  border-radius:22px;
  padding:10px;
  box-shadow:0 8px 22px rgba(18,53,47,.05);
  position:sticky;
  top:8px;
}
.food-banner-v5 img{
  width:100%;
  height:auto;
  max-height:520px;
  object-fit:contain;
  display:block;
  border-radius:16px;
  background:#f8f4ea;
}
.food-list-v5{
  display:grid;
  gap:10px;
}
.food-row-v5{
  background:#fff;
  border:1px solid rgba(18,53,47,.12);
  border-radius:18px;
  padding:12px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  box-shadow:0 8px 18px rgba(18,53,47,.04);
}
.food-row-v5 h3{
  color:#12352f;
  font-size:17px;
  margin-bottom:4px;
}
.food-row-v5 p{
  color:#40544c;
  font-size:13px;
  line-height:1.35;
}
.food-price-v5{
  font-weight:950;
  color:#12352f;
  font-size:20px;
  margin-top:5px;
}
.add-inline-v5{
  display:flex;
  align-items:center;
  gap:8px;
}
.add-inline-v5 button{
  width:38px;
  height:38px;
  border-radius:12px;
  border:1px solid rgba(18,53,47,.14);
  background:#fff7ea;
  color:#12352f;
  font-weight:950;
  cursor:pointer;
}
.add-inline-v5 span{
  min-width:36px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(18,53,47,.12);
  border-radius:12px;
  font-weight:950;
  color:#12352f;
}
.added-note-v5{
  margin-top:10px;
  background:#eef7eb;
  border:1px solid rgba(79,143,69,.22);
  border-radius:14px;
  padding:10px 12px;
  color:#2f6530;
  font-weight:850;
  font-size:13px;
}
.cart-dock-v5{
  background:#12352f;
  color:#fff;
  border-radius:16px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin:10px 0 0;
}
.cart-dock-v5 button{
  background:#F6821F;
  color:#fff;
  border:0;
  border-radius:12px;
  padding:8px 12px;
  font-weight:950;
  cursor:pointer;
}
.video-frame-v5{
  width:100%;
  border-radius:20px;
  overflow:hidden;
  border:1px solid rgba(18,53,47,.13);
  background:#000;
  aspect-ratio:9/16;
  max-height:560px;
  margin:auto;
}
.video-frame-v5 iframe{
  width:100%;
  height:100%;
  display:block;
  border:0;
}
.section-done-v5{
  margin-top:12px;
  border-top:1px dashed rgba(18,53,47,.16);
  padding-top:12px;
}
@media(max-width:900px){
  .food-layout-v5{grid-template-columns:1fr}
  .food-banner-v5{position:relative;top:auto}
  .food-banner-v5 img{max-height:430px}
}
@media(max-width:560px){
  .food-row-v5{grid-template-columns:1fr}
  .add-inline-v5{justify-content:flex-start}
}


/* === V6: carrito en cabecera + portada correcta + solo agenda lo permitido === */
.header-cart-v6{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:1px solid rgba(255,255,255,.25);
  background:#F6821F;
  color:#fff;
  border-radius:13px;
  padding:8px 10px;
  font-weight:950;
  cursor:pointer;
  font-size:12px;
  min-height:36px;
}
.header-cart-v6.empty{
  background:rgba(255,255,255,.14);
  color:#fff;
}
.toast-v6{
  position:absolute;
  right:18px;
  top:98px;
  z-index:10;
  background:#12352f;
  color:#fff;
  border-radius:14px;
  padding:10px 12px;
  box-shadow:0 12px 30px rgba(18,53,47,.25);
  font-weight:850;
  max-width:320px;
  display:none;
}
.toast-v6.show{display:block}
.chat-card{position:relative}
.hero-portada-v6 img{
  object-fit:cover !important;
  width:100%;
  height:100%;
}
.hero-portada-v6{
  min-height:240px;
}
.no-agenda-note-v6{
  background:#f7fbf8;
  border:1px solid rgba(18,53,47,.12);
  border-radius:14px;
  padding:10px 12px;
  color:#365148;
  font-size:13px;
  line-height:1.4;
}
.clean-img img{
  object-fit:cover !important;
}
.clean-card.info-only .clean-img img,
.gallery-item img{
  object-fit:cover !important;
}
.food-banner-v5 img{
  object-fit:contain !important;
}
.food-row-v5{
  grid-template-columns:1fr 220px;
}
@media(max-width:560px){
  .toast-v6{left:12px;right:12px;top:92px;max-width:none}
  .food-row-v5{grid-template-columns:1fr}
}

@media(max-width:900px){.head-right{display:block!important;text-align:right}.header-cart-v6{font-size:11px;padding:7px 8px}}


/* === V7: panel cómodo después de agregar === */
.after-add-actions-v7{
  margin-top:12px;
  border:1px solid rgba(18,53,47,.12);
  background:#fff;
  border-radius:18px;
  padding:12px;
  box-shadow:0 8px 20px rgba(18,53,47,.05);
}
.after-add-actions-v7 h3{
  color:#12352f;
  font-size:16px;
  margin-bottom:6px;
}
.after-add-actions-v7 p{
  color:#40544c;
  font-size:13px;
  line-height:1.35;
}
.after-add-actions-v7 .quick{
  margin-top:10px;
}
.qty-panel-v7{
  border:1px solid rgba(18,53,47,.12);
  border-radius:18px;
  background:#fff;
  padding:14px;
  margin-top:12px;
}
.qty-panel-v7 .mini-help{
  color:#64726d;
  font-size:13px;
  margin-bottom:10px;
}


/* === V12: imágenes sin repetición visual y saludo vendedor === */
.clean-card{
  max-width:100%;
}
.clean-img{
  height:220px !important;
  background:#f8f4ea;
}
.clean-img img{
  object-fit:cover !important;
  object-position:center center;
}
.media-box{
  min-height:240px !important;
  max-height:360px;
}
.media-box img{
  object-fit:cover !important;
  object-position:center center;
}
.gallery-grid{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) !important;
}
.gallery-item{
  max-height:190px;
}
.gallery-item img{
  object-fit:cover !important;
  object-position:center center;
}
.info-box{
  justify-content:center;
}
.clean-card.info-only .clean-img{
  height:220px !important;
}
@media(max-width:560px){
  .clean-img{height:200px!important}
  .media-box{min-height:210px!important;max-height:300px}
}


/* === V13: ENCAJE REAL DE FOTOS === */
/* Quita bandas negras/blancas y obliga a que todas las imágenes llenen su caja sin deformarse */
.clean-img,
.media-box,
.gallery-item,
.food-clean-img,
.final-summary-clean > div:first-child{
  background:#f7f1e8 !important;
  overflow:hidden !important;
}

/* Tarjetas normales */
.clean-img{
  height:245px !important;
  aspect-ratio:16/9 !important;
  border-radius:0 !important;
}
.clean-img img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  background:#f7f1e8 !important;
}

/* Detalles: foto principal grande */
.media-box{
  min-height:0 !important;
  height:320px !important;
  max-height:320px !important;
  border-radius:22px !important;
  display:block !important;
}
.media-box img{
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  background:#f7f1e8 !important;
}

/* Si la foto viene con texto/logotipo, se centra mejor */
.media-box img[src*="Suruhuaico"],
.clean-img img[src*="Suruhuaico"]{
  object-position:center center !important;
}

/* Galería */
.gallery-item{
  height:190px !important;
  aspect-ratio:auto !important;
}
.gallery-item img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}

/* Comida */
.food-clean-img{
  height:170px !important;
}
.food-clean-img img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}

/* Banner de comida sí debe verse completo */
.food-banner-v5 img{
  object-fit:contain !important;
  width:100% !important;
  height:auto !important;
  background:#f7f1e8 !important;
}

/* Portada inicial: llenar correctamente */
.hero-portada-v6{
  height:270px !important;
  min-height:270px !important;
  max-height:270px !important;
}
.hero-portada-v6 img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* Responsive */
@media(max-width:900px){
  .media-box{
    height:280px !important;
    max-height:280px !important;
  }
  .clean-img{
    height:220px !important;
  }
}
@media(max-width:560px){
  .media-box{
    height:230px !important;
    max-height:230px !important;
  }
  .clean-img{
    height:205px !important;
  }
  .gallery-item{
    height:175px !important;
  }
}


/* === V14: PORTADAS / AFICHES COMPLETOS === */
/* Las imágenes diseñadas como portada, afiche o banner NO deben cortarse. */
.clean-img{
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  background:#f7f1e8 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
}

.clean-img img{
  width:100% !important;
  height:auto !important;
  max-height:340px !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  background:#f7f1e8 !important;
}

/* En detalle también se muestra completa, sin cortar texto ni logos. */
.media-box{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#f7f1e8 !important;
}

.media-box img{
  width:100% !important;
  height:auto !important;
  max-height:430px !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  background:#f7f1e8 !important;
}

/* Galería: también completa para evitar cortes raros. */
.gallery-item{
  height:auto !important;
  min-height:150px !important;
  aspect-ratio:auto !important;
  background:#f7f1e8 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.gallery-item img{
  width:100% !important;
  height:auto !important;
  max-height:230px !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#f7f1e8 !important;
}

/* Portada inicial: más natural, sin deformar. */
.hero-portada-v6{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
}
.hero-portada-v6 img{
  width:100% !important;
  height:auto !important;
  max-height:360px !important;
  object-fit:contain !important;
}

/* Para comida el banner sigue completo. */
.food-banner-v5 img{
  object-fit:contain !important;
  max-height:520px !important;
}

/* Ajuste móvil */
@media(max-width:560px){
  .clean-img img{max-height:300px !important}
  .media-box img{max-height:340px !important}
  .gallery-item img{max-height:210px !important}
}


/* === V15: SIN DETALLES, INFO DIRECTA EN TARJETAS === */
.clean-grid{
  grid-template-columns:repeat(auto-fit,minmax(310px,1fr)) !important;
  gap:16px !important;
  align-items:stretch !important;
}
.clean-card{
  display:grid !important;
  grid-template-rows:auto 1fr !important;
  border-radius:22px !important;
  overflow:hidden !important;
}
.clean-img{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  background:#f7f1e8 !important;
}
.clean-img img{
  width:100% !important;
  height:auto !important;
  max-height:360px !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
}
.clean-body{
  padding:16px !important;
  gap:10px !important;
}
.clean-body h3{
  font-size:20px !important;
}
.clean-body p{
  font-size:14px !important;
  line-height:1.45 !important;
}
.clean-detail{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
}
.clean-detail div{
  min-height:auto !important;
  padding:9px 10px !important;
}
.clean-actions{
  margin-top:auto !important;
}
.clean-actions .btn{
  width:auto !important;
}
.section-menu-card{
  min-height:96px !important;
}
.no-agenda-note-v6{
  margin-top:2px !important;
}
@media(max-width:900px){
  .clean-grid{
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;
  }
  .clean-img img{
    max-height:330px !important;
  }
}
@media(max-width:560px){
  .clean-grid{
    grid-template-columns:1fr !important;
  }
  .clean-img img{
    max-height:310px !important;
  }
}


/* === V16: comida con un solo botón === */
.food-row-v5{
  grid-template-columns:1fr 150px !important;
}
.food-list-v5 .after-add-actions-v7{
  margin-top:4px;
}
@media(max-width:560px){
  .food-row-v5{
    grid-template-columns:1fr !important;
  }
}


/* === V17: VIDEO SHORTS SIN IFRAME ROTO === */
.short-video-card-v17{
  width:min(100%,360px);
  margin:auto;
  border-radius:26px;
  overflow:hidden;
  border:1px solid rgba(18,53,47,.16);
  background:#111;
  aspect-ratio:9/16;
  position:relative;
  box-shadow:0 12px 28px rgba(18,53,47,.14);
}
.short-video-card-v17 img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:brightness(.78);
}
.short-video-overlay-v17{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:#fff;
  text-align:center;
  padding:18px;
}
.short-video-overlay-v17 .play{
  width:74px;
  height:74px;
  border-radius:50%;
  background:#F6821F;
  display:grid;
  place-items:center;
  font-size:34px;
  box-shadow:0 10px 24px rgba(0,0,0,.25);
}
.short-video-overlay-v17 b{
  font-size:18px;
  line-height:1.2;
  text-shadow:0 2px 8px rgba(0,0,0,.45);
}
.short-video-overlay-v17 span{
  font-size:13px;
  opacity:.92;
  line-height:1.35;
}
.video-help-v17{
  background:#fff7ea;
  border:1px solid rgba(246,130,31,.25);
  border-radius:14px;
  padding:10px 12px;
  font-size:13px;
  color:#5b3b15;
  line-height:1.4;
  margin-top:10px;
}
@media(max-width:560px){
  .short-video-card-v17{
    width:min(100%,300px);
  }
}


/* === V18: VIDEO EMBEBIDO REAL, FORMATO SHORTS 9:16, SIN SALIR DE LA PÁGINA === */
.video-short-embed-v18{
  width:min(100%,330px);
  aspect-ratio:9/16;
  margin:auto;
  border-radius:26px;
  overflow:hidden;
  background:#000;
  border:1px solid rgba(18,53,47,.16);
  box-shadow:0 12px 28px rgba(18,53,47,.14);
}
.video-short-embed-v18 iframe{
  width:100%;
  height:100%;
  display:block;
  border:0;
  background:#000;
}
.video-note-v18{
  margin-top:10px;
  padding:10px 12px;
  border-radius:14px;
  background:#fff7ea;
  border:1px solid rgba(246,130,31,.25);
  color:#5b3b15;
  font-size:13px;
  line-height:1.4;
}
.video-actions-v18{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}
@media(max-width:560px){
  .video-short-embed-v18{
    width:min(100%,295px);
  }
}


/* === V19: VIDEO LOCAL MP4 === */
.local-video-v19{
  width:min(100%,360px);
  aspect-ratio:9/16;
  margin:auto;
  border-radius:26px;
  overflow:hidden;
  background:#000;
  border:1px solid rgba(18,53,47,.16);
  box-shadow:0 12px 28px rgba(18,53,47,.14);
}
.local-video-v19 video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  background:#000;
}
.video-local-note-v19{
  margin-top:10px;
  padding:10px 12px;
  border-radius:14px;
  background:#eef7eb;
  border:1px solid rgba(79,143,69,.22);
  color:#2f6530;
  font-size:13px;
  line-height:1.4;
}
@media(max-width:560px){
  .local-video-v19{width:min(100%,300px)}
}


/* === V20: VIDEO LOCAL CON PLAY VISIBLE === */
.local-video-v20{
  width:min(100%,360px);
  aspect-ratio:9/16;
  margin:auto;
  border-radius:26px;
  overflow:hidden;
  background:#000;
  border:1px solid rgba(18,53,47,.16);
  box-shadow:0 12px 28px rgba(18,53,47,.14);
  position:relative;
}
.local-video-v20 video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  background:#000;
}
.video-play-cover-v20{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.65));
  color:#fff;
  text-align:center;
  cursor:pointer;
  z-index:2;
  padding:18px;
}
.video-play-cover-v20.hidden{
  display:none;
}
.play-circle-v20{
  width:82px;
  height:82px;
  border-radius:50%;
  background:#F6821F;
  display:grid;
  place-items:center;
  font-size:38px;
  box-shadow:0 12px 28px rgba(0,0,0,.32);
  padding-left:5px;
}
.video-play-cover-v20 b{
  font-size:19px;
  text-shadow:0 2px 8px rgba(0,0,0,.5);
}
.video-play-cover-v20 span{
  font-size:13px;
  opacity:.92;
}
@media(max-width:560px){
  .local-video-v20{width:min(100%,300px)}
}


/* === V21: PLAY REAL PARA VIDEO LOCAL === */
.video-box-v21{
  width:min(100%,360px);
  aspect-ratio:9/16;
  margin:auto;
  border-radius:26px;
  overflow:hidden;
  background:#000;
  border:1px solid rgba(18,53,47,.16);
  box-shadow:0 12px 28px rgba(18,53,47,.14);
  position:relative;
}
.video-box-v21 video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  background:#000;
}
.video-cover-v21{
  position:absolute;
  inset:0;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:12px;
  text-align:center;
  color:#fff;
  padding:18px;
  cursor:pointer;
  background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.70));
}
.video-cover-v21.hidden{
  display:none;
}
.video-cover-v21 .circle{
  width:88px;
  height:88px;
  border-radius:50%;
  background:#F6821F;
  display:grid;
  place-items:center;
  font-size:42px;
  padding-left:6px;
  box-shadow:0 14px 30px rgba(0,0,0,.35);
}
.video-cover-v21 b{
  font-size:20px;
  text-shadow:0 2px 8px rgba(0,0,0,.5);
}
.video-error-v21{
  display:none;
  margin-top:10px;
  padding:10px 12px;
  border-radius:14px;
  background:#fff0f0;
  border:1px solid rgba(148,38,41,.25);
  color:#942629;
  font-size:13px;
  line-height:1.4;
}
.video-error-v21.show{
  display:block;
}
@media(max-width:560px){
  .video-box-v21{width:min(100%,300px)}
}


/* === V22: portada del video tomada del propio MP4/mapa === */
.video-box-v21 video{
  background:#000 !important;
}
.video-cover-v21{
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.52)) !important;
}


/* === V23 DEFINITIVO: NINGUNA FOTO SE CORTA === */
/* Todas las imágenes de tarjetas, portadas, detalles y galerías se ven completas. */

.clean-img,
.media-box,
.gallery-item,
.food-clean-img,
.hero-portada-v6{
  background:#f7f1e8 !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

/* Tarjetas de servicios */
.clean-img{
  height:260px !important;
  min-height:260px !important;
  max-height:260px !important;
  aspect-ratio:auto !important;
  padding:8px !important;
}

.clean-img img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  background:#f7f1e8 !important;
}

/* Detalle o portada grande */
.media-box{
  height:340px !important;
  min-height:340px !important;
  max-height:340px !important;
  padding:10px !important;
}

.media-box img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  background:#f7f1e8 !important;
}

/* Galería */
.gallery-item{
  height:210px !important;
  min-height:210px !important;
  max-height:210px !important;
  padding:8px !important;
  aspect-ratio:auto !important;
}

.gallery-item img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  background:#f7f1e8 !important;
}

/* Portada inicial */
.hero-portada-v6{
  height:300px !important;
  min-height:300px !important;
  max-height:300px !important;
  padding:10px !important;
}

.hero-portada-v6 img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#f7f1e8 !important;
}

/* Comida */
.food-clean-img{
  height:180px !important;
  padding:6px !important;
}

.food-clean-img img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#f7f1e8 !important;
}

/* Banner de comida */
.food-banner-v5 img{
  width:100% !important;
  height:auto !important;
  max-height:540px !important;
  object-fit:contain !important;
  background:#f7f1e8 !important;
}

/* Evita que reglas anteriores vuelvan a cortar imágenes */
.clean-card.info-only .clean-img img,
.clean-card .clean-img img,
.media-box img,
.gallery-item img{
  object-fit:contain !important;
}

/* Responsive */
@media(max-width:900px){
  .clean-img{
    height:230px !important;
    min-height:230px !important;
    max-height:230px !important;
  }
  .media-box{
    height:300px !important;
    min-height:300px !important;
    max-height:300px !important;
  }
}

@media(max-width:560px){
  .clean-img{
    height:210px !important;
    min-height:210px !important;
    max-height:210px !important;
  }
  .media-box{
    height:250px !important;
    min-height:250px !important;
    max-height:250px !important;
  }
  .gallery-item{
    height:180px !important;
    min-height:180px !important;
    max-height:180px !important;
  }
}


/* === V24: VIDEO VERTICAL BIEN ENCAJADO, SIN CORTAR MAPA === */
.location-video-wrap-v24{
  width:100%;
  display:grid;
  grid-template-columns:minmax(260px,360px) minmax(300px,1fr);
  gap:18px;
  align-items:center;
}

.video-box-v21,
.local-video-v20,
.local-video-v19,
.video-short-embed-v18,
.short-video-card-v17{
  width:100% !important;
  max-width:340px !important;
  aspect-ratio:9/16 !important;
  height:auto !important;
  max-height:560px !important;
  margin:0 auto !important;
  border-radius:24px !important;
  overflow:hidden !important;
  background:#000 !important;
  border:1px solid rgba(18,53,47,.18) !important;
  box-shadow:0 12px 28px rgba(18,53,47,.16) !important;
  position:relative !important;
}

.video-box-v21 video,
.local-video-v20 video,
.local-video-v19 video,
.video-short-embed-v18 iframe{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#000 !important;
  display:block !important;
}

/* La caja contenedora del video no debe recortar ni agrandar raro */
.location-media-v24{
  background:#f7f1e8 !important;
  border:1px solid rgba(18,53,47,.13) !important;
  border-radius:22px !important;
  padding:14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:auto !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}

.location-info-v24{
  min-height:340px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.video-cover-v21,
.video-play-cover-v20{
  position:absolute !important;
  inset:0 !important;
  z-index:5 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-direction:column !important;
  gap:12px !important;
  text-align:center !important;
  color:#fff !important;
  padding:18px !important;
  cursor:pointer !important;
  background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.55)) !important;
}
.video-cover-v21.hidden,
.video-play-cover-v20.hidden{
  display:none !important;
}

.video-cover-v21 .circle,
.play-circle-v20{
  width:82px !important;
  height:82px !important;
  border-radius:50% !important;
  background:#F6821F !important;
  display:grid !important;
  place-items:center !important;
  font-size:40px !important;
  padding-left:5px !important;
  box-shadow:0 14px 30px rgba(0,0,0,.35) !important;
}

/* En esta sección no aplicar reglas generales de media-box que cortan o fuerzan tamaño */
.media-box.location-media-v24 img,
.media-box.location-media-v24 video{
  object-fit:contain !important;
}

@media(max-width:900px){
  .location-video-wrap-v24{
    grid-template-columns:1fr;
  }
  .location-info-v24{
    min-height:auto;
  }
  .video-box-v21,
  .local-video-v20,
  .local-video-v19,
  .video-short-embed-v18,
  .short-video-card-v17{
    max-width:320px !important;
  }
}
@media(max-width:560px){
  .video-box-v21,
  .local-video-v20,
  .local-video-v19,
  .video-short-embed-v18,
  .short-video-card-v17{
    max-width:285px !important;
  }
}


/* === V25: botón directo para finalizar === */
.after-add-actions-v7 .btn-green,
.cart-table-clean + .summary-box + .quick .btn-green{
  background:#12352f !important;
  color:#fff !important;
  border-color:#12352f !important;
}

/* === V26: RESUMEN FINAL + PDF === */
.final-summary-clean{grid-template-columns:minmax(240px,360px) minmax(320px,1fr)!important;align-items:stretch!important}
.final-summary-clean>div:first-child{background:#f7f1e8!important;border:1px solid rgba(18,53,47,.12)!important;border-radius:22px!important;padding:10px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
.final-summary-clean img{width:100%!important;height:100%!important;max-height:360px!important;object-fit:contain!important;object-position:center center!important;border:0!important;border-radius:16px!important;background:#f7f1e8!important}
.pdf-actions-v26{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:900px){.final-summary-clean{grid-template-columns:1fr!important}.final-summary-clean img{height:auto!important;max-height:330px!important}}


/* === V27: INICIO SIN NOMBRE, FOTO ARRIBA Y TEXTO ABAJO === */
.intro-vertical-v27{
  width:100%;
  display:grid;
  gap:16px;
  background:#fff;
  border:1px solid rgba(18,53,47,.12);
  border-radius:24px;
  padding:16px;
  box-shadow:0 8px 22px rgba(18,53,47,.05);
}
.intro-image-v27{
  width:100%;
  min-height:300px;
  max-height:430px;
  border-radius:22px;
  overflow:hidden;
  background:#f7f1e8;
  display:flex;
  align-items:center;
  justify-content:center;
}
.intro-image-v27 img{
  width:100%;
  height:100%;
  min-height:300px;
  max-height:430px;
  object-fit:contain;
  object-position:center center;
  display:block;
  background:#f7f1e8;
}
.intro-text-v27{
  padding:6px 4px 2px;
}
.intro-text-v27 h3{
  font-size:26px;
  color:#12352f;
  margin-bottom:8px;
}
.intro-text-v27 p{
  font-size:16px;
  line-height:1.55;
  color:#40544c;
}
@media(max-width:700px){
  .intro-image-v27{min-height:250px;max-height:360px}
  .intro-image-v27 img{min-height:250px;max-height:360px}
  .intro-text-v27 h3{font-size:23px}
}


/* === V29: PORTADA ANCHA SIN SCROLL, SIN ACHICARLA === */
/* Se recupera la portada a todo el ancho. Solo se ajusta altura y espaciados para que no obligue a bajar. */
.chat-body{
  padding-top:14px !important;
}

.intro-vertical-v27{
  padding:12px !important;
  gap:10px !important;
}

.intro-image-v27{
  width:100% !important;
  height:245px !important;
  min-height:245px !important;
  max-height:245px !important;
  padding:0 !important;
  border-radius:22px !important;
  background:#f7f1e8 !important;
  overflow:hidden !important;
}

.intro-image-v27 img{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}

.intro-text-v27{
  padding:4px 2px 0 !important;
}

.intro-text-v27 h3{
  font-size:23px !important;
  margin-bottom:5px !important;
}

.intro-text-v27 p{
  font-size:14px !important;
  line-height:1.38 !important;
  margin-bottom:6px !important;
}

.intro-text-v27 .soft-note{
  padding:8px 10px !important;
  font-size:12px !important;
  line-height:1.3 !important;
}

.intro-text-v27 .quick{
  margin-top:8px !important;
}

@media(max-width:900px){
  .intro-image-v27{
    height:220px !important;
    min-height:220px !important;
    max-height:220px !important;
  }
}

@media(max-width:560px){
  .intro-image-v27{
    height:190px !important;
    min-height:190px !important;
    max-height:190px !important;
  }
}


/* === V30: PORTADA EXACTA, ARRIBA, SIN TENER QUE SUBIR === */
/* La imagen ocupa todo el ancho disponible y mantiene su proporción real. */
.intro-vertical-v27{
  padding:12px !important;
  gap:10px !important;
}

.intro-image-v27{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  padding:0 !important;
  border-radius:22px !important;
  background:#f7f1e8 !important;
  overflow:hidden !important;
  display:block !important;
}

.intro-image-v27 img{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  background:#f7f1e8 !important;
}

.intro-text-v27{
  padding:4px 2px 0 !important;
}

.intro-text-v27 h3{
  font-size:22px !important;
  margin-bottom:5px !important;
}

.intro-text-v27 p{
  font-size:13.5px !important;
  line-height:1.32 !important;
  margin-bottom:5px !important;
}

.intro-text-v27 .soft-note{
  padding:8px 10px !important;
  font-size:11.5px !important;
  line-height:1.25 !important;
}

.intro-text-v27 .quick{
  margin-top:7px !important;
}

/* Solo en la pantalla inicial: no mostrar scroll interno. */
.chat-card.intro-mode .chat-body{
  overflow:hidden !important;
}


/* === V31: MISMA PORTADA, PRESENTACIÓN COMPLETA === */
/* Mantiene el ancho y alto de portada de V30. Solo recupera el texto y botón inicial. */
.chat-card.intro-mode .input-row{
  display:none !important;
}

.chat-card.intro-mode .chat-body{
  overflow:hidden !important;
  padding-bottom:14px !important;
}

.intro-text-v27{
  display:block !important;
  padding:6px 2px 0 !important;
}

.intro-text-v27 h3{
  display:block !important;
  font-size:22px !important;
  margin:0 0 5px !important;
}

.intro-text-v27 p{
  display:block !important;
  font-size:13.5px !important;
  line-height:1.32 !important;
  margin:0 0 6px !important;
}

.intro-text-v27 .soft-note{
  display:block !important;
  padding:8px 10px !important;
  font-size:11.5px !important;
  line-height:1.25 !important;
  margin-bottom:7px !important;
}

.intro-text-v27 .quick{
  display:flex !important;
  margin-top:6px !important;
}


/* === V32: PRESENTACIÓN INICIAL COMPLETA SIN CORTES === */
/* La portada sigue ancha. Se reorganiza la altura para que texto, nota y botón entren completos. */

.chat-card.intro-mode .input-row{
  display:none !important;
}

.chat-card.intro-mode .chat-body{
  overflow:hidden !important;
  padding:10px 16px 12px !important;
}

.chat-card.intro-mode .message,
.chat-card.intro-mode .bot-card{
  margin:0 !important;
}

.intro-vertical-v27{
  padding:10px !important;
  gap:8px !important;
  border-radius:22px !important;
}

.intro-image-v27{
  width:100% !important;
  height:205px !important;
  min-height:205px !important;
  max-height:205px !important;
  padding:0 !important;
  border-radius:20px !important;
  overflow:hidden !important;
  background:#f7f1e8 !important;
  display:block !important;
}

.intro-image-v27 img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}

.intro-text-v27{
  padding:0 2px !important;
  display:block !important;
}

.intro-text-v27 h3{
  display:block !important;
  font-size:20px !important;
  line-height:1.15 !important;
  margin:0 0 4px !important;
}

.intro-text-v27 p{
  display:block !important;
  font-size:12.5px !important;
  line-height:1.25 !important;
  margin:0 0 5px !important;
}

.intro-text-v27 .soft-note{
  display:block !important;
  padding:7px 9px !important;
  font-size:11px !important;
  line-height:1.2 !important;
  margin:0 0 6px !important;
}

.intro-text-v27 .quick{
  display:flex !important;
  margin:0 !important;
}

.intro-text-v27 .quick .btn{
  padding:8px 12px !important;
  font-size:12px !important;
  border-radius:12px !important;
}

/* En pantallas más bajas, se compacta un poco más para evitar cortes. */
@media(max-height:720px){
  .intro-image-v27{
    height:180px !important;
    min-height:180px !important;
    max-height:180px !important;
  }
  .intro-text-v27 h3{font-size:19px !important}
  .intro-text-v27 p{font-size:12px !important; line-height:1.2 !important}
  .intro-text-v27 .soft-note{font-size:10.5px !important; padding:6px 8px !important}
}

@media(max-width:560px){
  .chat-card.intro-mode .chat-body{
    padding:8px 12px 10px !important;
  }
  .intro-image-v27{
    height:165px !important;
    min-height:165px !important;
    max-height:165px !important;
  }
}


/* === V33: PORTADA COMO EJEMPLO, FOTO IZQUIERDA + INFO DERECHA === */
.chat-card.intro-mode .input-row{
  display:none !important;
}

.chat-card.intro-mode .chat-body{
  overflow:hidden !important;
  padding:0 !important;
}

.chat-card.intro-mode .message,
.chat-card.intro-mode .bot-card{
  margin:0 !important;
  max-width:100% !important;
  width:100% !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

.intro-split-v33{
  width:100%;
  min-height:calc(100vh - 285px);
  max-height:calc(100vh - 285px);
  display:grid;
  grid-template-columns:1.15fr 0.95fr;
  background:#fff;
  overflow:hidden;
}

.intro-photo-v33{
  width:100%;
  height:100%;
  min-height:360px;
  overflow:hidden;
  background:#0b1f1b;
  display:flex;
  align-items:center;
  justify-content:center;
}

.intro-photo-v33 img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}

.intro-info-v33{
  width:100%;
  height:100%;
  min-height:360px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:34px;
  background:linear-gradient(135deg,#ffffff 0%,#fbfaf6 100%);
}

.intro-info-card-v33{
  width:100%;
  max-width:520px;
  background:#fff;
  border:1px solid rgba(18,53,47,.12);
  border-radius:26px;
  padding:34px;
  box-shadow:0 18px 44px rgba(18,53,47,.10);
}

.intro-info-card-v33 h3{
  color:#12352f;
  font-size:32px;
  line-height:1.12;
  margin:0 0 18px;
  font-weight:950;
}

.intro-info-card-v33 p{
  color:#203b35;
  font-size:18px;
  line-height:1.55;
  margin:0 0 24px;
}

.intro-note-v33{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:16px;
  align-items:center;
  background:#f5fbf7;
  border:1px solid rgba(18,53,47,.14);
  border-radius:18px;
  padding:18px;
  color:#203b35;
  font-size:16px;
  line-height:1.45;
  margin-bottom:26px;
}

.note-icon-v33{
  width:58px;
  height:58px;
  border-radius:50%;
  background:#dfeee5;
  display:grid;
  place-items:center;
  font-size:26px;
}

.intro-btn-v33{
  width:100%;
  min-height:58px;
  border-radius:16px !important;
  font-size:18px !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:18px;
}

.intro-btn-v33 span{
  font-size:34px;
  line-height:1;
}

/* Tablet */
@media(max-width:980px){
  .intro-split-v33{
    grid-template-columns:1fr;
    max-height:none;
    min-height:auto;
    overflow:auto;
  }
  .chat-card.intro-mode .chat-body{
    overflow:auto !important;
  }
  .intro-photo-v33{
    min-height:250px;
    height:250px;
  }
  .intro-info-v33{
    min-height:auto;
    padding:20px;
  }
  .intro-info-card-v33{
    padding:24px;
  }
}

/* Celular */
@media(max-width:560px){
  .intro-photo-v33{
    height:210px;
    min-height:210px;
  }
  .intro-info-v33{
    padding:14px;
  }
  .intro-info-card-v33{
    padding:20px;
    border-radius:22px;
  }
  .intro-info-card-v33 h3{
    font-size:25px;
    margin-bottom:12px;
  }
  .intro-info-card-v33 p{
    font-size:15px;
    line-height:1.42;
    margin-bottom:16px;
  }
  .intro-note-v33{
    grid-template-columns:44px 1fr;
    gap:12px;
    padding:13px;
    font-size:13.5px;
    margin-bottom:18px;
  }
  .note-icon-v33{
    width:44px;
    height:44px;
    font-size:22px;
  }
  .intro-btn-v33{
    min-height:50px;
    font-size:15px !important;
  }
}


/* === V35: MENÚ AL INICIAR + BOTÓN VER PEDIDO MÁS GRANDE === */
.cart-pill,
#cartBtn,
button[onclick="showCart()"].cart-pill{
  min-width:150px !important;
  min-height:44px !important;
  padding:11px 18px !important;
  font-size:14px !important;
  border-radius:18px !important;
}

.chat-head .cart-pill,
.chat-head #cartBtn{
  transform:scale(1.08);
  transform-origin:right center;
}

.section-menu-grid{
  scroll-margin-top:0 !important;
}

.section-menu-card{
  min-height:104px !important;
}

/* Al salir de la portada, el menú queda limpio y sin scroll heredado */
.chat-card:not(.intro-mode) .chat-body{
  scroll-behavior:smooth;
}


/* === V36: SOLO RESPONSIVE + SCROLL CORRECTO === */
html, body{max-width:100%!important;overflow-x:hidden!important}
*{box-sizing:border-box!important}
.app,.page,.wrap,.main,.container{max-width:100%!important}

@media(max-width:900px){
  body{overflow-x:hidden!important}
  .app,.page,.main,.wrap,.shell,.layout{
    width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;
    padding-left:10px!important;padding-right:10px!important;
  }
  .chat-card{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;overflow:hidden!important}
  .chat-head{width:100%!important;max-width:100%!important;overflow:hidden!important}
  .chat-body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  .bot-card,.message{max-width:100%!important}
  .two-col,.clean-grid,.food-layout-v5,.final-summary-clean,.location-video-wrap-v24{
    grid-template-columns:1fr!important;width:100%!important;max-width:100%!important;
  }
  .section-menu-grid{grid-template-columns:1fr 1fr!important;width:100%!important}
  .section-menu-card{min-width:0!important}
}

@media(max-width:430px){
  .app,.page,.main,.wrap,.shell,.layout{padding-left:6px!important;padding-right:6px!important}
  .topbar,.brand-row,header{max-width:100%!important;overflow:hidden!important}
  .chat-head{
    display:grid!important;grid-template-columns:auto 1fr auto!important;gap:8px!important;
    align-items:center!important;padding:14px 10px!important;
  }
  .chat-head h2,.chat-head .title,.chat-head strong{
    font-size:20px!important;line-height:1.05!important;word-break:normal!important;
  }
  .chat-head small,.chat-head p{font-size:12px!important}
  .sofia-badge,.avatar,.bot-avatar{min-width:74px!important;max-width:92px!important}
  .cart-pill,#cartBtn{
    min-width:92px!important;max-width:104px!important;padding:9px 10px!important;
    font-size:12px!important;white-space:normal!important;
  }
  .section-menu-grid{grid-template-columns:1fr!important}
  .intro-split-v33{width:100%!important;max-width:100%!important;overflow:hidden!important}
  .intro-photo-v33,.intro-info-v33,.intro-info-card-v33{width:100%!important;max-width:100%!important}
  .intro-info-card-v33{padding:16px!important}
  .intro-info-card-v33 h3{font-size:23px!important}
  .intro-info-card-v33 p{font-size:14px!important}
}

.chat-card.intro-mode .chat-body{
  overflow-y:auto!important;overflow-x:hidden!important;scroll-behavior:auto!important;
}
img{max-width:100%!important}
.clean-img img,.media-box img,.intro-photo-v33 img,.gallery-item img,.food-clean-img img{display:block!important}


/* === V37: SOLO CELULAR/TABLET - CABECERA Y SCROLL INICIAL === */

/* Tablet y celular: nada se sale lateralmente */
@media(max-width:900px){
  html, body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  body{
    padding:0 !important;
  }

  .app, .page, .main, .wrap, .shell, .layout, .container{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding-left:8px !important;
    padding-right:8px !important;
  }

  /* Pestañas Cliente / Admin menos ovaladas y más limpias en móvil */
  #clientTab, #adminTab,
  .tab, .tabs button,
  .top-tabs button{
    border-radius:12px !important;
    min-height:44px !important;
    padding:10px 14px !important;
    font-size:15px !important;
  }

  /* Tarjeta principal siempre dentro del ancho */
  .chat-card{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    border-radius:18px !important;
    overflow:hidden !important;
  }

  /* Cabecera del chat: dos filas para que no corte Ver pedido */
  .chat-head{
    width:100% !important;
    max-width:100% !important;
    display:grid !important;
    grid-template-columns:auto 1fr !important;
    grid-template-areas:
      "avatar title"
      "cart cart" !important;
    gap:8px 10px !important;
    align-items:center !important;
    padding:12px 10px !important;
    overflow:hidden !important;
  }

  .chat-head .sofia-badge,
  .chat-head .avatar,
  .chat-head .bot-avatar{
    grid-area:avatar !important;
    width:86px !important;
    min-width:86px !important;
    max-width:86px !important;
    height:48px !important;
    min-height:48px !important;
    border-radius:14px !important;
    font-size:15px !important;
  }

  .chat-head > div:not(.sofia-badge):not(.avatar):not(.bot-avatar):not(.cart-pill):not(#cartBtn){
    grid-area:title !important;
    min-width:0 !important;
  }

  .chat-head h2,
  .chat-head .title,
  .chat-head strong{
    font-size:21px !important;
    line-height:1.05 !important;
    margin:0 !important;
    white-space:normal !important;
  }

  .chat-head small,
  .chat-head p{
    font-size:12px !important;
    line-height:1.2 !important;
    margin:2px 0 0 !important;
  }

  .cart-pill,
  #cartBtn,
  .chat-head .cart-pill,
  .chat-head #cartBtn{
    grid-area:cart !important;
    justify-self:end !important;
    width:auto !important;
    min-width:145px !important;
    max-width:190px !important;
    min-height:38px !important;
    padding:9px 14px !important;
    font-size:13px !important;
    border-radius:13px !important;
    white-space:nowrap !important;
    transform:none !important;
  }

  .chat-head .hours,
  .chat-head .schedule,
  .chat-head .brand-hours{
    grid-area:cart !important;
    justify-self:start !important;
    align-self:center !important;
    font-size:11px !important;
    max-width:160px !important;
    overflow:hidden !important;
    white-space:nowrap !important;
  }
}

/* Celular real Android/iOS */
@media(max-width:430px){
  .app, .page, .main, .wrap, .shell, .layout, .container{
    padding-left:5px !important;
    padding-right:5px !important;
  }

  /* Encabezado superior Las Tres Cascadas */
  .topbar, header, .brand-row{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    padding-left:10px !important;
    padding-right:10px !important;
  }

  .brand-row, .brand, .logo-row{
    gap:8px !important;
  }

  .brand h1, header h1, .brand-title{
    font-size:24px !important;
    line-height:1.05 !important;
  }

  .brand small, header small, .brand-subtitle{
    font-size:12px !important;
  }

  .tabs, .top-tabs, .tab-row{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }

  #clientTab, #adminTab,
  .tab, .tabs button,
  .top-tabs button{
    width:100% !important;
    border-radius:12px !important;
    min-height:42px !important;
    padding:9px 10px !important;
    font-size:15px !important;
  }

  /* Cabecera chat más compacta: no corta pedido ni horario */
  .chat-head{
    padding:10px 8px !important;
    gap:7px !important;
    border-radius:18px 18px 0 0 !important;
  }

  .chat-head .sofia-badge,
  .chat-head .avatar,
  .chat-head .bot-avatar{
    width:82px !important;
    min-width:82px !important;
    max-width:82px !important;
    height:44px !important;
    min-height:44px !important;
    border-radius:13px !important;
    font-size:14px !important;
  }

  .chat-head h2,
  .chat-head .title,
  .chat-head strong{
    font-size:20px !important;
  }

  .cart-pill,
  #cartBtn,
  .chat-head .cart-pill,
  .chat-head #cartBtn{
    min-width:135px !important;
    max-width:170px !important;
    min-height:36px !important;
    padding:8px 12px !important;
    font-size:12px !important;
    border-radius:12px !important;
  }

  /* INICIO: sin scroll interno visible */
  .chat-card.intro-mode{
    height:auto !important;
    max-height:none !important;
  }

  .chat-card.intro-mode .chat-body{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding-bottom:10px !important;
  }

  .chat-card.intro-mode .input-row{
    display:none !important;
  }

  .intro-split-v33{
    width:100% !important;
    max-width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    overflow:visible !important;
  }

  .intro-photo-v33{
    width:100% !important;
    height:210px !important;
    min-height:210px !important;
    max-height:210px !important;
    overflow:hidden !important;
  }

  .intro-photo-v33 img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  .intro-info-v33{
    width:100% !important;
    min-height:0 !important;
    padding:12px !important;
  }

  .intro-info-card-v33{
    width:100% !important;
    max-width:100% !important;
    padding:18px !important;
    border-radius:20px !important;
  }

  .intro-info-card-v33 h3{
    font-size:25px !important;
    line-height:1.12 !important;
  }

  .intro-info-card-v33 p{
    font-size:15px !important;
    line-height:1.42 !important;
  }

  .intro-note-v33{
    font-size:13px !important;
    line-height:1.34 !important;
    padding:12px !important;
  }
}


/* === V38: SOLO CABECERA CHAT MÓVIL/TABLET === */
/* Corrige superposición de título, horario y botón Ver pedido. No toca portada ni flujo. */

@media(max-width:900px){

  .chat-head{
    display:grid !important;
    grid-template-columns:auto 1fr !important;
    grid-template-rows:auto auto auto !important;
    grid-template-areas:
      "sofia title"
      "sofia subtitle"
      "meta meta" !important;
    gap:4px 10px !important;
    align-items:center !important;
    padding:14px 12px 12px !important;
    min-height:auto !important;
    overflow:visible !important;
    position:relative !important;
  }

  .chat-head .sofia-badge,
  .chat-head .avatar,
  .chat-head .bot-avatar,
  .chat-head > .pill:first-child{
    grid-area:sofia !important;
    align-self:center !important;
    justify-self:start !important;
    width:88px !important;
    min-width:88px !important;
    max-width:88px !important;
    height:48px !important;
    min-height:48px !important;
    border-radius:15px !important;
    margin:0 !important;
  }

  /* Contenedor del título */
  .chat-head > div:nth-child(2),
  .chat-head .head-title,
  .chat-head .assistant-title{
    grid-area:title !important;
    min-width:0 !important;
    width:100% !important;
    overflow:visible !important;
  }

  .chat-head h2,
  .chat-head .title,
  .chat-head strong{
    font-size:22px !important;
    line-height:1.08 !important;
    margin:0 !important;
    padding:0 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    max-width:100% !important;
    display:block !important;
  }

  .chat-head small,
  .chat-head p,
  .chat-head .subtitle{
    grid-area:subtitle !important;
    font-size:12px !important;
    line-height:1.2 !important;
    margin:0 !important;
    padding:0 !important;
    white-space:normal !important;
    overflow:visible !important;
  }

  /* Fila inferior de cabecera: horario a la izquierda, pedido a la derecha */
  .chat-head .cart-pill,
  .chat-head #cartBtn,
  .cart-pill,
  #cartBtn{
    grid-area:meta !important;
    justify-self:end !important;
    align-self:center !important;
    position:relative !important;
    right:auto !important;
    top:auto !important;
    transform:none !important;
    width:auto !important;
    min-width:132px !important;
    max-width:160px !important;
    height:auto !important;
    min-height:34px !important;
    padding:8px 12px !important;
    border-radius:12px !important;
    font-size:12px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
    z-index:2 !important;
  }

  .chat-head .hours,
  .chat-head .schedule,
  .chat-head .brand-hours,
  .chat-head .place-hours{
    grid-area:meta !important;
    justify-self:start !important;
    align-self:center !important;
    position:relative !important;
    right:auto !important;
    top:auto !important;
    transform:none !important;
    font-size:11px !important;
    line-height:1.15 !important;
    max-width:170px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    z-index:1 !important;
  }
}

@media(max-width:430px){

  .chat-head{
    grid-template-columns:82px 1fr !important;
    grid-template-areas:
      "sofia title"
      "sofia subtitle"
      "meta meta" !important;
    padding:12px 10px 10px !important;
    gap:4px 8px !important;
  }

  .chat-head .sofia-badge,
  .chat-head .avatar,
  .chat-head .bot-avatar,
  .chat-head > .pill:first-child{
    width:82px !important;
    min-width:82px !important;
    max-width:82px !important;
    height:44px !important;
    min-height:44px !important;
    font-size:14px !important;
    border-radius:14px !important;
  }

  .chat-head h2,
  .chat-head .title,
  .chat-head strong{
    font-size:20px !important;
    line-height:1.05 !important;
  }

  .chat-head small,
  .chat-head p,
  .chat-head .subtitle{
    font-size:11.5px !important;
    line-height:1.15 !important;
  }

  .chat-head .cart-pill,
  .chat-head #cartBtn,
  .cart-pill,
  #cartBtn{
    min-width:120px !important;
    max-width:145px !important;
    min-height:32px !important;
    padding:7px 10px !important;
    font-size:11px !important;
  }

  .chat-head .hours,
  .chat-head .schedule,
  .chat-head .brand-hours,
  .chat-head .place-hours{
    max-width:155px !important;
    font-size:10.5px !important;
  }
}

/* Si algún texto de la derecha venía absoluto, lo devuelve al flujo */
@media(max-width:900px){
  .chat-head > *{
    max-width:100% !important;
  }
}


/* === V39: CABECERA MÓVIL FINAL - PEDIDO ABAJO, SIN ENCIMARSE === */
/* Solo aplica a tablet/celular. No toca portada ni flujo. */

@media(max-width:900px){

  .chat-head{
    display:grid !important;
    grid-template-columns:92px 1fr !important;
    grid-template-rows:auto auto auto auto !important;
    grid-template-areas:
      "sofia title"
      "sofia subtitle"
      "hours hours"
      "cart cart" !important;
    gap:4px 10px !important;
    align-items:center !important;
    padding:12px 10px 10px !important;
    overflow:visible !important;
  }

  .chat-head .sofia-badge,
  .chat-head .avatar,
  .chat-head .bot-avatar,
  .chat-head > .pill:first-child{
    grid-area:sofia !important;
    width:86px !important;
    min-width:86px !important;
    max-width:86px !important;
    height:48px !important;
    min-height:48px !important;
    border-radius:14px !important;
    margin:0 !important;
    align-self:center !important;
    justify-self:start !important;
  }

  .chat-head > div:nth-child(2),
  .chat-head .head-title,
  .chat-head .assistant-title{
    grid-area:title !important;
    width:100% !important;
    min-width:0 !important;
  }

  .chat-head h2,
  .chat-head .title,
  .chat-head strong{
    font-size:21px !important;
    line-height:1.05 !important;
    margin:0 !important;
    padding:0 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    max-width:100% !important;
  }

  .chat-head small,
  .chat-head p,
  .chat-head .subtitle{
    grid-area:subtitle !important;
    font-size:12px !important;
    line-height:1.15 !important;
    margin:0 !important;
    padding:0 !important;
    white-space:normal !important;
    overflow:visible !important;
  }

  .chat-head .hours,
  .chat-head .schedule,
  .chat-head .brand-hours,
  .chat-head .place-hours{
    grid-area:hours !important;
    justify-self:start !important;
    width:100% !important;
    max-width:100% !important;
    position:static !important;
    transform:none !important;
    font-size:11px !important;
    line-height:1.15 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    opacity:.98 !important;
  }

  .chat-head .cart-pill,
  .chat-head #cartBtn,
  .cart-pill,
  #cartBtn{
    grid-area:cart !important;
    justify-self:stretch !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:36px !important;
    padding:8px 12px !important;
    border-radius:12px !important;
    font-size:12px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
    position:static !important;
    right:auto !important;
    top:auto !important;
    transform:none !important;
    z-index:1 !important;
    text-align:center !important;
  }
}

@media(max-width:430px){
  .chat-head{
    grid-template-columns:86px 1fr !important;
    padding:10px 8px 9px !important;
    gap:3px 8px !important;
  }

  .chat-head .sofia-badge,
  .chat-head .avatar,
  .chat-head .bot-avatar,
  .chat-head > .pill:first-child{
    width:80px !important;
    min-width:80px !important;
    max-width:80px !important;
    height:43px !important;
    min-height:43px !important;
    font-size:14px !important;
  }

  .chat-head h2,
  .chat-head .title,
  .chat-head strong{
    font-size:19px !important;
    line-height:1.05 !important;
  }

  .chat-head small,
  .chat-head p,
  .chat-head .subtitle{
    font-size:11.5px !important;
  }

  .chat-head .hours,
  .chat-head .schedule,
  .chat-head .brand-hours,
  .chat-head .place-hours{
    font-size:10.5px !important;
  }

  .chat-head .cart-pill,
  .chat-head #cartBtn,
  .cart-pill,
  #cartBtn{
    min-height:34px !important;
    font-size:11.5px !important;
    padding:8px 10px !important;
  }
}


/* === V40: CORRECCIÓN FORZADA CABECERA MÓVIL === */
/* Pedido en fila propia. Nada encimado en la cabecera. */

@media(max-width:900px){

  .chat-head{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:8px !important;
    padding:12px 10px !important;
    overflow:visible !important;
    min-height:auto !important;
  }

  .chat-head .sofia-badge,
  .chat-head .avatar,
  .chat-head .bot-avatar,
  .chat-head > .pill:first-child{
    flex:0 0 86px !important;
    width:86px !important;
    min-width:86px !important;
    max-width:86px !important;
    height:46px !important;
    min-height:46px !important;
    margin:0 !important;
    position:static !important;
    transform:none !important;
    order:1 !important;
  }

  .chat-head > div:nth-child(2),
  .chat-head .head-title,
  .chat-head .assistant-title{
    flex:1 1 calc(100% - 100px) !important;
    min-width:0 !important;
    order:2 !important;
    position:static !important;
    transform:none !important;
  }

  .chat-head h2,
  .chat-head .title,
  .chat-head strong{
    font-size:20px !important;
    line-height:1.08 !important;
    margin:0 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    position:static !important;
    transform:none !important;
  }

  .chat-head small,
  .chat-head p,
  .chat-head .subtitle{
    font-size:11.5px !important;
    line-height:1.15 !important;
    margin:2px 0 0 !important;
    white-space:normal !important;
    overflow:visible !important;
    position:static !important;
    transform:none !important;
  }

  /* Horario en fila independiente */
  .chat-head .hours,
  .chat-head .schedule,
  .chat-head .brand-hours,
  .chat-head .place-hours{
    flex:1 1 100% !important;
    width:100% !important;
    max-width:100% !important;
    order:3 !important;
    font-size:11px !important;
    line-height:1.15 !important;
    text-align:left !important;
    white-space:normal !important;
    overflow:visible !important;
    position:static !important;
    right:auto !important;
    top:auto !important;
    transform:none !important;
  }

  /* Ver pedido en otra fila debajo del título/horario */
  .chat-head .cart-pill,
  .chat-head #cartBtn,
  .cart-pill,
  #cartBtn{
    flex:1 1 100% !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    order:4 !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    min-height:36px !important;
    padding:8px 12px !important;
    border-radius:12px !important;
    font-size:12px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
    position:static !important;
    right:auto !important;
    top:auto !important;
    transform:none !important;
    z-index:auto !important;
    margin:0 !important;
  }
}

@media(max-width:430px){

  .chat-head{
    gap:7px !important;
    padding:10px 8px !important;
  }

  .chat-head .sofia-badge,
  .chat-head .avatar,
  .chat-head .bot-avatar,
  .chat-head > .pill:first-child{
    flex-basis:80px !important;
    width:80px !important;
    min-width:80px !important;
    max-width:80px !important;
    height:42px !important;
    min-height:42px !important;
  }

  .chat-head > div:nth-child(2),
  .chat-head .head-title,
  .chat-head .assistant-title{
    flex-basis:calc(100% - 92px) !important;
  }

  .chat-head h2,
  .chat-head .title,
  .chat-head strong{
    font-size:18px !important;
  }

  .chat-head small,
  .chat-head p,
  .chat-head .subtitle{
    font-size:11px !important;
  }

  .chat-head .hours,
  .chat-head .schedule,
  .chat-head .brand-hours,
  .chat-head .place-hours{
    font-size:10.5px !important;
  }

  .chat-head .cart-pill,
  .chat-head #cartBtn,
  .cart-pill,
  #cartBtn{
    min-height:34px !important;
    font-size:11.5px !important;
  }
}


/* === V41: CABECERA RESPONSIVE PROFESIONAL === */
/* Solo corrige cabecera en móvil/tablet. No toca portada, servicios ni flujo. */

@media(max-width:900px){

  .chat-card{
    border-radius:18px !important;
    overflow:hidden !important;
  }

  .chat-head{
    display:grid !important;
    grid-template-columns:86px 1fr !important;
    grid-template-areas:
      "sofia title"
      "sofia status"
      "actions actions" !important;
    gap:8px 12px !important;
    align-items:center !important;
    padding:14px 12px !important;
    min-height:0 !important;
    height:auto !important;
    overflow:visible !important;
  }

  /* Badge SOFÍA */
  .chat-head .sofia-badge,
  .chat-head .avatar,
  .chat-head .bot-avatar,
  .chat-head > .pill:first-child{
    grid-area:sofia !important;
    width:86px !important;
    min-width:86px !important;
    max-width:86px !important;
    height:50px !important;
    min-height:50px !important;
    border-radius:15px !important;
    margin:0 !important;
    padding:0 !important;
    position:static !important;
    transform:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:15px !important;
    line-height:1 !important;
  }

  /* Bloque textual */
  .chat-head > div:nth-child(2),
  .chat-head .head-title,
  .chat-head .assistant-title{
    grid-area:title !important;
    min-width:0 !important;
    width:100% !important;
    position:static !important;
    transform:none !important;
  }

  .chat-head h2,
  .chat-head .title,
  .chat-head strong{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    font-size:22px !important;
    line-height:1.08 !important;
    font-weight:950 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    position:static !important;
    transform:none !important;
  }

  .chat-head small,
  .chat-head p,
  .chat-head .subtitle{
    display:block !important;
    width:100% !important;
    margin:3px 0 0 !important;
    padding:0 !important;
    font-size:12px !important;
    line-height:1.25 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    position:static !important;
    transform:none !important;
  }

  /* Fila de acciones: horario + pedido */
  .chat-head .hours,
  .chat-head .schedule,
  .chat-head .brand-hours,
  .chat-head .place-hours{
    grid-area:actions !important;
    justify-self:start !important;
    align-self:center !important;
    width:auto !important;
    max-width:55% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    font-size:11px !important;
    line-height:1.25 !important;
    text-align:left !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    position:static !important;
    right:auto !important;
    top:auto !important;
    transform:none !important;
    z-index:1 !important;
  }

  .chat-head .cart-pill,
  .chat-head #cartBtn,
  .cart-pill,
  #cartBtn{
    grid-area:actions !important;
    justify-self:end !important;
    align-self:center !important;
    width:auto !important;
    min-width:132px !important;
    max-width:44% !important;
    min-height:38px !important;
    margin:0 !important;
    padding:9px 14px !important;
    border-radius:14px !important;
    font-size:12px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
    text-align:center !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:static !important;
    right:auto !important;
    top:auto !important;
    transform:none !important;
    z-index:2 !important;
  }

  .chat-head > *{
    min-width:0 !important;
  }
}

@media(max-width:430px){

  .chat-card{
    margin-left:0 !important;
    margin-right:0 !important;
    width:100% !important;
  }

  .chat-head{
    grid-template-columns:78px 1fr !important;
    gap:7px 10px !important;
    padding:12px 10px !important;
    border-radius:18px 18px 0 0 !important;
  }

  .chat-head .sofia-badge,
  .chat-head .avatar,
  .chat-head .bot-avatar,
  .chat-head > .pill:first-child{
    width:78px !important;
    min-width:78px !important;
    max-width:78px !important;
    height:45px !important;
    min-height:45px !important;
    border-radius:14px !important;
    font-size:14px !important;
  }

  .chat-head h2,
  .chat-head .title,
  .chat-head strong{
    font-size:20px !important;
    line-height:1.05 !important;
  }

  .chat-head small,
  .chat-head p,
  .chat-head .subtitle{
    font-size:11.5px !important;
    line-height:1.2 !important;
  }

  .chat-head .hours,
  .chat-head .schedule,
  .chat-head .brand-hours,
  .chat-head .place-hours{
    max-width:50% !important;
    font-size:10.2px !important;
    line-height:1.2 !important;
  }

  .chat-head .cart-pill,
  .chat-head #cartBtn,
  .cart-pill,
  #cartBtn{
    min-width:118px !important;
    max-width:48% !important;
    min-height:34px !important;
    padding:8px 10px !important;
    border-radius:12px !important;
    font-size:11px !important;
  }
}

/* Teléfonos muy angostos */
@media(max-width:360px){
  .chat-head{
    grid-template-columns:72px 1fr !important;
    padding:10px 8px !important;
  }

  .chat-head .sofia-badge,
  .chat-head .avatar,
  .chat-head .bot-avatar,
  .chat-head > .pill:first-child{
    width:72px !important;
    min-width:72px !important;
    max-width:72px !important;
    height:42px !important;
  }

  .chat-head h2,
  .chat-head .title,
  .chat-head strong{
    font-size:18px !important;
  }

  .chat-head .hours,
  .chat-head .schedule,
  .chat-head .brand-hours,
  .chat-head .place-hours{
    max-width:100% !important;
    grid-area:actions !important;
    justify-self:start !important;
    padding-right:130px !important;
  }

  .chat-head .cart-pill,
  .chat-head #cartBtn,
  .cart-pill,
  #cartBtn{
    min-width:112px !important;
    max-width:125px !important;
    justify-self:end !important;
  }
}


/* === V42: SOLO CELULAR/TABLET - CABECERA LIMPIA === */
/* Escritorio no se toca. En móvil/tablet queda: SOFÍA + título / horario + carrito. */

@media(max-width:900px){

  .chat-head{
    display:grid !important;
    grid-template-columns:86px 1fr !important;
    grid-template-areas:
      "sofia title"
      "meta meta" !important;
    gap:10px 12px !important;
    align-items:center !important;
    padding:14px 12px !important;
    overflow:visible !important;
    min-height:auto !important;
    height:auto !important;
  }

  .chat-head .sofia-badge,
  .chat-head .avatar,
  .chat-head .bot-avatar,
  .chat-head > .pill:first-child{
    grid-area:sofia !important;
    width:86px !important;
    min-width:86px !important;
    max-width:86px !important;
    height:48px !important;
    min-height:48px !important;
    border-radius:14px !important;
    position:static !important;
    transform:none !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:15px !important;
  }

  .chat-head > div:nth-child(2),
  .chat-head .head-title,
  .chat-head .assistant-title{
    grid-area:title !important;
    position:static !important;
    transform:none !important;
    min-width:0 !important;
    width:100% !important;
  }

  .chat-head h2,
  .chat-head .title,
  .chat-head strong{
    font-size:22px !important;
    line-height:1.08 !important;
    margin:0 !important;
    padding:0 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    position:static !important;
    transform:none !important;
  }

  /* Oculta el subtítulo repetido SOLO dentro de cabecera móvil para que no se amontone */
  .chat-head small,
  .chat-head p,
  .chat-head .subtitle{
    display:none !important;
  }

  /* Horario y carrito en fila propia, bonita y clara */
  .chat-head .hours,
  .chat-head .schedule,
  .chat-head .brand-hours,
  .chat-head .place-hours{
    grid-area:meta !important;
    justify-self:start !important;
    align-self:center !important;
    width:auto !important;
    max-width:52% !important;
    position:static !important;
    transform:none !important;
    margin:0 !important;
    padding:8px 10px !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.08) !important;
    font-size:11px !important;
    line-height:1.15 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-align:left !important;
  }

  .chat-head .cart-pill,
  .chat-head #cartBtn,
  .cart-pill,
  #cartBtn{
    grid-area:meta !important;
    justify-self:end !important;
    align-self:center !important;
    width:auto !important;
    min-width:128px !important;
    max-width:46% !important;
    min-height:38px !important;
    position:static !important;
    transform:none !important;
    margin:0 !important;
    padding:9px 13px !important;
    border-radius:13px !important;
    font-size:12px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    z-index:2 !important;
  }
}

@media(max-width:430px){

  .chat-head{
    grid-template-columns:78px 1fr !important;
    gap:9px 10px !important;
    padding:12px 10px !important;
  }

  .chat-head .sofia-badge,
  .chat-head .avatar,
  .chat-head .bot-avatar,
  .chat-head > .pill:first-child{
    width:78px !important;
    min-width:78px !important;
    max-width:78px !important;
    height:44px !important;
    min-height:44px !important;
    font-size:14px !important;
  }

  .chat-head h2,
  .chat-head .title,
  .chat-head strong{
    font-size:20px !important;
    line-height:1.05 !important;
  }

  .chat-head .hours,
  .chat-head .schedule,
  .chat-head .brand-hours,
  .chat-head .place-hours{
    max-width:50% !important;
    padding:7px 8px !important;
    font-size:10.2px !important;
  }

  .chat-head .cart-pill,
  .chat-head #cartBtn,
  .cart-pill,
  #cartBtn{
    min-width:118px !important;
    max-width:48% !important;
    min-height:34px !important;
    padding:8px 10px !important;
    font-size:11px !important;
  }
}

@media(max-width:360px){
  .chat-head{
    grid-template-columns:72px 1fr !important;
  }

  .chat-head .sofia-badge,
  .chat-head .avatar,
  .chat-head .bot-avatar,
  .chat-head > .pill:first-child{
    width:72px !important;
    min-width:72px !important;
    max-width:72px !important;
  }

  .chat-head h2,
  .chat-head .title,
  .chat-head strong{
    font-size:18px !important;
  }

  .chat-head .hours,
  .chat-head .schedule,
  .chat-head .brand-hours,
  .chat-head .place-hours{
    max-width:100% !important;
    padding-right:126px !important;
  }

  .chat-head .cart-pill,
  .chat-head #cartBtn,
  .cart-pill,
  #cartBtn{
    max-width:120px !important;
    min-width:112px !important;
  }
}


/* === V43: CABECERA CORREGIDA REALMENTE EN MÓVIL/TABLET === */
/* Separa título, subtítulo, horario y carrito. Escritorio mantiene proporción limpia. */

.chat-head-v43{
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  grid-template-areas:"sofia main bottom" !important;
  align-items:center !important;
  gap:14px !important;
}

.head-sofia-v43{
  grid-area:sofia !important;
}

.head-main-v43{
  grid-area:main !important;
  min-width:0 !important;
}

.head-main-v43 h2{
  margin:0 !important;
  color:#fff !important;
  font-weight:950 !important;
  line-height:1.05 !important;
}

.head-sub-v43{
  color:#fff !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  margin-top:4px !important;
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
}

.head-sub-v43 .dot{
  width:10px !important;
  height:10px !important;
  border-radius:50% !important;
  background:#78c850 !important;
  display:inline-block !important;
  flex:0 0 10px !important;
}

.head-bottom-v43{
  grid-area:bottom !important;
  display:grid !important;
  gap:8px !important;
  justify-items:end !important;
  align-items:center !important;
}

.head-hours-v43{
  color:#fff !important;
  font-weight:800 !important;
  font-size:13px !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
}

.head-cart-v43{
  position:static !important;
  transform:none !important;
  white-space:nowrap !important;
}

/* Tablet/celular: aquí se arregla el problema de encimamiento */
@media(max-width:900px){

  .chat-head-v43{
    grid-template-columns:84px 1fr !important;
    grid-template-areas:
      "sofia main"
      "bottom bottom" !important;
    gap:9px 12px !important;
    padding:13px 11px !important;
    overflow:visible !important;
    height:auto !important;
    min-height:auto !important;
  }

  .head-sofia-v43{
    width:84px !important;
    min-width:84px !important;
    max-width:84px !important;
    height:46px !important;
    min-height:46px !important;
    border-radius:14px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:14px !important;
  }

  .head-main-v43{
    width:100% !important;
    min-width:0 !important;
    overflow:visible !important;
  }

  .head-main-v43 h2{
    font-size:21px !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  .head-sub-v43{
    font-size:12px !important;
    white-space:normal !important;
    overflow:visible !important;
  }

  .head-bottom-v43{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr auto !important;
    gap:10px !important;
    align-items:center !important;
    justify-items:stretch !important;
    padding-top:2px !important;
  }

  .head-hours-v43{
    font-size:11px !important;
    white-space:normal !important;
    line-height:1.2 !important;
    text-align:left !important;
    align-self:center !important;
  }

  .head-cart-v43,
  #cartBtn.head-cart-v43{
    width:auto !important;
    min-width:126px !important;
    max-width:150px !important;
    min-height:36px !important;
    padding:8px 12px !important;
    border-radius:12px !important;
    font-size:11.5px !important;
    line-height:1.1 !important;
    justify-self:end !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:static !important;
    right:auto !important;
    top:auto !important;
    transform:none !important;
    margin:0 !important;
  }

  /* Anula reglas anteriores que estaban encimando elementos */
  .chat-head-v43 .cart-pill,
  .chat-head-v43 #cartBtn,
  .chat-head-v43 .hours,
  .chat-head-v43 .schedule,
  .chat-head-v43 .brand-hours,
  .chat-head-v43 .place-hours{
    grid-area:auto !important;
  }
}

@media(max-width:430px){

  .chat-head-v43{
    grid-template-columns:78px 1fr !important;
    padding:11px 9px !important;
    gap:8px 10px !important;
  }

  .head-sofia-v43{
    width:78px !important;
    min-width:78px !important;
    max-width:78px !important;
    height:43px !important;
    min-height:43px !important;
    font-size:13.5px !important;
  }

  .head-main-v43 h2{
    font-size:19px !important;
    line-height:1.05 !important;
  }

  .head-sub-v43{
    font-size:11px !important;
    line-height:1.15 !important;
  }

  .head-bottom-v43{
    grid-template-columns:1fr 124px !important;
    gap:8px !important;
  }

  .head-hours-v43{
    font-size:10.2px !important;
  }

  .head-cart-v43,
  #cartBtn.head-cart-v43{
    width:124px !important;
    min-width:124px !important;
    max-width:124px !important;
    min-height:34px !important;
    padding:7px 8px !important;
    font-size:10.8px !important;
  }
}

@media(max-width:360px){
  .chat-head-v43{
    grid-template-columns:72px 1fr !important;
  }

  .head-sofia-v43{
    width:72px !important;
    min-width:72px !important;
    max-width:72px !important;
  }

  .head-main-v43 h2{
    font-size:18px !important;
  }

  .head-bottom-v43{
    grid-template-columns:1fr !important;
  }

  .head-cart-v43,
  #cartBtn.head-cart-v43{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }
}

/* === V46 FINAL: SOLO CELULAR/TABLET - TITULO SIN ENCIMARSE === */
/* PC no se toca. Esta regla fuerza la cabecera móvil/tablet aunque existan reglas anteriores. */
@media screen and (max-width:1024px), screen and (max-device-width:1024px){

  body .chat-card > .chat-head.chat-head-v43{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:8px 10px !important;
    width:100% !important;
    min-height:0 !important;
    height:auto !important;
    padding:12px 10px 10px !important;
    overflow:visible !important;
  }

  body .chat-card > .chat-head.chat-head-v43 .head-sofia-v43{
    order:1 !important;
    flex:0 0 82px !important;
    width:82px !important;
    min-width:82px !important;
    max-width:82px !important;
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
    margin:0 !important;
    padding:0 !important;
    position:static !important;
    transform:none !important;
    align-self:flex-start !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:14px !important;
    font-size:14px !important;
    line-height:1 !important;
    text-align:center !important;
  }

  body .chat-card > .chat-head.chat-head-v43 .head-main-v43{
    order:2 !important;
    flex:1 1 calc(100% - 94px) !important;
    width:auto !important;
    min-width:0 !important;
    max-width:calc(100% - 94px) !important;
    margin:0 !important;
    padding:0 !important;
    position:static !important;
    transform:none !important;
    align-self:flex-start !important;
    text-align:left !important;
    overflow:visible !important;
  }

  body .chat-card > .chat-head.chat-head-v43 .head-main-v43 h2{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    position:static !important;
    transform:none !important;
    color:#fff !important;
    font-size:20px !important;
    line-height:1.08 !important;
    font-weight:950 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    text-align:left !important;
  }

  body .chat-card > .chat-head.chat-head-v43 .head-sub-v43{
    display:flex !important;
    align-items:center !important;
    gap:5px !important;
    width:100% !important;
    margin:3px 0 0 !important;
    padding:0 !important;
    position:static !important;
    transform:none !important;
    color:#fff !important;
    font-size:11px !important;
    line-height:1.15 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-align:left !important;
  }

  body .chat-card > .chat-head.chat-head-v43 .head-sub-v43 .dot{
    width:8px !important;
    height:8px !important;
    min-width:8px !important;
    flex:0 0 8px !important;
  }

  body .chat-card > .chat-head.chat-head-v43 .head-bottom-v43{
    order:3 !important;
    flex:1 1 100% !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    position:static !important;
    transform:none !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
    overflow:visible !important;
  }

  body .chat-card > .chat-head.chat-head-v43 .head-hours-v43{
    flex:1 1 auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    position:static !important;
    transform:none !important;
    color:#fff !important;
    font-size:10px !important;
    line-height:1.12 !important;
    font-weight:800 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    text-align:left !important;
  }

  body .chat-card > .chat-head.chat-head-v43 #cartBtn.head-cart-v43,
  body .chat-card > .chat-head.chat-head-v43 .head-cart-v43{
    flex:0 0 auto !important;
    width:auto !important;
    min-width:112px !important;
    max-width:130px !important;
    min-height:32px !important;
    margin:0 !important;
    padding:7px 8px !important;
    position:static !important;
    right:auto !important;
    top:auto !important;
    transform:none !important;
    z-index:2 !important;
    border-radius:12px !important;
    font-size:10.5px !important;
    line-height:1.05 !important;
    white-space:nowrap !important;
    text-align:center !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
}

@media screen and (max-width:430px), screen and (max-device-width:430px){
  body .chat-card > .chat-head.chat-head-v43{
    padding:10px 8px 9px !important;
    gap:7px 8px !important;
  }

  body .chat-card > .chat-head.chat-head-v43 .head-sofia-v43{
    flex-basis:76px !important;
    width:76px !important;
    min-width:76px !important;
    max-width:76px !important;
    height:41px !important;
    min-height:41px !important;
    max-height:41px !important;
    font-size:13px !important;
  }

  body .chat-card > .chat-head.chat-head-v43 .head-main-v43{
    flex-basis:calc(100% - 86px) !important;
    max-width:calc(100% - 86px) !important;
  }

  body .chat-card > .chat-head.chat-head-v43 .head-main-v43 h2{
    font-size:17px !important;
    line-height:1.05 !important;
  }

  body .chat-card > .chat-head.chat-head-v43 .head-sub-v43{
    font-size:10px !important;
    line-height:1.1 !important;
    margin-top:2px !important;
  }

  body .chat-card > .chat-head.chat-head-v43 .head-hours-v43{
    font-size:9.2px !important;
    line-height:1.1 !important;
  }

  body .chat-card > .chat-head.chat-head-v43 #cartBtn.head-cart-v43,
  body .chat-card > .chat-head.chat-head-v43 .head-cart-v43{
    min-width:104px !important;
    max-width:118px !important;
    min-height:30px !important;
    padding:6px 7px !important;
    font-size:9.8px !important;
  }
}

/* === V47: ALINEACIÓN VISUAL CABECERA MÓVIL/TABLET === */
/* Solo ajusta coherencia visual del texto en la cabecera. */
@media (max-width:900px){
  .chat-head-v43{
    grid-template-columns:84px minmax(0,1fr) auto !important;
    grid-template-areas:
      "sofia main main"
      ". bottom cart" !important;
    align-items:center !important;
    column-gap:12px !important;
    row-gap:7px !important;
    padding:12px 11px !important;
  }

  .head-sofia-v43{
    align-self:start !important;
    margin-top:1px !important;
  }

  .head-main-v43{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    text-align:left !important;
  }

  .head-main-v43 h2{
    font-size:21px !important;
    line-height:1.02 !important;
    margin:0 !important;
    text-align:left !important;
  }

  .head-sub-v43{
    margin-top:5px !important;
    font-size:11.8px !important;
    line-height:1.15 !important;
    justify-content:flex-start !important;
    text-align:left !important;
  }

  .head-bottom-v43{
    grid-area:bottom !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100% !important;
    min-width:0 !important;
    padding:0 !important;
  }

  .head-hours-v43{
    width:100% !important;
    margin:0 !important;
    font-size:10.9px !important;
    line-height:1.15 !important;
    text-align:left !important;
    white-space:nowrap !important;
  }

  .head-cart-v43,
  #cartBtn.head-cart-v43{
    grid-area:cart !important;
    align-self:center !important;
    justify-self:end !important;
    min-width:118px !important;
    max-width:136px !important;
    height:34px !important;
    min-height:34px !important;
    padding:7px 10px !important;
    font-size:11px !important;
    border-radius:12px !important;
    margin:0 !important;
  }
}

@media (max-width:430px){
  .chat-head-v43{
    grid-template-columns:76px minmax(0,1fr) 120px !important;
    grid-template-areas:
      "sofia main main"
      ". bottom cart" !important;
    column-gap:10px !important;
    row-gap:6px !important;
    padding:11px 9px !important;
  }

  .head-sofia-v43{
    width:76px !important;
    min-width:76px !important;
    max-width:76px !important;
    height:42px !important;
    min-height:42px !important;
    font-size:13px !important;
  }

  .head-main-v43 h2{
    font-size:18px !important;
    line-height:1.02 !important;
  }

  .head-sub-v43{
    margin-top:4px !important;
    font-size:10.6px !important;
    line-height:1.12 !important;
  }

  .head-sub-v43 .dot{
    width:8px !important;
    height:8px !important;
    flex:0 0 8px !important;
  }

  .head-hours-v43{
    font-size:9.7px !important;
    line-height:1.12 !important;
    letter-spacing:0 !important;
  }

  .head-cart-v43,
  #cartBtn.head-cart-v43{
    width:120px !important;
    min-width:120px !important;
    max-width:120px !important;
    height:32px !important;
    min-height:32px !important;
    padding:6px 8px !important;
    font-size:10.6px !important;
    border-radius:11px !important;
  }
}

@media (max-width:360px){
  .chat-head-v43{
    grid-template-columns:72px minmax(0,1fr) 114px !important;
  }

  .head-sofia-v43{
    width:72px !important;
    min-width:72px !important;
    max-width:72px !important;
    height:40px !important;
    min-height:40px !important;
  }

  .head-main-v43 h2{
    font-size:17px !important;
  }

  .head-sub-v43{
    font-size:10px !important;
  }

  .head-hours-v43{
    font-size:9.2px !important;
  }

  .head-cart-v43,
  #cartBtn.head-cart-v43{
    width:114px !important;
    min-width:114px !important;
    max-width:114px !important;
    font-size:10.1px !important;
  }
}


/* === V48: ALINEACIÓN FINAL CABECERA MÓVIL/TABLET === */
/* Objetivo visual:
   SOFÍA a la izquierda.
   Título y subtítulo alineados entre sí.
   Horario alineado con el inicio del título.
   Botón Ver pedido alineado a la derecha, sin bajar ni encimarse.
   Solo aplica en tablet/celular. PC no se toca.
*/

@media (max-width:900px){

  .chat-head.chat-head-v43,
  .chat-head-v43{
    display:grid !important;
    grid-template-columns:76px minmax(0,1fr) 112px !important;
    grid-template-rows:auto auto !important;
    grid-template-areas:
      "sofia main cart"
      "sofia hours cart" !important;
    align-items:center !important;
    column-gap:14px !important;
    row-gap:5px !important;
    padding:12px 10px !important;
    min-height:100px !important;
    height:auto !important;
    overflow:visible !important;
  }

  .head-sofia-v43{
    grid-area:sofia !important;
    justify-self:start !important;
    align-self:start !important;
    width:76px !important;
    min-width:76px !important;
    max-width:76px !important;
    height:43px !important;
    min-height:43px !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:13px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:13px !important;
    line-height:1 !important;
    position:static !important;
    transform:none !important;
  }

  .head-main-v43{
    grid-area:main !important;
    justify-self:start !important;
    align-self:end !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-end !important;
    text-align:left !important;
    position:static !important;
    transform:none !important;
  }

  .head-main-v43 h2{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    font-size:18px !important;
    line-height:1.05 !important;
    font-weight:950 !important;
    text-align:left !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  .head-sub-v43{
    width:100% !important;
    margin:4px 0 0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:5px !important;
    font-size:10.5px !important;
    line-height:1.12 !important;
    text-align:left !important;
    white-space:normal !important;
    overflow:visible !important;
  }

  .head-sub-v43 .dot{
    width:8px !important;
    height:8px !important;
    min-width:8px !important;
    flex:0 0 8px !important;
  }

  /* El contenedor deja pasar sus hijos al grid principal */
  .head-bottom-v43{
    display:contents !important;
  }

  .head-hours-v43{
    grid-area:hours !important;
    justify-self:start !important;
    align-self:start !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    color:#fff !important;
    font-size:9.4px !important;
    line-height:1.1 !important;
    font-weight:850 !important;
    text-align:left !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    position:static !important;
    transform:none !important;
  }

  .head-cart-v43,
  #cartBtn.head-cart-v43{
    grid-area:cart !important;
    justify-self:end !important;
    align-self:center !important;
    width:112px !important;
    min-width:112px !important;
    max-width:112px !important;
    height:32px !important;
    min-height:32px !important;
    margin:0 !important;
    padding:6px 7px !important;
    border-radius:11px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    font-size:10.3px !important;
    line-height:1.05 !important;
    white-space:nowrap !important;
    position:static !important;
    right:auto !important;
    top:auto !important;
    transform:none !important;
    z-index:2 !important;
  }
}

@media (max-width:430px){

  .chat-head.chat-head-v43,
  .chat-head-v43{
    grid-template-columns:72px minmax(0,1fr) 108px !important;
    column-gap:12px !important;
    row-gap:5px !important;
    padding:11px 9px !important;
    min-height:96px !important;
  }

  .head-sofia-v43{
    width:72px !important;
    min-width:72px !important;
    max-width:72px !important;
    height:42px !important;
    min-height:42px !important;
    font-size:12.5px !important;
  }

  .head-main-v43 h2{
    font-size:17.2px !important;
    line-height:1.03 !important;
  }

  .head-sub-v43{
    margin-top:4px !important;
    font-size:10px !important;
    line-height:1.1 !important;
  }

  .head-hours-v43{
    font-size:9px !important;
    line-height:1.1 !important;
  }

  .head-cart-v43,
  #cartBtn.head-cart-v43{
    width:108px !important;
    min-width:108px !important;
    max-width:108px !important;
    height:31px !important;
    min-height:31px !important;
    padding:6px 6px !important;
    font-size:9.9px !important;
  }
}

@media (max-width:360px){

  .chat-head.chat-head-v43,
  .chat-head-v43{
    grid-template-columns:66px minmax(0,1fr) 102px !important;
    column-gap:9px !important;
    padding:10px 8px !important;
    min-height:92px !important;
  }

  .head-sofia-v43{
    width:66px !important;
    min-width:66px !important;
    max-width:66px !important;
    height:40px !important;
    min-height:40px !important;
    font-size:12px !important;
  }

  .head-main-v43 h2{
    font-size:16px !important;
  }

  .head-sub-v43{
    font-size:9.4px !important;
  }

  .head-hours-v43{
    font-size:8.4px !important;
  }

  .head-cart-v43,
  #cartBtn.head-cart-v43{
    width:102px !important;
    min-width:102px !important;
    max-width:102px !important;
    font-size:9.3px !important;
  }
}


/* === V49: SOLO MOVER HORARIO A LA DERECHA EN MÓVIL/TABLET === */
/* Alinea "Las Tres Cascadas · 08:00 - 18:00" con el bloque de SOFÍA/título. PC no se toca. */

@media (max-width:900px){
  .head-hours-v43{
    padding-left:22px !important;
  }
}

@media (max-width:430px){
  .head-hours-v43{
    padding-left:18px !important;
  }
}

@media (max-width:360px){
  .head-hours-v43{
    padding-left:14px !important;
  }
}


/* === V51: CELULAR/TABLET - QUITAR HORARIO Y CENTRAR VER PEDIDO === */
/* Solo aplica hasta 900px. PC no se toca. */

@media (max-width:900px){

  /* Oculta SOLO el horario de la cabecera */
  .chat-head-v43 .head-hours-v43,
  .chat-head .head-hours-v43,
  .head-hours-v43{
    display:none !important;
    visibility:hidden !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
  }

  /* Reorganiza la cabecera sin horario */
  .chat-head.chat-head-v43,
  .chat-head-v43{
    display:grid !important;
    grid-template-columns:84px minmax(0,1fr) !important;
    grid-template-areas:
      "sofia main"
      "cart cart" !important;
    align-items:center !important;
    column-gap:12px !important;
    row-gap:10px !important;
    padding:13px 11px 12px !important;
    min-height:auto !important;
    height:auto !important;
    overflow:visible !important;
  }

  .head-sofia-v43{
    grid-area:sofia !important;
    justify-self:start !important;
    align-self:center !important;
    width:84px !important;
    min-width:84px !important;
    max-width:84px !important;
    height:46px !important;
    min-height:46px !important;
    margin:0 !important;
    padding:0 !important;
    position:static !important;
    transform:none !important;
  }

  .head-main-v43{
    grid-area:main !important;
    align-self:center !important;
    justify-self:start !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
    position:static !important;
    transform:none !important;
  }

  .head-main-v43 h2{
    font-size:21px !important;
    line-height:1.05 !important;
    margin:0 !important;
    text-align:left !important;
    white-space:normal !important;
  }

  .head-sub-v43{
    margin-top:5px !important;
    font-size:11.5px !important;
    line-height:1.15 !important;
    text-align:left !important;
  }

  /* El contenedor del botón pasa directo al grid */
  .head-bottom-v43{
    display:contents !important;
  }

  /* Botón Ver pedido centrado en fila propia */
  .head-cart-v43,
  #cartBtn.head-cart-v43,
  .chat-head-v43 .cart-pill,
  .chat-head-v43 #cartBtn{
    grid-area:cart !important;
    justify-self:center !important;
    align-self:center !important;
    width:auto !important;
    min-width:170px !important;
    max-width:220px !important;
    height:38px !important;
    min-height:38px !important;
    margin:0 auto !important;
    padding:9px 16px !important;
    border-radius:14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    font-size:12px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
    position:static !important;
    right:auto !important;
    top:auto !important;
    transform:none !important;
    z-index:2 !important;
  }
}

@media (max-width:430px){

  .chat-head.chat-head-v43,
  .chat-head-v43{
    grid-template-columns:78px minmax(0,1fr) !important;
    column-gap:10px !important;
    row-gap:9px !important;
    padding:12px 10px 11px !important;
  }

  .head-sofia-v43{
    width:78px !important;
    min-width:78px !important;
    max-width:78px !important;
    height:43px !important;
    min-height:43px !important;
    font-size:13.5px !important;
  }

  .head-main-v43 h2{
    font-size:19px !important;
    line-height:1.05 !important;
  }

  .head-sub-v43{
    font-size:10.8px !important;
    line-height:1.12 !important;
  }

  .head-cart-v43,
  #cartBtn.head-cart-v43,
  .chat-head-v43 .cart-pill,
  .chat-head-v43 #cartBtn{
    min-width:160px !important;
    max-width:200px !important;
    height:36px !important;
    min-height:36px !important;
    padding:8px 14px !important;
    font-size:11.5px !important;
  }
}

@media (max-width:360px){

  .chat-head.chat-head-v43,
  .chat-head-v43{
    grid-template-columns:72px minmax(0,1fr) !important;
    padding:10px 8px 10px !important;
  }

  .head-sofia-v43{
    width:72px !important;
    min-width:72px !important;
    max-width:72px !important;
    height:40px !important;
    min-height:40px !important;
    font-size:12.5px !important;
  }

  .head-main-v43 h2{
    font-size:18px !important;
  }

  .head-sub-v43{
    font-size:10px !important;
  }

  .head-cart-v43,
  #cartBtn.head-cart-v43,
  .chat-head-v43 .cart-pill,
  .chat-head-v43 #cartBtn{
    min-width:150px !important;
    max-width:190px !important;
    height:35px !important;
    min-height:35px !important;
    font-size:11px !important;
  }
}


/* === V52: VER PEDIDO CENTRADO REAL - SOLO CELULAR/TABLET === */
/* Quita el horario y centra el botón en toda la fila de cabecera. PC no se toca. */

@media (max-width:900px){

  /* Ocultar horario */
  .chat-head-v43 .head-hours-v43,
  .chat-head .head-hours-v43,
  .head-hours-v43{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    width:0 !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
  }

  /* Cabecera: primera fila SOFÍA + texto, segunda fila completa para botón */
  .chat-head.chat-head-v43,
  .chat-head-v43{
    display:grid !important;
    grid-template-columns:84px minmax(0,1fr) !important;
    grid-template-areas:
      "sofia main"
      "cart cart" !important;
    align-items:center !important;
    justify-items:stretch !important;
    column-gap:12px !important;
    row-gap:10px !important;
    padding:13px 11px 12px !important;
    width:100% !important;
    min-height:auto !important;
    height:auto !important;
    overflow:visible !important;
  }

  .head-sofia-v43{
    grid-area:sofia !important;
    justify-self:start !important;
    align-self:center !important;
    width:84px !important;
    min-width:84px !important;
    max-width:84px !important;
    height:46px !important;
    min-height:46px !important;
    margin:0 !important;
    position:static !important;
    transform:none !important;
  }

  .head-main-v43{
    grid-area:main !important;
    justify-self:start !important;
    align-self:center !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
    position:static !important;
    transform:none !important;
  }

  .head-main-v43 h2{
    font-size:21px !important;
    line-height:1.05 !important;
    margin:0 !important;
    text-align:left !important;
    white-space:normal !important;
  }

  .head-sub-v43{
    margin-top:5px !important;
    font-size:11.5px !important;
    line-height:1.15 !important;
    text-align:left !important;
  }

  /* Permite que el botón salga del contenedor interno y use el grid principal */
  .head-bottom-v43{
    display:contents !important;
  }

  /* CENTRADO REAL: ocupa la fila completa cart cart y se centra */
  .head-cart-v43,
  #cartBtn.head-cart-v43,
  .chat-head-v43 .cart-pill,
  .chat-head-v43 #cartBtn{
    grid-area:cart !important;
    justify-self:center !important;
    align-self:center !important;
    width:190px !important;
    min-width:190px !important;
    max-width:190px !important;
    height:38px !important;
    min-height:38px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    padding:9px 14px !important;
    border-radius:14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    font-size:12px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
    position:static !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    transform:none !important;
    float:none !important;
    z-index:5 !important;
  }
}

@media (max-width:430px){

  .chat-head.chat-head-v43,
  .chat-head-v43{
    grid-template-columns:78px minmax(0,1fr) !important;
    grid-template-areas:
      "sofia main"
      "cart cart" !important;
    column-gap:10px !important;
    row-gap:9px !important;
    padding:12px 10px 11px !important;
  }

  .head-sofia-v43{
    width:78px !important;
    min-width:78px !important;
    max-width:78px !important;
    height:43px !important;
    min-height:43px !important;
  }

  .head-main-v43 h2{
    font-size:19px !important;
  }

  .head-sub-v43{
    font-size:10.8px !important;
  }

  .head-cart-v43,
  #cartBtn.head-cart-v43,
  .chat-head-v43 .cart-pill,
  .chat-head-v43 #cartBtn{
    width:180px !important;
    min-width:180px !important;
    max-width:180px !important;
    height:36px !important;
    min-height:36px !important;
    font-size:11.5px !important;
  }
}

@media (max-width:360px){

  .chat-head.chat-head-v43,
  .chat-head-v43{
    grid-template-columns:72px minmax(0,1fr) !important;
    grid-template-areas:
      "sofia main"
      "cart cart" !important;
  }

  .head-sofia-v43{
    width:72px !important;
    min-width:72px !important;
    max-width:72px !important;
    height:40px !important;
    min-height:40px !important;
  }

  .head-main-v43 h2{
    font-size:18px !important;
  }

  .head-sub-v43{
    font-size:10px !important;
  }

  .head-cart-v43,
  #cartBtn.head-cart-v43,
  .chat-head-v43 .cart-pill,
  .chat-head-v43 #cartBtn{
    width:170px !important;
    min-width:170px !important;
    max-width:170px !important;
    height:35px !important;
    min-height:35px !important;
    font-size:11px !important;
  }
}


/* === FINAL: VER PEDIDO CENTRADO REAL - SOLO CELULAR Y TABLET === */
/* Este bloque debe quedar al final del archivo. PC no se toca. */
@media (max-width:900px){

  /* Quita el horario */
  .head-hours-v43,
  .chat-head-v43 .head-hours-v43,
  .chat-head .head-hours-v43{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    width:0 !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
  }

  /* La cabecera verde queda como referencia para centrar el botón */
  .chat-head-v43,
  .chat-head.chat-head-v43{
    position:relative !important;
    padding-bottom:62px !important;
    overflow:visible !important;
  }

  /* CENTRO REAL DEL BOTÓN VER PEDIDO */
  #cartBtn,
  #cartBtn.head-cart-v43,
  .head-cart-v43,
  .chat-head-v43 #cartBtn,
  .chat-head-v43 .head-cart-v43{
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    bottom:14px !important;
    transform:translateX(-50%) !important;

    width:180px !important;
    min-width:180px !important;
    max-width:180px !important;
    height:38px !important;
    min-height:38px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;

    margin:0 !important;
    padding:9px 14px !important;
    border-radius:14px !important;
    font-size:12px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
    float:none !important;
    z-index:999 !important;
  }
}

@media (max-width:430px){

  .chat-head-v43,
  .chat-head.chat-head-v43{
    padding-bottom:58px !important;
  }

  #cartBtn,
  #cartBtn.head-cart-v43,
  .head-cart-v43,
  .chat-head-v43 #cartBtn,
  .chat-head-v43 .head-cart-v43{
    width:170px !important;
    min-width:170px !important;
    max-width:170px !important;
    height:36px !important;
    min-height:36px !important;
    bottom:13px !important;
    font-size:11.5px !important;
  }
}

@media (max-width:360px){

  #cartBtn,
  #cartBtn.head-cart-v43,
  .head-cart-v43,
  .chat-head-v43 #cartBtn,
  .chat-head-v43 .head-cart-v43{
    width:160px !important;
    min-width:160px !important;
    max-width:160px !important;
    font-size:11px !important;
  }
}


/* =========================================================
   V53 DEFINITIVO: SOLO CELULAR/TABLET
   - Quita horario de cabecera verde.
   - Centra REALMENTE el botón Ver pedido.
   - Usa selectores amplios porque el botón puede venir como:
     #cartBtn, #headerCartBtn, .cart-pill o .header-cart-v6.
   - PC NO SE TOCA.
   ========================================================= */

@media (max-width:900px){

  /* CABECERA VERDE COMO CONTENEDOR DE REFERENCIA */
  .chat-head,
  .chat-head.chat-head-v43,
  .chat-head-v43{
    position:relative !important;
    display:grid !important;
    grid-template-columns:84px minmax(0,1fr) !important;
    grid-template-areas:"sofia main" !important;
    align-items:center !important;
    column-gap:12px !important;
    padding:13px 11px 66px !important;
    min-height:126px !important;
    height:auto !important;
    overflow:visible !important;
  }

  /* QUITAR HORARIO / TEXTO INFERIOR */
  .head-hours-v43,
  .chat-head .head-hours-v43,
  .chat-head-v43 .head-hours-v43,
  .head-right,
  .chat-head .head-right,
  .hours,
  .schedule,
  .brand-hours,
  .place-hours{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    width:0 !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
  }

  /* SOFÍA */
  .head-sofia-v43,
  .sofia-badge,
  .chat-head .sofia-badge{
    grid-area:sofia !important;
    position:static !important;
    transform:none !important;
    justify-self:start !important;
    align-self:center !important;
    width:84px !important;
    min-width:84px !important;
    max-width:84px !important;
    height:46px !important;
    min-height:46px !important;
    margin:0 !important;
  }

  /* TEXTO PRINCIPAL */
  .head-main-v43{
    grid-area:main !important;
    position:static !important;
    transform:none !important;
    min-width:0 !important;
    width:100% !important;
    text-align:left !important;
  }

  /* EL CONTENEDOR DEL CARRITO NO DEBE CONTROLAR POSICIÓN */
  .head-bottom-v43{
    display:block !important;
    position:static !important;
    width:0 !important;
    height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  /* CENTRADO REAL DEL BOTÓN VER PEDIDO */
  .chat-head #cartBtn,
  .chat-head #headerCartBtn,
  .chat-head .head-cart-v43,
  .chat-head .cart-pill,
  .chat-head .header-cart-v6,
  .chat-head button[onclick*="showCart"]{
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    top:auto !important;
    bottom:14px !important;
    transform:translateX(-50%) !important;

    width:190px !important;
    min-width:190px !important;
    max-width:190px !important;
    height:40px !important;
    min-height:40px !important;

    margin:0 !important;
    padding:9px 16px !important;
    float:none !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;

    border-radius:15px !important;
    font-size:12px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
    z-index:9999 !important;
  }
}

@media (max-width:430px){

  .chat-head,
  .chat-head.chat-head-v43,
  .chat-head-v43{
    grid-template-columns:78px minmax(0,1fr) !important;
    column-gap:10px !important;
    padding:12px 10px 62px !important;
    min-height:120px !important;
  }

  .head-sofia-v43,
  .sofia-badge,
  .chat-head .sofia-badge{
    width:78px !important;
    min-width:78px !important;
    max-width:78px !important;
    height:43px !important;
    min-height:43px !important;
  }

  .chat-head #cartBtn,
  .chat-head #headerCartBtn,
  .chat-head .head-cart-v43,
  .chat-head .cart-pill,
  .chat-head .header-cart-v6,
  .chat-head button[onclick*="showCart"]{
    width:180px !important;
    min-width:180px !important;
    max-width:180px !important;
    height:38px !important;
    min-height:38px !important;
    bottom:13px !important;
    font-size:11.5px !important;
  }
}

@media (max-width:360px){

  .chat-head,
  .chat-head.chat-head-v43,
  .chat-head-v43{
    grid-template-columns:72px minmax(0,1fr) !important;
    padding:10px 8px 60px !important;
    min-height:116px !important;
  }

  .head-sofia-v43,
  .sofia-badge,
  .chat-head .sofia-badge{
    width:72px !important;
    min-width:72px !important;
    max-width:72px !important;
    height:40px !important;
    min-height:40px !important;
  }

  .chat-head #cartBtn,
  .chat-head #headerCartBtn,
  .chat-head .head-cart-v43,
  .chat-head .cart-pill,
  .chat-head .header-cart-v6,
  .chat-head button[onclick*="showCart"]{
    width:170px !important;
    min-width:170px !important;
    max-width:170px !important;
    height:36px !important;
    min-height:36px !important;
    font-size:11px !important;
  }
}


/* =========================================================
   V54 FINAL REAL: VER PEDIDO AL CENTRO
   SOLO CELULAR/TABLET
   Solución correcta: se centra el CONTENEDOR .head-bottom-v43,
   no solo el botón. Así ya no queda pegado a la izquierda.
   ========================================================= */

@media (max-width:900px){

  /* Cabecera verde como referencia */
  .chat-head-v43,
  .chat-head.chat-head-v43,
  .chat-head{
    position:relative !important;
    padding-bottom:68px !important;
    overflow:visible !important;
  }

  /* Quitar horario */
  .head-hours-v43,
  .chat-head .head-hours-v43,
  .chat-head-v43 .head-hours-v43{
    display:none !important;
  }

  /* Este es el bloque que estaba quedando a la izquierda.
     Ahora ocupa TODO el ancho y centra el botón. */
  .head-bottom-v43{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:14px !important;
    width:100% !important;
    height:40px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    z-index:9999 !important;
  }

  /* El botón ya no se posiciona solo: lo centra su contenedor */
  .head-bottom-v43 #cartBtn,
  .head-bottom-v43 .head-cart-v43,
  .chat-head-v43 #cartBtn,
  .chat-head-v43 .head-cart-v43{
    position:static !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    transform:none !important;

    width:190px !important;
    min-width:190px !important;
    max-width:190px !important;
    height:40px !important;
    min-height:40px !important;

    margin:0 auto !important;
    padding:9px 16px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;

    border-radius:15px !important;
    font-size:12px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
    float:none !important;
  }
}

@media (max-width:430px){

  .chat-head-v43,
  .chat-head.chat-head-v43,
  .chat-head{
    padding-bottom:64px !important;
  }

  .head-bottom-v43{
    bottom:13px !important;
    height:38px !important;
  }

  .head-bottom-v43 #cartBtn,
  .head-bottom-v43 .head-cart-v43,
  .chat-head-v43 #cartBtn,
  .chat-head-v43 .head-cart-v43{
    width:180px !important;
    min-width:180px !important;
    max-width:180px !important;
    height:38px !important;
    min-height:38px !important;
    font-size:11.5px !important;
  }
}

@media (max-width:360px){

  .head-bottom-v43 #cartBtn,
  .head-bottom-v43 .head-cart-v43,
  .chat-head-v43 #cartBtn,
  .chat-head-v43 .head-cart-v43{
    width:170px !important;
    min-width:170px !important;
    max-width:170px !important;
    font-size:11px !important;
  }
}


/* =========================================================
   V55 EXACTO COMO EL DIBUJO - SOLO CELULAR/TABLET
   Arriba: SOFÍA + Asistente virtual
   Abajo: VER PEDIDO centrado en la cabecera verde
   Se elimina el horario.
   PC no se toca.
   ========================================================= */

@media (max-width:900px){

  .chat-head.chat-head-v43,
  .chat-head-v43,
  .chat-head{
    position:relative !important;
    display:grid !important;
    grid-template-columns:84px 1fr !important;
    grid-template-areas:"sofia main" !important;
    align-items:start !important;
    column-gap:12px !important;
    padding:18px 12px 76px !important;
    min-height:142px !important;
    height:auto !important;
    overflow:visible !important;
  }

  .head-sofia-v43,
  .chat-head .head-sofia-v43,
  .chat-head .sofia-badge{
    grid-area:sofia !important;
    position:static !important;
    transform:none !important;
    justify-self:start !important;
    align-self:start !important;
    width:84px !important;
    min-width:84px !important;
    max-width:84px !important;
    height:46px !important;
    min-height:46px !important;
    margin:0 !important;
  }

  .head-main-v43{
    grid-area:main !important;
    position:static !important;
    transform:none !important;
    justify-self:start !important;
    align-self:start !important;
    width:100% !important;
    min-width:0 !important;
    text-align:left !important;
    margin:0 !important;
    padding:0 !important;
  }

  .head-main-v43 h2{
    margin:0 !important;
    padding:0 !important;
    font-size:21px !important;
    line-height:1.08 !important;
    text-align:left !important;
    white-space:normal !important;
  }

  .head-sub-v43{
    margin-top:5px !important;
    padding:0 !important;
    font-size:11.5px !important;
    line-height:1.15 !important;
    text-align:left !important;
    justify-content:flex-start !important;
  }

  .head-hours-v43,
  .chat-head .head-hours-v43,
  .chat-head-v43 .head-hours-v43{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    width:0 !important;
    height:0 !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
  }

  .head-bottom-v43,
  .chat-head .head-bottom-v43,
  .chat-head-v43 .head-bottom-v43{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:18px !important;
    width:100% !important;
    height:42px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    z-index:50 !important;
  }

  .head-bottom-v43 #cartBtn,
  .head-bottom-v43 .head-cart-v43,
  .chat-head #cartBtn,
  .chat-head .head-cart-v43,
  .chat-head button[onclick*="showCart"]{
    position:static !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    transform:none !important;
    float:none !important;

    width:220px !important;
    min-width:220px !important;
    max-width:220px !important;
    height:42px !important;
    min-height:42px !important;

    margin:0 auto !important;
    padding:10px 18px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;

    border-radius:15px !important;
    font-size:12px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
    z-index:60 !important;
  }
}

@media (max-width:430px){

  .chat-head.chat-head-v43,
  .chat-head-v43,
  .chat-head{
    grid-template-columns:78px 1fr !important;
    column-gap:10px !important;
    padding:16px 10px 72px !important;
    min-height:134px !important;
  }

  .head-sofia-v43,
  .chat-head .head-sofia-v43,
  .chat-head .sofia-badge{
    width:78px !important;
    min-width:78px !important;
    max-width:78px !important;
    height:43px !important;
    min-height:43px !important;
  }

  .head-main-v43 h2{
    font-size:19px !important;
  }

  .head-sub-v43{
    font-size:10.8px !important;
  }

  .head-bottom-v43,
  .chat-head .head-bottom-v43,
  .chat-head-v43 .head-bottom-v43{
    bottom:17px !important;
    height:40px !important;
  }

  .head-bottom-v43 #cartBtn,
  .head-bottom-v43 .head-cart-v43,
  .chat-head #cartBtn,
  .chat-head .head-cart-v43,
  .chat-head button[onclick*="showCart"]{
    width:210px !important;
    min-width:210px !important;
    max-width:210px !important;
    height:40px !important;
    min-height:40px !important;
    font-size:11.5px !important;
  }
}

@media (max-width:360px){

  .chat-head.chat-head-v43,
  .chat-head-v43,
  .chat-head{
    grid-template-columns:72px 1fr !important;
    padding:15px 8px 70px !important;
    min-height:130px !important;
  }

  .head-sofia-v43,
  .chat-head .head-sofia-v43,
  .chat-head .sofia-badge{
    width:72px !important;
    min-width:72px !important;
    max-width:72px !important;
    height:40px !important;
    min-height:40px !important;
  }

  .head-main-v43 h2{
    font-size:18px !important;
  }

  .head-sub-v43{
    font-size:10px !important;
  }

  .head-bottom-v43 #cartBtn,
  .head-bottom-v43 .head-cart-v43,
  .chat-head #cartBtn,
  .chat-head .head-cart-v43,
  .chat-head button[onclick*="showCart"]{
    width:190px !important;
    min-width:190px !important;
    max-width:190px !important;
  }
}


/* =========================================================
   V56 DEFINITIVO: BOTÓN VER PEDIDO AL CENTRO REAL
   SOLO CELULAR/TABLET
   Este bloque fuerza el centro con selectores más fuertes.
   ========================================================= */

@media (max-width:900px){

  .chat-head,
  .chat-head-v43,
  .chat-head.chat-head-v43{
    position:relative !important;
    overflow:visible !important;
    padding-bottom:78px !important;
    min-height:145px !important;
  }

  .head-hours-v43{
    display:none !important;
  }

  .head-bottom-v43,
  .chat-head .head-bottom-v43,
  .chat-head-v43 .head-bottom-v43{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:18px !important;
    width:100% !important;
    max-width:100% !important;
    height:44px !important;
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    text-align:center !important;
    z-index:99999 !important;
  }

  .chat-head #cartBtn,
  .chat-head-v43 #cartBtn,
  .head-bottom-v43 #cartBtn,
  button#cartBtn,
  .chat-head button[id*="cart"],
  .chat-head button[class*="cart"],
  .chat-head-v43 button[id*="cart"],
  .chat-head-v43 button[class*="cart"]{
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    top:0 !important;
    bottom:auto !important;
    transform:translateX(-50%) !important;

    width:220px !important;
    min-width:220px !important;
    max-width:220px !important;
    height:42px !important;
    min-height:42px !important;

    margin:0 !important;
    padding:10px 18px !important;
    float:none !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;

    border-radius:15px !important;
    font-size:12px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
    z-index:100000 !important;
  }
}

@media (max-width:430px){

  .chat-head,
  .chat-head-v43,
  .chat-head.chat-head-v43{
    padding-bottom:74px !important;
    min-height:138px !important;
  }

  .head-bottom-v43,
  .chat-head .head-bottom-v43,
  .chat-head-v43 .head-bottom-v43{
    bottom:17px !important;
  }

  .chat-head #cartBtn,
  .chat-head-v43 #cartBtn,
  .head-bottom-v43 #cartBtn,
  button#cartBtn,
  .chat-head button[id*="cart"],
  .chat-head button[class*="cart"],
  .chat-head-v43 button[id*="cart"],
  .chat-head-v43 button[class*="cart"]{
    width:210px !important;
    min-width:210px !important;
    max-width:210px !important;
    height:40px !important;
    min-height:40px !important;
    font-size:11.5px !important;
  }
}

@media (max-width:360px){

  .chat-head #cartBtn,
  .chat-head-v43 #cartBtn,
  .head-bottom-v43 #cartBtn,
  button#cartBtn,
  .chat-head button[id*="cart"],
  .chat-head button[class*="cart"],
  .chat-head-v43 button[id*="cart"],
  .chat-head-v43 button[class*="cart"]{
    width:190px !important;
    min-width:190px !important;
    max-width:190px !important;
    font-size:11px !important;
  }
}


/* =========================================================
   V57 FINAL: CENTRAR VER PEDIDO SÍ O SÍ
   SOLO CELULAR/TABLET
   Corrige tanto #cartBtn como #headerCartBtn.
   ========================================================= */

@media (max-width:900px){

  /* Cabecera verde */
  .chat-card .chat-head,
  .chat-card .chat-head-v43,
  .chat-card .chat-head.chat-head-v43{
    position:relative !important;
    padding-bottom:82px !important;
    min-height:150px !important;
    overflow:visible !important;
  }

  /* Quitar horario */
  .chat-card .head-hours-v43,
  .chat-card .head-right,
  .chat-card .brand-hours,
  .chat-card .place-hours,
  .chat-card .schedule{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    width:0 !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  /* El contenedor del botón ocupa toda la cabecera */
  .chat-card .head-bottom-v43{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:18px !important;
    width:100% !important;
    max-width:100% !important;
    height:44px !important;
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    z-index:99998 !important;
  }

  /* BOTÓN CENTRADO REAL: incluye cartBtn y headerCartBtn */
  .chat-card .chat-head #cartBtn,
  .chat-card .chat-head #headerCartBtn,
  .chat-card .chat-head button#cartBtn,
  .chat-card .chat-head button#headerCartBtn,
  .chat-card .chat-head .cart-pill,
  .chat-card .chat-head .header-cart-v6,
  .chat-card .head-bottom-v43 #cartBtn,
  .chat-card .head-bottom-v43 #headerCartBtn,
  .chat-card .head-bottom-v43 .cart-pill,
  .chat-card .head-bottom-v43 .header-cart-v6{
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    top:0 !important;
    bottom:auto !important;
    transform:translateX(-50%) !important;

    width:220px !important;
    min-width:220px !important;
    max-width:220px !important;
    height:42px !important;
    min-height:42px !important;

    margin:0 !important;
    padding:10px 18px !important;
    float:none !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;

    border-radius:15px !important;
    font-size:12px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
    z-index:99999 !important;
  }
}

@media (max-width:430px){
  .chat-card .chat-head,
  .chat-card .chat-head-v43,
  .chat-card .chat-head.chat-head-v43{
    padding-bottom:78px !important;
    min-height:142px !important;
  }

  .chat-card .head-bottom-v43{
    bottom:17px !important;
    height:42px !important;
  }

  .chat-card .chat-head #cartBtn,
  .chat-card .chat-head #headerCartBtn,
  .chat-card .chat-head button#cartBtn,
  .chat-card .chat-head button#headerCartBtn,
  .chat-card .chat-head .cart-pill,
  .chat-card .chat-head .header-cart-v6,
  .chat-card .head-bottom-v43 #cartBtn,
  .chat-card .head-bottom-v43 #headerCartBtn,
  .chat-card .head-bottom-v43 .cart-pill,
  .chat-card .head-bottom-v43 .header-cart-v6{
    width:210px !important;
    min-width:210px !important;
    max-width:210px !important;
    height:40px !important;
    min-height:40px !important;
    font-size:11.5px !important;
  }
}

@media (max-width:360px){
  .chat-card .chat-head #cartBtn,
  .chat-card .chat-head #headerCartBtn,
  .chat-card .chat-head button#cartBtn,
  .chat-card .chat-head button#headerCartBtn,
  .chat-card .chat-head .cart-pill,
  .chat-card .chat-head .header-cart-v6,
  .chat-card .head-bottom-v43 #cartBtn,
  .chat-card .head-bottom-v43 #headerCartBtn,
  .chat-card .head-bottom-v43 .cart-pill,
  .chat-card .head-bottom-v43 .header-cart-v6{
    width:190px !important;
    min-width:190px !important;
    max-width:190px !important;
    font-size:11px !important;
  }
}


/* =========================================================
   V58 HEADER LIMPIO - SOLUCIÓN REAL
   Nueva estructura creada en app.js:
   arriba: SOFÍA + Asistente virtual
   abajo: Ver pedido centrado.
   PC mantiene apariencia normal; celular/tablet queda como el dibujo.
   ========================================================= */

.chat-head-clean{
  min-height:84px;
  background:var(--forest);
  color:#fff;
  padding:14px clamp(14px,2vw,22px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:4px solid var(--sun);
}

.head-clean-top{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.head-sofia-clean{
  min-width:92px;
  padding:11px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.22);
  font-weight:950;
  text-align:center;
}

.head-main-clean h2{
  margin:0;
  color:#fff;
  font-weight:950;
  line-height:1.05;
  font-size:20px;
}

.head-sub-clean{
  font-size:13px;
  margin-top:4px;
  color:rgba(255,255,255,.90);
  font-weight:800;
}

.head-sub-clean .dot{
  display:inline-block;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#70BB44;
  margin-right:6px;
}

.head-cart-row-clean{
  display:flex;
  align-items:center;
  justify-content:center;
}

.head-cart-clean{
  min-width:150px;
}

/* SOLO CELULAR/TABLET */
@media(max-width:900px){
  .chat-head-clean{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:16px !important;
    padding:16px 12px 18px !important;
    min-height:136px !important;
    height:auto !important;
    overflow:visible !important;
  }

  .head-clean-top{
    width:100% !important;
    display:grid !important;
    grid-template-columns:84px minmax(0,1fr) !important;
    gap:12px !important;
    align-items:center !important;
  }

  .head-sofia-clean{
    width:84px !important;
    min-width:84px !important;
    max-width:84px !important;
    height:46px !important;
    min-height:46px !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:14px !important;
    font-size:14px !important;
  }

  .head-main-clean{
    text-align:left !important;
    min-width:0 !important;
  }

  .head-main-clean h2{
    font-size:21px !important;
    line-height:1.05 !important;
  }

  .head-sub-clean{
    font-size:11.5px !important;
    line-height:1.15 !important;
    margin-top:5px !important;
  }

  .head-cart-row-clean{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    padding:0 !important;
  }

  #cartBtn.head-cart-clean,
  .head-cart-clean{
    width:220px !important;
    min-width:220px !important;
    max-width:220px !important;
    height:42px !important;
    min-height:42px !important;
    margin:0 auto !important;
    padding:10px 18px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    position:static !important;
    transform:none !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    border-radius:15px !important;
    font-size:12px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
  }
}

@media(max-width:430px){
  .chat-head-clean{
    min-height:130px !important;
    gap:14px !important;
    padding:15px 10px 17px !important;
  }

  .head-clean-top{
    grid-template-columns:78px minmax(0,1fr) !important;
    gap:10px !important;
  }

  .head-sofia-clean{
    width:78px !important;
    min-width:78px !important;
    max-width:78px !important;
    height:43px !important;
    min-height:43px !important;
  }

  .head-main-clean h2{
    font-size:19px !important;
  }

  .head-sub-clean{
    font-size:10.8px !important;
  }

  #cartBtn.head-cart-clean,
  .head-cart-clean{
    width:210px !important;
    min-width:210px !important;
    max-width:210px !important;
    height:40px !important;
    min-height:40px !important;
    font-size:11.5px !important;
  }
}


/* =========================================================
   V59 HEADER FINAL AISLADO
   No usa .chat-head, .head-bottom-v43, .cart-pill ni clases viejas.
   Así ninguna regla anterior puede mover el botón.
   ========================================================= */

.mobile-header-final{
  min-height:84px !important;
  background:#12352f !important;
  color:#fff !important;
  padding:14px 22px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  border-bottom:4px solid #F6821F !important;
}

.mobile-header-top-final{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:0 !important;
}

.mobile-sofia-final{
  min-width:92px !important;
  padding:11px 14px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.14) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  color:#fff !important;
  font-weight:950 !important;
  text-align:center !important;
}

.mobile-title-final{
  min-width:0 !important;
  text-align:left !important;
}

.mobile-title-final h2{
  margin:0 !important;
  padding:0 !important;
  color:#fff !important;
  font-size:20px !important;
  line-height:1.05 !important;
  font-weight:950 !important;
}

.mobile-sub-final{
  margin-top:4px !important;
  color:rgba(255,255,255,.90) !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
}

.mobile-sub-final span{
  display:inline-block !important;
  width:8px !important;
  height:8px !important;
  border-radius:50% !important;
  background:#70BB44 !important;
  margin-right:6px !important;
}

.mobile-cart-row-final{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.mobile-cart-final{
  border:1px solid rgba(255,255,255,.25) !important;
  background:#fff !important;
  color:#12352f !important;
  border-radius:14px !important;
  min-width:150px !important;
  min-height:38px !important;
  padding:9px 14px !important;
  font-weight:950 !important;
  cursor:pointer !important;
  font-size:12px !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

/* SOLO CELULAR Y TABLET: como el dibujo */
@media(max-width:900px){
  .mobile-header-final{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:18px !important;
    padding:18px 12px 20px !important;
    min-height:142px !important;
    height:auto !important;
    overflow:visible !important;
  }

  .mobile-header-top-final{
    width:100% !important;
    display:grid !important;
    grid-template-columns:84px minmax(0,1fr) !important;
    gap:12px !important;
    align-items:start !important;
  }

  .mobile-sofia-final{
    width:84px !important;
    min-width:84px !important;
    max-width:84px !important;
    height:46px !important;
    min-height:46px !important;
    padding:0 !important;
    border-radius:14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:14px !important;
  }

  .mobile-title-final{
    width:100% !important;
    text-align:left !important;
    padding-top:0 !important;
  }

  .mobile-title-final h2{
    font-size:21px !important;
    line-height:1.05 !important;
  }

  .mobile-sub-final{
    margin-top:5px !important;
    font-size:11.5px !important;
    line-height:1.15 !important;
  }

  .mobile-cart-row-final{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    margin:0 !important;
    padding:0 !important;
  }

  .mobile-cart-final{
    width:220px !important;
    min-width:220px !important;
    max-width:220px !important;
    height:42px !important;
    min-height:42px !important;
    margin:0 auto !important;
    padding:10px 18px !important;
    border-radius:15px !important;
    font-size:12px !important;
    position:static !important;
    transform:none !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
  }
}

@media(max-width:430px){
  .mobile-header-final{
    min-height:134px !important;
    gap:16px !important;
    padding:16px 10px 18px !important;
  }

  .mobile-header-top-final{
    grid-template-columns:78px minmax(0,1fr) !important;
    gap:10px !important;
  }

  .mobile-sofia-final{
    width:78px !important;
    min-width:78px !important;
    max-width:78px !important;
    height:43px !important;
    min-height:43px !important;
  }

  .mobile-title-final h2{
    font-size:19px !important;
  }

  .mobile-sub-final{
    font-size:10.8px !important;
  }

  .mobile-cart-final{
    width:210px !important;
    min-width:210px !important;
    max-width:210px !important;
    height:40px !important;
    min-height:40px !important;
    font-size:11.5px !important;
  }
}


/* =========================================================
   V60 FINAL REAL: ANULA TODAS LAS REGLAS VIEJAS DEL CARRITO
   Estructura móvil:
   FILA 1: SOFÍA | Asistente virtual
   FILA 2: Ver pedido CENTRADO
   Solo celular/tablet. PC no se toca.
   ========================================================= */

@media(max-width:900px){

  .chat-card .mobile-header-final{
    position:static !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:16px !important;
    min-height:136px !important;
    height:auto !important;
    padding:16px 12px 18px !important;
    background:#12352f !important;
    overflow:visible !important;
    border-bottom:4px solid #F6821F !important;
  }

  .chat-card .mobile-header-final .mobile-header-top-final{
    position:static !important;
    display:grid !important;
    grid-template-columns:84px minmax(0,1fr) !important;
    align-items:center !important;
    gap:12px !important;
    width:100% !important;
    min-height:46px !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
  }

  .chat-card .mobile-header-final .mobile-sofia-final{
    position:static !important;
    transform:none !important;
    width:84px !important;
    min-width:84px !important;
    max-width:84px !important;
    height:46px !important;
    min-height:46px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.14) !important;
    border:1px solid rgba(255,255,255,.22) !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:950 !important;
  }

  .chat-card .mobile-header-final .mobile-title-final{
    position:static !important;
    transform:none !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
    display:block !important;
  }

  .chat-card .mobile-header-final .mobile-title-final h2{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    color:#fff !important;
    font-size:21px !important;
    line-height:1.05 !important;
    font-weight:950 !important;
    text-align:left !important;
    white-space:normal !important;
  }

  .chat-card .mobile-header-final .mobile-sub-final{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    margin:5px 0 0 !important;
    padding:0 !important;
    color:rgba(255,255,255,.90) !important;
    font-size:11.5px !important;
    line-height:1.15 !important;
    font-weight:800 !important;
    text-align:left !important;
    white-space:normal !important;
  }

  .chat-card .mobile-header-final .mobile-sub-final span{
    width:8px !important;
    height:8px !important;
    min-width:8px !important;
    border-radius:50% !important;
    background:#70BB44 !important;
    margin-right:6px !important;
    display:inline-block !important;
  }

  .chat-card .mobile-header-final .mobile-cart-row-final{
    position:static !important;
    transform:none !important;
    width:100% !important;
    height:auto !important;
    min-height:42px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    overflow:visible !important;
  }

  /* ESTE SELECTOR GANA A LAS REGLAS VIEJAS DE #cartBtn */
  .chat-card .mobile-header-final .mobile-cart-row-final button#cartBtn.mobile-cart-final,
  .chat-card .mobile-header-final button#cartBtn.mobile-cart-final,
  .chat-card .mobile-header-final #cartBtn.mobile-cart-final{
    position:static !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    transform:none !important;
    float:none !important;

    width:220px !important;
    min-width:220px !important;
    max-width:220px !important;
    height:42px !important;
    min-height:42px !important;

    margin:0 auto !important;
    padding:10px 18px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;

    background:#fff !important;
    color:#12352f !important;
    border:1px solid rgba(255,255,255,.25) !important;
    border-radius:15px !important;
    font-size:12px !important;
    line-height:1.1 !important;
    font-weight:950 !important;
    white-space:nowrap !important;
    z-index:1 !important;
  }
}

@media(max-width:430px){

  .chat-card .mobile-header-final{
    gap:14px !important;
    min-height:130px !important;
    padding:15px 10px 17px !important;
  }

  .chat-card .mobile-header-final .mobile-header-top-final{
    grid-template-columns:78px minmax(0,1fr) !important;
    gap:10px !important;
    min-height:43px !important;
  }

  .chat-card .mobile-header-final .mobile-sofia-final{
    width:78px !important;
    min-width:78px !important;
    max-width:78px !important;
    height:43px !important;
    min-height:43px !important;
  }

  .chat-card .mobile-header-final .mobile-title-final h2{
    font-size:19px !important;
  }

  .chat-card .mobile-header-final .mobile-sub-final{
    font-size:10.8px !important;
  }

  .chat-card .mobile-header-final .mobile-cart-row-final button#cartBtn.mobile-cart-final,
  .chat-card .mobile-header-final button#cartBtn.mobile-cart-final,
  .chat-card .mobile-header-final #cartBtn.mobile-cart-final{
    width:210px !important;
    min-width:210px !important;
    max-width:210px !important;
    height:40px !important;
    min-height:40px !important;
    font-size:11.5px !important;
  }
}

/* =========================================================
   PANEL ADMIN PROFESIONAL - LAS TRES CASCADAS
   Solo afecta al Panel Admin.
   ========================================================= */
.admin-pro{width:100%;max-width:1320px;margin:0 auto;display:grid;gap:14px}.admin-hero{background:linear-gradient(135deg,#12352f,#285f4f);color:#fff;border-radius:26px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:var(--shadow)}.admin-hero h1{font-size:clamp(24px,3vw,36px);margin:0;font-weight:950}.admin-hero p{margin-top:5px;color:rgba(255,255,255,.86);font-weight:750}.admin-nav{display:flex;gap:8px;overflow:auto;padding:8px 2px 4px;scrollbar-width:thin}.admin-nav button{white-space:nowrap;border:1px solid rgba(18,53,47,.14);background:#fff;color:#12352f;border-radius:15px;padding:11px 14px;font-weight:950;cursor:pointer;box-shadow:0 6px 14px rgba(18,53,47,.04)}.admin-nav button.active{background:#12352f;color:#fff;border-color:#12352f}.admin-content{display:grid;gap:14px}.admin-grid-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-grid-cards.small{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.admin-stat{background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;box-shadow:0 10px 24px rgba(18,53,47,.06);display:grid;gap:7px;min-height:124px}.admin-stat span{font-size:26px}.admin-stat small{color:var(--muted);font-weight:900}.admin-stat b{font-size:clamp(24px,3vw,34px);color:#12352f}.admin-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.admin-card h2{color:#12352f;margin-bottom:12px}.admin-note{border:1px solid rgba(18,53,47,.12);background:#fffdf9;border-radius:16px;padding:12px;margin:9px 0;display:grid;gap:4px}.admin-note b{color:#12352f}.admin-note span{color:#40544c;line-height:1.35}.admin-note small{color:#64726d}.admin-note.read{opacity:.62;background:#f7f7f3}.admin-table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff}.admin-table{width:100%;border-collapse:collapse;min-width:850px}.admin-table th{background:#12352f;color:#fff;text-align:left;padding:12px;font-size:13px;white-space:nowrap}.admin-table td{border-bottom:1px solid rgba(18,53,47,.09);padding:11px;vertical-align:top;font-size:13px;color:#203b35}.admin-table tr:last-child td{border-bottom:0}.admin-row-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-row-actions button{border:1px solid rgba(18,53,47,.14);background:#fff;border-radius:10px;padding:7px 9px;font-weight:900;color:#12352f;cursor:pointer;font-size:12px}.admin-row-actions button.danger{background:#fff0f0;color:#942629;border-color:rgba(148,38,41,.25)}.admin-thumb{width:62px;height:48px;object-fit:cover;border-radius:10px;border:1px solid rgba(18,53,47,.10)}.admin-segment{display:flex;gap:6px;background:#fbfaf6;border:1px solid var(--line);border-radius:14px;padding:5px}.admin-segment button{border:0;background:transparent;color:#12352f;border-radius:10px;padding:8px 11px;font-weight:950;cursor:pointer}.admin-segment button.active{background:#12352f;color:#fff}.admin-cal-days,.admin-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.admin-cal-days{margin-top:14px;margin-bottom:7px}.admin-cal-days b{text-align:center;color:#64726d;font-size:12px}.admin-cal-cell{min-height:105px;background:#fff;border:1px solid rgba(18,53,47,.13);border-radius:15px;padding:9px;display:flex;flex-direction:column;gap:5px}.admin-cal-cell>b{color:#12352f}.cal-chip{display:block;background:#eef7eb;border:1px solid rgba(79,143,69,.22);color:#2f6530;border-radius:9px;padding:4px 6px;font-size:11px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-chip.block{background:#fff0f0;color:#942629;border-color:rgba(148,38,41,.25)}.admin-list{display:grid;gap:9px;margin-top:12px}.admin-day-row{background:#fff;border:1px solid rgba(18,53,47,.12);border-radius:15px;padding:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.admin-day-row b{color:#12352f}.admin-day-row span{background:#fbfaf6;border:1px solid var(--line);border-radius:999px;padding:6px 9px;font-size:12px}.admin-schedule{display:grid;gap:9px}.admin-schedule-row{display:grid;grid-template-columns:150px 110px 1fr 1fr;gap:10px;align-items:center;background:#fbfaf6;border:1px solid var(--line);border-radius:16px;padding:11px}.admin-schedule-row b{color:#12352f}.admin-schedule-row input{border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-form-grid label{display:grid;gap:6px;font-weight:900;color:#12352f}.admin-form-grid input{border:1px solid var(--line);border-radius:13px;padding:11px;background:#fff;color:#203b35}.admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.admin-card .btn{min-height:38px;padding:9px 12px}.admin-wrap{display:none!important}
@media(max-width:1000px){.admin-grid-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-hero{align-items:flex-start;flex-direction:column}.admin-schedule-row{grid-template-columns:1fr 1fr}.admin-form-grid{grid-template-columns:1fr}.admin-cal-cell{min-height:86px;padding:7px}.cal-chip{font-size:10px}}
@media(max-width:560px){.admin-pro{gap:10px}.admin-hero{border-radius:20px;padding:15px}.admin-grid-cards,.admin-grid-cards.small{grid-template-columns:1fr}.admin-nav{display:grid;grid-template-columns:1fr 1fr;overflow:visible}.admin-nav button{white-space:normal;font-size:12px;padding:10px}.admin-card{border-radius:18px;padding:13px}.admin-card-head{align-items:flex-start;flex-direction:column}.admin-cal-days,.admin-cal-grid{gap:4px}.admin-cal-cell{min-height:72px;border-radius:11px;padding:5px}.admin-cal-cell b{font-size:12px}.cal-chip{padding:3px 4px;font-size:9px}.admin-schedule-row{grid-template-columns:1fr}.admin-day-row{align-items:flex-start;flex-direction:column}.admin-stat{min-height:auto}.admin-table{min-width:760px}}

/* === ADMIN V2: lógica cliente-admin, edición y respaldos === */
.admin-card .soft-note{margin:10px 0 14px;padding:11px 12px;border-radius:14px;background:#f7fbf8;border:1px solid rgba(18,53,47,.12);color:#365148;font-size:13px;line-height:1.35}.admin-thumb{width:76px;height:54px;object-fit:cover;border-radius:10px;border:1px solid rgba(18,53,47,.12);background:#f7f1e8}.admin-row-actions button{min-height:30px;border:1px solid rgba(18,53,47,.14);border-radius:10px;background:#fff;color:#12352f;font-weight:900;cursor:pointer;padding:6px 8px}.admin-row-actions button.danger{background:#fff0f0;color:#942629;border-color:rgba(148,38,41,.25)}.admin-table small{color:#64726d}.admin-form-grid label{font-weight:900;color:#12352f}.admin-form-grid input{margin-top:6px;border:1px solid rgba(18,53,47,.18);border-radius:12px;padding:10px 12px;width:100%;outline:none;background:#fff}.admin-grid-cards.small{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.important{margin-top:16px;padding:12px;border-radius:14px;background:#fff7ea;border:1px solid rgba(246,130,31,.28);color:#5b3b15;line-height:1.35}@media(max-width:700px){.admin-row-actions{display:grid;grid-template-columns:1fr 1fr}.admin-row-actions button{width:100%}.admin-thumb{width:64px;height:48px}}

/* =========================================================
   V3 ADMIN LÓGICA VISUAL SIN MODALES
   ========================================================= */
.admin-v3 .admin-nav{display:flex;gap:10px;overflow-x:auto;padding:10px 2px;margin:10px 0 14px}.admin-v3 .admin-nav button{border:1px solid rgba(18,53,47,.16);background:#fff;color:#12352f;border-radius:14px;padding:12px 16px;font-weight:950;white-space:nowrap;cursor:pointer}.admin-v3 .admin-nav button.active{background:#12352f;color:#fff}.admin-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.admin-split{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px;align-items:start}.admin-split.wide-left{grid-template-columns:minmax(0,1.35fr) 390px}.admin-detail-panel{background:#fff;border:1px solid rgba(18,53,47,.13);border-radius:22px;padding:16px;box-shadow:0 10px 24px rgba(18,53,47,.06);position:sticky;top:12px}.admin-detail-panel.selected{border-color:rgba(79,143,69,.35)}.admin-detail-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;border-bottom:1px dashed rgba(18,53,47,.18);padding-bottom:10px;margin-bottom:12px}.admin-detail-head h3{margin:0;color:#12352f;font-size:18px}.admin-detail-head p{margin:4px 0 0;color:#64726d;font-size:12px}.admin-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-detail-grid div{background:#fbfaf6;border:1px solid rgba(18,53,47,.10);border-radius:14px;padding:10px}.admin-detail-grid small{display:block;color:#64726d;font-weight:850;margin-bottom:4px}.admin-detail-grid b{color:#12352f}.admin-detail-items{margin-top:12px;border:1px solid rgba(18,53,47,.12);border-radius:16px;overflow:hidden}.admin-detail-line{display:flex;justify-content:space-between;gap:8px;padding:10px;border-bottom:1px dashed rgba(18,53,47,.12)}.admin-detail-line:last-child{border-bottom:0}.admin-detail-line small{display:block;color:#64726d;margin-top:2px}.admin-note-btn{width:100%;text-align:left;border:1px solid rgba(18,53,47,.12);cursor:pointer}.admin-note-btn:hover,.admin-click-row:hover{background:#eef7eb!important}.admin-click-row{cursor:pointer}.cal-chip{display:block;width:100%;border:1px solid rgba(79,143,69,.25);background:#eef7eb;color:#245a2a;border-radius:9px;padding:5px 7px;margin-top:6px;font-weight:850;font-size:11px;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis}.cal-chip.block{background:#fff7ea;color:#8a4a0a;border-color:rgba(246,130,31,.30)}.admin-inline-form{background:#fbfaf6;border:1px solid rgba(18,53,47,.14);border-radius:18px;padding:14px;margin:12px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-inline-form h3{grid-column:1/-1;margin:0;color:#12352f}.admin-inline-form label{display:grid;gap:5px;color:#12352f;font-weight:900;font-size:13px}.admin-inline-form input,.admin-inline-form textarea,.admin-inline-form select{border:1px solid rgba(18,53,47,.18);border-radius:12px;padding:10px 12px;background:#fff;color:#12352f;width:100%;font:inherit}.admin-inline-form textarea{min-height:82px;resize:vertical}.admin-inline-form .admin-actions{grid-column:1/-1}.catalog-form{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-preview-img{width:100%;max-height:160px;object-fit:contain;background:#f7f1e8;border:1px solid rgba(18,53,47,.12);border-radius:12px;padding:6px}.admin-thumb{width:74px;height:54px;object-fit:cover;border-radius:8px;border:1px solid rgba(18,53,47,.12)}.admin-table td small{color:#64726d}.btn-red{background:#fff0f0!important;color:#942629!important;border:1px solid rgba(148,38,41,.25)!important}.btn-blue{background:#eef8fd!important;color:#0A3A5A!important;border:1px solid rgba(7,140,215,.24)!important}.admin-cal-cell{min-height:108px}.admin-cal-grid{align-items:stretch}
@media(max-width:1000px){.admin-split,.admin-split.wide-left{grid-template-columns:1fr}.admin-detail-panel{position:relative;top:auto}.catalog-form,.admin-inline-form{grid-template-columns:1fr}.admin-detail-grid{grid-template-columns:1fr}.admin-hero-actions{justify-content:flex-start}}

/* =========================================================
   V4: ADMIN MENU SIN SCROLL HORIZONTAL
   - El menú del Panel Admin ahora se acomoda en filas.
   - En celular/tablet usa 2 columnas; en pantallas muy pequeñas 1 columna.
   - No toca Cliente ni la lógica aprobada del Admin.
   ========================================================= */
.admin-v3 .admin-nav,
.admin-nav{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr)) !important;
  gap:10px !important;
  overflow:visible !important;
  overflow-x:hidden !important;
  padding:10px 0 4px !important;
  margin:10px 0 14px !important;
  width:100% !important;
  max-width:100% !important;
  scrollbar-width:none !important;
}
.admin-v3 .admin-nav::-webkit-scrollbar,
.admin-nav::-webkit-scrollbar{display:none !important;}
.admin-v3 .admin-nav button,
.admin-nav button{
  width:100% !important;
  min-height:48px !important;
  white-space:normal !important;
  text-align:center !important;
  justify-content:center !important;
  line-height:1.15 !important;
}
.admin-pro,
.admin-v3,
.admin-content,
.admin-card{
  max-width:100% !important;
  overflow-x:hidden !important;
}
.admin-hero{
  flex-wrap:wrap !important;
}
.admin-hero-actions{
  flex:0 1 auto !important;
}
@media(max-width:900px){
  .admin-v3 .admin-nav,
  .admin-nav{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }
  .admin-v3 .admin-nav button,
  .admin-nav button{
    min-height:46px !important;
    padding:10px 8px !important;
    font-size:13px !important;
    border-radius:13px !important;
  }
  .admin-hero{
    align-items:flex-start !important;
  }
  .admin-hero-actions{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
  }
  .admin-hero-actions .btn{
    width:100% !important;
  }
}
@media(max-width:430px){
  .admin-v3 .admin-nav,
  .admin-nav{
    grid-template-columns:1fr !important;
  }
  .admin-v3 .admin-nav button,
  .admin-nav button{
    min-height:42px !important;
    font-size:13px !important;
  }
  .admin-hero{
    border-radius:20px !important;
    padding:16px !important;
  }
  .admin-hero h1{
    font-size:24px !important;
    line-height:1.12 !important;
  }
  .admin-hero p{
    font-size:13px !important;
    line-height:1.25 !important;
  }
  .admin-hero-actions{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   V5: MENÚ ADMIN RESPONSIVE REAL
   - PC: menú compacto en filas, sin scroll horizontal.
   - Celular/tablet: selector único tipo app, para no hacer una columna larguísima.
   - No toca la lógica de reservas, calendario, boletos ni edición.
   ========================================================= */
.admin-mobile-nav{display:none;}
.admin-v3 .admin-nav,
.admin-nav{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr)) !important;
  gap:9px !important;
  overflow:visible !important;
  padding:0 !important;
  margin:12px 0 14px !important;
  width:100% !important;
  max-width:100% !important;
}
.admin-v3 .admin-nav button,
.admin-nav button{
  width:100% !important;
  min-height:46px !important;
  white-space:normal !important;
  text-align:center !important;
  justify-content:center !important;
  line-height:1.15 !important;
  padding:10px 12px !important;
  border-radius:14px !important;
}
@media(max-width:760px){
  .admin-mobile-nav{
    display:grid !important;
    gap:7px !important;
    background:#fff !important;
    border:1px solid rgba(18,53,47,.14) !important;
    border-radius:18px !important;
    padding:12px !important;
    box-shadow:0 8px 20px rgba(18,53,47,.05) !important;
    margin:10px 0 12px !important;
  }
  .admin-mobile-nav label{
    color:#64726d !important;
    font-size:12px !important;
    font-weight:950 !important;
  }
  .admin-mobile-nav select{
    width:100% !important;
    min-height:46px !important;
    border:1px solid rgba(18,53,47,.18) !important;
    border-radius:14px !important;
    background:#12352f !important;
    color:#fff !important;
    font-weight:950 !important;
    padding:0 14px !important;
    font-size:15px !important;
    outline:none !important;
  }
  .admin-v3 .admin-nav,
  .admin-nav{
    display:none !important;
  }
  .admin-hero{
    border-radius:20px !important;
    padding:16px !important;
    gap:12px !important;
  }
  .admin-hero h1{
    font-size:23px !important;
    line-height:1.15 !important;
  }
  .admin-hero p{
    font-size:13px !important;
    line-height:1.25 !important;
  }
  .admin-hero-actions{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
  .admin-hero-actions .btn{
    width:100% !important;
    min-height:42px !important;
  }
}
@media(max-width:430px){
  .screen{padding:8px !important;}
  .admin-pro{gap:10px !important;}
  .admin-mobile-nav{padding:10px !important;border-radius:16px !important;}
  .admin-mobile-nav select{font-size:14px !important;min-height:44px !important;}
}

/* =========================================================
   V6 AGENDA OPERATIVA: reemplazo visual del calendario saturado
   ========================================================= */
.agenda-layout-v6{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr)!important;align-items:start!important}
.agenda-board-v6{overflow:visible!important}
.agenda-head-v6{align-items:flex-start!important;gap:14px!important}
.agenda-head-v6 p{margin-top:6px;color:#50645e;font-weight:700;line-height:1.35}
.agenda-kpis-v6{display:grid;grid-template-columns:repeat(3,110px);gap:8px}
.agenda-kpis-v6 div{background:#fbfaf6;border:1px solid rgba(18,53,47,.12);border-radius:16px;padding:10px;text-align:center}
.agenda-kpis-v6 small{display:block;color:#64726d;font-size:11px;font-weight:900;margin-bottom:4px}
.agenda-kpis-v6 b{font-size:22px;color:#12352f}
.agenda-toolbar-v6{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0}
.agenda-list-v6{display:grid;gap:14px;margin-top:12px}
.agenda-day-v6{border:1px solid rgba(18,53,47,.12);border-radius:20px;background:#fffdf9;overflow:hidden}
.agenda-day-head-v6{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;background:#f5fbf7;border-bottom:1px solid rgba(18,53,47,.10)}
.agenda-day-head-v6 h3{margin:0;color:#12352f;font-size:17px}
.agenda-day-head-v6 span{font-size:12px;font-weight:950;color:#64726d}
.agenda-item-v6{width:100%;border:0;border-bottom:1px dashed rgba(18,53,47,.14);background:#fff;display:grid;grid-template-columns:110px 1fr 120px;gap:12px;align-items:center;padding:13px 14px;text-align:left;cursor:pointer;color:#18322d}
.agenda-item-v6:last-child{border-bottom:0}
.agenda-item-v6:hover{background:#f7fbf8}
.agenda-time-v6{display:grid;gap:4px;align-content:center}
.agenda-time-v6 b{color:#12352f;font-size:15px}
.agenda-time-v6 small{color:#64726d;font-size:11px;font-weight:900}
.agenda-title-v6{font-weight:950;color:#12352f;margin-bottom:4px;line-height:1.2}
.agenda-meta-v6{font-size:12px;color:#40544c;line-height:1.35}
.agenda-money-v6{display:grid;gap:6px;justify-items:end;align-items:center}
.agenda-money-v6 b{font-size:17px;color:#12352f}
.empty-agenda-v6{border:1px dashed rgba(18,53,47,.22);border-radius:18px;padding:24px;text-align:center;color:#64726d;background:#fbfaf6;font-weight:900}
@media(max-width:900px){
  .agenda-layout-v6{grid-template-columns:1fr!important}
  .agenda-head-v6{display:grid!important;grid-template-columns:1fr!important}
  .agenda-kpis-v6{grid-template-columns:repeat(3,1fr)!important}
  .agenda-toolbar-v6{display:grid!important;grid-template-columns:1fr!important}
  .agenda-toolbar-v6 .admin-segment{display:grid!important;grid-template-columns:repeat(3,1fr)!important;width:100%!important}
  .agenda-toolbar-v6 .admin-segment:nth-child(2){grid-template-columns:repeat(2,1fr)!important}
  .agenda-item-v6{grid-template-columns:76px 1fr!important}
  .agenda-money-v6{grid-column:1 / -1;display:flex;justify-content:space-between;justify-items:stretch;border-top:1px dashed rgba(18,53,47,.10);padding-top:8px}
}
@media(max-width:430px){
  .agenda-kpis-v6{grid-template-columns:1fr!important}
  .agenda-toolbar-v6 .admin-segment,.agenda-toolbar-v6 .admin-segment:nth-child(2){grid-template-columns:1fr!important}
  .agenda-item-v6{grid-template-columns:1fr!important;gap:8px;padding:12px}
  .agenda-time-v6{display:flex;justify-content:space-between;align-items:center;background:#f7fbf8;border-radius:12px;padding:8px 10px}
  .agenda-money-v6{grid-column:auto}
}

/* =========================================================
   V7: Agenda principal + calendario secundario responsive
   ========================================================= */
.agenda-modebar-v7{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px}
.agenda-modebar-v7 button{border:1px solid rgba(18,53,47,.16);background:#fff;color:#12352f;border-radius:16px;min-height:44px;padding:10px 12px;font-weight:950;cursor:pointer}
.agenda-modebar-v7 button.active{background:#12352f;color:#fff;border-color:#12352f}
.calendar-secondary-v7{overflow:hidden!important}
.calendar-title-v7{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:12px 0;color:#12352f}
.calendar-title-v7 h3{margin:0;font-size:20px;text-transform:capitalize}
.calendar-title-v7 small{color:#64726d;font-weight:850}
.calendar-days-v7,.calendar-grid-v7{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}
.calendar-days-v7 b{text-align:center;font-size:12px;color:#64726d;padding:4px 0}
.calendar-cell-v7{min-height:118px;border:1px solid rgba(18,53,47,.13);border-radius:16px;background:#fff;padding:9px;overflow:hidden;display:grid;grid-template-rows:auto 1fr;gap:6px}
.calendar-cell-v7.empty{background:transparent;border-color:transparent}
.calendar-cell-v7.has-items{background:#fbfff8;border-color:rgba(79,143,69,.25)}
.calendar-day-num-v7{display:flex;justify-content:space-between;align-items:center;color:#12352f;font-weight:950}
.calendar-day-num-v7 span{background:#F6821F;color:#fff;border-radius:999px;min-width:22px;height:22px;display:grid;place-items:center;font-size:11px}
.calendar-cell-items-v7{display:grid;gap:5px;align-content:start;min-width:0}
.calendar-chip-v7{width:100%;border:1px solid rgba(18,53,47,.12);border-radius:10px;background:#eef7eb;color:#245d2b;padding:6px 7px;font-size:11px;font-weight:900;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.calendar-chip-v7.pend{background:#fff7ea;color:#8a4a0a;border-color:rgba(246,130,31,.25)}
.calendar-chip-v7.block{background:#fff0f0;color:#942629;border-color:rgba(148,38,41,.22)}
.calendar-chip-v7:hover{filter:brightness(.98);transform:translateY(-1px)}
.calendar-more-v7{border:0;background:transparent;color:#12352f;font-size:11px;font-weight:950;text-align:left;cursor:pointer;padding:3px 0}
.calendar-list-v7{display:grid;gap:10px;margin-top:12px}
.calendar-day-card-v7{border:1px solid rgba(18,53,47,.12);border-radius:18px;background:#fff;padding:12px;display:grid;gap:8px}
.calendar-day-card-v7 h3{margin:0;color:#12352f;font-size:16px}
.calendar-day-card-v7 p{margin:0;color:#64726d;font-weight:850}
.calendar-mobile-list-v7{display:none}
@media(max-width:900px){
  .agenda-modebar-v7{grid-template-columns:1fr!important}
  .calendar-days-v7,.calendar-grid-v7{display:none!important}
  .calendar-title-v7{display:block!important}
  .calendar-title-v7 small{display:block;margin-top:5px}
  .calendar-mobile-list-v7{display:grid!important;gap:10px;margin-top:12px}
  .calendar-mobile-list-v7 h3{margin:0;color:#12352f;font-size:17px}
  .calendar-mobile-list-v7 section{border:1px solid rgba(18,53,47,.12);border-radius:16px;background:#fff;padding:12px;display:grid;gap:7px}
  .calendar-mobile-list-v7 section>b{color:#12352f}
  .calendar-secondary-v7 .admin-card-head{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  .calendar-secondary-v7 .admin-segment{display:grid!important;grid-template-columns:repeat(3,1fr)!important;width:100%!important}
}
@media(max-width:430px){
  .calendar-secondary-v7 .admin-segment{grid-template-columns:1fr!important}
  .agenda-modebar-v7 button{min-height:42px;font-size:13px}
}


/* =========================================================
   V8: Boletos menos invasivo + imagen completa sin cortes
   ========================================================= */
.ticket-card-v8{
  display:grid;
  grid-template-columns:minmax(240px,360px) minmax(280px,1fr);
  gap:16px;
  align-items:stretch;
  background:#fff;
  border:1px solid rgba(18,53,47,.12);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 8px 22px rgba(18,53,47,.05);
}
.ticket-image-v8{
  background:#f7f1e8;
  min-height:300px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px;
  overflow:hidden;
}
.ticket-image-v8 img{
  width:100%;
  height:100%;
  max-height:360px;
  object-fit:contain !important;
  object-position:center center !important;
  display:block;
  background:#f7f1e8;
  cursor:zoom-in;
}
.ticket-info-v8{
  padding:18px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
}
.ticket-info-v8 h3{
  color:#12352f;
  font-size:22px;
  margin:0;
}
.ticket-info-v8 p{
  color:#40544c;
  line-height:1.45;
  margin:0;
}
.ticket-qty-grid-v8{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:4px;
}
@media(max-width:900px){
  .ticket-card-v8{grid-template-columns:1fr;}
  .ticket-image-v8{min-height:230px;}
  .ticket-image-v8 img{height:auto;max-height:280px;}
}
@media(max-width:560px){
  .ticket-qty-grid-v8{grid-template-columns:1fr;}
  .ticket-info-v8{padding:15px;}
  .ticket-image-v8{min-height:190px;padding:10px;}
  .ticket-image-v8 img{max-height:230px;}
}

/* =========================================================
   V9 ADMIN SIMPLE
   ========================================================= */
.admin-simple-v9 .simple-hero-v9{align-items:center}
.admin-quick-kpis-v9{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.admin-quick-kpis-v9 button{background:#fff;border:1px solid rgba(18,53,47,.14);border-radius:18px;padding:14px;text-align:left;cursor:pointer;box-shadow:0 8px 20px rgba(18,53,47,.04)}
.admin-quick-kpis-v9 small{display:block;color:#64726d;font-weight:850;margin-bottom:6px}.admin-quick-kpis-v9 b{font-size:25px;color:#12352f}
.admin-simple-nav{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin:12px 0 16px;overflow:visible!important}
.admin-simple-nav button{border:1px solid rgba(18,53,47,.16);background:#fff;color:#12352f;border-radius:16px;min-height:48px;padding:10px 12px;font-weight:950;cursor:pointer;box-shadow:0 5px 14px rgba(18,53,47,.04)}
.admin-simple-nav button.active{background:#12352f;color:#fff;border-color:#12352f}
.simple-edit-grid-v9,.more-grid-v9{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:14px}.simple-edit-grid-v9 button,.more-grid-v9 button{background:#fff;border:1px solid rgba(18,53,47,.14);border-radius:18px;padding:16px;text-align:left;cursor:pointer;min-height:110px}.simple-edit-grid-v9 b,.more-grid-v9 b{display:block;color:#12352f;font-size:17px;margin-bottom:7px}.simple-edit-grid-v9 span,.more-grid-v9 span{color:#64726d;line-height:1.35;font-size:13px}
@media(max-width:900px){.admin-quick-kpis-v9{grid-template-columns:repeat(2,1fr)}.admin-simple-nav{grid-template-columns:repeat(2,1fr)}.admin-simple-nav button{min-height:46px}.simple-hero-v9{gap:12px}}
@media(max-width:520px){.admin-quick-kpis-v9{grid-template-columns:1fr 1fr;gap:8px}.admin-quick-kpis-v9 button{padding:11px;border-radius:15px}.admin-quick-kpis-v9 b{font-size:21px}.admin-simple-nav{grid-template-columns:1fr 1fr;gap:8px}.admin-simple-nav button{font-size:13px;padding:9px;min-height:42px;border-radius:13px}.admin-hero.simple-hero-v9{padding:16px!important}.admin-hero.simple-hero-v9 h1{font-size:25px!important}.admin-hero-actions{width:100%;display:grid!important;grid-template-columns:1fr!important}.simple-edit-grid-v9,.more-grid-v9{grid-template-columns:1fr}.simple-edit-grid-v9 button,.more-grid-v9 button{min-height:auto}}
@media(max-width:360px){.admin-simple-nav{grid-template-columns:1fr}.admin-quick-kpis-v9{grid-template-columns:1fr}}

/* =========================================================
   V10: EDITAR PÁGINA RESPONSIVE SIN SCROLL LATERAL
   PC mantiene tabla. En celular/tablet, Paquetes/Servicios se convierten
   en tarjetas verticales con formulario cómodo para Postimages.
   ========================================================= */
.catalog-table-v10 .postimage-link-v10{
  display:block;
  max-width:220px;
  overflow-wrap:anywhere;
  word-break:break-word;
  margin-top:5px;
}
@media(max-width:760px){
  .catalog-mobile-v10{
    padding:12px!important;
    overflow:hidden!important;
  }
  .catalog-table-wrap-v10,
  .admin-card .catalog-table-wrap-v10,
  .catalog-mobile-v10 .admin-table-wrap{
    overflow:visible!important;
    width:100%!important;
    border:0!important;
  }
  .catalog-table-v10,
  .catalog-table-v10 thead,
  .catalog-table-v10 tbody,
  .catalog-table-v10 tr,
  .catalog-table-v10 td{
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }
  .catalog-table-v10{
    border:0!important;
    background:transparent!important;
  }
  .catalog-table-v10 thead{
    display:none!important;
  }
  .catalog-table-v10 tr{
    background:#fff!important;
    border:1px solid rgba(18,53,47,.13)!important;
    border-radius:18px!important;
    padding:12px!important;
    margin:0 0 12px!important;
    box-shadow:0 8px 18px rgba(18,53,47,.05)!important;
    overflow:hidden!important;
  }
  .catalog-table-v10 td{
    border:0!important;
    padding:8px 0!important;
    font-size:13px!important;
    line-height:1.3!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  .catalog-table-v10 td::before{
    content:attr(data-label);
    display:block;
    color:#64726d;
    font-weight:950;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.02em;
    margin-bottom:4px;
  }
  .catalog-table-v10 td:first-child{
    padding-top:0!important;
  }
  .catalog-table-v10 td:first-child b{
    display:block;
    color:#12352f;
    font-size:16px!important;
    line-height:1.1!important;
  }
  .catalog-table-v10 .admin-thumb{
    width:100%!important;
    max-width:160px!important;
    height:95px!important;
    object-fit:contain!important;
    display:block!important;
    background:#f7f1e8!important;
    border-radius:14px!important;
    padding:6px!important;
    margin-bottom:6px!important;
  }
  .catalog-table-v10 .postimage-link-v10{
    max-width:100%!important;
    font-size:11px!important;
    line-height:1.25!important;
    background:#fbfaf6;
    border:1px solid rgba(18,53,47,.10);
    border-radius:10px;
    padding:7px;
  }
  .catalog-table-v10 .admin-row-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    width:100%!important;
  }
  .catalog-table-v10 .admin-row-actions button{
    width:100%!important;
    min-height:38px!important;
  }
  .catalog-form.catalog-form,
  .admin-inline-form.catalog-form{
    grid-template-columns:1fr!important;
    padding:12px!important;
    border-radius:18px!important;
  }
  .admin-inline-form.catalog-form h3{
    font-size:18px!important;
  }
  .admin-inline-form.catalog-form label{
    font-size:12px!important;
  }
  .admin-inline-form.catalog-form input,
  .admin-inline-form.catalog-form textarea,
  .admin-inline-form.catalog-form select{
    min-height:43px!important;
    font-size:14px!important;
  }
  .admin-inline-form.catalog-form textarea{
    min-height:105px!important;
  }
  .admin-preview-img{
    max-height:190px!important;
  }
}
@media(max-width:420px){
  .catalog-mobile-v10 .admin-card-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .catalog-mobile-v10 .admin-card-head .btn{
    width:100%!important;
  }
}

/* =========================================================
   V11: EDITAR PÁGINA EN TARJETAS PARA CELULAR/TABLET
   ========================================================= */
.admin-mobile-cards-v11{display:none}
.post-url-v11{display:block;max-width:170px;word-break:break-all;color:#64726d;margin-top:5px}
.admin-inline-form-v11{background:#fbfaf6;border:1px solid rgba(18,53,47,.14);border-radius:20px;padding:16px;margin:12px 0 18px;box-shadow:0 8px 20px rgba(18,53,47,.05)}
.admin-inline-form-v11 h3{margin:0 0 12px;color:#12352f;font-size:20px}
.admin-form-grid.form-v11 textarea{min-height:96px;resize:vertical;border:1px solid rgba(18,53,47,.16);border-radius:14px;padding:12px;font:inherit;color:#12352f;background:#fff;width:100%}
.admin-form-grid.form-v11 .full{grid-column:1/-1}

@media(max-width:900px){
  .admin-edit-page-v11 .admin-card-head{align-items:flex-start!important;gap:10px!important}
  .admin-edit-page-v11 .admin-card-head h2{font-size:22px!important;line-height:1.15!important}
  .admin-edit-page-v11 .admin-card-head p{font-size:13px!important;line-height:1.35!important}
  .admin-desktop-table-v11{display:none!important}
  .admin-mobile-cards-v11{display:grid!important;grid-template-columns:1fr;gap:14px;margin-top:12px;width:100%;overflow:visible!important}
  .admin-edit-card-v11{width:100%;max-width:100%;overflow:hidden;background:#fff;border:1px solid rgba(18,53,47,.14);border-radius:20px;padding:14px;box-shadow:0 8px 18px rgba(18,53,47,.05)}
  .edit-card-top-v11{display:grid;grid-template-columns:1fr 96px;gap:12px;align-items:start}
  .edit-card-top-v11 h3{margin:0;color:#12352f;font-size:18px;line-height:1.15}
  .edit-card-top-v11 small{color:#64726d;font-weight:800}
  .edit-card-top-v11 img,.no-img-v11{width:96px;height:74px;border-radius:14px;border:1px solid rgba(18,53,47,.12);background:#f7f1e8;object-fit:contain;display:grid;place-items:center;color:#64726d;font-size:12px;text-align:center;overflow:hidden}
  .edit-card-info-v11{display:grid;gap:9px;margin-top:12px}
  .edit-card-info-v11 div{border-top:1px dashed rgba(18,53,47,.13);padding-top:9px;min-width:0}
  .edit-card-info-v11 b{display:block;color:#12352f;font-size:12px;margin-bottom:4px;text-transform:uppercase;letter-spacing:.02em}
  .edit-card-info-v11 span{display:block;color:#283f39;font-size:14px;line-height:1.35;word-break:break-word}
  .edit-card-info-v11 code{display:block;background:#f7f1e8;border:1px solid rgba(18,53,47,.10);border-radius:12px;padding:8px;color:#12352f;font-size:12px;line-height:1.3;white-space:normal;word-break:break-all;max-width:100%;overflow-wrap:anywhere}
  .edit-card-actions-v11{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
  .edit-card-actions-v11 button{border:1px solid rgba(18,53,47,.16);background:#fff;color:#12352f;border-radius:13px;min-height:40px;padding:9px 10px;font-weight:950;cursor:pointer}
  .edit-card-actions-v11 button:first-child{background:#12352f;color:#fff;border-color:#12352f;grid-column:1/-1}
  .edit-card-actions-v11 .danger{background:#fff0f0;color:#942629;border-color:rgba(148,38,41,.25)}
  .admin-inline-form-v11{padding:14px;border-radius:18px;margin-top:10px}
  .admin-form-grid.form-v11{display:grid!important;grid-template-columns:1fr!important;gap:11px!important}
  .admin-form-grid.form-v11 label{font-size:13px;font-weight:950;color:#12352f}
  .admin-form-grid.form-v11 input,.admin-form-grid.form-v11 textarea{width:100%!important;max-width:100%!important;margin-top:6px;min-height:42px;border:1px solid rgba(18,53,47,.16);border-radius:13px;padding:10px 12px;background:#fff;color:#12352f;font:inherit;word-break:break-word}
  .admin-inline-form-v11 .admin-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .admin-inline-form-v11 .admin-actions .btn{width:100%!important}
}

@media(max-width:430px){
  .admin-edit-card-v11{padding:12px;border-radius:18px}
  .edit-card-top-v11{grid-template-columns:1fr 82px;gap:10px}
  .edit-card-top-v11 img,.no-img-v11{width:82px;height:68px;border-radius:12px}
  .edit-card-top-v11 h3{font-size:16px}
  .edit-card-info-v11 span{font-size:13px}
  .edit-card-actions-v11{grid-template-columns:1fr;gap:7px}
  .edit-card-actions-v11 button:first-child{grid-column:auto}
}

/* =========================================================
   V12: QR / Validación / Imágenes exactas
   ========================================================= */
.qr-client-note-v12{border:2px dashed rgba(246,130,31,.45);background:#fff7ea;border-radius:18px;padding:14px;color:#12352f}.qr-client-note-v12 h3{margin:0 0 6px}.qr-client-note-v12 p{margin:0;line-height:1.4}.validate-actions-v12{display:grid;grid-template-columns:minmax(180px,1fr) auto auto auto;gap:10px;align-items:center}.validate-actions-v12 input{min-height:44px;border:1px solid rgba(18,53,47,.18);border-radius:14px;padding:10px 12px;font-weight:900;color:#12352f}.qr-scanner-box-v12{margin-top:12px;border:1px solid rgba(18,53,47,.14);border-radius:18px;padding:12px;background:#fbfaf6;text-align:center}.qr-scanner-box-v12 video{width:min(100%,420px);border-radius:16px;background:#000;display:block;margin:0 auto 8px}.validate-result-v12{border:2px solid rgba(79,143,69,.25)!important}.danger-card-v12{border:2px solid rgba(148,38,41,.25)!important;background:#fffafa!important}.validate-grid-v12{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:12px 0}.validate-grid-v12 div{border:1px solid rgba(18,53,47,.12);border-radius:14px;background:#fbfaf6;padding:10px}.validate-grid-v12 b{display:block;color:#64726d;font-size:12px;margin-bottom:4px}.validate-grid-v12 span{font-weight:950;color:#12352f}.validate-line-v12{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border-bottom:1px dashed rgba(18,53,47,.14);padding:9px 0}.validate-line-v12 small{display:block;color:#64726d;margin-top:3px}.image-grid-v12{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.image-card-v12{border:1px solid rgba(18,53,47,.13);border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 8px 22px rgba(18,53,47,.05);display:grid;grid-template-rows:180px 1fr}.image-preview-v12{background:#f7f1e8;display:flex;align-items:center;justify-content:center;overflow:hidden}.image-preview-v12 img{width:100%;height:100%;object-fit:contain;display:block}.image-preview-v12 span{color:#64726d;font-weight:900}.image-card-body-v12{padding:14px;display:grid;gap:9px}.image-card-body-v12 h3{margin:0;color:#12352f;font-size:17px}.image-card-body-v12 p{margin:0;color:#40544c;font-size:13px;line-height:1.35}.image-card-body-v12 code{display:block;white-space:normal;word-break:break-all;background:#fbfaf6;border:1px solid rgba(18,53,47,.10);border-radius:12px;padding:9px;font-size:12px;color:#40544c}.image-card-body-v12 label{display:grid;gap:6px;font-weight:900;color:#12352f}.image-card-body-v12 input{border:1px solid rgba(18,53,47,.18);border-radius:13px;padding:11px 12px;min-height:42px;width:100%;min-width:0}.admin-v12 .admin-simple-nav{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important}.admin-v12 .admin-hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:900px){.validate-actions-v12{grid-template-columns:1fr}.validate-actions-v12 .btn{width:100%}.image-grid-v12{grid-template-columns:1fr}.image-card-v12{grid-template-rows:auto}.image-preview-v12{min-height:170px;height:auto}.image-preview-v12 img{max-height:240px;height:auto}.admin-v12 .admin-hero-actions{justify-content:stretch}.admin-v12 .admin-hero-actions .btn{width:100%}}
@media(max-width:560px){.validate-grid-v12{grid-template-columns:1fr}.validate-line-v12{grid-template-columns:1fr}.image-card-body-v12{padding:12px}.admin-v12 .admin-simple-nav{grid-template-columns:1fr 1fr!important}.admin-v12 .admin-simple-nav button{min-height:46px;font-size:12px;padding:9px}}


/* === V44 PORTADA ANTIGUA CORREGIDA + BOTÓN VER SERVICIOS === */
/* Corrección final para que la portada se vea completa, profesional y el botón no quede oculto. */
.chat-card.intro-mode .input-row{
  display:none !important;
}
.chat-card.intro-mode .chat-body{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:10px !important;
  background:#fbfaf6 !important;
}
.chat-card.intro-mode .msg.bot.wide{
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
  max-width:100% !important;
  background:#fff !important;
  border-radius:22px !important;
  overflow:hidden !important;
}
.intro-split-v33{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  display:grid !important;
  grid-template-columns:minmax(320px,1.15fr) minmax(320px,.85fr) !important;
  gap:0 !important;
  align-items:stretch !important;
  background:#fff !important;
  overflow:visible !important;
}
.intro-photo-v33{
  width:100% !important;
  height:430px !important;
  min-height:430px !important;
  max-height:430px !important;
  background:#f7f1e8 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
.intro-photo-v33 img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}
.intro-info-v33{
  width:100% !important;
  min-height:430px !important;
  height:auto !important;
  padding:28px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fff !important;
}
.intro-info-card-v33{
  width:100% !important;
  max-width:460px !important;
  padding:28px !important;
  border-radius:24px !important;
}
.intro-info-card-v33 h3{
  font-size:30px !important;
  line-height:1.1 !important;
  margin:0 0 16px !important;
}
.intro-info-card-v33 p{
  font-size:16px !important;
  line-height:1.48 !important;
  margin:0 0 18px !important;
}
.intro-note-v33{
  margin:0 0 20px !important;
  padding:16px !important;
  font-size:14px !important;
  line-height:1.42 !important;
}
.intro-actions-fixed-v44{
  width:100% !important;
  display:block !important;
  margin-top:8px !important;
}
.intro-btn-v33{
  width:100% !important;
  min-height:56px !important;
  font-size:18px !important;
  border-radius:16px !important;
}
@media(max-width:980px){
  .intro-split-v33{
    grid-template-columns:1fr !important;
  }
  .intro-photo-v33{
    height:280px !important;
    min-height:280px !important;
    max-height:280px !important;
  }
  .intro-info-v33{
    min-height:auto !important;
    padding:18px !important;
  }
  .intro-info-card-v33{
    max-width:100% !important;
    padding:22px !important;
  }
}
@media(max-width:560px){
  .chat-card.intro-mode .chat-body{padding:8px !important;}
  .intro-photo-v33{
    height:220px !important;
    min-height:220px !important;
    max-height:220px !important;
  }
  .intro-info-v33{padding:12px !important;}
  .intro-info-card-v33{padding:18px !important; border-radius:20px !important;}
  .intro-info-card-v33 h3{font-size:24px !important;}
  .intro-info-card-v33 p{font-size:14px !important;}
  .intro-note-v33{font-size:13px !important; padding:12px !important;}
  .intro-btn-v33{min-height:50px !important; font-size:15px !important;}
}


/* === V27: ALINEACIÓN PROFESIONAL DE PAQUETES + CIERRE PERSUASIVO === */
.paquetes-grid-v27{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}
.paquetes-grid-v27 .clean-card{
  height:100% !important;
  min-height:560px !important;
  display:grid !important;
  grid-template-rows:auto 1fr !important;
}
.paquetes-grid-v27 .clean-img{
  height:230px !important;
  min-height:230px !important;
  max-height:230px !important;
  padding:8px !important;
}
.paquetes-grid-v27 .clean-body{
  display:grid !important;
  grid-template-rows:48px 54px 72px 60px 132px auto !important;
  gap:10px !important;
  padding:16px !important;
  align-content:start !important;
}
.paquetes-grid-v27 .clean-body h3{
  min-height:48px !important;
  display:flex !important;
  align-items:flex-start !important;
  margin:0 !important;
  overflow:hidden !important;
}
.paquetes-grid-v27 .clean-price{
  min-height:54px !important;
  display:flex !important;
  align-items:center !important;
  margin:0 !important;
  line-height:1.25 !important;
}
.paquetes-grid-v27 .clean-body p{
  min-height:72px !important;
  margin:0 !important;
  overflow:hidden !important;
}
.paquetes-grid-v27 .clean-tags{
  min-height:60px !important;
  align-content:flex-start !important;
  margin:0 !important;
}
.paquetes-grid-v27 .clean-detail{
  height:132px !important;
  min-height:132px !important;
  display:grid !important;
  grid-template-rows:1fr 1fr !important;
  gap:8px !important;
  margin:0 !important;
  overflow:hidden !important;
}
.paquetes-grid-v27 .clean-detail div{
  margin:0 !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:block !important;
}
.paquetes-grid-v27 .clean-actions{
  align-self:end !important;
  margin-top:8px !important;
}
.paquetes-grid-v27 .clean-actions .btn{
  min-width:150px !important;
}
.persuasion-box-v27{
  border:1px solid rgba(18,53,47,.12);
  background:#fff;
  border-radius:22px;
  padding:18px;
  box-shadow:0 8px 22px rgba(18,53,47,.05);
}
.persuasion-box-v27 h3{
  color:#12352f;
  font-size:20px;
  margin-bottom:8px;
}
.persuasion-box-v27 p{
  color:#40544c;
  font-size:14px;
  line-height:1.5;
  margin-bottom:14px;
}
.persuasion-options-v27{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.persuasion-options-v27 button{
  border:1px solid rgba(18,53,47,.14);
  background:#fbfaf6;
  border-radius:16px;
  padding:14px;
  text-align:left;
  cursor:pointer;
}
.persuasion-options-v27 button b{
  display:block;
  color:#12352f;
  font-size:15px;
  margin-bottom:4px;
}
.persuasion-options-v27 button span{
  color:#64726d;
  font-size:13px;
  line-height:1.35;
}
@media(max-width:980px){
  .paquetes-grid-v27{grid-template-columns:1fr !important;}
  .paquetes-grid-v27 .clean-card{min-height:auto !important;}
  .paquetes-grid-v27 .clean-body{display:flex !important;}
  .paquetes-grid-v27 .clean-body h3,
  .paquetes-grid-v27 .clean-price,
  .paquetes-grid-v27 .clean-body p,
  .paquetes-grid-v27 .clean-tags,
  .paquetes-grid-v27 .clean-detail{
    min-height:0 !important;
    height:auto !important;
  }
  .persuasion-options-v27{grid-template-columns:1fr !important;}
}

/* === V38: RESPALDO ADMIN SI FALLA QR === */
.backup-search-v38{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0}.backup-search-v38 input{flex:1;min-width:240px;border:1px solid rgba(18,53,47,.16);border-radius:14px;padding:12px 14px;font-weight:800;color:#12352f;background:#fff}.backup-card-v38{border:1px solid rgba(18,53,47,.13);border-radius:18px;background:#fff;margin:12px 0;padding:14px;box-shadow:0 8px 20px rgba(18,53,47,.05)}.backup-head-v38{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px dashed rgba(18,53,47,.14);padding-bottom:10px;margin-bottom:12px}.backup-head-v38 b{display:block;color:#12352f;font-size:18px}.backup-head-v38 span{font-size:12px;color:#64726d;font-weight:800}.backup-grid-v38{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px}.backup-grid-v38 div{background:#fbfaf6;border:1px solid rgba(18,53,47,.10);border-radius:14px;padding:10px}.backup-grid-v38 small{display:block;color:#64726d;font-weight:900;font-size:11px;text-transform:uppercase;margin-bottom:4px}.backup-grid-v38 b{color:#12352f}.backup-items-v38{border:1px solid rgba(18,53,47,.10);border-radius:14px;overflow:hidden;background:#fff}.backup-item-v38{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px dashed rgba(18,53,47,.12)}.backup-item-v38:last-child{border-bottom:0}.backup-item-v38 span{font-weight:900;color:#12352f}.backup-item-v38 small{display:block;font-weight:700;color:#64726d;margin-top:3px}.visit-ok-v38{color:#2f6530!important}.visit-pending-v38{color:#8a4a0a!important}.backup-inline-v38{margin-top:14px}.admin-v38 .admin-simple-nav{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.main-only-v38{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important}.main-only-v38 button{text-align:left!important;min-height:94px!important}
@media(max-width:560px){.backup-search-v38{display:grid}.backup-search-v38 input{min-width:0;width:100%}.backup-head-v38{align-items:flex-start;flex-direction:column}.backup-item-v38{flex-direction:column}.main-only-v38{grid-template-columns:1fr!important}}

/* === V40 admin simplificado === */
.admin-v40 .admin-simple-nav{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}
.admin-v40 .agenda-toolbar-v6{gap:12px!important}
.admin-v40 .key-v40{display:block;font-size:12px;color:#64726d;margin-top:3px}.admin-v40 .key-v40 b{color:#12352f}.validate-key-v40{background:#fff7ea;border:1px solid rgba(246,130,31,.25);border-radius:14px;padding:10px 12px;margin:10px 0;color:#12352f}.admin-v40 .image-card-v12 input{font-weight:800}.admin-v40 .soft-note{margin-bottom:12px}

/* === V41: canceladas separadas === */
.agenda-delete-cancel-v41{
  margin-top:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  padding:7px 10px;
  background:#fff0f0;
  color:#942629;
  border:1px solid rgba(148,38,41,.25);
  font-weight:950;
  font-size:12px;
}

/* === FINAL DEMO: TARJETAS PAQUETES ALINEADAS SIN CORTAR TEXTO === */
.paquetes-grid-v27{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:stretch !important;
  gap:18px !important;
}
.paquetes-grid-v27 .clean-card{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  min-height:640px !important;
  overflow:visible !important;
}
.paquetes-grid-v27 .clean-img{
  flex:0 0 250px !important;
  height:250px !important;
  min-height:250px !important;
  max-height:250px !important;
  padding:10px !important;
  background:#f7f1e8 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
.paquetes-grid-v27 .clean-img img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
}
.paquetes-grid-v27 .clean-body{
  flex:1 !important;
  display:flex !important;
  flex-direction:column !important;
  height:auto !important;
  min-height:390px !important;
  padding:16px !important;
  overflow:visible !important;
}
.paquetes-grid-v27 .clean-body h3{
  min-height:48px !important;
  margin:0 !important;
  display:flex !important;
  align-items:flex-start !important;
}
.paquetes-grid-v27 .clean-price{
  min-height:56px !important;
  display:flex !important;
  align-items:flex-start !important;
}
.paquetes-grid-v27 .clean-body p{
  min-height:66px !important;
  margin:0 !important;
  overflow:visible !important;
}
.paquetes-grid-v27 .clean-tags{
  min-height:58px !important;
  align-content:flex-start !important;
}
.paquetes-grid-v27 .clean-detail{
  min-height:150px !important;
  display:grid !important;
  grid-template-rows:minmax(66px,auto) minmax(66px,auto) !important;
  gap:8px !important;
  margin-top:auto !important;
}
.paquetes-grid-v27 .clean-detail div{
  min-height:66px !important;
  height:auto !important;
  overflow:visible !important;
  display:block !important;
}
.paquetes-grid-v27 .clean-actions{
  margin-top:18px !important;
  display:flex !important;
  align-items:flex-end !important;
}
.paquetes-grid-v27 .clean-actions .btn{
  width:100% !important;
  min-height:48px !important;
}
.chat-body{
  padding-bottom:22px !important;
}
@media(max-width:1100px){
  .paquetes-grid-v27{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:700px){
  .paquetes-grid-v27{grid-template-columns:1fr !important;}
  .paquetes-grid-v27 .clean-card{min-height:auto !important;}
  .paquetes-grid-v27 .clean-body h3,
  .paquetes-grid-v27 .clean-price,
  .paquetes-grid-v27 .clean-body p,
  .paquetes-grid-v27 .clean-tags,
  .paquetes-grid-v27 .clean-detail{min-height:0 !important;}
}

/* === FINAL DEMO: ADMIN EN 6 PASOS CLAROS === */
.admin-six-nav-final{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(130px,1fr)) !important;
  gap:10px !important;
  margin:14px 0 18px !important;
}
.admin-six-nav-final button{
  border:1px solid rgba(18,53,47,.14) !important;
  background:#fff !important;
  color:#12352f !important;
  border-radius:18px !important;
  padding:14px 12px !important;
  min-height:70px !important;
  font-weight:950 !important;
  cursor:pointer !important;
  box-shadow:0 8px 18px rgba(18,53,47,.05) !important;
  text-align:left !important;
}
.admin-six-nav-final button span{
  display:block !important;
  font-size:12px !important;
  font-weight:800 !important;
  color:#64726d !important;
  margin-top:4px !important;
}
.admin-six-nav-final button.active{
  background:#12352f !important;
  color:#fff !important;
  border-color:#12352f !important;
}
.admin-six-nav-final button.active span{color:rgba(255,255,255,.86) !important;}
.more-grid-final{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:12px;
  margin-top:12px;
}
.more-grid-final button{
  border:1px solid rgba(18,53,47,.13);
  background:#fff;
  border-radius:18px;
  padding:16px;
  text-align:left;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(18,53,47,.05);
}
.more-grid-final b{display:block;color:#12352f;margin-bottom:4px;}
.more-grid-final span{font-size:13px;color:#64726d;line-height:1.35;}
@media(max-width:1100px){.admin-six-nav-final{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}}
@media(max-width:620px){.admin-six-nav-final{grid-template-columns:1fr 1fr !important}.admin-six-nav-final button{min-height:64px;padding:12px 10px !important;font-size:13px !important}}

/* === V47 ADMIN: boletos sin scroll y más opciones limpio === */
.no-x-v47{overflow-x:visible!important;}
.tickets-no-scroll-v47 .admin-table-wrap{overflow-x:visible!important;}
.ticket-card-list-v47{display:grid;gap:10px;margin-top:14px;}
.ticket-admin-card-v47{display:grid;grid-template-columns:1.1fr 1.1fr .9fr .7fr auto;gap:10px;align-items:center;border:1px solid rgba(18,53,47,.12);background:#fff;border-radius:18px;padding:12px;box-shadow:0 8px 18px rgba(18,53,47,.04);cursor:pointer;}
.ticket-admin-card-v47 small{display:block;color:#64726d;font-weight:800;font-size:11px;margin-bottom:3px;}
.ticket-admin-card-v47 b{display:block;color:#12352f;font-size:14px;line-height:1.15;word-break:break-word;}
.ticket-admin-card-v47 span{display:block;color:#40544c;font-size:12px;line-height:1.25;margin-top:3px;}
.ticket-actions-v47{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.ticket-actions-v47 button{border:1px solid rgba(18,53,47,.14);background:#fff;color:#12352f;border-radius:10px;padding:7px 9px;font-weight:900;cursor:pointer;font-size:12px;}
.ticket-actions-v47 button.danger{background:#fff0f0;color:#942629;border-color:rgba(148,38,41,.25);}
.more-grid-final.only-two-v47{grid-template-columns:repeat(2,minmax(240px,1fr))!important;max-width:720px;}
@media(max-width:1000px){.ticket-admin-card-v47{grid-template-columns:1fr 1fr;}.ticket-actions-v47{justify-content:flex-start;grid-column:1/-1;}}
@media(max-width:640px){.ticket-admin-card-v47{grid-template-columns:1fr;}.more-grid-final.only-two-v47{grid-template-columns:1fr!important;}}

/* === FIX FINAL: Reservas y Boletos sin scroll horizontal === */
.admin-table-wrap,
.catalog-table-wrap-v10,
.admin-content .admin-table-wrap{
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
  overflow-y:visible !important;
}

.admin-table,
.catalog-table-v10{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  table-layout:fixed !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
}

.admin-table th,
.admin-table td{
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
  vertical-align:top !important;
  padding:9px 8px !important;
  font-size:12px !important;
  line-height:1.25 !important;
}

.admin-table th{
  font-size:12px !important;
}

.admin-row-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:5px !important;
  min-width:0 !important;
}

.admin-row-actions button,
.admin-table button{
  min-height:30px !important;
  padding:6px 8px !important;
  font-size:11px !important;
  border-radius:9px !important;
  white-space:normal !important;
}

/* Reservas: columnas comprimidas para que entren completas */
.admin-table th:nth-child(1), .admin-table td:nth-child(1){width:11% !important;}
.admin-table th:nth-child(2), .admin-table td:nth-child(2){width:12% !important;}
.admin-table th:nth-child(3), .admin-table td:nth-child(3){width:13% !important;}
.admin-table th:nth-child(4), .admin-table td:nth-child(4){width:15% !important;}
.admin-table th:nth-child(5), .admin-table td:nth-child(5){width:7% !important;}
.admin-table th:nth-child(6), .admin-table td:nth-child(6){width:7% !important;}
.admin-table th:nth-child(7), .admin-table td:nth-child(7){width:13% !important;}
.admin-table th:nth-child(8), .admin-table td:nth-child(8){width:22% !important;}
.admin-table th:nth-child(9), .admin-table td:nth-child(9){width:22% !important;}

/* En tablas con 9 columnas, ajusta mejor Reservas */
.admin-table th:nth-child(9),
.admin-table td:nth-child(9){
  width:20% !important;
}

/* Panel de reservas/boletos ocupa bien el espacio, sin cortar el inicio */
.admin-main-grid,
.admin-grid,
.admin-content-grid{
  grid-template-columns:minmax(0,1fr) minmax(260px,390px) !important;
}

.admin-card{
  max-width:100% !important;
  overflow:hidden !important;
}

/* Boletos: no permitir barra inferior */
.admin-card .admin-table-wrap::-webkit-scrollbar{
  height:0 !important;
}

/* Móvil: tabla tipo tarjeta, sin scroll lateral */
@media(max-width:900px){
  .admin-main-grid,
  .admin-grid,
  .admin-content-grid{
    grid-template-columns:1fr !important;
  }
  .admin-table,
  .admin-table thead,
  .admin-table tbody,
  .admin-table th,
  .admin-table td,
  .admin-table tr{
    display:block !important;
    width:100% !important;
  }
  .admin-table thead{
    display:none !important;
  }
  .admin-table tr{
    border:1px solid rgba(18,53,47,.12) !important;
    border-radius:14px !important;
    margin:10px 0 !important;
    overflow:hidden !important;
    background:#fff !important;
  }
  .admin-table td{
    display:grid !important;
    grid-template-columns:120px 1fr !important;
    gap:8px !important;
    border-bottom:1px solid rgba(18,53,47,.08) !important;
  }
  .admin-table td::before{
    content:attr(data-label) !important;
    font-weight:950 !important;
    color:#12352f !important;
  }
  .admin-table td:last-child{
    border-bottom:0 !important;
  }
  .admin-row-actions{
    justify-content:flex-start !important;
  }
}

/* === V48: Reservas amplias y limpias, sin scroll horizontal === */
.reservations-layout-v48{
  display:grid !important;
  grid-template-columns:minmax(0,1.65fr) minmax(320px,.95fr) !important;
  gap:16px !important;
  align-items:start !important;
}
.reservations-card-v48{overflow:visible !important;}
.records-list-v48{display:grid !important;gap:12px !important;margin-top:14px !important;}
.admin-record-card-v48{
  width:100% !important;
  border:1px solid rgba(18,53,47,.13) !important;
  background:#fff !important;
  border-radius:18px !important;
  padding:14px !important;
  text-align:left !important;
  cursor:pointer !important;
  box-shadow:0 8px 18px rgba(18,53,47,.04) !important;
  display:grid !important;
  gap:12px !important;
}
.admin-record-card-v48.active,
.admin-record-card-v48:hover{background:#eef7eb !important;border-color:rgba(79,143,69,.32) !important;}
.record-main-v48{
  display:grid !important;
  grid-template-columns:1.15fr 1.1fr .9fr 1.45fr .55fr .75fr !important;
  gap:12px !important;
  align-items:start !important;
}
.record-main-v48>div{min-width:0 !important;}
.record-main-v48 small{
  display:block !important;
  color:#64726d !important;
  font-size:11px !important;
  font-weight:900 !important;
  margin-bottom:4px !important;
}
.record-main-v48 b{
  display:block !important;
  color:#12352f !important;
  font-size:14px !important;
  line-height:1.2 !important;
  overflow-wrap:anywhere !important;
}
.record-main-v48 span{
  display:block !important;
  color:#40544c !important;
  font-size:12px !important;
  line-height:1.25 !important;
  margin-top:3px !important;
  overflow-wrap:anywhere !important;
}
.record-total-v48 b{font-size:16px !important;}
.record-total-v48 span{font-size:16px !important;font-weight:950 !important;color:#12352f !important;}
.record-actions-v48{
  display:flex !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  justify-content:flex-start !important;
  border-top:1px dashed rgba(18,53,47,.13) !important;
  padding-top:10px !important;
}
.record-actions-v48 button{
  border:1px solid rgba(18,53,47,.15) !important;
  background:#fff !important;
  color:#12352f !important;
  border-radius:12px !important;
  min-height:34px !important;
  padding:7px 11px !important;
  font-weight:950 !important;
  cursor:pointer !important;
  font-size:12px !important;
}
.record-actions-v48 .danger{background:#fff0f0 !important;color:#942629 !important;border-color:rgba(148,38,41,.24) !important;}
.detail-side-v48{min-width:0 !important;}
.detail-side-v48 .admin-detail-panel{position:sticky !important;top:14px !important;}

@media(max-width:1100px){
  .reservations-layout-v48{grid-template-columns:1fr !important;}
  .detail-side-v48 .admin-detail-panel{position:relative !important;top:auto !important;}
}
@media(max-width:760px){
  .record-main-v48{grid-template-columns:1fr 1fr !important;}
  .record-service-v48{grid-column:1 / -1 !important;}
}
@media(max-width:480px){
  .record-main-v48{grid-template-columns:1fr !important;}
  .record-actions-v48 button{flex:1 1 auto !important;}
}

/* === V49: Reservas bien diseñadas, sin botones apilados ni scroll horizontal === */
.reservations-layout-v49{
  display:grid !important;
  grid-template-columns:minmax(0,1.35fr) minmax(360px,.75fr) !important;
  gap:16px !important;
  align-items:start !important;
}
.reservations-card-v49,
.detail-side-v49{min-width:0 !important;}
.records-list-v49{
  display:grid !important;
  gap:10px !important;
  margin-top:14px !important;
}
.admin-record-card-v49{
  width:100% !important;
  display:grid !important;
  grid-template-columns:1.05fr 1.1fr .9fr 1.55fr .65fr .75fr !important;
  gap:12px !important;
  align-items:center !important;
  border:1px solid rgba(18,53,47,.14) !important;
  background:#fff !important;
  border-radius:18px !important;
  padding:14px !important;
  cursor:pointer !important;
  box-shadow:0 8px 18px rgba(18,53,47,.04) !important;
}
.admin-record-card-v49.active,
.admin-record-card-v49:hover{
  background:#eef7eb !important;
  border-color:rgba(79,143,69,.38) !important;
}
.admin-record-card-v49>div{min-width:0 !important;}
.admin-record-card-v49 small{
  display:block !important;
  color:#64726d !important;
  font-size:11px !important;
  font-weight:950 !important;
  margin-bottom:4px !important;
}
.admin-record-card-v49 b{
  display:block !important;
  color:#12352f !important;
  font-size:14px !important;
  line-height:1.2 !important;
  overflow-wrap:anywhere !important;
}
.admin-record-card-v49 span{
  display:block !important;
  color:#40544c !important;
  font-size:12px !important;
  line-height:1.25 !important;
  margin-top:3px !important;
  overflow-wrap:anywhere !important;
}
.record-total-v49 b{font-size:18px !important;}
.record-status-v49 .badge{white-space:normal !important;}
.detail-side-v49 .admin-detail-panel{
  position:sticky !important;
  top:14px !important;
}
.detail-side-v49 .admin-actions{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
}
.detail-side-v49 .admin-actions .btn{
  width:100% !important;
  min-height:42px !important;
  font-size:13px !important;
}
@media(max-width:980px){
  .reservations-layout-v49{grid-template-columns:1fr !important;}
  .detail-side-v49 .admin-detail-panel{position:relative !important;top:auto !important;}
}
@media(max-width:760px){
  .admin-record-card-v49{grid-template-columns:1fr 1fr !important;}
  .record-service-v49{grid-column:1 / -1 !important;}
}
@media(max-width:480px){
  .admin-record-card-v49{grid-template-columns:1fr !important;}
  .detail-side-v49 .admin-actions{grid-template-columns:1fr !important;}
}

/* === V51: estado claro y botones funcionales === */
.admin-confirmed-v51,
.admin-pending-v51{
  border-radius:16px;
  padding:12px 14px;
  margin:10px 0 14px;
  line-height:1.35;
  border:1px solid rgba(18,53,47,.14);
}
.admin-confirmed-v51{background:#eef7eb;color:#12352f;border-color:rgba(79,143,69,.30)}
.admin-pending-v51{background:#fff7ea;color:#5b3b15;border-color:rgba(246,130,31,.28)}
.admin-confirmed-v51 span,.admin-pending-v51 span{font-size:13px;display:block;margin-top:3px}
.admin-detail-panel .admin-actions .btn{min-width:150px}

/* === V52: Admin reducido a 4 pasos === */
.admin-four-nav-v52{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
.admin-v52 .admin-hero h1{letter-spacing:-.5px}
.orders-layout-v52 .admin-record-card-v49{cursor:pointer}
.more-grid-v52{
  grid-template-columns:repeat(2,minmax(240px,1fr)) !important;
  max-width:760px;
}
.more-grid-v52 button{
  min-height:118px;
}
@media(max-width:900px){
  .admin-four-nav-v52{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .more-grid-v52{grid-template-columns:1fr !important;max-width:none;}
}
@media(max-width:560px){
  .admin-four-nav-v52{grid-template-columns:1fr !important;}
}

/* === V54: HORAS VISIBLES EN CELULAR Y TABLET ===
   La regla de la cabecera ocultaba por error cualquier elemento .hours.
   Esta correccion muestra nuevamente los horarios dentro del cuerpo del chat. */
@media (max-width:900px){
  .chat-body .hours{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin:12px 0 4px !important;
    padding:0 !important;
    overflow:visible !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:9px !important;
  }
  .chat-body .hour-btn{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-width:0 !important;
    min-height:46px !important;
    padding:10px 6px !important;
    border-radius:13px !important;
    font-size:14px !important;
    white-space:nowrap !important;
  }
}
@media (max-width:560px){
  .chat-body .hours{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .chat-body .hour-btn{
    min-height:48px !important;
    font-size:15px !important;
  }
}

/* === V55: MENÚ DE SERVICIOS SIN DESPLAZAMIENTO INICIAL + RESPONSIVE FINAL === */
html,body{
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}
.app,.top,.screen,.chat-card,.chat-head,.mobile-header-final,.chat-body,.input-row{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}
.chat-body{
  overflow-x:hidden !important;
  overscroll-behavior-x:none !important;
  scrollbar-gutter:stable;
}
.section-menu-clean{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:visible !important;
}
.section-menu-card{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
  overflow-wrap:anywhere !important;
}
.section-menu-card b,
.section-menu-card span{
  max-width:100% !important;
  overflow-wrap:anywhere !important;
}

@media (max-width:900px){
  .screen{
    padding:10px !important;
    overflow-x:hidden !important;
  }
  .chat-card{
    margin:0 !important;
    border-radius:18px !important;
    overflow:hidden !important;
  }
  .chat-body{
    padding:12px !important;
    scroll-behavior:auto !important;
  }
  .section-menu-clean{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    margin-top:12px !important;
  }
  .section-menu-card{
    min-height:92px !important;
    padding:13px !important;
  }
  .clean-grid,
  .food-layout-v5,
  .final-summary-clean,
  .location-video-wrap-v24,
  .ticket-card-v8{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
}

@media (max-width:560px){
  .screen{padding:6px !important;}
  .chat-body{padding:9px !important;}
  .section-menu-clean{
    grid-template-columns:1fr !important;
    gap:8px !important;
    margin-top:9px !important;
  }
  .section-menu-card{
    min-height:78px !important;
    padding:12px !important;
    border-radius:15px !important;
  }
  .section-menu-card b{font-size:14px !important;}
  .section-menu-card span{font-size:12px !important;line-height:1.3 !important;}
}

/* === V56: PANEL ADMIN MÓVIL/TABLET - MENÚS VISIBLES Y BOTONES CLICABLES === */
.admin-v52 .admin-hero,
.admin-v52 .admin-quick-kpis-v9,
.admin-v52 .admin-four-nav-v52,
.admin-v52 .admin-content{
  position:relative !important;
  z-index:1 !important;
}
.admin-v52 .admin-hero-actions,
.admin-v52 .admin-hero-actions .btn,
.admin-v52 .admin-four-nav-v52 button,
.admin-v52 .admin-quick-kpis-v9 button,
.admin-v52 .simple-edit-grid-v9 button,
.admin-v52 .more-grid-v52 button{
  pointer-events:auto !important;
  touch-action:manipulation !important;
  cursor:pointer !important;
  position:relative !important;
  z-index:3 !important;
}

@media (max-width:900px){
  .admin-v52{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }
  .admin-v52 .admin-hero.simple-hero-v9{
    padding:14px !important;
    gap:12px !important;
  }
  .admin-v52 .admin-hero-actions{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }
  .admin-v52 .admin-hero-actions .btn{
    width:100% !important;
    min-width:0 !important;
    min-height:42px !important;
  }
  .admin-v52 .admin-quick-kpis-v9{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }
  /* Los cuatro menús principales siempre visibles en una cuadrícula 2 x 2. */
  .admin-v52 .admin-four-nav-v52{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
    margin:12px 0 14px !important;
  }
  .admin-v52 .admin-four-nav-v52 button{
    width:100% !important;
    min-width:0 !important;
    min-height:68px !important;
    padding:11px 12px !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }
  .admin-v52 .admin-four-nav-v52 button span{
    display:block !important;
    margin-top:4px !important;
  }
  /* Submenús de Editar página: imágenes, paquetes, servicios y datos generales. */
  .admin-v52 .simple-edit-grid-v9{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  .admin-v52 .simple-edit-grid-v9 button{
    width:100% !important;
    min-width:0 !important;
    min-height:104px !important;
    padding:14px !important;
  }
  .admin-v52 .more-grid-v52{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    max-width:none !important;
  }
}

@media (max-width:560px){
  .admin-v52 .admin-hero.simple-hero-v9 h1{
    font-size:24px !important;
    line-height:1.1 !important;
  }
  .admin-v52 .admin-hero.simple-hero-v9 p{
    font-size:12px !important;
    line-height:1.35 !important;
  }
  .admin-v52 .admin-hero-actions{
    grid-template-columns:1fr !important;
  }
  /* Se mantiene 2 x 2 también en teléfono para que no parezca que faltan menús. */
  .admin-v52 .admin-four-nav-v52{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .admin-v52 .admin-four-nav-v52 button{
    min-height:72px !important;
    padding:10px !important;
    font-size:13px !important;
  }
  .admin-v52 .admin-four-nav-v52 button span{
    font-size:11px !important;
    line-height:1.2 !important;
  }
  .admin-v52 .simple-edit-grid-v9,
  .admin-v52 .more-grid-v52{
    grid-template-columns:1fr !important;
  }
}
