
: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:"Colfax","Colfax Medium","Aptos","Inter","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}}




/* =========================================================
   FIX V13.3 - PORTADA FORMATO ORIGINAL
   Portada ancha tipo banner, sin barras y sin texto cortado.
   ========================================================= */
.intro-photo-v33{
  background:#12352f !important;
  min-height:390px !important;
  height:390px !important;
  overflow:hidden !important;
}
.intro-photo-v33 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-info-v33{
  min-height:390px !important;
}
.intro-info-card-v33 h3{
  font-size:30px !important;
  line-height:1.12 !important;
}
@media (max-width:760px){
  .intro-photo-v33{
    height:240px !important;
    min-height:240px !important;
  }
  .intro-info-v33{
    min-height:auto !important;
  }
}


/* =========================================================
   FIX V13.4 - BOTÓN VERDE VISIBLE EN PORTADA
   Reduce el bloque derecho y coloca el botón antes de la nota.
   ========================================================= */
.intro-info-v33{
  min-height:390px !important;
  padding:24px !important;
}
.intro-info-card-v33{
  padding:26px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:14px !important;
}
.intro-info-card-v33 h3{
  font-size:30px !important;
  margin:0 !important;
}
.intro-info-card-v33 p{
  font-size:17px !important;
  line-height:1.45 !important;
  margin:0 !important;
}
.intro-btn-v33{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:54px !important;
  margin:4px 0 !important;
  font-size:17px !important;
  border-radius:16px !important;
}
.intro-note-v33{
  margin:0 !important;
  padding:14px !important;
  grid-template-columns:48px 1fr !important;
  font-size:14px !important;
}
.note-icon-v33{
  width:48px !important;
  height:48px !important;
}
@media (max-width:760px){
  .intro-info-card-v33{
    padding:22px !important;
  }
  .intro-info-card-v33 h3{
    font-size:26px !important;
  }
}




/* =========================================================
   FIX V13.8 - SIN LOGO / SIN BOTÓN CLIENTE / ADMIN OCULTO CON CLAVE
   Admin: 3 clics/toques en el nombre Las Tres Cascadas + clave.
   Clave: tres26tres
   ========================================================= */
.brand-mark{
  display:none !important;
}
.tabs,
.tabs-hidden-v13,
#clientTab,
#adminTab{
  display:none !important;
}
.brand{
  cursor:pointer !important;
  user-select:none !important;
}
.admin-hidden-hint{
  position:fixed;
  left:50%;
  top:18px;
  transform:translateX(-50%);
  background:#12352f;
  color:#fff;
  padding:10px 14px;
  border-radius:999px;
  font-weight:900;
  font-size:13px;
  z-index:99999;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}


/* =========================================================
   FIX V13.9 - TEXTO INICIAL EN FORMA DE TIPEO
   Primero escribe el saludo y luego aparecen el botón y la nota.
   ========================================================= */
