/* =========================================================================
   intl.css — caricato solo per arabo (RTL) e hindi.
   1. Font Noto self-hosted (nessuna chiamata a Google: GDPR-safe)
   2. Adattamenti di direzione e di metrica tipografica
   ====================================================================== */

/* --- 1 · Font ---------------------------------------------------------- */
@font-face {
	font-family: 'Noto Sans Arabic';
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url('../fonts/NotoSansArabic.woff2') format('woff2');
	unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1,
		U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF,
		U+FE70-FE74, U+FE76-FEFC;
}
@font-face {
	font-family: 'Noto Sans Devanagari';
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url('../fonts/NotoSansDevanagari.woff2') format('woff2');
	unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0,
		U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}

/* Le famiglie latine restano come fallback per cifre, sigle e nomi propri. */
.lang-ar body,
body.lang-ar {
	font-family: 'Noto Sans Arabic', 'Libre Franklin', system-ui, sans-serif;
}
body.lang-hi {
	font-family: 'Noto Sans Devanagari', 'Libre Franklin', system-ui, sans-serif;
}

/* Il corsivo "serif" decorativo non esiste in queste scritture:
   lo sostituiamo con un'evidenziazione cromatica, che è il modo corretto
   di dare enfasi in arabo e in devanagari. */
body.lang-ar .serif,
body.lang-hi .serif {
	font-family: inherit;
	font-style: normal;
	font-weight: 700;
	color: var(--accent, #2f6fd0);
}

/* Devanagari e arabo hanno un'altezza di riga maggiore del latino */
body.lang-ar, body.lang-hi { line-height: 1.75; }
body.lang-ar h1, body.lang-hi h1,
body.lang-ar h2, body.lang-hi h2,
body.lang-ar h3, body.lang-hi h3 { line-height: 1.4; letter-spacing: 0; }
body.lang-ar .hero-title, body.lang-hi .hero-title { letter-spacing: 0; }
body.lang-ar .eyebrow, body.lang-hi .eyebrow { letter-spacing: .04em; }

/* =========================================================================
   2 · RTL — solo per l'arabo
   ====================================================================== */
body.is-rtl { direction: rtl; }

/* Testi e allineamenti */
body.is-rtl .hero-content,
body.is-rtl .lp-hero-inner,
body.is-rtl .about-top,
body.is-rtl .m100-head,
body.is-rtl .features-left,
body.is-rtl .pq-side,
body.is-rtl .footer-grid > div,
body.is-rtl .team-hero { text-align: right; }

body.is-rtl .center,
body.is-rtl .section-title,
body.is-rtl .services-lead,
body.is-rtl .reviews-more,
body.is-rtl .lp-final { text-align: center; }

/* Elenchi: il marcatore passa a destra */
body.is-rtl ul,
body.is-rtl ol { padding-right: 1.1em; padding-left: 0; }
body.is-rtl .svc-list li,
body.is-rtl .lp-col li,
body.is-rtl .pq-side li { padding-right: 1.6em; padding-left: 0; }
body.is-rtl .svc-list li::before,
body.is-rtl .lp-col li::before,
body.is-rtl .pq-side li::before { right: 0; left: auto; }

/* Le frecce vanno specchiate, le icone neutre no */
body.is-rtl .pill-ico svg,
body.is-rtl .link svg,
body.is-rtl .btn-white svg,
body.is-rtl .lp-arrow svg,
body.is-rtl .way .sicon svg { transform: scaleX(-1); }
body.is-rtl .socials svg,
body.is-rtl .sicon svg,
body.is-rtl .lang-toggle svg { transform: none; }

/* Componenti con offset direzionale */
body.is-rtl .fnum,
body.is-rtl .m100-n { margin-left: .7em; margin-right: 0; }
body.is-rtl .crumbs span { margin: 0 .4em; }
body.is-rtl .faq-item summary { flex-direction: row-reverse; }
body.is-rtl .faq-item summary h3 { text-align: right; }
body.is-rtl .review footer { text-align: right; }
body.is-rtl .stars { direction: ltr; text-align: right; }

/* Il selettore di lingua si apre verso destra */
body.is-rtl .lang-menu { right: auto; left: 0; }

/* La barra mobile mantiene l'ordine logico */
body.is-rtl .mobile-bar { direction: rtl; }

/* Numeri di telefono, email, indirizzi e orari restano leggibili da sinistra */
body.is-rtl .footer-address a[href^="mailto"],
body.is-rtl .footer-address a[href^="tel"],
body.is-rtl .way-main,
body.is-rtl .member-mail,
body.is-rtl .hours td,
body.is-rtl .fbox-line a,
body.is-rtl .contact-addr { direction: ltr; unicode-bidi: embed; display: inline-block; }
body.is-rtl .hours td { text-align: right; }

/* Il modulo: radio e checkbox a destra dell'etichetta */
body.is-rtl .pq-opt span { padding-right: 2.2em; padding-left: .8em; }
body.is-rtl .pq-opt input { right: .8em; left: auto; }
body.is-rtl .pq-check { padding-right: 1.9em; padding-left: 0; }
body.is-rtl .pq-check input { right: 0; left: auto; }
body.is-rtl .pq-field input,
body.is-rtl .pq-field select { text-align: right; }
body.is-rtl .pq-field input[type="tel"],
body.is-rtl .pq-field input[type="email"] { direction: ltr; text-align: left; }
body.is-rtl .pq-nav { flex-direction: row-reverse; }
body.is-rtl .pq-progress span { right: 0; left: auto; }

/* Il video hero non va specchiato */
body.is-rtl .hero-video,
body.is-rtl .features-bg,
body.is-rtl .lp-hero { direction: ltr; }
body.is-rtl .hero-content,
body.is-rtl .lp-hero-inner { direction: rtl; }
