/* The 1% CYOA - Warm, nurturing aesthetic */

/* Hide the entire character sheet - we use our own counter */
.character-sheet {
    display: none !important;
}

:root {
    --color-bg: #faf8f5;
    --color-bg-dark: #f0ebe4;
    --color-text: #3d3832;
    --color-text-muted: #6b6358;
    --color-accent: #b8860b;
    --color-accent-soft: #d4a84b;
    --color-border: #e0d8cc;
    --color-selected: #f5eedd;
    --color-selected-border: #d4a84b;
}

body {
    background-color: var(--color-bg);
    color: var(--color-text);
    font-family: 'Georgia', 'Times New Roman', serif;
    line-height: 1.7;
}

/* Header styling */
.cyoa-header {
    background: linear-gradient(180deg, var(--color-bg-dark) 0%, var(--color-bg) 100%);
    border-bottom: 1px solid var(--color-border);
}

.cyoa-header h1 {
    color: var(--color-text);
    font-weight: normal;
    letter-spacing: 0.05em;
}

/* Navigation */
.nav-menu {
    background-color: var(--color-bg-dark);
    border: 1px solid var(--color-border);
}

.nav-menu a {
    color: var(--color-text);
}

.nav-menu a:hover {
    background-color: var(--color-selected);
    color: var(--color-accent);
}

/* Sections */
.section {
    background-color: var(--color-bg);
    border: none;
    border-radius: 8px;
    margin-bottom: 2rem;
}

/* Hide entry metadata */
.entry-metadata {
    display: none !important;
}

/* Hide minimize toggles */
.section-minimize-toggle,
.section-bottom-controls {
    display: none !important;
}

.section-title {
    color: var(--color-accent);
    font-weight: normal;
    font-size: 1.8rem;
    border-bottom: 1px solid var(--color-border);
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
}

.section-description {
    color: var(--color-text);
    font-size: 1.05rem;
}

/* Section header image - smaller, floated right */
.section-image {
    float: right;
    width: 180px;
    margin: 0 0 1rem 1.5rem !important;
    text-align: right;
}

.section-image img {
    border-radius: 6px;
    max-height: 180px !important;
    width: 100%;
    object-fit: cover;
}

/* Let description wrap around the floated image */
.section-content .info-box {
    overflow: visible;
}

/* Clear float before the choices */
.element-group {
    clear: both;
}

/* Options in a single row */
.choices-container.options-container {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.75rem;
    justify-content: flex-start;
}

.choices-container.options-container .option-item {
    flex: 1;
    min-width: 0;
}

/* Smaller text for compact options */
.option-item h3 {
    font-size: 1rem !important;
}

.option-item p {
    font-size: 0.85rem;
}

