:root {
    /* COLORS */
    --bg: #140a0f;
    --bg-dark: #050203;
    --bg-light: #341c26;
    --bg-normal: #24131b;

    --primary: #d14d73;
    --primary-dark: #8f2848;

    --text: #fff7fa;
    --text-muted: #d7bcc5;

    --shadow: rgba(209, 77, 115, 0.38);
    --shadow-strong: rgba(143, 40, 72, 0.70);

    /* FONTS */
    --font-title: 'Cinzel', serif;
    --font-body: 'EB Garamond', serif;

    /* BANNER */
    --banner-bg-top: rgba(20, 10, 15, 0.28);
    --banner-bg-bottom: rgba(5, 2, 3, 0.94);

    --banner-overlay: rgba(209, 77, 115, 0.22);
    --banner-overlay-soft: rgba(209, 77, 115, 0.08);

    --banner-shadow: rgba(120, 20, 50, 0.55);
    --banner-shadow-dark: rgba(0, 0, 0, 0.94);

    --banner-image: url("../../Canti/V/res/images/sfondoVcanto.jpg");
}

body
{
    padding-top: 30px;
    background-color: var(--bg);
    color: var(--text);
    font-family: var(--font-body);
    align-items: center;
}

h1
{
    text-align:center;
    color: var(--common-primary);
    font-family: var(--font-title);
    text-shadow: 0 0 10px var(--shadow-strong);
}

.titolo-paragrafo
{
    margin-top: 0px;
    color: var(--common-primary);
}

.testo
{
    margin: 50px;
    background-color: var(--bg-normal);
}

img
{
    border-radius: 15px;
    border:  2px solid var(--shadow);
    width: auto;
    max-width: 25%;
    height: 100%;
    box-shadow: 0 0 15px var(--shadow);
}

section:nth-child(even) .testo{
    flex-direction: row-reverse;
}

/*banner per le parole evidenziate nel testo*/
.tooltip-word .tooltip-box 
{
    display: none;
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);

    background: var(--bg-light);
    color: var(--text);

    border: 1px solid var(--common-primary);

    padding: 10px 14px;
    border-radius: 8px;

    width: 220px;

    font-family: var(--font-body);
    font-size: 0.95rem;
    line-height: 1.5;

    z-index: 100;
    pointer-events: none;
    white-space: normal;

    box-shadow: 0 0 12px var(--shadow);
}
.tooltip-word:hover .tooltip-box 
{
     display: block;
}
.tooltip-word 
{
    color: var(--common-primary);

    border-bottom: 1px dotted currentColor;
    cursor: help;
    position: relative;
    display: inline;
} 



/*parte per i personaggi*/
.card
{
    margin:0;
    background-color: var(--bg-light);   
}

.testo,.card
{   
    border: 2px solid var(--primary);
    padding:35px;
    border-radius: 15px;
    display: flex;
    gap: 20px;
    align-items: flex-start;
    font-size: large;
    box-shadow: 0 0 18px var(--shadow);
}

.card-body 
{
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.section-img--portrait 
{
    width: 220px;
    max-width: 220px;
    height: 220px;
    object-fit: cover;
    border-radius: 10px;
    display: block;
}

.section-image-wrap 
{
    flex-shrink: 0;
    width: 220px;
    height: 220px;
    box-shadow: 0 0 15px var(--shadow);
}


.card-body 
{
    display: flex;
    gap: 24px;
    align-items: flex-start;
}

.card-titolo 
{
    margin: 0;
    padding: 0;
    padding-left: 20px;
}

.card-content 
{
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
    padding-top: 0;
    min-width: 0;
}


.card-testo 
{
    flex: 1;
    padding-left: 20px;
}


/* SLIDER */
.slider 
{
    flex: 2;
    display: flex;
    flex-direction: column;
}

/* RADIO NASCOSTI */
.slider input[type="radio"] 
{
    display: none;
}

/* CARD SLIDER */
.slider .card 
{
    display: none;
    min-height: 270px;
    border-top-left-radius:0px;
}

/* MOSTRA ATTIVA */
/* PLACE */
#pers_minosse:checked  ~ .card.pers_minosse,
#pers_francesca:checked~ .card.pers_francesca,
#pers_paolo:checked    ~ .card.pers_paolo
{
    display: flex;
}

/* BOTTONI */
.controls 
{
    display: flex;
    gap: 6px;
    margin-bottom: -2px;
}

.controls label 
{
    padding: 10px 18px;

    background: var(--bg-dark);
    color: var(--primary);

    border: 1px solid var(--primary);
    border-bottom: none;

    border-radius: 12px 12px 0 0;

    cursor: pointer;
    font-weight: bold;

    transition: 0.2s;
}

.controls label:hover 
{
    background: var(--bg-light);
    color: var(--text);
    box-shadow: 0 0 10px var(--shadow);
}

/* ATTIVO */
#pers_minosse:checked  ~ .controls label[for="pers_minosse"],
#pers_francesca:checked~ .controls label[for="pers_francesca"],
#pers_paolo:checked    ~ .controls label[for="pers_paolo"] 
{
    background-color: var(--bg-light);
    color: var(--text);
    transform: translateY(2px);
}

/* ICON */
.icon
{
    width:20px;
    height: 20px;

    object-fit: contain;

    display: inline-block;
    vertical-align: middle;

    filter: drop-shadow(0 0 2px var(--shadow));

    margin-right: 5px;
}

.controls label:hover .icon 
{
    transform: scale(1.12);

    filter: drop-shadow(0 0 8px var(--shadow-strong));
}

/* ICONA ATTIVA */
#pers_minosse:checked  ~ .controls label[for="pers_minosse"].icon
#pers_francesca:checked~ .controls label[for="pers_francesca"].icon
#pers_paolo:checked    ~ .controls label[for="pers_paolo"].icon 
{
    filter: drop-shadow(0 0 10px var(--shadow-strong));
    transform: scale(1.08);
}



/*parte per il testo e parafrasi del canto*/
aside 
{
    float: right;
    width: 50%;
}

.parafrasi 
{
    position: absolute;
    top: 25%;
    right: 0;
    width: 45%;
}

.testoCanto
{
    background-color: var(--bg-normal);
    border: 2px solid var(--primary);
    margin: 30px;
    padding:50px;
    border-radius: 15px;
}

