/* TaxiApp.club — estimation.css
   Habillage du module d'estimation de course aux couleurs de la maison.
   Le <style> inline d'origine du module a ete retire au profit de ce fichier
   (voir _DEPLOIEMENT.md > "Module d'estimation" avant toute mise a jour du module). */

/* ══ Section d'accueil du calculateur ══════════════════════ */
.estim-section{padding:88px 0;background:var(--bg-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:relative;overflow:hidden}
.estim-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 15% 0%,rgba(232,96,0,.07) 0%,transparent 65%);pointer-events:none}
.estim-grid{position:relative;display:grid;grid-template-columns:1fr 480px;gap:56px;align-items:center}
.estim-content h2{font-size:clamp(28px,3.5vw,44px);font-weight:800;margin-bottom:16px}
.estim-content h2 span{color:var(--orange)}
.estim-content>p{font-size:16px;color:var(--text-2);line-height:1.7;margin-bottom:28px;max-width:520px}
.estim-points{display:flex;flex-direction:column;gap:13px;margin-bottom:28px}
.estim-point{display:flex;align-items:flex-start;gap:11px;font-size:15px;color:var(--text-2);line-height:1.55}
.estim-check{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:rgba(232,96,0,.12);border:1px solid var(--border-orange);color:var(--orange);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-top:1px}
.estim-note{font-size:13px;color:var(--text-3);line-height:1.6;padding-left:14px;border-left:2px solid var(--border-orange)}

/* ══ Le module lui-meme ════════════════════════════════════ */
#taxi-estimation{max-width:480px;margin:0;background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-xl);padding:28px;font-family:var(--font-body);box-shadow:var(--shadow)}
#taxi-estimation h3{margin:0 0 4px;font-family:var(--font-head);font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--text)}
#taxi-estimation .te-intro{font-size:13px;color:var(--text-3);margin:0 0 20px}

#taxi-estimation .te-field{position:relative;margin-bottom:14px}
#taxi-estimation label{display:block;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;color:var(--text-3)}
#taxi-estimation input,#taxi-estimation select{width:100%;box-sizing:border-box;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-3);color:var(--text);font-size:15px;font-family:var(--font-body);transition:var(--transition)}
#taxi-estimation input::placeholder{color:var(--text-3)}
#taxi-estimation input:focus,#taxi-estimation select:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(232,96,0,.15)}
#taxi-estimation select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}

#taxi-estimation .te-suggestions{position:absolute;z-index:60;left:0;right:0;top:100%;margin-top:4px;background:var(--bg-3);border:1px solid var(--border-orange);border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow);max-height:230px;overflow-y:auto}
#taxi-estimation .te-suggestions div{padding:10px 14px;cursor:pointer;font-size:14px;color:var(--text-2);border-bottom:1px solid var(--border);transition:var(--transition)}
#taxi-estimation .te-suggestions div:last-child{border-bottom:none}
#taxi-estimation .te-suggestions div:hover{background:rgba(232,96,0,.1);color:var(--text)}

#taxi-estimation .te-row{display:flex;gap:12px}
#taxi-estimation .te-row .te-field{flex:1}

#taxi-estimation button.te-submit{width:100%;margin-top:8px;padding:14px;border:none;border-radius:50px;background:var(--orange);color:#000;font-family:var(--font-body);font-weight:700;font-size:15px;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-orange)}
#taxi-estimation button.te-submit:hover:not(:disabled){background:var(--orange-light);transform:translateY(-2px)}
#taxi-estimation button.te-submit:disabled{opacity:.55;cursor:wait;transform:none;box-shadow:none}

#taxi-estimation .te-result{margin-top:18px;padding:20px;border-radius:var(--radius);background:var(--bg-3);border:1px solid var(--border-orange);display:none}
#taxi-estimation .te-price{font-family:var(--font-head);font-size:38px;font-weight:800;letter-spacing:-.03em;color:var(--orange);line-height:1}
#taxi-estimation .te-price-note{font-size:13px;color:var(--text-2)}
#taxi-estimation .te-line{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--text-2);margin-top:9px;padding-top:9px;border-top:1px solid var(--border)}
#taxi-estimation .te-line span:last-child{color:var(--text);font-weight:600;white-space:nowrap}

#taxi-estimation .te-error{margin-top:14px;padding:13px 15px;border-radius:var(--radius-sm);background:rgba(180,40,40,.12);border:1px solid rgba(200,70,70,.35);color:#ffb4b4;font-size:14px;line-height:1.55;display:none}

/* Bloc de téléchargement (remplace l'ancien lien vers l'application web) */
#taxi-estimation .te-download{margin-top:18px;padding-top:16px;border-top:1px solid var(--border);text-align:center}
#taxi-estimation .te-download-title{font-size:14px;font-weight:600;color:var(--text);margin:0 0 12px}
/* nowrap : les deux badges restent toujours côte à côte, jamais empilés.
   Dimensionnement par la hauteur pour qu'ils s'alignent visuellement malgré
   des rapports d'image légèrement différents (332x98 et 336x97). */
