/* Production stability and WordPress theme-conflict protection. */
#zodiacsignal-app.zs-app {
    isolation: isolate;
    color-scheme: light;
    --nhc-ink: #13213a;
    --nhc-muted: #52627a;
    --nhc-border: #d9e2f1;
    --nhc-surface: #ffffff;
    --nhc-focus: #f6b73c;
}
#zodiacsignal-app.zs-app .zs-hero,
#zodiacsignal-app.zs-app .zs-results-head,
#zodiacsignal-app.zs-app .zs-today-hero,
#zodiacsignal-app.zs-app .zs-rectification-result-hero,
#zodiacsignal-app.zs-app .zs-progressed-moon-hero {
    color: #f8fbff !important;
}
#zodiacsignal-app.zs-app .zs-hero :is(h1,h2,h3,p,.zs-kicker),
#zodiacsignal-app.zs-app .zs-results-head :is(h1,h2,h3,p,span,small),
#zodiacsignal-app.zs-app .zs-today-hero :is(h1,h2,h3,h4,p,span,small),
#zodiacsignal-app.zs-app .zs-rectification-result-hero :is(h1,h2,h3,h4,p,span,small),
#zodiacsignal-app.zs-app .zs-progressed-moon-hero :is(h1,h2,h3,h4,p,span,small) {
    color: inherit !important;
    text-shadow: none;
}
#zodiacsignal-app.zs-app :is(input,select,textarea) {
    color: var(--nhc-ink) !important;
    background-color: #fff !important;
    border-color: #bac8db !important;
    opacity: 1;
}
#zodiacsignal-app.zs-app :is(input,select,textarea)::placeholder { color: #738198 !important; opacity: 1; }
#zodiacsignal-app.zs-app :is(button,a,input,select,textarea):focus-visible,
.nhc-privacy-center :is(button,input,select):focus-visible {
    outline: 3px solid var(--nhc-focus, #f6b73c) !important;
    outline-offset: 3px !important;
}
#zodiacsignal-app.zs-app [id] { scroll-margin-top: 100px; }
#zodiacsignal-app.zs-app table { max-width: 100%; }
#zodiacsignal-app.zs-app .zs-ad-slot[hidden] { display: none !important; min-height: 0 !important; }
#zodiacsignal-app.zs-app .zs-ad-slot:not([hidden]) { min-height: var(--zs-ad-reserved-height, 280px); contain: layout paint; }

.nhc-privacy-center {
    margin: 22px 0;
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid rgba(129, 140, 248, .26);
    border-radius: 24px;
    background:
        radial-gradient(circle at 92% 12%, rgba(45, 212, 191, .16), transparent 30%),
        linear-gradient(135deg, #101a37 0%, #212058 55%, #3d1d62 100%);
    color: #f7f9ff;
    box-shadow: 0 18px 50px rgba(15, 23, 42, .18);
}
.nhc-privacy-copy > span { display:block; margin-bottom:6px; color:#8ee8dc; font-size:12px; font-weight:800; letter-spacing:.12em; }
.nhc-privacy-copy h2 { margin:0 0 8px !important; color:#fff !important; font-size:clamp(22px,3vw,32px); line-height:1.16; }
.nhc-privacy-copy p { margin:0; max-width:820px; color:#dce6fb !important; line-height:1.7; }
.nhc-privacy-actions { display:flex; gap:12px; flex-wrap:wrap; margin:20px 0 16px; }
.nhc-privacy-button {
    appearance:none; border:1px solid rgba(255,255,255,.28); border-radius:12px; padding:12px 16px;
    background:#fff; color:#18233e; font-weight:800; cursor:pointer; min-height:46px;
}
.nhc-privacy-button:hover { transform:translateY(-1px); box-shadow:0 8px 22px rgba(0,0,0,.18); }
.nhc-privacy-button.is-danger { background:#fff2f1; color:#9f201b; border-color:#ffc9c5; }
.nhc-privacy-preferences { display:grid; grid-template-columns:minmax(220px,1fr) minmax(260px,1fr); gap:14px; }
.nhc-privacy-preferences label { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:54px; padding:12px 14px; border:1px solid rgba(255,255,255,.17); border-radius:14px; background:rgba(255,255,255,.08); color:#f7f9ff; }
.nhc-privacy-preferences label > span { font-weight:700; }
.nhc-privacy-preferences select { min-width:160px; max-width:100%; border-radius:9px; padding:8px 10px; color:#17213a; background:#fff; }
.nhc-switch { justify-content:flex-start !important; }
.nhc-switch input { width:20px; height:20px; flex:0 0 auto; accent-color:#2dd4bf; }
.nhc-privacy-status { min-height:24px; margin:12px 0 0; color:#a7f3d0 !important; font-weight:700; }
.nhc-privacy-status.is-error { color:#fecaca !important; }
.nhc-noscript { margin:14px 0 0; padding:12px 14px; border-radius:12px; background:#fff4d8; color:#5c3b00 !important; }

@media (max-width: 760px) {
    .nhc-privacy-center { border-radius:18px; padding:20px 16px; }
    .nhc-privacy-actions { display:grid; grid-template-columns:1fr; }
    .nhc-privacy-button { width:100%; }
    .nhc-privacy-preferences { grid-template-columns:1fr; }
    .nhc-privacy-preferences label { align-items:flex-start; flex-direction:column; }
    .nhc-privacy-preferences select { width:100%; }
    .nhc-switch { flex-direction:row !important; align-items:center !important; }
}

@media print {
    .nhc-privacy-center,
    #zodiacsignal-app.zs-app .zs-ad-slot { display:none !important; }
}

@media (prefers-reduced-motion: reduce) {
    .nhc-privacy-button { transition:none !important; transform:none !important; }
}
