.mshop{font-family:inherit;color:#0f172a;max-width:1180px;margin:0 auto}
.mshop *,.ms-ov *{box-sizing:border-box}
.ms-top{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.ms-q{flex:1 1 220px;padding:11px 16px;border:1px solid #cbd5e1;border-radius:50px;font-size:15px;background:#fff}
.ms-cartbtn,.ms-btn{background:#0f64cd;color:#fff;border:0;border-radius:50px;padding:11px 24px;font-weight:700;cursor:pointer;font-size:15px}
.ms-btn{display:block;width:100%;margin-top:14px}
.ms-btn:disabled{background:#94a3b8;cursor:not-allowed}
.ms-banner{background:#eff6ff;color:#1e3a8a;border-radius:12px;padding:10px 14px;font-size:14px;margin-bottom:14px}
.ms-banner a{color:#0f64cd;font-weight:700}
.ms-banner.ms-okb{background:#dcfce7;color:#166534}
.ms-lay{display:grid;grid-template-columns:250px 1fr;gap:22px;align-items:start}
.ms-sidet{display:none}
.ms-cats{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:8px}
.ms-cats a{display:flex;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:10px;color:#334155;text-decoration:none;font-size:14px}
.ms-cats a span{color:#94a3b8;font-size:12px}
.ms-cats a:hover{background:#f1f5f9}
.ms-cats a.on{background:#ede9fe;color:#5b21b6;font-weight:700}
.ms-cats a.l1{padding-left:26px;font-size:13px}.ms-cats a.l2{padding-left:40px;font-size:13px}.ms-cats a.l3{padding-left:54px;font-size:13px}
.ms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.ms-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;cursor:pointer;transition:box-shadow .15s,transform .15s}
.ms-card:hover{box-shadow:0 8px 22px rgba(15,23,42,.1);transform:translateY(-2px)}
.ms-img{aspect-ratio:1/1;background:#f1f5f9;position:relative;display:flex;align-items:center;justify-content:center;color:#94a3b8}
.ms-img img{width:100%;height:100%;object-fit:cover}
.ms-sold{position:absolute;top:10px;left:10px;background:#dc2626;color:#fff;border-radius:50px;font-size:12px;font-weight:700;padding:3px 12px;font-style:normal}
.ms-heart{position:absolute;right:10px;bottom:10px;width:36px;height:36px;border-radius:50%;border:0;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.18);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.ms-heart svg{fill:none;stroke:#7c3aed;stroke-width:2}
.ms-heart.on svg{fill:#7c3aed}
.ms-info{padding:12px 14px;text-align:center}.ms-name{font-weight:700;margin-bottom:2px;font-size:14px}.ms-cat{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;min-height:14px}
.ms-pr{font-size:17px;color:#0f172a}.ms-old{text-decoration:line-through;color:#94a3b8;font-size:13px}
.ms-tag{background:#dcfce7;color:#166534;border-radius:50px;font-size:11px;font-weight:700;padding:2px 8px}
.ms-soc{font-size:12px;color:#166534;margin-top:2px}
.ms-sku{font-size:12px;color:#94a3b8;margin-bottom:4px}
.ms-empty{text-align:center;color:#64748b;padding:30px 0}
.ms-ov{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:99999;align-items:flex-start;justify-content:center;padding:20px;overflow:auto}
.ms-panel{background:#fff;border-radius:16px;max-width:580px;width:100%;padding:24px;position:relative;margin:auto}
.ms-x{position:absolute;top:8px;right:12px;border:0;background:none;font-size:28px;cursor:pointer;color:#64748b}
.ms-panel h3{margin:0 0 10px}.ms-panel h4{margin:16px 0 6px;color:#0f64cd}
.ms-pimg{width:100%;max-height:320px;object-fit:cover;border-radius:12px;margin-bottom:10px}
.ms-desc{color:#475569;font-size:14px}
.ms-l{display:block;font-weight:700;font-size:13px;margin:12px 0 4px}
.ms-panel input:not([type=radio]),.ms-panel select{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;font-size:15px;margin-bottom:8px;background:#fff}
.ms-radios{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:8px;font-size:14px}.ms-radios input{margin-right:6px}
.ms-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ms-envp{font-size:13px;font-weight:700;color:#166534;margin-bottom:6px}
.ms-line{display:flex;align-items:center;gap:10px;border-bottom:1px solid #f1f5f9;padding:10px 0}
.ms-line img,.ms-noimg{width:54px;height:54px;object-fit:cover;border-radius:8px;background:#f1f5f9;flex:none}
.ms-ln{flex:1;font-size:14px}.ms-lq{display:flex;align-items:center;gap:8px}
.ms-lq button{width:28px;height:28px;border-radius:50%;border:1px solid #cbd5e1;background:#fff;cursor:pointer;padding:0}
.ms-lp{min-width:76px;text-align:right;font-weight:700}
.ms-del{border:0;background:none;color:#dc2626;font-size:22px;cursor:pointer}
.ms-sum{background:#f8fafc;border-radius:12px;padding:10px 14px;margin:10px 0}
.ms-sum div{display:flex;justify-content:space-between;font-size:14px;padding:2px 0}
.ms-sum .ms-g{color:#166534}.ms-sum .ms-tt{font-weight:800;font-size:17px;border-top:1px solid #e2e8f0;margin-top:4px;padding-top:6px}
.ms-sum small{display:block;color:#64748b;margin-top:4px}
.ms-mdet{background:#f8fafc;border-radius:12px;padding:10px 14px;margin-bottom:8px;text-align:center;font-size:14px}
.ms-mdet:empty{display:none}.ms-mn{font-size:20px;font-weight:800;color:#0f64cd}
.ms-qr{width:150px;height:150px;object-fit:contain;display:block;margin:8px auto;border:1px solid #e2e8f0;border-radius:8px;background:#fff}
.ms-aviso{background:#fef3c7;color:#92400e;border-radius:10px;padding:8px 12px;font-size:13px}
.ms-err{color:#dc2626;font-weight:700;font-size:13px}.ms-ok2{color:#166534;font-weight:700}
.ms-code{background:#e0f2fe;border-radius:8px;padding:2px 10px}
.ms-wa{display:inline-block;background:#16a34a;color:#fff;border-radius:50px;padding:9px 20px;font-weight:700;text-decoration:none}
.ms-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.ms-tabs button{border:1px solid #cbd5e1;background:#fff;border-radius:50px;padding:8px 20px;font-weight:700;cursor:pointer;font-size:14px}
.ms-tabs button.on{background:#0f64cd;border-color:#0f64cd;color:#fff}
.ms-ord{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px 16px;margin-bottom:12px}
.ms-oh{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.ms-od{margin-left:auto;color:#94a3b8;font-size:12px}
.ms-st{border-radius:50px;padding:2px 12px;font-size:12px;font-weight:700;background:#e2e8f0;color:#334155}
.ms-st.pendiente{background:#fee2e2;color:#991b1b}.ms-st.revision{background:#fef3c7;color:#92400e}.ms-st.pagado,.ms-st.preparando{background:#dbeafe;color:#1e40af}.ms-st.enviado{background:#ede9fe;color:#5b21b6}.ms-st.entregado{background:#dcfce7;color:#166534}
.ms-oi{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:3px 0;color:#475569}.ms-ot{font-weight:800;color:#0f172a;border-top:1px solid #f1f5f9;margin-top:4px;padding-top:6px}
.ms-track{background:#f5f3ff;color:#5b21b6;border-radius:10px;padding:6px 12px;font-size:13px}
.ms-ord details{margin-top:8px}.ms-ord summary{cursor:pointer;color:#0f64cd;font-weight:700;font-size:13px}
@media(max-width:820px){
 .ms-lay{grid-template-columns:1fr}
 .ms-sidet{display:block;width:100%;background:#ede9fe;color:#5b21b6;border:0;border-radius:12px;padding:10px;font-weight:700;margin-bottom:8px}
 .ms-cats{display:none}.ms-cats.open{display:block}
 .ms-grid{grid-template-columns:repeat(2,1fr);gap:10px}
}
@media(max-width:520px){.ms-two{grid-template-columns:1fr}.ms-ov{padding:8px}.ms-panel{padding:18px}.ms-line{flex-wrap:wrap}}

/* v1.2: menú superior de categorías y cuadrícula de 3 */
.ms-nav{margin-bottom:16px}
.ms-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.ms-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:50px;background:#fff;border:1px solid #cbd5e1;color:#334155;text-decoration:none;font-size:13px;font-weight:700;transition:background .15s,color .15s}
.ms-pill span{font-weight:400;color:#94a3b8;font-size:11px}
.ms-pill:hover{background:#f1f5f9}
.ms-pill.on{background:#0f64cd;border-color:#0f64cd;color:#fff}.ms-pill.on span{color:#dbeafe}
.ms-sub{padding:8px 10px;background:#f8fafc;border-radius:14px}
.ms-sub .ms-pill{font-size:12px;padding:5px 13px;font-weight:600}
.ms-sub .ms-pill.on{background:#7c3aed;border-color:#7c3aed}
.ms-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:14px !important;max-width:860px;margin-left:auto;margin-right:auto}
.ms-card{border-radius:12px}
.ms-info{padding:8px 10px}.ms-name{font-size:13px}.ms-pr{font-size:15px}
.ms-heart{width:30px;height:30px;right:8px;bottom:8px}
@media(max-width:520px){.ms-grid{gap:8px !important}.ms-name{font-size:12px}.ms-pr{font-size:13px}.ms-pill{padding:6px 12px;font-size:12px}}

/* v1.3: diseño según maqueta */
.mshop input.ms-q{flex:1 1 220px;border:1.5px solid #0f172a !important;border-radius:50px !important;padding:11px 20px !important;font-size:15px;background:#fff !important;box-shadow:none !important;-webkit-appearance:none;appearance:none;height:auto;color:#0f172a}
.mshop input.ms-q::placeholder{color:#64748b;opacity:1}
.mshop .ms-cartbtn{border-radius:50px !important}
.ms-banner{border-radius:12px;padding:10px 16px;font-size:15px;text-align:center;margin-bottom:14px}
.ms-banner.ms-blue{background:#0f64cd;color:#fff;font-weight:700}
.ms-banner.ms-blue a{color:#fff;text-decoration:underline;font-weight:700}
.ms-banner.ms-blue a.ms-bl{display:inline-block;margin-left:8px;background:#fff;color:#0f64cd;border-radius:50px;padding:2px 14px;text-decoration:none}
.ms-banner.ms-red{background:#e53935;color:#fff;font-weight:600;box-shadow:0 2px 6px rgba(229,57,53,.25)}
.ms-banner.ms-red b{font-weight:800}
.mshop.ms-public .ms-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;max-width:none}
.mshop.ms-portal .ms-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;max-width:none}
.ms-info{text-align:center}.ms-price{margin-top:2px}
.ms-img{overflow:hidden}
.ms-rib{position:absolute;top:0;left:0;width:96px;height:96px;overflow:hidden;pointer-events:none;font-style:normal}
.ms-rib b{position:absolute;top:19px;left:-30px;width:130px;text-align:center;transform:rotate(-45deg);background:#e53935;color:#fff;font-size:11px;line-height:1;padding:6px 0;font-weight:800;letter-spacing:.01em;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.ms-heart{border:1.5px solid #0f64cd !important;background:#fff !important;box-shadow:none !important}
.ms-heart svg{stroke:#0f64cd !important;fill:none}
.ms-heart.on svg{fill:#0f64cd !important}
.ms-cartq{position:absolute;left:8px;bottom:8px;width:30px;height:30px;border-radius:50%;border:1.5px solid #0f64cd;background:#fff;color:#0f64cd;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.ms-cartq svg{width:16px;height:16px}
.ms-cartq:hover{background:#0f64cd;color:#fff}
.ms-toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);background:#0f172a;color:#fff;padding:10px 22px;border-radius:50px;font-size:14px;font-weight:700;z-index:100001;transition:opacity .4s}
.ms-toast.out{opacity:0}
.ms-panel.ms-wide{max-width:1000px;padding:34px 34px 30px}
.ms-panel.ms-wide .ms-x{top:-14px;right:-14px;width:46px;height:46px;border-radius:50%;background:#e91e63;color:#fff;font-size:28px;line-height:1;box-shadow:0 2px 8px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;padding:0 0 3px}
.ms-pdw{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:28px;align-items:start}
.ms-pimg{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;margin:0;display:block}
.ms-noph{display:flex;align-items:center;justify-content:center;background:#f1f5f9;color:#94a3b8}
.ms-spec{margin-top:16px;font-size:12px;border-collapse:collapse}
.ms-spec th{text-align:left;font-weight:400;color:#334155;padding:4px 28px 4px 10px;white-space:nowrap}
.ms-spec td{padding:4px 0;color:#0f172a;font-weight:600}
.ms-ptitle{font-size:30px;line-height:1.1;margin:0 0 6px !important;color:#0f172a}
.ms-avail{font-size:17px;margin-bottom:18px}
.ms-disp{color:#0f64cd}.ms-nodisp{color:#dc2626;font-weight:700}
.ms-plabel{font-size:17px;margin-bottom:2px}
.ms-pprice{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.ms-pprice strong{font-size:26px;color:#0f172a}.ms-pprice .ms-old{font-size:20px}
.ms-pprice .ms-tag{background:none;color:#16a34a;font-size:17px;padding:0;font-weight:700}
.ms-soc2{font-size:14px;color:#166534;margin-top:2px}
.ms-pcol2 .ms-desc{text-align:justify;font-size:12.5px;line-height:1.55;margin:14px 0}
.ms-buy{display:flex;gap:10px;align-items:center;margin:14px 0 4px;flex-wrap:wrap}
.ms-panel .ms-buy input.ms-qty{width:56px;height:42px;padding:0 6px;text-align:center;border:2px solid #0f172a;border-radius:8px;margin:0}
.ms-addbtn{background:#0f64cd;color:#fff;border:0;border-radius:50px;padding:0 28px;height:42px;font-weight:700;font-size:15px;letter-spacing:.03em;cursor:pointer}
.ms-addbtn:disabled{background:#94a3b8;cursor:not-allowed}
.ms-hbtn{width:80px;height:42px;border-radius:50px;border:0;background:#0f64cd;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.ms-hbtn svg{fill:none;stroke:#fff;stroke-width:2}.ms-hbtn.on svg{fill:#fff}
.ms-rel{margin-top:16px}.ms-reltit{text-align:center;font-size:22px;margin-bottom:10px;color:#0f172a}
.ms-relg{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ms-relc{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;border:2px solid #0f172a;border-radius:14px;overflow:hidden;background:#fff;font-size:11px;color:#334155;text-align:center;text-decoration:none}
.ms-relc img{width:100%;height:100%;object-fit:cover}
@media(max-width:780px){
 .ms-pdw{grid-template-columns:1fr;gap:18px}
 .ms-panel.ms-wide{padding:22px 16px}.ms-panel.ms-wide .ms-x{top:-8px;right:-4px;width:40px;height:40px}
 .mshop.ms-public .ms-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 .ms-ptitle{font-size:24px}
}
@media(max-width:520px){.mshop.ms-portal .ms-grid{gap:8px !important}.ms-rib{width:80px;height:80px}.ms-rib b{top:15px;left:-32px;font-size:10px}}

/* v1.4 */
.ms-banner small{display:block;font-weight:400;font-size:12.5px;margin-top:3px;opacity:.95}
.ms-pmain{display:flex;align-items:center;justify-content:center}
.ms-pimg{width:auto !important;max-width:100%;height:auto !important;max-height:68vh;aspect-ratio:auto !important;object-fit:contain !important;margin:0 auto !important;display:block}
.ms-noph{width:100%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;background:#f1f5f9;color:#94a3b8;border-radius:14px}
.ms-thumbs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:10px}
.ms-th{width:56px;height:56px;border:2px solid #e2e8f0;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff}
.ms-th img{width:100%;height:100%;object-fit:cover}
.ms-th.on{border-color:#475569}
.ms-spec,.ms-spec *{border:0 !important;background:transparent !important;box-shadow:none !important}
.ms-spec{margin-top:16px;font-size:12px;color:#0f172a;padding:0 6px}
.ms-spec div{display:flex;gap:10px;padding:3px 0}
.ms-spec span{color:#475569;min-width:92px}.ms-spec b{font-weight:600}
.ms-relc{border:2px solid #4b5563 !important;display:flex !important;align-items:center;justify-content:center;padding:6px;background:#fff}
.ms-relc img{width:100%;height:100%;object-fit:contain !important;display:block;margin:0 auto}
.ms-soc2 a{color:#0f64cd;font-weight:700}
