/* =========================================================
   Versione "raffinata" (proposta): allinea tutto il sito allo stile dell'apertura
   — titoli in Italiana, accenti oro dritti (non corsivi), linee sottili, angoli quasi vivi,
   pulsanti e etichette in maiuscoletto spaziato, ombre leggere.
   Per tornare indietro basta togliere da index.html la riga che carica questo file.
   ========================================================= */
:root {
  --display: 'Italiana', 'Cormorant Garamond', Georgia, serif;
  --gold-ink: #b48a3f;
  --rr: 4px;          /* raggio degli angoli */
  --line: rgba(113, 0, 4, .14);
  --shadow: 0 1px 2px rgba(40, 10, 10, .04), 0 14px 34px -22px rgba(60, 10, 10, .28);
}

/* --- tipografia --- */
.h2, .choice-body h2, .apt-body h3, .mc-body h3, #m-title, .rvd-foot span, .contact .h2, .apt-soon h3 {
  font-family: var(--display); font-weight: 400; letter-spacing: .005em;
}
.h2 { line-height: 1.04; }
.h2 em, .choice-body h2 em { font-family: var(--display); font-style: normal; font-weight: 400; color: var(--gold-ink); }
.h2.light em { color: var(--gold-2); }
.apt-body h3 { font-size: 1.9rem; }
.mc-body h3 { font-size: 1.7rem; }
.eyebrow { font-weight: 600; letter-spacing: .28em; font-size: .7rem; }
.eyebrow::before { height: 1px; }
.lead { font-weight: 300; }
.service h3 { font-weight: 600; letter-spacing: .14em; font-size: .86rem; }
.service-num, .choice-kicker { font-family: var(--display); }
.apt-tag, .m-tag { font-weight: 600; letter-spacing: .14em; text-transform: uppercase; font-size: .62rem; }
.flabel { font-weight: 600; letter-spacing: .22em; font-size: .64rem; }
.fcount, .apt-more, .rv-apt { font-weight: 600; }
.nav a { font-weight: 500; letter-spacing: .02em; }
.specs b { font-weight: 600; }

/* --- pulsanti: rettangoli sottili in maiuscoletto --- */
.btn { border-radius: var(--rr); font-weight: 600; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; border-width: 1px; padding: 15px 26px; }
.btn-sm { padding: 10px 18px; font-size: .7rem; }
.btn::after { display: none; }
.btn:hover { transform: none; box-shadow: none; filter: brightness(1.12); }
.btn-outline { border-color: rgba(113, 0, 4, .45); }
.header-cta { letter-spacing: .14em; }

/* --- etichette, chip e controlli --- */
.chip-line, .chip-toggle, .stepper, .apt-tag, .m-tag, .lang, .lang button, .hero-go span, .g-count,
.seg, .seg button, .map-btn, .map-hint, .map-activate, .map-done, .line-toggles, .mc-goto, .panel-tabs button,
.ml-apt > span, .ml-mon > span, .ml-route > span, .rv-score, .apt-type, .map-zoomhint {
  border-radius: var(--rr) !important;
}
.chip-line, .chip-toggle, .stepper { border-width: 1px; font-weight: 600; }
.chip-toggle.on { background: var(--bx); }
.lang { border-width: 1px; }
.lang button { font-weight: 600; }

/* --- riquadri e schede: angoli quasi vivi, filo sottile --- */
.apt-card, .rv-card, .filters, .service, .choice-card, .contact-list li, .form-card, .m-specs div,
.map-card, .map-list button, .route-total, .rv-dialog, .apt-soon, .gallery-thumbs button {
  border-radius: calc(var(--rr) + 2px) !important;
}
.modal { border-radius: calc(var(--rr) + 4px); }
.map-panel { border-radius: calc(var(--rr) + 4px); }
.map-list img { border-radius: 2px; }
.apt-card, .rv-card, .service, .filters, .form-card { box-shadow: none; }
.apt-card:hover, .rv-card:hover { border-color: rgba(180, 138, 63, .8); box-shadow: 0 0 0 1px rgba(180, 138, 63, .5); }
.service:hover { box-shadow: none; border-color: rgba(113, 0, 4, .3); }
.filters { box-shadow: 0 10px 26px -24px rgba(0, 0, 0, .5); }

/* --- campi del modulo --- */
.form-card input, .form-card select, .form-card textarea, .map-panel select { border-radius: var(--rr) !important; border-width: 1px !important; }

/* --- logo dei portali nelle recensioni: resta tondo --- */
.rv-logo { border-radius: 50% !important; }

/* --- menu a tendina (telefono) con il carattere dei titoli --- */
@media (max-width: 900px) {
  .nav a { font-family: var(--display); font-weight: 400; font-size: 2.6rem; letter-spacing: .01em; }
}
