/* RepublicNodes: shared client-facing visual foundation. */
.rn-platform {
    --rn-color-scheme: dark;
    --rn-ink: #f5f4f2;
    --rn-muted: #a8a6b1;
    --rn-line: rgba(255,255,255,.09);
    --rn-panel: #15151b;
    --rn-accent: #f97316;
    font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11';
    -webkit-font-smoothing: antialiased;
}
.rn-platform main { line-height: 1.65; }
.rn-platform main :is(h1,h2,h3) { letter-spacing: -.035em; text-wrap: balance; }
.rn-platform main h1 { line-height: 1.12; }
.rn-platform main :is(p,li) { text-wrap: pretty; }
.rn-platform main :is(button,a,input,select,textarea) { -webkit-tap-highlight-color: transparent; }
.rn-platform main :is(a,button,input,textarea,select):focus-visible { outline: 2px solid #fb923c !important; outline-offset: 4px; }
.rn-platform main :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]),select,textarea) {
    border-radius: 10px;
    border-color: #ffffff24 !important;
    background-color: #121218 !important;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.rn-platform main :is(input,select,textarea):focus { border-color: #f9731680 !important; box-shadow: 0 0 0 3px #f9731612; }
.rn-platform main :is(input,textarea)::placeholder { color: #898793 !important; }
.rn-platform main input:disabled { opacity: .55; }
.rn-platform main label { font-weight: 500; }
.rn-platform main [class~="bg-primary"] { background: #ed6819; border: 1px solid #ffffff14; border-radius: 10px; min-height: 42px; box-shadow: 0 1px 0 #ffffff1c inset; text-shadow: none !important; }
.rn-platform main [class~="bg-primary"]:hover { background: #fa7b2c; }
.rn-platform main :is(.rn-card,[class~="bg-background-secondary"]) { border-color: var(--rn-line) !important; border-radius: 14px; box-shadow: 0 5px 24px -15px #0008; }
.rn-platform main table { font-variant-numeric: tabular-nums; }
.rn-platform main thead { background: #ffffff03; }
.rn-platform main th { font-weight: 600; }
.rn-platform main td { border-color: var(--rn-line); }
.rn-platform main tbody tr { transition: background-color .15s; }
.rn-platform main tbody tr:hover { background-color: #ffffff02; }
.rn-platform main :is(.text-primary,.text-orange-500,.rn-heading-glow) { text-shadow: none !important; }
.rn-platform .rn-nav { background: #0d0d12f2; backdrop-filter: blur(18px); border-color: #ffffff0d; }
.rn-platform .rnn-mega { border-radius: 14px; }
.rn-platform .rnn-mega-item { border-radius: 8px; }
.rn-platform .rnn-mega-item:hover { background: #f973160a; }
.rn-platform .rnc { --surface: #141418; --muted: #b0aeb8; --faint: #96939f; }
.rn-platform .rnc-hero { position: relative; padding: 32px; border: 1px solid var(--rn-line); border-radius: 20px; background: radial-gradient(ellipse at 0% 0%,#f973160c,transparent 65%),#111115; margin-bottom: 28px; }
.rn-platform .rnc-hero-layout { display: grid; grid-template-columns: 1.3fr .7fr; gap: 40px; align-items: center; }
.rn-platform .rnc-hero-copy { min-width: 0; }
.rn-platform .rnc-hero-art { margin: 0; min-width: 0; background: #1c1c24; border-radius: 14px; overflow: hidden; border: 1px solid var(--rn-line); }
.rn-platform .rnc-hero-art img { width: 100%; height: 220px; object-fit: cover; }
.rn-platform .rnc-hero-art img:not([src*="catalog-art/"]) { object-fit: contain; padding: 16px; background: #101014; }
.rn-platform .rnc-hero-art figcaption { padding: 8px 14px; font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; color: #9995a2 !important; }
.rn-platform .rnc-card { background: #141418; box-shadow: 0 6px 24px -20px #000; }
.rn-platform .rnc-sub-img { height: 190px; padding: 14px; object-fit: contain; background: #101014; }
.rn-platform .rnc-sub-img[src*="catalog-art/"] { padding: 0; object-fit: cover; }
.rn-platform .rnc-plan { gap: 0; }
.rn-platform .rnc-plan-img { width: calc(100% + 44px); max-width: none; height: 148px; margin: -22px -22px 18px; padding: 18px; border-radius: 16px 16px 0 0; object-fit: contain; background: #101014; border-bottom: 1px solid var(--rn-line); }
.rn-platform .rnc-plan-img[src*="catalog-art/"] { object-fit: cover; padding: 0; }
.rn-platform .rnc-badge { z-index: 1; }
.rn-platform .rnc-price strong { font-variant-numeric: tabular-nums; }
.rn-platform .rnc-tabs a { font-size: .8rem; border-radius: 10px; }
.rn-platform .rnc-tabs a.is-active { background: #f9731617; color: #fdba74 !important; border-color: #f9731655; }
.rn-platform .rnc-btn { border-radius: 10px; }
.rn-platform .rnc-btn.is-primary { background: #ec6c20; }
.rn-platform .rn-product-detail { max-width: 1200px; margin: 36px auto; }
.rn-platform .rn-product-detail > .rn-product-intro { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: start; gap: 36px; padding: 32px; background: #131318 !important; border: 1px solid var(--rn-line) !important; border-radius: 20px; }
.rn-platform .rn-product-image { width: 100%; height: 360px; object-fit: contain; background: #0e0e12; padding: 24px; border: 1px solid var(--rn-line); border-radius: 14px; }
.rn-platform .rn-product-image[src*="catalog-art/"] { padding: 0; object-fit: cover; }
.rn-platform .rn-product-detail .prose { font-size: .9rem; line-height: 1.8; }
.rn-platform .rn-product-detail h1 { font-size: clamp(1.65rem,3vw,2.5rem); margin-bottom: 14px; }
.rn-platform .rn-product-note { display: flex; flex-wrap: wrap; gap: 12px 24px; padding: 18px 4px; margin-bottom: 18px; border-bottom: 1px solid var(--rn-line); font-size: .78rem; color: #a8a5b0 !important; }
.rn-platform .rn-product-note span { display: inline-flex; align-items: center; gap: 7px; }
.rn-platform .rn-product-note svg { width: 16px; height: 16px; color: #fb923c !important; }
.rn-platform main > .container { max-width: 1200px; }
.rn-platform footer { border-top-color: var(--rn-line); }
@media(max-width: 767px) {
    .rn-platform .rnc-hero { padding: 22px; }
    .rn-platform .rnc-hero-layout { grid-template-columns: 1fr; gap: 22px; }
    .rn-platform .rnc-hero-art img { height: 185px; }
    .rn-platform .rn-product-detail > .rn-product-intro { grid-template-columns: 1fr; padding: 20px; gap: 24px; }
    .rn-platform .rn-product-image { height: 230px; }
    .rn-platform .rnc-plan-img { height: 170px; }
}
@media(prefers-reduced-motion:reduce) { .rn-platform *, .rn-platform *::before, .rn-platform *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }
/* Authentication and checkout use the same compact, calm visual language. */
.rn-platform main :is(form#login,form#register,form#reset) { max-width: 520px; margin: 40px auto 64px; padding: 34px 38px; border: 1px solid #ffffff12; border-radius: 20px; background: radial-gradient(ellipse at top left,#f9731608,transparent 65%),#141419; box-shadow: 0 24px 70px -40px #000; gap: 16px; }
.rn-platform main form#register { max-width: 720px; }
.rn-platform main :is(form#login,form#register,form#reset) > div:first-child { margin: 6px 0 18px; }
.rn-platform main :is(form#login,form#register,form#reset) h1 { font-size: 1.65rem; font-weight: 650; margin-top: 22px; }
.rn-platform main :is(form#login,form#register,form#reset) label { color: #c9c6cf !important; text-shadow: none !important; font-size: .82rem; }
.rn-platform main :is(form#login,form#register,form#reset) input:not([type=checkbox]) { min-height: 46px; }
.rn-platform main :is(form#login,form#register,form#reset) a { text-shadow: none !important; }
.rn-platform main form#login a[href*="oauth/"] { flex: 1; color: #dedbe2 !important; border-color: #ffffff24; background: #ffffff03; border-radius: 10px; min-width: 130px; }
.rn-platform main form#login a[href*="oauth/"]:hover { background: #ffffff08; border-color: #ffffff40; }
.rn-platform .rn-checkout { max-width: 1200px; margin-inline: auto; }
.rn-platform .rn-checkout > div:first-child { border: 1px solid var(--rn-line); background: #131318; border-radius: 18px; padding: 26px; }
.rn-platform .rn-checkout img { border-radius: 12px; object-fit: contain; }
.rn-platform .rn-checkout img[src*="catalog-art/"] { object-fit: cover; }
@media(max-width: 639px) { .rn-platform main :is(form#login,form#register,form#reset) { padding: 26px 22px; margin-top: 22px; margin-bottom: 36px; } .rn-platform .rn-checkout > div:first-child { padding: 18px; } }

/* Navigation fits the viewport at normal zoom, including short laptop screens. */
.rn-dashboard-sidebar {
    top: calc(4rem + var(--rn-announce-h, 0px));
    bottom: 0;
    height: auto;
    min-height: 0;
    margin-top: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-gutter: stable;
    scroll-padding-block: 1rem;
    padding-bottom: env(safe-area-inset-bottom, 0px);
}
.rn-sidebar-links { min-width: 0; flex-shrink: 0; }
.rn-sidebar-links a { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
.rn-sidebar-links svg { flex-shrink: 0; }
.rnn-account-sheet { max-height: calc(100vh - 1rem); max-height: calc(100dvh - 1rem); overflow-y: auto; overscroll-behavior-y: contain; padding-bottom: max(1.5rem, env(safe-area-inset-bottom)); }
.rnn-mobile-links { padding-bottom: max(1rem, env(safe-area-inset-bottom)); }
.rn-dashboard-sidebar, .rnn-mobile-links, .rnn-account-sheet, [data-rn-dropdown], [data-rn-select-list] { scrollbar-width: thin; scrollbar-color: #77717d #ffffff05; }
@media (max-height: 480px) {
    .rnn-mobile-shell { padding: .75rem; }
    .rnn-mobile-shell > .mt-6 { margin-top: .75rem; }
}

.rn-viewport-modal { max-height: calc(100vh - 4rem); max-height: calc(100dvh - 4rem); overscroll-behavior-y: contain; }
/* Compact navigation can also open on tablets or desktops when labels need more room. */
.rnn-mobile-links .rn-sidebar-links > div:first-child { display: flex; }
[dir="rtl"] .rn-dashboard-sidebar { left: auto; right: 0; }

.rnn-mobile-panel { min-height: 0; height: 100%; overflow: hidden; }
.rnn-mobile-shell { display: flex; flex-direction: column; height: 100%; min-height: 0; overflow: hidden; }
.rnn-mobile-links { flex: 1 1 0%; min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; }
.rnn-mobile-shell > .mb-4, .rnn-mobile-shell > .mt-6 { flex-shrink: 0; }

/* Content modules follow the visible storefront palette, including a saved light preference. */
.rn-platform .blog-ui{--blog-primary:var(--rn-accent);--blog-base:var(--rn-ink);--blog-neutral:var(--rn-muted);--blog-inverted:#171114;--blog-background:#0d0d12;--blog-surface:var(--rn-panel);color-scheme:dark}
.rn-platform .kb-ui{--kb-bg:#0d0d12;--kb-surface:var(--rn-panel);--kb-surface-2:#191920;--kb-text:var(--rn-ink);--kb-muted:var(--rn-muted);--kb-border:var(--rn-line);--kb-orange:var(--rn-accent);color-scheme:dark}
.rn-platform .kb-ui .kb-btn-primary{color:#1b1009!important}

.rn-platform .rn-digital-buy{display:inline-flex;align-items:center;justify-content:center;gap:14px;align-self:start;min-height:46px;padding:12px 22px;margin:18px 0 8px;background:var(--rn-accent);border:1px solid #ffad7a;border-radius:9px;color:#1b1009!important;font-size:14px;font-weight:750;text-decoration:none;transition:filter .2s}.rn-platform .rn-digital-buy>span{color:#1b1009!important}.rn-platform .rn-digital-buy:hover{filter:brightness(1.12)}.rn-platform .rn-digital-delivery{font-size:11px!important;line-height:1.7;color:var(--rn-muted)!important;margin:0 0 12px!important}@media(max-width:640px){.rn-platform .rn-digital-buy{align-self:stretch}}

.rn-platform .rnc[data-rnc-kind="digital"] .rnc-btn.is-primary,.rn-platform .rnc[data-rnc-kind="digital"] .rnc-btn.is-primary svg{color:#1b1009!important}.rn-platform .rnc-plan h3>a{color:inherit!important;text-decoration:none}.rn-platform .rnc-plan h3>a:hover{text-decoration:underline;text-underline-offset:3px}
