/* Scoped extension for the existing Temple of Zeus PHP shell. */
.toz-symbols { --s-ink:var(--text-color,#dddfe7); --s-muted:var(--text-faded,#a9b3c6); --s-gold:var(--secondary,#e8d7a1); --s-line:var(--border-container-small,#334155); --s-panel:var(--bg-container-medium,#111c2b); max-width:var(--pageWidth,1220px); margin:0 auto;  color:var(--s-ink); line-height:1.75; }
.toz-symbols * { box-sizing:border-box; }
.toz-symbols:not(.symbols-hub) h2,.toz-symbols:not(.symbols-hub) h3:not(.grid-title):not(.sources-heading) { font-family:Mate,Georgia,serif; color:var(--s-gold); line-height:1.2; font-weight:400; text-transform:none; padding:0; border:0; border-image:none; letter-spacing:0; animation:none; background-image:none!important; text-shadow:none; }
.toz-symbols:not(.symbols-hub) h2 { font-size:30px; margin:32px 0 16px; }
.toz-symbols:not(.symbols-hub) h3:not(.grid-title):not(.sources-heading) { font-size:24px; margin:0 0 12px; }
.toz-symbols:not(.symbols-hub) p:not(.credits):not(.intro):not(.title) { margin:0 0 20px; font-size:1rem; line-height:1.85; }
.toz-symbols a { text-underline-offset:4px; }
.toz-symbols a:focus-visible,.toz-symbols button:focus-visible,.toz-symbols input:focus-visible,.toz-symbols select:focus-visible { outline:2px solid var(--primary); outline-offset:5px; }
.toz-symbols .s-eyebrow { text-transform:uppercase; letter-spacing:.18em; font-size:11px; color:var(--s-muted); font-weight:600; }
.toz-symbols .s-small { font-size:13px; color:var(--s-muted); }
.toz-symbols .s-controls { display:grid; grid-template-columns:1fr minmax(220px,.55fr) auto; gap:16px; align-items:end; margin:0 0 22px; }
.toz-symbols label { font-size:12px; letter-spacing:.05em; display:block; }
.toz-symbols .s-card>a { display:flex; height:100%; flex-direction:column; text-decoration:none; }
.toz-symbols .s-card-image { aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; overflow:hidden; background:var(--bg-container-small); border-bottom:1px solid var(--border-color); }
.toz-symbols .s-card-image img { width:100%; height:100%; object-fit:contain; margin:0; border-radius:0; }
.toz-symbols .s-card .s-eyebrow { font-size:9px; letter-spacing:.1em; }
.toz-symbols .s-reading-note { border-top:1px solid var(--s-line); margin-top:38px; padding-top:20px; }
.toz-symbols .s-article-cover { margin:0 0 44px; }
.toz-symbols .s-gallery-section { border-top:1px solid var(--s-line); margin-top:40px; padding-top:10px; }
.toz-symbols .s-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 32px; }
.toz-symbols .s-article-body { max-width:100%; }
.toz-symbols .s-article-body p { font-size:var(--p-font-size,16px); line-height:var(--p-line-height,1.85); }
.toz-symbols .s-article-body section { scroll-margin-top:140px; }
.toz-symbols .s-article-body section:first-child h2 { margin-top:0; }
.toz-symbols sup a { font-size:11px; margin:0 2px; }
.toz-symbols .s-notice { border-left:3px solid #bca66d; background:var(--s-panel); padding:22px 26px; margin:0 0 30px; }
.toz-symbols .s-notice p { margin:0; font-size:15px; }
.toz-symbols [hidden] { display:none!important; }
.s-standalone { margin:0; background:#09111d; color:#dddfe7; }
.s-standalone-header,.s-standalone-footer { max-width:1220px; margin:auto; padding:24px 28px; font:14px Arial,sans-serif; border-bottom:1px solid #334155; color:#e8d7a1; }
.s-standalone-header { display:flex; justify-content:space-between; gap:20px; }
.s-standalone-header a,.s-standalone-footer a { color:inherit; }
.s-standalone-footer { border-top:1px solid #334155; border-bottom:0; padding:30px 28px; }
.s-skip { position:absolute; left:15px; top:-80px; padding:10px; background:#fff; color:#000; z-index:10000; }
.s-skip:focus { top:10px; }
@media(max-width:680px) { .toz-symbols .s-controls { grid-template-columns:1fr; gap:12px; } .toz-symbols .s-card-image { aspect-ratio:16/10; } .toz-symbols:not(.symbols-hub) h2 { font-size:27px; } }
@media(prefers-reduced-motion:reduce) { .toz-symbols * { transition:none!important; scroll-behavior:auto!important; } }
@media(max-width:680px) { .toz-symbols .s-gallery { grid-template-columns:1fr; } }
@media print { .s-standalone-header,.s-standalone-footer,.s-controls,.toz-symbols > .further-read { display:none!important; } .toz-symbols { color:#000; max-width:none; padding:0; } .toz-symbols h2,.toz-symbols h3:not(.grid-title):not(.sources-heading) { color:#000; } .toz-symbols .synthesis-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .toz-symbols .s-card { break-inside:avoid; } }

/* Use the same card component as the numerology hub, with an image above its text. */
.toz-symbols .s-card.synthesis-grid-item { padding:0; align-items:stretch; justify-content:flex-start; overflow:hidden; }
.toz-symbols .s-card > a { background-image:none; padding:0; }
.toz-symbols .s-card > a:hover { color:inherit !important; background-image:none !important; }
.toz-symbols .s-card .s-card-copy { display:flex; flex:1; flex-direction:column; padding:24px 20px; }
.toz-symbols .s-card .grid-title { font-family:Cinzel,serif; text-transform:uppercase; margin:16px 0 0; padding:0; border:0; }
.toz-symbols .s-card .grid-sub { font-size:13px; line-height:1.65; margin:12px 0 20px; }
.toz-symbols .s-read { margin-top:auto; color:var(--primary); font-size:13px; }
.toz-symbols .s-card:focus-within { outline:2px solid var(--primary); outline-offset:4px; }

/* Header search presentation, expanded to fit a labelled filter field. */
.toz-symbols .s-controls label { font-weight:600; color:var(--title-color); letter-spacing:normal; }
.toz-symbols .s-search-field { min-width:0; }
.toz-symbols .s-controls .search-form { width:100%; height:48px; margin-top:5px; }
.toz-symbols .s-controls .search-input { position:static; width:100%; min-width:0; height:auto; margin:0; padding:0 16px 0 44px; font:inherit; font-size:14px; }
.toz-symbols .s-search-icon { position:absolute; top:50%; left:16px; width:18px; height:18px; transform:translateY(-50%); background:url("../img/icons/search.png") center / contain no-repeat; filter:var(--filter); pointer-events:none; }
.toz-symbols .s-controls .search-form:focus-within { outline:2px solid var(--primary); outline-offset:2px; }
.toz-symbols .s-controls .search-input:focus-visible { outline:none; }

/* Theme-aware reset control, matching Planetary Hours. */
.toz-symbols .s-controls .reset-button { font-family:Poppins,sans-serif; font-size:14px; font-weight:var(--font-weight-buttons); min-height:48px; padding:10px 24px; cursor:pointer; letter-spacing:.5px; text-transform:uppercase; border-radius:8px; color:var(--text-faded); border:1px solid var(--border-color); background:transparent; }
.toz-symbols .s-controls .reset-button:hover { color:var(--text-color); border-color:var(--text-color); background:var(--bg-container-small); }

.toz-symbols .references li { overflow-wrap:anywhere; scroll-margin-top:130px; }

/* Page titles and author credits inherit the shared article heading styles. */
.toz-symbols > hgroup { line-height:normal; }

/* Keep semantic figures while using the shared image and caption components. */
.toz-symbols figure.image { min-width:0; max-width:100%; margin:16px 0 0; }
.toz-symbols .s-gallery .image { width:100%; }
.toz-symbols .image .caption { overflow-wrap:anywhere; }

/* Custom theme filter: the popup stays inside the site's color system. */
.toz-symbols .s-select { position:relative; min-width:0; }
.toz-symbols .s-select:has([aria-expanded="true"]) { z-index:20; }
.toz-symbols .s-select-trigger {
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    width:100%; min-height:48px; margin-top:5px; padding:12px 16px;
    font:inherit; font-size:14px; line-height:1.5; text-align:left;
    color:var(--text-color); background:var(--bg-container-medium);
    border:1px solid var(--border-color); border-radius:8px; cursor:pointer;
}
.toz-symbols .s-select-trigger:hover,
.toz-symbols .s-select-trigger[aria-expanded="true"] { border-color:var(--primary); }
.toz-symbols .s-select-chevron {
    flex-shrink:0; width:8px; height:8px; margin-top:-4px;
    border-right:2px solid currentColor; border-bottom:2px solid currentColor;
    transform:rotate(45deg); transition:transform .15s ease;
}
.toz-symbols [aria-expanded="true"] .s-select-chevron { margin-top:4px; transform:rotate(225deg); }
.toz-symbols .s-select-menu {
    position:absolute; left:0; right:0; z-index:1;
    overflow-y:auto; overscroll-behavior:contain; touch-action:pan-y;
    padding:6px; background:var(--bg-color);
    border:1px solid var(--border-color); border-radius:8px;
    box-shadow:var(--shadow-small-container);
}
.toz-symbols .s-select-option {
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    min-height:44px; padding:10px 12px; border:1px solid transparent; border-radius:5px;
    font-size:14px; line-height:1.5; color:var(--text-color); cursor:pointer;
}
.toz-symbols .s-select-option:hover,
.toz-symbols .s-select-option.is-active { background:var(--bg-container-small); border-color:var(--border-color); }
.toz-symbols .s-select-option[aria-selected="true"] { color:var(--primary); font-weight:600; }
.toz-symbols .s-select-option[aria-selected="true"]::after {
    content:""; flex-shrink:0; width:6px; height:11px; margin:0 4px;
    border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg);
}

/* The hub uses the same reading flow and grid as other section indexes. */
.toz-symbols.symbols-hub { line-height:normal; }
