/* Shared visual language for public pages, account screens and PHP views.
   Layout and visibility remain owned by each page. */
@import url('/CSS/vendor/fonts/fonts.css');

body.dr-unified {
  --ui-page: #300b4d;
  --ui-card: #3c0f60;
  --ui-inset: #4a1675;
  --ui-hover: #581c89;
  --ui-line: #62259a;
  --ui-text: #ffffff;
  --ui-muted: #dcbdf2;
  --ui-accent: #b44bf0;
  --ui-brand: #8a0bd2;
  --ui-radius: 14px;
  --bg: var(--ui-page);
  --bg-primary: var(--ui-page);
  --bg-secondary: var(--ui-card);
  --bg-card: var(--ui-card);
  --surface: var(--ui-card);
  --surface-2: var(--ui-inset);
  --surface-3: var(--ui-inset);
  --text: var(--ui-text);
  --text-primary: var(--ui-text);
  --text-secondary: var(--ui-muted);
  --text-soft: var(--ui-text);
  --muted: var(--ui-muted);
  --border: var(--ui-line);
  --accent: var(--ui-brand);
  --accent-soft: var(--ui-accent);
  background: var(--ui-page) !important;
  color: var(--ui-text) !important;
  font-family: 'Poppins', sans-serif !important;
  color-scheme: dark;
}
html[data-theme="light"] body.dr-unified {
  --ui-page: #f5ecfb;
  --ui-card: #ffffff;
  --ui-inset: #fbf5fe;
  --ui-hover: #f1e0fb;
  --ui-line: #e8d3f6;
  --ui-text: #2e0a4a;
  --ui-muted: #74508f;
  color-scheme: light;
}

body.dr-unified *, body.dr-unified *::before, body.dr-unified *::after {
  box-shadow: none !important;
  text-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.dr-unified :is(h1, h2, h3, h4, h5, h6) {
  font-family: 'Poppins', sans-serif !important;
  font-style: normal !important;
  color: var(--ui-text);
  background-image: none !important;
  -webkit-text-fill-color: currentColor !important;
  filter: none !important;
}
body.dr-unified :is(h1, h2, h3, h4, h5, h6) span,
body.dr-unified :is(.hl, .plan-price, .amount, .pd-price-amount, .price-amount, .checkout-product-price) {
  background-image: none !important;
  -webkit-text-fill-color: currentColor !important;
  filter: none !important;
}
/* Decorative glow layers only; functional overlays keep their behavior. */
body.dr-unified :is(.dr-glow-orb, .dr-noise, .pd-image-glow, .loop-glow) { display: none !important; }
body.dr-unified::before, body.dr-unified::after,
body.dr-unified :is(.hero, .membresia-hero, .login-page, .plan-card, .auth-card, .offer-card)::before,
body.dr-unified :is(.hero, .membresia-hero, .login-page, .plan-card, .auth-card, .offer-card)::after {
  background-image: none !important;
  filter: none !important;
}

/* Cards and panels: deliberately target surfaces, not their grid containers. */
body.dr-unified :is(
  .dr-card, .dr-page-panel, .dr-program-card, .auth-card, .auth-panel, .login-wrapper,
  .login-form-side, .checkout-card, .summary-card, .checkout-panel, .glass-panel,
  .yape-card, .offer-card, .feature-card, .nox-detail-card, .plan-card, .main-card,
  .pd-title-card, .pd-specs-panel, .pd-about, .pd-disenador-card, .pd-rel-card,
  .catalogo-panel, .discount-form, .discounts-table, .table-container,
  .modal-content, .swal2-popup, .search-container, .card
) {
  background: var(--ui-card) !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: var(--ui-radius) !important;
  color: var(--ui-text) !important;
}
body.dr-unified :is(.auth-hero, .login-welcome, .plan-band, .yape-header, .checkout-nav,
  .dr-footer, .page-footer, .dashboard-header, .pd-price-bar, .pd-counter,
  .product-summary, .account-box, .checkout-spec, .info-box, .requirements,
  .payment-option, .pd-category-chip, .pd-trust-badge, .trial-product-picker) {
  background: var(--ui-inset) !important;
  color: var(--ui-text) !important;
  border-color: var(--ui-line) !important;
}
body.dr-unified :is(.plan-card.destacado, .payment-option.active) { border-color: var(--ui-accent) !important; }
body.dr-unified :is(.plan-badge, .plan-num, .step-number) { background: var(--ui-brand) !important; color: #fff !important; }
body.dr-unified :is(.membresia-hero, .catalogo-hero, .login-page, .login-main, .yape-page,
  .planes-section, .garantia-section, .nox-installation, .closing) { background: transparent !important; }
body.dr-unified :is(.dr-page-tabs a, .tab) { background: var(--ui-card) !important; color: var(--ui-text) !important; border-color: var(--ui-line) !important; }
body.dr-unified :is(.dr-page-tabs a[aria-current="page"], .tab.active) { background: var(--ui-brand) !important; color: #fff !important; }

/* Match the dashboard's solid primary buttons and outlined secondary actions. */
body.dr-unified :is(.btn-primary, .btn.primary, .btn-submit, .auth-btn-cta, .btn-checkout,
  .plan-btn, .dr-button, .btn-create, .btn-login, .yape-submit, .btn-free-purchase,
  .pd-action-btn--glow, .pd-action-btn--cart, .pd-action-btn--download, .pd-rel-btn) {
  background: var(--ui-brand) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: 1px solid var(--ui-brand) !important;
  border-radius: 9px !important;
  font-family: inherit;
  font-weight: 600;
  filter: none !important;
}
body.dr-unified :is(.btn-primary, .btn.primary, .btn-submit, .auth-btn-cta, .btn-checkout,
  .plan-btn, .dr-button, .btn-create, .btn-login, .yape-submit, .btn-free-purchase,
  .pd-action-btn--glow, .pd-action-btn--cart, .pd-action-btn--download, .pd-rel-btn):hover {
  background: var(--ui-hover) !important;
  border-color: var(--ui-accent) !important;
  transform: none !important;
}
body.dr-unified :is(.btn-outline, .btn-secondary, .btn-ghost, .auth-btn-social,
  .pd-action-btn--ghost, .plan-btn.secondary) {
  background: var(--ui-card) !important;
  color: var(--ui-text) !important;
  -webkit-text-fill-color: currentColor !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: 9px !important;
}
body.dr-unified :is(button, .btn, .plan-btn, .dr-button, .pd-action-btn)::before,
body.dr-unified :is(button, .btn, .plan-btn, .dr-button, .pd-action-btn)::after {
  background-image: none !important;
  filter: none !important;
}
body.dr-unified :is(button, input, select, textarea) { font-family: inherit; }
body.dr-unified :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="submit"]):not([type="button"]), select, textarea):not(.kr-embedded *) {
  background: var(--ui-page) !important;
  border-color: var(--ui-line) !important;
  color: var(--ui-text) !important;
  border-radius: 9px;
}
body.dr-unified :is(input, textarea):not(.kr-embedded *)::placeholder { color: var(--ui-muted) !important; opacity: 1; }
body.dr-unified :is(input[type="checkbox"], input[type="radio"], input[type="range"]) { accent-color: var(--ui-brand); }
body.dr-unified :is(a, button, summary):focus-visible,
body.dr-unified :is(input, select, textarea):not(:is(.auth-field, .input-container, .top-search-inner, .kr-embedded) *):focus-visible {
  outline: 2px solid var(--ui-accent) !important;
  outline-offset: 3px;
}
body.dr-unified :is(.subtitle, .sub, .section-sub, .pd-meta, .pd-about-text,
  .pd-spec-key, .period, .plan-price-pen, .payment-sub, .checkout-product-desc,
  .product-desc, .price-note, .dr-fineprint, .form-footer, .auth-footer-text) { color: var(--ui-muted) !important; }
