/* Experience Worlds – static page + shared labels */

.ew-page {
    --ew-accent: #c80068;
    --ew-text: #2b2b2b;
    --ew-muted: #6b6b6b;
    --ew-card: #ffffff;
    --ew-card-alt: #faf7fb;
    --ew-border: #e6e1e8;
    --ew-chip: #f6eef3;
    max-width: none;
    margin: 0;
    padding: 0 0 40px;
    color: var(--ew-text);
    line-height: 1.65;
}

body.dark-theme .ew-page {
    --ew-accent: #eed491;
    --ew-text: #e8e4df;
    --ew-muted: #a8a19a;
    --ew-card: #2a2826;
    --ew-card-alt: #242221;
    --ew-border: #3e3938;
    --ew-chip: #33302d;
}

.ew-page p { margin: 0 0 10px; }

/* Intro */
.ew-page .ew-intro {
    font-size: 1.1rem;
    color: var(--ew-muted);
    margin-bottom: 24px;
}

/* Jump links */
.ew-page .ew-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 32px;
}
.ew-page .ew-nav a {
    display: inline-block;
    padding: 7px 16px;
    border: 1px solid var(--ew-border);
    border-radius: 999px;
    background: var(--ew-chip);
    color: var(--ew-text);
    font-size: .9rem;
    text-decoration: none;
    transition: border-color .15s, color .15s;
}
.ew-page .ew-nav a:hover,
.ew-page .ew-nav a:focus-visible {
    border-color: var(--ew-accent);
    color: var(--ew-accent);
}

/* World cards */
.ew-page .ew-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 48px;
}
.ew-page .ew-card {
    background: var(--ew-card);
    border: 1px solid var(--ew-border);
    border-top: 3px solid var(--ew-accent);
    border-radius: 12px;
    padding: 22px 24px 18px;
    scroll-margin-top: 90px;
}
.ew-page .ew-card h2 {
    margin: 0 0 4px;
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--ew-text);
}
.ew-page .ew-tagline {
    font-size: .9rem;
    color: var(--ew-accent);
    margin-bottom: 14px !important;
}
.ew-page .ew-examples {
    font-size: .9rem;
    color: var(--ew-muted);
    border-top: 1px dashed var(--ew-border);
    padding-top: 10px;
    margin-top: 14px !important;
    margin-bottom: 0 !important;
}

/* BDSM & Fetish: full width, visibly set apart */
.ew-page .ew-card.ew-separate {
    grid-column: 1 / -1;
    background: var(--ew-card-alt);
    border-top-style: dashed;
}

/* Section headings */
.ew-page .ew-section-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 18px;
    color: var(--ew-text);
    scroll-margin-top: 90px;
}

/* Glossary */
.ew-page .ew-terms {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 48px;
    padding: 0;
}
.ew-page .ew-term {
    background: var(--ew-card);
    border: 1px solid var(--ew-border);
    border-radius: 10px;
    padding: 14px 18px;
}
.ew-page .ew-term dt {
    font-weight: 700;
    color: var(--ew-accent);
    margin-bottom: 4px;
}
.ew-page .ew-term dd {
    margin: 0;
    font-size: .95rem;
    color: var(--ew-text);
}

/* Filter note */
.ew-page .ew-note {
    border-left: 3px solid var(--ew-accent);
    background: var(--ew-card-alt);
    border-radius: 0 10px 10px 0;
    padding: 18px 22px;
    scroll-margin-top: 90px;
}
.ew-page .ew-note h3 {
    margin: 0 0 8px;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--ew-text);
}
.ew-page .ew-note p:last-child { margin-bottom: 0; }

/* Undo the theme's generic static-page list padding inside our blocks */
.static-page section#controller_area .ew-page dl { padding: 0; }

@media (max-width: 768px) {
    .ew-page .ew-grid,
    .ew-page .ew-terms { grid-template-columns: 1fr; }
    .ew-page .ew-card { padding: 18px 18px 14px; }
    .ew-page .ew-intro { font-size: 1rem; }
}
