/* LAYOUT GRIGLIA */
.book-layout {
    display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start;
    margin-bottom: 40px;
}

/* STILE CARDS */
.contact-card, .price-card, .included-card, .notes-card {
    background: #fff; padding: 50px; 
    border: 1px solid rgba(0,0,0,0.05);
    box-shadow: 0 20px 40px rgba(0,0,0,0.03); 
    margin-bottom: 40px; border-radius: 20px;
}

.contact-card h3, .price-card h3, .included-card h3, .notes-card h3 {
    font-family: var(--font-serif); font-size: 1.8rem; color: var(--col-forest); margin-bottom: 20px;
}

/* TIPOGRAFIA */
.label { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 2px; color: #999; display: block; margin-bottom: 5px; }
.value { font-size: 1.3rem; color: var(--col-forest); font-family: var(--font-serif); margin-bottom: 20px; display: block; }
.contact-row { display: flex; align-items: center; gap: 15px; margin-bottom: 15px; }
.contact-icon { width: 24px; height: 24px; opacity: 0.6; }

/* BOX PREZZO */
.price-box {
    background: var(--col-forest); color: var(--col-cream); padding: 40px; margin-top: 30px; text-align: center;
    border-radius: 16px;
}
.big-price { font-size: 3rem; font-family: var(--font-serif); font-weight: bold; line-height: 1; display: block;}
.price-sub { display: block; font-size: 0.9rem; opacity: 0.8; margin-top: 5px; }

/* LISTE CON ICONE */
.check-list li {
    position: relative; padding-left: 35px; margin-bottom: 15px; font-size: 1.05rem;
}
.check-list li::before {
    content: ''; position: absolute; left: 0; top: 8px; width: 20px; height: 20px;
    background-image: url('../media/svg/check.svg'); 
    background-size: contain; background-repeat: no-repeat;
}
.not-included li::before {
    background-image: url('../media/svg/x.svg'); opacity: 0.5;
}

/* --- FIX IMPORTANT NOTES (2 COLONNE) --- */
.notes-card h3 {
    border-bottom: 1px solid #eee; padding-bottom: 20px; margin-bottom: 0;
}

.notes-grid-inner {
    display: grid; grid-template-columns: 1fr 1fr; gap: 50px; margin-top: 30px;
}

.notes-section-title {
    font-family: var(--font-sans); font-weight: 700; text-transform: uppercase;
    color: var(--col-gold); letter-spacing: 2px; font-size: 0.9rem;
    margin-bottom: 15px; border-bottom: 2px solid var(--col-gold); 
    display: inline-block; padding-bottom: 5px;
}

.note-column p { font-size: 0.95rem; line-height: 1.6; color: #555; text-align: justify; }

@media (max-width: 900px) {
    .book-layout { grid-template-columns: 1fr; gap: 40px; }
    .contact-card, .price-card, .included-card, .notes-card { padding: 30px; }
    .notes-grid-inner { grid-template-columns: 1fr; gap: 30px; }
}