/* V435 accueil design final — CSS dédié accueil uniquement. Aucun framework, aucune bibliothèque. */
:root{
  --v435-blue-deep:#053b70;
  --v435-blue:#004d99;
  --v435-blue-soft:#e9f7ff;
  --v435-cyan:#08a7c8;
  --v435-orange:#ff9d2d;
  --v435-ink:#10283d;
  --v435-shadow:0 22px 60px rgba(12,39,72,.14);
}

/* Sections accueil seulement */
.v435-home-hero,
.v435-home-search,
.v435-home-routes,
.v435-home-guide{position:relative;overflow:hidden;border:0;}

.v435-home-hero{margin:12px;border-radius:34px;padding:30px 22px;background:radial-gradient(circle at 86% 7%,rgba(255,157,45,.54),transparent 28%),linear-gradient(145deg,var(--v435-blue) 0%,#0576c7 45%,var(--v435-cyan) 100%);color:#fff;box-shadow:0 28px 72px rgba(0,77,153,.27);}
.v435-home-hero::before{content:"";position:absolute;left:-12%;right:-12%;bottom:-42%;height:230px;background:radial-gradient(ellipse at center,rgba(255,255,255,.34),transparent 64%);pointer-events:none;}
.v435-home-hero .section-head{position:relative;z-index:1;gap:14px;}
.v435-home-hero h1{font-size:clamp(34px,8vw,64px);line-height:.92;letter-spacing:-.045em;color:#fff;max-width:780px;}
.v435-home-hero .sub{color:rgba(255,255,255,.86);font-weight:800;}
.v435-home-hero .pill,
.v435-home-hero .mini{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.30);backdrop-filter:blur(14px);}
.v435-home-hero .home-info-badges{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.v435-home-hero .mini{justify-content:center;border-radius:999px;min-height:42px;font-weight:900;}
.v435-home-hero .weather-panel{position:relative;z-index:1;border-radius:24px;box-shadow:0 18px 50px rgba(12,39,72,.12);}

.v435-home-search{margin:16px 12px;border-radius:30px;background:linear-gradient(180deg,#fff,var(--v435-blue-soft));box-shadow:var(--v435-shadow);}
.v435-home-search .section-head h2,
.v435-home-routes .section-head h2{letter-spacing:-.04em;color:var(--v435-blue-deep);}
.v435-home-search .unified-filters-container{display:grid;gap:14px;}
.v435-home-search .filter-subgroup{border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(12,39,72,.10);}
.v435-home-search .filter-btn{border-radius:999px;}

.v435-home-routes{margin:16px 12px;padding:22px 0;background:transparent;}
.v435-home-routes>.section-head{padding:0 4px 14px;}
.v435-home-routes #routeList.cards-row{display:grid;grid-template-columns:1fr;gap:16px;overflow:visible;scroll-snap-type:none;}
.v435-home-routes #routeList .card{width:auto;min-width:0;border-radius:28px;background:#fff;box-shadow:0 18px 50px rgba(12,39,72,.16);border:1px solid rgba(12,39,72,.08);transform:translateZ(0);}
.v435-home-routes #routeList .card:nth-child(n+4){display:none;}
.v435-home-routes #routeList .card-media{border-radius:28px 28px 0 0;overflow:hidden;}
.v435-home-routes #routeList .card-image{height:192px;border-radius:0;}
.v435-home-routes #routeList .card-title{font-size:21px;line-height:1.05;letter-spacing:-.03em;margin-top:16px;color:var(--v435-blue-deep);}
.v435-home-routes #routeList .card-meta{font-size:13px;}
.v435-home-routes #routeList .card-desc{font-size:14px;line-height:1.45;}
.v435-home-routes #routeList .chips{gap:7px;}
.v435-home-routes #routeList .chip{border-radius:999px;padding:8px 10px;font-weight:850;background:#edf8ff;color:#055083;}
.v435-home-routes #btnAllRoutes,
.v435-home-routes #routeList .btn-view{min-height:48px;border-radius:999px;box-shadow:0 16px 34px rgba(0,77,153,.20);}

.v435-home-guide{display:grid;gap:0;margin:20px 12px;border-radius:30px;background:linear-gradient(135deg,#072f5f,var(--v435-blue) 58%,#09a6bf);color:#fff;box-shadow:0 26px 64px rgba(0,77,153,.22);}
.v435-home-guide .guide-home-visual{min-height:190px;}
.v435-home-guide .guide-home-content h2,
.v435-home-guide .guide-home-content p,
.v435-home-guide .guide-home-content small{color:#fff;}
.v435-home-guide .guide-home-open{min-height:48px;border-radius:999px;background:var(--v435-orange);color:var(--v435-ink);box-shadow:0 16px 34px rgba(0,77,153,.20);}

@media (min-width:720px){
  .v435-home-routes #routeList.cards-row{grid-template-columns:repeat(3,minmax(0,1fr));}
  .v435-home-routes #routeList .card-image{height:170px;}
  .v435-home-guide{grid-template-columns:.9fr 1.1fr;align-items:stretch;}
}
@media (min-width:1024px){
  .v435-home-hero{min-height:360px;display:flex;flex-direction:column;justify-content:flex-end;}
}
