/* Rome Elite Driver — lotto 5: le componenti nuove delle aree del sito.
 *
 * Le pagine delle aree nuove riusano le classi
 * che destinations.css definisce gia' (.eyebrow, .lead, .detail-list,
 * .table-wrap, .comparison-table, .itinerary-grid, .stop-card, .related-grid,
 * .route-card, .faq-item, .btn-gold, .fineprint, .hub-back). Qui i componenti
 * nuovi e le regole necessarie per rendere disponibili nelle nove lingue
 * quelli che il foglio originale limitava ai profili latini.
 *
 * Nessuna guardia html[data-css-profile]: vale per tutte e nove le lingue.
 * Nessuna famiglia di font fissa, cosi' arabo e cinese continuano a
 * ereditare Cairo e Noto dal foglio della lingua. Solo proprieta' logiche
 * (inline/block), quindi in arabo si specchia senza regole aggiuntive.
 */

/* Indice della pagina ------------------------------------------------- */
.area-toc{
  margin-block:28px 0;
  padding:18px 20px;
  border:1px solid rgba(197,164,90,.28);
  border-radius:2px;
  background:rgba(197,164,90,.05);
}
.area-toc h2{
  margin:0 0 10px;
  font-size:.78rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.75;
}
.area-toc ol{
  margin:0;
  padding-inline-start:1.25em;
  display:grid;
  gap:6px 26px;
}
@media (min-width:760px){ .area-toc ol{ grid-template-columns:1fr 1fr; } }
.area-toc a{ text-decoration:none; border-block-end:1px solid transparent; }
.area-toc a:hover,
.area-toc a:focus-visible{ border-block-end-color:currentColor; }

/* Card di una meta europea ------------------------------------------- */
.area-card__quote{
  margin:0 0 10px;
  font-size:.74rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#C5A45A;
}
.area-meta{
  margin:0 0 12px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:2px 12px;
  font-size:.92rem;
}
.area-meta dt{ opacity:.7; }
.area-meta dd{ margin:0; font-variant-numeric:tabular-nums; }
.area-card__cta{ margin-block:14px 8px; }

/* Note di validita' delle tariffe, una per tratta --------------------- */
.area-notes{
  margin-block:14px 0;
  padding-inline-start:1.4em;
  font-size:.82rem;
  line-height:1.65;
  opacity:.8;
}
.area-notes li{ margin-block-end:8px; }

/* Coppia di richiami in chiusura: preventivo e contatto ---------------- */
.area-ctas{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px 22px;
}

/* The destination profile does not activate the hub's image rules. */
.related-grid > .route-card{min-inline-size:0;overflow:hidden;}
.route-card__img{
  display:block;
  inline-size:100%;
  max-inline-size:100%;
  block-size:auto;
  aspect-ratio:16/10;
  object-fit:cover;
  margin-block-end:1rem;
}
.itinerary-grid > *{min-inline-size:0;}

/* Restore the full footer grid on new pages; old pages keep their sheet. */
.footer__grid{grid-template-columns:1.6fr 1fr 1fr 1fr;}
@media(max-width:1000px){.footer__grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.footer__grid{grid-template-columns:1fr;}}

/* These existing destination components were guarded to Latin profiles.
 * Make them available to every new area, including Arabic and Chinese. */
.itinerary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0 0 2rem;}
.stop-card{border:1px solid var(--line);background:var(--surface-2);padding:1.2rem;}
.stop-card h3{margin:0 0 .45rem;color:var(--ivory);font-family:var(--font-display);font-size:1.15rem;font-weight:500;}
.stop-card p{color:var(--ivory-faint);font-size:.9rem;margin:0 0 .55rem;}
.stop-card p:last-child{margin-bottom:0;}
.table-wrap{margin:0 0 2rem;overflow-x:auto;border:1px solid var(--line);max-inline-size:100%;}
.comparison-table{inline-size:100%;min-inline-size:620px;border-collapse:collapse;text-align:start;}
.comparison-table caption{padding:1rem 1.15rem;text-align:start;color:var(--ivory);font-weight:600;caption-side:top;}
.comparison-table th,.comparison-table td{padding:.9rem 1rem;border-top:1px solid var(--line);vertical-align:top;}
.comparison-table thead th{border-top:0;background:var(--surface-2);color:var(--gold);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;}
.comparison-table tbody th{color:var(--ivory);font-weight:600;text-align:start;}
.comparison-table td{color:var(--ivory-faint);font-size:.9rem;line-height:1.5;}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0 0 2rem;}
.related-grid .route-card{margin:0;padding:1.25rem;}
.related-grid .route-card__title{font-size:1.12rem;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;cursor:pointer;padding:1rem 0;color:var(--ivory);font-weight:600;list-style:none;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";color:var(--gold);font-size:1.3rem;flex:none;transition:transform .25s ease;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item__body{padding-block:0 1.3rem;padding-inline:0 1.4rem;color:var(--ivory-faint);font-size:.92rem;}
[dir="rtl"] .area-toc h2,[dir="rtl"] .area-card__quote,[dir="rtl"] .comparison-table thead th{letter-spacing:0;}
@media(max-width:700px){.itinerary-grid,.related-grid{grid-template-columns:1fr;}}
