/* Download is a real primary action in either theme, not an outlined demo link. */
.public-site .public-download-cta {
    min-height: 48px;
    padding: 12px 20px;
    color: #fff;
    background: #176a98;
    border: 1px solid #176a98;
    box-shadow: 0 5px 14px rgba(23, 106, 152, .22);
    font-weight: 800;
    text-align: center;
    white-space: normal;
    max-width: 100%;
}
.public-site .public-download-cta:hover { background: #105477; color: #fff; }
.public-site .public-download-cta:focus-visible { outline: 3px solid #26bfae; outline-offset: 4px; }
.public-site .public-download-cta svg { flex: 0 0 20px; width: 20px; height: 20px; }
@media (max-width: 640px) {
    .public-site .hero-actions .public-download-cta { width: 100%; }
}

/* Light treatment of the established storefront; no layout redesign.
   Scoped away from admin/account screens and an explicitly selected dark mode. */
:root:not([data-theme="dark"]) {
    color-scheme: light;
    --canvas: #f8fafb;
    --paper: #ffffff;
    --ink: #13283e;
    --ink-2: #2d4055;
    --muted: #526579;
    --muted-2: #607083;
    --line: #dce4eb;
    --teal: #08786e;
}
:root:not([data-theme="dark"]) body.public-site {
    background: #f8fafb;
    color: var(--ink);
}
:root:not([data-theme="dark"]) .site-nav,
:root:not([data-theme="dark"]) .site-mobile-menu {
    background: rgba(255, 255, 255, .98);
    border-color: var(--line);
}
:root:not([data-theme="dark"]) .site-links,
:root:not([data-theme="dark"]) .language-switcher,
:root:not([data-theme="dark"]) .hero-metrics div {
    background: #f0f5f8;
}
:root:not([data-theme="dark"]) .public-site .btn-primary,
:root:not([data-theme="dark"]) .language-switcher a.active {
    color: #fff;
    background: #176a98;
    border-color: #176a98;
}
:root:not([data-theme="dark"]) .public-site .btn-primary:hover {
    background: #105477;
}
:root:not([data-theme="dark"]) .public-site .btn-light,
:root:not([data-theme="dark"]) .public-site .btn-ghost {
    color: #233e55;
    background: #fff;
    border-color: #cad8e2;
}
:root:not([data-theme="dark"]) .home-product-preview,
:root:not([data-theme="dark"]) .home-preview-panel,
:root:not([data-theme="dark"]) .home-preview-screen,
:root:not([data-theme="dark"]) .product-device {
    color: var(--ink);
    background: #fff;
    border-color: #cedde5;
    box-shadow: 0 16px 40px rgba(24, 52, 76, .08);
}
:root:not([data-theme="dark"]) .home-preview-heading strong,
:root:not([data-theme="dark"]) .product-device-head strong,
:root:not([data-theme="dark"]) .product-device-list em {
    color: var(--ink);
}
:root:not([data-theme="dark"]) .home-preview-kicker,
:root:not([data-theme="dark"]) .home-preview-caption span,
:root:not([data-theme="dark"]) .home-preview-caption p,
:root:not([data-theme="dark"]) .product-device-head span {
    color: var(--muted);
}
:root:not([data-theme="dark"]) .home-preview-tabs,
:root:not([data-theme="dark"]) .product-device-bar,
:root:not([data-theme="dark"]) .product-device-list > span {
    background: #f1f6f8;
    border-color: var(--line);
}
:root:not([data-theme="dark"]) .home-preview-tab {
    color: #526579;
}
:root:not([data-theme="dark"]) .home-preview-tab.is-active {
    color: #164e70;
    background: #fff;
    border-color: #8dbbd0;
}
:root:not([data-theme="dark"]) .home-preview-real,
:root:not([data-theme="dark"]) .home-preview-link {
    color: #086d63;
    background: #eaf6f2;
    border-color: #bfded4;
}
:root:not([data-theme="dark"]) .product-detail-hero,
:root:not([data-theme="dark"]) .product-platform-card,
:root:not([data-theme="dark"]) .product-release-preview {
    background: #fff;
    border-color: var(--line);
}
:root:not([data-theme="dark"]) .product-detail-hero::before {
    background: #f0f7fa;
    border-color: #e4edf2;
}
:root:not([data-theme="dark"]) .pp-mobile-heading,
:root:not([data-theme="dark"]) .pp-connection-section,
:root:not([data-theme="dark"]) .pp-gallery-stage {
    background: #f1f7fa;
}
:root:not([data-theme="dark"]) .pp-mobile-heading h2,
:root:not([data-theme="dark"]) .pp-mobile-footer strong {
    color: var(--ink);
}
:root:not([data-theme="dark"]) .pp-mobile-heading-copy > p:not(.pp-mobile-requirement),
:root:not([data-theme="dark"]) .pp-mobile-subline,
:root:not([data-theme="dark"]) .pp-mobile-requirement,
:root:not([data-theme="dark"]) .pp-mobile-footer small {
    color: var(--muted);
}
:root:not([data-theme="dark"]) .pp-mobile-kicker,
:root:not([data-theme="dark"]) .pp-mobile-secondary-link {
    color: #08786e;
}
:root:not([data-theme="dark"]) .pp-mobile-footer,
:root:not([data-theme="dark"]) .pp-mobile-footer > a {
    color: var(--ink);
    background: #fff;
    border-color: #cedde5;
}
:root:not([data-theme="dark"]) .public-site :is(a, button, input, select):focus-visible {
    outline: 3px solid #176a98;
    outline-offset: 4px;
}
/* Keep neighboring sections aligned and separated, including the release card. */
.product-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 18px;
}
.product-detail-actions a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: var(--teal);
    font-weight: 650;
    font-size: 14px;
    text-decoration: underline;
    text-underline-offset: 4px;
}
:root:not([data-theme="dark"]) .product-device-list-icon {
    color: #08786e;
    background: #e4f2ed;
    border-color: #bfddd2;
}
:root:not([data-theme="dark"]) .pp-mobile-gallery {
    color: var(--ink);
    background: #f2f7fa;
}
:root:not([data-theme="dark"]) .pp-mobile-gallery .eyebrow {
    color: #08786e;
}
:root:not([data-theme="dark"]) .pp-gallery-copy h3,
:root:not([data-theme="dark"]) .pp-gallery-caption h4,
:root:not([data-theme="dark"]) .pp-gallery-device-label strong {
    color: var(--ink);
}
:root:not([data-theme="dark"]) .pp-gallery-copy > p,
:root:not([data-theme="dark"]) .pp-gallery-caption p,
:root:not([data-theme="dark"]) .pp-gallery-device-label,
:root:not([data-theme="dark"]) .pp-gallery-caption-meta > span,
:root:not([data-theme="dark"]) .pp-gallery-gesture-hint {
    color: var(--muted);
}
:root:not([data-theme="dark"]) .pp-screen-option,
:root:not([data-theme="dark"]) .pp-gallery-nav,
:root:not([data-theme="dark"]) .pp-gallery-caption {
    color: #314e68;
    background: #fff;
    border-color: #cbdce5;
    box-shadow: 0 6px 18px rgba(24, 52, 76, .06);
}
:root:not([data-theme="dark"]) .pp-screen-option > span {
    color: #405e76;
    background: #eef4f7;
}
:root:not([data-theme="dark"]) .pp-screen-option.is-active {
    color: #fff;
    background: #176a98;
    border-color: #176a98;
}
:root:not([data-theme="dark"]) .pp-screen-option.is-active > span {
    color: #134364;
    background: #e1f0f7;
}
:root:not([data-theme="dark"]) .pp-gallery-dots span { background: #adbecb; }
:root:not([data-theme="dark"]) .pp-gallery-dots span.is-active { background: #176a98; }
:root:not([data-theme="dark"]) .pp-gallery-phone { box-shadow: 0 22px 44px rgba(24, 52, 76, .18); }
.product-detail-main > .product-info-grid { margin-bottom: 28px; }
.public-error-site { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.public-error-card { width: min(100%, 640px); padding: clamp(24px, 5vw, 48px); border: 1px solid var(--line); border-radius: 24px; background: var(--paper); box-shadow: var(--shadow-sm); }
.public-error-card .site-brand { margin-bottom: 36px; }
.public-error-card h1 { font-size: clamp(26px, 4vw, 38px); line-height: 1.3; }
.public-error-card p { line-height: 1.75; }
.public-error-reference { overflow-wrap: anywhere; color: var(--muted); font-size: 13px; }
.public-error-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.public-skip-link { position: fixed; z-index: 10000; inset-inline-start: 16px; top: -100px; padding: 12px 20px; border-radius: 8px; background: var(--ink); color: var(--paper); }
.public-skip-link:focus { top: 12px; outline: 3px solid var(--teal); outline-offset: 3px; }
html:root .public-site a.public-skip-link,
html:root .public-site a.public-skip-link:focus { color: #fff; background: #13283e; }
.product-detail-hero .hero-actions .btn-light { min-width: 0; max-width: 100%; white-space: normal; text-align: center; }
.product-detail-hero .hero-actions .btn-light > span { min-width: 0; overflow-wrap: anywhere; }
.product-detail-main > .product-release-preview { margin-block: 28px 48px; }
@media (prefers-reduced-motion: reduce) {
    .public-site *, .public-site *::before, .public-site *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}
