/*
Theme Name: Aryane Transport
Author: Aryane Transport
Description: Thème bloc sur mesure, issu d'une maquette HTML validée.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aryane-transport
*/

/* ===== 1 · CSS de la maquette ===== */
:root{
  --nuit:#101A2E;--nuit-2:#18233B;--bleu:#24405A;--accent:#E2231A;--accent-fonce:#C21A12;
  --fond:#FAF9F6;--carte:#FFFFFF;--creux:#F4F3EF;--filet:#E7E4DD;
  --encre:#111827;--gris:#6B7280;--clair:#C9CED8;--blanc:#FFFFFF;
  --police:"Plus Jakarta Sans",system-ui,sans-serif;
  --r-s:8px;--r-m:12px;--r-l:14px;
  --ic-fleche:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  --ic-bouclier:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
  --ic-agence:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-6.2 7-11.5A7 7 0 0 0 5 9.5C5 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E");
  --ic-tel:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E");
  --ic-echange:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h15M15 4l4 4-4 4M20 16H5M9 12l-4 4 4 4'/%3E%3C/svg%3E");
  --ic-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  --ic-cadenas:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='9' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E");
  --ic-menu:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E");
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fond);color:var(--encre);font-family:var(--police);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{margin:0;text-wrap:balance;hyphens:none}
p,ul,figure{margin:0}
ul{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
.wrap{max-width:1248px;margin-inline:auto;padding-inline:24px}
.wrap-etroit{max-width:1128px;margin-inline:auto;padding-inline:24px}

/* Boutons (structure du bloc core/button : la classe est sur le conteneur) */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.wp-block-button{display:inline-block;margin:0;background:none;border:0;padding:0;border-radius:0}
.wp-block-button .wp-block-button__link,.wp-block-button>a,.form-envoi{display:inline-flex;align-items:center;justify-content:center;font:600 15px/1 var(--police);padding:14px 20px;border-radius:var(--r-s);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s;width:auto;height:auto;box-shadow:none}
.wp-block-button.b-plein .wp-block-button__link,.wp-block-button.b-plein>a,.form-envoi{background:var(--accent);color:var(--blanc);box-shadow:0 6px 16px -8px rgba(226,35,26,.7)}
.wp-block-button.b-plein .wp-block-button__link:hover,.wp-block-button.b-plein>a:hover,.form-envoi:hover{background:var(--accent-fonce)}
.wp-block-button.b-contour .wp-block-button__link,.wp-block-button.b-contour>a{background:none;border-color:rgba(255,255,255,.22);color:var(--blanc)}
.wp-block-button.b-contour .wp-block-button__link:hover,.wp-block-button.b-contour>a:hover{border-color:rgba(255,255,255,.5)}
.wp-block-button.b-clair .wp-block-button__link,.wp-block-button.b-clair>a{background:var(--carte);border-color:var(--filet);color:var(--encre)}
.wp-block-button.b-large{display:block;width:100%}
.wp-block-button.b-large .wp-block-button__link,.wp-block-button.b-large>a{display:flex;width:100%}

/* En-tête */
.entete{position:fixed;inset:0 0 auto 0;z-index:30;background:var(--nuit);border-bottom:1px solid rgba(255,255,255,.08)}
.entete-rangee{display:flex;align-items:center;gap:40px;height:72px}
.marque{display:flex;align-items:center;gap:12px;color:var(--blanc)}
.marque-logo{width:40px;height:40px;flex:none;line-height:0}
.marque-logo img{width:40px;height:40px;border-radius:50%;background:var(--blanc)}
.marque-nom{font-weight:800;font-size:18px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.menu{margin-right:auto;font-size:15.5px;font-weight:500;line-height:1.55;color:var(--clair)}
.menu .menu{margin:0}
.menu,.menu .wp-block-navigation__container{display:flex;align-items:center;gap:30px}
.menu a,.menu .wp-block-navigation-item__content{color:var(--clair);font-size:15.5px;line-height:1.55;font-weight:500;text-decoration:none;padding:0;transition:color .15s}
.entete .menu a:hover,.entete .menu a[aria-current],.entete .menu a.wp-block-navigation-item__content:hover,.entete .menu a.wp-block-navigation-item__content[aria-current]{color:var(--blanc)}
.wp-block-button.b-plein .wp-block-button__link,.entete-cta .wp-block-button>a{}
.entete-cta .wp-block-button .wp-block-button__link,.entete-cta .wp-block-button>a{padding:12px 18px}
.menu-bascule{display:none;width:44px;height:44px;flex:none;border:1px solid rgba(255,255,255,.18);border-radius:var(--r-s);cursor:pointer;position:relative;font-size:0;line-height:0}
.menu-bascule::before{content:'';position:absolute;inset:10px;background:var(--blanc);mask:var(--ic-menu) center/contain no-repeat;-webkit-mask:var(--ic-menu) center/contain no-repeat}

/* Héros */
.hero{background:var(--nuit);color:var(--blanc);padding:136px 0 196px}
.hero-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:112px;align-items:start}
.hero-titre{font-size:58px;line-height:1.04;font-weight:800;letter-spacing:-.04em}
.hero-chapo{margin-top:28px;font-size:18.5px;line-height:1.6;color:var(--clair);max-width:520px}
.hero-points{margin-top:32px;display:grid;gap:14px}
.point{display:flex;align-items:center;gap:10px;color:var(--clair);font-size:15.5px}
.point::before{content:'';flex:none;width:18px;height:18px;background:var(--accent);mask:center/contain no-repeat;-webkit-mask:center/contain no-repeat}
.point-bouclier::before{mask-image:var(--ic-bouclier);-webkit-mask-image:var(--ic-bouclier)}
.point-agence::before{mask-image:var(--ic-agence);-webkit-mask-image:var(--ic-agence)}
.hero-photo{border-radius:var(--r-l);overflow:hidden;border:1px solid rgba(255,255,255,.14);aspect-ratio:16/10;background:var(--nuit-2)}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 78%}
.hero-reperes{margin-top:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.repere{border-left:1px solid rgba(255,255,255,.2);padding-left:14px;font-size:13.5px;line-height:1.4;color:var(--clair)}
.repere:first-child{border-left:2px solid var(--accent)}
.repere strong{font-weight:700;color:var(--blanc)}

/* Carte de réservation, à cheval sur la jonction */
.recherche{margin-top:-58px;position:relative;z-index:2}
.recherche-carte{background:var(--carte);border-radius:var(--r-m);padding:14px;display:grid;grid-template-columns:1fr 46px 1fr 1fr auto;gap:10px;align-items:stretch;box-shadow:0 34px 60px -30px rgba(16,26,46,.45),0 2px 6px rgba(16,26,46,.08)}
.champ{background:var(--creux);border-radius:var(--r-s);padding:16px 18px 14px;min-width:0}
.champ-nom{font-size:11.5px;line-height:1.55;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.champ-valeur{font-size:21px;line-height:1.25;font-weight:600;color:var(--encre);padding-top:8px;min-height:36px;margin-bottom:2px}
.champ-valeur select,.champ-valeur input{font:inherit;color:inherit;background:none;border:0;padding:0 26px 0 0;margin:0;width:100%;height:26px;display:block;appearance:none;-webkit-appearance:none;cursor:pointer;outline:0}
.champ-valeur input{padding-right:0}
.champ-valeur select{background:var(--ic-chevron) right 0 center/18px no-repeat}
.champ-note{font-size:13px;line-height:1.55;color:var(--gris)}
.champ:focus-within{outline:2px solid var(--accent);outline-offset:-2px}
.echange{align-self:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--filet);background:var(--carte);cursor:pointer;position:relative;box-shadow:0 1px 3px rgba(16,26,46,.08);font-size:0;line-height:0}
.echange::before{content:'';position:absolute;inset:13px;background:var(--encre);mask:var(--ic-echange) center/contain no-repeat;-webkit-mask:var(--ic-echange) center/contain no-repeat}
.wp-block-buttons.recherche-envoi{display:flex;align-items:stretch}
.recherche-envoi .wp-block-button{display:flex}
.recherche-envoi .wp-block-button .wp-block-button__link,.recherche-envoi .wp-block-button>a{font-size:18px;padding-inline:34px;height:100%}
.villes{display:none}

/* Titres de section */
.titre-s{font-size:25px;line-height:1.2;font-weight:800;letter-spacing:-.03em}
.titre-l{font-size:38px;line-height:1.1;font-weight:800;letter-spacing:-.035em}
.sous-titre{color:var(--gris);font-size:16.5px;margin-top:4px}
.texte{color:var(--gris);font-size:17px;line-height:1.65}
.surtitre,.etiquette{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.surtitre{color:var(--accent)}
.etiquette{color:var(--gris)}
.lien-souligne{font-weight:700;font-size:16px;white-space:nowrap}
.lien-souligne a{border-bottom:2px solid var(--accent);padding-bottom:1px;text-decoration:none}

/* Lignes */
.lignes{padding:64px 0 0}
.lignes-tete{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.pastilles{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px 10px}
.pastille a{display:inline-flex;align-items:center;gap:14px;background:var(--carte);border:1px solid var(--filet);border-radius:999px;padding:11px 18px 11px 20px;font-size:14px;color:var(--gris);text-decoration:none;transition:border-color .15s}
.pastille strong{font-weight:600;font-size:16px;color:var(--encre)}
.pastille a::after{content:'';width:16px;height:16px;background:var(--encre);mask:var(--ic-fleche) center/contain no-repeat;-webkit-mask:var(--ic-fleche) center/contain no-repeat}
.pastille a:hover{border-color:var(--accent)}
.pastille a:hover::after{background:var(--accent)}

/* Pourquoi */
.pourquoi{padding:96px 0 104px}
.pourquoi-grille{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start}
.pourquoi-texte .texte{margin-top:18px}
.chiffres{display:grid;grid-template-columns:1fr 1fr;background:var(--carte);border:1px solid var(--filet);border-radius:var(--r-m);overflow:hidden}
.chiffres .chiffre{padding:28px 28px 30px;border-top:1px solid var(--filet);border-left:1px solid var(--filet);margin:-1px 0 0 -1px}
.chiffre-nombre{font-size:38px;line-height:1.1;font-weight:800;letter-spacing:-.03em}
.chiffre-texte{margin-top:6px;color:var(--gris);font-size:15px;line-height:1.45}

/* Location, bande sombre */
.location{background:var(--nuit);color:var(--blanc);padding:88px 0}
.location-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:88px;align-items:center}
.location-texte .titre-l{margin-top:14px}
.location-texte .texte{margin-top:18px;color:var(--clair)}
.location-actions{margin-top:30px}
.location-photo{border-radius:var(--r-l);overflow:hidden;border:1px solid rgba(255,255,255,.14);aspect-ratio:16/10}
.location-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}

/* Cartes, agences */
.agences{padding:88px 0 104px}
.agences-grille{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.carte{background:var(--carte);border:1px solid var(--filet);border-radius:var(--r-m);padding:28px;box-shadow:0 1px 2px rgba(16,26,46,.04)}
.agence-tel{margin-top:12px;font-size:30px;line-height:1.3;font-weight:800;letter-spacing:-.02em;display:flex;align-items:center;gap:12px}
.agence-tel::before{content:'';width:22px;height:22px;background:var(--accent);mask:var(--ic-tel) center/contain no-repeat;-webkit-mask:var(--ic-tel) center/contain no-repeat}
.carte-note{margin-top:8px;color:var(--gris);font-size:15px}
.agence-action,.carte-action{margin-top:22px}

/* Pages internes */
.page-tete{background:var(--nuit);color:var(--blanc);padding:128px 0 56px}
.page-titre{margin-top:12px;font-size:44px;line-height:1.08;font-weight:800;letter-spacing:-.035em}
.page-chapo{margin-top:14px;color:var(--clair);font-size:17.5px;line-height:1.6;max-width:640px}
.page-corps{padding:48px 0 104px}
.page-grille{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start}
.page-cote{display:grid;gap:20px;position:sticky;top:96px}
.cote-photo{border-radius:var(--r-m);overflow:hidden;border:1px solid var(--filet);aspect-ratio:4/3}
.cote-photo img{width:100%;height:100%;object-fit:cover}
.contact-ligne{margin-top:16px;color:var(--gris);font-size:14.5px;line-height:1.45}
.contact-ligne strong{font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--encre)}
.contact-ligne a{text-decoration:none}
.etape{margin-top:12px;color:var(--gris);font-size:15.5px;line-height:1.5}
.etiquette+.etape{margin-top:16px}
.note{margin-top:12px;color:var(--gris);font-size:13.5px}
.titre-espace{margin-top:56px}

/* Trajets */
.trajets{display:grid;gap:16px}
.trajet{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:24px 26px}
.trajet-corps{flex:1;min-width:0}
.trajet-nom{font-size:19px;line-height:1.3;font-weight:700;letter-spacing:-.02em}
.trajet-ligne{margin-top:14px;display:flex;align-items:center;gap:18px}
.trajet-ville{color:var(--gris);font-size:14px;line-height:1.4;flex:none}
.trajet-ville strong{color:var(--encre);font-size:22px;font-weight:800;letter-spacing:-.02em}
.trajet-trait{flex:1;text-align:center;color:var(--gris);font-size:13px;line-height:1.55;padding-top:14px;background:linear-gradient(var(--clair),var(--clair)) 0 6px/100% 2px no-repeat;position:relative;max-width:300px}
.trajet-trait::before,.trajet-trait::after{content:'';position:absolute;top:2px;width:10px;height:10px;border-radius:50%}
.trajet-trait::before{left:0;background:var(--accent)}
.trajet-trait::after{right:0;background:var(--gris)}
.trajet-achat{display:grid;gap:12px;justify-items:end;flex:none}
.trajet-prix{text-align:right;color:var(--gris);font-size:14px;line-height:1.35}
.trajet-prix strong{color:var(--encre);font-size:24px;font-weight:800;letter-spacing:-.02em}

/* Tableaux en rangées */
.rangees{margin-top:20px;background:var(--carte);border:1px solid var(--filet);border-radius:var(--r-m);overflow:hidden}
.rangee{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;padding:13px 18px;border-top:1px solid var(--filet)}
.rangee:first-child{border-top:0}
.rangee-nom{font-size:15.5px;color:var(--bleu)}
.rangee-valeur{font-size:15.5px;font-weight:600}
.carte .rangees{margin-top:16px;border:0;border-radius:0}
.carte .rangee{padding:11px 0;grid-template-columns:1fr auto}

/* Questions */
.faq{margin-top:12px}
.question{border-bottom:1px solid var(--filet)}
.question summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;font-weight:600;font-size:16px}
.question summary::-webkit-details-marker{display:none}
.question summary::after{content:'';flex:none;width:18px;height:18px;background:var(--ic-chevron) center/contain no-repeat;transition:transform .15s}
.question[open] summary::after{transform:rotate(180deg)}
.reponse{color:var(--gris);font-size:15.5px;line-height:1.6;padding:0 40px 18px 0}

