
/* Always honor the HTML hidden state, even if another theme rule uses !important. */
.adya-privacy-suite [hidden],
.adya-consent-banner[hidden],
.adya-consent-backdrop[hidden],
.adya-consent-dialog[hidden],
.adya-consent-floating-button[hidden] {
  display: none !important;
}

/* ==================================================
   Ad屋 Privacy & Cookie Suite
   Cookie consent UI + branded legal documents
================================================== */

:root {
  --adya-privacy-ink: #071522;
  --adya-privacy-deep: #04111c;
  --adya-privacy-panel: #071a29;
  --adya-privacy-paper: #fffdf8;
  --adya-privacy-ivory: #faf6ef;
  --adya-privacy-teal: #00afb8;
  --adya-privacy-teal-bright: #00c7ce;
  --adya-privacy-pink: #f7196d;
  --adya-privacy-lime: #b7f865;
  --adya-privacy-muted: #8fa0ac;
  --adya-privacy-line: rgba(255, 255, 255, .10);
  --adya-privacy-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --adya-privacy-serif: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
}

/* ==================================================
   FOOTER LEGAL LINKS
================================================== */

.adya-privacy-footer-links {
  position: relative;
  z-index: 20;
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 24px;
  padding: 10px 24px;
  border-top: 1px solid rgba(255,255,255,.08);
  background: #030d15;
  color: #81919e;
  font-family: var(--adya-privacy-mono);
  font-size: 9px;
  letter-spacing: .065em;
  box-sizing: border-box;
}

.adya-privacy-footer-links a,
.adya-privacy-footer-links button {
  padding: 5px 0;
  border: 0;
  background: none;
  color: #95a5b0;
  font: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: color .2s ease;
}

.adya-privacy-footer-links a:hover,
.adya-privacy-footer-links a:focus-visible,
.adya-privacy-footer-links button:hover,
.adya-privacy-footer-links button:focus-visible {
  color: var(--adya-privacy-teal-bright);
  outline: 0;
}

.adya-privacy-footer-links button::before {
  margin-right: 7px;
  color: var(--adya-privacy-pink);
  content: "[";
}

.adya-privacy-footer-links button::after {
  margin-left: 7px;
  color: var(--adya-privacy-pink);
  content: "]";
}

/* ==================================================
   CONSENT BANNER
================================================== */

.adya-privacy-suite,
.adya-privacy-suite * {
  box-sizing: border-box;
}

.adya-consent-banner {
  position: fixed;
  z-index: 2147483000;
  right: 24px;
  bottom: 24px;
  left: 24px;
  width: min(calc(100% - 48px), 1180px);
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(0,199,206,.52);
  background:
    radial-gradient(circle at 84% 16%, rgba(247,25,109,.10), transparent 30%),
    linear-gradient(rgba(255,255,255,.023) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.023) 1px, transparent 1px),
    rgba(4,17,28,.975);
  background-size: auto, 32px 32px, 32px 32px, auto;
  color: #fff;
  box-shadow:
    14px 15px 0 rgba(0,175,184,.11),
    -10px -10px 0 rgba(247,25,109,.055),
    0 30px 90px rgba(0,0,0,.42);
}

.adya-consent-banner::before,
.adya-consent-banner::after,
.adya-consent-dialog::before,
.adya-consent-dialog::after {
  position: absolute;
  z-index: 8;
  height: 2px;
  content: "";
  pointer-events: none;
}

.adya-consent-banner::before,
.adya-consent-dialog::before {
  top: -1px;
  left: -1px;
  width: 86px;
  background: var(--adya-privacy-pink);
}

.adya-consent-banner::after,
.adya-consent-dialog::after {
  right: -1px;
  bottom: -1px;
  width: 82px;
  background: var(--adya-privacy-teal-bright);
}

.adya-consent-console-bar {
  position: relative;
  z-index: 4;
  display: grid;
  min-height: 50px;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 13px;
  padding: 0 18px;
  border-bottom: 1px solid var(--adya-privacy-line);
  background: rgba(9,29,44,.84);
  color: #8fa0ad;
  font-family: var(--adya-privacy-mono);
  font-size: 9px;
  letter-spacing: .07em;
}

.adya-consent-dots {
  display: flex;
  gap: 6px;
}

.adya-consent-dots i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #ff6173;
}

.adya-consent-dots i:nth-child(2) { background: #ffd25e; }
.adya-consent-dots i:nth-child(3) { background: var(--adya-privacy-lime); }

.adya-consent-console-bar b {
  min-width: 0;
  overflow: hidden;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.adya-consent-console-bar em {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--adya-privacy-lime);
  font-size: 8px;
  font-style: normal;
  white-space: nowrap;
}

.adya-consent-console-bar em i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--adya-privacy-lime);
  box-shadow: 0 0 13px rgba(183,248,101,.55);
}

.adya-consent-banner-body {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: end;
  gap: 30px;
  padding: 24px 26px 26px;
}

.adya-consent-copy > p,
.adya-consent-kicker {
  color: var(--adya-privacy-teal-bright);
  font-family: var(--adya-privacy-mono);
  font-size: 9px;
  letter-spacing: .08em;
}

.adya-consent-copy > p span,
.adya-consent-kicker span {
  margin-right: 8px;
  color: var(--adya-privacy-pink);
}

.adya-consent-copy h2 {
  margin: 12px 0 0;
  color: #fff;
  font-family: var(--adya-privacy-serif);
  font-size: clamp(24px,2.2vw,34px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: -.025em;
}

.adya-consent-copy > div {
  max-width: 750px;
  margin-top: 12px;
  color: #aab7c3;
  font-size: 13px;
  line-height: 1.85;
}

.adya-consent-copy nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin-top: 14px;
}

