/* Functional/accessibility corrections; all palette/geometry tokens come from the frozen components. */
[hidden]{display:none}
[data-brand-defs]{position:absolute}
[data-saas-public] :where(a,button,input):focus-visible{outline:2px solid var(--gold);outline-offset:2px}
[data-saas-public] button:disabled{cursor:not-allowed;opacity:.5}
[data-saas-public] .faq-item.open .faq-a{max-height:none}
[data-saas-public] [data-contact]{display:block;color:var(--text-2);font-size:13.5px;margin-bottom:10px;min-height:32px}
[data-saas-public] [data-status],[data-saas-public] [data-captcha-status]{overflow-wrap:anywhere}
[data-saas-public] [data-captcha]{min-height:100px;max-width:100%}
[data-saas-public]:not([data-flow="landing"]){overflow:auto;display:block}
[data-saas-public] .auth-shell{width:100%;min-height:100dvh}
[data-saas-public] .auth-card{min-width:0;overflow-wrap:anywhere}
[data-saas-public] .auth-tabs a{text-align:center;display:inline-flex;justify-content:center;align-items:center}
[data-saas-public] .auth-legal input[type="checkbox"]{appearance:auto;accent-color:var(--gold);width:20px;height:20px;min-width:20px}
[data-saas-public] .auth-hint a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:768px){
 [data-saas-public] .auth-legal{align-items:center}
 [data-saas-public] .auth-legal input[type="checkbox"]{width:44px;height:44px;min-width:44px}
 [data-saas-public] a,[data-saas-public] button,[data-saas-public] input{min-height:44px}
 [data-saas-public] input{font-size:16px}
 [data-saas-public] .auth-card{max-width:100%}
}
@media(prefers-reduced-motion:reduce){
 [data-saas-public][data-flow] *,[data-saas-public][data-flow] *::before,[data-saas-public][data-flow] *::after{animation:none;transition:none;scroll-behavior:auto}
}

[data-saas-public].menu-open{overflow:hidden}
[data-saas-public]:not([data-enhanced]) .faq-a{max-height:none}

/* Readable text uses the existing secondary palette; canonical reference tokens stay unchanged. */
[data-saas-public] .auth-field label,
[data-saas-public] .auth-hint,
[data-saas-public] .auth-legal { color:var(--text-2); }
[data-saas-public] .auth-brand-title small { color:var(--text-2); -webkit-text-fill-color:var(--text-2); }
[data-flow="landing"] .hero-note,
[data-flow="landing"] .trust-label,
[data-flow="landing"] .trust-logo,
[data-flow="landing"] .pricing-price span,
[data-flow="landing"] .page-meta,
[data-flow="landing"] .legal-updated,
[data-flow="landing"] .demo-url,
[data-flow="landing"] .demo-topbar-left,
[data-flow="landing"] .demo-table thead th,
[data-flow="landing"] .footer-bottom { color:var(--text-2); }
[data-flow="landing"] .footer-col h3 {
 font-size:11px; font-weight:700; text-transform:uppercase;
 letter-spacing:0.14em; color:var(--text-2); margin-bottom:16px;
}

