/* =====================================================
   BASE COMPARTIDA
   Reset mínimo, enlaces, ícono de tema y comportamiento del navbar
   al hacer scroll (data-scrolled). Reglas presentes en las 8 páginas
   del sitio, centralizadas aquí para evitar duplicación.
===================================================== */

html {
          scroll-behavior: smooth;
        }

html,
        body {
          margin: 0;
          padding: 0;
          background: var(--bg);
        }

a {
          color: var(--accent);
          text-decoration: none;
        }

a:hover {
          color: var(--accent-deep);
        }

summary {
          list-style: none;
        }

summary::-webkit-details-marker {
          display: none;
        }

body::after {
          content: "";
          position: fixed;
          inset: 0;
          z-index: -1;
          pointer-events: none;
          background-image:
            linear-gradient(var(--grid-line) 1px, transparent 1px),
            linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
          background-size: 58px 58px, 58px 58px;
          -webkit-mask-image: radial-gradient(ellipse 92% 55% at 50% -2%, #000 26%, transparent 74%);
          mask-image: radial-gradient(ellipse 92% 55% at 50% -2%, #000 26%, transparent 74%);
        }

[data-theme-toggle]:hover {
          border-color: var(--border-hover);
          background: rgba(var(--accent-rgb), 0.09);
          color: var(--accent);
        }

[data-theme-toggle]:active {
          transform: scale(0.94);
        }

[data-theme-toggle] .jd-ico {
          position: absolute;
          display: inline-flex;
          transition: opacity .3s ease, transform .4s cubic-bezier(0.22, 0.61, 0.36, 1);
        }

[data-theme-toggle] .jd-sun {
          opacity: 0;
          transform: rotate(-90deg) scale(0.5);
        }

[data-theme-toggle] .jd-moon {
          opacity: 1;
          transform: rotate(0) scale(1);
        }

:root[data-theme="dark"] [data-theme-toggle] .jd-sun {
          opacity: 1;
          transform: rotate(0) scale(1);
        }

:root[data-theme="dark"] [data-theme-toggle] .jd-moon {
          opacity: 0;
          transform: rotate(90deg) scale(0.5);
        }

:root[data-theme="dark"] .jd-logo-light {
          display: none !important;
        }

:root[data-theme="dark"] .jd-logo-dark {
          display: block !important;
        }

:root[data-theme="dark"] .jd-hero-img-light,
:root[data-theme="dark"] .svc-hero-img-light {
          display: none !important;
        }

:root[data-theme="dark"] .jd-hero-img-dark,
:root[data-theme="dark"] .svc-hero-img-dark {
          display: block !important;
        }

/* ============ NAVBAR STICKY FIX + GLASS ============ */
        #dc-root, #dc-root > div {
          height: auto !important;
          min-height: 100vh;
        }

header[data-screen-label="Navbar"] {
          transition: box-shadow 0.3s ease, background 0.3s ease, border-color 0.3s ease;
        }

header[data-screen-label="Navbar"][data-scrolled] {
          box-shadow: 0 10px 30px -14px rgba(var(--shadow-rgb),0.30);
          border-bottom-color: rgba(var(--shadow-rgb),0.14);
        }

@media (prefers-reduced-motion: reduce) {
          * {
            animation: none !important;
            transition: none !important;
          }
        }

.jd-logo-dark { display: none !important; }
