/* Variabili */
:root {
    --font-title: 'Cinzel', serif;
    --font-body: 'EB Garamond', serif;

    /* sfondi */
    --col-bg: #2a1c17;
    --col-section-alt: #33211b;

    /* rossi */
    --col-red-dark: #5a1e1e;
    --col-red: #7a2a2a;
    --col-red-glow: rgba(180, 35, 35, 0.18);

    /* oro */
    --col-gold: #d8b35a;
    --col-gold-dim: #b78b32;

    /* testi */
    --col-parchment: #f6ecd5;
    --col-text-soft: rgba(246, 236, 213, 0.82);

    --section-pad: 96px 64px;
}

body {
    background:
        linear-gradient(rgba(18,9,9,0.94), rgba(18,9,9,0.95)),
        url("../images/pergamena.jpg");

    background-size: cover;
    background-attachment: fixed;

    color: var(--col-parchment);
    font-family: var(--font-body);

    overflow-x: hidden;
}



/* TITOLO */


#titolo {
    min-height: 84vh;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;

    padding: 70px 32px 48px;

    position: relative;
    overflow: hidden;

    background:
        radial-gradient(circle at top,
        rgba(180,35,35,0.22),
        transparent 55%),

        linear-gradient(to bottom,
        #190909 0%,
        #120909 100%);
}

/* Bordo attorno */
#titolo::before {
    content: '';

    position: absolute;

    inset: 40px 40px 64px;

    border: 1px solid rgba(212, 175, 55, 0.15);

    pointer-events: none;
}

#titolo::after {
    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    background: radial-gradient(
        circle,
        rgba(212,175,55,0.08) 0%,
        rgba(180,35,35,0.04) 35%,
        transparent 70%
    );

    top: 50%;
    left: 50%;

    transform: translate(-50%, -50%);

    pointer-events: none;
}

#titolo-contenuto {
    position: relative;
    z-index: 2;

    display: flex;
    flex-direction: column;
    align-items: center;

    gap: 20px;

    max-width: 700px;

    animation: fadeUp 1s ease both;
}

.titoletto {
    font-family: var(--font-title);

    font-size: 0.75rem;

    letter-spacing: 0.35em;

    text-transform: uppercase;

    color: var(--col-gold);
}

#titolo-titolo {
    font-family: var(--font-title);

    font-size: clamp(3rem, 8vw, 6.5rem);

    font-weight: 900;

    letter-spacing: 0.05em;

    line-height: 1.05;

    color: var(--col-parchment);

    text-shadow:
        0 0 24px rgba(212,175,55,0.15),
        0 0 60px rgba(120,0,0,0.45),
        0 4px 12px rgba(0,0,0,0.85);
}

.titolo-sottotitolo {
    font-family: var(--font-title);

    font-size: clamp(1rem, 2.5vw, 1.5rem);

    letter-spacing: 0.25em;

    text-transform: uppercase;

    color: var(--col-gold);
}

.titolo-divisore {
    font-size: 0.7rem;

    color: var(--col-gold-dim);

    letter-spacing: 0.6em;
}

.titolo-quote {
    font-size: clamp(1rem, 2vw, 1.2rem);

    font-style: italic;

    line-height: 1.8;

    color: var(--col-text-soft);

    max-width: 480px;
}

#titolo-scorri {
    position: absolute;

    bottom: 28px;
    left: 50%;

    transform: translateX(-50%);

    font-family: var(--font-title);

    font-size: 0.7rem;

    letter-spacing: 0.3em;

    color: var(--col-gold-dim);

    animation: bounce 2.4s ease-in-out infinite;
}



/* PRIMA PARTE */


#introduzione{
    padding-bottom: 120px;
}

.paragrafo {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 64px;

    align-items: center;

    padding: var(--section-pad);

    border-top: 1px solid rgba(212,175,55,0.1);
}

/* ── Blocco testo ── */
.titoletto-paragrafo {
   display: block;

    font-family: var(--font-title);

    font-size: 0.72rem;

    letter-spacing: 0.35em;

    text-transform: uppercase;

    color: var(--col-gold);

    margin-bottom: 12px;
    
}

.titolo-paragrafo {
    font-family: var(--font-title);

    font-size: clamp(1.8rem, 3.5vw, 2.8rem);

    font-weight: 600;

    letter-spacing: 0.04em;

    line-height: 1.2;

    margin-bottom: 24px;

    color: #d8b35a;
}

.testo-paragrafo {
    font-size: clamp(1rem, 1.5vw, 1.15rem);

    line-height: 1.9;

    color: var(--col-text-soft);

    margin-bottom: 18px;
}

.testo-paragrafo strong {
    color: #d8b35a;

    font-weight: 600;
}

.testo-paragrafo em {
    color: var(--col-gold);

    font-style: italic;
}


/* Blocco immagine */
.section-image-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.section-img {
    width: 100%;
    max-width: 480px;
    height: 340px;
    object-fit: cover;
    display: block;

    border: 1px solid rgba(212,175,55,0.4);
    outline: 6px solid rgba(212,175,55,0.9);
    outline-offset: -12px;

    outline-offset: -12px;

    box-shadow:
        0 0 0 1px rgba(212,175,55,0.08),
        0 12px 32px rgba(0,0,0,0.55);

    filter: sepia(20%) brightness(0.9);

    transition:
        transform 0.4s ease,
        filter 0.4s ease;
}

.section-img--portrait {
    height: 420px;
    object-fit: cover;
    object-position: top center;
}

.section-img:hover {
    filter: sepia(0%) brightness(1);
    transform: scale(1.02);
}

/* Placeholder per immagini mancanti */
.img-placeholder {
    width: 100%;
    max-width: 480px;
    height: 340px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;

    border: 1px dashed rgba(212,175,55,0.3);
    background: rgba(212,175,55,0.04);

    font-family: var(--font-title);
    font-size: 0.85rem;
    letter-spacing: 0.1em;
    color: var(--col-gold-dim);
    text-transform: uppercase;
    line-height: 1.8;
}

.img-placeholder--tall {
    height: 420px;
}


/* SECONDA PARTE */


#autore{
    background:
        linear-gradient(to bottom,
        rgba(60,10,10,0.28),
        rgba(20,8,8,0.92));

    padding-top: 120px;
    padding-bottom: 120px;
}

.date {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid rgba(212,175,55,0.15);
}

.date-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.date-num {
    font-family: var(--font-title);
    font-size: 1.7rem;
    font-weight: 600;
    color: var(--col-gold);
    line-height: 1;
}

.date-testo {
    font-family: var(--font-title);
    font-size: 0.65rem;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--col-gold-dim);
}

.date-separatore {
    font-size: 1.5rem;
    color: var(--col-gold-dim);
}


/* TERZA PARTE */


#opera{
    padding-top: 120px;
    padding-bottom: 140px;
}


/* per bottoni fighi */
/*.canto-chip {
    font-family: var(--font-title);
    font-size: 0.75rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--col-gold);
    text-decoration: none;

    padding: 8px 16px;
    border: 1px solid rgba(201, 168, 76, 0.35);
    background: rgba(201, 168, 76, 0.05);

    transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.canto-chip:hover {
    background: rgba(201, 168, 76, 0.18);
    color: var(--col-parchment);
    border-color: var(--col-gold);
}
*/

/* animazioni magiche yey*/
@keyframes bounce {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50%      { transform: translateX(-50%) translateY(8px); }
}