#taxi-estimation .te-stores{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:nowrap}
#taxi-estimation .te-stores a{flex:0 0 auto;display:block;border-radius:7px;overflow:hidden;transition:var(--transition);line-height:0}
#taxi-estimation .te-stores a:hover{transform:translateY(-2px);opacity:.88}
#taxi-estimation .te-stores img{height:36px;width:auto;display:block;border-radius:7px}
#taxi-estimation .te-download-note{font-size:12px;color:var(--text-3);margin:10px 0 0}
@media(max-width:380px){#taxi-estimation .te-stores img{height:32px}#taxi-estimation .te-stores{gap:6px}}

/* ══ Responsive ════════════════════════════════════════════ */
@media(max-width:1000px){
  .estim-grid{grid-template-columns:1fr;gap:40px}
  #taxi-estimation{max-width:560px;margin:0 auto}
  .estim-content>p{max-width:none}
}
@media(max-width:560px){
  .estim-section{padding:64px 0}
  #taxi-estimation{padding:22px}
  #taxi-estimation .te-price{font-size:32px}
}
#taxi-estimation .te-when-echo{margin:6px 0 0;font-size:12px;color:var(--text-3);min-height:16px;transition:var(--transition)}
#taxi-estimation .te-when-echo.te-when-ko{color:#ffb4b4}
#taxi-estimation input:invalid{border-color:rgba(200,70,70,.55)}
#taxi-estimation .te-b2b{display:block;margin-top:12px;padding-top:11px;border-top:1px solid var(--border);font-size:12px;color:var(--text-3);line-height:1.5;transition:var(--transition)}
#taxi-estimation .te-b2b:hover{color:var(--orange)}

/* ══ Tableaux tarifaires (pages villes, page tarifs) ══════ */
.tarif-table{width:100%;border-collapse:collapse;margin:22px 0;font-size:14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.tarif-table caption{caption-side:top;text-align:left;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding:0 0 9px}
.tarif-table th{text-align:left;padding:11px 15px;background:var(--bg-3);color:var(--text-3);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid var(--border)}
.tarif-table td{padding:11px 15px;border-bottom:1px solid var(--border);color:var(--text-2)}
.tarif-table tbody tr:last-child td{border-bottom:none}
.tarif-table td:last-child{text-align:right;color:var(--orange);font-weight:700;white-space:nowrap}
.tarif-table tbody tr:hover{background:rgba(232,96,0,.04)}
@media(max-width:520px){.tarif-table{font-size:13px}.tarif-table th,.tarif-table td{padding:9px 11px}}

/* ══ Page tarifs : corps rédactionnel ═════════════════════ */
.page-body{padding:60px 0 80px}
.page-body .container{max-width:820px}
.page-body h2{font-family:var(--font-head);font-size:clamp(24px,3vw,32px);font-weight:800;letter-spacing:-.02em;margin:48px 0 14px;scroll-margin-top:90px}
.page-body h2:first-child{margin-top:0}
.page-body h3{font-family:var(--font-head);font-size:19px;font-weight:700;margin:0 0 8px}
.page-body p{color:var(--text-2);line-height:1.75;margin-bottom:14px}
.page-body strong{color:var(--text);font-weight:600}
.page-body a{color:var(--orange)}
.tarif-liste{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-direction:column;gap:11px}
.tarif-liste li{position:relative;padding-left:22px;color:var(--text-2);line-height:1.7}
.tarif-liste li::before{content:'';position:absolute;left:4px;top:11px;width:6px;height:6px;border-radius:50%;background:var(--orange)}
.tarif-source{font-size:13px;color:var(--text-3);line-height:1.65;padding-left:14px;border-left:2px solid var(--border-orange);margin-bottom:18px}
.tarif-alerte{margin:26px 0;padding:20px 22px;border-radius:var(--radius);background:rgba(232,96,0,.06);border:1px solid var(--border-orange)}
.tarif-alerte h3{color:var(--orange)}
.tarif-alerte p{margin:0;font-size:14px}
.tarif-table td a{color:var(--text-2)}
.tarif-table td a:hover{color:var(--orange)}
.page-lead{font-size:17px;color:var(--text-2);line-height:1.75;max-width:700px;margin-top:14px}
.footer-dest-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}
.footer-dest-grid a{padding:8px 11px;background:var(--bg-card);border:1px solid var(--border);border-radius:9px;color:var(--text-2);font-size:12.5px;transition:var(--transition);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.footer-dest-grid a:hover{border-color:var(--border-orange);color:var(--text)}
@media(max-width:900px){.footer-dest-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.footer-dest-grid{grid-template-columns:repeat(2,1fr)}}