/* Formulaire */
.form-carte{margin-bottom:16px;padding:24px 26px 26px}
.wpcf7-form{margin-top:20px}
.wpcf7-form p{margin:0}
.form-titre{font-size:17px;line-height:1.3;font-weight:700;letter-spacing:-.01em}
.form-aide{margin-top:4px;color:var(--gris);font-size:13.5px}
.form-grille{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-champ{display:block;font-size:15px;font-weight:500}
.form-large{grid-column:1 / -1}
.form-grille>p{display:contents}
.wpcf7-form .hidden-fields-container{display:none}
.wpcf7-form-control-wrap,.form-controle{display:block;margin-top:6px}
.form-champ select,.form-champ input,.form-champ textarea{display:block;width:100%;font:400 16px/1.4 var(--police);color:var(--encre);background:var(--carte);border:1px solid #D9D5CC;border-radius:var(--r-s);padding:11px 13px;box-shadow:0 1px 2px rgba(16,26,46,.05);outline:0;appearance:none;-webkit-appearance:none;min-height:46px}
.form-champ select{background:var(--carte) var(--ic-chevron) right 12px center/18px no-repeat;padding-right:38px}
.form-champ textarea{resize:vertical}
.form-champ select:focus,.form-champ input:focus,.form-champ textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(226,35,26,.15)}
.form-pied{margin-top:20px}
.form-envoi{padding:15px 24px;font-size:16px}
.wpcf7-not-valid-tip{display:block;margin-top:6px;color:var(--accent-fonce);font-size:13px;font-weight:500}
.wpcf7-response-output{margin:16px 0 0!important;padding:12px 16px!important;border:1px solid var(--filet)!important;border-radius:var(--r-s);background:var(--carte);font-size:14.5px}
.wpcf7-spinner{display:none}

/* Location : flotte, formules */
.vehicules{margin-top:20px;display:grid;gap:16px}
.carte.vehicule{display:grid;grid-template-columns:260px minmax(0,1fr);padding:0;overflow:hidden}
.vehicule-photo{background:var(--creux)}
.vehicule-photo img{width:100%;height:100%;object-fit:cover}
.vehicule-corps{padding:22px 24px 22px}
.vehicule-nom{font-size:19px;line-height:1.3;font-weight:700;letter-spacing:-.02em}
.vehicule-texte{margin-top:4px;color:var(--gris);font-size:15px}
.vehicule-faits{margin-top:16px;display:flex;gap:36px}
.fait{color:var(--gris);font-size:13.5px;line-height:1.4}
.fait strong{color:var(--encre);font-size:22px;font-weight:800;letter-spacing:-.02em}
.puces{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}
.puce{font-size:12.5px;font-weight:600;line-height:1.4;padding:4px 10px;border:1px solid var(--filet);border-radius:6px;background:var(--creux)}
.vehicule-achat{margin-top:18px;padding-top:16px;border-top:1px solid var(--filet);display:flex;justify-content:space-between;align-items:center;gap:16px}
.vehicule-prix{color:var(--gris);font-size:13.5px;line-height:1.35}
.vehicule-prix strong{color:var(--encre);font-size:18px;font-weight:800;letter-spacing:-.01em}
.formules{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.formule .carte-note{margin-top:6px}
.formule .etape{position:relative;padding-left:16px}
.formule .etape::before{content:'';position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.usage{margin-top:14px;color:var(--gris);font-size:14.5px;line-height:1.45}
.usage strong{color:var(--encre);font-size:15.5px;font-weight:600}
#devis{scroll-margin-top:100px}

/* Réservation (extension Aryane Réservations) */
.aryane-resa{scroll-margin-top:96px}
.aryane-resa [hidden]{display:none!important}
.form-champ [aria-invalid="true"]{border-color:var(--accent)}
.modes{margin-top:16px;display:grid;gap:10px}
.mode{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;border:1px solid var(--filet);border-radius:var(--r-s);background:var(--carte);cursor:pointer;transition:border-color .15s,background .15s}
.mode input{flex:none;width:18px;height:18px;margin:3px 0 0;accent-color:var(--encre)}
.mode-texte{font-size:13.5px;line-height:1.45;color:var(--gris)}
.mode-texte strong{font-size:16px;font-weight:600;color:var(--encre)}
.mode.est-choisi{border-color:var(--accent);background:#FDF1F0}
.mode.est-indisponible{opacity:.5;cursor:not-allowed}
.resa-numero{margin-top:18px}
.resa-note{margin-top:14px;padding-left:26px;position:relative;color:var(--gris);font-size:13.5px;line-height:1.5}
.resa-note::before{content:'';position:absolute;left:0;top:1px;width:17px;height:17px;background:var(--gris);mask:var(--ic-cadenas) center/contain no-repeat;-webkit-mask:var(--ic-cadenas) center/contain no-repeat}
.resa-piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.resa-recap{padding:24px 26px 26px}
.recap-trajet{margin-top:10px;color:var(--gris);font-size:14px;line-height:1.5}
.recap-trajet strong{color:var(--encre);font-size:16px;font-weight:600}
.recap-ligne{display:flex;justify-content:space-between;gap:16px;margin-top:10px;color:var(--gris);font-size:15.5px}
.recap-trajet+.recap-ligne{margin-top:18px}
.recap-ligne span:last-child{color:var(--encre)}
.recap-total{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:16px 0;border-block:1px solid var(--filet);font-weight:600}
.recap-montant{font-size:26px;line-height:1.2;font-weight:800;letter-spacing:-.02em}
.recap-avis{margin-top:14px;color:var(--gris);font-size:13.5px;line-height:1.5}
.resa-erreur{margin-top:14px;padding:10px 12px;border:1px solid rgba(226,35,26,.35);background:#FDF1F0;border-radius:var(--r-s);color:var(--accent-fonce);font-size:14px;font-weight:500}
.resa-envoi{display:flex;width:100%;margin-top:18px;padding:15px 20px;font-size:16px}
.resa-envoi:disabled{opacity:.55;cursor:not-allowed}
.recap-note{color:var(--gris);font-size:13.5px;line-height:1.5;padding-inline:4px}
.resa-attente,.resa-resultat{max-width:800px;margin-inline:auto}
.attente-carte{padding:32px}
.attente-roue{width:38px;height:38px;border-radius:50%;border:3px solid var(--filet);border-top-color:var(--accent);animation:ar-tour 1s linear infinite}
@keyframes ar-tour{to{transform:rotate(360deg)}}
.attente-titre{margin-top:20px;font-size:25px;line-height:1.2;font-weight:800;letter-spacing:-.03em}
.attente-texte{margin-top:10px;color:var(--gris);font-size:16.5px;line-height:1.6}
.attente-texte strong{color:var(--encre)}
.attente-ref{margin-top:18px;padding-top:18px;border-top:1px solid var(--filet);color:var(--gris);font-size:15px}
.attente-ref strong{color:var(--encre);letter-spacing:.08em}
.attente-aide{margin-top:6px;color:var(--gris);font-size:13.5px}
.alerte{position:relative;padding:18px 22px 18px 58px;border:1px solid var(--filet);border-radius:var(--r-m);background:var(--creux)}
.alerte::before{content:'';position:absolute;left:22px;top:20px;width:22px;height:22px;background:var(--gris);mask:var(--ic-bouclier) center/contain no-repeat;-webkit-mask:var(--ic-bouclier) center/contain no-repeat}
.alerte-titre{font-size:17px;font-weight:700}
.alerte-texte{margin-top:2px;color:var(--gris);font-size:15.5px}
.alerte[data-ton="payee"]{background:#E4F4EA;border-color:#9BD0B1}
.alerte[data-ton="payee"] .alerte-titre{color:#1F6E47}
.alerte[data-ton="payee"]::before{background:#1F6E47}
.alerte[data-ton="echec"]{background:#FDF1F0;border-color:rgba(226,35,26,.35)}
.alerte[data-ton="echec"] .alerte-titre{color:var(--accent-fonce)}
.alerte[data-ton="echec"]::before{background:var(--accent-fonce)}
.billet{margin-top:20px;border:1px solid var(--filet);border-radius:var(--r-m);overflow:hidden;background:var(--carte)}
.billet-tete{background:var(--nuit);color:var(--blanc);padding:22px 26px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.billet-trajet{margin-top:6px;font-size:22px;line-height:1.2;font-weight:800;letter-spacing:-.02em}
.billet-date{margin-top:2px;color:var(--clair);font-size:15px}
.billet-code{text-align:right}
.billet-code .etiquette{color:var(--clair)}
.billet-reference{font-size:20px;line-height:1.3;font-weight:800;letter-spacing:.12em}
.billet-statut{color:var(--clair);font-size:14px}
.billet-corps{padding:24px 26px;display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}
.billet-champ span{display:block;color:var(--gris);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.billet-champ strong{display:block;margin-top:4px;font-size:16px;font-weight:600}
.billet-large{grid-column:1 / -1}
.billet-consignes{padding:20px 26px 22px;border-top:1px solid var(--filet);background:var(--creux);color:var(--gris);font-size:15px;line-height:1.6}
.billet-consignes-titre{margin-bottom:6px;color:var(--encre);font-size:16px;font-weight:700}
.resa-erreur-suite{margin-top:16px}
.resa-actions{margin-top:20px;display:flex;flex-wrap:wrap;gap:10px}
.resa-action{font:600 15px/1 var(--police);padding:12px 16px;border:1px solid var(--filet);border-radius:var(--r-s);background:var(--carte);color:var(--encre);cursor:pointer;box-shadow:0 1px 2px rgba(16,26,46,.05)}
.resa-action-forte{background:var(--accent);border-color:var(--accent);color:var(--blanc)}
.resa-action:disabled{opacity:.55;cursor:default}
@media print{.entete,.pied,.page-tete,.resa-actions,.alerte{display:none!important}.page-corps{padding:0!important}body{background:#fff}}

/* Pied */
.pied{background:var(--nuit);color:var(--clair);padding:72px 0 0}
.pied-grille{display:grid;grid-template-columns:1.25fr 1.25fr 1.25fr 1fr;gap:56px}
.pied-nom{color:var(--blanc);font-weight:800;font-size:18px;letter-spacing:.16em;text-transform:uppercase}
.pied-texte{margin-top:16px;font-size:15.5px;line-height:1.6;max-width:270px}
.pied-titre{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.pied-liste{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:10px;font-size:15.5px}
.pied-liste-2{grid-template-columns:1fr 1fr}
.pied-liste a{text-decoration:none}
.pied-liste a:hover{color:var(--blanc)}
.pied-bas{margin-top:64px;padding-block:22px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:13.5px}

:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

@media (max-width:1180px){
  .hero-grille{gap:56px}
  .hero-titre{font-size:50px}
  .menu,.menu .wp-block-navigation__container{gap:22px}
  .entete-rangee{gap:28px}
  .location-grille{gap:48px}
  .recherche-carte{grid-template-columns:1fr 46px 1fr}
  .champ-date{grid-column:1 / 3}
  .recherche-envoi{grid-column:3}
  .page-grille{grid-template-columns:minmax(0,1fr) 300px;gap:28px}
}
@media (max-width:900px){
  .entete nav.menu{display:none;position:absolute;top:64px;left:0;right:0;background:var(--nuit);border-bottom:1px solid rgba(255,255,255,.08);padding:8px 24px 20px;margin:0}
  .entete nav.menu.est-ouvert{display:block}
  .menu .wp-block-navigation__container{display:block}
  .menu a,.menu .wp-block-navigation-item__content{display:block;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:17px}
  .entete-cta{margin-left:auto}
  .menu-bascule{display:block}
  .entete-rangee{gap:12px;height:64px}
  .marque-nom{font-size:14px;letter-spacing:.12em}
  .marque-logo,.marque-logo img{width:34px;height:34px}
  .hero{padding:104px 0 150px}
  .hero-grille,.pourquoi-grille,.location-grille,.page-grille{grid-template-columns:minmax(0,1fr);gap:40px}
  .hero-titre{font-size:40px}
  .hero-chapo{font-size:17px;margin-top:20px}
  .recherche{margin-top:-110px}
  .recherche-carte{grid-template-columns:minmax(0,1fr);padding:12px}
  .champ-date,.recherche-envoi{grid-column:auto}
  .echange{justify-self:end;margin:-28px 14px -28px 0;z-index:1;transform:rotate(90deg)}
  .recherche-envoi .wp-block-button{width:100%}
  .recherche-envoi .wp-block-button .wp-block-button__link,.recherche-envoi .wp-block-button>a{padding-block:18px;width:100%}
  .lignes{padding-top:48px}
  .lignes-tete{flex-direction:column;align-items:flex-start;gap:14px}
  .pastille{width:100%}
  .pastille a{display:flex}
  .pastille strong{margin-right:auto}
  .pourquoi{padding:64px 0 72px}
  .titre-l{font-size:30px}
  .chiffres .chiffre{padding:20px}
  .chiffre-nombre{font-size:28px}
  .location{padding:64px 0}
  .agences{padding:64px 0 72px}
  .agences-grille{grid-template-columns:minmax(0,1fr)}
  .page-tete{padding:100px 0 40px}
  .page-titre{font-size:34px}
  .page-corps{padding:32px 0 72px}
  .trajet{flex-direction:column;align-items:stretch;gap:18px;padding:20px}
  .trajet-achat{display:flex;justify-content:space-between;align-items:center}
  .trajet-prix{text-align:left}
  .trajet-ligne{gap:12px}
  .trajet-ville strong{font-size:18px}
  .form-grille{grid-template-columns:minmax(0,1fr)}
  .rangee{grid-template-columns:minmax(0,1fr);gap:2px}
  .page-cote{position:static}
  .carte.vehicule{grid-template-columns:minmax(0,1fr)}
  .vehicule-photo{aspect-ratio:16/9}
  .vehicule-faits{gap:24px}
  .vehicule-achat{flex-wrap:wrap}
  .formules{grid-template-columns:minmax(0,1fr)}
  .billet-tete{flex-direction:column;gap:14px}
  .billet-code{text-align:left}
  .billet-corps{grid-template-columns:minmax(0,1fr)}
  .attente-carte{padding:24px}
  .pied-grille{grid-template-columns:1fr 1fr;gap:40px 24px}
  .pied-marque{grid-column:1 / -1}
}
@media (max-width:420px){
  .marque-nom{display:none}
  .hero-reperes{grid-template-columns:minmax(0,1fr);gap:12px}
}

/* ===== 2 · Adaptations Gutenberg ===== */
:where(.wp-block-group)>:where(*),:where(.wp-block-buttons){margin-block:0}
:where(figure.wp-block-image){margin:0}
.wp-block-image.hero-photo,.wp-block-image.location-photo,.wp-block-image.cote-photo,.wp-block-image.vehicule-photo{margin:0}
.admin-bar .entete{top:32px}
@media (max-width:782px){.admin-bar .entete{top:46px}}
.menu .wp-block-navigation-item{margin:0}
.marque-nom a,.marque-logo a{text-decoration:none;color:inherit;display:block}
.wp-block-button.b-plein::after{content:none}
.wp-block-details.question{margin:0}
.wp-block-details.question summary{cursor:pointer}
.wp-block-shortcode{margin:0}
