.login-view{position:relative;display:grid;grid-template-columns:1fr;place-items:center;padding:36px;background:linear-gradient(135deg,#f4efe2 0 48%,#dce7df 48% 72%,#d66b42 72%);overflow:hidden}
.login-view:before,.login-view:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.5)}
.login-view:before{width:260px;height:260px;left:-80px;top:-90px}.login-view:after{width:360px;height:360px;right:-100px;bottom:-180px}
.login-panel{width:min(520px,100%);padding:48px;background:rgba(255,253,248,.97);border:1px solid rgba(255,255,255,.8);border-radius:28px;box-shadow:var(--shadow)}
.login-logo{margin-bottom:22px}.login-panel h1{font-size:clamp(2.8rem,5vw,4.5rem)}
.orders-overview{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;padding:78px clamp(22px,6vw,90px);background:linear-gradient(135deg,#f3efe4,#e2ebe4)}
.orders-title{grid-row:span 2;padding:38px;border-radius:28px;background:var(--forest);color:#fff}
.orders-title h2{margin:0 0 14px;font-family:"Fraunces",Georgia,serif;font-size:clamp(3.5rem,7vw,7rem);line-height:.92;letter-spacing:-.05em}.orders-title>p:last-child{max-width:460px;color:#bfd0c7;line-height:1.65}
.current-order{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:28px;border-radius:28px;background:#fff;box-shadow:0 18px 50px rgba(20,35,30,.08)}
.current-order div{display:grid;gap:7px}.current-order span{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.current-order strong{font-size:1.45rem}.current-order .button{grid-column:1/-1;width:100%}
.new-order{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:24px;border:1px solid rgba(23,55,45,.12);border-radius:24px;background:#fff;color:var(--ink);text-decoration:none}.new-order>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--ember);color:#fff;font-size:1.8rem}.new-order div{display:grid;gap:4px}.new-order small{color:var(--muted)}.new-order b{font-size:1.4rem}.new-order:hover{transform:translateY(-2px);box-shadow:0 15px 35px rgba(20,35,30,.08)}
.product-price{color:var(--forest);font-size:1.2rem}.step-note{display:block;margin-top:7px;color:var(--muted);font-size:.61rem;text-align:center}.cart-item strong{display:block;margin-top:7px;color:var(--forest)}
@media(max-width:800px){.orders-overview{grid-template-columns:1fr;padding:55px 22px}.orders-title{grid-row:auto;padding:28px}.orders-title h2{font-size:3.8rem}.login-panel{padding:36px 28px}}
@media(max-width:540px){.login-view{padding:18px}.login-panel{padding:30px 20px}.orders-overview{padding:38px 15px}.orders-title h2{font-size:3.15rem}.current-order{padding:20px}.current-order strong{font-size:1.05rem}.product-price{font-size:1rem}}

/* Paleta interior clara: azul, celeste y rojo. */
:root{--forest:#174f7a;--forest-2:#287db1;--sage:#7fb8d3;--mist:#e8f5fb;--cream:#f4f9fc;--paper:#ffffff;--ember:#d64045;--ink:#183349;--muted:#668195;--line:#d8e7ef;--shadow:0 22px 60px rgba(25,91,130,.13)}
.login-view{background:linear-gradient(135deg,#f7fbfd 0 38%,#dff2fb 38% 62%,#d64045 62% 67%,#67b7dc 67% 84%,#fff 84%)}
.login-view:before{background:#fff;box-shadow:0 0 0 34px rgba(255,255,255,.35),0 0 0 68px rgba(103,183,220,.13)}.login-view:after{background:rgba(255,255,255,.42)}
.topbar{background:rgba(255,255,255,.93);border-color:#d8e7ef}.orders-overview{background:linear-gradient(135deg,#eef8fc,#dcedf6)}
.orders-title{background:linear-gradient(135deg,#226f9d,#4ea8cf);box-shadow:var(--shadow)}.orders-title>p:last-child{color:#e9f8ff}.orders-title .kicker{color:#fff}.trust-strip{background:#287dab}.trust-strip i{background:#fff}
.catalog-section{background:#f8fcfe}.category-tabs button{background:#edf7fb}.category-tabs button.active{background:#287dab;border-color:#287dab}.product-card{box-shadow:0 8px 24px rgba(34,111,157,.07);transform:none}.product-card:hover{transform:none;box-shadow:0 8px 24px rgba(34,111,157,.07)}
.product-media{background:linear-gradient(145deg,#eff8fc,#fff)}.product-media.placeholder{background:linear-gradient(145deg,#dff2fb,#f8fcfe)}.qty-control input{width:100%;min-width:0;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-weight:700;text-align:center;outline:0;-moz-appearance:textfield}.qty-control input::-webkit-outer-spin-button,.qty-control input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.qty-control input:focus{border-color:#287dab;box-shadow:0 0 0 3px rgba(40,125,171,.12)}
.steps{background:#e5f3f9}.cart-drawer{background:#fafdff}.pending-warning{background:#eaf5fa;color:#547487}.whatsapp{background:#23845e}

/* Acceso v4: formulario destacado y marca lateral, inspirado en la referencia. */
.login-view{grid-template-columns:minmax(360px,500px) minmax(420px,680px);justify-content:center;gap:clamp(50px,8vw,130px);padding:70px;background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.6),transparent 28%),linear-gradient(135deg,#9fd8ef 0%,#4ba9d2 42%,#2e77ae 76%,#d64045 130%)}
.login-panel{width:100%;padding:42px 48px;border-radius:24px;box-shadow:0 24px 65px rgba(18,61,95,.25)}.login-panel h1{font-size:2.7rem;margin-bottom:12px}.login-panel form{max-width:none}.login-panel .intro{margin-bottom:8px}
.login-brand{position:relative;z-index:1;color:white;text-align:center}.login-brand img{width:min(360px,80%);height:150px;object-fit:contain;filter:drop-shadow(0 10px 25px rgba(0,0,0,.16))}.login-brand p{margin:20px 0 8px;color:#173b55;font-size:1.25rem;font-weight:700}.login-brand h2{max-width:590px;margin:0 auto 22px;color:#173b55;font-size:clamp(2rem,3.5vw,3.6rem);line-height:1.08;text-shadow:0 1px 0 rgba(255,255,255,.35)}.login-brand span{display:inline-block;padding:10px 18px;border:1px solid rgba(255,255,255,.75);border-radius:999px;background:rgba(255,255,255,.78);color:#173b55;font-weight:700}
.client-match{display:grid;gap:3px;padding:12px 14px;border-left:4px solid var(--ember);border-radius:10px;background:#edf8fc}.client-match small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.client-match strong{font-size:1.05rem}.client-match span{color:#2e77ae;font-size:.8rem;font-weight:700}
.client-header{display:grid;gap:2px;text-align:center}.client-header strong{color:var(--ink);font-size:1.15rem;line-height:1.1}.client-header span{color:var(--muted);font-size:.78rem}.client-header small{color:var(--ember);font-size:.7rem;font-weight:700}
.login-brand img{width:min(470px,92%);height:auto;margin:0}
.wordmark img{width:124px;height:auto;object-fit:contain}.topbar .wordmark span{display:none}
.customer-welcome{display:grid!important;gap:4px;margin:0 0 20px!important;color:#fff!important}.customer-welcome strong{font-size:clamp(1.45rem,3vw,2.2rem);line-height:1.1}.customer-welcome span{color:#e9f8ff;font-size:.78rem;font-weight:600}
footer .wordmark{min-width:250px;width:max-content;padding:14px 18px;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.16)}footer .wordmark img{width:210px;height:auto}footer .wordmark span{display:none}.seller-contact{display:grid;gap:7px;text-align:right}.seller-contact strong{font-size:.92rem}.seller-contact a{color:#fff;text-decoration:none}.seller-contact a:hover{text-decoration:underline}
@media(max-width:900px){.login-view{grid-template-columns:1fr;gap:34px;padding:36px 20px}.login-brand{grid-row:1}.login-brand img{width:min(390px,88%);height:auto;margin:0}.login-brand p{margin-top:5px}.login-brand h2{font-size:2rem}.login-panel{grid-row:2;justify-self:center}.topbar{grid-template-columns:1fr auto}.client-header{display:none}.seller-contact{text-align:left}}
@media(max-width:540px){.login-view{padding:22px 14px}.login-brand h2{font-size:1.55rem}.login-brand span{font-size:.75rem}.login-panel{padding:28px 20px}.login-panel h1{font-size:2.2rem}.wordmark img{width:108px}footer .wordmark{min-width:0}footer .wordmark img{width:190px}.seller-contact strong{font-size:1rem}}
.password-field{position:relative;display:block}.password-field input{padding-right:92px!important}.password-field button{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;border-radius:9px;background:#e7f3f9;color:#195783;padding:8px 11px;font:inherit;font-size:.74rem;font-weight:800;text-transform:none;letter-spacing:0;cursor:pointer}.password-field button:hover,.password-field button:focus-visible{background:#d5ebf5;outline:2px solid #67b7dc;outline-offset:1px}
.login-panel .intro,.orders-title>p:last-child,.login-brand p{font-size:1.15rem;line-height:1.55}.client-match strong{font-size:1.2rem}.client-match span{font-size:.84rem;font-weight:800;color:var(--ember)}
.client-header{gap:3px}.client-header strong{font-size:1.38rem}.client-header span{font-size:.92rem;font-weight:700}.client-header small{font-size:.78rem;letter-spacing:.04em}
.customer-welcome{gap:6px!important}.customer-welcome .customer-label{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.customer-welcome strong{font-size:clamp(2rem,4.6vw,3.3rem)}.customer-welcome #home-rut{font-size:1.18rem;font-weight:800}.customer-welcome .dispatch-day{font-size:1rem;font-weight:900;color:#fff;letter-spacing:.04em}
.subtotal-row,.discount-row{display:flex;justify-content:space-between;gap:20px;padding:6px 4px;font-size:.95rem}.discount-row{margin-bottom:10px;color:#17714e;font-weight:800}.subtotal-row[hidden],.discount-row[hidden]{display:none}.total-row{margin:4px 0 12px;padding:18px;border:2px solid #195f8a;border-radius:16px;background:#e4f3fa;color:#123d59;font-size:1.25rem;font-weight:900;box-shadow:0 8px 22px rgba(25,95,138,.13)}.total-row strong{font-size:1.85rem}.pending-warning{font-size:.86rem;font-weight:700;text-align:center}.cart-footer>small{font-size:.78rem}.current-order strong{font-size:1.35rem}
@media(max-width:540px){.login-panel .intro,.orders-title>p:last-child,.login-brand p{font-size:1rem}.customer-welcome strong{font-size:2.25rem}.customer-welcome #home-rut{font-size:1.05rem}.customer-welcome .dispatch-day{font-size:.9rem}.total-row{padding:15px}.total-row strong{font-size:1.55rem}}
.product-price small{display:block;margin-top:3px;color:#168257;font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}

/* Carrito compatible con pantallas pequeñas, navegadores antiguos y Safari iOS. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.cart-drawer{height:100vh;height:var(--app-height,100vh);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.cart-head{position:sticky;z-index:2;top:0;flex:0 0 auto;background:#fafdff}
.cart-items{flex:0 0 auto;min-height:0;overflow:visible}
.cart-footer{flex:0 0 auto;margin-top:auto;padding-bottom:max(24px,calc(16px + env(safe-area-inset-bottom)))}
@supports(height:100dvh){.cart-drawer{height:100dvh}}
@media(max-width:540px){.cart-head{padding:18px}.cart-head h2{font-size:2rem}.cart-items{padding:8px 18px}.cart-footer{padding-left:18px;padding-right:18px}}
