:root{--bg:#f7efe6;--paper:#fffaf5;--ink:#34261f;--brown:#6b402e;--tan:#b98a68;--line:#e4d1c0;--ice:#eaf5f3;--danger:#9f4037}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;background:linear-gradient(160deg,#fffaf5,var(--bg));color:var(--ink)}button,input,select,textarea{font:inherit}.hero{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:18px max(20px,6vw);background:#fffaf5e8;backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{font:700 23px Georgia,serif;letter-spacing:.08em}.store{font-size:12px;color:#846f62}.pill{padding:8px 12px;border-radius:999px;background:var(--ice);font-weight:800;font-size:12px}.hero+.closed{background:#f5d9d4}main{width:min(1180px,92%);margin:auto}.intro{min-height:54vh;display:grid;align-content:center;max-width:720px}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.18em;color:var(--tan)}h1{font:700 clamp(42px,7vw,78px)/.95 Georgia,serif;margin:12px 0 18px}h2{font:700 34px Georgia,serif;margin:6px 0}.intro p{font-size:18px;color:#75645a;max-width:600px}.primary{border:0;background:var(--brown);color:#fff;border-radius:999px;padding:14px 22px;font-weight:900;width:max-content;cursor:pointer}.sectionHead{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.sectionHead input{max-width:300px}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-bottom:130px}.card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 12px 35px #6d3f2a10}.card h3{font:700 24px Georgia,serif;margin:0 0 8px}.muted{color:#837166}.price{font-size:22px;font-weight:950;color:var(--brown);margin:16px 0}.tag{display:inline-flex;border-radius:999px;background:#efe2d6;padding:5px 9px;font-size:11px;font-weight:800}.cartBtn{position:fixed;right:24px;bottom:24px;z-index:15;border:0;border-radius:999px;padding:15px 22px;background:#2f241e;color:#fff;font-weight:900;box-shadow:0 16px 35px #0003}.overlay{position:fixed;inset:0;background:#231a15bb;z-index:30;display:grid;place-items:center;padding:18px}.hidden{display:none!important}.modal{background:var(--paper);border-radius:26px;padding:24px;width:min(720px,100%);max-height:92vh;overflow:auto}.modal h2{margin-top:0}.searchFlavor{position:sticky;top:-24px;background:var(--paper);padding:4px 0 12px}.searchFlavor input,input,select,textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:13px;background:white}.flavorGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.flavor{border:1px solid var(--line);background:#fff;border-radius:13px;padding:11px;text-align:left;cursor:pointer}.flavor.selected{background:var(--brown);color:white}.unitBox{border:1px solid var(--line);border-radius:18px;padding:14px;margin:12px 0}.selectedBar{font-weight:900;margin:8px 0}.row{display:flex;gap:10px}.row>*{flex:1}.cartRow{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}label{display:block;font-size:12px;font-weight:800;color:#76655a;margin:11px 0 5px}.total{font-size:28px;font-weight:950;text-align:right;margin:18px 0}.frostyToggle{position:fixed;left:20px;bottom:22px;z-index:16;border:1px solid var(--line);background:#fffaf5;border-radius:999px;padding:12px 16px;font-weight:900}.frosty{position:fixed;left:20px;bottom:78px;width:min(360px,calc(100vw - 40px));z-index:40;background:#fffaf5;border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 50px #0003;overflow:hidden}.frostyHead{display:flex;justify-content:space-between;padding:14px;background:#2f241e;color:white}.frostyMsgs{padding:12px;height:280px;overflow:auto}.frosty .bot,.frosty .user{padding:10px 12px;border-radius:14px;margin:7px 0;white-space:pre-line}.frosty .bot{background:#efe2d6}.frosty .user{background:var(--brown);color:white;margin-left:30px}.frosty form{display:flex;padding:10px;border-top:1px solid var(--line);gap:6px}.frosty form button{border:0;background:var(--brown);color:white;border-radius:10px;padding:0 12px}@media(max-width:760px){.products{grid-template-columns:1fr 1fr}.sectionHead{display:block}.sectionHead input{max-width:none;margin-top:10px}.flavorGrid{grid-template-columns:1fr}.intro{min-height:45vh}}@media(max-width:520px){.products{grid-template-columns:1fr}.hero{padding:14px 16px}.brand{font-size:19px}.cartBtn{right:14px;bottom:14px}.frostyToggle{left:14px;bottom:14px}}

.hidden{display:none!important}.mapsLink{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;padding:12px 16px;border:1px solid #6d3f2a;border-radius:14px;color:#6d3f2a;text-decoration:none;font-weight:800;background:#fffaf5}.mapsLink:hover{background:#f0e2d3}

.backPortal{display:inline-block;margin-bottom:8px;color:inherit;text-decoration:none;font-size:13px;opacity:.75}
.heroActions{display:flex;gap:10px;align-items:center}.ghostBtn,.mapsLocationBtn{border:1px solid #dcc7b4;background:#fffaf5;color:#4b3529;padding:10px 13px;border-radius:14px;cursor:pointer;font-weight:700}
.pointsBanner{max-width:1180px;margin:0 auto 22px;background:#fff6df;border:1px solid #ead6ad;border-radius:16px;padding:14px 18px}
.siteFooter{margin-top:60px;padding:34px max(22px,calc((100vw - 1180px)/2));background:#2f241e;color:#f9efe7;display:grid;grid-template-columns:1fr 1fr;gap:30px}.siteFooter a{color:#f9efe7}.siteFooter p{line-height:1.7;opacity:.85}
@media(max-width:700px){.siteFooter{grid-template-columns:1fr}.heroActions{flex-direction:column;align-items:flex-end}.ghostBtn{font-size:12px}}

/* V4.1 - sistema visual consistente */
button,.primary,.ghostBtn,.mapsLocationBtn,.footerMapBtn,.mapsLink,.cartBtn,.frostyToggle{
  appearance:none;-webkit-appearance:none;transition:.18s ease;outline:none;
}
button:not(.flavor):not(.cartBtn):not(.frostyToggle):not(.ghostBtn):not(.mapsLocationBtn):not(.primary){
  border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:14px;padding:11px 15px;font-weight:800;cursor:pointer;
}
button:hover,.primary:hover,.ghostBtn:hover,.mapsLocationBtn:hover,.footerMapBtn:hover,.cartBtn:hover,.frostyToggle:hover{transform:translateY(-1px);filter:brightness(.98)}
button:active,.primary:active,.ghostBtn:active,.mapsLocationBtn:active,.footerMapBtn:active{transform:translateY(0)}
button:disabled{opacity:.55;cursor:not-allowed;transform:none}
.primary{box-shadow:0 10px 22px color-mix(in srgb,var(--brown) 22%,transparent)}
.ghostBtn,.mapsLocationBtn{background:var(--paper);border-color:var(--line);box-shadow:0 5px 14px #3b2b220b}
.flavor{font-weight:750;transition:.15s ease}.flavor:hover{border-color:var(--tan);background:color-mix(in srgb,var(--paper) 82%,var(--tan))}
.announcement{width:min(1180px,92%);margin:18px auto 0;padding:12px 16px;border-radius:16px;background:color-mix(in srgb,var(--tan) 18%,var(--paper));border:1px solid color-mix(in srgb,var(--tan) 35%,var(--line));font-weight:800;text-align:center}
.footerMapBtn{display:inline-flex;margin-top:12px;padding:10px 13px;background:#f7eee5;color:#3a2b23!important;border-radius:12px;text-decoration:none;font-weight:900}
.footerContacts{display:grid;gap:9px;margin-top:12px}.footerBottom{grid-column:1/-1;border-top:1px solid #ffffff22;padding-top:18px;font-size:12px;opacity:.65}
.siteFooter{border-radius:30px 30px 0 0}
.card{transition:.18s ease}.card:hover{transform:translateY(-2px);box-shadow:0 18px 38px #6d3f2a18}
.modal button{min-height:44px}
@media(max-width:520px){.modal .row{flex-direction:column}.modal button,.primary{width:100%;justify-content:center}}

/* V5 - Mi Cuenta profesional */
.navAvatar{width:25px;height:25px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:5px}
.accountAuth{text-align:left}.accountAuthBrand{font-size:11px;letter-spacing:.18em;font-weight:900;color:var(--tan)}.accountTabs{display:flex;gap:8px;margin:16px 0}.accountFullBtn{width:100%;margin-top:15px}
.accountShell{min-width:0}.accountProfileHead{display:flex;gap:15px;align-items:center}.accountProfileHead h2{margin:3px 0}.accountProfileHead p{margin:0;color:#806e61;font-size:13px}.accountKicker{font-size:10px;letter-spacing:.16em;font-weight:900;color:var(--tan)}
.profileAvatar{width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid var(--paper);box-shadow:0 0 0 1px var(--line)}.profileInitials{display:grid;place-items:center;background:var(--brown);color:white;font-size:22px;font-weight:900}
.accountStats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.accountStats>div{background:color-mix(in srgb,var(--paper) 80%,var(--tan));border:1px solid var(--line);border-radius:15px;padding:12px;text-align:center}.accountStats strong{display:block;font-size:19px}.accountStats span{display:block;font-size:10px;color:#806e61;margin-top:3px}
.accountNav{display:flex;gap:6px;overflow:auto;padding-bottom:8px;border-bottom:1px solid var(--line);margin-bottom:16px}.accountNav button{white-space:nowrap}.accountNav button.active{background:var(--brown)!important;color:white!important;border-color:var(--brown)!important}
.accountSectionTitle{display:flex;justify-content:space-between;align-items:center;gap:12px}.accountSectionTitle h3{margin:0 0 10px}.accountSectionTitle span{font-size:12px;color:#806e61}
.accountWelcome{display:flex;justify-content:space-between;gap:15px;background:var(--brown);color:white;border-radius:18px;padding:18px;margin-bottom:18px}.accountWelcome span,.accountWelcome p{font-size:12px;opacity:.78}.accountWelcome h3{margin:5px 0}.bigPoints{font-size:30px;font-weight:900;text-align:center}.bigPoints small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.miniOrder{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.myOrder{border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:10px}.myOrder>div:first-child{display:grid}.myOrder>div:first-child span{font-size:11px;color:#806e61;margin-top:3px}.myOrderRight{display:flex;justify-content:space-between;align-items:center;margin:10px 0}.orderStatus{font-size:10px;font-weight:900;padding:5px 8px;border-radius:999px;background:#eee}.myOrderActions{display:flex;gap:7px;flex-wrap:wrap}.myOrderActions a,.accountLinkBtn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:12px;padding:10px 13px;font-weight:800}
.pointsGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.pointsCard{border:1px solid var(--line);border-radius:16px;padding:15px}.pointsCard.current{border:2px solid var(--tan);background:color-mix(in srgb,var(--paper) 85%,var(--tan))}.pointsCard span,.pointsCard small{display:block;color:#806e61}.pointsCard strong{font-size:29px;display:block;margin:5px 0}.pointsCard div{font-size:11px;margin-top:8px}
.profileEdit{display:grid;gap:8px}.accountEmpty{padding:25px;text-align:center;color:#806e61;border:1px dashed var(--line);border-radius:15px}.accountLogout{text-align:center;border-top:1px solid var(--line);padding-top:14px;margin-top:18px}.accountLogout button{font-size:12px}
.customerOrderItem{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.customerOrderItem small{display:block;color:#806e61;margin-top:3px}.orderDetailCustomer .total{margin:15px 0}
@media(max-width:600px){.accountStats{grid-template-columns:1fr}.accountWelcome{flex-direction:column}.bigPoints{text-align:left}.pointsGrid{grid-template-columns:1fr}.accountProfileHead{align-items:flex-start}.profileAvatar{width:60px;height:60px}}

.customerChatBox{max-height:360px;overflow:auto;display:grid;gap:8px;margin:12px 0;padding:9px;background:#f5ede5;border-radius:15px}.customerChatMsg{max-width:86%;padding:10px 12px;border-radius:15px;background:#fff;border:1px solid var(--line)}.customerChatMsg.customer{margin-left:auto;background:#eaded1}.customerChatMsg.staff{margin-right:auto}.customerChatMsg b{font-size:11px;display:block}.customerChatMsg small{font-size:9px;color:#806e61;display:block;margin-top:5px}.dangerSoft{background:#fff0ed!important;color:#8a352c!important;border-color:#edc8c2!important}

.unifiedLoginTabs{display:grid!important;grid-template-columns:repeat(3,1fr);gap:7px!important}
.unifiedLoginTabs button{font-size:12px;padding:10px 7px}
.loginRoleHint{font-weight:900;margin:7px 0 12px;color:var(--brown)}
.adminLoginPanel{padding:12px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fffaf5,#f4ebe2)}
@media(max-width:520px){.unifiedLoginTabs{grid-template-columns:1fr!important}}

.simpleLoginTabs{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
.simpleLoginTabs button{padding:11px 10px}
.backPortal{display:none!important}
@media(max-width:520px){.simpleLoginTabs{grid-template-columns:1fr 1fr!important}}

.transferInfo,.transferSuccess{margin:10px 0;padding:12px 14px;border-radius:14px;background:#f4ebe2;border:1px solid #decdbf;display:grid;gap:6px}.transferInfo button{width:auto;padding:5px 8px;margin-left:6px}
.customerChatDock{position:fixed;right:18px;bottom:82px;z-index:1000}.customerChatBubble{border:0;border-radius:999px;padding:12px 16px;box-shadow:0 10px 30px #0002;background:var(--brown);color:white;font-weight:800;display:flex;gap:8px;align-items:center}.chatBadge{background:#fff;color:var(--brown);min-width:20px;height:20px;border-radius:999px;display:grid;place-items:center;font-size:11px}.customerChatPanel{position:absolute;right:0;bottom:58px;width:min(360px,calc(100vw - 24px));height:min(520px,70vh);background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 50px #0003;overflow:hidden;display:flex;flex-direction:column}.customerChatPanelHead{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--brown);color:white}.customerChatPanelHead small{display:block;opacity:.75}.customerChatPanelHead button{background:transparent;border:0;color:white;font-size:22px}.customerChatDockBody{padding:10px;overflow:auto;flex:1}.chatOrderPick{width:100%;display:flex;justify-content:space-between;padding:12px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left}.dockChatTitle{display:flex;gap:10px;align-items:center;padding:8px}.dockMessages{display:grid;gap:8px;max-height:315px;overflow:auto;padding:8px}.dockMsg{padding:9px 11px;border-radius:13px;background:white;border:1px solid var(--line);max-width:88%;display:grid;gap:3px}.dockMsg.customer{margin-left:auto;background:#eaded1}.dockMsg.staff{margin-right:auto}.dockMsg small{font-size:9px;opacity:.6}.dockComposer{display:grid;grid-template-columns:1fr auto;gap:7px;padding:8px}.dockComposer textarea{min-height:54px}.dockComposer button,.chatDockNotice button{border:0;border-radius:10px;padding:9px 11px;background:var(--brown);color:white}.customerToast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);z-index:1200;background:#34261f;color:white;padding:12px 18px;border-radius:999px;box-shadow:0 10px 30px #0003;max-width:90vw}.hidden{display:none!important}@media(max-width:520px){.customerChatDock{right:10px;bottom:76px}.customerChatBubble span{display:none}.customerChatPanel{right:-2px}}

.transferInfo{margin:10px 0;padding:12px 14px;border-radius:14px;background:#f4ebe2;border:1px solid #decdbf;display:grid;gap:8px}.transferInfo input[type=file]{background:white;padding:10px;border-radius:10px}.customerProofStatus{margin:10px 0;padding:10px 12px;border-radius:12px;background:#f4ebe2}.customerProofStatus small{display:block;margin-top:4px}.proofUpload{display:grid;gap:8px;margin-top:10px}
