/* Complementos al sistema de diseño J&J Retail (styles.css + enhancements.css) */
.auth{max-width:440px;margin:0 auto;padding:56px 20px}.auth-brand{display:flex;justify-content:center;margin-bottom:26px;color:var(--navy)}.auth-brand .brand{padding:0}.auth-brand .monogram{border-color:#93a3af}.auth-brand small{color:var(--muted)}.auth-card{padding:0}
.skip-link{position:absolute;left:-999px;top:8px;background:var(--navy);color:#fff;padding:10px 14px;border-radius:6px;z-index:100;font-weight:700}.skip-link:focus{left:8px}
.sr{position:absolute;left:-9999px}
.nav a{background:none;border:0;color:#c4cfd6;display:flex;align-items:center;gap:13px;text-align:left;padding:13px 14px;border-radius:7px;font-size:14px;font-weight:600;text-decoration:none;min-height:44px}.nav a:hover{background:#253c4d;color:#fff}
.side-bottom a.btn{width:100%}
.profile .who{font-size:13px;font-weight:650}.profile .text-btn{min-height:44px}
.full{grid-column:1/-1}

/* Público: encabezado y catálogo */
.pub-top{background:var(--navy);color:#fff}.pub-top .in{max-width:1240px;margin:0 auto;padding:0 38px;min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.pub-top .brand{padding:0}.pub-top a.team{color:#c4cfd6;font-size:13px;font-weight:650;text-decoration:none;padding:10px 12px;border-radius:7px}.pub-top a.team:hover{background:#253c4d;color:#fff}
.pub{max-width:1240px;margin:0 auto;padding:34px 38px 24px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:20px}
.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}.pcard.off{opacity:.62}.pcard.sel{border-color:var(--green);box-shadow:0 0 0 2px #2f6b4f2e}
.pphoto{aspect-ratio:4/5;background:var(--bg);border:0;padding:0;display:grid;place-items:center;width:100%;position:relative;color:#8797a3;overflow:hidden}.pphoto img{width:100%;height:100%;object-fit:cover;display:block}.pphoto .icon{width:38px;height:38px}
button.pphoto{cursor:zoom-in}
.pbody{padding:16px 18px 18px;display:grid;gap:6px;flex:1;align-content:start}.pbody h3{font-size:15px;line-height:1.4}.pbody p{font-size:12px;color:var(--muted);margin:0}.pprice{font-size:20px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:8px}.pprice small{font-size:11px;font-weight:500;color:var(--muted);letter-spacing:0}
.pbody .badge{justify-self:start}
.pgrid-sm{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.pgrid-sm .pbody{padding:12px 14px 14px}.pgrid-sm .pprice{font-size:17px}
.qty.big button{width:38px;height:38px;font-size:18px;border-radius:7px}.qty.big span{min-width:28px;font-size:15px;font-weight:700}.qty.big{margin-top:10px}

/* Administración de productos */
.padmin{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:18px}
.padmin .panel{display:flex;flex-direction:column}.padmin .pphoto{aspect-ratio:16/11;cursor:default}.padmin .pfields{padding:18px 20px 20px;display:grid;gap:14px}
.upl{position:absolute;right:10px;bottom:10px;background:#fff;border:1px solid var(--line);border-radius:7px;padding:8px 11px;font-size:12px;font-weight:750;cursor:pointer;display:inline-flex;gap:6px;align-items:center;color:var(--ink)}.upl:hover{background:var(--soft)}.upl .icon{width:15px;height:15px}
.padmin .toggles{display:flex;gap:18px;flex-wrap:wrap}.check{display:flex;gap:9px;align-items:center;font-size:13px}.check input{width:18px;height:18px;accent-color:var(--green)}
.linkbtn{border:0;background:none;color:#934b42;font-size:12px;font-weight:700;text-align:left;padding:4px 0;text-decoration:underline}
.padmin .off .pphoto{opacity:.55}
.pline{display:flex;gap:12px;align-items:center}.pline .thumb{width:44px;height:48px;border-radius:7px;overflow:hidden;background:var(--bg);flex:none;display:grid;place-items:center;color:#8797a3}.pline .thumb img{width:100%;height:100%;object-fit:cover}
.product-symbol.photo{width:64px;height:72px;overflow:hidden;padding:0}.product-symbol.photo img{width:100%;height:100%;object-fit:cover}
.row-actions{display:flex;gap:8px;flex-wrap:wrap}
.doc{max-width:780px;margin:0 auto;padding:34px 20px}.doc .panel{padding:30px}
.doc h1{font-size:1.5rem}.doc .meta{color:var(--muted);font-size:13px;margin:6px 0 20px}
.totals-line{display:flex;justify-content:space-between;font-size:18px;font-weight:800;border-top:2px solid var(--ink);margin-top:14px;padding-top:14px}
.demo-footer a{color:var(--muted)}
.payment-options.pay4{grid-template-columns:repeat(4,1fr)}
@media(max-width:700px){.payment-options.pay4{grid-template-columns:1fr 1fr}}
/* Orden de pedido imprimible */
.doc.wide{max-width:900px}.print-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.odoc{color:var(--ink)}.odoc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;border-bottom:2px solid var(--ink);padding-bottom:14px;margin-bottom:18px}.odoc-head h1{font-size:1.6rem;letter-spacing:-.03em}.odoc-kicker{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.odoc-no{font-size:1.8rem;font-weight:800;letter-spacing:-.03em}
.odoc-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px;margin-bottom:18px}.odoc-grid h3{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:6px}.odoc-grid p{font-size:13px;line-height:1.55}
.odoc-h{margin:22px 0 8px;font-size:14px}.odoc-pay{width:100%;font-size:13px}.odoc-pay th{width:34%;background:var(--bg);text-align:left;font-size:12px}.odoc-pay td{border-top:1px solid #edf0f2;font-weight:650}
.odoc-sched{width:100%;margin-top:12px;font-size:12px}
.odoc-sign{display:grid;grid-template-columns:1fr 1fr 0.7fr;gap:28px;margin-top:44px;font-size:12px;color:var(--muted)}.odoc-sign div{padding-top:0}.odoc-sign span{display:block;border-bottom:1px solid var(--ink);height:34px;margin-bottom:6px}
.odoc-note{margin-top:22px;text-align:center}
@media(max-width:700px){.odoc-grid{grid-template-columns:1fr}.odoc-sign{grid-template-columns:1fr}}
@media print{.doc{padding:0;max-width:none}.doc .panel{border:0;box-shadow:none}.doc .form-section{padding:0}.odoc-page{break-after:page;page-break-after:always;border:0}.odoc-page:last-child{break-after:auto;page-break-after:auto}.odoc{font-size:12px}.odoc-head h1{font-size:1.3rem}@page{margin:14mm}}
@media(max-width:700px){.pub-top .in,.pub{padding-left:16px;padding-right:16px}.pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pbody{padding:12px}.pprice{font-size:17px}.padmin{grid-template-columns:1fr}.profile .who{display:none}.auth{padding-top:32px}}
@media print{.pub-top .team,.toolbar,.no-print,.qty,.bottom-nav{display:none!important}.pub-top{background:#fff;color:#000;border-bottom:2px solid #000}.pgrid{grid-template-columns:repeat(3,1fr)}.pcard{break-inside:avoid}}

.lang{display:inline-flex;border:1px solid #3d5566;border-radius:7px;overflow:hidden}.lang button{border:0;background:transparent;color:#c4cfd6;padding:8px 11px;font-size:12px;font-weight:750;letter-spacing:.04em;min-height:36px}.lang button[aria-pressed=true]{background:#e8f3ed;color:var(--navy)}.auth-lang{display:flex;justify-content:flex-end;margin-bottom:10px}.auth-lang .lang{border-color:var(--line)}.auth-lang .lang button{color:var(--muted)}.auth-lang .lang button[aria-pressed=true]{background:var(--navy);color:#fff}.topbar .lang{border-color:var(--line)}.topbar .lang button{color:var(--muted)}.topbar .lang button[aria-pressed=true]{background:var(--navy);color:#fff}.pub-top .lang{margin-right:8px}.pub-top .right{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