.typewriter-intro-v13 h3,
.typewriter-intro-v13 p{
  white-space:normal !important;
}
.typewriter-intro-v13 h3::after,
.typewriter-intro-v13 p::after{
  content:"|";
  display:inline-block;
  margin-left:3px;
  animation:typeBlinkV13 .75s steps(1) infinite;
  color:#12352f;
  font-weight:900;
}
.intro-actions-hidden-v13{
  opacity:0;
  transform:translateY(10px);
  pointer-events:none;
  transition:opacity .38s ease, transform .38s ease;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.intro-actions-hidden-v13.show{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
@keyframes typeBlinkV13{
  0%,49%{opacity:1}
  50%,100%{opacity:0}
}


/* =========================================================
   FIX V14.1 - PORTADA NUEVA REAL, SIN FRANJAS Y RESPONSIVA
   ========================================================= */
.chat-card.intro-mode{
  height:auto !important;
  min-height:calc(100dvh - 120px) !important;
}

.chat-card.intro-mode .chat-body{
  padding:clamp(14px,2vw,24px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}

.intro-split-v33{
  width:100% !important;
  max-width:100% !important;
  min-height:auto !important;
  max-height:none !important;
  display:grid !important;
  grid-template-columns:minmax(420px,1.28fr) minmax(320px,.82fr) !important;
  gap:24px !important;
  align-items:center !important;
  background:transparent !important;
  overflow:visible !important;
}

.intro-photo-v33{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:16 / 9 !important;
  padding:0 !important;
  border-radius:24px !important;
  border:1px solid rgba(18,53,47,.12) !important;
  background:#12352f !important;
  box-shadow:0 18px 44px rgba(18,53,47,.12) !important;
  overflow:hidden !important;
  display:block !important;
}

.intro-photo-v33 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;
  border-radius:0 !important;
  background:transparent !important;
}

.intro-info-v33{
  min-height:auto !important;
  height:auto !important;
  padding:0 !important;
  background:transparent !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.intro-info-card-v33{
  width:100% !important;
  max-width:520px !important;
  min-height:auto !important;
  padding:28px !important;
}

@media (max-width:1024px){
  .intro-split-v33{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .intro-photo-v33{
    aspect-ratio:16 / 9 !important;
    border-radius:22px !important;
  }

  .intro-info-card-v33{
    max-width:100% !important;
  }
}

@media (max-width:560px){
  .screen{
    padding:10px !important;
  }

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

  .intro-split-v33{
    gap:12px !important;
  }

  .intro-photo-v33{
    aspect-ratio:16 / 9 !important;
    border-radius:18px !important;
  }

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

  .intro-info-card-v33 h3{
    font-size:26px !important;
  }

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



/* =========================================================
   FIX V14.9 - CABAÑAS / HOSPEDAJE EXACTO
   PC y tablet: 2 columnas.
   Celular: 1 columna.
   Tarjeta cuadrada, banner cuadrado y completo.
   ========================================================= */

.cabanas-grid-v149{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:18px !important;
  width:100% !important;
  align-items:stretch !important;
}

.cabanas-grid-v149 .clean-card{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  display:grid !important;
  grid-template-rows:auto auto !important;
  border-radius:20px !important;
  overflow:hidden !important;
}

.cabanas-grid-v149 .clean-img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  padding:0 !important;
  margin:0 !important;
  background:#f7f1e8 !important;
  display:block !important;
  overflow:hidden !important;
}

.cabanas-grid-v149 .clean-img img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}

.cabanas-grid-v149 .clean-body{
  padding:16px !important;
}

.cabanas-grid-v149 .clean-body h3{
  font-size:20px !important;
  line-height:1.15 !important;
  margin-bottom:8px !important;
}

.cabanas-grid-v149 .clean-price{
  font-size:22px !important;
  font-weight:950 !important;
  margin-bottom:10px !important;
}

.cabanas-grid-v149 .clean-body p{
  font-size:14px !important;
  line-height:1.35 !important;
}

.cabanas-grid-v149 .clean-detail{
  display:none !important;
}

.cabanas-grid-v149 .clean-tags{
  margin-top:10px !important;
}

@media(max-width:760px){
  .cabanas-grid-v149{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   FIX V15 DEFINITIVO - CABAÑAS/HOSPEDAJE 2x2
   Solo esta sección: dos columnas exactas y tarjetas cuadradas.
   ========================================================= */
#screen .chat-body .cabanas-grid-v15,
.chat-body .cabanas-grid-v15,
.cabanas-grid-v15{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:18px !important;
  width:100% !important;
  max-width:100% !important;
  align-items:start !important;
}

#screen .chat-body .cabanas-grid-v15 .clean-card,
.chat-body .cabanas-grid-v15 .clean-card,
.cabanas-grid-v15 .clean-card{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  aspect-ratio:1 / 1 !important;
  height:auto !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}

#screen .chat-body .cabanas-grid-v15 .clean-img,
.chat-body .cabanas-grid-v15 .clean-img,
.cabanas-grid-v15 .clean-img{
  flex:0 0 56% !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  padding:0 !important;
  margin:0 !important;
  background:#f7f1e8 !important;
  overflow:hidden !important;
}

#screen .chat-body .cabanas-grid-v15 .clean-img img,
.chat-body .cabanas-grid-v15 .clean-img img,
.cabanas-grid-v15 .clean-img img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  max-width:none !important;
  max-height:none !important;
}

#screen .chat-body .cabanas-grid-v15 .clean-body,
.chat-body .cabanas-grid-v15 .clean-body,
.cabanas-grid-v15 .clean-body{
  flex:1 1 auto !important;
  min-height:0 !important;
  padding:14px 16px !important;
  overflow:hidden !important;
}

.cabanas-grid-v15 .clean-body h3{
  font-size:19px !important;
  line-height:1.12 !important;
  margin:0 0 6px !important;
}

.cabanas-grid-v15 .clean-price{
  font-size:21px !important;
  margin:0 0 7px !important;
}

.cabanas-grid-v15 .clean-body p{
  font-size:13px !important;
  line-height:1.28 !important;
  margin:0 0 8px !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

.cabanas-grid-v15 .clean-detail{
  display:none !important;
}

.cabanas-grid-v15 .clean-tags{
  display:flex !important;
  gap:6px !important;
  flex-wrap:wrap !important;
  max-height:62px !important;
  overflow:hidden !important;
}

.cabanas-grid-v15 .clean-tags span{
  font-size:12px !important;
  padding:6px 9px !important;
}

.cabanas-grid-v15 .clean-actions{
  display:none !important;
}

@media(max-width:640px){
  #screen .chat-body .cabanas-grid-v15,
  .chat-body .cabanas-grid-v15,
  .cabanas-grid-v15{
    grid-template-columns:1fr !important;
  }
  .cabanas-grid-v15 .clean-card{
    aspect-ratio:auto !important;
  }
  .cabanas-grid-v15 .clean-img{
    aspect-ratio:1 / 1 !important;
    flex:none !important;
  }
}

/* =========================================================
   FIX FINAL CABAÑAS/HOSPEDAJE - banners completos + info + botón
   ========================================================= */
#screen .chat-body .cabanas-grid-v15,
.chat-body .cabanas-grid-v15,
.cabanas-grid-v15{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
  width:100% !important;
  align-items:stretch !important;
}

#screen .chat-body .cabanas-grid-v15 .clean-card,
.chat-body .cabanas-grid-v15 .clean-card,
.cabanas-grid-v15 .clean-card{
  aspect-ratio:auto !important;
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  border-radius:20px !important;
}

#screen .chat-body .cabanas-grid-v15 .clean-img,
.chat-body .cabanas-grid-v15 .clean-img,
.cabanas-grid-v15 .clean-img{
  width:100% !important;
  aspect-ratio:1 / 1 !important;
  height:auto !important;
  flex:0 0 auto !important;
  background:#f7f1e8 !important;
  overflow:hidden !important;
}

#screen .chat-body .cabanas-grid-v15 .clean-img img,
.chat-body .cabanas-grid-v15 .clean-img img,
.cabanas-grid-v15 .clean-img img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
}

#screen .chat-body .cabanas-grid-v15 .clean-body,
.chat-body .cabanas-grid-v15 .clean-body,
.cabanas-grid-v15 .clean-body{
  padding:14px 16px 16px !important;
  overflow:visible !important;
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
}

.cabanas-grid-v15 .clean-body h3{
  font-size:18px !important;
  line-height:1.15 !important;
  margin:0 !important;
}

.cabanas-grid-v15 .clean-price{
  font-size:20px !important;
  line-height:1.1 !important;
  margin:0 !important;
}

.cabanas-grid-v15 .clean-body p{
  display:block !important;
  -webkit-line-clamp:unset !important;
  overflow:visible !important;
  font-size:13px !important;
  line-height:1.35 !important;
  margin:0 !important;
}

.cabanas-grid-v15 .clean-tags{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  max-height:none !important;
  overflow:visible !important;
}

.cabanas-grid-v15 .clean-tags span{
  font-size:11.5px !important;
  line-height:1.2 !important;
  padding:5px 8px !important;
}

.cabanas-grid-v15 .clean-detail{
  display:none !important;
}

.cabanas-grid-v15 .clean-actions{
  display:flex !important;
  margin-top:auto !important;
}

.cabanas-grid-v15 .clean-actions .btn{
  width:100% !important;
  justify-content:center !important;
}

@media(max-width:900px){
  #screen .chat-body .cabanas-grid-v15,
  .chat-body .cabanas-grid-v15,
  .cabanas-grid-v15{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:560px){
  #screen .chat-body .cabanas-grid-v15,
  .chat-body .cabanas-grid-v15,
  .cabanas-grid-v15{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   CORRECCION DEFINITIVA: CABAÑAS / HOSPEDAJE = 2 COLUMNAS
   ========================================================= */
#screen .chat-card .chat-body .msg .cabanas-grid-v15,
#screen .chat-body .msg .cabanas-grid-v15,
#screen .chat-body .cabanas-grid-v15,
.chat-card .chat-body .msg .cabanas-grid-v15,
.chat-body .msg .cabanas-grid-v15,
.cabanas-grid-v15{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:18px !important;
  width:100% !important;
  max-width:100% !important;
  align-items:stretch !important;
}

#screen .chat-card .chat-body .msg .cabanas-grid-v15 > .clean-card,
#screen .chat-body .msg .cabanas-grid-v15 > .clean-card,
.cabanas-grid-v15 > .clean-card{
  width:100% !important;
  min-width:0 !important;
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  border-radius:20px !important;
}

#screen .chat-card .chat-body .msg .cabanas-grid-v15 .clean-img,
#screen .chat-body .msg .cabanas-grid-v15 .clean-img,
.cabanas-grid-v15 .clean-img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  flex:0 0 auto !important;
  background:#f7f1e8 !important;
  overflow:hidden !important;
}

#screen .chat-card .chat-body .msg .cabanas-grid-v15 .clean-img img,
#screen .chat-body .msg .cabanas-grid-v15 .clean-img img,
.cabanas-grid-v15 .clean-img img{
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
}

#screen .chat-card .chat-body .msg .cabanas-grid-v15 .clean-body,
#screen .chat-body .msg .cabanas-grid-v15 .clean-body,
.cabanas-grid-v15 .clean-body{
  padding:14px 16px 16px !important;
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  overflow:visible !important;
}

.cabanas-grid-v15 .clean-detail{display:none !important;}
.cabanas-grid-v15 .clean-actions{margin-top:auto !important;display:flex !important;}
.cabanas-grid-v15 .clean-actions .btn{width:100% !important;justify-content:center !important;}

@media(max-width:900px){
  #screen .chat-card .chat-body .msg .cabanas-grid-v15,
  #screen .chat-body .msg .cabanas-grid-v15,
  .cabanas-grid-v15{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media(max-width:560px){
  #screen .chat-card .chat-body .msg .cabanas-grid-v15,
  #screen .chat-body .msg .cabanas-grid-v15,
  .cabanas-grid-v15{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   FIX CAMPING SECCION INDEPENDIENTE
   ========================================================= */
.clean-grid:not(.cabanas-grid-v15) > .clean-card:has(img[src*="camping-banner"]){
  max-width:760px !important;
  width:100% !important;
  margin:0 auto !important;
}
.clean-grid:not(.cabanas-grid-v15) > .clean-card:has(img[src*="camping-banner"]) .clean-img{
  width:100% !important;
  aspect-ratio:1 / 1 !important;
  height:auto !important;
  background:#f7f1e8 !important;
  overflow:hidden !important;
}
.clean-grid:not(.cabanas-grid-v15) > .clean-card:has(img[src*="camping-banner"]) .clean-img img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
}

/* === CORRECCIÓN FINAL CAMPING: mismo patrón visual que comida === */
.camping-layout-v20{
  display:grid!important;
  grid-template-columns:minmax(260px,360px) 1fr!important;
  gap:14px!important;
  align-items:start!important;
  margin-top:14px!important;
}
.camping-banner-v20{
  border:1px solid rgba(18,53,47,.12)!important;
  background:#fff!important;
  border-radius:22px!important;
  padding:10px!important;
  box-shadow:0 8px 22px rgba(18,53,47,.05)!important;
}
.camping-banner-v20 img{
  width:100%!important;
  height:auto!important;
  max-height:520px!important;
  object-fit:contain!important;
  display:block!important;
  border-radius:16px!important;
  background:#f8f4ea!important;
  cursor:zoom-in!important;
}
.camping-card-v20{
  background:#fff!important;
  border:1px solid rgba(18,53,47,.12)!important;
  border-radius:18px!important;
  padding:16px!important;
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:14px!important;
  align-items:center!important;
  box-shadow:0 8px 18px rgba(18,53,47,.04)!important;
  min-height:210px!important;
}
.camping-card-v20 h3{
  color:#12352f!important;
  font-size:19px!important;
  margin:0 0 5px!important;
}
.camping-card-v20 p{
  color:#40544c!important;
  font-size:13px!important;
  line-height:1.4!important;
  margin:0 0 8px!important;
}
.camping-price-v20{
  font-weight:950!important;
  color:#12352f!important;
  font-size:22px!important;
  margin:6px 0 10px!important;
}
.camping-list-v20{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}
.camping-list-v20 span{
  border:1px solid rgba(18,53,47,.10)!important;
  background:#fbfaf6!important;
  border-radius:999px!important;
  padding:6px 9px!important;
  color:#52605a!important;
  font-size:12px!important;
  font-weight:850!important;
}
.camping-actions-v20{
  display:grid!important;
  gap:10px!important;
  justify-items:end!important;
  align-content:center!important;
}
@media(max-width:900px){
  .camping-layout-v20{grid-template-columns:1fr!important;}
  .camping-card-v20{grid-template-columns:1fr!important;}
  .camping-actions-v20{justify-items:start!important;}
}

/* Corrección final: Cabañas con el mismo tamaño visual de Camping/Comida */
.cabanas-grid-v15{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:stretch !important;
}
.service-wide-card-v16{
  background:#fff;
  border:1px solid rgba(18,53,47,.12);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 8px 22px rgba(18,53,47,.05);
  display:grid;
  grid-template-columns:42% 58%;
  min-height:260px;
  height:100%;
}
.service-wide-img-v16{
  background:#f7f1e8;
  height:100%;
  min-height:260px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.service-wide-img-v16 img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  cursor:zoom-in;
}
.service-wide-body-v16{
  padding:15px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}
.service-wide-body-v16 h3{
  color:#12352f;
  font-size:18px;
  line-height:1.15;
  margin:0 0 5px;
}
.service-wide-body-v16 p{
  color:#40544c;
  font-size:13px;
  line-height:1.35;
  margin:0 0 7px;
}
.service-wide-price-v16{
  color:#12352f;
  font-size:21px;
  font-weight:950;
  margin:4px 0 8px;
}
.service-wide-tags-v16{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin:0 0 8px;
}
.service-wide-tags-v16 span{
  border:1px solid rgba(18,53,47,.10);
  background:#fbfaf6;
  border-radius:999px;
  padding:5px 8px;
  color:#52605a;
  font-size:11px;
  font-weight:850;
}
.service-wide-note-v16{
  border-left:3px solid #F6821F;
  background:#fff7ea;
  border-radius:10px;
  padding:8px 10px;
  color:#40544c;
  font-size:12px;
  line-height:1.35;
}
.service-wide-actions-v16{
  display:flex;
  justify-content:flex-start;
  align-items:flex-end;
  margin-top:auto;
}
@media(max-width:900px){
  .cabanas-grid-v15{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .service-wide-card-v16{grid-template-columns:1fr;min-height:auto;}
  .service-wide-img-v16{height:210px;min-height:210px;}
}
@media(max-width:560px){
  .cabanas-grid-v15{grid-template-columns:1fr !important;}
}

/* === FIX V21: CABAÑAS COMO CAMPING / COMIDA: una caja horizontal, imagen izquierda, info derecha === */
.cabanas-grid-v15{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:16px !important;
  align-items:stretch !important;
}
.cabanas-grid-v15 .service-wide-card-v16{
  display:grid !important;
  grid-template-columns:36% 64% !important;
  min-height:250px !important;
  height:auto !important;
  border-radius:20px !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid rgba(18,53,47,.12) !important;
  box-shadow:0 8px 22px rgba(18,53,47,.05) !important;
}
.cabanas-grid-v15 .service-wide-img-v16{
  height:250px !important;
  min-height:250px !important;
  background:#f7f1e8 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
.cabanas-grid-v15 .service-wide-img-v16 img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
.cabanas-grid-v15 .service-wide-body-v16{
  padding:18px 20px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  gap:10px !important;
}
.cabanas-grid-v15 .service-wide-body-v16 h3{
  font-size:19px !important;
  margin:0 0 5px !important;
}
.cabanas-grid-v15 .service-wide-body-v16 p{
  font-size:14px !important;
  line-height:1.4 !important;
  margin:0 0 8px !important;
}
.cabanas-grid-v15 .service-wide-price-v16{
  font-size:22px !important;
  font-weight:950 !important;
  margin:5px 0 9px !important;
}
.cabanas-grid-v15 .service-wide-note-v16{
  display:none !important;
}
.cabanas-grid-v15 .service-wide-actions-v16{
  justify-content:flex-end !important;
  align-items:center !important;
  margin-top:8px !important;
}
@media(max-width:760px){
  .cabanas-grid-v15 .service-wide-card-v16{
    grid-template-columns:1fr !important;
  }
  .cabanas-grid-v15 .service-wide-img-v16{
    height:230px !important;
    min-height:230px !important;
  }
  .cabanas-grid-v15 .service-wide-actions-v16{
    justify-content:flex-start !important;
  }
}

/* === FIX V22 DEFINITIVO: CABAÑAS IGUAL A CAMPING, UNA FILA POR SERVICIO === */
.cabanas-list-v22{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:16px !important;
  width:100% !important;
  margin-top:14px !important;
}
.cabanas-list-v22 .cabana-like-camping-row-v22{
  display:grid !important;
  grid-template-columns:36% minmax(0,64%) !important;
  gap:14px !important;
  width:100% !important;
  max-width:100% !important;
  align-items:stretch !important;
  grid-column:1 / -1 !important;
}
.cabana-like-camping-img-v22{
  background:#fff !important;
  border:1px solid rgba(18,53,47,.12) !important;
  border-radius:20px !important;
  overflow:hidden !important;
  box-shadow:0 8px 22px rgba(18,53,47,.05) !important;
  min-height:250px !important;
  height:250px !important;
}
.cabana-like-camping-img-v22 img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  cursor:zoom-in !important;
}
.cabana-like-camping-info-v22{
  background:#fff !important;
  border:1px solid rgba(18,53,47,.12) !important;
  border-radius:20px !important;
  box-shadow:0 8px 22px rgba(18,53,47,.05) !important;
  padding:18px 20px !important;
  min-height:250px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:14px !important;
  align-items:center !important;
}
.cabana-like-camping-main-v22 h3{
  margin:0 0 7px !important;
  color:#12352f !important;
  font-size:20px !important;
  line-height:1.15 !important;
  font-weight:950 !important;
}
.cabana-like-camping-main-v22 p{
  margin:0 0 10px !important;
  color:#40544c !important;
  font-size:14px !important;
  line-height:1.45 !important;
}
.cabana-like-camping-price-v22{
  color:#12352f !important;
  font-size:23px !important;
  font-weight:950 !important;
  margin:6px 0 12px !important;
}
.cabana-like-camping-tags-v22{
  display:flex !important;
  gap:8px !important;
  flex-wrap:wrap !important;
}
.cabana-like-camping-tags-v22 span{
  border:1px solid rgba(18,53,47,.10) !important;
  background:#fbfaf6 !important;
  border-radius:999px !important;
  padding:7px 10px !important;
  color:#52605a !important;
  font-size:12px !important;
  font-weight:850 !important;
}
.cabana-like-camping-actions-v22{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
}
.cabana-like-camping-actions-v22 .btn{
  white-space:nowrap !important;
}
@media(max-width:900px){
  .cabanas-list-v22 .cabana-like-camping-row-v22{
    grid-template-columns:36% minmax(0,64%) !important;
  }
  .cabana-like-camping-info-v22{
    grid-template-columns:minmax(0,1fr) auto !important;
  }
}
@media(max-width:620px){
  .cabanas-list-v22 .cabana-like-camping-row-v22{
    grid-template-columns:1fr !important;
  }
  .cabana-like-camping-img-v22{
    height:230px !important;
    min-height:230px !important;
  }
  .cabana-like-camping-info-v22{
    min-height:auto !important;
    grid-template-columns:1fr !important;
    align-items:start !important;
  }
  .cabana-like-camping-actions-v22{
    justify-content:flex-start !important;
  }
}

/* === FIX FINAL REAL: banners de cabañas completos, sin cortar === */
.cabanas-list-v22 .cabana-like-camping-row-v22{
  display:grid !important;
  grid-template-columns:minmax(260px,360px) 1fr !important;
  gap:14px !important;
  align-items:stretch !important;
  width:100% !important;
}
.cabanas-list-v22 .cabana-like-camping-img-v22{
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:1 / 1 !important;
  padding:10px !important;
  background:#fff !important;
  overflow:hidden !important;
  border-radius:22px !important;
}
.cabanas-list-v22 .cabana-like-camping-img-v22 img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  border-radius:16px !important;
  background:#f8f4ea !important;
  display:block !important;
}
.cabanas-list-v22 .cabana-like-camping-info-v22{
  min-height:0 !important;
  height:auto !important;
  padding:18px 20px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:14px !important;
  align-items:center !important;
}
@media(max-width:900px){
  .cabanas-list-v22 .cabana-like-camping-row-v22{
    grid-template-columns:minmax(230px,320px) 1fr !important;
  }
}
@media(max-width:620px){
  .cabanas-list-v22 .cabana-like-camping-row-v22{
    grid-template-columns:1fr !important;
  }
  .cabanas-list-v22 .cabana-like-camping-info-v22{
    grid-template-columns:1fr !important;
  }
  .cabanas-list-v22 .cabana-like-camping-actions-v22{
    justify-content:flex-start !important;
  }
}


/* Corrección final: info general de cabañas arriba, no dentro de la tarjeta */
.cabanas-title-info-v23{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;flex-wrap:wrap!important;}
.cabanas-title-info-v23 .cabanas-general-info-v23{font-size:13px!important;font-weight:700!important;line-height:1.25!important;color:#063c35!important;background:#fff7ea!important;border:1px solid #ffd6a2!important;border-radius:999px!important;padding:9px 13px!important;}
.cabanas-list-v22 .cabana-like-camping-tags-v22 span{white-space:normal!important;}
@media (max-width:700px){.cabanas-title-info-v23{align-items:flex-start!important;}.cabanas-title-info-v23 .cabanas-general-info-v23{border-radius:14px!important;width:100%!important;}}


/* FIX FINAL: título CABAÑAS con información general visible */
.cabanas-title-info-v24{
  display:block!important;
  margin-bottom:16px!important;
  color:#003c35!important;
}
.cabanas-title-main-v24{
  font-weight:950!important;
  font-size:18px!important;
  line-height:1.2!important;
  margin-bottom:5px!important;
}
.cabanas-general-info-v24{
  display:block!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.35!important;
  color:#25443e!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
}
.cabana-like-camping-tags-v22 span:nth-child(n+2){display:none!important;}


/* CABALGATA - banner a la izquierda + información a la derecha */
.cabalgata-wide-v27{
  grid-template-columns:360px 1fr!important;
  align-items:stretch!important;
  min-height:290px!important;
  width:100%!important;
}
.cabalgata-wide-v27 .cabalgata-wide-img-v27{
  height:100%!important;
  min-height:290px!important;
  background:#f7f1e8!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
.cabalgata-wide-v27 .cabalgata-wide-img-v27 img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#f7f1e8!important;
}
.cabalgata-wide-v27 .cabalgata-wide-body-v27{
  min-height:290px!important;
}
@media(max-width:760px){
  .cabalgata-wide-v27{
    grid-template-columns:1fr!important;
    min-height:auto!important;
  }
  .cabalgata-wide-v27 .cabalgata-wide-img-v27{
    height:auto!important;
    min-height:auto!important;
    aspect-ratio:1/1!important;
  }
}


.cabalgata-wide-noaction-v28{
  display:block!important;
}
.cabalgata-wide-noaction-v28 > div{
  width:100%!important;
}
.cabalgata-wide-noaction-v28 .service-wide-note-v16{
  margin-top:10px!important;
  line-height:1.5!important;
}


/* CABALGATA - texto descriptivo más grande */
.cabalgata-wide-noaction-v28 .service-wide-note-v16{
  font-size:18px!important;
  line-height:1.6!important;
  padding:16px 18px!important;
  color:#12352f!important;
  font-weight:700!important;
}
.cabalgata-wide-noaction-v28 p{
  font-size:16px!important;
  line-height:1.55!important;
}
@media(max-width:760px){
  .cabalgata-wide-noaction-v28 .service-wide-note-v16{
    font-size:16px!important;
    line-height:1.55!important;
  }
}


/* CANOPY - banner a la izquierda + información a la derecha, sin agendamiento */
.canopy-wide-v29{
  grid-template-columns:360px 1fr!important;
  align-items:stretch!important;
  min-height:290px!important;
  width:100%!important;
}
.canopy-wide-v29 .canopy-wide-img-v29{
  height:100%!important;
  min-height:290px!important;
  background:#f7f1e8!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
.canopy-wide-v29 .canopy-wide-img-v29 img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#f7f1e8!important;
}
.canopy-wide-v29 .canopy-wide-body-v29{
  min-height:290px!important;
  display:block!important;
}
.canopy-wide-v29 .canopy-note-v29{
  font-size:18px!important;
  line-height:1.6!important;
  padding:16px 18px!important;
  color:#12352f!important;
  font-weight:700!important;
}
.canopy-wide-v29 p{
  font-size:16px!important;
  line-height:1.55!important;
}
@media(max-width:760px){
  .canopy-wide-v29{
    grid-template-columns:1fr!important;
    min-height:auto!important;
  }
  .canopy-wide-v29 .canopy-wide-img-v29{
    height:auto!important;
    min-height:auto!important;
    aspect-ratio:1/1!important;
  }
  .canopy-wide-v29 .canopy-note-v29{
    font-size:16px!important;
    line-height:1.55!important;
  }
}


/* PAISAJES - banners informativos sin compra/agendamiento */
.paisaje-wide-v31{
  grid-template-columns:360px 1fr!important;
  align-items:stretch!important;
  min-height:320px!important;
  width:100%!important;
}
.paisaje-wide-v31 .paisaje-wide-img-v31{
  height:100%!important;
  min-height:320px!important;
  background:#f7f1e8!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
.paisaje-wide-v31 .paisaje-wide-img-v31 img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#f7f1e8!important;
}
.paisaje-wide-v31 .paisaje-wide-body-v31{
  min-height:320px!important;
  display:block!important;
}
.paisaje-wide-v31 .paisaje-subtitle-v31{
  font-size:18px!important;
  line-height:1.35!important;
  color:#12352f!important;
}
.paisaje-wide-v31 .paisaje-note-v31{
  font-size:18px!important;
  line-height:1.6!important;
  padding:16px 18px!important;
  color:#12352f!important;
  font-weight:700!important;
}
.paisaje-wide-v31 p{
  font-size:16px!important;
  line-height:1.55!important;
}
@media(max-width:760px){
  .paisaje-wide-v31{
    grid-template-columns:1fr!important;
    min-height:auto!important;
  }
  .paisaje-wide-v31 .paisaje-wide-img-v31{
    height:auto!important;
    min-height:auto!important;
    aspect-ratio:1/1!important;
  }
  .paisaje-wide-v31 .paisaje-note-v31{
    font-size:16px!important;
    line-height:1.55!important;
  }
}


/* CASCADAS - banner informativo sin compra/agendamiento */
.cascadas-wide-v32{
  grid-template-columns:360px 1fr!important;
  align-items:stretch!important;
  min-height:340px!important;
  width:100%!important;
}
.cascadas-wide-v32 .cascadas-wide-img-v32{
  height:100%!important;
  min-height:340px!important;
  background:#f7f1e8!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
.cascadas-wide-v32 .cascadas-wide-img-v32 img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#f7f1e8!important;
}
.cascadas-wide-v32 .cascadas-wide-body-v32{
  min-height:340px!important;
  display:block!important;
}
.cascadas-wide-v32 .cascadas-subtitle-v32{
  font-size:18px!important;
  line-height:1.35!important;
  color:#12352f!important;
}
.cascadas-wide-v32 .cascadas-note-v32{
  font-size:18px!important;
  line-height:1.6!important;
  padding:16px 18px!important;
  color:#12352f!important;
  font-weight:700!important;
}
.cascadas-wide-v32 p{
  font-size:16px!important;
  line-height:1.6!important;
}
@media(max-width:760px){
  .cascadas-wide-v32{
    grid-template-columns:1fr!important;
    min-height:auto!important;
  }
  .cascadas-wide-v32 .cascadas-wide-img-v32{
    height:auto!important;
    min-height:auto!important;
    aspect-ratio:1/1!important;
  }
  .cascadas-wide-v32 .cascadas-note-v32{
    font-size:16px!important;
    line-height:1.55!important;
  }
}


/* PET FRIENDLY - banner informativo sin compra/agendamiento */
.pet-wide-v33{
  grid-template-columns:360px 1fr!important;
  align-items:stretch!important;
  min-height:340px!important;
  width:100%!important;
}
.pet-wide-v33 .pet-wide-img-v33{
  height:100%!important;
  min-height:340px!important;
  background:#f7f1e8!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
.pet-wide-v33 .pet-wide-img-v33 img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#f7f1e8!important;
}
.pet-wide-v33 .pet-wide-body-v33{
  min-height:340px!important;
  display:block!important;
}
.pet-wide-v33 .pet-subtitle-v33{
  font-size:18px!important;
  line-height:1.35!important;
  color:#12352f!important;
}
.pet-wide-v33 .pet-note-v33{
  font-size:18px!important;
  line-height:1.6!important;
  padding:16px 18px!important;
  color:#12352f!important;
  font-weight:700!important;
}
.pet-wide-v33 p{
  font-size:16px!important;
  line-height:1.6!important;
}
@media(max-width:760px){
  .pet-wide-v33{
    grid-template-columns:1fr!important;
    min-height:auto!important;
  }
  .pet-wide-v33 .pet-wide-img-v33{
    height:auto!important;
    min-height:auto!important;
    aspect-ratio:1/1!important;
  }
  .pet-wide-v33 .pet-note-v33{
    font-size:16px!important;
    line-height:1.55!important;
  }
}


/* BOLETOS DE ENTRADA - banner nuevo manteniendo compra */
.boletos-wide-v34 .service-wide-img-v16 img,
.entrada-wide-v34 .service-wide-img-v16 img{
  object-fit:contain!important;
  background:#f7f1e8!important;
}


/* BOLETOS DE ENTRADA - banner nuevo + compra */
.boletos-banner-ok-v35{
  grid-template-columns:360px 1fr!important;
  align-items:stretch!important;
}
.boletos-banner-ok-v35 .boletos-banner-img-v35{
  min-height:360px!important;
  height:100%!important;
  background:#f7f1e8!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.boletos-banner-ok-v35 .boletos-banner-img-v35 img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#f7f1e8!important;
}
.boletos-banner-ok-v35 .boletos-banner-info-v35{
  min-height:360px!important;
}
.boletos-banner-ok-v35 .boletos-banner-info-v35 p{
  font-size:16px!important;
  line-height:1.55!important;
}
@media(max-width:760px){
  .boletos-banner-ok-v35{
    grid-template-columns:1fr!important;
  }
  .boletos-banner-ok-v35 .boletos-banner-img-v35{
    min-height:auto!important;
    aspect-ratio:1/1!important;
  }
}


/* CÓMO LLEGAR - ruta detallada + video grande sin cortar */
.location-video-wrap-v40{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(360px,460px) minmax(360px,1fr)!important;
  gap:20px!important;
  align-items:stretch!important;
}
.location-media-v40{
  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;
  overflow:visible!important;
}
.video-box-v40{
  width:100%!important;
  max-width:430px!important;
  aspect-ratio:9/16!important;
  max-height:720px!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-v40 video{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#000!important;
  display:block!important;
}
.video-cover-v40{
  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-v40.hidden{
  display:none!important;
}
.video-cover-v40 .circle{
  width:88px!important;
  height:88px!important;
  border-radius:50%!important;
  background:#F6821F!important;
  display:grid!important;
  place-items:center!important;
  font-size:42px!important;
  padding-left:6px!important;
  box-shadow:0 14px 30px rgba(0,0,0,.35)!important;
}
.video-cover-v40 b{
  font-size:20px!important;
  text-shadow:0 2px 8px rgba(0,0,0,.5)!important;
}
.video-cover-v40 span{
  font-size:14px!important;
  opacity:.9!important;
}
.location-info-v40{
  min-height:520px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:12px!important;
}
.location-info-v40 h3{
  font-size:28px!important;
  color:#12352f!important;
  margin-bottom:4px!important;
}
.location-info-v40 p{
  font-size:17px!important;
  line-height:1.65!important;
  color:#12352f!important;
  margin:0!important;
}
.location-tags-v40{
  margin-top:4px!important;
}
.location-tags-v40 span{
  font-size:13px!important;
  font-weight:800!important;
}
@media(max-width:900px){
  .location-video-wrap-v40{
    grid-template-columns:1fr!important;
  }
  .location-info-v40{
    min-height:auto!important;
  }
  .video-box-v40{
    max-width:390px!important;
    max-height:660px!important;
  }
}
@media(max-width:560px){
  .location-media-v40{
    padding:10px!important;
  }
  .video-box-v40{
    max-width:320px!important;
    max-height:570px!important;
  }
  .location-info-v40 h3{
    font-size:23px!important;
  }
  .location-info-v40 p{
    font-size:15.5px!important;
    line-height:1.55!important;
  }
}


/* CÓMO LLEGAR - versión compacta sin scroll molesto */
.location-video-wrap-v40{
  grid-template-columns:300px 1fr!important;
  gap:16px!important;
  align-items:center!important;
  margin-bottom:0!important;
}
.location-media-v40{
  padding:10px!important;
  min-height:0!important;
  max-height:430px!important;
  overflow:hidden!important;
}
.video-box-v40{
  width:100%!important;
  max-width:270px!important;
  height:420px!important;
  max-height:420px!important;
  aspect-ratio:auto!important;
  border-radius:20px!important;
}
.video-box-v40 video{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#000!important;
}
.video-cover-v40 .circle{
  width:70px!important;
  height:70px!important;
  font-size:34px!important;
}
.video-cover-v40 b{
  font-size:18px!important;
}
.video-cover-v40 span{
  font-size:13px!important;
}
.location-info-v40{
  min-height:0!important;
  max-height:430px!important;
  padding:18px!important;
  justify-content:center!important;
  gap:8px!important;
  overflow:hidden!important;
}
.location-info-v40 h3{
  font-size:24px!important;
  margin:0 0 4px 0!important;
}
.location-info-v40 p{
  font-size:15px!important;
  line-height:1.45!important;
  margin:0!important;
}
.location-tags-v40{
  gap:6px!important;
  margin-top:4px!important;
}
.location-tags-v40 span{
  font-size:12px!important;
  padding:7px 9px!important;
}
.location-info-v40 .quick{
  margin-top:4px!important;
  gap:8px!important;
}
.location-info-v40 .quick .btn{
  padding:10px 12px!important;
  font-size:13px!important;
}
@media(max-width:900px){
  .location-video-wrap-v40{
    grid-template-columns:250px 1fr!important;
    gap:12px!important;
  }
  .video-box-v40{
    max-width:230px!important;
    height:390px!important;
    max-height:390px!important;
  }
  .location-info-v40{
    max-height:390px!important;
    padding:14px!important;
  }
  .location-info-v40 h3{
    font-size:21px!important;
  }
  .location-info-v40 p{
    font-size:14px!important;
    line-height:1.38!important;
  }
}
@media(max-width:760px){
  .location-video-wrap-v40{
    grid-template-columns:1fr!important;
  }
  .location-media-v40{
    max-height:none!important;
  }
  .video-box-v40{
    max-width:260px!important;
    height:430px!important;
    max-height:430px!important;
    margin:auto!important;
  }
  .location-info-v40{
    max-height:none!important;
    overflow:visible!important;
  }
}


/* FAQ FINAL - más tarjetas con el mismo diseño */
.section-menu-clean .section-menu-card{
  min-height:104px;
}


/* GRUPOS GRANDES CORREGIDO - aviso visible al inicio del chat */
.grupos-box-v42{
  display:grid!important;
  grid-template-columns:74px 1fr!important;
  gap:14px!important;
  align-items:center!important;
  margin:12px 0 16px!important;
  padding:18px!important;
  border-radius:24px!important;
  border:1px solid rgba(18,53,47,.14)!important;
  background:linear-gradient(135deg,#fff7ea,#eef7ee)!important;
  box-shadow:0 12px 30px rgba(18,53,47,.10)!important;
}
.grupos-icon-v42{
  width:66px!important;
  height:66px!important;
  border-radius:22px!important;
  display:grid!important;
  place-items:center!important;
  background:#12352f!important;
  color:#fff!important;
  font-size:32px!important;
  box-shadow:0 10px 22px rgba(18,53,47,.22)!important;
}
.grupos-content-v42 h3{
  margin:0 0 6px 0!important;
  font-size:24px!important;
  color:#12352f!important;
  line-height:1.15!important;
}
.grupos-content-v42 p{
  margin:0 0 12px 0!important;
  font-size:15.5px!important;
  line-height:1.55!important;
  color:#40544c!important;
}
.grupos-actions-v42{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
}
.grupos-actions-v42 .btn{
  text-decoration:none!important;
}
@media(max-width:560px){
  .grupos-box-v42{
    grid-template-columns:1fr!important;
    padding:15px!important;
  }
  .grupos-icon-v42{
    width:58px!important;
    height:58px!important;
    font-size:28px!important;
  }
  .grupos-content-v42 h3{
    font-size:21px!important;
  }
  .grupos-content-v42 p{
    font-size:14.5px!important;
  }
  .grupos-actions-v42 .btn{
    width:100%!important;
    justify-content:center!important;
  }
}


/* GUÍA PRINCIPAL PARA AGENDAR */
.guia-agendar-v43{
  margin:12px 0 16px!important;
  padding:16px 18px!important;
  border-radius:22px!important;
  background:#fff7ea!important;
  border:1px solid rgba(234,140,25,.25)!important;
  box-shadow:0 10px 24px rgba(18,53,47,.07)!important;
}
.guia-title-v43{
  font-size:21px!important;
  font-weight:900!important;
  color:#12352f!important;
  margin-bottom:6px!important;
}
.guia-text-v43{
  font-size:15.5px!important;
  line-height:1.5!important;
  color:#3e514b!important;
  margin-bottom:12px!important;
}
.guia-steps-v43{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:8px!important;
}
.guia-steps-v43 span{
  background:#fff!important;
  border:1px solid rgba(18,53,47,.12)!important;
  border-radius:14px!important;
  padding:10px 8px!important;
  font-size:13px!important;
  font-weight:800!important;
  color:#12352f!important;
  text-align:center!important;
}
@media(max-width:760px){
  .guia-steps-v43{
    grid-template-columns:repeat(2,1fr)!important;
  }
}
@media(max-width:430px){
  .guia-steps-v43{
    grid-template-columns:1fr!important;
  }
  .guia-title-v43{
    font-size:19px!important;
  }
}


/* INTRO SIN SCROLL */
.chat-card.intro-mode .chat-body{
  overflow:hidden!important;
  scrollbar-width:none!important;
}
.chat-card.intro-mode .chat-body::-webkit-scrollbar{
  width:0!important;
  height:0!important;
}
.chat-card.intro-mode .msg.bot.wide{
  margin-top:0!important;
}
.chat-card.intro-mode .intro-split-v33{
  max-height:calc(100vh - 260px)!important;
  overflow:hidden!important;
}
@media(max-width:760px){
  .chat-card.intro-mode .intro-split-v33{
    max-height:none!important;
  }
}


/* CORRECCIÓN FINAL INICIO: sin pequeño scroll y todo más compacto */
.chat-body.inicio-menu-v44{
  scroll-behavior:auto!important;
  padding-top:12px!important;
}
.chat-body.inicio-menu-v44 .msg.bot.wide{
  margin-top:0!important;
}
.chat-body.inicio-menu-v44 .grupos-box-v42{
  margin-top:8px!important;
  margin-bottom:10px!important;
  padding:14px 16px!important;
}
.chat-body.inicio-menu-v44 .grupos-content-v42 h3{
  font-size:22px!important;
}
.chat-body.inicio-menu-v44 .grupos-content-v42 p{
  font-size:14.5px!important;
  line-height:1.42!important;
  margin-bottom:9px!important;
}
.chat-body.inicio-menu-v44 .guia-agendar-v43{
  margin-top:10px!important;
  margin-bottom:12px!important;
  padding:13px 16px!important;
}
.chat-body.inicio-menu-v44 .guia-title-v43{
  font-size:19px!important;
  margin-bottom:4px!important;
}
.chat-body.inicio-menu-v44 .guia-text-v43{
  font-size:14.2px!important;
  line-height:1.38!important;
  margin-bottom:9px!important;
}
.chat-body.inicio-menu-v44 .guia-steps-v43 span{
  padding:8px 6px!important;
  font-size:12.5px!important;
}
.chat-body.inicio-menu-v44 .section-menu-card{
  min-height:94px!important;
  padding:14px!important;
}
.chat-body.inicio-menu-v44 .section-menu-card b{
  font-size:15px!important;
}
.chat-body.inicio-menu-v44 .section-menu-card span{
  font-size:13px!important;
}


/* FOTO INICIAL SIN MODAL */
.intro-photo-v33 img{
  cursor:default!important;
  pointer-events:none!important;
}


/* VISITAS GRUPALES - aviso claro después de FAQ */
.visitas-grupales-box-v45{
  display:grid!important;
  grid-template-columns:72px 1fr!important;
  gap:14px!important;
  align-items:start!important;
  margin:12px 0 16px!important;
  padding:18px!important;
  border-radius:24px!important;
  border:1px solid rgba(18,53,47,.14)!important;
  background:linear-gradient(135deg,#fff7ea,#eef7ee)!important;
  box-shadow:0 12px 30px rgba(18,53,47,.10)!important;
}
.visitas-grupales-icon-v45{
  width:64px!important;
  height:64px!important;
  border-radius:22px!important;
  display:grid!important;
  place-items:center!important;
  background:#12352f!important;
  color:#fff!important;
  font-size:31px!important;
  box-shadow:0 10px 22px rgba(18,53,47,.22)!important;
}
.visitas-grupales-content-v45 h3{
  margin:0 0 8px 0!important;
  font-size:24px!important;
  color:#12352f!important;
  line-height:1.15!important;
}
.visitas-grupales-content-v45 p{
  margin:0 0 8px 0!important;
  font-size:15px!important;
  line-height:1.48!important;
  color:#40544c!important;
}
.visitas-grupales-actions-v45{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:10px!important;
}
.visitas-grupales-actions-v45 .btn{
  text-decoration:none!important;
}
@media(max-width:560px){
  .visitas-grupales-box-v45{
    grid-template-columns:1fr!important;
    padding:15px!important;
  }
  .visitas-grupales-icon-v45{
    width:58px!important;
    height:58px!important;
    font-size:28px!important;
  }
  .visitas-grupales-content-v45 h3{
    font-size:21px!important;
  }
  .visitas-grupales-content-v45 p{
    font-size:14.3px!important;
  }
  .visitas-grupales-actions-v45 .btn{
    width:100%!important;
    justify-content:center!important;
  }
}


/* ===== Upgrade tipográfico estilo COLFAX ===== */
:root{
  --font-colfax-ui: "Colfax", "Colfax Medium", "Colfax Regular", "Aptos", "Inter", "Segoe UI", Arial, sans-serif;
  --font-colfax-display: "Colfax", "Colfax Medium", "Colfax Regular", "Aptos Display", "Inter", "Segoe UI", Arial, sans-serif;
}
html, body, button, input, textarea, select{
  font-family: var(--font-colfax-ui) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
.title,
.sub,
.hero-copy,
.section-title,
.section-menu-card b,
.section-menu-card span,
.pill,
.btn,
.quick .btn,
.chat-bubble h1,
.chat-bubble h2,
.chat-bubble h3,
.chat-bubble h4,
.chat-bubble strong,
.faq-card b,
[class*="title"],
[class*="heading"]{
  font-family: var(--font-colfax-display) !important;
}
.title{
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
}
.sub{
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
}
.section-menu-card b,
.btn,
.pill,
.quick .btn{
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}
.section-menu-card span,
.chat-bubble,
.chat-bubble p,
label,
small{
  font-weight: 500 !important;
}


/* PAGOS, UBICACIÓN Y REDES FINAL */
.final-info-v46{
  margin:14px 0 0!important;
  padding:16px!important;
  border-radius:22px!important;
  background:#fffdf8!important;
  border:1px solid rgba(18,53,47,.12)!important;
  box-shadow:0 10px 24px rgba(18,53,47,.06)!important;
}
.final-info-v46 h3{
  margin:0 0 8px!important;
  font-size:20px!important;
  color:#12352f!important;
  font-weight:850!important;
  letter-spacing:-.02em!important;
}
.final-info-v46 p{
  margin:0 0 12px!important;
  color:#3e514b!important;
  line-height:1.45!important;
}
.bank-grid-v46,
.useful-grid-v46{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.bank-card-v46,
.useful-card-v46{
  background:#fff!important;
  border:1px solid rgba(18,53,47,.12)!important;
  border-radius:16px!important;
  padding:13px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
}
.bank-card-v46 b,
.useful-card-v46 b{
  color:#12352f!important;
  font-size:15px!important;
  font-weight:850!important;
}
.bank-card-v46 span,
.useful-card-v46 span{
  color:#40544c!important;
  font-size:14px!important;
  line-height:1.35!important;
}
.final-note-v46{
  margin-top:10px!important;
  padding:10px 12px!important;
  border-radius:14px!important;
  background:#fff7ea!important;
  color:#5b4328!important;
  font-weight:700!important;
  font-size:14px!important;
}
.final-links-v46{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  margin-top:12px!important;
}
.final-links-v46 a{
  text-decoration:none!important;
}
.google-name-v46{
  display:inline-flex!important;
  margin:4px 0 12px!important;
  padding:10px 12px!important;
  border-radius:14px!important;
  background:#eef7ee!important;
  color:#12352f!important;
  border:1px solid rgba(18,53,47,.12)!important;
  font-size:17px!important;
  font-weight:850!important;
}
.location-clean-v46 .soft-note{
  margin-top:10px!important;
}
.final-summary-clean img{
  cursor:default!important;
  pointer-events:none!important;
}
@media(max-width:700px){
  .bank-grid-v46,
  .useful-grid-v46{
    grid-template-columns:1fr!important;
  }
  .final-links-v46 .btn{
    width:100%!important;
  }
}


/* AGENDA LOCAL FINAL - horarios ocupados */
.hours-final-v47{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(110px,1fr))!important;
  gap:10px!important;
  margin-top:12px!important;
}
.hour-btn.busy,
.hour-btn.disabled,
.hour-btn:disabled{
  opacity:.48!important;
  cursor:not-allowed!important;
  background:#f1f1ed!important;
  color:#6d7471!important;
  border:1px solid rgba(18,53,47,.12)!important;
}
.hour-btn small{
  display:block!important;
  font-size:11px!important;
  font-weight:800!important;
  margin-top:3px!important;
}


/* CORRECCIÓN SCROLL SECCIONES */
.chat-body:not(.inicio-menu-v44){
  scroll-behavior:smooth!important;
}


/* SECCIONES SIN SCROLL MANUAL */
.chat-body.seccion-activa-v49{
  scroll-behavior:auto!important;
  padding-top:12px!important;
}
.chat-body.seccion-activa-v49 .msg.bot.wide,
.chat-body.seccion-activa-v49 .msg.bot{
  margin-top:0!important;
}


/* CLICK SERVICIO DIRECTO */
.chat-body.seccion-activa-v50{
  scroll-behavior:auto!important;
  padding-top:12px!important;
}
.chat-body.seccion-activa-v50 .msg.bot,
.chat-body.seccion-activa-v50 .msg.bot.wide{
  margin-top:0!important;
}


/* COMO LLEGAR - VIDEO TAMAÑO NORMAL */
.location-card-v50{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 340px!important;
  gap:16px!important;
  align-items:start!important;
  width:100%!important;
}
.location-info-v50{
  min-width:0!important;
}
.location-video-card-v50{
  width:100%!important;
  max-width:340px!important;
  background:#fff!important;
  border:1px solid rgba(18,53,47,.12)!important;
  border-radius:20px!important;
  padding:12px!important;
  box-shadow:0 10px 24px rgba(18,53,47,.06)!important;
}
.video-title-v50{
  font-weight:850!important;
  color:#12352f!important;
  font-size:15px!important;
  margin-bottom:8px!important;
}
.location-video-small-v50{
  display:block!important;
  width:100%!important;
  height:220px!important;
  max-height:220px!important;
  object-fit:cover!important;
  border-radius:16px!important;
  background:#000!important;
}
.location-video-v40,
.video-box-v40 video,
.location-card-v40 video{
  max-width:340px!important;
  max-height:220px!important;
  width:100%!important;
  height:220px!important;
  object-fit:cover!important;
  border-radius:16px!important;
}
@media(max-width:820px){
  .location-card-v50{
    grid-template-columns:1fr!important;
  }
  .location-video-card-v50{
    max-width:100%!important;
  }
  .location-video-small-v50{
    height:210px!important;
  }
}


/* COMO LLEGAR FINAL - video izquierda e información derecha */
.location-final-v51{
  width:100%!important;
  display:grid!important;
  grid-template-columns:340px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:start!important;
}
.location-video-final-v51{
  width:340px!important;
  max-width:340px!important;
  background:#fff!important;
  border:1px solid rgba(18,53,47,.12)!important;
  border-radius:20px!important;
  padding:12px!important;
  box-shadow:0 10px 24px rgba(18,53,47,.06)!important;
}
.video-title-final-v51{
  font-size:15px!important;
  font-weight:850!important;
  color:#12352f!important;
  margin:0 0 8px!important;
}
.video-normal-final-v51{
  display:block!important;
  width:100%!important;
  height:220px!important;
  max-height:220px!important;
  object-fit:cover!important;
  border-radius:16px!important;
  background:#000!important;
}
.location-info-final-v51{
  min-width:0!important;
  width:100%!important;
  background:#fff!important;
  border:1px solid rgba(18,53,47,.10)!important;
  border-radius:20px!important;
  padding:16px!important;
  box-shadow:0 10px 24px rgba(18,53,47,.05)!important;
}
.location-info-final-v51 h3{
  margin:0 0 6px!important;
  color:#12352f!important;
  font-size:19px!important;
  font-weight:850!important;
}
.google-name-final-v51{
  display:inline-flex!important;
  margin:0 0 12px!important;
  padding:10px 12px!important;
  border-radius:14px!important;
  background:#eef7ee!important;
  color:#12352f!important;
  border:1px solid rgba(18,53,47,.12)!important;
  font-size:16px!important;
  font-weight:850!important;
}
.route-box-final-v51{
  margin:10px 0!important;
}
.route-box-final-v51 b{
  display:block!important;
  margin-bottom:5px!important;
  color:#12352f!important;
  font-weight:850!important;
}
.route-box-final-v51 p{
  margin:0 0 6px!important;
  line-height:1.45!important;
  color:#263f39!important;
  font-size:14.5px!important;
}
@media(max-width:820px){
  .location-final-v51{
    grid-template-columns:1fr!important;
  }
  .location-video-final-v51{
    width:100%!important;
    max-width:100%!important;
  }
  .video-normal-final-v51{
    height:210px!important;
  }
}


/* COMO LLEGAR REAL - video izquierda / info derecha */
.location-real-v52{
  width:100%!important;
  display:grid!important;
  grid-template-columns:330px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:start!important;
}
.location-video-real-v52{
  width:330px!important;
  max-width:330px!important;
  background:#fff!important;
  border:1px solid rgba(18,53,47,.12)!important;
  border-radius:20px!important;
  padding:12px!important;
  box-shadow:0 10px 24px rgba(18,53,47,.06)!important;
}
.video-title-real-v52{
  font-size:15px!important;
  font-weight:850!important;
  color:#12352f!important;
  margin:0 0 8px!important;
}
.video-real-v52{
  display:block!important;
  width:100%!important;
  height:220px!important;
  max-height:220px!important;
  object-fit:cover!important;
  border-radius:16px!important;
  background:#000!important;
}
.location-info-real-v52{
  min-width:0!important;
  width:100%!important;
  background:#fff!important;
  border:1px solid rgba(18,53,47,.10)!important;
  border-radius:20px!important;
  padding:16px!important;
  box-shadow:0 10px 24px rgba(18,53,47,.05)!important;
}
.location-info-real-v52 h3{
  margin:0 0 6px!important;
  color:#12352f!important;
  font-size:19px!important;
  font-weight:850!important;
}
.google-name-real-v52{
  display:inline-flex!important;
  margin:0 0 12px!important;
  padding:10px 12px!important;
  border-radius:14px!important;
  background:#eef7ee!important;
  color:#12352f!important;
  border:1px solid rgba(18,53,47,.12)!important;
  font-size:16px!important;
  font-weight:850!important;
}
.route-box-real-v52{
  margin:10px 0!important;
}
.route-box-real-v52 b{
  display:block!important;
  margin-bottom:5px!important;
  color:#12352f!important;
  font-weight:850!important;
}
.route-box-real-v52 p{
  margin:0 0 6px!important;
  line-height:1.45!important;
  color:#263f39!important;
  font-size:14.5px!important;
}
@media(max-width:820px){
  .location-real-v52{
    grid-template-columns:1fr!important;
  }
  .location-video-real-v52{
    width:100%!important;
    max-width:100%!important;
  }
  .video-real-v52{
    height:210px!important;
  }
}


/* PAQUETES TIPO CASCADAS + MENÚ COMPLETO */
.packages-list-v53{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
  width:100%!important;
}
.package-wide-v53{
  display:grid!important;
  grid-template-columns:360px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:stretch!important;
  width:100%!important;
  border:1px solid rgba(18,53,47,.12)!important;
  background:#fff!important;
  border-radius:22px!important;
  padding:14px!important;
  box-shadow:0 10px 26px rgba(18,53,47,.06)!important;
}
.package-img-v53{
  width:100%!important;
  min-height:260px!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#f7f4ed!important;
}
.package-img-v53 img{
  width:100%!important;
  height:100%!important;
  min-height:260px!important;
  object-fit:cover!important;
  display:block!important;
}
.package-body-v53{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
  padding:6px 4px!important;
}
.package-body-v53 h3{
  margin:0 0 8px!important;
  color:#12352f!important;
  font-size:22px!important;
  font-weight:850!important;
  letter-spacing:-.02em!important;
}
.package-body-v53 p{
  margin:0 0 10px!important;
  color:#263f39!important;
  font-size:15.5px!important;
  line-height:1.5!important;
}
.package-price-v53{
  margin:4px 0 10px!important;
  color:#12352f!important;
  font-size:18px!important;
  font-weight:850!important;
}
.package-tags-v53{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin:6px 0 10px!important;
}
.package-tags-v53 span{
  display:inline-flex!important;
  align-items:center!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:#fbfaf6!important;
  border:1px solid rgba(18,53,47,.12)!important;
  color:#28443c!important;
  font-size:12px!important;
  font-weight:750!important;
}
.package-note-v53{
  margin:4px 0 12px!important;
  padding:14px 16px!important;
  border-radius:16px!important;
  background:#fff7ea!important;
  border-left:3px solid #f6821f!important;
  color:#12352f!important;
  font-size:16px!important;
  line-height:1.45!important;
  font-weight:750!important;
}
.package-actions-v53{
  margin-top:auto!important;
}
@media(max-width:840px){
  .package-wide-v53{
    grid-template-columns:1fr!important;
  }
  .package-img-v53,
  .package-img-v53 img{
    min-height:220px!important;
  }
}


/* RESERVA EN PROCESO */
.reserva-proceso-v54{
  display:grid!important;
  grid-template-columns:62px minmax(0,1fr)!important;
  gap:13px!important;
  align-items:start!important;
  margin:10px 0 14px!important;
  padding:15px!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#eef7ee,#fff7ea)!important;
  border:1px solid rgba(18,53,47,.14)!important;
  box-shadow:0 10px 24px rgba(18,53,47,.07)!important;
}
.reserva-proceso-icon-v54{
  width:56px!important;
  height:56px!important;
  border-radius:18px!important;
  display:grid!important;
  place-items:center!important;
  background:#12352f!important;
  color:#fff!important;
  font-size:27px!important;
}
.reserva-proceso-content-v54 h3{
  margin:0 0 5px!important;
  color:#12352f!important;
  font-size:20px!important;
  font-weight:850!important;
  letter-spacing:-.02em!important;
}
.reserva-proceso-content-v54 p{
  margin:0 0 8px!important;
  color:#40544c!important;
  line-height:1.42!important;
  font-size:14.5px!important;
}
.reserva-proceso-total-v54{
  display:inline-flex!important;
  margin:0 0 10px!important;
  padding:8px 11px!important;
  border-radius:14px!important;
  background:#fff!important;
  border:1px solid rgba(18,53,47,.12)!important;
  color:#12352f!important;
  font-weight:800!important;
}
.reserva-proceso-actions-v54{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:9px!important;
}
@media(max-width:560px){
  .reserva-proceso-v54{
    grid-template-columns:1fr!important;
  }
  .reserva-proceso-actions-v54 .btn{
    width:100%!important;
  }
}


/* CONFIRMACIÓN ADMIN + PDF SOLO CONFIRMADO */
.confirmacion-admin-v55{
  margin:14px 0 0!important;
  padding:16px!important;
  border-radius:20px!important;
  background:#eef7ee!important;
  border:1px solid rgba(18,53,47,.14)!important;
  color:#12352f!important;
}
.confirmacion-admin-v55 h3{
  margin:0 0 8px!important;
  font-size:19px!important;
  font-weight:850!important;
}
.confirmacion-admin-v55 p{
  margin:0 0 7px!important;
  line-height:1.45!important;
  color:#40544c!important;
}
.pdf-pending-v55{
  display:inline-flex!important;
  padding:10px 12px!important;
  border-radius:14px!important;
  background:#fff7ea!important;
  border:1px solid rgba(246,130,31,.22)!important;
  color:#70420c!important;
  font-weight:800!important;
  font-size:13px!important;
}


/* FLUJO DATOS -> PAGO -> PDF RESPALDO */
.datos-cliente-v56{
  padding:16px!important;
  border-radius:20px!important;
  background:#eef7ee!important;
  border:1px solid rgba(18,53,47,.14)!important;
}
.datos-cliente-v56 h3{
  margin:0 0 8px!important;
  color:#12352f!important;
  font-size:19px!important;
  font-weight:850!important;
}
.datos-cliente-v56 p{
  margin:0 0 7px!important;
  color:#40544c!important;
  line-height:1.45!important;
}
.resumen-nota-v56{
  margin:10px 0 12px!important;
  padding:11px 12px!important;
  border-radius:14px!important;
  background:#fff7ea!important;
  border:1px solid rgba(246,130,31,.22)!important;
  color:#70420c!important;
  font-weight:800!important;
  font-size:13.5px!important;
  line-height:1.4!important;
}
.respaldo-pendiente-v56{
  background:#fff7ea!important;
  border-color:rgba(246,130,31,.28)!important;
}


/* FLUJO CORREGIDO V58 */
.datos-cliente-v56{
  margin:14px 0!important;
  padding:16px!important;
  border-radius:20px!important;
  background:#eef7ee!important;
  border:1px solid rgba(18,53,47,.14)!important;
}
.datos-cliente-v56 h3{
  margin:0 0 8px!important;
  color:#12352f!important;
  font-size:19px!important;
  font-weight:850!important;
}
.datos-cliente-v56 p{
  margin:0 0 7px!important;
  color:#40544c!important;
  line-height:1.45!important;
}
.respaldo-pendiente-v56{
  background:#fff7ea!important;
  border-color:rgba(246,130,31,.28)!important;
}



/* DATOS CLIENTE V59 */
.datos-cliente-v59{
  margin:14px 0!important;
  padding:16px!important;
  border-radius:20px!important;
  background:#eef7ee!important;
  border:1px solid rgba(18,53,47,.14)!important;
}
.datos-cliente-v59 h3{
  margin:0 0 8px!important;
  color:#12352f!important;
  font-size:19px!important;
  font-weight:850!important;
}
.datos-cliente-v59 p{
  margin:0 0 7px!important;
  color:#40544c!important;
  line-height:1.45!important;
}



/* V60 - BOTONES VOLVER EN DATOS */
.datos-cliente-v60{
  margin:14px 0!important;
  padding:16px!important;
  border-radius:20px!important;
  background:#eef7ee!important;
  border:1px solid rgba(18,53,47,.14)!important;
}
.datos-cliente-v60 h3{
  margin:0 0 8px!important;
  color:#12352f!important;
  font-size:19px!important;
  font-weight:850!important;
}
.datos-cliente-v60 p{
  margin:0 0 7px!important;
  color:#40544c!important;
  line-height:1.45!important;
}
.datos-volver-v60{
  margin-top:12px!important;
  padding-bottom:4px!important;
}



/* V61 - FORMULARIO NOMBRE Y TELÉFONO JUNTOS */
.datos-form-v61{
  margin:14px 0!important;
  padding:18px!important;
  border-radius:20px!important;
  background:#eef7ee!important;
  border:1px solid rgba(18,53,47,.14)!important;
}
.datos-form-v61 h3{
  margin:0 0 8px!important;
  color:#12352f!important;
  font-size:20px!important;
  font-weight:850!important;
}
.datos-form-v61 p{
  margin:0 0 12px!important;
  color:#40544c!important;
  line-height:1.45!important;
}
.datos-form-v61 label{
  display:block!important;
  margin:12px 0 6px!important;
  color:#12352f!important;
  font-weight:850!important;
  font-size:14px!important;
}
.form-input-v61{
  width:100%!important;
  height:48px!important;
  border-radius:15px!important;
  border:1px solid rgba(18,53,47,.18)!important;
  background:#fff!important;
  padding:0 14px!important;
  color:#12352f!important;
  font-weight:700!important;
  outline:none!important;
}
.form-input-v61:focus{
  border-color:#12352f!important;
  box-shadow:0 0 0 3px rgba(18,53,47,.10)!important;
}
.datos-error-v61{
  margin-top:12px!important;
  padding:11px 12px!important;
  border-radius:14px!important;
  background:#fff1f0!important;
  border:1px solid rgba(190,40,40,.22)!important;
  color:#8a1f1f!important;
  font-weight:800!important;
}
.datos-actions-v61{
  margin-top:14px!important;
}



/* V62 - ADMIN PDF QR OBLIGATORIO */
.admin-warning-v62{
  margin:12px 0 16px!important;
  padding:14px 16px!important;
  border-radius:16px!important;
  background:#fff7ea!important;
  border:1px solid rgba(246,130,31,.30)!important;
  color:#70420c!important;
  font-weight:700!important;
  line-height:1.45!important;
}
.admin-pdf-alert-v62{
  margin-top:7px!important;
  padding:7px 9px!important;
  border-radius:12px!important;
  background:#fff7ea!important;
  border:1px solid rgba(246,130,31,.30)!important;
  color:#70420c!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.3!important;
}
.admin-pdf-ok-v62{
  margin-top:7px!important;
  padding:7px 9px!important;
  border-radius:12px!important;
  background:#eaf7ec!important;
  border:1px solid rgba(18,53,47,.16)!important;
  color:#12352f!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.3!important;
}
.admin-pdf-muted-v62{
  margin-top:7px!important;
  padding:7px 9px!important;
  border-radius:12px!important;
  background:#f4f4f1!important;
  border:1px solid rgba(18,53,47,.10)!important;
  color:#5c6863!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.3!important;
}
.admin-row-actions button.ok{
  background:#12352f!important;
  color:#fff!important;
}
.admin-row-actions button.blocked{
  opacity:.78!important;
  background:#fff7ea!important;
  color:#70420c!important;
  border:1px solid rgba(246,130,31,.35)!important;
}



/* V63 - PAGO A ADMIN VISIBLE */
.pago-admin-v63{
  margin:18px 0!important;
  padding:22px!important;
  border-radius:26px!important;
  background:linear-gradient(135deg,#fff7ea,#ffffff)!important;
  border:2px solid rgba(246,130,31,.45)!important;
  box-shadow:0 14px 34px rgba(18,53,47,.10)!important;
}
.pago-admin-head-v63{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-bottom:16px!important;
}
.pago-label-v63{
  display:inline-flex!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  background:#12352f!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
}
.pago-admin-head-v63 h2{
  margin:10px 0 7px!important;
  color:#12352f!important;
  font-size:28px!important;
  line-height:1.08!important;
  font-weight:950!important;
}
.pago-admin-head-v63 p{
  margin:0!important;
  color:#40544c!important;
  font-size:16px!important;
  line-height:1.45!important;
}
.pago-total-v63{
  min-width:185px!important;
  padding:15px!important;
  border-radius:20px!important;
  background:#12352f!important;
  color:#fff!important;
  text-align:center!important;
  box-shadow:0 10px 24px rgba(18,53,47,.16)!important;
}
.pago-total-v63 small{
  display:block!important;
  font-size:13px!important;
  opacity:.88!important;
  margin-bottom:4px!important;
  font-weight:800!important;
}
.pago-total-v63 strong{
  display:block!important;
  font-size:34px!important;
  line-height:1!important;
  font-weight:950!important;
}
.pago-code-v63{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:13px 16px!important;
  margin:0 0 16px!important;
  border-radius:18px!important;
  background:#eef7ee!important;
  border:1px solid rgba(18,53,47,.16)!important;
}
.pago-code-v63 span{
  font-weight:850!important;
  color:#40544c!important;
}
.pago-code-v63 b{
  color:#12352f!important;
  font-size:20px!important;
  letter-spacing:.02em!important;
}
.bank-grid-v63{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
}
.bank-card-v63{
  padding:18px!important;
  border-radius:22px!important;
  background:#fff!important;
  border:2px solid rgba(18,53,47,.13)!important;
}
.bank-card-v63 h3{
  margin:0 0 13px!important;
  color:#12352f!important;
  font-size:21px!important;
  font-weight:950!important;
}
.bank-card-v63 div{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:10px 0!important;
  border-top:1px dashed rgba(18,53,47,.18)!important;
}
.bank-card-v63 span{
  color:#52605a!important;
  font-size:14px!important;
  font-weight:750!important;
}
.bank-card-v63 b{
  color:#12352f!important;
  font-size:18px!important;
  font-weight:950!important;
  text-align:right!important;
}
.pago-alert-v63{
  margin-top:16px!important;
  padding:16px!important;
  border-radius:18px!important;
  background:#fff!important;
  border-left:5px solid #f6821f!important;
  color:#12352f!important;
  font-size:16px!important;
  line-height:1.5!important;
  font-weight:760!important;
}
.pago-proceso-v63{
  margin-top:14px!important;
}
.pago-actions-v63{
  margin-top:14px!important;
}
.pago-actions-v63 .btn{
  min-height:48px!important;
  padding:13px 18px!important;
  font-size:15px!important;
}
@media(max-width:760px){
  .pago-admin-head-v63,
  .pago-code-v63{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .bank-grid-v63{
    grid-template-columns:1fr!important;
  }
  .pago-total-v63{
    min-width:0!important;
  }
}



/* V64 - FLUJO FINAL COMPRAS + CABAÑAS */
.agenda-info-v64{
  margin:12px 0 14px!important;
  padding:16px!important;
  border-radius:20px!important;
  background:#eef7ee!important;
  border:1px solid rgba(18,53,47,.14)!important;
}
.agenda-info-v64 h3{
  margin:0 0 8px!important;
  color:#12352f!important;
  font-size:20px!important;
  font-weight:900!important;
}
.agenda-info-v64 p{
  margin:0 0 7px!important;
  color:#40544c!important;
  line-height:1.45!important;
}
.section-menu-card b{
  line-height:1.15!important;
}



/* V65 - COMPRA EN LÍNEA Y CABAÑAS DETALLADAS */
.compra-info-v65,
.cabanas-info-v65{
  margin:12px 0 16px!important;
  padding:18px!important;
  border-radius:22px!important;
  background:#eef7ee!important;
  border:1px solid rgba(18,53,47,.14)!important;
}
.compra-info-v65 h3,
.cabanas-info-v65 h3{
  margin:0 0 8px!important;
  color:#12352f!important;
  font-size:22px!important;
  font-weight:950!important;
}
.compra-info-v65 p,
.cabanas-info-v65 p{
  margin:0!important;
  color:#40544c!important;
  line-height:1.45!important;
  font-size:15.5px!important;
}
.cabanas-info-grid-v65{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:12px!important;
}
.cabanas-info-grid-v65 div{
  padding:14px!important;
  border-radius:16px!important;
  background:#fff!important;
  border:1px solid rgba(18,53,47,.12)!important;
}
.cabanas-info-grid-v65 b{
  display:block!important;
  color:#12352f!important;
  font-size:15px!important;
  margin-bottom:6px!important;
}
.cabanas-info-grid-v65 span{
  display:block!important;
  color:#40544c!important;
  line-height:1.4!important;
  font-size:14px!important;
}
.cabanas-alert-v65{
  margin-top:12px!important;
  padding:14px 16px!important;
  border-radius:16px!important;
  background:#fff7ea!important;
  border-left:4px solid #f6821f!important;
  color:#12352f!important;
  font-weight:780!important;
  line-height:1.45!important;
}
.services-list-v65{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
}
.service-buy-card-v65{
  display:grid!important;
  grid-template-columns:360px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:stretch!important;
  width:100%!important;
  border:1px solid rgba(18,53,47,.12)!important;
  background:#fff!important;
  border-radius:22px!important;
  padding:14px!important;
  box-shadow:0 10px 26px rgba(18,53,47,.06)!important;
}
.service-buy-img-v65{
  width:100%!important;
  min-height:300px!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#f7f4ed!important;
}
.service-buy-img-v65 img{
  width:100%!important;
  height:100%!important;
  min-height:300px!important;
  object-fit:cover!important;
  display:block!important;
}
.service-buy-body-v65{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
  padding:6px 4px!important;
}
.service-buy-body-v65 h3{
  margin:0 0 8px!important;
  color:#12352f!important;
  font-size:24px!important;
  font-weight:950!important;
}
.service-buy-body-v65 p{
  margin:0 0 10px!important;
  color:#263f39!important;
  font-size:15.5px!important;
  line-height:1.5!important;
}
.service-buy-price-v65{
  margin:4px 0 10px!important;
  color:#12352f!important;
  font-size:24px!important;
  font-weight:950!important;
}
.service-buy-tags-v65{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin:6px 0 10px!important;
}
.service-buy-tags-v65 span{
  display:inline-flex!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:#fbfaf6!important;
  border:1px solid rgba(18,53,47,.12)!important;
  color:#28443c!important;
  font-size:12px!important;
  font-weight:750!important;
}
.service-buy-note-v65{
  margin:4px 0 12px!important;
  padding:14px 16px!important;
  border-radius:16px!important;
  background:#fff7ea!important;
  border-left:3px solid #f6821f!important;
  color:#12352f!important;
  font-size:15.5px!important;
  line-height:1.45!important;
  font-weight:780!important;
}
.service-buy-actions-v65{
  margin-top:auto!important;
}
@media(max-width:840px){
  .service-buy-card-v65{
    grid-template-columns:1fr!important;
  }
  .service-buy-img-v65,
  .service-buy-img-v65 img{
    min-height:230px!important;
  }
  .cabanas-info-grid-v65{
    grid-template-columns:1fr!important;
  }
}



/* V66 - COMPRA EN SERVICIOS */
.services-list-v66{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;}
.service-buy-card-v66{display:grid!important;grid-template-columns:360px minmax(0,1fr)!important;gap:16px!important;align-items:stretch!important;width:100%!important;border:1px solid rgba(18,53,47,.12)!important;background:#fff!important;border-radius:22px!important;padding:14px!important;box-shadow:0 10px 26px rgba(18,53,47,.06)!important;}
.service-buy-img-v66{width:100%!important;min-height:300px!important;border-radius:18px!important;overflow:hidden!important;background:#f7f4ed!important;}
.service-buy-img-v66 img{width:100%!important;height:100%!important;min-height:300px!important;object-fit:cover!important;display:block!important;}
.service-buy-body-v66{display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:0!important;padding:6px 4px!important;}
.service-buy-body-v66 h3{margin:0 0 8px!important;color:#12352f!important;font-size:24px!important;font-weight:950!important;}
.service-buy-body-v66 p{margin:0 0 10px!important;color:#263f39!important;font-size:15.5px!important;line-height:1.5!important;}
.service-buy-price-v66{margin:4px 0 10px!important;color:#12352f!important;font-size:24px!important;font-weight:950!important;}
.service-buy-tags-v66{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin:6px 0 10px!important;}
.service-buy-tags-v66 span{display:inline-flex!important;padding:7px 10px!important;border-radius:999px!important;background:#fbfaf6!important;border:1px solid rgba(18,53,47,.12)!important;color:#28443c!important;font-size:12px!important;font-weight:750!important;}
.service-buy-note-v66{margin:4px 0 12px!important;padding:14px 16px!important;border-radius:16px!important;background:#fff7ea!important;border-left:3px solid #f6821f!important;color:#12352f!important;font-size:15.5px!important;line-height:1.45!important;font-weight:780!important;}
.service-buy-actions-v66{margin-top:auto!important;}
.cabanas-info-v66{margin:12px 0 16px!important;padding:18px!important;border-radius:22px!important;background:#eef7ee!important;border:1px solid rgba(18,53,47,.14)!important;}
.cabanas-info-v66 h3{margin:0 0 10px!important;color:#12352f!important;font-size:22px!important;font-weight:950!important;}
.cabanas-info-grid-v66{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
.cabanas-info-grid-v66 div{padding:14px!important;border-radius:16px!important;background:#fff!important;border:1px solid rgba(18,53,47,.12)!important;}
.cabanas-info-grid-v66 b{display:block!important;color:#12352f!important;font-size:15px!important;margin-bottom:6px!important;}
.cabanas-info-grid-v66 span{display:block!important;color:#40544c!important;line-height:1.4!important;font-size:14px!important;}
@media(max-width:840px){.service-buy-card-v66{grid-template-columns:1fr!important}.service-buy-img-v66,.service-buy-img-v66 img{min-height:230px!important}.cabanas-info-grid-v66{grid-template-columns:1fr!important}}



/* V67 - TARJETAS COMPRA Y HORARIO */
.services-list-v67{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;}
.service-buy-card-v67{display:grid!important;grid-template-columns:360px minmax(0,1fr)!important;gap:16px!important;align-items:stretch!important;width:100%!important;border:1px solid rgba(18,53,47,.12)!important;background:#fff!important;border-radius:22px!important;padding:14px!important;box-shadow:0 10px 26px rgba(18,53,47,.06)!important;}
.service-buy-img-v67{width:100%!important;min-height:300px!important;border-radius:18px!important;overflow:hidden!important;background:#f7f4ed!important;}
.service-buy-img-v67 img{width:100%!important;height:100%!important;min-height:300px!important;object-fit:cover!important;display:block!important;}
.service-buy-body-v67{display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:0!important;padding:6px 4px!important;}
.service-buy-body-v67 h3{margin:0 0 8px!important;color:#12352f!important;font-size:24px!important;font-weight:950!important;}
.service-buy-body-v67 p{margin:0 0 10px!important;color:#263f39!important;font-size:15.5px!important;line-height:1.5!important;}
.service-buy-price-v67{margin:4px 0 10px!important;color:#12352f!important;font-size:24px!important;font-weight:950!important;}
.service-buy-tags-v67{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin:6px 0 10px!important;}
.service-buy-tags-v67 span{display:inline-flex!important;padding:7px 10px!important;border-radius:999px!important;background:#fbfaf6!important;border:1px solid rgba(18,53,47,.12)!important;color:#28443c!important;font-size:12px!important;font-weight:750!important;}
.service-buy-note-v67{margin:4px 0 12px!important;padding:14px 16px!important;border-radius:16px!important;background:#fff7ea!important;border-left:3px solid #f6821f!important;color:#12352f!important;font-size:16px!important;line-height:1.45!important;font-weight:850!important;}
.service-buy-actions-v67{margin-top:auto!important;}
@media(max-width:840px){.service-buy-card-v67{grid-template-columns:1fr!important}.service-buy-img-v67,.service-buy-img-v67 img{min-height:230px!important}}



/* V68 - VOLVER FUNCIONAL */
.services-list-v68{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;}
.service-buy-card-v68{display:grid!important;grid-template-columns:360px minmax(0,1fr)!important;gap:16px!important;align-items:stretch!important;width:100%!important;border:1px solid rgba(18,53,47,.12)!important;background:#fff!important;border-radius:22px!important;padding:14px!important;box-shadow:0 10px 26px rgba(18,53,47,.06)!important;}
.service-buy-img-v68{width:100%!important;min-height:300px!important;border-radius:18px!important;overflow:hidden!important;background:#f7f4ed!important;}
.service-buy-img-v68 img{width:100%!important;height:100%!important;min-height:300px!important;object-fit:cover!important;display:block!important;}
.service-buy-body-v68{display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:0!important;padding:6px 4px!important;}
.service-buy-body-v68 h3{margin:0 0 8px!important;color:#12352f!important;font-size:24px!important;font-weight:950!important;}
.service-buy-body-v68 p{margin:0 0 10px!important;color:#263f39!important;font-size:15.5px!important;line-height:1.5!important;}
.service-buy-price-v68{margin:4px 0 10px!important;color:#12352f!important;font-size:24px!important;font-weight:950!important;}
.service-buy-tags-v68{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin:6px 0 10px!important;}
.service-buy-tags-v68 span{display:inline-flex!important;padding:7px 10px!important;border-radius:999px!important;background:#fbfaf6!important;border:1px solid rgba(18,53,47,.12)!important;color:#28443c!important;font-size:12px!important;font-weight:750!important;}
.service-buy-note-v68{margin:4px 0 12px!important;padding:14px 16px!important;border-radius:16px!important;background:#fff7ea!important;border-left:3px solid #f6821f!important;color:#12352f!important;font-size:15.5px!important;line-height:1.45!important;font-weight:780!important;}
.service-buy-actions-v68{margin-top:auto!important;}
.cabanas-info-v68{margin:12px 0 16px!important;padding:18px!important;border-radius:22px!important;background:#eef7ee!important;border:1px solid rgba(18,53,47,.14)!important;}
.cabanas-info-v68 h3{margin:0 0 10px!important;color:#12352f!important;font-size:22px!important;font-weight:950!important;}
.cabanas-info-grid-v68{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
.cabanas-info-grid-v68 div{padding:14px!important;border-radius:16px!important;background:#fff!important;border:1px solid rgba(18,53,47,.12)!important;}
.cabanas-info-grid-v68 b{display:block!important;color:#12352f!important;font-size:15px!important;margin-bottom:6px!important;}
.cabanas-info-grid-v68 span{display:block!important;color:#40544c!important;line-height:1.4!important;font-size:14px!important;}
@media(max-width:840px){.service-buy-card-v68{grid-template-columns:1fr!important}.service-buy-img-v68,.service-buy-img-v68 img{min-height:230px!important}.cabanas-info-grid-v68{grid-template-columns:1fr!important}}



/* V69 - VOLVER A SERVICIOS ARREGLADO */
.services-list-v69{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;}
.service-buy-card-v69{display:grid!important;grid-template-columns:360px minmax(0,1fr)!important;gap:16px!important;align-items:stretch!important;width:100%!important;border:1px solid rgba(18,53,47,.12)!important;background:#fff!important;border-radius:22px!important;padding:14px!important;box-shadow:0 10px 26px rgba(18,53,47,.06)!important;}
.service-buy-img-v69{width:100%!important;min-height:300px!important;border-radius:18px!important;overflow:hidden!important;background:#f7f4ed!important;}
.service-buy-img-v69 img{width:100%!important;height:100%!important;min-height:300px!important;object-fit:cover!important;display:block!important;}
.service-buy-body-v69{display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:0!important;padding:6px 4px!important;}
.service-buy-body-v69 h3{margin:0 0 8px!important;color:#12352f!important;font-size:24px!important;font-weight:950!important;}
.service-buy-body-v69 p{margin:0 0 10px!important;color:#263f39!important;font-size:15.5px!important;line-height:1.5!important;}
.service-buy-price-v69{margin:4px 0 10px!important;color:#12352f!important;font-size:24px!important;font-weight:950!important;}
.service-buy-tags-v69{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin:6px 0 10px!important;}
.service-buy-tags-v69 span{display:inline-flex!important;padding:7px 10px!important;border-radius:999px!important;background:#fbfaf6!important;border:1px solid rgba(18,53,47,.12)!important;color:#28443c!important;font-size:12px!important;font-weight:750!important;}
.service-buy-note-v69{margin:4px 0 12px!important;padding:14px 16px!important;border-radius:16px!important;background:#fff7ea!important;border-left:3px solid #f6821f!important;color:#12352f!important;font-size:15.5px!important;line-height:1.45!important;font-weight:780!important;}
.service-buy-actions-v69{margin-top:auto!important;}
.volver-servicios-v69{cursor:pointer!important;}
.cabanas-info-v69{margin:12px 0 16px!important;padding:18px!important;border-radius:22px!important;background:#eef7ee!important;border:1px solid rgba(18,53,47,.14)!important;}
.cabanas-info-v69 h3{margin:0 0 10px!important;color:#12352f!important;font-size:22px!important;font-weight:950!important;}
.cabanas-info-grid-v69{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
.cabanas-info-grid-v69 div{padding:14px!important;border-radius:16px!important;background:#fff!important;border:1px solid rgba(18,53,47,.12)!important;}
.cabanas-info-grid-v69 b{display:block!important;color:#12352f!important;font-size:15px!important;margin-bottom:6px!important;}
.cabanas-info-grid-v69 span{display:block!important;color:#40544c!important;line-height:1.4!important;font-size:14px!important;}
@media(max-width:840px){.service-buy-card-v69{grid-template-columns:1fr!important}.service-buy-img-v69,.service-buy-img-v69 img{min-height:230px!important}.cabanas-info-grid-v69{grid-template-columns:1fr!important}}



/* V70 - PEDIDO AGREGADO SIN DUPLICAR */
.pedido-agregado-v70{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  padding:18px!important;
  border-radius:22px!important;
  background:#eef7ee!important;
  border:1px solid rgba(18,53,47,.16)!important;
  box-shadow:0 10px 24px rgba(18,53,47,.06)!important;
}
.pedido-agregado-icon-v70{
  width:58px!important;
  height:58px!important;
  border-radius:18px!important;
  background:#12352f!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
  font-size:27px!important;
}
.pedido-agregado-v70 h3{
  margin:0 0 5px!important;
  color:#12352f!important;
  font-size:21px!important;
  font-weight:950!important;
}
.pedido-agregado-v70 p{
  margin:0 0 10px!important;
  color:#40544c!important;
  font-size:15px!important;
}
.pedido-agregado-total-v70{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:8px 12px!important;
  border-radius:14px!important;
  background:#fff!important;
  border:1px solid rgba(18,53,47,.12)!important;
}
.pedido-agregado-total-v70 span{
  color:#52605a!important;
  font-weight:800!important;
  font-size:13px!important;
}
.pedido-agregado-total-v70 b{
  color:#12352f!important;
  font-size:18px!important;
  font-weight:950!important;
}
.pedido-actions-v70{
  margin-top:14px!important;
}
@media(max-width:560px){
  .pedido-agregado-v70{
    grid-template-columns:1fr!important;
  }
  .pedido-actions-v70 .btn{
    width:100%!important;
  }
}



/* V71 - DATOS PRIMERO, TRANSFERENCIA DESPUÉS */
.datos-form-v71{
  margin:16px 0!important;
  padding:18px!important;
  border-radius:22px!important;
  background:#eef7ee!important;
  border:1px solid rgba(18,53,47,.14)!important;
}
.datos-form-v71 h3{
  margin:0 0 8px!important;
  color:#12352f!important;
  font-size:21px!important;
  font-weight:950!important;
}
.datos-form-v71 p{
  margin:0 0 12px!important;
  color:#40544c!important;
  line-height:1.45!important;
  font-size:15px!important;
}
.datos-form-v71 label{
  display:block!important;
  margin:12px 0 6px!important;
  color:#12352f!important;
  font-weight:850!important;
  font-size:14px!important;
}
.form-input-v71{
  width:100%!important;
  height:48px!important;
  border-radius:15px!important;
  border:1px solid rgba(18,53,47,.18)!important;
  background:#fff!important;
  padding:0 14px!important;
  color:#12352f!important;
  font-weight:700!important;
  outline:none!important;
}
.form-input-v71:focus{
  border-color:#12352f!important;
  box-shadow:0 0 0 3px rgba(18,53,47,.10)!important;
}
.datos-error-v71{
  margin-top:12px!important;
  padding:11px 12px!important;
  border-radius:14px!important;
  background:#fff1f0!important;
  border:1px solid rgba(190,40,40,.22)!important;
  color:#8a1f1f!important;
  font-weight:800!important;
}
.datos-actions-v71{
  margin-top:14px!important;
}
.pago-admin-v71{
  margin:18px 0!important;
  padding:22px!important;
  border-radius:26px!important;
  background:linear-gradient(135deg,#fff7ea,#ffffff)!important;
  border:2px solid rgba(246,130,31,.45)!important;
  box-shadow:0 14px 34px rgba(18,53,47,.10)!important;
}
.pago-admin-head-v71{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-bottom:16px!important;
}
.pago-label-v71{
  display:inline-flex!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  background:#12352f!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
}
.pago-admin-head-v71 h2{
  margin:10px 0 7px!important;
  color:#12352f!important;
  font-size:28px!important;
  line-height:1.08!important;
  font-weight:950!important;
}
.pago-admin-head-v71 p{
  margin:0!important;
  color:#40544c!important;
  font-size:16px!important;
  line-height:1.45!important;
}
.pago-total-v71{
  min-width:185px!important;
  padding:15px!important;
  border-radius:20px!important;
  background:#12352f!important;
  color:#fff!important;
  text-align:center!important;
}
.pago-total-v71 small{
  display:block!important;
  font-size:13px!important;
  opacity:.88!important;
  margin-bottom:4px!important;
  font-weight:800!important;
}
.pago-total-v71 strong{
  display:block!important;
  font-size:34px!important;
  line-height:1!important;
  font-weight:950!important;
}
.bank-grid-v71{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
}
.bank-card-v71{
  padding:18px!important;
  border-radius:22px!important;
  background:#fff!important;
  border:2px solid rgba(18,53,47,.13)!important;
}
.bank-card-v71 h3{
  margin:0 0 13px!important;
  color:#12352f!important;
  font-size:21px!important;
  font-weight:950!important;
}
.bank-card-v71 div{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:10px 0!important;
  border-top:1px dashed rgba(18,53,47,.18)!important;
}
.bank-card-v71 span{
  color:#52605a!important;
  font-size:14px!important;
  font-weight:750!important;
}
.bank-card-v71 b{
  color:#12352f!important;
  font-size:18px!important;
  font-weight:950!important;
  text-align:right!important;
}
.pago-alert-v71{
  margin-top:16px!important;
  padding:16px!important;
  border-radius:18px!important;
  background:#fff!important;
  border-left:5px solid #f6821f!important;
  color:#12352f!important;
  font-size:16px!important;
  line-height:1.5!important;
  font-weight:760!important;
}
.pago-actions-v71{
  margin-top:14px!important;
}
@media(max-width:760px){
  .pago-admin-head-v71{flex-direction:column!important;}
  .bank-grid-v71{grid-template-columns:1fr!important;}
  .pago-total-v71{min-width:0!important;}
}



/* V72 - DATOS PRIMERO; BANCO DESPUÉS */
.datos-form-v72{
  margin:16px 0!important;
  padding:18px!important;
  border-radius:22px!important;
  background:#eef7ee!important;
  border:1px solid rgba(18,53,47,.14)!important;
}
.datos-form-v72 h3{
  margin:0 0 8px!important;
  color:#12352f!important;
  font-size:21px!important;
  font-weight:950!important;
}
.datos-form-v72 p{
  margin:0 0 12px!important;
  color:#40544c!important;
  line-height:1.45!important;
  font-size:15px!important;
}
.datos-form-v72 label{
  display:block!important;
  margin:12px 0 6px!important;
  color:#12352f!important;
  font-weight:850!important;
  font-size:14px!important;
}
.form-input-v72{
  width:100%!important;
  height:48px!important;
  border-radius:15px!important;
  border:1px solid rgba(18,53,47,.18)!important;
  background:#fff!important;
  padding:0 14px!important;
  color:#12352f!important;
  font-weight:700!important;
  outline:none!important;
}
.form-input-v72:focus{
  border-color:#12352f!important;
  box-shadow:0 0 0 3px rgba(18,53,47,.10)!important;
}
.datos-error-v72{
  margin-top:12px!important;
  padding:11px 12px!important;
  border-radius:14px!important;
  background:#fff1f0!important;
  border:1px solid rgba(190,40,40,.22)!important;
  color:#8a1f1f!important;
  font-weight:800!important;
}
.datos-actions-v72{
  margin-top:14px!important;
}
.pago-admin-v72{
  margin:18px 0!important;
  padding:22px!important;
  border-radius:26px!important;
  background:linear-gradient(135deg,#fff7ea,#ffffff)!important;
  border:2px solid rgba(246,130,31,.45)!important;
  box-shadow:0 14px 34px rgba(18,53,47,.10)!important;
}
.pago-admin-head-v72{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-bottom:16px!important;
}
.pago-label-v72{
  display:inline-flex!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  background:#12352f!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
}
.pago-admin-head-v72 h2{
  margin:10px 0 7px!important;
  color:#12352f!important;
  font-size:28px!important;
  line-height:1.08!important;
  font-weight:950!important;
}
.pago-admin-head-v72 p{
  margin:0!important;
  color:#40544c!important;
  font-size:16px!important;
  line-height:1.45!important;
}
.pago-total-v72{
  min-width:185px!important;
  padding:15px!important;
  border-radius:20px!important;
  background:#12352f!important;
  color:#fff!important;
  text-align:center!important;
}
.pago-total-v72 small{
  display:block!important;
  font-size:13px!important;
  opacity:.88!important;
  margin-bottom:4px!important;
  font-weight:800!important;
}
.pago-total-v72 strong{
  display:block!important;
  font-size:34px!important;
  line-height:1!important;
  font-weight:950!important;
}
.bank-grid-v72{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
}
.bank-card-v72{
  padding:18px!important;
  border-radius:22px!important;
  background:#fff!important;
  border:2px solid rgba(18,53,47,.13)!important;
}
.bank-card-v72 h3{
  margin:0 0 13px!important;
  color:#12352f!important;
  font-size:21px!important;
  font-weight:950!important;
}
.bank-card-v72 div{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:10px 0!important;
  border-top:1px dashed rgba(18,53,47,.18)!important;
}
.bank-card-v72 span{
  color:#52605a!important;
  font-size:14px!important;
  font-weight:750!important;
}
.bank-card-v72 b{
  color:#12352f!important;
  font-size:18px!important;
  font-weight:950!important;
  text-align:right!important;
}
.pago-alert-v72{
  margin-top:16px!important;
  padding:16px!important;
  border-radius:18px!important;
  background:#fff!important;
  border-left:5px solid #f6821f!important;
  color:#12352f!important;
  font-size:16px!important;
  line-height:1.5!important;
  font-weight:760!important;
}
@media(max-width:760px){
  .pago-admin-head-v72{flex-direction:column!important;}
  .bank-grid-v72{grid-template-columns:1fr!important;}
  .pago-total-v72{min-width:0!important;}
}



/* V73 - DATOS PRIMERO; BANCO DESPUÉS */
.datos-form-v73{margin:16px 0!important;padding:18px!important;border-radius:22px!important;background:#eef7ee!important;border:1px solid rgba(18,53,47,.14)!important;}
.datos-form-v73 h3{margin:0 0 8px!important;color:#12352f!important;font-size:21px!important;font-weight:950!important;}
.datos-form-v73 p{margin:0 0 12px!important;color:#40544c!important;line-height:1.45!important;font-size:15px!important;}
.datos-form-v73 label{display:block!important;margin:12px 0 6px!important;color:#12352f!important;font-weight:850!important;font-size:14px!important;}
.form-input-v73{width:100%!important;height:48px!important;border-radius:15px!important;border:1px solid rgba(18,53,47,.18)!important;background:#fff!important;padding:0 14px!important;color:#12352f!important;font-weight:700!important;outline:none!important;}
.form-input-v73:focus{border-color:#12352f!important;box-shadow:0 0 0 3px rgba(18,53,47,.10)!important;}
.datos-error-v73{margin-top:12px!important;padding:11px 12px!important;border-radius:14px!important;background:#fff1f0!important;border:1px solid rgba(190,40,40,.22)!important;color:#8a1f1f!important;font-weight:800!important;}
.datos-actions-v73{margin-top:14px!important;}
.pago-admin-v73{margin:18px 0!important;padding:22px!important;border-radius:26px!important;background:linear-gradient(135deg,#fff7ea,#ffffff)!important;border:2px solid rgba(246,130,31,.45)!important;box-shadow:0 14px 34px rgba(18,53,47,.10)!important;}
.pago-admin-head-v73{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;margin-bottom:16px!important;}
.pago-label-v73{display:inline-flex!important;padding:7px 11px!important;border-radius:999px!important;background:#12352f!important;color:#fff!important;font-size:12px!important;font-weight:900!important;letter-spacing:.04em!important;}
.pago-admin-head-v73 h2{margin:10px 0 7px!important;color:#12352f!important;font-size:28px!important;line-height:1.08!important;font-weight:950!important;}
.pago-admin-head-v73 p{margin:0!important;color:#40544c!important;font-size:16px!important;line-height:1.45!important;}
.pago-total-v73{min-width:185px!important;padding:15px!important;border-radius:20px!important;background:#12352f!important;color:#fff!important;text-align:center!important;}
.pago-total-v73 small{display:block!important;font-size:13px!important;opacity:.88!important;margin-bottom:4px!important;font-weight:800!important;}
.pago-total-v73 strong{display:block!important;font-size:34px!important;line-height:1!important;font-weight:950!important;}
.bank-grid-v73{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;}
.bank-card-v73{padding:18px!important;border-radius:22px!important;background:#fff!important;border:2px solid rgba(18,53,47,.13)!important;}
.bank-card-v73 h3{margin:0 0 13px!important;color:#12352f!important;font-size:21px!important;font-weight:950!important;}
.bank-card-v73 div{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;padding:10px 0!important;border-top:1px dashed rgba(18,53,47,.18)!important;}
.bank-card-v73 span{color:#52605a!important;font-size:14px!important;font-weight:750!important;}
.bank-card-v73 b{color:#12352f!important;font-size:18px!important;font-weight:950!important;text-align:right!important;}
.pago-alert-v73{margin-top:16px!important;padding:16px!important;border-radius:18px!important;background:#fff!important;border-left:5px solid #f6821f!important;color:#12352f!important;font-size:16px!important;line-height:1.5!important;font-weight:760!important;}
@media(max-width:760px){.pago-admin-head-v73{flex-direction:column!important}.bank-grid-v73{grid-template-columns:1fr!important}.pago-total-v73{min-width:0!important}}



/* V74 - NOMBRE Y WHATSAPP ANTES DE BANCO */
.datos-form-v74{
  margin:16px 0!important;
  padding:18px!important;
  border-radius:22px!important;
  background:#eef7ee!important;
  border:1px solid rgba(18,53,47,.14)!important;
}
.datos-form-v74 h3{
  margin:0 0 8px!important;
  color:#12352f!important;
  font-size:22px!important;
  font-weight:950!important;
}
.datos-form-v74 p{
  margin:0 0 12px!important;
  color:#40544c!important;
  line-height:1.45!important;
  font-size:15px!important;
}
.datos-form-v74 label{
  display:block!important;
  margin:12px 0 6px!important;
  color:#12352f!important;
  font-weight:850!important;
  font-size:14px!important;
}
.form-input-v74{
  width:100%!important;
  height:48px!important;
  border-radius:15px!important;
  border:1px solid rgba(18,53,47,.18)!important;
  background:#fff!important;
  padding:0 14px!important;
  color:#12352f!important;
  font-weight:700!important;
  outline:none!important;
}
.form-input-v74:focus{
  border-color:#12352f!important;
  box-shadow:0 0 0 3px rgba(18,53,47,.10)!important;
}
.datos-error-v74{
  margin-top:12px!important;
  padding:11px 12px!important;
  border-radius:14px!important;
  background:#fff1f0!important;
  border:1px solid rgba(190,40,40,.22)!important;
  color:#8a1f1f!important;
  font-weight:800!important;
}
.datos-actions-v74{
  margin-top:14px!important;
}
.pago-admin-v74{
  margin:18px 0!important;
  padding:22px!important;
  border-radius:26px!important;
  background:linear-gradient(135deg,#fff7ea,#ffffff)!important;
  border:2px solid rgba(246,130,31,.45)!important;
  box-shadow:0 14px 34px rgba(18,53,47,.10)!important;
}
.pago-admin-head-v74{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-bottom:16px!important;
}
.pago-label-v74{
  display:inline-flex!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  background:#12352f!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
}
.pago-admin-head-v74 h2{
  margin:10px 0 7px!important;
  color:#12352f!important;
  font-size:28px!important;
  line-height:1.08!important;
  font-weight:950!important;
}
.pago-admin-head-v74 p{
  margin:0!important;
  color:#40544c!important;
  font-size:16px!important;
  line-height:1.45!important;
}
.pago-total-v74{
  min-width:185px!important;
  padding:15px!important;
  border-radius:20px!important;
  background:#12352f!important;
  color:#fff!important;
  text-align:center!important;
}
.pago-total-v74 small{
  display:block!important;
  font-size:13px!important;
  opacity:.88!important;
  margin-bottom:4px!important;
  font-weight:800!important;
}
.pago-total-v74 strong{
  display:block!important;
  font-size:34px!important;
  line-height:1!important;
  font-weight:950!important;
}
.bank-grid-v74{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
}
.bank-card-v74{
  padding:18px!important;
  border-radius:22px!important;
  background:#fff!important;
  border:2px solid rgba(18,53,47,.13)!important;
}
.bank-card-v74 h3{
  margin:0 0 13px!important;
  color:#12352f!important;
  font-size:21px!important;
  font-weight:950!important;
}
.bank-card-v74 div{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:10px 0!important;
  border-top:1px dashed rgba(18,53,47,.18)!important;
}
.bank-card-v74 span{
  color:#52605a!important;
  font-size:14px!important;
  font-weight:750!important;
}
.bank-card-v74 b{
  color:#12352f!important;
  font-size:18px!important;
  font-weight:950!important;
  text-align:right!important;
}
.pago-alert-v74{
  margin-top:16px!important;
  padding:16px!important;
  border-radius:18px!important;
  background:#fff!important;
  border-left:5px solid #f6821f!important;
  color:#12352f!important;
  font-size:16px!important;
  line-height:1.5!important;
  font-weight:760!important;
}
@media(max-width:760px){
  .pago-admin-head-v74{flex-direction:column!important;}
  .bank-grid-v74{grid-template-columns:1fr!important;}
  .pago-total-v74{min-width:0!important;}
}



/* V75 - FINALIZAR O MÁS SERVICIOS */
.pedido-agregado-v75{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  padding:18px!important;
  border-radius:22px!important;
  background:#eef7ee!important;
  border:1px solid rgba(18,53,47,.16)!important;
  box-shadow:0 10px 24px rgba(18,53,47,.06)!important;
}
.pedido-agregado-icon-v75{
  width:58px!important;
  height:58px!important;
  border-radius:18px!important;
  background:#12352f!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
  font-size:27px!important;
}
.pedido-agregado-v75 h3{
  margin:0 0 5px!important;
  color:#12352f!important;
  font-size:21px!important;
  font-weight:950!important;
}
.pedido-agregado-v75 p{
  margin:0 0 10px!important;
  color:#40544c!important;
  font-size:15px!important;
}
.pedido-agregado-total-v75{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:8px 12px!important;
  border-radius:14px!important;
  background:#fff!important;
  border:1px solid rgba(18,53,47,.12)!important;
}
.pedido-agregado-total-v75 span{
  color:#52605a!important;
  font-weight:800!important;
  font-size:13px!important;
}
.pedido-agregado-total-v75 b{
  color:#12352f!important;
  font-size:18px!important;
  font-weight:950!important;
}
.pedido-aviso-v75{
  margin:14px 0!important;
  padding:14px 16px!important;
  border-radius:16px!important;
  background:#fff7ea!important;
  border-left:4px solid #f6821f!important;
  color:#12352f!important;
  font-weight:850!important;
  line-height:1.45!important;
}
.pedido-actions-v75{
  margin-top:14px!important;
}
@media(max-width:560px){
  .pedido-agregado-v75{
    grid-template-columns:1fr!important;
  }
  .pedido-actions-v75 .btn{
    width:100%!important;
  }
}



/* V76 - TODOS LOS SERVICIOS FINALIZAR / MÁS SERVICIOS */
.pedido-agregado-v76{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  padding:18px!important;
  border-radius:22px!important;
  background:#eef7ee!important;
  border:1px solid rgba(18,53,47,.16)!important;
  box-shadow:0 10px 24px rgba(18,53,47,.06)!important;
}
.pedido-agregado-icon-v76{
  width:58px!important;
  height:58px!important;
  border-radius:18px!important;
  background:#12352f!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
  font-size:27px!important;
}
.pedido-agregado-v76 h3{
  margin:0 0 5px!important;
  color:#12352f!important;
  font-size:21px!important;
  font-weight:950!important;
}
.pedido-agregado-v76 p{
  margin:0 0 10px!important;
  color:#40544c!important;
  font-size:15px!important;
}
.pedido-agregado-total-v76{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:8px 12px!important;
  border-radius:14px!important;
  background:#fff!important;
  border:1px solid rgba(18,53,47,.12)!important;
}
.pedido-agregado-total-v76 span{
  color:#52605a!important;
  font-weight:800!important;
  font-size:13px!important;
}
.pedido-agregado-total-v76 b{
  color:#12352f!important;
  font-size:18px!important;
  font-weight:950!important;
}
.pedido-aviso-v76{
  margin:14px 0!important;
  padding:14px 16px!important;
  border-radius:16px!important;
  background:#fff7ea!important;
  border-left:4px solid #f6821f!important;
  color:#12352f!important;
  font-weight:850!important;
  line-height:1.45!important;
}
.pedido-actions-v76{
  margin-top:14px!important;
}
@media(max-width:560px){
  .pedido-agregado-v76{
    grid-template-columns:1fr!important;
  }
  .pedido-actions-v76 .btn{
    width:100%!important;
  }
}


/* PATCH FINAL V85 - bloque dorado de finalización visible */
.pedido-actual-dorado-final-v85{
  margin:14px 0 16px 0;
  padding:16px;
  border-radius:18px;
  border:2px solid #d69a19;
  background:linear-gradient(135deg,#fff6d8 0%,#ffd66b 100%);
  box-shadow:0 10px 24px rgba(130,85,0,.18);
  color:#073b35;
}
.pedido-actual-dorado-head-v85{
  font-weight:900;
  font-size:20px;
  margin-bottom:6px;
}
.pedido-actual-dorado-count-v85{
  font-weight:800;
  font-size:15px;
  margin-bottom:4px;
}
.pedido-actual-dorado-total-v85{
  font-size:18px;
  font-weight:900;
  margin-bottom:12px;
}
.pedido-actual-dorado-actions-v85{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.pedido-ver-btn-final-v85{
  background:#ffffff !important;
  color:#073b35 !important;
  border:1px solid #cfcfcf !important;
  font-weight:900 !important;
}
.pedido-finalizar-btn-final-v85{
  background:#c98700 !important;
  color:#ffffff !important;
  border:2px solid #8b5a00 !important;
  box-shadow:0 6px 14px rgba(120,80,0,.25);
  font-weight:1000 !important;
  letter-spacing:.3px;
  text-transform:uppercase;
}
.pedido-finalizar-btn-final-v85:hover{
  filter:brightness(.96);
  transform:translateY(-1px);
}
@media(max-width:640px){
  .pedido-actual-dorado-actions-v85{display:grid;grid-template-columns:1fr;}
  .pedido-actual-dorado-head-v85{font-size:18px;}
}


/* =========================================================
   AJUSTE VISUAL SOLAMENTE
   Campos de nombre completo y teléfono / WhatsApp más visibles.
   No cambia la lógica ni el flujo.
   ========================================================= */
.summary-box:has([id^="clienteNombreV"]),
.summary-box:has([id^="clienteWhatsappV"]),
.summary-box:has([id^="clienteTelefonoV"]){
  padding:18px;
  border-radius:22px;
  border:1px solid rgba(18,53,47,.14);
  box-shadow:0 10px 24px rgba(18,53,47,.05);
}

.summary-row:has([id^="clienteNombreV"]),
.summary-row:has([id^="clienteWhatsappV"]),
.summary-row:has([id^="clienteTelefonoV"]){
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  align-items:start;
  padding:14px 0;
}

.summary-row:has([id^="clienteNombreV"]) > span,
.summary-row:has([id^="clienteWhatsappV"]) > span,
.summary-row:has([id^="clienteTelefonoV"]) > span{
  font-size:13px;
  font-weight:900;
  color:var(--forest);
  letter-spacing:.01em;
}

input[id^="clienteNombreV"],
input[id^="clienteWhatsappV"],
input[id^="clienteTelefonoV"]{
  width:100%;
  max-width:none;
  min-height:54px;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(18,53,47,.18);
  background:#fff;
  color:var(--ink);
  font-size:15px;
  font-weight:700;
  outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}

input[id^="clienteNombreV"]::placeholder,
input[id^="clienteWhatsappV"]::placeholder,
input[id^="clienteTelefonoV"]::placeholder{
  color:#97a19c;
  font-weight:500;
}

input[id^="clienteNombreV"]:focus,
input[id^="clienteWhatsappV"]:focus,
input[id^="clienteTelefonoV"]:focus{
  border-color:rgba(79,143,69,.62);
  box-shadow:0 0 0 4px rgba(112,187,68,.12);
}

#datosErrorV77,
[id^="datosErrorV"]{
  margin-top:12px !important;
  padding:12px 14px !important;
  border-radius:14px !important;
  background:#fff4ef !important;
  border:1px solid rgba(194,84,31,.18) !important;
  color:#8b3d10 !important;
  font-size:13px !important;
  font-weight:800 !important;
}

@media (max-width:760px){
  .summary-box:has([id^="clienteNombreV"]),
  .summary-box:has([id^="clienteWhatsappV"]),
  .summary-box:has([id^="clienteTelefonoV"]){
    padding:15px;
  }

  input[id^="clienteNombreV"],
  input[id^="clienteWhatsappV"],
  input[id^="clienteTelefonoV"]{
    min-height:52px;
    font-size:15px;
  }
}


/* Botón cancelar pedido en pantalla de transferencia */
.btn-cancelar-pedido-cliente-v90{
  background:#fff0f0 !important;
  color:#8b1e1e !important;
  border:1px solid rgba(148,38,41,.28) !important;
}
.btn-cancelar-pedido-cliente-v90:hover{
  filter:brightness(.98);
}


/* Pantalla segura antes de nueva consulta */
.aviso-comprobante-v92{
  border:1px solid rgba(246,130,31,.28) !important;
  background:#fffaf2 !important;
}
.aviso-comprobante-v92 .section-title{
  font-size:20px;
}


/* Retomar pedido pendiente */
.pedido-pendiente-btn-v93{
  margin-top:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(246,130,31,.35);
  background:#fff7ea;
  color:#7a3f05;
  border-radius:999px;
  padding:9px 13px;
  font-weight:950;
  cursor:pointer;
  font-size:13px;
  white-space:nowrap;
}
.retomar-pedido-v93{
  border:1px solid rgba(246,130,31,.26) !important;
}
.banco-retomar-v93{
  margin-top:12px;
}
@media(max-width:760px){
  .pedido-pendiente-btn-v93{
    width:100%;
    margin-top:8px;
    font-size:12px;
  }
}


/* Botón compartir sistema */
.btn-compartir-sistema-v94{
  margin-top:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.12);
  color:#fff;
  border-radius:999px;
  padding:9px 13px;
  font-weight:950;
  cursor:pointer;
  font-size:13px;
  white-space:nowrap;
}
.btn-compartir-sistema-v94:hover{
  background:rgba(255,255,255,.20);
}
@media(max-width:760px){
  .btn-compartir-sistema-v94{
    width:100%;
    margin-top:8px;
    font-size:12px;
  }
}


/* Consultar pedido por código */
.consultar-menu-v95{
  border-color:rgba(246,130,31,.32) !important;
  background:#fffaf2 !important;
}
.consulta-form-v95{
  margin-top:12px;
  padding:16px;
  border:1px solid rgba(18,53,47,.12);
  border-radius:20px;
  background:#fff;
  display:grid;
  gap:12px;
}
.consulta-form-v95 label{
  display:grid;
  gap:7px;
}
.consulta-form-v95 label span{
  font-size:13px;
  font-weight:950;
  color:var(--forest);
}
.consulta-form-v95 input{
  width:100%;
  min-height:52px;
  border:1px solid rgba(18,53,47,.18);
  border-radius:16px;
  padding:13px 15px;
  font-size:15px;
  font-weight:750;
  outline:none;
}
.consulta-form-v95 input:focus{
  border-color:rgba(79,143,69,.62);
  box-shadow:0 0 0 4px rgba(112,187,68,.12);
}
.consulta-error-v95{
  padding:11px 12px;
  border-radius:14px;
  background:#fff4ef;
  border:1px solid rgba(194,84,31,.18);
  color:#8b3d10;
  font-size:13px;
  font-weight:850;
}
.guardar-codigo-v95,
.codigo-importante-v95{
  margin:12px 0;
  padding:14px;
  border-radius:18px;
  background:#fff7ea;
  border:1px solid rgba(246,130,31,.30);
  display:grid;
  gap:6px;
  color:#5b3711;
}
.guardar-codigo-v95 b,
.codigo-importante-v95 b{
  color:#7a3f05;
  font-size:17px;
}
.guardar-codigo-v95 span,
.codigo-importante-v95 span{
  font-size:13px;
  line-height:1.45;
}
.pedido-solo-lectura-v95{
  border:1px solid rgba(18,53,47,.12) !important;
}
.banco-consulta-v95{
  margin-top:12px;
}


/* Códigos cortos + compartir visible */
.btn-compartir-global-v96{
  position:absolute;
  right:28px;
  top:34px;
  border:1px solid rgba(18,53,47,.18);
  background:#fff7ea;
  color:#12352f;
  border-radius:999px;
  padding:10px 15px;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(18,53,47,.08);
  z-index:20;
}
.btn-compartir-global-v96:hover{
  background:#ffeccc;
}
@media(max-width:760px){
  .btn-compartir-global-v96{
    position:static;
    margin:10px 18px 0 18px;
    width:calc(100% - 36px);
  }
}
.guardar-codigo-v95 b,
.codigo-importante-v95 b{
  word-break:normal !important;
  overflow-wrap:normal !important;
  font-size:18px !important;
}


/* Un solo código corto */
.guardar-codigo-v95 b,
.codigo-importante-v95 b{
  letter-spacing:.2px;
}


/* ADMIN PULIDO PRE-FIREBASE */
.kpi-grid-v98{
  display:grid;
  grid-template-columns:repeat(4,minmax(140px,1fr));
  gap:12px;
  margin-top:14px;
}
.kpi-grid-v98 button{
  text-align:left;
  border:1px solid rgba(18,53,47,.12);
  background:#fff;
  border-radius:18px;
  padding:14px;
  cursor:pointer;
  display:grid;
  gap:5px;
  box-shadow:0 8px 20px rgba(18,53,47,.04);
}
.kpi-grid-v98 small{
  color:#66746f;
  font-weight:850;
}
.kpi-grid-v98 b{
  color:var(--forest);
  font-size:28px;
}
.kpi-grid-v98 span{
  font-size:12px;
  color:#5e6b66;
}
.admin-table-v98 td{
  vertical-align:top;
}
.admin-status-v98{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:5px 10px;
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
}
.admin-status-v98.pending{
  background:#fff7ea;
  color:#8a4a0a;
  border:1px solid rgba(246,130,31,.24);
}
.admin-status-v98.ok{
  background:#eef7eb;
  color:#275f24;
  border:1px solid rgba(79,143,69,.24);
}
.admin-status-v98.expired{
  background:#f1f1f1;
  color:#444;
  border:1px solid rgba(0,0,0,.12);
}
.admin-status-v98.cancel{
  background:#fff0f0;
  color:#8b1e1e;
  border:1px solid rgba(148,38,41,.22);
}
.time-left-v98{
  color:#8a4a0a;
}
.admin-nav-v98{
  flex-wrap:wrap;
}
@media(max-width:900px){
  .kpi-grid-v98{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:560px){
  .kpi-grid-v98{
    grid-template-columns:1fr;
  }
}


/* Agenda clara: compras abiertas */
.open-purchase-v99 .agenda-time-v6 b{
  color:#8a4a0a;
}
.open-purchase-v99{
  background:#fffaf2 !important;
}
.agenda-toolbar-v6 .admin-segment button{
  white-space:nowrap;
}
@media(max-width:760px){
  .agenda-toolbar-v6 .admin-segment{
    overflow-x:auto;
  }
}


/* ADMIN SÚPER SIMPLE PARA DUEÑOS */
.admin-senior-v100{
  padding:22px;
  color:var(--ink);
}
.admin-hero-v100{
  background:var(--forest);
  color:#fff;
  border-radius:26px;
  padding:26px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  margin-bottom:18px;
}
.admin-hero-v100 h1{
  font-size:36px;
  line-height:1.05;
  margin:0 0 8px;
}
.admin-hero-v100 p{
  font-size:17px;
  margin:0;
  color:rgba(255,255,255,.92);
  font-weight:750;
}
.hero-mini-v100{
  min-width:130px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.2);
  border-radius:20px;
  padding:16px;
  display:grid;
  text-align:center;
}
.hero-mini-v100 b{
  font-size:42px;
}
.hero-mini-v100 span{
  font-weight:900;
}
.senior-summary-v100{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-bottom:18px;
}
.senior-summary-v100 div{
  background:#fff;
  border:1px solid rgba(18,53,47,.12);
  border-radius:20px;
  padding:17px;
  display:grid;
  gap:7px;
  box-shadow:0 8px 22px rgba(18,53,47,.04);
}
.senior-summary-v100 span{
  color:#5c6d67;
  font-weight:850;
}
.senior-summary-v100 b{
  color:var(--forest);
  font-size:30px;
}
.admin-nav-senior-v100{
  display:grid;
  grid-template-columns:repeat(5,minmax(140px,1fr));
  gap:12px;
  margin-bottom:12px;
}
.admin-nav-senior-v100 button{
  min-height:70px;
  border-radius:18px;
  border:1px solid rgba(18,53,47,.14);
  background:#fff;
  color:var(--forest);
  font-size:17px;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(18,53,47,.04);
}
.admin-nav-senior-v100 button.active{
  background:var(--forest);
  color:#fff;
}
.advanced-admin-v100{
  margin:6px 0 20px;
  background:#fff;
  border:1px solid rgba(18,53,47,.10);
  border-radius:18px;
  padding:12px 14px;
}
.advanced-admin-v100 summary{
  cursor:pointer;
  font-weight:950;
  color:#52635d;
}
.advanced-buttons-v100{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}
.advanced-buttons-v100 button{
  border:1px solid rgba(18,53,47,.14);
  background:#fff;
  color:var(--forest);
  border-radius:14px;
  padding:12px 14px;
  font-weight:900;
  cursor:pointer;
}
.senior-content-v100{
  display:block;
}
.simple-section-head-v100{
  margin-bottom:14px;
}
.simple-section-head-v100 h2{
  font-size:26px;
  color:var(--forest);
  margin:0 0 6px;
}
.simple-section-head-v100 p{
  font-size:16px;
  color:#53655f;
  margin:0;
  font-weight:700;
}
.simple-kpis-v100{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin:14px 0 22px;
}
.simple-kpis-v100 button{
  border:1px solid rgba(18,53,47,.12);
  background:#fff;
  border-radius:20px;
  padding:18px;
  display:grid;
  gap:8px;
  text-align:left;
  cursor:pointer;
}
.simple-kpis-v100 span{
  font-size:16px;
  font-weight:950;
}
.simple-kpis-v100 b{
  font-size:38px;
  color:var(--forest);
}
.simple-kpis-v100 small{
  color:#5f6f69;
  font-weight:850;
}
.pedido-card-v100{
  background:#fff;
  border:1px solid rgba(18,53,47,.12);
  border-radius:22px;
  padding:16px;
  margin-bottom:12px;
  box-shadow:0 8px 22px rgba(18,53,47,.04);
}
.pedido-main-v100{
  display:grid;
  grid-template-columns:1.05fr 1.25fr 1.6fr .8fr;
  gap:14px;
  align-items:start;
}
.pedido-main-v100 b{
  color:var(--forest);
  font-size:17px;
}
.pedido-main-v100 span,
.pedido-main-v100 small{
  display:block;
  color:#5b6b66;
  font-size:13px;
  margin-top:4px;
  font-weight:750;
}
.pedido-total-v100{
  text-align:right;
}
.pedido-total-v100 b{
  font-size:24px;
}
.estado-v100{
  display:inline-flex;
  margin-top:8px;
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  font-weight:950;
}
.estado-v100.pend{
  background:#fff7ea;
  color:#8a4a0a;
  border:1px solid rgba(246,130,31,.25);
}
.estado-v100.ok{
  background:#eef7eb;
  color:#275f24;
  border:1px solid rgba(79,143,69,.24);
}
.estado-v100.vencido{
  background:#eeeeee;
  color:#333;
  border:1px solid rgba(0,0,0,.12);
}
.estado-v100.cancel{
  background:#fff0f0;
  color:#8b1e1e;
  border:1px solid rgba(148,38,41,.23);
}
.pedido-alert-v100{
  margin-top:13px;
  background:#fffaf2;
  border:1px solid rgba(246,130,31,.22);
  border-radius:16px;
  padding:12px;
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.pedido-alert-v100 b{
  color:#8a4a0a;
}
.pedido-alert-v100 span{
  color:#68410f;
  font-weight:850;
}
.pedido-actions-v100{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}
.btn-action-v100{
  border:0;
  border-radius:14px;
  padding:12px 15px;
  font-weight:950;
  cursor:pointer;
}
.btn-action-v100.ok{
  background:var(--forest);
  color:white;
}
.btn-action-v100.danger{
  background:#fff0f0;
  color:#8b1e1e;
  border:1px solid rgba(148,38,41,.22);
}
.btn-action-v100.light{
  background:#eef8fd;
  color:#0A3A5A;
  border:1px solid rgba(7,140,215,.24);
}
.empty-simple-v100{
  background:#fff;
  border:1px dashed rgba(18,53,47,.18);
  border-radius:20px;
  padding:24px;
  text-align:center;
  color:#60716b;
  font-weight:900;
}
@media(max-width:1000px){
  .admin-nav-senior-v100,
  .simple-kpis-v100,
  .senior-summary-v100{
    grid-template-columns:1fr 1fr;
  }
  .pedido-main-v100{
    grid-template-columns:1fr 1fr;
  }
  .pedido-total-v100{
    text-align:left;
  }
}
@media(max-width:650px){
  .admin-senior-v100{
    padding:14px;
  }
  .admin-hero-v100{
    flex-direction:column;
    align-items:flex-start;
  }
  .admin-hero-v100 h1{
    font-size:28px;
  }
  .admin-nav-senior-v100,
  .simple-kpis-v100,
  .senior-summary-v100,
  .pedido-main-v100{
    grid-template-columns:1fr;
  }
}


/* Admin simple: pestañas Calendario e Imágenes */
.admin-nav-v101{
  grid-template-columns:repeat(7,minmax(120px,1fr));
}
.admin-calendar-v101,
.admin-images-wrapper-v101{
  background:#fff;
  border:1px solid rgba(18,53,47,.12);
  border-radius:24px;
  padding:18px;
  box-shadow:0 8px 22px rgba(18,53,47,.04);
}
.admin-calendar-head-v101{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}
.admin-calendar-head-v101 h2{
  color:var(--forest);
  font-size:26px;
  margin:0 0 6px;
}
.admin-calendar-head-v101 p{
  margin:0;
  color:#586861;
  font-weight:750;
}
.cal-nav-v101{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.cal-nav-v101 button{
  border:1px solid rgba(18,53,47,.14);
  background:#fff;
  color:var(--forest);
  border-radius:14px;
  padding:11px 13px;
  font-weight:950;
  cursor:pointer;
}
.cal-nav-v101 b{
  color:var(--forest);
  text-transform:capitalize;
  min-width:150px;
  text-align:center;
}
.cal-week-v101{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:6px;
  margin-bottom:6px;
}
.cal-week-v101 b{
  text-align:center;
  color:#5c6d67;
  font-size:13px;
}
.cal-grid-v101{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:6px;
}
.cal-cell-v101{
  min-height:112px;
  background:#fbfaf6;
  border:1px solid rgba(18,53,47,.10);
  border-radius:14px;
  padding:8px;
}
.cal-cell-v101.empty{
  background:transparent;
  border:0;
}
.cal-day-v101{
  font-weight:950;
  color:var(--forest);
  margin-bottom:6px;
}
.cal-free-v101{
  color:#9aa39f;
  font-weight:700;
}
.cal-items-v101{
  display:grid;
  gap:5px;
}
.cal-items-v101 button{
  text-align:left;
  border:1px solid rgba(79,143,69,.22);
  background:#eef7eb;
  color:#18322d;
  border-radius:10px;
  padding:6px;
  font-size:12px;
  cursor:pointer;
}
.cal-items-v101 button.block{
  background:#fff0f0;
  border-color:rgba(148,38,41,.22);
}
.cal-items-v101 button b,
.cal-items-v101 button span{
  display:block;
}
@media(max-width:1000px){
  .admin-nav-v101{
    grid-template-columns:1fr 1fr;
  }
  .admin-calendar-head-v101{
    flex-direction:column;
  }
  .cal-grid-v101,
  .cal-week-v101{
    grid-template-columns:1fr;
  }
  .cal-cell-v101.empty,
  .cal-week-v101{
    display:none;
  }
}


/* ADMIN FÁCIL FINAL */
.admin102{padding:22px;color:var(--ink)}
.hero102{background:var(--forest);color:#fff;border-radius:26px;padding:28px;display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:18px}
.hero102 h1{font-size:36px;margin:0 0 8px}
.hero102 p{font-size:17px;margin:0;font-weight:800;color:rgba(255,255,255,.92)}
.big102{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);border-radius:22px;padding:18px 24px;text-align:center}
.big102 b{display:block;font-size:42px}.big102 span{font-weight:950}
.sum102{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}
.sum102 button{background:#fff;border:1px solid rgba(18,53,47,.12);border-radius:20px;padding:16px;text-align:left;cursor:pointer}
.sum102 span{display:block;color:#5e6e68;font-weight:900}.sum102 b{display:block;color:var(--forest);font-size:28px;margin-top:6px}
.nav102{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:12px;margin-bottom:20px}
.nav102 button{min-height:68px;background:#fff;border:1px solid rgba(18,53,47,.14);border-radius:18px;color:var(--forest);font-size:16px;font-weight:950;cursor:pointer;box-shadow:0 8px 20px rgba(18,53,47,.04)}
.nav102 button.active{background:var(--forest);color:#fff}
.list102{background:#fff;border:1px solid rgba(18,53,47,.10);border-radius:24px;padding:18px}
.list102 h2{font-size:28px;color:var(--forest);margin:0 0 6px}.list102 p{margin:0 0 16px;color:#5c6d67;font-weight:800}
.card102{border:1px solid rgba(18,53,47,.12);border-radius:22px;padding:16px;margin-bottom:12px;box-shadow:0 8px 22px rgba(18,53,47,.04)}
.top102{display:grid;grid-template-columns:1fr 1.2fr 1.4fr .8fr;gap:14px;align-items:start}
.top102 b{color:var(--forest);font-size:17px}.top102 span,.top102 small{display:block;color:#5a6b65;font-weight:800;font-size:13px;margin-top:4px}
.code102{font-size:18px!important}.price102{text-align:right}.price102 b{font-size:24px}
.st102{display:inline-flex;margin-top:8px;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:950}
.st102.pend{background:#fff7ea;color:#8a4a0a;border:1px solid rgba(246,130,31,.25)}
.st102.ok{background:#eef7eb;color:#275f24;border:1px solid rgba(79,143,69,.24)}
.st102.venc{background:#eee;color:#333;border:1px solid rgba(0,0,0,.12)}
.st102.cancel{background:#fff0f0;color:#8b1e1e;border:1px solid rgba(148,38,41,.23)}
.warn102{margin-top:12px;background:#fffaf2;border:1px solid rgba(246,130,31,.22);border-radius:16px;padding:12px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#68410f;font-weight:900}
.actions102{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.a102{border:0;border-radius:14px;padding:12px 15px;font-weight:950;cursor:pointer}
.a102.ok{background:var(--forest);color:#fff}.a102.cancel{background:#fff0f0;color:#8b1e1e;border:1px solid rgba(148,38,41,.22)}.a102.info{background:#eef8fd;color:#0A3A5A;border:1px solid rgba(7,140,215,.24)}
.empty102{background:#fff;border:1px dashed rgba(18,53,47,.18);border-radius:20px;padding:24px;text-align:center;color:#60716b;font-weight:900}
@media(max-width:1050px){.sum102,.nav102{grid-template-columns:1fr 1fr}.top102{grid-template-columns:1fr 1fr}.price102{text-align:left}}
@media(max-width:650px){.admin102{padding:14px}.hero102{flex-direction:column;align-items:flex-start}.hero102 h1{font-size:28px}.sum102,.nav102,.top102{grid-template-columns:1fr}}


/* Respaldos PDF Admin */
.nav103{grid-template-columns:repeat(8,minmax(105px,1fr))}
.pdf-admin103{
  background:#fff;
  border:1px solid rgba(18,53,47,.10);
  border-radius:24px;
  padding:18px;
}
.pdf-filters103{
  display:grid;
  grid-template-columns:2fr 1fr 1fr auto;
  gap:12px;
  margin:14px 0;
  align-items:end;
}
.pdf-filters103 label{
  display:grid;
  gap:7px;
  color:#52635d;
  font-weight:900;
}
.pdf-filters103 input{
  min-height:50px;
  border:1px solid rgba(18,53,47,.16);
  border-radius:15px;
  padding:12px 14px;
  font-size:15px;
  font-weight:750;
}
.pdf-filters103 button,
.pdf-actions103 button{
  border:0;
  border-radius:15px;
  padding:14px 16px;
  font-weight:950;
  background:var(--forest);
  color:white;
  cursor:pointer;
}
.pdf-count103{
  margin:10px 0;
  color:#53645e;
  font-weight:950;
}
.pdf-row103{
  display:grid;
  grid-template-columns:1fr 1.4fr 1fr .8fr auto;
  gap:12px;
  align-items:center;
  border:1px solid rgba(18,53,47,.10);
  border-radius:18px;
  padding:14px;
  margin-bottom:10px;
}
.pdf-row103 b{
  color:var(--forest);
}
.pdf-row103 span{
  display:block;
  color:#60716b;
  font-size:13px;
  font-weight:800;
  margin-top:4px;
}
@media(max-width:950px){
  .nav103{grid-template-columns:1fr 1fr}
  .pdf-filters103,
  .pdf-row103{
    grid-template-columns:1fr;
  }
}


/* ADMIN PROFESIONAL SIMPLE */
.admin104{padding:26px;color:var(--ink);max-width:1200px;margin:0 auto}
.top104{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#fff;border:1px solid rgba(18,53,47,.10);border-radius:24px;padding:22px;margin-bottom:14px;box-shadow:0 8px 24px rgba(18,53,47,.04)}
.top104 h1{margin:0 0 4px;color:var(--forest);font-size:32px;letter-spacing:-.02em}.top104 p{margin:0;color:#5c6d67;font-weight:750}
.search104 button{border:0;background:var(--forest);color:#fff;border-radius:999px;padding:12px 16px;font-weight:900;cursor:pointer}
.summary104{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}
.summary104 div{background:#fff;border:1px solid rgba(18,53,47,.10);border-radius:18px;padding:14px 16px}
.summary104 span{display:block;color:#63736d;font-size:13px;font-weight:850}.summary104 b{display:block;color:var(--forest);font-size:26px;margin-top:4px}
.tabs104{display:flex;gap:8px;border-bottom:1px solid rgba(18,53,47,.12);margin:8px 0 18px;overflow-x:auto}
.tabs104 button{border:0;background:transparent;color:#566862;padding:12px 14px;border-bottom:3px solid transparent;font-weight:900;cursor:pointer;white-space:nowrap}
.tabs104 button.active{color:var(--forest);border-bottom-color:var(--forest)}
.panel104{background:#fff;border:1px solid rgba(18,53,47,.10);border-radius:24px;padding:18px;box-shadow:0 8px 24px rgba(18,53,47,.04)}
.head104{display:flex;justify-content:space-between;gap:16px;margin-bottom:14px}.head104 h2{margin:0 0 4px;color:var(--forest);font-size:25px}.head104 p{margin:0;color:#5c6d67;font-weight:750}
.row104{display:grid;grid-template-columns:1fr 1.2fr 1.5fr .8fr auto;gap:12px;align-items:center;padding:14px 0;border-top:1px solid rgba(18,53,47,.08)}
.row104:first-of-type{border-top:0}.row104 b{color:var(--forest)}.row104 span{display:block;color:#65746f;font-size:13px;font-weight:750;margin-top:3px}.code104 b{font-size:17px}
.money104{text-align:right}.money104 b{font-size:21px}.pill104{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;margin-top:5px}
.pill104.warn{background:#fff7ea;color:#8a4a0a}.pill104.ok{background:#eef7eb;color:#275f24}.pill104.muted{background:#eee;color:#333}.pill104.bad{background:#fff0f0;color:#8b1e1e}
.action104{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}.action104 button{border:1px solid rgba(18,53,47,.12);background:#fff;border-radius:12px;padding:9px 11px;font-weight:850;cursor:pointer}.action104 .main104{background:var(--forest);color:#fff}.action104 .lightbad104{background:#fff0f0;color:#8b1e1e}
.due104{display:flex;justify-content:space-between;gap:12px;background:#fffaf2;border:1px solid rgba(246,130,31,.18);border-radius:14px;padding:10px 12px;color:#71420c;font-weight:850;margin-top:-2px;margin-bottom:8px}.due104 b{color:#8a4a0a}
.empty104{padding:22px;border:1px dashed rgba(18,53,47,.16);border-radius:18px;text-align:center;color:#66756f;font-weight:850}
.stateblock104{margin-top:18px}.stateblock104 h3{color:var(--forest);margin:0 0 8px}
@media(max-width:950px){.summary104{grid-template-columns:1fr 1fr}.row104{grid-template-columns:1fr}.money104{text-align:left}.action104{justify-content:flex-start}.top104{flex-direction:column;align-items:flex-start}}
@media(max-width:560px){.admin104{padding:14px}.summary104{grid-template-columns:1fr}.top104 h1{font-size:27px}}


/* Pedidos registrados y Ver comprobante */
.tabs105 button{
  font-size:15px;
}
.pedidos-registrados105 .head104 h2{
  font-size:26px;
}
.pedidos-row105 .pdf-actions103 button{
  white-space:nowrap;
}
.pedidos-row105 b{
  letter-spacing:.1px;
}

/* Mejora Pedidos registrados: búsqueda y resumen separados */
.pedidos-registrados105 .pedido-busqueda105,
.pedidos-registrados105 .resumen-fecha105{
  background:#fff;
  border:1px solid rgba(18,53,47,.10);
  border-radius:18px;
  padding:16px;
  margin:14px 0;
}
.pedidos-registrados105 .pedido-busqueda105{
  background:#f7fbf8;
}
.pedidos-registrados105 h3{
  margin:0 0 5px;
  color:var(--forest);
  font-size:20px;
}
.pedidos-registrados105 .pedido-busqueda105 p,
.pedidos-registrados105 .resumen-fecha105 p{
  margin:0 0 12px;
  color:#5c6d67;
  font-weight:750;
}
.pdf-filters103.simple105{
  align-items:end;
}
.pdf-filters103.simple105 label{
  min-width:220px;
}
.pdf-filters103.simple105 .main105{
  background:var(--forest);
  color:#fff;
}
.resumen-fecha105 button{
  background:#fff;
  color:var(--forest);
  border:1px solid rgba(18,53,47,.18);
}
@media(max-width:680px){
  .pdf-filters103.simple105{
    display:grid;
    grid-template-columns:1fr;
  }
  .pdf-filters103.simple105 label,
  .pdf-filters103.simple105 button{
    width:100%;
  }
}

/* V107 - Pulido Editar página / Postimages */
.images-v107 .image-note-v107{margin:10px 0 16px;line-height:1.55}
.image-card-v107{overflow:hidden}
.image-card-v107 code{display:block;white-space:normal;word-break:break-word;line-height:1.35;background:#fbfaf6;border:1px solid #e5ded2;border-radius:12px;padding:10px;margin:10px 0;color:#34423e}
.image-preview-v107{position:relative;background:#f7f2e9;min-height:180px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #e7dfd3}
.image-preview-v107 img{width:100%;height:180px;object-fit:cover;display:block}
.image-preview-v107.broken-v107::after{content:'No se pudo cargar la imagen';position:absolute;left:10px;right:10px;bottom:10px;background:#fff1f1;color:#8a1f1f;border:1px solid #ffc9c9;border-radius:10px;padding:8px;font-weight:700;text-align:center}
.live-preview-v107{margin-top:10px;background:#fbfaf6;border:1px solid #e5ded2;border-radius:14px;padding:10px}
.live-preview-v107 small{display:block;font-weight:800;color:#5b6863;margin-bottom:7px}
.live-preview-v107 img{width:100%;max-height:170px;object-fit:cover;border-radius:10px;background:#eee}
.image-msg-v107{margin-top:8px;color:#9b2d2d;font-weight:800;font-size:13px;line-height:1.35}
.image-help-v107{margin-top:8px;padding:10px;border-radius:12px;background:#eef9f5;border:1px solid #d6ede5;color:#34423e;font-size:13px;line-height:1.4}
.image-actions-v107{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.image-actions-v107 .btn{min-width:120px}
@media(max-width:760px){.image-preview-v107 img{height:150px}.image-actions-v107 .btn{width:100%}}

/* V108 - Editar página: información y precios */
.edit-page108 .content108{margin-bottom:22px}.content-panel108{margin-bottom:22px}.content-tabs108{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.content-tabs108 button{border:1px solid #dfe6e2;background:#fff;border-radius:999px;padding:11px 16px;font-weight:900;color:#12352f;cursor:pointer}.content-tabs108 button.active{background:#12352f;color:#fff;border-color:#12352f}.content-title108{margin:12px 0 10px;color:#12352f}.content-grid108{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.content-card108{border:1px solid #e0e7e3;background:#fff;border-radius:18px;padding:15px;box-shadow:0 8px 22px rgba(18,53,47,.05)}.content-card108.off108{opacity:.62;background:#fafafa}.content-head108{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid #eef2f0;padding-bottom:10px;margin-bottom:10px}.content-head108 h3{margin:0 0 3px;color:#12352f;font-size:18px}.content-head108 p{margin:0;color:#60716a;font-weight:800;font-size:12px}.content-head108 b{white-space:nowrap;background:#f6efe4;border:1px solid #ead9bd;border-radius:999px;padding:8px 11px;color:#704808}.desc108{margin:8px 0 10px;line-height:1.42;color:#31433d}.inc108{display:block;color:#60716a;margin:8px 0}.content-actions108{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.content-actions108 button{border-radius:999px;padding:10px 13px;font-weight:900}.content-form108{display:grid;gap:11px}.content-form108 label{font-weight:900;color:#12352f}.content-form108 input,.content-form108 textarea{width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #dfe6e2;border-radius:13px;padding:11px 12px;font:inherit;color:#12352f;background:#fff}.content-form108 textarea{resize:vertical}.two108{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:850px){.content-grid108{grid-template-columns:1fr}.two108{grid-template-columns:1fr}.content-head108{display:block}.content-head108 b{display:inline-block;margin-top:8px}.content-actions108 button{width:100%}}


/* =========================================================
   V112 - Responsive final Cliente/Admin para móvil y tablet
   No toca lógica, solo estabilidad visual.
   ========================================================= */

/* Evita desbordes horizontales generales */
html, body{
  max-width:100%;
  overflow-x:hidden;
}
*{
  box-sizing:border-box;
}
img, video{
  max-width:100%;
}

/* Encabezado general estable */
.top{
  gap:14px;
  align-items:center;
}
.top .brand{
  min-width:0;
}
.top .brand .title,
.brand .title{
  line-height:1.05;
  word-break:normal;
}
.top .brand .sub,
.brand .sub{
  line-height:1.25;
}

/* Botón compartir no debe tapar contenido */
.share-floating,
#shareSystem,
#shareBtn,
button[id*="share"],
button[class*="share"]{
  max-width:100%;
}

/* Admin: encabezado y botones estables */
.admin-hero,
.admin104 .admin-hero,
.admin-pro .admin-hero,
.admin-v3 .admin-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.admin-hero .actions,
.admin-hero-actions,
.admin-actions,
.admin-hero > div:last-child{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}
.admin-hero button,
.admin104 button,
.admin-pro button,
.admin-v3 button{
  white-space:nowrap;
}

/* Cards resumen admin */
.admin-stats,
.stats104,
.admin104 .stats,
.admin-pro .stats,
.admin-v3 .stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

/* Navegación admin: usable en móvil */
.admin-tabs,
.tabs104,
.tabs105,
.admin104 .tabs,
.admin-pro .tabs,
.admin-v3 .tabs{
  display:flex;
  gap:10px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  padding-bottom:8px;
}
.admin-tabs button,
.tabs104 button,
.tabs105 button,
.admin104 .tabs button,
.admin-pro .tabs button,
.admin-v3 .tabs button{
  flex:0 0 auto;
}

/* Filas de pedidos: evitar que se rompan */
.order-row,
.pending-row,
.estado-row,
.pedidos-row105,
.admin104 .row,
.admin-pro .row,
.admin-v3 .row{
  min-width:0;
}
.pedidos-row105,
.pending-list .pedido-card,
.estado-card,
.order-card{
  overflow:hidden;
}
.pedidos-row105 *{
  min-width:0;
}
.pedidos-row105 b,
.pedidos-row105 span,
.pedidos-row105 small,
.pedidos-row105 div{
  overflow-wrap:anywhere;
}

/* Botones en filas de pedidos */
.pdf-actions103,
.order-actions,
.pending-actions,
.estado-actions,
.row-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.pdf-actions103 button,
.order-actions button,
.pending-actions button,
.estado-actions button,
.row-actions button{
  min-height:42px;
}

/* Cliente: tarjetas y portada */
.hero,
.client-hero,
.assistant-panel,
.client-panel{
  max-width:100%;
}
.service-grid,
.cards-grid,
.options-grid,
.content-grid,
.packages-grid{
  min-width:0;
}
.service-card,
.card,
.option-card,
.package-card{
  min-width:0;
}

/* Formularios: campos cómodos en móvil */
input, select, textarea, button{
  font-size:16px;
}
input, select, textarea{
  max-width:100%;
}

/* Tablet */
@media (max-width: 1024px){
  .screen{
    padding-left:18px;
    padding-right:18px;
  }

  .admin-hero,
  .admin104 .admin-hero,
  .admin-pro .admin-hero,
  .admin-v3 .admin-hero{
    align-items:flex-start;
  }

  .admin-stats,
  .stats104,
  .admin104 .stats,
  .admin-pro .stats,
  .admin-v3 .stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .content-grid108{
    grid-template-columns:1fr;
  }
}

/* Móvil */
@media (max-width: 680px){
  body{
    background:#f5efe6;
  }

  .app{
    width:100%;
  }

  .top{
    padding:16px 14px;
    flex-direction:column;
    align-items:stretch;
  }

  .top .brand,
  .brand{
    width:100%;
  }

  .top .brand .title,
  .brand .title{
    font-size:26px;
  }

  .top .brand .sub,
  .brand .sub{
    font-size:13px;
  }

  .top button,
  .top .pill,
  .top a,
  .share-floating,
  #shareSystem,
  #shareBtn{
    width:100%;
    justify-content:center;
    text-align:center;
  }

  .screen{
    padding:14px 10px 28px;
  }

  /* Admin hero */
  .admin-hero,
  .admin104 .admin-hero,
  .admin-pro .admin-hero,
  .admin-v3 .admin-hero{
    display:block;
    padding:18px 16px;
  }

  .admin-hero h1,
  .admin-hero h2,
  .admin104 .admin-hero h1,
  .admin-pro .admin-hero h1,
  .admin-v3 .admin-hero h1{
    font-size:30px;
    line-height:1.05;
    margin-bottom:8px;
  }

  .admin-hero p,
  .admin104 .admin-hero p,
  .admin-pro .admin-hero p,
  .admin-v3 .admin-hero p{
    font-size:15px;
    line-height:1.4;
  }

  .admin-hero .actions,
  .admin-hero-actions,
  .admin-actions,
  .admin-hero > div:last-child{
    display:grid !important;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:16px;
    width:100%;
  }

  .admin-hero button,
  .admin104 button,
  .admin-pro button,
  .admin-v3 button{
    width:100%;
    min-height:46px;
  }

  .admin-stats,
  .stats104,
  .admin104 .stats,
  .admin-pro .stats,
  .admin-v3 .stats{
    grid-template-columns:1fr 1fr;
    gap:10px;
  }

  .admin-stats > *,
  .stats104 > *,
  .admin104 .stats > *,
  .admin-pro .stats > *,
  .admin-v3 .stats > *{
    min-height:82px;
    padding:14px;
  }

  .admin-tabs,
  .tabs104,
  .tabs105,
  .admin104 .tabs,
  .admin-pro .tabs,
  .admin-v3 .tabs{
    gap:8px;
    padding:0 0 10px;
    margin-bottom:10px;
  }

  .admin-tabs button,
  .tabs104 button,
  .tabs105 button,
  .admin104 .tabs button,
  .admin-pro .tabs button,
  .admin-v3 .tabs button{
    padding:11px 12px;
    font-size:14px;
  }

  /* Pedidos: en móvil se apilan */
  .pending-row,
  .estado-row,
  .order-row,
  .pedidos-row105,
  .admin104 .row,
  .admin-pro .row,
  .admin-v3 .row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    align-items:start !important;
    padding:14px 0 !important;
  }

  .pending-row > *,
  .estado-row > *,
  .order-row > *,
  .pedidos-row105 > *,
  .admin104 .row > *,
  .admin-pro .row > *,
  .admin-v3 .row > *{
    width:100% !important;
    max-width:100% !important;
  }

  .pdf-actions103,
  .order-actions,
  .pending-actions,
  .estado-actions,
  .row-actions{
    display:grid !important;
    grid-template-columns:1fr;
    width:100%;
  }

  .pdf-actions103 button,
  .order-actions button,
  .pending-actions button,
  .estado-actions button,
  .row-actions button{
    width:100%;
  }

  /* Editar página */
  .content-tabs108{
    display:grid;
    grid-template-columns:1fr;
  }
  .content-tabs108 button{
    width:100%;
  }
  .content-card108{
    padding:13px;
  }
  .content-head108{
    display:block;
  }
  .content-actions108{
    display:grid;
    grid-template-columns:1fr;
  }
  .content-actions108 button{
    width:100%;
  }
  .image-card-v107{
    border-radius:16px;
  }
  .image-preview-v107 img{
    height:150px;
  }

  /* Cliente */
  .assistant-panel,
  .client-panel,
  .hero-card,
  .hero,
  .client-hero{
    border-radius:18px;
  }
  .service-grid,
  .cards-grid,
  .options-grid,
  .packages-grid{
    grid-template-columns:1fr !important;
  }
  .service-card,
  .card,
  .option-card,
  .package-card{
    padding:14px;
  }

  .modal,
  .dialog,
  .image-modal-box{
    max-width:94vw !important;
    max-height:88vh !important;
  }
}

/* Móvil muy pequeño */
@media (max-width: 420px){
  .screen{
    padding-left:8px;
    padding-right:8px;
  }

  .top .brand .title,
  .brand .title{
    font-size:24px;
  }

  .admin-hero h1,
  .admin-hero h2,
  .admin104 .admin-hero h1,
  .admin-pro .admin-hero h1,
  .admin-v3 .admin-hero h1{
    font-size:28px;
  }

  .admin-stats,
  .stats104,
  .admin104 .stats,
  .admin-pro .stats,
  .admin-v3 .stats{
    grid-template-columns:1fr;
  }

  .admin-tabs button,
  .tabs104 button,
  .tabs105 button{
    font-size:13px;
  }

  .image-preview-v107 img{
    height:135px;
  }
}


/* =========================================================
   V113 - Corrección móvil/tablet real:
   - Compartir sistema centrado
   - Cabecera Asistente virtual NO fija y no roba pantalla
   - Firebase guardado no tapa contenido
   PC queda igual.
   ========================================================= */

@media (max-width: 900px){

  /* El contenedor del asistente debe crecer y deslizarse con toda la página */
  .chat-card{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    display:block !important;
    border-radius:22px !important;
  }

  .chat-body{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    display:block !important;
    padding:14px !important;
  }

  /* Cabecera verde compacta: se desplaza junto con la página, no queda pegada */
  .chat-head{
    position:static !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    z-index:auto !important;
    transform:none !important;

    display:grid !important;
    grid-template-columns:82px 1fr !important;
    grid-template-areas:
      "badge title"
      "cart cart" !important;
    align-items:center !important;
    gap:10px !important;
    padding:16px 18px !important;
    min-height:auto !important;
    height:auto !important;
    border-radius:22px 22px 0 0 !important;
    overflow:visible !important;
  }

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

  .agent,
  .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;
    display:block !important;
    position:static !important;
    transform:none !important;
  }

  .agent-name,
  .chat-head h2,
  .chat-head .title,
  .chat-head strong{
    display:block !important;
    font-size:28px !important;
    line-height:1.05 !important;
    margin:0 !important;
    padding:0 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  .agent-status,
  .chat-head small,
  .chat-head p,
  .chat-head .subtitle{
    display:block !important;
    font-size:15px !important;
    line-height:1.2 !important;
    margin:5px 0 0 !important;
    padding:0 !important;
    white-space:normal !important;
    overflow:visible !important;
  }

  /* Ver pedido compacto y debajo, no pegado arriba */
  .head-right{
    grid-area:cart !important;
    width:100% !important;
    text-align:center !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    margin:8px 0 0 !important;
    position:static !important;
    transform:none !important;
    white-space:normal !important;
  }

  .chat-head .cart-pill,
  .chat-head #cartBtn,
  .cart-pill,
  #cartBtn{
    width:min(100%, 260px) !important;
    max-width:260px !important;
    min-width:0 !important;
    min-height:54px !important;
    padding:13px 18px !important;
    border-radius:18px !important;
    font-size:16px !important;
    position:static !important;
    transform:none !important;
    margin:0 auto !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    white-space:nowrap !important;
  }

  /* Compartir sistema alineado y centrado */
  .top{
    display:block !important;
    padding:18px 18px 22px !important;
  }

  .top .brand,
  .brand{
    display:block !important;
    width:100% !important;
    text-align:left !important;
    margin:0 0 18px !important;
  }

  .top .brand .title,
  .brand .title,
  .title{
    font-size:30px !important;
    line-height:1.05 !important;
  }

  .top .brand .sub,
  .brand .sub,
  .sub{
    font-size:15px !important;
    margin-top:6px !important;
  }

  .top button,
  .top .pill,
  .top a,
  .share-floating,
  #shareSystem,
  #shareBtn,
  button[id*="share"],
  button[class*="share"]{
    display:flex !important;
    width:100% !important;
    max-width:100% !important;
    min-height:54px !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
    margin:0 auto !important;
    position:static !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    transform:none !important;
  }

  /* Evita que el aviso Firebase tape botones o contenido */
  #firebaseSyncBadgeLTC{
    left:50% !important;
    right:auto !important;
    bottom:8px !important;
    transform:translateX(-50%) !important;
    max-width:230px !important;
    padding:6px 10px !important;
    font-size:11px !important;
    opacity:.55 !important;
    pointer-events:none !important;
  }

  #firebaseSyncBadgeLTC:hover{
    opacity:.75 !important;
  }
}

@media (max-width: 430px){
  .screen{
    padding:14px 8px 38px !important;
  }

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

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

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

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

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

  .top{
    padding:16px 14px 20px !important;
  }

  .top .brand .title,
  .brand .title,
  .title{
    font-size:28px !important;
  }
}


/* =========================================================
   V114 - Ocultar aviso Firebase en celular/tablet
   En móvil no debe aparecer "Firebase guardado".
   ========================================================= */
@media (max-width: 900px){
  #firebaseSyncBadgeLTC{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }
}


/* V115 - Garantía total: ocultar aviso Firebase en móvil/tablet */
@media (max-width: 900px){
  #firebaseSyncBadgeLTC{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    width:0!important;
    height:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
  }
}