/* Entry images */
.option-item .entry-image img {
    width: 100%;
    object-fit: cover;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Entry cards - Semi-transparent golden picture frame with filigree */
.choice-item,
.option-item {
    background-color: var(--color-bg);
    border: 4px solid rgba(154, 123, 74, 0.35);
    border-radius: 0;
    transition: all 0.2s ease;
    position: relative;
    /* Layered frame effect with transparency */
    box-shadow:
        inset 2px 2px 0 rgba(184, 160, 120, 0.3),
        inset -2px -2px 0 rgba(94, 74, 42, 0.3),
        0 0 0 3px rgba(61, 50, 34, 0.25),
        0 0 0 6px rgba(138, 109, 60, 0.3),
        0 0 0 7px rgba(168, 144, 104, 0.25),
        0 0 0 8px rgba(74, 58, 36, 0.25);
    margin: 12px;
    padding: 8px;
}

/* Filigree corner decorations */
.choice-item::before,
.option-item::before,
.choice-item::after,
.option-item::after {
    position: absolute;
    font-size: 24px;
    color: rgba(138, 109, 60, 0.4);
    line-height: 1;
    pointer-events: none;
}

.choice-item::before,
.option-item::before {
    content: "❧";
    top: -2px;
    left: 2px;
    transform: rotate(-45deg);
}

.choice-item::after,
.option-item::after {
    content: "❧";
    bottom: -2px;
    right: 2px;
    transform: rotate(135deg);
}

.choice-item:hover,
.option-item:hover {
    border-color: rgba(168, 133, 90, 0.45);
    box-shadow:
        inset 2px 2px 0 rgba(196, 170, 130, 0.4),
        inset -2px -2px 0 rgba(106, 84, 52, 0.4),
        0 0 0 3px rgba(69, 56, 40, 0.35),
        0 0 0 6px rgba(150, 117, 72, 0.4),
        0 0 0 7px rgba(180, 154, 114, 0.35),
        0 0 0 8px rgba(84, 66, 44, 0.35);
}

.choice-item:hover::before,
.option-item:hover::before,
.choice-item:hover::after,
.option-item:hover::after {
    color: rgba(150, 117, 72, 0.55);
}

.choice-item.selected,
.option-item.selected {
    background-color: var(--color-selected);
    border-color: rgba(168, 133, 90, 0.5);
    box-shadow:
        inset 2px 2px 0 rgba(196, 170, 130, 0.45),
        inset -2px -2px 0 rgba(106, 84, 52, 0.45),
        0 0 0 3px rgba(69, 56, 40, 0.4),
        0 0 0 7px rgba(150, 117, 72, 0.45),
        0 0 0 8px rgba(180, 154, 114, 0.4),
        0 0 0 9px rgba(84, 66, 44, 0.4);
}

.choice-item.selected::before,
.option-item.selected::before,
.choice-item.selected::after,
.option-item.selected::after {
    color: rgba(150, 117, 72, 0.6);
}

.choice-item h3,
.option-item h3 {
    color: var(--color-accent);
    font-size: 1.3rem;
    font-weight: normal;
}

.choice-item.selected h3,
.option-item.selected h3 {
    color: var(--color-accent);
}

.choice-item p,
.option-item p {
    color: var(--color-text);
}

/* Disabled state for when selections are maxed */
.choice-item.disabled-choice,
.option-item.disabled-choice {
    opacity: 0.5;
    cursor: not-allowed;
}

.choice-item.disabled-choice:hover,
.option-item.disabled-choice:hover {
    border-color: var(--color-border);
    box-shadow: none;
}

/* Resource display */
.resource-display {
    background-color: var(--color-bg-dark);
    border: 1px solid var(--color-border);
    border-radius: 4px;
    color: var(--color-text);
}

.resource-value {
    color: var(--color-accent);
    font-weight: bold;
}

/* Character sheet */
.character-sheet {
    background-color: var(--color-bg-dark);
    border: 1px solid var(--color-border);
}

.character-sheet h3 {
    color: var(--color-accent);
}

/* Footer */
.cyoa-footer {
    background-color: var(--color-bg-dark);
    border-top: 1px solid var(--color-border);
    color: var(--color-text-muted);
}

/* Links */
a {
    color: var(--color-accent);
}

a:hover {
    color: var(--color-accent-soft);
}

/* Back link */
.back-link {
    color: var(--color-text-muted);
}

.back-link:hover {
    color: var(--color-accent);
}

/* Selection counter */
.selection-counter {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    background-color: var(--color-bg-dark);
    border: 1px solid var(--color-border);
    border-radius: 6px;
    margin-bottom: 1.5rem;
    font-size: 1.1rem;
}

.counter-label {
    color: var(--color-text-muted);
}

.counter-value {
    color: var(--color-accent);
    font-weight: bold;
}

.selection-counter.counter-full {
    background-color: var(--color-selected);
    border-color: var(--color-selected-border);
}

.selection-counter.counter-full .counter-value {
    color: var(--color-accent);
}

/* Buttons */
button, .btn {
    background-color: var(--color-bg-dark);
    border: 1px solid var(--color-border);
    color: var(--color-text);
    border-radius: 4px;
    transition: all 0.2s ease;
}

button:hover, .btn:hover {
    background-color: var(--color-selected);
    border-color: var(--color-accent-soft);
}

/* Scrollbar styling */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--color-bg-dark);
}

::-webkit-scrollbar-thumb {
    background: var(--color-border);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--color-accent-soft);
}
