/**
 * DVDocs Angular Glass 2.6 — Shadow-free translucent surfaces + dropdown styles.
 * Loaded after angular-glass.css. Does not change the Linear Archive skin.
 * Accent lines and crisp borders replace all glow/offset/blur drop-shadows.
 */
body.dv-style-angular {
  --dv-shadow: none;
  --dv-shadow-lg: none;
  --ag-inset: none;
  --ag-shadow: none;
  --ag-glow: transparent;
  --ag-glass: linear-gradient(120deg, rgba(250,254,255,.69),rgba(222,237,253,.50) 55%,rgba(213,200,244,.53));
  --ag-panel-head: linear-gradient(115deg, rgba(252,254,255,.72),rgba(217,234,250,.55) 66%,rgba(229,214,249,.56));
  --ag-menu: rgba(235,245,255,.87);
  --ag-menu-text: #172b49;
  --ag-menu-muted: #526983;
  --ag-menu-accent: var(--dv-accent);
  --ag-menu-hover: rgba(81,158,220,.14);
  --dv-surface: rgba(236,246,255,.56);
  --dv-surface-soft: rgba(229,240,253,.62);
  --ag-panel-blur: 13px;
}
html[data-dvdocs-theme="dark"] body.dv-style-angular {
  --ag-glass: linear-gradient(125deg,rgba(100,147,188,.25) 0%,rgba(38,60,86,.44) 55%,rgba(91,61,127,.35) 100%);
  --ag-panel-head: linear-gradient(120deg,rgba(67,109,149,.39),rgba(31,48,73,.49) 65%,rgba(87,60,120,.4));
  --ag-menu: rgba(20,31,48,.87);
  --ag-menu-text: #ebf6ff;
  --ag-menu-muted: #afc2d8;
  --ag-menu-accent: var(--dv-accent);
  --ag-menu-hover: rgba(96,214,247,.12);
  --dv-surface: rgba(39,57,82,.48);
  --dv-surface-soft: rgba(52,73,104,.56);
  --ag-panel-blur: 13px;
}
/* Transparency presets. Balanced is the default. */
body.dv-style-angular.dv-glass-subtle { --ag-panel-blur: 16px; }
body.dv-style-angular.dv-glass-subtle {
  --ag-glass: linear-gradient(125deg,rgba(250,254,255,.83),rgba(223,239,254,.74),rgba(230,216,249,.77));
  --ag-panel-head: linear-gradient(115deg,rgba(250,254,255,.90),rgba(217,234,250,.77),rgba(229,214,249,.80));
}
html[data-dvdocs-theme="dark"] body.dv-style-angular.dv-glass-subtle {
  --ag-glass: linear-gradient(125deg,rgba(67,91,120,.83),rgba(30,44,68,.86),rgba(78,57,106,.79));
  --ag-panel-head: linear-gradient(125deg,rgba(68,99,131,.82),rgba(28,43,64,.86),rgba(77,53,105,.79));
}
body.dv-style-angular.dv-glass-airy { --ag-panel-blur: 9px; }
body.dv-style-angular.dv-glass-airy {
  --ag-glass: linear-gradient(125deg,rgba(250,254,255,.48),rgba(221,238,252,.29),rgba(227,204,248,.33));
  --ag-panel-head: linear-gradient(125deg,rgba(250,254,255,.54),rgba(217,234,250,.36),rgba(229,214,249,.39));
}
html[data-dvdocs-theme="dark"] body.dv-style-angular.dv-glass-airy {
  --ag-glass: linear-gradient(125deg,rgba(100,147,188,.15),rgba(37,60,85,.26),rgba(91,61,127,.21));
  --ag-panel-head: linear-gradient(125deg,rgba(67,109,149,.24),rgba(31,48,73,.30),rgba(87,60,120,.26));
}

/* No drop shadows anywhere in Angular Glass, including nested editor blocks,
   SVG/filter shadows, buttons and menu panel overlays. Focus OUTLINES remain. */
