/* Shared appearance tokens. Loaded after both legacy themes. */
html[data-jat-mode] {
 --jat-bg:#f6f3ed; --jat-panel:#fffdf9; --jat-raised:#eeeae2;
 --jat-text:#24282b; --jat-muted:#5a6268; --jat-border:#d3cec4;
 --jat-accent:#79551e; --jat-button:#805b25; --jat-button-text:#ffffff;
 --jat-soft:#eee2cc; --jat-shadow:0 12px 36px rgb(31 26 16 / 6%);
 color-scheme:light;
 --primary:var(--jat-soft); --secondary:var(--jat-accent); --black:var(--jat-text);
 --white:var(--jat-panel); --border:var(--jat-border); --gray:var(--jat-muted); --ghostColor:var(--jat-bg);
 --bs-body-bg:var(--jat-bg); --bs-body-color:var(--jat-text); --bs-border-color:var(--jat-border);
}
html[data-jat-mode="dark"] {
 color-scheme:dark; --jat-bg:#121517; --jat-panel:#1b2023; --jat-raised:#252c30;
 --jat-text:#f3eee5; --jat-muted:#b8bfc3; --jat-border:#414a50;
 --jat-accent:#d8b67c; --jat-button:#d8b67c; --jat-button-text:#191b1c;
 --jat-soft:#332d23; --jat-shadow:0 12px 36px rgb(0 0 0 / 18%);
}
html[data-jat-palette="rose"][data-jat-mode="light"] { --jat-accent:#94405b; --jat-button:#94405b; --jat-soft:#f3dfe6; }
html[data-jat-palette="rose"][data-jat-mode="dark"] { --jat-bg:#17151b; --jat-panel:#221e28; --jat-raised:#2e2835; --jat-accent:#e1a0b5; --jat-button:#e1a0b5; --jat-soft:#3b2934; }
html[data-jat-palette="emerald"][data-jat-mode="light"] { --jat-accent:#23634e; --jat-button:#23634e; --jat-soft:#dcece2; }
html[data-jat-palette="emerald"][data-jat-mode="dark"] { --jat-bg:#111916; --jat-panel:#1a2520; --jat-raised:#25332d; --jat-accent:#8ccfb1; --jat-button:#8ccfb1; --jat-soft:#233e31; }
html[data-jat-mode] body { background:var(--jat-bg); color:var(--jat-text); }
html[data-jat-mode] :is(h1,h2,h3,h4,h5,h6,label,.text-dark,.text-body) { color:var(--jat-text)!important; }
html[data-jat-mode] :is(.text-muted,.text-secondary,.text-gray,.form-text) { color:var(--jat-muted)!important; }
html[data-jat-mode] a { color:var(--jat-accent); }
html[data-jat-mode] :is(.bg-white,.bg-light,.theme-color,.card,.modal-content,.dropdown-menu,.list-group-item,.accordion-item,.accordion-body,.accordion-button,.page-wrapper,.main-wrapper,.preloader) { background-color:var(--jat-panel)!important; color:var(--jat-text); }
html[data-jat-mode] :is(.card,.modal-content,.dropdown-menu,.border,.borderTableOutline,.accordion-item) { border-color:var(--jat-border)!important; }
html[data-jat-mode] :is(.card-header,.card-footer,.modal-header,.modal-footer,.dropdown-divider,hr) { border-color:var(--jat-border); }
html[data-jat-mode] :is(.card-header,.card-footer,.tableHeaderColorGray,.listStriped,.bgGreen,.image-input,.storyDetailImageSize) { background:var(--jat-raised)!important; color:var(--jat-text); }
html[data-jat-mode] .card { border-radius:14px; box-shadow:var(--jat-shadow); }
html[data-jat-mode] :is(.form-control,.form-select,.custom-select,.input-group-text,.custom-file-label,textarea,input[type="file"],.select2-dropdown,.select2-selection--single,.select2-selection--multiple,.select2-search__field,.note-editor,.note-editable,.note-toolbar,.note-statusbar) { background-color:var(--jat-panel)!important; color:var(--jat-text)!important; border-color:var(--jat-border)!important; }
html[data-jat-mode] :is(input,textarea)::placeholder { color:var(--jat-muted)!important; opacity:1; }
html[data-jat-mode] :is(.form-control,.form-select,.custom-select):disabled { background-color:var(--jat-raised)!important; opacity:.75; }
html[data-jat-mode] input::file-selector-button { background:var(--jat-raised); color:var(--jat-text); border:0; border-right:1px solid var(--jat-border); padding:.55em .8em; margin-right:.75em; cursor:pointer; }
html[data-jat-mode] :is(a,button,input,select,textarea):focus-visible { outline:3px solid var(--jat-accent); outline-offset:3px; }
html[data-jat-mode] :is(.btn-primary,.btn-custom,.btn-custom2,.cmn-btn,.btn-base,.bg-primary,.badge-primary,.page-item.active .page-link) { background:var(--jat-button)!important; color:var(--jat-button-text)!important; border-color:var(--jat-button)!important; }
html[data-jat-mode] :is(.btn-primary,.btn-custom,.btn-custom2,.cmn-btn) :is(i,span) { color:inherit!important; }
html[data-jat-mode] :is(.btn-primary,.btn-custom,.btn-custom2,.cmn-btn):hover { filter:brightness(1.08); }
html[data-jat-mode] :is(.btn-outline-primary,.btn-outline-secondary,.btn-light,.btn-secondary,.page-link) { background:var(--jat-panel); color:var(--jat-accent); border-color:var(--jat-border); }
html[data-jat-mode] :is(.btn-outline-primary,.btn-outline-secondary,.btn-light,.btn-secondary):hover { background:var(--jat-soft); color:var(--jat-text); }
html[data-jat-mode] .text-primary { color:var(--jat-accent)!important; }
html[data-jat-mode] :is(.dropdown-item,.select2-selection__rendered,.select2-results__option,.borderTableOutline .lebel) { color:var(--jat-text)!important; }
html[data-jat-mode] :is(.dropdown-item:hover,.dropdown-item:focus,.select2-results__option--highlighted,.select2-results__option[aria-selected="true"],.accordion-button:not(.collapsed)) { background:var(--jat-soft)!important; color:var(--jat-accent)!important; }
html[data-jat-mode] .select2-selection__choice { background:var(--jat-raised)!important; color:var(--jat-text)!important; border-color:var(--jat-border)!important; }
html[data-jat-mode] :is(.table,.table td,.table th) { color:var(--jat-text); border-color:var(--jat-border); --bs-table-striped-bg:var(--jat-raised); --bs-table-striped-color:var(--jat-text); --bs-table-hover-color:var(--jat-text); --bs-table-hover-bg:var(--jat-soft); }
html[data-jat-mode] :is(.table thead th,.table .thead-light th) { background:var(--jat-raised); color:var(--jat-muted); }
html[data-jat-mode] .table-striped tbody tr:nth-of-type(odd) { background:var(--jat-raised); }
html[data-jat-mode] .table-hover tbody tr:hover { background:var(--jat-soft); color:var(--jat-text); }
html[data-jat-mode="dark"] .close { color:var(--jat-text); text-shadow:none; }
html[data-jat-mode="dark"] .btn-close { filter:invert(1); }
html[data-jat-mode="dark"] .alert-success { background:#183c2e; color:#b9efd4; border-color:#38765a; }
html[data-jat-mode="dark"] .alert-danger { background:#422328; color:#ffd2d8; border-color:#884650; }
html[data-jat-mode="dark"] .alert-warning { background:#3b301e; color:#f8dc9d; border-color:#826939; }
html[data-jat-mode="dark"] .alert-info { background:#203840; color:#c3e8f5; border-color:#456a7b; }
html[data-jat-mode="dark"] :is(.invalid-feedback,.text-danger) { color:#ff9dad!important; }
html[data-jat-mode="dark"] .text-success { color:#8cddad!important; }
html[data-jat-mode] :is(.alert,.badge) a { color:inherit; text-decoration:underline; }
/* Public site and member workspace. Preserve photography and image proportions. */
html[data-jat-mode][data-jat-scope="site"] :is(.navbar,.navbar.active,.footer-section,.dashboard-section .sidebar,.notification-dropdown,.search-modal .modal-content) { background:var(--jat-panel)!important; color:var(--jat-text); }
html[data-jat-mode][data-jat-scope="site"] .navbar { border-bottom:1px solid var(--jat-border); box-shadow:0 4px 20px rgb(0 0 0 / 6%); }
html[data-jat-mode][data-jat-scope="site"] :is(.nav-link,.navbar-text button,.footer-section a,.footer-section p) { color:var(--jat-text)!important; }
html[data-jat-mode][data-jat-scope="site"] :is(.nav-link.active,.nav-link:hover,.footer-section a:hover) { color:var(--jat-accent)!important; }
html[data-jat-mode="dark"] :is(.navbar-brand,.navbar-header .navbar-brand) { background:#f4eee4; border-radius:8px; padding:8px 12px; }
html[data-jat-mode][data-jat-scope="site"] :is(.sidebar ul li.active a,.sidebar ul li a:hover,.dashboard-section .sidebar ul li.active) { background:var(--jat-soft)!important; color:var(--jat-accent)!important; border-color:var(--jat-accent); }
html[data-jat-mode][data-jat-scope="site"] :is(.dashboard-section .sidebar,.dashboard-content .box,.pricing-section .box,.profile-setting .accordion-item) { border:1px solid var(--jat-border); border-radius:12px; }
html[data-jat-mode][data-jat-scope="site"] :is(.dashboard-content .box,.pricing-section .box) { background:var(--jat-panel); box-shadow:var(--jat-shadow); }
html[data-jat-mode][data-jat-scope="site"] :is(.info-btn,.typing-area button,.dashboard-section .inbox-wrapper .opposite-side .text) { background:var(--jat-soft)!important; color:var(--jat-text)!important; }
html[data-jat-mode][data-jat-scope="site"] .home-section { background-color:var(--jat-bg); }
html[data-jat-mode][data-jat-scope="site"] .navbar-text { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
/* Admin shell, including login and long data tables. */
html[data-jat-mode][data-jat-scope="admin"] :is(.topbar,.top-navbar,.navbar-header,.navbar-collapse,.left-sidebar,.scroll-sidebar,.sidebar-nav,.footer) { background:var(--jat-panel)!important; color:var(--jat-text)!important; }
html[data-jat-mode][data-jat-scope="admin"] :is(.page-wrapper,#main-wrapper,.auth-wrapper) { background-color:var(--jat-bg)!important; }
html[data-jat-mode][data-jat-scope="admin"] .left-sidebar { border-right:1px solid var(--jat-border); }
html[data-jat-mode][data-jat-scope="admin"] :is(.sidebar-link,.sidebar-link i,.nav-link,.nav-link i,.nav-small-cap,.sidebar-nav .has-arrow) { color:var(--jat-muted)!important; }
html[data-jat-mode][data-jat-scope="admin"] :is(.sidebar-link:hover,.sidebar-link.active,.selected > .sidebar-link) { background:var(--jat-soft)!important; color:var(--jat-accent)!important; }
html[data-jat-mode][data-jat-scope="admin"] .topbar { border-bottom:1px solid var(--jat-border); }
html[data-jat-mode][data-jat-scope="admin"] .navbar-brand { max-width:210px; }
html[data-jat-mode][data-jat-scope="admin"] .auth-box { border-radius:16px; overflow:hidden; box-shadow:var(--jat-shadow); }
.jat-theme-switch { display:inline-flex; align-items:center; gap:8px; margin:8px 12px; font-size:12px; white-space:nowrap; }
.jat-theme-switch select { background:var(--jat-panel); color:var(--jat-text); border:1px solid var(--jat-border); border-radius:7px; padding:7px 8px; max-width:130px; }
.jat-eyebrow { color:var(--jat-accent); font-size:12px; letter-spacing:.13em; font-weight:600; }
.jat-appearance-settings { max-width:1100px; }
.jat-appearance-settings h2 { font-size:clamp(24px,3vw,34px); margin-bottom:14px; }
.jat-appearance-settings p { max-width:78ch; line-height:1.65; }
.jat-palette-samples { display:flex; gap:10px; margin:24px 0; }
.jat-palette-samples span { width:34px; height:34px; border-radius:50%; border:3px solid var(--jat-panel); outline:1px solid var(--jat-border); }
.jat-preview-controls { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding-top:16px; border-top:1px solid var(--jat-border); }
.jat-preview-controls label { margin:0; }
.jat-preview-controls select { width:auto; }
@media(max-width:767px) { .jat-theme-switch { margin:8px 0; } .jat-preview-controls .btn { flex-grow:1; } html[data-jat-mode] .jat-appearance-settings { margin:12px!important; } }

html[data-jat-mode="dark"] .navbar-brand { color:#252525!important; }
html[data-jat-mode] .btn-link { color:var(--jat-accent); }
html[data-jat-mode] .navbar-toggler { color:var(--jat-text); }
@media(max-width:575px) {
 html[data-jat-mode][data-jat-scope="site"] .navbar-brand { font-size:28px; padding:4px 8px; }
 html[data-jat-mode][data-jat-scope="site"] .navbar-text { width:100%; justify-content:flex-end; gap:8px; padding:0; }
 html[data-jat-mode][data-jat-scope="site"] .jat-theme-switch { margin:4px auto 4px 0; }
}

html[data-jat-mode][data-jat-scope="site"] :is(.btn-flower,.btn-flower2),
html[data-jat-mode][data-jat-scope="site"] :is(.btn-flower,.btn-flower2):hover {
 background:var(--jat-button); color:var(--jat-button-text); box-shadow:0 0 0 1px var(--jat-button);
}
html[data-jat-mode][data-jat-scope="site"] :is(.btn-flower,.btn-flower2) i { color:inherit; }
html[data-jat-mode][data-jat-scope="site"] :is(.typing-area button,.scroll-up) { background:var(--jat-button)!important; color:var(--jat-button-text)!important; }
html[data-jat-mode][data-jat-scope="site"] :is(.typing-area button,.scroll-up) i { color:var(--jat-button-text)!important; }
html[data-jat-mode] .select2-selection__choice__remove { color:var(--jat-text)!important; }
html[data-jat-mode] .image-input #image-label { background:var(--jat-panel); color:var(--jat-text); border-color:var(--jat-border); }

html[data-jat-mode][data-jat-scope="site"] .navbar .navbar-text { position:static; padding:8px 0 0; width:auto; flex-wrap:nowrap; }
html[data-jat-mode][data-jat-scope="site"] .navbar .navbar-nav .nav-item { margin:0 8px; }
html[data-jat-mode][data-jat-scope="site"] .navbar .navbar-text button { padding-bottom:8px; }
@media(max-width:991px) {
 html[data-jat-mode][data-jat-scope="site"] .navbar-collapse { order:3; }
 html[data-jat-mode][data-jat-scope="site"] .navbar-text { margin-inline-end:36px; }
 html[data-jat-mode][data-jat-scope="site"] .navbar .jat-theme-switch { margin:12px 8px; }
}

html[data-jat-mode] :is(.badge.bg-warning,.badge-warning,.bg-warning.text-dark,.btn-warning) { color:#24282b!important; }
html[data-jat-mode][data-jat-scope="site"] .navbar .navbar-nav { flex-wrap:wrap; }

html[data-jat-mode] .bg-primary :is(h1,h2,h3,h4,h5,h6,.text-white,i,span) { color:var(--jat-button-text)!important; }

/* Wedding-inspired black, ruby and gold. Red actions, gold navigation. */
html[data-jat-palette="ruby"][data-jat-mode="dark"] {
 --jat-bg:#100e0f; --jat-panel:#1c1819; --jat-raised:#2a2224;
 --jat-border:#4a3c40; --jat-text:#f6eee4; --jat-muted:#c5b9b7;
 --jat-accent:#dfbd7f; --jat-button:#a52e40; --jat-button-text:#fff5e9;
 --jat-soft:#3b1e25;
}
html[data-jat-palette="ruby"][data-jat-mode="light"] {
 --jat-bg:#faf4ee; --jat-panel:#fffdfa; --jat-raised:#f0e5dd;
 --jat-border:#d9c8bf; --jat-text:#2a2022; --jat-muted:#675459;
 --jat-accent:#805a20; --jat-button:#982b3a; --jat-button-text:#fff8ee;
 --jat-soft:#f4dfe3;
}
html[data-jat-palette="ruby"] .jat-palette-samples { border-bottom:1px solid var(--jat-accent); padding-bottom:18px; }

/* The custom homepage hero must follow the same appearance as the site shell. */
html[data-jat-mode][data-jat-scope="site"] .community-hero {
 --hero-ink:var(--jat-text); --hero-sage:var(--jat-accent); --hero-accent:var(--jat-button);
 background:var(--jat-bg); color:var(--jat-text);
}
html[data-jat-mode][data-jat-scope="site"] .community-hero :is(.community-hero__intro,.community-hero__caption) { color:var(--jat-muted); }
html[data-jat-mode][data-jat-scope="site"] .community-hero .community-hero__eyebrow { color:var(--jat-accent); }
html[data-jat-mode][data-jat-scope="site"] .community-hero .community-hero__primary {
 background:var(--jat-button); border-color:var(--jat-button); color:var(--jat-button-text);
 box-shadow:var(--jat-shadow);
}
html[data-jat-mode][data-jat-scope="site"] .community-hero .community-hero__primary:hover { background:var(--jat-button); color:var(--jat-button-text); filter:brightness(1.08); }
html[data-jat-mode][data-jat-scope="site"] .community-hero .community-hero__secondary { color:var(--jat-accent); }
html[data-jat-mode][data-jat-scope="site"] .community-hero .community-hero__secondary:hover { color:var(--jat-text); }
html[data-jat-mode][data-jat-scope="site"] .community-hero :is(.community-hero__portrait,.community-hero__companionship) { background:var(--jat-raised); box-shadow:var(--jat-shadow); }
html[data-jat-mode][data-jat-scope="site"] .community-hero .community-hero__family { background:var(--jat-panel); border-color:var(--jat-accent); }