body.dr-unified :is(.pd-spec-val, .pd-name, .plan-price, .amount, .pd-price-amount,
  .price-amount, .checkout-product-price, .summary-row.total) { color: var(--ui-text) !important; }
body.dr-unified :is(.dr-link, .back-link, .recovery-back a, .auth-footer-text a) { color: var(--ui-accent) !important; }

/* Standalone PHP result screens and legacy admin tables. */
body.dr-unified.dr-result > .container,
body.dr-unified.dr-result > .box {
  background: var(--ui-card) !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: var(--ui-radius);
  color: var(--ui-text);
}
body.dr-unified :is(.data-table, .usuarios-table, .discounts-table, .transactions-table) th {
  background: var(--ui-inset) !important;
  color: var(--ui-muted) !important;
  border-color: var(--ui-line) !important;
}
body.dr-unified :is(.data-table, .usuarios-table, .discounts-table, .transactions-table) td { border-color: var(--ui-line) !important; color: var(--ui-text); }
body.dr-unified :is(.data-table, .usuarios-table, .discounts-table, .transactions-table) tbody tr:hover { background: var(--ui-hover) !important; }
body.dr-unified :is(.sidebar-logo, .nav-brand img, .logo img, .welcome-brand img, .auth-hero-logo) { object-fit: contain; filter: none !important; }
body.dr-unified :is(.pd-main-img, .product-summary-img, .checkout-product-thumb img) { object-fit: contain; filter: none !important; }
body.dr-unified .swal2-title { color: var(--ui-text) !important; }
body.dr-unified .swal2-html-container { color: var(--ui-muted) !important; }
body.dr-unified.dr-privacy { max-width: 900px; margin: 0 auto; padding: 32px 20px; line-height: 1.7; }

@media (max-width: 600px) {
  body.dr-unified :is(.auth-card, .checkout-card, .summary-card, .main-card) { border-radius: 12px !important; }
}
