/* Extra typography & editor parity */
.content p,.content li{font-size:1.05rem}
.content h2{font-size:1.8rem}
.content h3{font-size:1.35rem}
.content img{display:block; margin: 1rem auto}
code,pre{background:#111; padding:.2rem .4rem; border-radius:8px}
pre{padding:1rem; overflow:auto}
table{width:100%; border-collapse:collapse}
td,th{border:1px solid #222; padding:.6rem}
blockquote p{margin:0}
.aligncenter{margin-left:auto;margin-right:auto;text-align:center}
.alignleft{float:left; margin: .4rem 1rem .4rem 0}
.alignright{float:right; margin: .4rem 0 .4rem 1rem}
@media (max-width:760px){ .alignleft,.alignright{float:none; margin:1rem auto; display:block} }
/* Light theme-friendly borders */
[data-theme="light"] .card{background:#fff;border-color:#e8e8e8}
[data-theme="light"] .site-footer{color:#555}
.site-header .toggle{background:transparent;border:1px solid #2a2a2a;border-radius:999px;padding:.35rem .6rem;color:var(--text);cursor:pointer}
[data-theme="light"] .site-header .toggle{border-color:#e0e0e0}


/* --- Navigation dropdowns --- */
.primary-nav .menu{list-style:none;margin:0;padding:0;display:flex;gap:16px;align-items:center}
.primary-nav .menu > li{position:relative}
.primary-nav .menu a{display:inline-block;padding:.35rem .4rem;text-decoration:none}
.primary-nav .menu .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:200px;background:var(--bg-alt);border:1px solid #1c1c1c;border-radius:12px;padding:.35rem;margin-top:.35rem;z-index:999}
[data-theme="light"] .primary-nav .menu .sub-menu{border-color:#e6e6e6;background:#fff}
.primary-nav .menu .sub-menu li{margin:0}
.primary-nav .menu li:hover > .sub-menu{display:block}

/* Mobile disclosure buttons */
.primary-nav .submenu-toggle{display:none;border:1px solid #2a2a2a;border-radius:10px;background:transparent;padding:.2rem .4rem;margin-left:.25rem;cursor:pointer}
[data-theme="light"] .primary-nav .submenu-toggle{border-color:#e0e0e0}

@media (max-width:900px){
  .primary-nav .menu{flex-direction:column;align-items:flex-start}
  .primary-nav .menu > li{width:100%}
  .primary-nav .menu .sub-menu{position:static;display:none;border:none;background:transparent;padding:0;margin:.25rem 0 0 1rem}
  .primary-nav .menu li.open > .sub-menu{display:block}
  .primary-nav .submenu-toggle{display:inline-block}
}

/* Footer nav */
.footer-nav .menu{list-style:none;margin:0;padding:0;display:flex;gap:12px;flex-wrap:wrap}
.footer-nav a{text-decoration:none;color:var(--muted)}
[data-theme="light"] .footer-nav a{color:#555}

/* Extra: ensure visible contrast in light mode */
[data-theme="light"] .site-header{background: color-mix(in oklab, white 80%, #f8f8f8 20%); border-bottom-color:#eaeaea}
[data-theme="light"] .card{background:#fff;border-color:#ededed}


/* --- Burger / mobile nav --- */
.hamburger{display:none; background:transparent; border:1px solid #2a2a2a; border-radius:12px; padding:.45rem; cursor:pointer}
.hamburger .bar{display:block; width:22px; height:2px; background:var(--text); margin:4px 0; transition:transform .2s ease, opacity .2s ease}
[data-theme="light"] .hamburger{border-color:#e0e0e0}
@media (max-width:900px){
  .hamburger{display:inline-block; margin-left:auto}
  .primary-nav{display:none; position:absolute; left:0; right:0; top:100%; background:var(--bg); border-bottom:1px solid #1e1e1e; padding:.5rem var(--pad);}
  [data-theme="light"] .primary-nav{border-bottom-color:#eaeaea; background:#fff}
  body.menu-open .primary-nav{display:block}
  /* animate hamburger to X */
  body.menu-open .hamburger .bar:nth-child(1){transform:translateY(6px) rotate(45deg)}
  body.menu-open .hamburger .bar:nth-child(2){opacity:0}
  body.menu-open .hamburger .bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  /* stack items vertically */
  .primary-nav .menu{flex-direction:column; align-items:flex-start}
}


/* --- Off-canvas slide-over menu --- */
.offcanvas{position:fixed; top:0; right:0; bottom:0; width:min(360px, 90vw); transform:translateX(100%); transition:transform .25s ease; background:var(--bg); border-left:1px solid #1e1e1e; padding:72px var(--pad) var(--pad); z-index:9999}
[data-theme="light"] .offcanvas{background:#fff; border-left-color:#eaeaea}
body.menu-open .offcanvas{transform:translateX(0)}
.backdrop{position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:9998; opacity:0; transition:opacity .2s ease}
body.menu-open .backdrop{opacity:1}
body.menu-open .backdrop[hidden]{display:block} /* ensure visible even if hidden attr left by HTML */
body.menu-open{overflow:hidden}

/* Primary nav list inside panel */
.offcanvas .primary-nav{display:block; position:static; border:none; padding:0; background:transparent}
.offcanvas .primary-nav .menu{flex-direction:column; gap:6px}
.offcanvas .primary-nav .sub-menu{position:static; display:none; border:none; background:transparent; padding:0; margin:.25rem 0 0 1rem}
.offcanvas .primary-nav li.open > .sub-menu{display:block}

/* Keep desktop layout behavior */
@media (min-width:901px){
  .offcanvas{display:none}
  .backdrop{display:none}
}

/* Footer widgets */
.footer-widgets{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin:1rem 0 2rem}
.footer-widgets .widget{background:#0f0f0f; border:1px solid #1c1c1c; border-radius:var(--radius); padding:1rem}
[data-theme="light"] .footer-widgets .widget{background:#fff; border-color:#ededed}
.footer-widgets .widget-title{margin-top:0; margin-bottom:.5rem; font-size:1rem; color:var(--muted)}


/* --- Footer 3-column layout --- */
.footer-widgets.three-col{display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; margin:1rem 0 2rem}
@media (max-width: 1024px){
  .footer-widgets.three-col{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width: 640px){
  .footer-widgets.three-col{grid-template-columns:1fr}
}
.footer-widgets .footer-col .widget{background:#0f0f0f; border:1px solid #1c1c1c; border-radius:var(--radius); padding:1rem}
[data-theme="light"] .footer-widgets .footer-col .widget{background:#fff; border-color:#ededed}
.footer-widgets .widget-title{margin-top:0; margin-bottom:.5rem; font-size:1rem; color:var(--muted)}