.adya-consent-copy nav a {
  color: #81919e;
  font-family: var(--adya-privacy-mono);
  font-size: 8px;
  letter-spacing: .055em;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.adya-consent-copy nav a:hover,
.adya-consent-copy nav a:focus-visible {
  color: var(--adya-privacy-teal-bright);
}

.adya-consent-actions {
  display: grid;
  grid-template-columns: repeat(3,auto);
  gap: 9px;
}

.adya-consent-actions button,
.adya-consent-dialog-actions button,
.adya-legal-open-consent {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 10px 16px;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 0;
  background: rgba(255,255,255,.025);
  color: #eaf0f4;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.adya-consent-actions button:hover,
.adya-consent-actions button:focus-visible,
.adya-consent-dialog-actions button:hover,
.adya-consent-dialog-actions button:focus-visible,
.adya-legal-open-consent:hover,
.adya-legal-open-consent:focus-visible {
  border-color: var(--adya-privacy-teal-bright);
  outline: 0;
  transform: translateY(-2px);
}

.adya-consent-actions .is-primary,
.adya-consent-dialog-actions .is-primary {
  border-color: var(--adya-privacy-pink);
  background: linear-gradient(90deg, rgba(247,25,109,.12), rgba(0,175,184,.08));
}

.adya-consent-actions .is-primary i,
.adya-consent-dialog-actions .is-primary i {
  color: var(--adya-privacy-pink);
  font-family: var(--adya-privacy-mono);
  font-style: normal;
}

.adya-consent-actions .is-secondary,
.adya-consent-dialog-actions .is-secondary {
  color: #aebbc4;
}

.adya-consent-actions .is-ghost {
  border-color: rgba(0,199,206,.28);
  color: var(--adya-privacy-teal-bright);
}

/* ==================================================
   CONSENT DIALOG
================================================== */

.adya-consent-backdrop {
  position: fixed;
  z-index: 2147483001;
  inset: 0;
  background: rgba(2,10,17,.76);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.adya-consent-dialog {
  position: fixed;
  z-index: 2147483002;
  top: 50%;
  left: 50%;
  width: min(calc(100% - 40px), 700px);
  max-height: min(760px, calc(100svh - 40px));
  overflow: auto;
  transform: translate(-50%,-50%);
  border: 1px solid rgba(0,199,206,.52);
  background:
    radial-gradient(circle at 88% 10%, rgba(247,25,109,.10), transparent 29%),
    linear-gradient(rgba(255,255,255,.023) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.023) 1px, transparent 1px),
    rgba(4,17,28,.985);
  background-size: auto, 32px 32px, 32px 32px, auto;
  color: #fff;
  box-shadow: 0 40px 120px rgba(0,0,0,.55);
}

.adya-consent-dialog .adya-consent-console-bar > button {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.025);
  color: #c9d2d9;
  font-size: 19px;
  line-height: 1;
  cursor: pointer;
}

.adya-consent-dialog-body {
  padding: 30px;
}

.adya-consent-dialog-body > h2 {
  margin: 13px 0 0;
  color: #fff;
  font-family: var(--adya-privacy-serif);
  font-size: clamp(30px,4vw,46px);
  font-weight: 500;
  line-height: 1.4;
}

.adya-consent-dialog-body > p:not(.adya-consent-kicker) {
  margin-top: 14px;
  color: #9facb6;
  font-size: 13px;
  line-height: 1.85;
}

.adya-consent-category-list {
  margin-top: 28px;
  border-top: 1px solid rgba(255,255,255,.11);
}

.adya-consent-category {
  position: relative;
  display: grid;
  min-height: 84px;
  grid-template-columns: minmax(0,1fr) 48px;
  align-items: center;
  gap: 20px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(255,255,255,.10);
  cursor: pointer;
}

.adya-consent-category > span {
  display: grid;
  gap: 7px;
}

.adya-consent-category strong {
  color: #fff;
  font-size: 14px;
}

.adya-consent-category small {
  color: #8495a1;
  font-size: 11px;
  line-height: 1.65;
}

.adya-consent-category input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.adya-consent-category > i {
  position: relative;
  display: block;
  width: 44px;
  height: 24px;
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.04);
  transition: border-color .2s ease, background .2s ease;
}

.adya-consent-category > i::after {
  position: absolute;
  top: 4px;
  left: 4px;
  width: 14px;
  height: 14px;
  content: "";
  background: #73838f;
  transition: transform .2s ease, background .2s ease;
}

.adya-consent-category input:checked + i {
  border-color: var(--adya-privacy-teal-bright);
  background: rgba(0,199,206,.10);
}

.adya-consent-category input:checked + i::after {
  transform: translateX(20px);
  background: var(--adya-privacy-teal-bright);
  box-shadow: 0 0 12px rgba(0,199,206,.38);
}

.adya-consent-category.is-required > i {
  border-color: rgba(183,248,101,.45);
}

.adya-consent-category.is-required > i::after {
  transform: translateX(20px);
  background: var(--adya-privacy-lime);
}

