/**
 * Arcana Lexicon Styles
 * 
 * These are baseline styles that can be overridden by your theme or Elementor.
 * The classes are intentionally specific to avoid conflicts.
 */

/* ==========================================================================
   Lexicon Terms on Posts
   ========================================================================== */

.arcana-lexicon-section {
}

.arcana-lexicon-heading {
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
}

.arcana-lexicon-terms {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

.arcana-lexicon-terms--columns {
    grid-template-columns: 1fr;
}

/* Two columns on tablet and up */
@media (min-width: 768px) {
    .arcana-lexicon-terms--columns {
        grid-template-columns: 1fr 1fr;
    }
}

.arcana-lexicon-entry {
    margin-bottom: 0;
}

.arcana-lexicon-term-link {
    display: none;
}

.arcana-lexicon-term-name {
    display: block;
    font-family: "Montserrat", Sans-serif;
    font-size: 0.8em;
    font-weight: 600;
    text-transform: uppercase;
    line-height: 1.2em;
    letter-spacing: 1.6px;
    color: var(--e-global-color-accent, #5c6352);
    padding-bottom: 14px;
}

.arcana-lexicon-separator {
    display: none;
}

.arcana-lexicon-definition {
    font-size: 0.9em;
    line-height: 1.5;
}


/* ==========================================================================
   Lexicon Archive Page
   ========================================================================== */

.arcana-lexicon-archive {
    /* Container for the full archive */
}

/* Letter Navigation */
.arcana-lexicon-nav {
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid currentColor;
    opacity: 0.8;
}

.arcana-lexicon-nav-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.arcana-lexicon-nav-list li {
    margin: 0;
    padding: 0;
}

.arcana-lexicon-nav-list a {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    text-decoration: none;
    font-weight: 600;
}

.arcana-lexicon-nav-list a:hover {
    text-decoration: underline;
}

/* Letter Groups */
.arcana-lexicon-letter-group {
    margin-bottom: 2.5rem;
}

.arcana-lexicon-letter-heading {
    font-size: 2rem;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid currentColor;
}

.arcana-lexicon-archive-entry {
    margin-bottom: 0.75rem;
}

/* Archive entries use same styling as post entries */
.arcana-lexicon-archive .arcana-lexicon-entry {
    margin-bottom: 0.75rem;
}


/* ==========================================================================
   Utility Classes (for Elementor or manual use)
   ========================================================================== */

/* Force single column */
.arcana-lexicon-terms--single-column {
    grid-template-columns: 1fr !important;
}

/* Force two columns regardless of screen size */
.arcana-lexicon-terms--force-columns {
    grid-template-columns: 1fr 1fr !important;
}

/* Hide the section heading if needed */
.arcana-lexicon-section--no-heading .arcana-lexicon-heading {
    display: none;
}

/* Compact spacing variant */
.arcana-lexicon-terms--compact .arcana-lexicon-entry {
    margin-bottom: 0.5rem;
}

/* Larger separator for visual emphasis */
.arcana-lexicon-terms--large-separator .arcana-lexicon-separator {
    margin: 0 0.5em;
    font-size: 1.2em;
}

/* ==========================================================================
   The way out of the post block
   The terms themselves stay unlinked — the block exists so a definition can
   be read where it stands. One link carries on to the whole Lexicon.
   ========================================================================== */

.arcana-lexicon-more {
    --arcana-lexicon-more-size: 0.8rem;
    --arcana-lexicon-more-tracking: 0.18em;
    --arcana-lexicon-more-color: currentColor;

    margin: 1.5rem 0 0;
}

.arcana-lexicon-more-link {
    font-size: var(--arcana-lexicon-more-size);
    font-weight: 600;
    letter-spacing: var(--arcana-lexicon-more-tracking);
    text-transform: uppercase;
    color: var(--arcana-lexicon-more-color);
    text-decoration: none;
    border-bottom: 1px solid color-mix(in srgb, currentColor 45%, transparent);
    padding-bottom: 2px;
    transition: border-color 0.22s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.arcana-lexicon-more-link:hover,
.arcana-lexicon-more-link:focus {
    border-bottom-color: currentColor;
}

/* ==========================================================================
   Archive lexicon list
   The right-hand column of the Lexicon panel that closes a path archive.
   The panel around it — background, heading, standfirst — is page furniture
   and belongs to the page builder; only the list is styled here.
   ========================================================================== */

/*
 * The colours are drawn from `currentColor` rather than hard-coded, so the
 * list takes on whatever the panel it sits in has set. Dropped onto the sage
 * panel it reads cream; on a light section it reads dark, with no second set
 * of values to keep in step. Override any token to break from that.
 */
.arcana-lexicon-list {
    --arcana-lexicon-list-rule: color-mix(in srgb, currentColor 22%, transparent);
    --arcana-lexicon-list-term-font: inherit;
    --arcana-lexicon-list-term-size: 1.35rem;
    --arcana-lexicon-list-term-color: currentColor;
    --arcana-lexicon-list-def-size: 0.9rem;
    --arcana-lexicon-list-def-color: color-mix(in srgb, currentColor 84%, transparent);
    --arcana-lexicon-list-def-measure: 46ch;
    --arcana-lexicon-list-item-gap: 18px;
    --arcana-lexicon-list-cta-bg: #c19f6f;
    --arcana-lexicon-list-cta-bg-hover: #e0c8a5;
    --arcana-lexicon-list-cta-color: #191614;

    display: flex;
    flex-direction: column;
}

.arcana-lexicon-list__item {
    border-top: 1px solid var(--arcana-lexicon-list-rule);
    padding: var(--arcana-lexicon-list-item-gap) 0;
}

.arcana-lexicon-list__term {
    display: block;
    font-family: var(--arcana-lexicon-list-term-font);
    font-size: var(--arcana-lexicon-list-term-size);
    line-height: 1.2;
    color: var(--arcana-lexicon-list-term-color);
}

.arcana-lexicon-list__def {
    margin: 8px 0 0;
    font-size: var(--arcana-lexicon-list-def-size);
    line-height: 1.66;
    color: var(--arcana-lexicon-list-def-color);
    max-width: var(--arcana-lexicon-list-def-measure);
}

.arcana-lexicon-list__foot {
    border-top: 1px solid var(--arcana-lexicon-list-rule);
    padding-top: 20px;
}

.arcana-lexicon-list__cta {
    display: inline-block;
    background: var(--arcana-lexicon-list-cta-bg);
    color: var(--arcana-lexicon-list-cta-color);
    border-radius: 2px;
    padding: 14px 26px;
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background 0.22s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.arcana-lexicon-list__cta:hover,
.arcana-lexicon-list__cta:focus {
    background: var(--arcana-lexicon-list-cta-bg-hover);
    color: var(--arcana-lexicon-list-cta-color);
}
