/*
 * MyLicenseNow — surcouche du template Vizox
 * ----------------------------------------------------
 * Chargée APRÈS style.css et responsive.css. Ne modifie jamais les fichiers du template :
 * toute adaptation au projet (permis de conduire) se fait ici.
 */

/* Décorations : trajets routiers à la place des trajets en avion (mêmes dimensions) */
.icon-object-1 { background-image: url(../images/gds/deco/deco-route-1.svg); }
.icon-object-2 { background-image: url(../images/gds/deco/deco-route-2.svg); }
.icon-object-3 { background-image: url(../images/gds/deco/deco-route-3.svg); }
.icon-plane    { background-image: url(../images/gds/deco/deco-voiture.svg); }

/* Typographie française : pas de majuscule à chaque mot (convention anglaise du template) */
.main-slider h1,
.main-menu .navigation > li > ul > li > a,
.main-menu .navigation > li > ul > li > ul > li > a,
.mobile-menu .navigation li > a { text-transform: none; }

/* Mention de consentement sous le formulaire newsletter (RGPD) */
.main-footer .subscribe-form .gds-consent {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 20px;
  color: rgba(255, 255, 255, 0.6);
}
.main-footer .subscribe-form .gds-consent a {
  display: inline;
  color: #ffffff;
  text-decoration: underline;
}

/* ---------- Sections génériques (pages ajoutées) ---------- */
.gds-section { position: relative; padding: 120px 0 90px; }
@media (max-width: 767px) { .gds-section { padding: 70px 0 60px; } }

/* Liste d'étapes numérotées (page « Comment ça marche ») */
.gds-steps-list { list-style: none; counter-reset: step; margin: 0; padding: 0; }
.gds-steps-list li { position: relative; counter-increment: step; padding: 0 0 18px 56px; font-size: 15px; line-height: 24px; color: var(--text-body); }
.gds-steps-list li:before { content: counter(step); position: absolute; left: 0; top: -2px; width: 38px; height: 38px; border-radius: 50%; background: var(--surface); color: var(--accent); font-weight: 700; display: flex; align-items: center; justify-content: center; }
.gds-steps-list li strong { display: block; color: var(--text); font-size: 16px; }
.gds-list-no li i { color: var(--text-muted) !important; }

/* Pages légales */
.gds-legal__toc { position: sticky; top: 120px; padding: 30px; background: var(--surface); }
.gds-legal__toc ul { list-style: none; margin: 14px 0 0; padding: 0; }
.gds-legal__toc li { margin-bottom: 8px; line-height: 22px; }
.gds-legal__toc a { color: var(--text); font-size: 15px; }
.gds-legal__toc a:hover { color: var(--accent); }
.gds-legal__body h2 { font-size: 26px; margin: 40px 0 14px; scroll-margin-top: 120px; }
.gds-legal__body h2:first-child { margin-top: 0; }
.gds-legal__body p, .gds-legal__body li { font-size: 16px; line-height: 28px; }
.gds-legal__body a { color: var(--primary-light); text-decoration: underline; }

/* FAQ par catégories */
.gds-faq-group h3 { font-size: 24px; }
.faqs-section .accordion-box .acc-btn:focus-visible { outline: 2px solid var(--primary-light); outline-offset: 2px; }

/* 404 */
.gds-404 { font-size: 180px; line-height: 1; font-weight: 700; color: var(--surface); margin: 0; -webkit-text-stroke: 2px var(--accent); }
@media (max-width: 599px) { .gds-404 { font-size: 110px; } }

/* Titres de bandeau contenant un nom dynamique */
.page-title .title span[data-bind] { font: inherit; }

/* Titre de bandeau : pas de mot coupé sur petit écran */
@media (max-width: 767px) { .page-title .title { font-size: 44px; line-height: 1.15; hyphens: auto; overflow-wrap: break-word; } }
@media (max-width: 424px) { .page-title .title { font-size: 36px; } }
.page-title .page-breadcrumb li, .page-title .page-breadcrumb li a { text-transform: none; }

/* =========================================================
   Accessibilité — contrastes WCAG 2.1 AA (≥ 4,5:1), phase 8
   Ajustements minimaux des couleurs du template (mesurés avec axe-core).
   Pour revenir aux couleurs d'origine : supprimer ce bloc.
   ========================================================= */
