/* css/graphics-guide.css
   ---------------------------------------------------------------
   Stili per la pagina Gestione Grafica (graphics-guide.html), 18/09/2026.
   Foglio dedicato e autonomo (stesso criterio di manual.css/host.css):
   non tocca stili di altre pagine. Riusa .guide-page/.guide-topbar/
   .guide-intro di css/gamepad-guide.css per la testata, qui solo gli
   stili specifici di questa pagina:
   1. Barra di ricerca intelligente (stessa tecnica di manual.css,
      rinominata con prefisso gg- per restare un foglio indipendente)
   2. Indice (TOC)
   3. Sezioni collassabili vere (<details>/<summary> nativi, non un
      finto accordion via JS — per "aumentare la lettura" come chiesto
      da Francesco, ogni sezione si apre/chiude singolarmente)
   ---------------------------------------------------------------- */

.gg-search-wrapper {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 1.2rem;
    margin-bottom: 1.2rem;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.gg-search-wrapper .gg-search-icon {
    font-size: 1.3rem;
    flex-shrink: 0;
}

#gg-search-input {
    flex: 1;
    font-size: 1.05rem;
    padding: 0.9rem 1rem;
}

.gg-search-clear-btn {
    flex-shrink: 0;
    padding: 0.7rem 1rem;
    font-size: 0.95rem;
    border-radius: 0.75rem;
    background: rgba(128, 128, 128, 0.2);
    color: var(--text-color, inherit);
    display: none;
}
.gg-search-clear-btn.visible { display: inline-flex; align-items: center; gap: 0.4rem; }

.gg-search-hint {
    font-size: 0.8rem;
    color: var(--secondary);
    opacity: 0.85;
    margin: -0.6rem auto 1.2rem auto;
    max-width: 800px;
    padding: 0 0.3rem;
}

/* =========================================================
   TRANSIZIONE TRA VISTA DI DEFAULT E RISULTATI DI RICERCA
   (stessa tecnica max-height di manual.css)
   ========================================================= */
.gg-collapsible {
    transition: opacity 0.35s ease, max-height 0.45s ease, transform 0.35s ease;
    overflow: hidden;
    max-height: 30000px;
    opacity: 1;
    max-width: 800px;
    margin: 0 auto;
}
.gg-collapsible.gg-hidden {
    max-height: 0 !important;
    opacity: 0;
    transform: translateY(-8px);
    pointer-events: none;
}

/* =========================================================
   INDICE (TABLE OF CONTENTS)
   ========================================================= */
.gg-toc-wrapper {
    padding: 1.2rem 1.4rem;
    margin-bottom: 1.5rem;
}

.gg-toc-title {
    font-size: 0.8rem;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--secondary);
    margin-bottom: 0.8rem;
}

.gg-toc-list, .gg-toc-sublist {
    list-style: none;
    margin: 0;
    padding: 0;
}

.gg-toc-sublist {
    padding-left: 1.3rem;
    border-left: 1px dashed var(--card-border);
    margin: 0.2rem 0 0.6rem 0.4rem;
}

.gg-toc-item { margin: 0.25rem 0; }

.gg-toc-item a {
    display: inline-block;
    color: var(--text-color, inherit);
    text-decoration: none;
    opacity: 0.85;
    padding: 0.15rem 0;
    border-bottom: 1px solid transparent;
    transition: opacity 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.gg-toc-item a:hover {
    opacity: 1;
    color: var(--accent-color);
    border-color: var(--accent-color);
}

.gg-toc-cat > a {
    font-weight: bold;
    font-size: 1.02rem;
}
.gg-toc-sub > a { font-size: 0.92rem; opacity: 0.8; }

/* =========================================================
   CONTENUTO: categorie (h2, non collassabili) + sezioni
   (<details> collassabili singolarmente)
   ========================================================= */
.gg-content { padding: 0.2rem 0.2rem 1rem 0.2rem; }

.gg-category {
    text-align: left;
    color: var(--accent-color);
    font-size: 1.35rem;
    margin: 2.4rem 0 1rem 0;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid var(--card-border);
    scroll-margin-top: 1.5rem;
}
.gg-category:first-child { margin-top: 0; }

.gg-section {
    margin-bottom: 0.9rem;
    border-radius: 0.85rem;
    background: rgba(128, 128, 128, 0.08);
    border: 1px solid var(--card-border);
    overflow: hidden;
    scroll-margin-top: 1.5rem;
}

.gg-section summary {
    cursor: pointer;
    padding: 1rem 1.2rem;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-weight: bold;
    user-select: none;
    transition: background 0.2s ease;
}
.gg-section summary:hover { background: rgba(128, 128, 128, 0.14); }
.gg-section summary::-webkit-details-marker { display: none; }

/* Freccina propria (non quella nativa del browser, tolta sopra),
   così ruota in modo identico su tutti i browser quando si apre. */
.gg-section summary::before {
    content: '▶';
    font-size: 0.75rem;
    color: var(--accent-color);
    transition: transform 0.2s ease;
    flex-shrink: 0;
}
.gg-section[open] summary::before { transform: rotate(90deg); }

.gg-section-title { text-align: left; }

.gg-section-body {
    padding: 0 1.3rem 1.2rem 1.3rem;
    line-height: 1.7;
    font-size: 1rem;
}
.gg-section-body p { margin: 0.9rem 0; }
.gg-section-body ol, .gg-section-body ul {
    margin: 0.9rem 0;
    padding-left: 1.6rem;
}
.gg-section-body li { margin: 0.4rem 0; }
.gg-section-body strong { color: var(--text-color, inherit); }
.gg-section-body code {
    background: rgba(128, 128, 128, 0.18);
    padding: 0.15rem 0.4rem;
    border-radius: 4px;
    font-size: 0.92em;
}
.gg-section-body a { color: var(--accent-color); }

/* =========================================================
   RISULTATI DELLA RICERCA INTELLIGENTE (stessa tecnica di manual.css)
   ========================================================= */
.gg-search-results {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.gg-result-card { padding: 1.3rem 1.5rem; }

.gg-result-card .gg-result-eyebrow {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--secondary);
    margin-bottom: 0.3rem;
}

.gg-result-card h3.gg-result-title {
    margin: 0 0 0.7rem 0;
    text-align: left;
    color: var(--accent-color);
    font-size: 1.15rem;
}
.gg-result-card h3.gg-result-title a { color: inherit; text-decoration: none; }
.gg-result-card h3.gg-result-title a:hover { text-decoration: underline; }

.gg-result-body {
    font-size: 0.97rem;
    line-height: 1.65;
    opacity: 0.95;
}

.gg-highlight {
    background: rgba(217, 70, 239, 0.3); /* magenta della guida, stesso principio di manual-highlight ma coerente col colore del pulsante di questa guida */
    color: inherit;
    padding: 0.05rem 0.15rem;
    border-radius: 3px;
    box-shadow: 0 0 0 1px rgba(217, 70, 239, 0.45);
}

.gg-no-results {
    text-align: center;
    padding: 2.5rem 1.5rem;
    color: var(--secondary);
    opacity: 0.9;
}
.gg-no-results .gg-no-results-emoji {
    font-size: 2.2rem;
    display: block;
    margin-bottom: 0.6rem;
}

@media (max-width: 640px) {
    .gg-section-body { font-size: 0.95rem; }
    .gg-toc-wrapper { padding: 1rem; }
    .gg-search-wrapper { padding: 1rem; flex-wrap: wrap; }
}