.adya-consent-dialog-actions {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.adya-consent-floating-button {
  position: fixed;
  z-index: 2147482999;
  right: 18px;
  bottom: 18px;
  display: grid;
  min-width: 112px;
  gap: 2px;
  padding: 9px 13px;
  border: 1px solid rgba(0,175,184,.42);
  border-radius: 0;
  background: rgba(4,17,28,.94);
  color: #dce5eb;
  box-shadow: 0 12px 30px rgba(0,0,0,.24);
  font-size: 10px;
  text-align: left;
  cursor: pointer;
}

.adya-consent-floating-button span {
  color: var(--adya-privacy-teal-bright);
  font-family: var(--adya-privacy-mono);
  font-size: 7px;
  letter-spacing: .10em;
}

.adya-consent-noscript {
  position: fixed;
  z-index: 2147483000;
  right: 16px;
  bottom: 16px;
  left: 16px;
  padding: 12px 16px;
  border: 1px solid #f7196d;
  background: #071522;
  color: #fff;
  font-size: 13px;
  text-align: center;
}

html.adya-consent-modal-open,
html.adya-consent-modal-open body {
  overflow: hidden !important;
}

/* ==================================================
   LEGAL PAGE ROOT RESET
================================================== */

body.adya-privacy-plugin-page {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  background: var(--adya-privacy-ivory) !important;
}

body.adya-privacy-plugin-page .adya-legal-frame,
body.adya-privacy-plugin-page .adya-legal-main,
body.adya-privacy-plugin-page main#main-content {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  transform: none !important;
}

body.adya-privacy-plugin-page .adya-legal-main {
  overflow: hidden;
  background: var(--adya-privacy-ivory);
}

/* ==================================================
   LEGAL HERO
================================================== */

body.adya-privacy-plugin-page .adya-legal-hero {
  position: relative;
  min-height: 540px;
  overflow: hidden;
}

body.adya-privacy-plugin-page .adya-legal-hero h1 {
  color: var(--adya-privacy-ink);
  font-family: var(--adya-privacy-serif);
  font-size: clamp(52px,6vw,96px);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.05em;
}

body.adya-privacy-plugin-page .adya-legal-hero .adya-kicker {
  color: var(--adya-privacy-teal);
}

body.adya-privacy-plugin-page .adya-legal-hero .adya-kicker span {
  color: var(--adya-privacy-pink);
}

body.adya-privacy-plugin-page .adya-legal-hero-signal {
  position: absolute;
  z-index: 1;
  top: 85px;
  right: max(3vw,38px);
  width: min(42vw,660px);
  height: 390px;
  pointer-events: none;
  opacity: .58;
}

body.adya-privacy-plugin-page .adya-legal-hero-signal::before,
body.adya-privacy-plugin-page .adya-legal-hero-signal::after {
  position: absolute;
  content: "";
}

body.adya-privacy-plugin-page .adya-legal-hero-signal::before {
  top: 44px;
  right: 44px;
  width: 310px;
  height: 310px;
  border: 1px solid rgba(0,175,184,.19);
  border-radius: 50%;
  box-shadow: 0 0 0 58px rgba(0,175,184,.025), 0 0 0 116px rgba(247,25,109,.012);
}

body.adya-privacy-plugin-page .adya-legal-hero-signal::after {
  right: 6px;
  bottom: 16px;
  width: 180px;
  height: 180px;
  border: 1px solid rgba(247,25,109,.14);
  background: rgba(247,25,109,.025);
  transform: rotate(45deg);
}

body.adya-privacy-plugin-page .adya-legal-hero-signal i {
  position: absolute;
  display: block;
  background: linear-gradient(90deg, rgba(0,175,184,.46), transparent);
}

body.adya-privacy-plugin-page .adya-legal-hero-signal i:nth-child(1) { top: 30px; left: 20px; width: 82%; height: 1px; transform: rotate(16deg); }
body.adya-privacy-plugin-page .adya-legal-hero-signal i:nth-child(2) { top: 185px; left: 0; width: 88%; height: 1px; transform: rotate(-8deg); }
body.adya-privacy-plugin-page .adya-legal-hero-signal i:nth-child(3) { top: 12px; left: 48%; width: 1px; height: 350px; background: linear-gradient(180deg, rgba(247,25,109,.46), transparent); }
body.adya-privacy-plugin-page .adya-legal-hero-signal i:nth-child(4) { right: 42px; bottom: 30px; width: 80px; height: 2px; background: var(--adya-privacy-teal); }

/* ==================================================
   LEGAL CONSOLE
================================================== */

body.adya-privacy-plugin-page .adya-legal-console-stage {
  padding: 0 0 100px;
  background:
    linear-gradient(90deg, rgba(7,21,34,.035) 1px, transparent 1px),
    var(--adya-privacy-paper);
  background-size: 74px 74px, auto;
}

body.adya-privacy-plugin-page .adya-legal-console {
  position: relative;
  margin-top: -78px;
  overflow: hidden;
  border: 1px solid rgba(0,199,206,.50);
  background:
    radial-gradient(circle at 84% 16%, rgba(247,25,109,.10), transparent 31%),
    linear-gradient(rgba(255,255,255,.023) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.023) 1px, transparent 1px),
    rgba(4,17,28,.97);
  background-size: auto, 32px 32px, 32px 32px, auto;
  box-shadow: 18px 20px 0 rgba(0,175,184,.10), -14px -14px 0 rgba(247,25,109,.055), 0 36px 100px rgba(7,21,34,.22);
}

body.adya-privacy-plugin-page .adya-legal-console::before,
body.adya-privacy-plugin-page .adya-legal-console::after {
  position: absolute;
  z-index: 8;
  height: 2px;
  content: "";
}

