/* ==========================================================================
   WordPress-specific overrides.
   The design system lives in styles.css — this file only reconciles WordPress's
   own markup (menus, editor output, alignments) with it.
   ========================================================================== */

/* --- Menus ---------------------------------------------------------------- */
.footer__col ul,
.footer__legal ul { list-style: none; margin: 0; padding: 0; }
.footer__legal ul { display: flex; flex-wrap: wrap; gap: 1.25rem; }
.footer__legal li { margin: 0; }

/* wp_nav_menu output inside the header */
.nav__links li.menu-item { margin: 0; }
.nav__links li.menu-item-has-children > a::after {
  content: "";
  display: inline-block;
  width: 14px; height: 14px;
  margin-left: .25rem;
  vertical-align: -2px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.3 7.3a1 1 0 011.4 0L10 10.6l3.3-3.3a1 1 0 111.4 1.4l-4 4a1 1 0 01-1.4 0l-4-4a1 1 0 010-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.3 7.3a1 1 0 011.4 0L10 10.6l3.3-3.3a1 1 0 111.4 1.4l-4 4a1 1 0 01-1.4 0l-4-4a1 1 0 010-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Sub-menus reuse the mega-menu panel styling */
.nav__links .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 1260px) {
  .nav__links li.menu-item-has-children { position: relative; }
  .nav__links .sub-menu {
    position: absolute;
    top: calc(100% + 10px);
    left: -12px;
    min-width: 260px;
    padding: 8px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-xl);
    display: none;
    z-index: 40;
  }
  .nav__links li.menu-item-has-children:hover > .sub-menu,
  .nav__links li.menu-item-has-children:focus-within > .sub-menu { display: block; }
  .nav__links .sub-menu a { padding: .6rem .8rem; border-radius: var(--r-md); }
  .nav__links .sub-menu a::after { display: none; }
}
@media (max-width: 1259px) {
  .nav__links .sub-menu { padding-left: .9rem; }
}

/* --- Editor content (privacy, terms, blog posts) --------------------------- */
.entry-content > * { max-width: 74ch; }
.entry-content > .alignwide { max-width: 1100px; }
.entry-content > .alignfull { max-width: none; }
.entry-content img { border-radius: var(--r-md); }
.entry-content h2 {
  font-size: 1.5rem;
  margin-top: 2.75rem;
  padding-top: 1.75rem;
  border-top: 1px solid var(--border);
}
.entry-content h2:first-of-type { margin-top: 1.5rem; }
.entry-content h3 { font-size: 1.13rem; margin-top: 1.75rem; }
.entry-content ul, .entry-content ol { color: var(--text-muted); }
.entry-content table { width: 100%; border-collapse: collapse; font-size: .94rem; margin: 1.25rem 0; }
.entry-content th, .entry-content td { padding: .7rem .85rem; border: 1px solid var(--border); text-align: left; vertical-align: top; }
.entry-content th { background: var(--slate-50); font-weight: 650; }
@media (max-width: 560px) {
  .entry-content table { display: block; overflow-x: auto; }
}

.wp-block-image figcaption { font-size: .88rem; color: var(--text-faint); }
.wp-block-quote { border-left: 4px solid var(--indigo-500); padding-left: 1.25rem; margin-left: 0; }

/* --- Screen reader text (WordPress convention) ---------------------------- */
.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* --- Admin bar offset ----------------------------------------------------- */
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