/* Preserve every feature/tariff card within the viewport rather than clipping columns. */
[data-saas-public] :is(.features,.pricing-grid) > * { min-width:0; overflow-wrap:anywhere; }
[data-saas-public] .pricing-card .btn { white-space:normal; }
@media (width <= 1024px) {
 [data-saas-public] :is(.features,.pricing-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (width <= 768px) {
 [data-saas-public] :is(.features,.pricing-grid) { grid-template-columns:minmax(0,1fr); }
}

@media (width <= 768px) {
 [data-saas-public] .legal a { display:inline-flex; align-items:center; min-width:44px; min-height:44px; max-width:100%; overflow-wrap:anywhere; }
}

/* Keep theme, sign-in and menu controls visible beside the ADK brand. */
[data-saas-public] .header-actions [data-action="theme"] { width:44px; min-width:44px; padding:0; flex-shrink:0; }
@media (width <= 1024px) {
 [data-saas-public] .header .nav { display:none; }
 [data-saas-public] .header .burger { display:inline-flex; }
 [data-saas-public] .header-actions .btn-primary { display:none; }
}
@media (width <= 480px) {
 [data-saas-public] .header-inner { gap:8px; }
 [data-saas-public] .header .logo { gap:6px; }
 [data-saas-public] .header .logo-text { font-size:12px; }
 [data-saas-public] .header .adk-brand-image { width:32px; height:32px; }
 [data-saas-public] .header-actions { gap:6px; }
 [data-saas-public] .header-actions .btn-sm { padding-inline:8px; }
}

/* Focus rings must appear immediately; form controls stay stationary while they become usable. */
[data-saas-public] :where(a,button,input):focus-visible { transition-property:color,background-color,border-color,box-shadow,filter,transform,opacity; }
[data-saas-public] .auth-card { animation:none; }

@media (width <= 768px) {
 [data-saas-public] :is(.auth-legal,footer.container) a { display:inline-flex; align-items:center; min-width:44px; min-height:44px; max-width:100%; overflow-wrap:anywhere; }
}

/* The public light theme reuses verified auth-reference tokens; frozen palettes remain byte-exact. */
[data-saas-palette][data-theme="light"] {
  --bg:var(--adk-light-bg);
  --surface:var(--adk-light-surface);
  --surface-2:var(--adk-light-surface-2);
  --surface-3:var(--adk-light-surface-3);
  --border:var(--adk-light-border);
  --border-strong:var(--adk-light-border-strong);
  --border-gold:var(--adk-light-border-gold);
  --text:var(--adk-light-text);
  --text-2:var(--adk-light-text-2);
  --text-3:var(--adk-light-text-3);
  --gold:var(--adk-light-gold);
  --gold-bright:var(--adk-light-gold-bright);
  --gold-grad:var(--adk-light-gold-grad);
  --green:var(--adk-light-green);
  --green-bg:var(--adk-light-green-bg);
  --green-border:var(--adk-light-green-border);
  --amber:var(--adk-light-amber);
  --amber-bg:var(--adk-light-amber-bg);
  --amber-border:var(--adk-light-amber-border);
  --red:var(--adk-light-red);
  --red-bg:var(--adk-light-red-bg);
  --red-border:var(--adk-light-red-border);
  --blue:var(--adk-light-blue);
  --blue-bg:var(--adk-light-blue-bg);
  --blue-border:var(--adk-light-blue-border);
  --header-bg:var(--adk-light-header-bg);
  --row-hover:var(--adk-light-row-hover);
  --update-glow:var(--adk-light-update-glow);
  --shadow-color:var(--adk-light-shadow-color);
  --shadow-modal:var(--adk-light-shadow-modal);
  --shadow-card:var(--adk-light-shadow-card);
  --input-bg:var(--adk-light-input-bg);
  --code-bg:var(--adk-light-code-bg);
  --modal-backdrop:var(--adk-light-modal-backdrop);
  --scrollbar:var(--adk-light-scrollbar);
  --bg-2:var(--adk-light-surface);
  --bg-3:var(--adk-light-surface-3);
  --landing-reference-3:var(--text);
  --landing-reference-4:var(--border);
  --landing-reference-6:var(--border-strong);
  --landing-reference-24:var(--surface-3);
  --landing-reference-25:var(--header-bg);
  --landing-reference-36:linear-gradient(var(--surface-2), var(--surface));
  --landing-reference-41:var(--surface-3);
  --landing-reference-43:var(--surface);
  --landing-reference-45:var(--surface-2);
  --landing-reference-49:var(--surface-3);
  --landing-reference-50:var(--surface-3);
  --landing-reference-57:linear-gradient(var(--surface-2), var(--bg-2));
  --landing-reference-60:var(--input-bg);
  --landing-reference-62:var(--border);
  --landing-reference-63:var(--surface-3);
  --landing-reference-64:var(--surface-3);
  --landing-reference-68:var(--input-bg);
  --landing-reference-71:var(--input-bg);
  --landing-reference-75:var(--header-bg);
}

/* Agency text is a word rather than a numeric price; keep it within its card. */
[data-flow="landing"] .pricing-price[data-tariff-agency="true"] {
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.2;
  overflow-wrap: anywhere;
}

@media (width <= 768px) {
  [data-flow="landing"] a[data-guest-contact] { display:inline-flex; align-items:center; min-width:44px; min-height:44px; max-width:100%; overflow-wrap:anywhere; }
}

/* Owner-approved marketing copy; the order-volume claim remains omitted. */
[data-static-reference-stats] .stats-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (width <= 600px) {
  [data-static-reference-stats] .stats-grid { grid-template-columns:1fr; }
}

/* Owner screenshot correction: preserve the existing icon, remove clipped question rings. */
[data-flow="landing"] .faq-q:focus-visible { outline:none; box-shadow:var(--focus-ring); color:var(--gold-bright); }
[data-flow="landing"] .faq-q:focus-visible .faq-icon { border-color:var(--gold-bright); }

/* Owner requests a twice-larger marketplace trust block. */
[data-flow="landing"] .trust-label { font-size:15.333px; }
[data-flow="landing"] .trust-logo { font-size:19.333px; gap:12px; }
[data-flow="landing"] .trust-mark { width:40px; height:40px; padding:0; border:0; background:transparent; object-fit:contain; }
@media (width <= 480px) {
  [data-flow="landing"] .trust-label { font-size:clamp(10.667px,3.2vw,15.333px); }
  [data-flow="landing"] .trust-logo { font-size:clamp(16px,4.8vw,19.333px); }
}

/* Keep mobile password fields within the available form width. */
[data-saas-public] .auth-password-wrap input { width:100%; min-width:0; }

[data-flow="landing"] .trust-logo:hover img.trust-mark { background:transparent; border:0; }
