/* =========================================================
   Part Pro — Mega menú
   ========================================================= */
.ppm-panel,.ppm-drawer,.ppt-hd-nav{--ink:#0b0e14;--muted:#6b7280;--line:rgba(15,20,30,.08);--flame:linear-gradient(135deg,#ff6b35,#e63329);--red:#e63329;--soft:#f5f6f8;--wa:#25d366}

/* Botón "Categorías" y flechas */
.ppt-hd-nav ul{align-items:center}
.ppm-trig{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px 0 14px;border:0;border-radius:999px;background:var(--ink);color:#fff;font:inherit;font-weight:700;font-size:14px;cursor:pointer;transition:background .2s}
.ppm-trig:hover,.ppt-hd.ppm-open .ppm-trig{background:#23272f}
.ppm-trig svg:last-child{transition:transform .25s}
.ppt-hd.ppm-open .ppm-trig svg:last-child{transform:rotate(180deg)}
.ppt-hd-nav a.ppm-has{display:inline-flex !important;align-items:center;gap:4px}
.ppm-caret{display:inline-flex;opacity:.55;transition:transform .25s}
.ppt-hd-nav a.ppm-has:hover .ppm-caret{transform:translateY(2px);opacity:1}

/* Panel */
.ppm-panel{position:absolute;left:0;right:0;top:100%;z-index:60;padding:0 20px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .22s ease,transform .22s ease,visibility 0s .22s;pointer-events:none}
.ppt-hd.ppm-open .ppm-panel{opacity:1;visibility:visible;transform:none;transition:opacity .22s ease,transform .22s ease;pointer-events:auto}
.ppm-in{max-width:1200px;margin:10px auto 0;background:#fff;border-radius:24px;box-shadow:0 30px 70px rgba(15,20,30,.22);border:1px solid var(--line);overflow:hidden}
.ppm-grid{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:330px}
.ppm-shade{position:fixed;inset:0;z-index:40;background:rgba(11,14,20,.35);opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s .25s}
body.ppm-lock .ppm-shade{opacity:1;visibility:visible;transition:opacity .25s}

/* Columna izquierda */
.ppm-side{list-style:none;margin:0;padding:14px;background:var(--soft);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.ppm-tab{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;text-decoration:none;color:var(--ink);transition:background .15s}
.ppm-tab:hover,.ppm-tab.is-on{background:#fff;box-shadow:0 4px 14px rgba(15,20,30,.06)}
.ppm-tab.is-on{color:var(--red)}
.ppm-tab>svg{margin-left:auto;opacity:0;transform:translateX(-4px);transition:all .2s}
.ppm-tab.is-on>svg{opacity:1;transform:none}
.ppm-tab-img{flex:0 0 40px;width:40px;height:40px;border-radius:10px;background:#fff;overflow:hidden;display:block}
.ppm-tab-img img{width:100%;height:100%;object-fit:contain;padding:4px;margin:0}
.ppm-tab-txt b{display:block;font-size:14px;line-height:1.2}
.ppm-tab-txt small{display:block;font-size:12px;color:var(--muted);margin-top:2px}

/* Columna central + derecha */
.ppm-bodies{position:relative}
.ppm-body{display:none;grid-template-columns:minmax(0,1fr) 250px;gap:24px;padding:22px 24px}
.ppm-body.is-on{display:grid;animation:ppmFade .25s ease}
@keyframes ppmFade{from{opacity:0;transform:translateX(6px)}to{opacity:1;transform:none}}
.ppm-mid-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.ppm-mid-head h3{margin:0;font-size:20px;color:var(--ink);letter-spacing:-.01em}
.ppm-mid-head a{display:inline-flex;align-items:center;gap:2px;font-size:13.5px;font-weight:700;color:var(--red);text-decoration:none}
.ppm-subs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ppm-sub{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:16px;text-decoration:none;color:var(--ink);transition:border-color .2s,box-shadow .2s,transform .2s}
.ppm-sub:hover{border-color:transparent;box-shadow:0 10px 24px rgba(15,20,30,.1);transform:translateY(-2px)}
.ppm-sub-img{flex:0 0 56px;width:56px;height:56px;border-radius:12px;background:var(--soft);overflow:hidden;display:block}
.ppm-sub-img img{width:100%;height:100%;object-fit:contain;padding:5px;margin:0;transition:transform .3s}
.ppm-sub:hover .ppm-sub-img img{transform:scale(1.08)}
.ppm-sub b{display:block;font-size:14px;line-height:1.25}
.ppm-sub small{display:block;font-size:12.5px;color:var(--muted);margin-top:3px}
.ppm-noimg{display:block;width:100%;height:100%;background:linear-gradient(135deg,#eef0f3,#f8f9fa)}

.ppm-top{position:relative;display:flex;flex-direction:column;height:100%;padding:12px;border-radius:18px;background:linear-gradient(160deg,#fff4ee,#fff);border:1px solid #ffe1d3;text-decoration:none;color:var(--ink)}
.ppm-top-tag{position:absolute;top:20px;left:20px;z-index:1;background:var(--ink);color:#fff;font-size:11px;font-weight:700;border-radius:999px;padding:4px 9px}
.ppm-top-img{display:block;aspect-ratio:4/3;border-radius:12px;background:#fff;overflow:hidden}
.ppm-top-img img{width:100%;height:100%;object-fit:contain;padding:10px;margin:0;transition:transform .3s}
.ppm-top:hover .ppm-top-img img{transform:scale(1.05)}
.ppm-top small{display:block;font-size:11.5px;color:var(--muted);margin-top:10px}
.ppm-top b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:1.3;margin-top:3px}
.ppm-top-row{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:10px}
.ppm-top-row strong{font-size:20px;font-weight:800}
.ppm-top-row em{display:inline-flex;align-items:center;font-style:normal;font-weight:700;font-size:13px;color:var(--red)}

/* Pie del panel */
.ppm-foot{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:14px 24px;border-top:1px solid var(--line);font-size:13.5px;color:#4b5563}
.ppm-foot span{display:inline-flex;align-items:center;gap:7px}
.ppm-foot span svg{color:var(--red)}
.ppm-foot a{display:inline-flex;align-items:center;gap:7px;color:#15803d;font-weight:700;text-decoration:none}
.ppm-foot a.ppm-all{margin-left:auto;color:var(--ink)}
.ppm-foot a:hover{text-decoration:underline}

/* ---------- Menú lateral (celular) ---------- */
.ppm-drawer{position:fixed;top:0;left:0;bottom:0;z-index:100000;width:min(88vw,360px);background:#fff;display:flex;flex-direction:column;transform:translateX(-102%);transition:transform .3s cubic-bezier(.2,.7,.2,1);box-shadow:20px 0 60px rgba(0,0,0,.25);border-radius:0 24px 24px 0}
.ppm-drawer.is-open{transform:none}
.ppm-dr-shade{position:fixed;inset:0;z-index:99999;background:rgba(11,14,20,.5);opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s}
.ppm-dr-shade.is-open{opacity:1;visibility:visible;transition:opacity .3s}
body.ppm-noscroll{overflow:hidden}
.ppm-dr-head{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 10px}
.ppm-dr-head b{font-size:20px;color:var(--ink)}
.ppm-dr-x{width:40px;height:40px;border:0;border-radius:50%;background:var(--soft);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer}
.ppm-dr-body{flex:1;overflow-y:auto;padding:0 14px 14px}
.ppm-dr-lbl{margin:14px 6px 8px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.ppm-acc,.ppm-links,.ppm-acc-sub{list-style:none;margin:0;padding:0}
.ppm-acc>li{border-radius:16px;transition:background .2s}
.ppm-acc>li.is-open{background:var(--soft)}
.ppm-acc-row{display:flex;align-items:center;gap:6px}
.ppm-acc-row>a{flex:1;display:flex;align-items:center;gap:12px;padding:8px;text-decoration:none;color:var(--ink)}
.ppm-acc-row>a b{display:block;font-size:15px}
.ppm-acc-row>a small{display:block;font-size:12px;color:var(--muted)}
.ppm-acc-btn{flex:0 0 40px;height:40px;margin-right:4px;border:0;border-radius:50%;background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer}
.ppm-acc-btn svg{transition:transform .25s}
.ppm-acc>li.is-open .ppm-acc-btn svg{transform:rotate(180deg)}
.ppm-acc-sub{display:none;padding:0 10px 10px 60px}
.ppm-acc>li.is-open .ppm-acc-sub{display:block;animation:ppmFade .2s ease}
.ppm-acc-sub a{display:flex;justify-content:space-between;padding:9px 6px;font-size:14px;color:#374151;text-decoration:none;border-bottom:1px solid var(--line)}
.ppm-acc-sub a small{color:var(--muted)}
.ppm-acc-sub a.ppm-acc-all{border:0;color:var(--red);font-weight:700}
.ppm-links a{display:block;padding:12px 8px;font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.ppm-dr-foot{padding:14px 18px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);display:grid;gap:10px}
.ppm-dr-foot span{display:flex;align-items:center;gap:8px;font-size:13px;color:#4b5563}
.ppm-dr-foot span svg{color:var(--red)}
.ppm-dr-foot a{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;border-radius:999px;background:var(--wa);color:#fff;font-weight:700;text-decoration:none}

@media (max-width:1100px){.ppm-body{grid-template-columns:1fr}.ppm-right{display:none}}
@media (max-width:900px){.ppm-panel,.ppm-shade{display:none !important}}
@media (prefers-reduced-motion:reduce){.ppm-panel,.ppm-drawer,.ppm-body.is-on{transition:none;animation:none}}