:root {
	--theme-color2: #d93636;        /* accent : #ff494a → blanc sur rouge 3,3:1 → 4,6:1 */
	--bg-theme-color2: #d93636;
	--border-theme-color2: #d93636;
	--text-color: #676c70;          /* texte courant : #73787d (4,46:1) → 4,6:1 y compris sur fonds gris */
}
.header-top .list-style-one li, .header-top .list-style-one li a, .header-top .useful-links li a { color: #676c70; }
.main-footer .subscribe-form .email::placeholder, .subscribe-form .email { color: #676c70; }
.testimonial-block .designation { color: #b42318; }
.call-to-action .info-btn { background-color: rgba(20, 33, 46, 0.35); }
.call-to-action .info-btn:hover { background-color: var(--primary); }
.process-block .count, .feature-block .count { color: inherit; }
.main-footer .subscribe-form .form-group input.email, .subscribe-form .form-group input[type="email"] { color: #5f6468; }
.testimonial-block .info-box .designation, .testimonial-block .content-box .designation { color: #b42318; }
.process-block .info-box .text, .service-block .content-box .read-more, .news-block .read-more { color: #5f6468; }
/* Liens dans un texte : soulignés (distinguables sans la couleur) */
.sec-title .text a, .gds-check a, .gds-alert a, .gds-legal__body a, .text > a:not(.theme-btn), .gds-auth-foot a, .subscribe-form .gds-consent a { text-decoration: underline; text-underline-offset: 2px; }
.gds-404 { color: var(--primary); -webkit-text-stroke: 0; }
.gds-muted a, p a:not(.theme-btn):not(.gds-btn-ghost) { text-decoration: underline; text-underline-offset: 2px; }

/* =========================================================
   Header : sélecteur de langue + « Se connecter » + « Commencer une démarche »
   (remplace le bouton de recherche du template)
   ========================================================= */
.gds-header-actions { display: flex; align-items: center; margin-left: 30px; padding: 6px 0 6px 22px; border-left: 1px solid rgba(255, 255, 255, 0.1); }
.gds-lang { position: relative; }
.gds-lang__btn { display: inline-flex; align-items: center; gap: 7px; background: none; border: 0; color: #fff; font-size: 14px; font-weight: 500; letter-spacing: 0.05em; padding: 10px 6px; transition: var(--transition); }
.gds-flag { display: inline-block; width: 24px; height: 16px; object-fit: cover; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12); flex: none; vertical-align: middle; }
.gds-lang__btn { border: 1px solid rgba(255, 255, 255, 0.22); border-radius: 4px; padding: 8px 12px; }
.gds-lang__btn:hover, .gds-lang.is-open .gds-lang__btn { border-color: var(--accent); }
.gds-lang__btn .fa-angle-down { font-size: 13px; opacity: 0.7; transition: transform 0.2s ease; }
.gds-lang__btn:hover, .gds-lang.is-open .gds-lang__btn { color: var(--accent); }
.gds-lang.is-open .gds-lang__btn .fa-angle-down { transform: rotate(180deg); }
.gds-lang__menu { position: absolute; right: 0; top: calc(100% + 10px); min-width: 230px; border-radius: 0 0 4px 4px; margin: 0; padding: 8px 0; list-style: none; background: #fff; box-shadow: var(--shadow-lg); border-top: 3px solid var(--accent); z-index: 200; display: none; }
.gds-lang.is-open .gds-lang__menu { display: block; }
.gds-lang__menu a { display: flex; align-items: center; gap: 12px; padding: 10px 18px; font-size: 14px; color: var(--text); }
.gds-lang__menu .gds-lang__name { flex: 1; }
.gds-lang__menu a[aria-checked="true"] { font-weight: 600; background: var(--surface, #f4f6f9); }
.gds-lang__menu a[aria-disabled="true"] { cursor: default; color: var(--muted, #5f646a); }
.gds-lang__menu a[aria-disabled="true"] .gds-flag { filter: grayscale(0.35); opacity: 0.8; }
.gds-lang__soon { font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; padding: 2px 7px; border-radius: 10px; background: var(--surface); color: var(--muted, #5f646a); }
.gds-mobile-actions__lang .gds-flag { margin-right: 6px; }
.country-block .flag img { object-fit: cover; }
.gds-lang__menu a:hover, .gds-lang__menu a:focus-visible { background: var(--surface); color: var(--accent); }
.gds-lang__menu a[aria-checked="true"] { font-weight: 500; }
.gds-lang__menu a[aria-checked="true"] .fa-check { color: var(--accent); }
.gds-header-login { display: inline-flex; align-items: center; gap: 9px; margin-left: 22px; color: #fff; font-size: 15px; white-space: nowrap; transition: var(--transition); }
.gds-header-login .fa-user-circle { font-size: 22px; }
.gds-header-login:hover, .gds-header-login:focus-visible { color: var(--accent); }
.main-header .outer-box .gds-header-cta { margin-left: 24px; padding: 15px 32px; }

@media only screen and (max-width: 1439px) {
	/* le template masque le bouton sous 1440 px : on garde une version compacte */
	.header-style-one .outer-box .gds-header-cta { display: inline-flex; margin-left: 16px; padding: 12px 18px; letter-spacing: 0.06em; }
	.gds-header-actions { margin-left: 16px; padding-left: 14px; }
	.gds-header-login { margin-left: 14px; }
	.gds-header-login span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
@media only screen and (max-width: 1199px) {
	/* menu mobile : la démarche et la connexion passent dans le panneau */
	.header-style-one .outer-box .gds-header-cta { display: none; }
	.gds-header-actions { border-left: 0; margin-left: 0; padding-left: 0; }
}
@media only screen and (max-width: 599px) {
	.gds-header-login { display: none; }
	.gds-lang__btn .gds-lang__code { display: none; }
	.gds-lang__btn { gap: 5px; padding: 8px 9px; }
	.gds-lang__btn .fa-angle-down { display: inline-block; opacity: 1; }
}

/* Panneau du menu mobile */
.gds-mobile-actions { padding: 10px 25px 24px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); margin-bottom: 10px; }
.gds-mobile-actions .theme-btn { display: flex; width: 100%; margin-bottom: 14px; }
.gds-mobile-actions__login { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 12px; color: #fff; border: 1px solid rgba(255, 255, 255, 0.25); font-size: 14px; letter-spacing: 0.05em; text-transform: uppercase; }
.gds-mobile-actions__login:hover { color: #fff; border-color: var(--accent); background: rgba(255, 255, 255, 0.05); }
.gds-mobile-actions__lang { margin-top: 14px; font-size: 14px; color: rgba(255, 255, 255, 0.75); text-align: center; }
.gds-mobile-actions__lang strong { color: #fff; font-weight: 500; }

/* Menu principal : espacement réduit pour laisser la place aux deux boutons du header */
@media only screen and (max-width: 1699px) {
	.header-style-one .header-lower .main-menu .navigation > li { margin-right: 34px; }
	.header-style-one .header-lower .main-menu .navigation > li:last-child { margin-right: 0; }
	.header-style-one .header-lower .logo-box { margin-right: 30px; }
}
@media only screen and (max-width: 1439px) {
	.header-style-one .header-lower .main-menu .navigation > li { margin-right: 26px; }
	.header-style-one .header-lower .main-menu .navigation > li:last-child { margin-right: 0; }
}

.gds-flag--lg { width: 36px; height: 24px; margin-right: 8px; vertical-align: -3px; }

/* Avis clients : 5 étoiles à la place de la photo */
.testimonial-block .gds-review-stars { display: flex; justify-content: center; gap: 8px; margin: 10px 0 40px; font-size: 30px; line-height: 1; color: #f5b301; text-shadow: 0 2px 10px rgba(0, 0, 0, .25); }
.testimonial-section .gds-review-note { margin: 18px 0 0; text-align: center; font-size: 13px; color: rgba(255, 255, 255, .7); }

/* Logo sur deux lignes (« My » / « LicenseNow ») : hauteur fixe pour rester lisible */
.main-header .logo img, .sticky-header .logo img { height: 50px; width: auto; max-width: none; max-height: none; }
@media only screen and (min-width: 768px) { .header-style-one .header-lower .logo { padding: 0 20px 0 24px; } }
@media only screen and (max-width: 767px) {
	.main-header .logo img, .sticky-header .logo img { height: 44px; }
}

/* Bandeau d'accueil : sous-titre, titre et boutons empilés dans un seul bloc (pas de chevauchement,
   même quand le titre italien, plus long, passe sur une ligne de plus) */
.main-slider .gds-hero { max-width: calc(100vw - 10px); }
.main-slider .gds-hero__inner { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.main-slider .gds-hero .title { text-transform: none; line-height: 1.5; }
.main-slider .gds-hero h1 { margin: 0; font-size: clamp(38px, 6.6vw, 84px); line-height: 1.04; overflow-wrap: break-word; }
.main-slider .gds-hero__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.main-slider .gds-hero__btns .theme-btn { margin: 0 !important; }
@media only screen and (max-width: 599px) {
	.main-slider .gds-hero__inner { gap: 16px; }
	.main-slider .gds-hero .title { font-size: 13px; letter-spacing: .06em; }
	.main-slider .gds-hero h1 { font-size: clamp(32px, 10vw, 46px); }
	.main-slider .gds-hero h1 br { display: none; }
	.main-slider .gds-hero__btns { flex-direction: column; align-items: stretch; width: 100%; }
	.main-slider .gds-hero__btns .theme-btn { min-width: 0 !important; text-align: center; }
}

/* WhatsApp : le numéro ouvre une conversation WhatsApp ; icônes aux couleurs du thème (comme l'e-mail) */
.main-header .info-btn.gds-wa .icon { font-size: 26px; }
.contact-details__info .gds-wa-icon .fa-whatsapp { color: #fff; font-size: 26px; }
.main-footer .contact-info li i.fab.fa-whatsapp { font-size: 17px; }
.call-to-action .info-btn.gds-wa .fa-whatsapp { color: #fff; font-size: 1.15em; margin-right: 4px; }