body.dv-style-angular,
body.dv-style-angular *,
body.dv-style-angular *::before,
body.dv-style-angular *::after {
  box-shadow: none !important;
  text-shadow: none !important;
}
body.dv-style-angular :is(.dv-ag-hero__glyph,.dv-brand__mark,.dv-site-branding) {filter: none !important;}

/* Modest surface transparency for posts, sidebars and Gutenberg patterns. */
body.dv-style-angular :is(
  .dv-basic-entry,.dv-doc,.dv-result-card,.dv-listing-head,.dv-error-panel,.dv-comments,
  .dv-component-section,.dv-codex-card,.dv-character__section,.dv-character__facts,
  .dv-character__portrait-frame,.dv-character__related,.dv-toc__panel,
  .dv-sidebar__inner,.dv-ag-hero__art,.dv-block-feature,.dv-block-portrait,
  .wp-block-group.is-style-dv-glass-panel
) {
  background: var(--ag-glass);
  border: 1px solid var(--ag-line);
  backdrop-filter: blur(var(--ag-panel-blur));
  -webkit-backdrop-filter: blur(var(--ag-panel-blur));
}
body.dv-style-angular :is(.dv-listing-head) {background: var(--ag-panel-head);}
body.dv-style-angular :is(.dv-site-header,.dv-site-footer) {
  background: color-mix(in srgb, var(--dv-bg) 63%,transparent);
}
body.dv-style-angular :is(.dv-primary-bar,.dv-secondary-bar,.dv-breadcrumb-bar,.dv-wire-strip) {
  background: color-mix(in srgb,var(--dv-surface) 62%,transparent);
}
body.dv-style-angular :is(.dv-block-feature,.dv-block-portrait) {padding: 1.3rem;}
body.dv-style-angular :is(.dv-result-card,.dv-codex-card):hover {
  transform: none; border-color: var(--dv-accent);
}
body.dv-style-angular :is(.dv-ag-button,.wp-block-button__link,.wp-element-button,.dv-hex-button,button[type="submit"]):hover {
  transform: none;
}
body.dv-style-angular .dv-ag-hero__copy h1 {text-shadow: none;}
body.dv-style-angular :is(input:not([type="checkbox"]):not([type="radio"]), textarea,select) {
  background: var(--ag-glass);
}
body.dv-style-angular .dv-site-header {backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);}
body.dv-style-angular .dv-brand__mark--angular,
body.dv-style-angular .dv-brand__mark--angular i {border-radius:0;}
/* A bright edge, rather than a glow, signals interaction. */
body.dv-style-angular :is(a,button,input,select,textarea):focus-visible {outline:2px solid var(--dv-accent);outline-offset:3px;}
body.dv-style-angular .nav-menu > li > a:hover {border-bottom-color:var(--dv-accent);}

/* Shared accessible dropdown structure — parent link remains a real link;
   separate arrow button opens/closes its children. */
body.dv-style-angular .dv-primary-nav .nav-menu li.menu-item-has-children {position:relative;}
body.dv-style-angular .dv-primary-nav .nav-menu li.menu-item-has-children > a {padding-right:2.75rem;}
body.dv-style-angular .dv-primary-nav .dv-submenu-toggle {
  appearance:none; position:absolute; right:.3rem; top:.47rem; z-index:4;
  display:flex; align-items:center; justify-content:center;
  padding:0; width:32px; height:32px; min-height:0;
  border:1px solid transparent; border-radius:0;
  background:transparent; color:var(--dv-accent);
  cursor:pointer; font-size:14px; line-height:1;
}
body.dv-style-angular .dv-primary-nav .dv-submenu-toggle:hover,
body.dv-style-angular .dv-primary-nav .dv-submenu-toggle:focus-visible {border-color:var(--ag-line);background:var(--ag-menu-hover);}
body.dv-style-angular .dv-primary-nav .dv-submenu-toggle span {
  width:7px; height:7px; display:block;
  border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg); transition:transform .16s ease;
}
body.dv-style-angular .dv-primary-nav .dv-submenu-toggle[aria-expanded="true"] span {transform:translateY(2px) rotate(225deg);}

