/* SG Left Menu 1.6.0 */
.sglm{ position: fixed; z-index: 9999; top: var(--sglm-top,50vh); transform: translateY(-50%); 
  background: var(--sglm-bar-bg,#0b0f12); padding: .6rem; border-radius: 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,.35); display: flex; flex-direction: column; gap: .5rem;
  border: 1px solid rgba(255,255,255,.06); color: var(--sglm-main-text,#e5e7eb);
}
.sglm--left{ left: 16px; } .sglm--right{ right: 16px; }
.sglm__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.5rem; }
.sglm__item{ position:relative; overflow: visible; }
.sglm__btn{ min-width:48px; height:48px; border-radius:14px; 
  background: var(--sglm-main-bg, rgba(255,255,255,.06));
  display:inline-flex; align-items:center; justify-content:flex-start; gap:.6rem; text-decoration:none !important;
  padding: 0 .8rem; color: var(--sglm-main-text,#e5e7eb);
  transition: transform .12s ease, background .12s ease, box-shadow .12s ease, width .12s ease;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}
.sglm__btn:hover{ color: var(--sglm-main-text-hover,#fff); background: var(--sglm-main-bg-hover, rgba(255,255,255,.10)); transform: translateY(-1px) scale(1.01); box-shadow: 0 6px 18px rgba(0,0,0,.35); }
.sglm__btn.is-active, .sglm__btn[aria-current="page"]{ color: var(--sglm-main-text-active,#000); background: var(--sglm-main-bg-active,#16a34a); }
.sglm__btn:focus-visible{ outline:2px solid var(--sglm-main-bg-active,#16a34a); outline-offset:2px; }
.sglm__btn .dashicons, .sglm__btn i{ font-size:22px; width:22px; height:22px; flex:0 0 22px; }
.sglm__label{ display:none; white-space:nowrap; font-size:14px; }
.sglm--expanded .sglm__label{ display:inline; }
.sglm--expanded .sglm__btn{ width: var(--sglm-expanded-w, var(--sglm-min-w, 220px)); }

/* Tooltip */
.sglm__tooltip{ position:absolute; left: calc(100% + 10px); white-space:nowrap; pointer-events:none; background: var(--sglm-tooltip-bg,rgba(0,0,0,.9)); color:#fff; padding:.35rem .5rem; border-radius:8px; font-size:12px; line-height:1; opacity:0; transform: translateY(0) scale(.98); transition: opacity .12s ease; box-shadow: 0 6px 18px rgba(0,0,0,.35); z-index:10001; }
.sglm--right .sglm__tooltip{ left:auto; right: calc(100% + 10px); }
.sglm__btn:hover .sglm__tooltip{ opacity:1; transform: translateY(0) scale(1); }

/* Submenu */
.sglm__sublist{ list-style:none; margin:0; padding:.4rem; position:absolute; top:20px; left: calc(100% + var(--sglm-subgap,10px));
  background: var(--sglm-sub-bg,#0b0f12); border-radius:14px; display:none; gap:.35rem; min-width:52px;
  box-shadow: 0 10px 30px rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.06); z-index:10000;
}
.sglm--right .sglm__sublist{ left:auto; right: calc(100% + var(--sglm-subgap,10px)); }
.sglm:not(.sglm--trigger-click) .sglm__item:hover > .sglm__sublist,
.sglm__item.open > .sglm__sublist{ display:flex; flex-direction:column; }
.sglm__sublist .sglm__btn{ background: var(--sglm-sub-item-bg, rgba(255,255,255,.06)); color: var(--sglm-sub-text,#e5e7eb); }
.sglm__sublist .sglm__btn:hover{ background: var(--sglm-sub-item-bg-hover, rgba(255,255,255,.10)); color: var(--sglm-sub-text-hover,#fff); }
.sglm__sublist .sglm__btn.is-active, .sglm__sublist .sglm__btn[aria-current="page"]{ background: var(--sglm-sub-item-bg-active,#16a34a); color: var(--sglm-sub-text-active,#000); }

/* Caret > */


/* Logo */
.sglm__logo img{ width:26px; height:26px; border-radius:9px; display:block; }

/* Mobile */
@media (max-width:768px){
  .sglm{ top:auto; bottom:12px; transform:none; padding:.4rem; border-radius:14px; }
  .sglm--left{ left:12px; } .sglm--right{ right:12px; }
  .sglm__list{ flex-direction:row; gap:.35rem; }
  .sglm__btn{ height:44px; border-radius:12px; }
  .sglm__tooltip{ display:none; }
  .sglm__item--toggle{ display:none !important; } /* no expand on mobile */
  .sglm__sublist{ position:absolute; bottom:48px; top:auto; left:0; right:auto; display:none; flex-direction:row; }
  .sglm__item.open > .sglm__sublist{ display:flex; }
}

/* Never underline */
.sglm__btn, .sglm__btn:hover, .sglm__btn:focus, .sglm__btn:active,
.sglm__btn i, .sglm__btn .sglm__label, .sglm__btn .sglm__caret { text-decoration:none !important; }

/* Caret clickable (for click trigger) */
.sglm__btn .sglm__caret{ margin-left:auto; opacity:.9; font-size:14px; line-height:1; cursor:pointer; pointer-events:auto; }
/* Expand button circular */
.sglm__item--toggle{ display:flex; justify-content:center; }
.sglm__item--toggle .sglm__btn{ width: var(--sglm-exp-size,36px); height: var(--sglm-exp-size,36px); min-width: var(--sglm-exp-size,36px); border-radius: 9999px; padding:0; display:inline-flex; align-items:center; justify-content:center; background: var(--sglm-exp-bg, rgba(255,255,255,.10)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); }
.sglm__item--toggle .sglm__btn .sglm__label{ display:none !important; }
.sglm__item--toggle .sglm__btn i{ font-size: 14px; width:auto; height:auto; }

/* Ensure FA Solid renders even if theme overrides font */
.sglm .fa-solid{ font-family: "Font Awesome 6 Free" !important; font-weight: 900 !important; display:inline-block; }
/* Hide plain-text fallback when FA loaded */
.sglm .fa-solid + .sglm__caret--fallback{ display:none; }

/* Expand icon sizing */
.sglm__item--toggle .sglm__btn .fa-solid{ font-size: 16px; }

/* Hide caret/expand text fallback when FA is available */
.sglm.fa-ok .sglm__caret--fallback,
.sglm.fa-ok .sglm__exp-fallback{ display:none !important; }

/* Logo never active-styled */
.sglm__logo.is-active, .sglm__logo[aria-current="page"]{
  background: var(--sglm-main-bg, rgba(255,255,255,.06)) !important;
  color: var(--sglm-main-text, #e5e7eb) !important;
}

/* Expand fallback glyph */
.sglm__item--toggle .sglm__btn .sglm__exp-fallback{ font-size:16px; line-height:1; }

/* Ocultar menú en móviles */
@media (max-width: 768px){ .sglm { display:none !important; } }


/* Elevar el tooltip del ítem principal por encima del submenú */
.sglm__btn .sglm__tooltip{
  margin-bottom: 6px; /* lo subimos un poco */
  z-index: 99999;     /* por encima del panel de submenú */
}


/* Forzar tooltip del botón principal por encima de todo */
.sglm__btn .sglm__tooltip{
  position: fixed;        /* sale del stacking context del menú */
  margin-bottom: 6px;
  z-index: 2147483647;    /* tope alto para evitar solapamientos */
}


/* Global tooltip portal on body for SG Left Menu */
.sglm-portal-tooltip{
  position: fixed;
  top: 20px; left: 0;
  left: 0; top: 0; visibility: hidden;
  background: rgba(0,0,0,.9);
  color: #fff;
  font-size: 12px;
  line-height: 1;
  padding: .35rem .5rem;
  border-radius: 8px;
  box-shadow: 0 6px 18px rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.06);
  z-index: 2147483647;
  pointer-events: none;
  white-space: nowrap;
  transition: opacity .12s ease;
  opacity: 0;
}
.sglm-portal-tooltip.show{
  opacity: 1; visibility: visible;
}


/* Ocultar tooltip inline de botones principales cuando usamos portal */
.sglm.sglm--portal .sglm__list > .sglm__item > .sglm__btn .sglm__tooltip{
  display: none !important;
}

/* Dynamic submenu spacing and top offset */
.sglm__sublist{ margin-left: var(--sglm-sub-gap, 10px); top: var(--sglm-sub-top, 20px); }
.sglm .sglm__tooltip{ margin-left: var(--sglm-sub-gap, 10px); }

/* Hide tooltips when menu is expanded */
.sglm.sglm--expanded .sglm__list > .sglm__item > .sglm__btn .sglm__tooltip{ display:none !important; }
.sglm.sglm--expanded ~ .sglm-portal-tooltip,
.sglm.sglm--expanded .sglm-portal-tooltip{ display:none !important; }

/* Expand as power button */
.sglm__item--toggle .sglm__btn{ position:relative; }
.sglm__item--toggle .sglm__btn .fa-power-off{ font-size:16px; }
.sglm__item--toggle .sglm__btn::after{
  content:''; position:absolute; inset:-2px; border-radius:9999px; box-shadow:none; transition: box-shadow .18s ease, background-color .18s ease;
}
/* Collapsed (off) */
.sglm:not(.sglm--expanded) .sglm__item--toggle .sglm__btn{ background: rgba(255,255,255,.08); }
.sglm:not(.sglm--expanded) .sglm__item--toggle .sglm__btn .fa-power-off{ opacity:.8; }
/* Expanded (on) glow */
.sglm.sglm--expanded .sglm__item--toggle .sglm__btn{
  background: rgba(34,197,94,.18); /* soft green */
  box-shadow: 0 0 0 1px rgba(34,197,94,.25) inset;
}
.sglm.sglm--expanded .sglm__item--toggle .sglm__btn .fa-power-off{ color:#22c55e; text-shadow: 0 0 8px rgba(34,197,94,.65); }
.sglm.sglm--expanded .sglm__item--toggle .sglm__btn::after{ box-shadow: 0 0 18px 4px rgba(34,197,94,.45); }


/* Hide ONLY submenu tooltips when the menu is expanded */
.sglm.sglm--expanded .sglm__sublist .sglm__tooltip{
  display: none !important;
}


/* --- Robust FA font-family fallbacks (Free v5/v6/v7) --- */
.sglm .fa-solid{
  font-family: "Font Awesome 6 Free","Font Awesome 7 Free","Font Awesome 5 Free",sans-serif !important;
  font-weight: 900 !important;
}
.sglm .fa-regular{
  font-family: "Font Awesome 6 Free","Font Awesome 7 Free","Font Awesome 5 Free",sans-serif !important;
  font-weight: 400 !important;
}
.sglm .fa-brands{
  font-family: "Font Awesome 6 Brands","Font Awesome 7 Brands","Font Awesome 5 Brands",sans-serif !important;
  font-weight: 400 !important;
}

/* Hook opcional para un botón de compartir en el menú (añade clase 'sglm-share' en Apariencia>Menús) */
.sglm .sglm-share > .sglm__btn i{ font-size: 16px; }
.sglm .sglm-share > .sglm__btn{ box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); }


/* ==== Expand "power" button polishing ==== */
.sglm__item--toggle .sglm__btn{
  display:flex; align-items:center; justify-content:center;
  position:relative;
  border-radius:9999px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}
.sglm__item--toggle .sglm__btn i.fa-power-off{ 
  font-size: 18px; line-height:1; 
}
/* halo ring */
.sglm__item--toggle .sglm__btn::before{
  content:''; position:absolute; inset:-2px; border-radius:9999px;
  box-shadow: 0 0 0 0 rgba(34,197,94,0); transition: box-shadow .18s ease, background-color .18s ease;
}
/* collapsed */
.sglm:not(.sglm--expanded) .sglm__item--toggle .sglm__btn{ background: rgba(255,255,255,.08); }
.sglm:not(.sglm--expanded) .sglm__item--toggle .fa-power-off{ color:#e5e7eb; opacity:.85; }
.sglm:not(.sglm--expanded) .sglm__item--toggle .sglm__btn:hover::before{
  box-shadow: 0 0 10px 2px rgba(255,255,255,.12);
}
/* expanded "ON" */
.sglm.sglm--expanded .sglm__item--toggle .sglm__btn{
  background: rgba(34,197,94,.14);
  box-shadow: inset 0 0 0 1px rgba(34,197,94,.28);
}
.sglm.sglm--expanded .sglm__item--toggle .fa-power-off{
  color:#22c55e; text-shadow: 0 0 10px rgba(34,197,94,.6);
}
.sglm.sglm--expanded .sglm__item--toggle .sglm__btn::before{
  box-shadow: 0 0 18px 5px rgba(34,197,94,.45);
}
/* focus visible */
.sglm__item--toggle .sglm__btn:focus-visible{
  outline: 2px solid rgba(34,197,94,.6); outline-offset: 2px;
}

/* Variables-driven glow for power button */
:root .sglm{
  --sglm-power-color: #22c55e;
  --sglm-power-str: 45; /* default strength out of 100 */
}
/* collapsed hover halo subtle */
.sglm:not(.sglm--expanded) .sglm__item--toggle .sglm__btn:hover::before{
  box-shadow: 0 0 calc(var(--sglm-power-str,45) * 0.15px) 1px rgba(255,255,255,.10);
}
/* expanded */
.sglm.sglm--expanded .sglm__item--toggle .sglm__btn{
  background: color-mix(in srgb, var(--sglm-power-color) 20%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sglm-power-color) 28%, transparent);
}
.sglm.sglm--expanded .sglm__item--toggle .fa-power-off{
  color: var(--sglm-power-color);
  text-shadow: 0 0 calc(var(--sglm-power-str,45) * 0.18px) color-mix(in srgb, var(--sglm-power-color) 60%, transparent);
}
.sglm.sglm--expanded .sglm__item--toggle .sglm__btn::before{
  box-shadow: 0 0 calc(var(--sglm-power-str,45) * 0.35px) calc(var(--sglm-power-str,45) * 0.12px) color-mix(in srgb, var(--sglm-power-color) 45%, transparent);
}

/* Portal tooltip variables + nub */
.sglm-portal-tooltip{
  position: fixed;
  top: 0; left: 0;
  visibility: hidden;
  background: var(--sglm-tip-bg, rgba(0,0,0,.92));
  color: var(--sglm-tip-text, #fff);
  font-size: 12px;
  line-height: 1.25;
  padding: .40rem .56rem;
  border-radius: 8px;
  box-shadow: 0 6px 18px var(--sglm-tip-shadow, rgba(0,0,0,.35));
  border: 1px solid var(--sglm-tip-border, rgba(255,255,255,.06));
  z-index: 2147483647;
  pointer-events: none;
  white-space: nowrap;
  transition: opacity .12s ease;
  opacity: 0;
  max-width: var(--sglm-tip-maxw, 240px);
}
.sglm-portal-tooltip.show{ opacity:1; visibility: visible; }
.sglm-portal-tooltip.sglm-tip--with-nub::after{
  content:''; position:absolute; width:8px; height:8px; left:-4px; top:50%; transform:translateY(-50%) rotate(45deg);
  background: inherit; border-left: inherit; border-top: inherit; box-shadow: -2px 2px 8px var(--sglm-tip-shadow, rgba(0,0,0,.35));
}

/* Smoother fade timings */
.sglm-portal-tooltip{ transition: opacity .16s ease-out, visibility 0s linear .16s; }
.sglm-portal-tooltip.show{ transition: opacity .12s ease-in; }

/* Nub orientations */
.sglm-portal-tooltip.sglm-tip--nub-left::after{
  content:''; position:absolute; width:8px; height:8px; left:-4px; top:50%; transform:translateY(-50%) rotate(45deg);
  background: inherit; border-left: inherit; border-top: inherit; box-shadow: -2px 2px 8px var(--sglm-tip-shadow, rgba(0,0,0,.35));
}
.sglm-portal-tooltip.sglm-tip--nub-right::after{
  content:''; position:absolute; width:8px; height:8px; right:-4px; top:50%; transform:translateY(-50%) rotate(45deg);
  background: inherit; border-right: inherit; border-bottom: inherit; box-shadow: 2px -2px 8px var(--sglm-tip-shadow, rgba(0,0,0,.35));
}
.sglm-portal-tooltip.sglm-tip--nub-top::after{
  content:''; position:absolute; width:8px; height:8px; left:12px; top:-4px; transform:rotate(45deg);
  background: inherit; border-left: inherit; border-top: inherit; box-shadow: -2px 2px 8px var(--sglm-tip-shadow, rgba(0,0,0,.35));
}
.sglm-portal-tooltip.sglm-tip--nub-bottom::after{
  content:''; position:absolute; width:8px; height:8px; left:12px; bottom:-4px; transform:rotate(45deg);
  background: inherit; border-right: inherit; border-bottom: inherit; box-shadow: 2px -2px 8px var(--sglm-tip-shadow, rgba(0,0,0,.35));
}

/* Ensure logo label bold + uppercase regardless of theme */
.sglm .sglm__logo .sglm__label{ font-weight:700; text-transform:uppercase; }

/* ===== Tooltip palette mapping by class (ensures visible change per mode) ===== */
.sglm.sglm--tip-neutral{ --sglm-tip-bg: rgba(17,17,17,.96); --sglm-tip-text: #fff; --sglm-tip-border: rgba(255,255,255,.08); --sglm-tip-shadow: rgba(0,0,0,.35); }
.sglm.sglm--tip-panel{ --sglm-tip-bg: var(--sglm-sub-bg, #0b0f12); --sglm-tip-text: var(--sglm-sub-text, #e5e7eb); --sglm-tip-border: rgba(255,255,255,.06); --sglm-tip-shadow: rgba(0,0,0,.35); }
.sglm.sglm--tip-vibrant{ --sglm-tip-bg: color-mix(in srgb, var(--sglm-power-color, #22c55e) 24%, transparent); --sglm-tip-text: #fff; --sglm-tip-border: color-mix(in srgb, var(--sglm-power-color, #22c55e) 35%, transparent); --sglm-tip-shadow: color-mix(in srgb, var(--sglm-power-color, #22c55e) 25%, transparent); }


/* === SG Left Menu Admin: left-aligned, light grid spacing === */
.sglm-admin .sglm-row{ display:grid; grid-template-columns: 260px 1fr; gap: 8px 14px; align-items:center; margin: 10px 0; }
.sglm-admin .sglm-row > label{ text-align:left; font-weight:600; }
.sglm-admin .sglm-row input[type="text"],
.sglm-admin .sglm-row input[type="number"],
.sglm-admin .sglm-row select{ max-width: 360px; }
.sglm-admin h2{ margin-top: 22px; margin-bottom: 8px; }
