/* Tipografia mobile-first — smartphone compatto, desktop leggermente più grande */

@import url("footer-nav.css");
@import url("forms.css");

/* Base: ~14px su smartphone — i rem nei fogli figli sono già raddoppiati */
html {
    font-size: 70.5833%;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    font-size: 1.411667rem;
    line-height: 1.4;
}

/* —— Testo corpo e UI comuni —— */
p,
.intro,
.card-line,
.card-meta-line,
.card-price,
.review-text,
.list-subtitle,
.modal-msg,
.modal label,
.modal input,
.modal textarea,
.value,
.data-row dd,
.data-row dt,
.guest-hint,
.list-search-line,
.links,
.message,
.empty,
.label,
table,
th,
td,
label,
input,
select,
textarea,
button {
    font-size: 1.310833rem;
    line-height: 1.4;
}

.search-input,
.header-auth-btn,
.header-auth-out,
.tab-button,
.modal button,
.filter-button {
    font-size: 1.310833rem;
    line-height: 1.35;
}

/* Header home */
.intro,
.header .intro {
    font-size: 1.21rem;
    line-height: 1.35;
}

.header-auth-btn,
.header-auth-out {
    font-size: 1.21rem;
}

.search-wrap .search-input,
#header-search.search-input {
    font-size: 1.310833rem;
}

.user-badge {
    font-size: 1.21rem;
}

/* Titoli */
h1 {
    font-size: 1.855333rem;
    line-height: 1.25;
}

h2 {
    font-size: 1.613333rem;
    line-height: 1.3;
}

h3 {
    font-size: 1.5125rem;
    line-height: 1.3;
}

h4 {
    font-size: 1.411667rem;
    line-height: 1.3;
}

.list-title {
    font-size: 1.694rem;
    line-height: 1.25;
}

.page-head-title,
.topbar h1,
.header h1 {
    font-size: 1.855333rem;
    line-height: 1.25;
}

.name {
    font-size: 1.411667rem;
    line-height: 1.3;
}

/* Pagina ristoranti (lista/scheda): rifiniture in restaurant-fields.css */

.photo-carousel-title,
.section-title,
.reviews-section h3,
.card h2:not(.restaurant-name) {
    font-size: 1.5125rem;
    line-height: 1.3;
}

.modal h2,
.guest-profile h2 {
    font-size: 1.5125rem;
    line-height: 1.3;
}

.review-item h4 {
    font-size: 1.411667rem;
    line-height: 1.3;
}

/* Badge area/tipologia (arancioni) */
.card-meta-line,
.restaurant-card .card-meta-line {
    font-size: 1.310833rem;
    line-height: 1.25;
    padding: 7px 11px;
}

.card-price {
    font-size: 1.411667rem;
    line-height: 1.35;
}

.card-line {
    font-size: 1.310833rem;
    line-height: 1.4;
}

/* Filtri e ricerca lista */
#list-panel .list-subtitle {
    font-size: 1.310833rem;
}

.list-controls .list-search-line,
#list-panel .list-search-line {
    font-size: 1.310833rem;
    line-height: 1.35;
}

.list-controls .search-input,
#list-panel .list-controls .search-input {
    font-size: 1.310833rem;
    line-height: 1.35;
}

.list-controls .filters-section-title,
.filters-section-title {
    font-size: 1.411667rem;
    line-height: 1.3;
}

/* Pulsanti filtro */
.filters .filter-row .filter-button,
.list-controls .filters .filter-button,
.list-controls .filter-button,
.list-controls .filter-button.active,
#list-panel .filters .filter-button,
#list-panel .filter-row .filter-button,
#list-panel .filter-button,
#list-panel .filter-button.active,
.filter-row .filter-button,
.filter-button,
.filter-button.active {
    font-size: 1.310833rem;
    line-height: 1.3;
    font-weight: 600;
}

#map-panel .status,
.status,
.restaurant-card.filter-empty-msg,
.filter-empty-msg {
    font-size: 1.21rem;
    line-height: 1.35;
}

.tab-button {
    font-size: 1.310833rem;
}

/* Footer e secondari */
.nav-item {
    font-size: 1.21rem;
    line-height: 1.3;
}

.review-meta,
.star-hint,
.photo-carousel-counter,
.voto-medio-label {
    font-size: 1.129333rem;
    line-height: 1.3;
}

.voto-medio-valore,
.voto-medio-assente,
.review-stars {
    font-size: 1.21rem;
}

/* .voto-stella — scheda/dettaglio: restaurant-detail.css */

.star-btn {
    font-size: 3.226667rem;
    line-height: 1;
}

/* Tablet / desktop */
@media (min-width: 768px) {
    html {
        font-size: 80.6667%;
    }

    body {
        font-size: 1.5125rem;
    }

    h1,
    .page-head-title,
    .topbar h1,
    .header h1 {
        font-size: 2.178rem;
    }

    h2,
    .modal h2,
    .guest-profile h2 {
        font-size: 1.855333rem;
    }

    h3,
    .photo-carousel-title,
    .section-title,
    .reviews-section h3,
    .card h2:not(.restaurant-name) {
        font-size: 1.694rem;
    }

    .list-title {
        font-size: 1.936rem;
    }

    .name {
        font-size: 1.613333rem;
    }

    p,
    .intro,
    .card-line,
    .card-price,
    .value,
    input,
    select,
    textarea,
    button,
    .search-input,
    .tab-button,
    .header-auth-btn {
        font-size: 1.411667rem;
    }

    .intro,
    .header .intro {
        font-size: 1.411667rem;
    }

    .card-meta-line,
    .restaurant-card .card-meta-line {
        font-size: 1.411667rem;
        padding: 9px 14px;
    }

    .card-price {
        font-size: 1.5125rem;
    }

    .card-line {
        font-size: 1.411667rem;
    }

    #list-panel .list-subtitle,
    .list-controls .list-search-line,
    #list-panel .list-search-line {
        font-size: 1.411667rem;
    }

    .list-controls .filter-button,
    .filter-button,
    .filters-section-title {
        font-size: 1.411667rem;
    }

    .nav-item {
        font-size: 1.310833rem;
    }

    .star-btn {
        font-size: 4.436667rem;
    }
}