body.adya-privacy-plugin-page .adya-legal-console::before { top: -1px; left: -1px; width: 90px; background: var(--adya-privacy-pink); }
body.adya-privacy-plugin-page .adya-legal-console::after { right: -1px; bottom: -1px; width: 86px; background: var(--adya-privacy-teal-bright); }

body.adya-privacy-plugin-page .adya-legal-console-bar {
  display: grid;
  min-height: 58px;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 0 20px;
  border-bottom: 1px solid var(--adya-privacy-line);
  background: rgba(9,29,44,.82);
  color: #8ea0ad;
  font-family: var(--adya-privacy-mono);
  font-size: 10px;
  letter-spacing: .07em;
}

body.adya-privacy-plugin-page .adya-legal-console-bar > span { display: flex; gap: 7px; }
body.adya-privacy-plugin-page .adya-legal-console-bar > span i { width: 8px; height: 8px; border-radius: 50%; background: #ff6173; }
body.adya-privacy-plugin-page .adya-legal-console-bar > span i:nth-child(2) { background: #ffd25e; }
body.adya-privacy-plugin-page .adya-legal-console-bar > span i:nth-child(3) { background: var(--adya-privacy-lime); }
body.adya-privacy-plugin-page .adya-legal-console-bar b { min-width: 0; overflow: hidden; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
body.adya-privacy-plugin-page .adya-legal-console-bar em { display: flex; align-items: center; gap: 8px; color: var(--adya-privacy-lime); font-size: 9px; font-style: normal; white-space: nowrap; }
body.adya-privacy-plugin-page .adya-legal-console-bar em i { width: 7px; height: 7px; border-radius: 50%; background: var(--adya-privacy-lime); box-shadow: 0 0 13px rgba(183,248,101,.55); }

body.adya-privacy-plugin-page .adya-legal-console-tabs {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  border-bottom: 1px solid var(--adya-privacy-line);
  color: #647682;
  font-family: var(--adya-privacy-mono);
  font-size: 9px;
  letter-spacing: .07em;
}

body.adya-privacy-plugin-page .adya-legal-console-tabs span {
  min-height: 48px;
  display: grid;
  place-items: center;
  border-right: 1px solid var(--adya-privacy-line);
}

body.adya-privacy-plugin-page .adya-legal-console-tabs span:last-child { border-right: 0; }
body.adya-privacy-plugin-page .adya-legal-console-tabs .is-active { color: var(--adya-privacy-teal-bright); background: rgba(0,199,206,.055); }

body.adya-privacy-plugin-page .adya-legal-console-body {
  display: grid;
  grid-template-columns: minmax(260px,.38fr) minmax(0,1fr);
  min-height: 310px;
}

body.adya-privacy-plugin-page .adya-legal-console-code {
  display: grid;
  align-content: center;
  padding: 38px;
  border-right: 1px solid var(--adya-privacy-line);
}

body.adya-privacy-plugin-page .adya-legal-console-code small,
body.adya-privacy-plugin-page .adya-legal-console-code span {
  color: #72838f;
  font-family: var(--adya-privacy-mono);
  font-size: 8px;
  letter-spacing: .08em;
}

body.adya-privacy-plugin-page .adya-legal-console-code strong {
  margin: 20px 0 18px;
  overflow-wrap: anywhere;
  color: #fff;
  font-family: var(--adya-privacy-serif);
  font-size: clamp(28px,3.1vw,46px);
  font-weight: 500;
  line-height: 1.35;
}

body.adya-privacy-plugin-page .adya-legal-console-code span { color: var(--adya-privacy-pink); }

body.adya-privacy-plugin-page .adya-legal-console-log {
  display: grid;
  align-content: center;
  padding: 38px 42px;
}

body.adya-privacy-plugin-page .adya-legal-console-log p {
  display: grid;
  grid-template-columns: 150px minmax(0,1fr);
  gap: 20px;
  margin: 0 !important;
  padding: 14px 0;
  border-bottom: 1px dashed rgba(255,255,255,.10);
  font-family: var(--adya-privacy-mono);
}

body.adya-privacy-plugin-page .adya-legal-console-log span { color: var(--adya-privacy-teal-bright); font-size: 9px; letter-spacing: .07em; }
body.adya-privacy-plugin-page .adya-legal-console-log b { min-width: 0; overflow-wrap: anywhere; color: #cad4db; font-size: 11px; font-weight: 500; line-height: 1.65; }

body.adya-privacy-plugin-page .adya-legal-console-foot {
  display: flex;
  align-items: center;
  gap: 30px;
  min-height: 48px;
  padding: 0 20px;
  border-top: 1px solid var(--adya-privacy-line);
  color: #667885;
  font-family: var(--adya-privacy-mono);
  font-size: 8px;
  letter-spacing: .07em;
}

body.adya-privacy-plugin-page .adya-legal-console-foot span:last-child { display: flex; align-items: center; gap: 7px; margin-left: auto; color: #99a9b3; }
body.adya-privacy-plugin-page .adya-legal-console-foot i { width: 7px; height: 7px; border-radius: 50%; background: var(--adya-privacy-lime); box-shadow: 0 0 12px rgba(183,248,101,.5); }

/* ==================================================
   LEGAL PAPER
================================================== */

body.adya-privacy-plugin-page .adya-legal-paper-stage {
  padding: 110px 0 140px;
  background:
    radial-gradient(circle at 86% 8%, rgba(247,25,109,.04), transparent 24%),
    var(--adya-privacy-ivory);
}

body.adya-privacy-plugin-page .adya-legal-paper-wrap {
  display: grid;
  grid-template-columns: minmax(0,1fr) 230px;
  align-items: start;
  gap: 54px;
}

body.adya-privacy-plugin-page .adya-legal-paper {
  position: relative;
  padding: clamp(34px,5vw,72px);
  border: 1px solid rgba(7,21,34,.14);
  background:
    linear-gradient(90deg, rgba(7,21,34,.025) 1px, transparent 1px),
    rgba(255,253,248,.92);
  background-size: 54px 54px, auto;
  box-shadow: 0 26px 72px rgba(7,21,34,.08);
}

body.adya-privacy-plugin-page .adya-legal-paper::before {
  position: absolute;
  top: -1px;
  left: -1px;
  width: 92px;
  height: 3px;
  content: "";
  background: var(--adya-privacy-teal);
}

body.adya-privacy-plugin-page .adya-legal-lead {
  padding: 0 0 42px;
  border-bottom: 1px solid rgba(7,21,34,.14);
}

body.adya-privacy-plugin-page .adya-legal-lead > p:first-child {
  max-width: 900px;
  color: #454c50;
  font-family: var(--adya-privacy-serif);
  font-size: clamp(20px,2.1vw,29px);
  line-height: 1.85;
}

body.adya-privacy-plugin-page .adya-legal-date {
  margin-top: 20px !important;
  color: #8a8e90;
  font-family: var(--adya-privacy-mono);
  font-size: 9px;
  letter-spacing: .06em;
}

body.adya-privacy-plugin-page .adya-legal-section {
  display: grid;
  grid-template-columns: 126px minmax(0,1fr);
  gap: 38px;
  padding: 50px 0;
  border-bottom: 1px solid rgba(7,21,34,.13);
}

body.adya-privacy-plugin-page .adya-legal-section:last-child { border-bottom: 0; }

body.adya-privacy-plugin-page .adya-legal-section-index {
  display: grid;
  align-content: start;
  gap: 9px;
}

body.adya-privacy-plugin-page .adya-legal-section-index span {
  color: var(--adya-privacy-pink);
  font-family: var(--adya-privacy-mono);
  font-size: 12px;
}

body.adya-privacy-plugin-page .adya-legal-section-index small {
  overflow-wrap: anywhere;
  color: var(--adya-privacy-teal);
  font-family: var(--adya-privacy-mono);
  font-size: 8px;
  line-height: 1.5;
  letter-spacing: .07em;
}

body.adya-privacy-plugin-page .adya-legal-section-content h2 {
  margin: 0 0 24px;
  color: var(--adya-privacy-ink);
  font-family: var(--adya-privacy-serif);
  font-size: clamp(26px,3vw,39px);
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: -.03em;
}

body.adya-privacy-plugin-page .adya-legal-section-content p,
body.adya-privacy-plugin-page .adya-legal-section-content li,
body.adya-privacy-plugin-page .adya-legal-definition dt,
body.adya-privacy-plugin-page .adya-legal-definition dd {
  color: #5e6467;
  font-size: 14px;
  line-height: 1.95;
}

body.adya-privacy-plugin-page .adya-legal-section-content p + p,
body.adya-privacy-plugin-page .adya-legal-section-content p + ul,
body.adya-privacy-plugin-page .adya-legal-section-content ul + p {
  margin-top: 18px !important;
}

body.adya-privacy-plugin-page .adya-legal-section-content ul,
body.adya-privacy-plugin-page .adya-legal-section-content ol {
  display: grid;
  gap: 10px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}

body.adya-privacy-plugin-page .adya-legal-section-content li {
  position: relative;
  padding-left: 21px;
}

body.adya-privacy-plugin-page .adya-legal-section-content li::before {
  position: absolute;
  top: .9em;
  left: 0;
  width: 8px;
  height: 1px;
  content: "";
  background: var(--adya-privacy-teal);
}

body.adya-privacy-plugin-page .adya-legal-section-content a {
  color: #007f88;
  text-decoration: underline;
  text-underline-offset: 4px;
}

body.adya-privacy-plugin-page .adya-legal-definition {
  margin: 0;
  border-top: 1px solid rgba(7,21,34,.14);
}

body.adya-privacy-plugin-page .adya-legal-definition > div {
  display: grid;
  grid-template-columns: minmax(130px,.28fr) minmax(0,1fr);
  gap: 22px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(7,21,34,.12);
}

body.adya-privacy-plugin-page .adya-legal-definition dt {
  color: var(--adya-privacy-teal);
  font-family: var(--adya-privacy-mono);
  font-size: 9px;
  letter-spacing: .06em;
}

body.adya-privacy-plugin-page .adya-legal-definition dd {
  margin: 0;
  color: #434a4e;
  overflow-wrap: anywhere;
}

body.adya-privacy-plugin-page .adya-legal-note {
  margin-top: 18px !important;
  padding: 14px 16px;
  border-left: 3px solid var(--adya-privacy-teal);
  background: rgba(0,175,184,.055);
  font-size: 12px !important;
}

body.adya-privacy-plugin-page .adya-legal-admin-warning {
  margin: 28px 0 0;
  padding: 16px 18px;
  border: 1px solid rgba(247,25,109,.45);
  background: rgba(247,25,109,.055);
  color: #7d2448;
  font-size: 13px;
  line-height: 1.8;
}

body.adya-privacy-plugin-page .adya-cookie-table-wrap {
  width: 100%;
  overflow-x: auto;
  border: 1px solid rgba(7,21,34,.14);
}

body.adya-privacy-plugin-page .adya-cookie-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

body.adya-privacy-plugin-page .adya-cookie-table th,
body.adya-privacy-plugin-page .adya-cookie-table td {
  padding: 13px 14px;
  border-right: 1px solid rgba(7,21,34,.10);
  border-bottom: 1px solid rgba(7,21,34,.10);
  color: #5b6265;
  font-size: 12px;
  line-height: 1.65;
  text-align: left;
  vertical-align: top;
}

body.adya-privacy-plugin-page .adya-cookie-table th {
  background: rgba(7,21,34,.045);
  color: var(--adya-privacy-ink);
  font-family: var(--adya-privacy-mono);
  font-size: 9px;
  letter-spacing: .06em;
}

body.adya-privacy-plugin-page .adya-cookie-table code {
  color: var(--adya-privacy-pink);
  font-family: var(--adya-privacy-mono);
  font-size: 10px;
}

body.adya-privacy-plugin-page .adya-cookie-table td > span {
  display: inline-block;
  padding: 4px 7px;
  border: 1px solid rgba(7,21,34,.14);
  font-family: var(--adya-privacy-mono);
  font-size: 8px;
}

body.adya-privacy-plugin-page .adya-cookie-table .is-necessary { color: #4b6c1d; border-color: rgba(91,132,32,.28); background: rgba(183,248,101,.10); }
body.adya-privacy-plugin-page .adya-cookie-table .is-analytics { color: #007b83; border-color: rgba(0,175,184,.28); background: rgba(0,175,184,.08); }
body.adya-privacy-plugin-page .adya-cookie-table .is-marketing { color: #a31b51; border-color: rgba(247,25,109,.28); background: rgba(247,25,109,.07); }
body.adya-privacy-plugin-page .adya-cookie-table .is-external { color: #8a6821; border-color: rgba(211,165,72,.30); background: rgba(211,165,72,.08); }

body.adya-privacy-plugin-page .adya-legal-open-consent {
  margin-top: 22px;
  border-color: var(--adya-privacy-teal);
  background: rgba(0,175,184,.06);
  color: var(--adya-privacy-ink);
}

body.adya-privacy-plugin-page .adya-legal-open-consent i { color: var(--adya-privacy-pink); font-style: normal; }

/* ==================================================
   LEGAL SIDE INDEX
================================================== */

body.adya-privacy-plugin-page .adya-legal-side-index {
  position: sticky;
  top: 120px;
  overflow: hidden;
  border: 1px solid rgba(7,21,34,.15);
  background: rgba(255,253,248,.86);
  box-shadow: 12px 12px 0 rgba(0,175,184,.055);
}

body.adya-privacy-plugin-page .adya-legal-side-index > p {
  margin: 0 !important;
  padding: 15px 16px;
  border-bottom: 1px solid rgba(7,21,34,.12);
  color: #70777a;
  font-family: var(--adya-privacy-mono);
  font-size: 8px;
  letter-spacing: .08em;
}

body.adya-privacy-plugin-page .adya-legal-side-index > p span { color: var(--adya-privacy-pink); }

body.adya-privacy-plugin-page .adya-legal-side-index a,
body.adya-privacy-plugin-page .adya-legal-side-index button {
  display: grid;
  min-height: 66px;
  grid-template-columns: 28px minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 12px 15px;
  border: 0;
  border-bottom: 1px solid rgba(7,21,34,.10);
  background: none;
  color: var(--adya-privacy-ink);
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

body.adya-privacy-plugin-page .adya-legal-side-index a.is-active {
  background: rgba(0,175,184,.075);
}

body.adya-privacy-plugin-page .adya-legal-side-index a > span,
body.adya-privacy-plugin-page .adya-legal-side-index button > span {
  color: var(--adya-privacy-pink);
  font-family: var(--adya-privacy-mono);
  font-size: 9px;
}

body.adya-privacy-plugin-page .adya-legal-side-index strong { font-size: 12px; }
body.adya-privacy-plugin-page .adya-legal-side-index i { color: var(--adya-privacy-teal); font-style: normal; }

/* ==================================================
   LEGAL CTA / FALLBACK
================================================== */

body.adya-privacy-plugin-page .adya-legal-contact-cta {
  padding: 100px 0;
  background:
    radial-gradient(circle at 82% 18%, rgba(247,25,109,.10), transparent 28%),
    linear-gradient(rgba(255,255,255,.023) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.023) 1px, transparent 1px),
    var(--adya-privacy-ink);
  background-size: auto, 42px 42px, 42px 42px, auto;
}

body.adya-privacy-plugin-page .adya-legal-contact-cta .adya-kicker { color: var(--adya-privacy-teal-bright); }
body.adya-privacy-plugin-page .adya-legal-contact-cta .adya-kicker span { color: var(--adya-privacy-pink); }

body.adya-privacy-plugin-page .adya-legal-contact-cta h2 {
  max-width: 920px;
  margin-top: 28px;
  color: #fff;
  font-family: var(--adya-privacy-serif);
  font-size: clamp(36px,4.6vw,66px);
  font-weight: 500;
  line-height: 1.42;
  letter-spacing: -.04em;
}

body.adya-privacy-plugin-page .adya-legal-contact-cta a {
  display: grid;
  max-width: 760px;
  min-height: 82px;
  grid-template-columns: minmax(0,1fr) auto auto;
  align-items: center;
  gap: 20px;
  margin-top: 40px;
  padding: 17px 20px;
  border: 1px solid var(--adya-privacy-pink);
  background: rgba(255,255,255,.02);
  color: #fff;
  text-decoration: none;
}

body.adya-privacy-plugin-page .adya-legal-contact-cta a span,
body.adya-privacy-plugin-page .adya-legal-contact-cta a i {
  font-family: var(--adya-privacy-mono);
  font-size: 10px;
  font-style: normal;
}

body.adya-privacy-plugin-page .adya-legal-contact-cta a span { color: var(--adya-privacy-lime); }
body.adya-privacy-plugin-page .adya-legal-contact-cta a i { color: var(--adya-privacy-pink); }

.adya-legal-fallback-header,
.adya-legal-fallback-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px max(24px,5vw);
  background: var(--adya-privacy-paper);
  color: var(--adya-privacy-ink);
}

.adya-legal-fallback-header a { display: grid; color: inherit; text-decoration: none; }
.adya-legal-fallback-header a strong { font-family: var(--adya-privacy-serif); font-size: 25px; }
.adya-legal-fallback-header a small,
.adya-legal-fallback-header > span,
.adya-legal-fallback-footer { font-family: var(--adya-privacy-mono); font-size: 8px; letter-spacing: .08em; }
.adya-legal-fallback-footer { background: var(--adya-privacy-ink); color: #81919e; }
.adya-legal-fallback-footer a { color: var(--adya-privacy-teal-bright); text-decoration: none; }

/* ==================================================
   RESPONSIVE
================================================== */

@media screen and (max-width: 1080px) {
  .adya-consent-banner-body { grid-template-columns: 1fr; }
  .adya-consent-actions { grid-template-columns: repeat(3,minmax(0,1fr)); }

  body.adya-privacy-plugin-page .adya-legal-paper-wrap { grid-template-columns: 1fr; }
  body.adya-privacy-plugin-page .adya-legal-side-index { position: static; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
  body.adya-privacy-plugin-page .adya-legal-side-index > p { grid-column: 1/-1; }
  body.adya-privacy-plugin-page .adya-legal-side-index a,
  body.adya-privacy-plugin-page .adya-legal-side-index button { border-right: 1px solid rgba(7,21,34,.10); border-bottom: 0; }
}

@media screen and (max-width: 760px) {
  .adya-privacy-footer-links { gap: 4px 16px; padding: 10px 16px; font-size: 8px; }

  .adya-consent-banner {
    right: 12px;
    bottom: 12px;
    left: 12px;
    width: calc(100% - 24px);
    max-height: calc(100svh - 24px);
    overflow-y: auto;
    box-shadow: 7px 8px 0 rgba(0,175,184,.10), -5px -5px 0 rgba(247,25,109,.05), 0 22px 64px rgba(0,0,0,.42);
  }

  .adya-consent-console-bar { min-height: 44px; grid-template-columns: auto minmax(0,1fr); gap: 9px; padding: 0 12px; font-size: 8px; }
  .adya-consent-console-bar em { display: none; }
  .adya-consent-banner-body { gap: 22px; padding: 20px 18px; }
  .adya-consent-copy h2 { font-size: 25px; }
  .adya-consent-copy > div { font-size: 12px; }
  .adya-consent-actions { grid-template-columns: 1fr; }
  .adya-consent-actions button { width: 100%; }

  .adya-consent-dialog { width: calc(100% - 24px); max-height: calc(100svh - 24px); }
  .adya-consent-dialog .adya-consent-console-bar { grid-template-columns: auto minmax(0,1fr) 32px; }
  .adya-consent-dialog-body { padding: 22px 18px 24px; }
  .adya-consent-dialog-body > h2 { font-size: 31px; }
  .adya-consent-category { grid-template-columns: minmax(0,1fr) 46px; }
  .adya-consent-dialog-actions { display: grid; grid-template-columns: 1fr; }
  .adya-consent-dialog-actions button { width: 100%; }
  .adya-consent-floating-button { right: 12px; bottom: 12px; }

  body.adya-privacy-plugin-page .adya-legal-main { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
  body.adya-privacy-plugin-page .adya-legal-hero { min-height: auto; padding-top: 66px; padding-bottom: 132px; }
  body.adya-privacy-plugin-page .adya-legal-hero .adya-page-title-row { display: block; margin-top: 46px; }
  body.adya-privacy-plugin-page .adya-legal-hero h1 { margin-top: 18px; font-size: clamp(43px,12.5vw,59px); line-height: 1.2; }
  body.adya-privacy-plugin-page .adya-legal-hero .adya-page-title-row > p { margin-top: 28px !important; font-size: 15px; line-height: 1.9; }
  body.adya-privacy-plugin-page .adya-legal-hero .adya-page-command { margin-top: 36px; font-size: 9px; overflow-wrap: anywhere; }
  body.adya-privacy-plugin-page .adya-legal-hero-signal { top: auto; right: -90px; bottom: 4px; width: 370px; height: 180px; opacity: .34; }
  body.adya-privacy-plugin-page .adya-legal-hero-signal::before { top: 8px; right: 44px; width: 150px; height: 150px; box-shadow: 0 0 0 30px rgba(0,175,184,.02); }
  body.adya-privacy-plugin-page .adya-legal-hero-signal::after { display: none; }

  body.adya-privacy-plugin-page .adya-legal-console-stage { padding-bottom: 76px; }
  body.adya-privacy-plugin-page .adya-legal-console-stage > .adya-container,
  body.adya-privacy-plugin-page .adya-legal-paper-stage > .adya-container,
  body.adya-privacy-plugin-page .adya-legal-contact-cta > .adya-container { width: calc(100% - 32px) !important; margin-inline: auto !important; }
  body.adya-privacy-plugin-page .adya-legal-console { margin-top: -70px; box-shadow: 8px 9px 0 rgba(0,175,184,.09), -5px -5px 0 rgba(247,25,109,.05); }
  body.adya-privacy-plugin-page .adya-legal-console-bar { min-height: 48px; grid-template-columns: auto minmax(0,1fr); padding: 0 12px; font-size: 8px; }
  body.adya-privacy-plugin-page .adya-legal-console-bar em { display: none; }
  body.adya-privacy-plugin-page .adya-legal-console-tabs { font-size: 7px; }
  body.adya-privacy-plugin-page .adya-legal-console-tabs span { min-height: 40px; }
  body.adya-privacy-plugin-page .adya-legal-console-body { grid-template-columns: 1fr; }
  body.adya-privacy-plugin-page .adya-legal-console-code { padding: 26px 20px; border-right: 0; border-bottom: 1px solid var(--adya-privacy-line); }
  body.adya-privacy-plugin-page .adya-legal-console-code strong { font-size: 27px; }
  body.adya-privacy-plugin-page .adya-legal-console-log { padding: 20px; }
  body.adya-privacy-plugin-page .adya-legal-console-log p { grid-template-columns: 100px minmax(0,1fr); gap: 12px; padding: 11px 0; }
  body.adya-privacy-plugin-page .adya-legal-console-log span { font-size: 7px; }
  body.adya-privacy-plugin-page .adya-legal-console-log b { font-size: 9px; }
  body.adya-privacy-plugin-page .adya-legal-console-foot { flex-wrap: wrap; gap: 10px 18px; min-height: 54px; padding: 10px 14px; font-size: 7px; }
  body.adya-privacy-plugin-page .adya-legal-console-foot span:last-child { margin-left: 0; }

  body.adya-privacy-plugin-page .adya-legal-paper-stage { padding: 76px 0 96px; }
  body.adya-privacy-plugin-page .adya-legal-paper-wrap { gap: 28px; }
  body.adya-privacy-plugin-page .adya-legal-paper { padding: 27px 20px; }
  body.adya-privacy-plugin-page .adya-legal-lead { padding-bottom: 30px; }
  body.adya-privacy-plugin-page .adya-legal-lead > p:first-child { font-size: 19px; line-height: 1.85; }
  body.adya-privacy-plugin-page .adya-legal-section { grid-template-columns: 1fr; gap: 18px; padding: 36px 0; }
  body.adya-privacy-plugin-page .adya-legal-section-index { grid-template-columns: 32px minmax(0,1fr); align-items: center; }
  body.adya-privacy-plugin-page .adya-legal-section-content h2 { font-size: 27px; }
  body.adya-privacy-plugin-page .adya-legal-section-content p,
  body.adya-privacy-plugin-page .adya-legal-section-content li,
  body.adya-privacy-plugin-page .adya-legal-definition dt,
  body.adya-privacy-plugin-page .adya-legal-definition dd { font-size: 13.5px; }
  body.adya-privacy-plugin-page .adya-legal-definition > div { grid-template-columns: 1fr; gap: 5px; padding: 13px 0; }
  body.adya-privacy-plugin-page .adya-cookie-table th,
  body.adya-privacy-plugin-page .adya-cookie-table td { font-size: 11px; }

  body.adya-privacy-plugin-page .adya-legal-side-index { grid-template-columns: 1fr; }
  body.adya-privacy-plugin-page .adya-legal-side-index a,
  body.adya-privacy-plugin-page .adya-legal-side-index button { min-height: 56px; border-right: 0; border-bottom: 1px solid rgba(7,21,34,.10); }

  body.adya-privacy-plugin-page .adya-legal-contact-cta { padding: 76px 0; }
  body.adya-privacy-plugin-page .adya-legal-contact-cta h2 { font-size: 36px; }
  body.adya-privacy-plugin-page .adya-legal-contact-cta a { grid-template-columns: 1fr auto; min-height: 92px; padding: 16px; }
  body.adya-privacy-plugin-page .adya-legal-contact-cta a span { grid-column: 1/-1; }
}

@media screen and (max-width: 390px) {
  .adya-consent-copy h2 { font-size: 23px; }
  .adya-consent-copy nav { gap: 8px 14px; }
  body.adya-privacy-plugin-page .adya-legal-console-stage > .adya-container,
  body.adya-privacy-plugin-page .adya-legal-paper-stage > .adya-container,
  body.adya-privacy-plugin-page .adya-legal-contact-cta > .adya-container { width: calc(100% - 24px) !important; }
  body.adya-privacy-plugin-page .adya-legal-paper { padding: 24px 17px; }
}

@media (prefers-reduced-motion: reduce) {
  .adya-consent-actions button,
  .adya-consent-dialog-actions button,
  .adya-consent-category > i,
  .adya-consent-category > i::after {
    transition: none !important;
  }
}

/* ==================================================
   AFFINGER heading reset for consent UI
   The theme may add a white panel, border or pseudo-elements to h2.
   Keep the consent banner and preferences dialog on the dark console surface.
================================================== */
html body .adya-consent-banner .adya-consent-copy h2,
html body .adya-consent-dialog .adya-consent-dialog-body > h2 {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  min-height: 0 !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #fff !important;
  text-shadow: none !important;
}

html body .adya-consent-banner .adya-consent-copy h2::before,
html body .adya-consent-banner .adya-consent-copy h2::after,
html body .adya-consent-dialog .adya-consent-dialog-body > h2::before,
html body .adya-consent-dialog .adya-consent-dialog-body > h2::after {
  display: none !important;
  content: none !important;
}

