/* Pagina Listini: prezzi testuali, leggibili e aggiornabili dall'area admin. */
.prices-hero {
    min-height: 460px;
    background:
        radial-gradient(circle at 84% 28%, rgba(255, 138, 0, .15), transparent 26rem),
        radial-gradient(circle at 10% 75%, rgba(21, 156, 255, .15), transparent 28rem),
        #050506;
}
.prices-hero h1 { font-size: clamp(60px, 8.5vw, 122px); }
.prices-hero > p { max-width: 720px; }
.prices-section { padding-top: clamp(68px, 8vw, 112px); }
.prices-intro {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 36px;
    margin-bottom: clamp(34px, 5vw, 68px);
}
.prices-intro h2 {
    margin: 20px 0 0;
    font-size: clamp(44px, 6.2vw, 82px);
    line-height: .9;
    letter-spacing: -.06em;
    text-transform: uppercase;
}
.prices-intro p {
    max-width: 450px;
    margin: 0;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.7;
}
.prices-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: clamp(44px, 6vw, 76px);
}
.prices-categories a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 14px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    color: #e5e5e9;
    background: rgba(255, 255, 255, .035);
    font-size: 12px;
    font-weight: 800;
    transition: border-color .2s, color .2s, background .2s;
}
.prices-categories a:hover,
.prices-categories a:focus-visible {
    border-color: var(--blue);
    color: #fff;
    background: rgba(21, 156, 255, .13);
}
.prices-categories a span { color: var(--gold); }
.prices-list { display: grid; gap: clamp(50px, 7vw, 95px); }
.prices-category {
    display: grid;
    grid-template-columns: minmax(220px, .42fr) minmax(0, 1fr);
    gap: clamp(25px, 4vw, 65px);
    padding-top: 26px;
    border-top: 1px solid rgba(255, 255, 255, .21);
    scroll-margin-top: 115px;
}
.prices-category-heading { display: flex; align-items: start; gap: 16px; }
.prices-category-number {
    padding-top: 7px;
    color: var(--gold);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
}
.prices-category-heading h2 {
    margin: 0;
    font-size: clamp(26px, 3vw, 42px);
    line-height: 1.05;
    letter-spacing: -.045em;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}
.prices-category-heading p {
    margin: 14px 0 0;
    max-width: 330px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.6;
}
.prices-rows { min-width: 0; border: 1px solid rgba(255, 255, 255, .15); background: #0d0d13; }
.prices-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 20px;
    padding: 16px 19px;
    border-bottom: 1px solid rgba(255, 255, 255, .11);
}
.prices-row:last-child { border-bottom: 0; }
.prices-row:nth-child(even) { background: rgba(255, 255, 255, .025); }
.prices-item-name { color: #e9e9ed; font-size: 15px; line-height: 1.45; overflow-wrap: anywhere; }
.prices-item-price {
    flex: 0 0 auto;
    color: var(--gold);
    font-size: 18px;
    font-weight: 900;
    white-space: nowrap;
}
.prices-item-price small { color: var(--muted); font-size: 11px; font-weight: 700; }
.prices-cta p { max-width: 520px; margin: 0 auto 28px; color: var(--muted); line-height: 1.7; }
.prices-empty { padding: clamp(30px, 5vw, 62px); border: 1px solid var(--line); background: var(--panel); }
.prices-empty h2 { margin: 0 0 14px; font-size: clamp(28px, 4vw, 48px); }
.prices-empty p { color: var(--muted); line-height: 1.6; }
.prices-empty a { display: inline-block; margin-top: 12px; color: var(--gold); font-weight: 800; }
/* Otto voci di navigazione: menu compatto prima che il desktop vada a capo. */
@media (max-width: 1360px) {
    .site-nav { overflow: visible !important; }
    .site-nav .nav-links,
    .site-nav .install-desktop { display: none !important; }
    .site-nav .mobile-menu { display: block; margin-left: auto; }
}
@media (max-width: 900px) {
    .prices-intro { display: block; }
    .prices-intro p { margin-top: 26px; }
    .prices-category { grid-template-columns: minmax(0, 1fr); gap: 22px; }
}
@media (max-width: 550px) {
    .prices-section { padding-inline: 18px; }
    .prices-categories { gap: 8px; }
    .prices-categories a { font-size: 11px; }
    .prices-row { flex-direction: column; align-items: flex-start; gap: 7px; padding: 15px; }
    .prices-item-price { white-space: normal; }
}