/* Desktop: layered menu, keyboard-focus/hover and explicit button control. */
@media (min-width:901px) {
  body.dv-style-angular .dv-primary-nav .nav-menu .sub-menu {
    display:none !important; position:absolute; left:0; top:100%;
    z-index:90; padding:.4rem; min-width:245px; width:max-content; max-width:min(440px,92vw);
    margin:0; border:1px solid var(--ag-line); border-radius:0;
    color:var(--ag-menu-text); background:var(--ag-menu);
    backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
    list-style:none;
  }
  body.dv-style-angular .dv-primary-nav .nav-menu li:is(:hover,:focus-within,.dv-submenu-open) > .sub-menu {display:block !important;}
  body.dv-style-angular .dv-primary-nav .nav-menu .sub-menu .sub-menu {
    left:calc(100% - 1px); top:-1px;
  }
  body.dv-style-angular .dv-primary-nav .nav-menu .sub-menu li {border:0;}
  body.dv-style-angular .dv-primary-nav .nav-menu .sub-menu li + li {border-top:1px solid var(--ag-line);}
  body.dv-style-angular .dv-primary-nav .nav-menu .sub-menu a {
    display:block; padding:.78rem 2rem .78rem .85rem;
    font-size:.72rem; font-weight:720; letter-spacing:.05em;
    color:var(--ag-menu-text); background:transparent;
    text-decoration:none;
  }
  body.dv-style-angular .dv-primary-nav .nav-menu .sub-menu a:is(:hover,:focus-visible) {
    color:var(--ag-menu-text); background:var(--ag-menu-hover);
  }
  body.dv-style-angular .dv-primary-nav .nav-menu .sub-menu .dv-submenu-toggle {top:.44rem; color:var(--ag-menu-accent);}
  body.dv-style-angular .dv-primary-nav .nav-menu .sub-menu .dv-submenu-toggle span {transform:translateX(-2px) rotate(-45deg);}
  body.dv-style-angular .dv-primary-nav .nav-menu .sub-menu .dv-submenu-toggle[aria-expanded="true"] span {transform:translateX(2px) rotate(135deg);}
  body.dv-style-angular .dv-primary-nav .nav-menu > li:last-child > .sub-menu,
  body.dv-style-angular .dv-primary-nav .nav-menu > li:nth-last-child(2) > .sub-menu {left:auto;right:0;}

  /* 01: Frosted Panel. Subtle per-row blue-to-violet wash. */
  body.dv-style-angular.dv-dropdown-glass .nav-menu > li > .sub-menu {
    border-top:2px solid var(--dv-accent);
    background:linear-gradient(130deg, color-mix(in srgb,var(--ag-menu) 92%,#7ad3ff 8%),var(--ag-menu) 65%,color-mix(in srgb,var(--ag-menu) 92%,#a983f4 8%));
  }
  body.dv-style-angular.dv-dropdown-glass .nav-menu .sub-menu a:is(:hover,:focus-visible) {
    background:linear-gradient(90deg,var(--ag-menu-hover),rgba(155,105,243,.11));
  }

  /* 02: Minimal Lines — almost invisible container, spacious links. */
  body.dv-style-angular.dv-dropdown-lines .nav-menu > li > .sub-menu {
    padding:.5rem .85rem; background:var(--ag-menu); border:1px solid var(--ag-line); border-top:0;
  }
  body.dv-style-angular.dv-dropdown-lines .nav-menu .sub-menu li + li {border-top:1px solid color-mix(in srgb,var(--ag-line) 52%,transparent);}
  body.dv-style-angular.dv-dropdown-lines .nav-menu .sub-menu a {
    padding:.95rem .45rem; font-weight:500; font-size:.78rem; letter-spacing:.015em;
  }
  body.dv-style-angular.dv-dropdown-lines .nav-menu .sub-menu a:is(:hover,:focus-visible) {
    color:var(--ag-menu-accent); background:transparent;
    text-decoration:underline; text-underline-offset:5px;
  }

  /* 03: Signal Rail — persistent colored left line + side selection marker. */
  body.dv-style-angular.dv-dropdown-rail .nav-menu > li > .sub-menu {
    border-left:3px solid var(--ag-violet); border-top:1px solid var(--ag-line); padding:.4rem .55rem;
  }
  body.dv-style-angular.dv-dropdown-rail .nav-menu .sub-menu a {
    position:relative; padding-left:1.5rem;
  }
  body.dv-style-angular.dv-dropdown-rail .nav-menu .sub-menu a::before {
    content:""; position:absolute; width:4px; height:4px; left:.56rem; top:calc(50% - 2px);
    background:var(--ag-violet);
  }
  body.dv-style-angular.dv-dropdown-rail .nav-menu .sub-menu a:is(:hover,:focus-visible) {
    border-left:2px solid var(--dv-accent);padding-left:calc(1.5rem - 2px);
  }

  /* 04: Tile Grid — square two-column menu blocks. */
  body.dv-style-angular.dv-dropdown-tiles .nav-menu > li > .sub-menu {
    display:none !important;
    grid-template-columns:repeat(2,minmax(125px,1fr)); width:350px;
    max-width:min(350px,92vw); gap:6px; padding:10px;
    border:1px solid var(--ag-violet);
  }
  body.dv-style-angular.dv-dropdown-tiles .nav-menu > li:is(:hover,:focus-within,.dv-submenu-open) > .sub-menu {display:grid !important;}
  body.dv-style-angular.dv-dropdown-tiles .nav-menu > li > .sub-menu > li {
    min-width:0; border:1px solid var(--ag-line) !important;
    background:var(--ag-menu-hover);
  }
  body.dv-style-angular.dv-dropdown-tiles .nav-menu > li > .sub-menu > li > a {
    padding:1rem 2rem 1rem .75rem; height:100%; display:flex; align-items:center;
    overflow-wrap:anywhere;
  }
  body.dv-style-angular.dv-dropdown-tiles .nav-menu > li > .sub-menu > li:is(:hover,:focus-within) {
    border-color:var(--dv-accent) !important;
  }
}
/* Mobile/tablet: common accordion behavior for all 4 variants. */
@media(max-width:900px) {
  body.dv-style-angular .dv-primary-nav .nav-menu li.menu-item-has-children > a {padding-right:3.6rem;}
  body.dv-style-angular .dv-primary-nav .nav-menu .sub-menu,
  body.dv-style-angular .dv-primary-nav .nav-menu li:hover > .sub-menu,
  body.dv-style-angular .dv-primary-nav .nav-menu li:focus-within > .sub-menu {
    display:none !important; position:static; width:auto; min-width:0; max-width:none;
    margin:0 0 .5rem .75rem; padding:0 0 0 .65rem;
    background:transparent; border:0; border-left:1px solid var(--ag-line);
    backdrop-filter:none;-webkit-backdrop-filter:none;
  }
  body.dv-style-angular .dv-primary-nav .nav-menu li.dv-submenu-open > .sub-menu {display:block !important;}
  body.dv-style-angular .dv-primary-nav .nav-menu .sub-menu li {position:relative;}
  body.dv-style-angular .dv-primary-nav .nav-menu .sub-menu a {
    display:block; padding:.82rem 3.3rem .82rem .75rem;
    border-bottom:1px solid var(--ag-line); color:var(--dv-heading);
  }
  body.dv-style-angular .dv-primary-nav .dv-submenu-toggle {top:.2rem; right:.5rem; min-width:42px; width:42px; height:42px;}
  body.dv-style-angular .dv-primary-nav .nav-menu > li > a {padding-right:3.7rem;}
}
@media(prefers-reduced-motion:reduce){
  body.dv-style-angular .dv-primary-nav .dv-submenu-toggle span {transition:none;}
}
@media print {
  body.dv-style-angular :is(.dv-basic-entry,.dv-doc,.dv-result-card,.dv-block-feature) {
    background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;
  }
}

/* Escape key dismisses an open desktop dropdown even while the arrow retains focus. */
body.dv-style-angular #navbar .dv-primary-nav .nav-menu li.dv-submenu-dismissed > .sub-menu { display:none !important; }
