/* DTSFrance PWA V93 — interface mobile reconstruite d'après la maquette.
   Aucun de ces styles ne s'applique au site ordinateur normal. */
.app-only{display:none}

body.pwa-active{
  --pwa-red:#e30613;--pwa-navy:#101a38;--pwa-ink:#111827;--pwa-muted:#667085;
  --pwa-bg:#f5f6f8;--pwa-card:#fff;--pwa-line:#e6e8ee;
  margin:0!important;padding:0 0 calc(76px + env(safe-area-inset-bottom))!important;
  background:var(--pwa-bg)!important;color:var(--pwa-ink)!important;overflow-x:hidden!important;
}
body.pwa-active *{box-sizing:border-box}
body.pwa-active .app-only{display:flex!important}
body.pwa-active .page{min-height:100vh;background:var(--pwa-bg)!important}

/* En-tête très compact : le contenu principal reste prioritaire. */
body.pwa-active .site-header{position:sticky!important;top:0;z-index:1000;background:#fff!important;border-bottom:1px solid #eceef2!important;box-shadow:0 2px 10px rgba(15,23,42,.06)!important}
body.pwa-active .header-inner{height:56px!important;min-height:56px!important;padding:5px 14px!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
body.pwa-active .brand img{width:112px!important;max-height:42px!important;height:auto!important}
body.pwa-active .menu-toggle{display:flex!important;width:40px!important;height:40px!important;border:0!important;background:#fff!important;border-radius:10px!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:5px!important}
body.pwa-active .menu-toggle span{width:22px!important;height:2px!important;background:var(--pwa-navy)!important;border-radius:2px!important}
body.pwa-active .main-navigation{top:56px!important}
body.pwa-active .welcome-offer,body.pwa-active .hero-copy,body.pwa-active .hero-sponsor-label{display:none!important}

/* Accueil blanc, compact, conforme à la maquette téléphone. */
body.pwa-active .hero-home{min-height:0!important;padding:0!important;background:var(--pwa-bg)!important;background-image:none!important}
body.pwa-active .hero-content{display:flex!important;flex-direction:column!important;width:100%!important;max-width:520px!important;margin:0 auto!important;padding:12px 12px 14px!important;gap:10px!important;color:var(--pwa-ink)!important}

body.pwa-active .app-hero-copy{order:1!important;display:block!important;width:100%!important;margin:0!important;padding:3px 4px 1px!important;text-align:left!important;color:var(--pwa-navy)!important}
body.pwa-active .app-hero-copy h1{margin:0!important;font:900 24px/1.03 Arial,sans-serif!important;letter-spacing:-.03em!important;color:var(--pwa-navy)!important}
body.pwa-active .app-hero-copy h1 br{display:none!important}
body.pwa-active .app-hero-copy h1 span{display:block!important;color:var(--pwa-red)!important}
body.pwa-active .app-hero-copy p{margin:6px 0 0!important;font:500 12px/1.35 Arial,sans-serif!important;color:#5f6878!important}

/* Moteur complet : métier, code postal, rayon et bouton. */
body.pwa-active .postal-search-form{order:2!important;display:grid!important;grid-template-columns:1fr!important;gap:6px!important;width:100%!important;margin:0!important;padding:7px!important;background:#fff!important;border:1px solid var(--pwa-line)!important;border-radius:11px!important;box-shadow:0 5px 16px rgba(15,23,42,.10)!important}
body.pwa-active .postal-search-form .field{width:100%!important;min-width:0!important;margin:0!important}
body.pwa-active .postal-search-form input,body.pwa-active .postal-search-form select{display:block!important;width:100%!important;min-width:0!important;height:39px!important;padding:0 12px!important;border:1px solid #dfe3ea!important;border-radius:7px!important;background:#fff!important;color:#182033!important;font:600 12px Arial,sans-serif!important;box-shadow:none!important;text-overflow:ellipsis!important}
body.pwa-active .postal-search-form input::placeholder{color:#747d8c!important;opacity:1!important}
body.pwa-active .postal-search-form button{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;width:100%!important;height:39px!important;margin:0!important;border:0!important;border-radius:7px!important;background:var(--pwa-red)!important;color:#fff!important;font:800 12px Arial,sans-serif!important;box-shadow:0 5px 12px rgba(227,6,19,.22)!important}
body.pwa-active .postal-search-form .postal-help{display:none!important}
body.pwa-active .autocomplete-list{z-index:3000!important}

/* Carte d'installation comme sur la maquette. */
body.pwa-active .hero-content>.app-home-actions{order:3!important;display:grid!important;grid-template-columns:34px 1fr!important;gap:8px!important;width:100%!important;margin:0!important;padding:8px 9px!important;border:1px solid var(--pwa-line)!important;border-radius:10px!important;background:#fff!important;box-shadow:0 4px 14px rgba(15,23,42,.09)!important}
body.pwa-active .hero-content>.app-home-actions:before{content:'📱';display:grid;place-items:center;font-size:20px!important}
body.pwa-active .hero-content>.app-home-actions>div:first-child{min-width:0!important}
body.pwa-active .hero-content>.app-home-actions strong{display:block!important;font:800 11px/1.2 Arial,sans-serif!important;color:var(--pwa-navy)!important}
body.pwa-active .hero-content>.app-home-actions span{display:block!important;margin-top:2px!important;font:500 9px/1.25 Arial,sans-serif!important;color:#667085!important}
body.pwa-active .app-home-buttons{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:5px!important;margin-top:1px!important}
body.pwa-active .app-home-buttons .app-action-button{height:28px!important;padding:0 5px!important;border:0!important;border-radius:6px!important;background:var(--pwa-navy)!important;color:#fff!important;font:700 9px Arial,sans-serif!important}
body.pwa-active .app-home-buttons .app-action-button:first-child{grid-column:1/-1!important;background:var(--pwa-red)!important}

/* Les 3 cartes restent visibles simultanément, sans carrousel. */
body.pwa-active .app-activity-carousel{order:4!important;display:block!important;width:100%!important;margin:0!important;padding:0!important;background:transparent!important}
body.pwa-active .app-activity-carousel__viewport{overflow:visible!important;border-radius:0!important}
body.pwa-active .app-activity-carousel__track{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;transform:none!important;transition:none!important}
body.pwa-active .app-activity-carousel__slide{min-width:0!important;padding:0!important}
body.pwa-active .app-activity-card{display:flex!important;flex-direction:column!important;height:174px!important;min-height:174px!important;background:#fff!important;border:1px solid var(--pwa-line)!important;border-radius:9px!important;overflow:hidden!important;box-shadow:0 4px 13px rgba(15,23,42,.09)!important;color:#111827!important;text-decoration:none!important}
body.pwa-active .app-activity-card__label{display:flex!important;align-items:center!important;gap:3px!important;height:28px!important;min-height:28px!important;padding:0 5px!important;background:#fff!important;border-bottom:1px solid #eceef2!important;color:#394257!important;font:800 8px/1 Arial,sans-serif!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.pwa-active .app-activity-card__label i{color:var(--pwa-red)!important;font-style:normal!important}
body.pwa-active .app-activity-card__media{display:flex!important;align-items:center!important;justify-content:center!important;height:65px!important;min-height:65px!important;background:#eef1f4!important;overflow:hidden!important}
body.pwa-active .app-activity-card__media img{width:100%!important;height:100%!important;object-fit:cover!important}
body.pwa-active .app-activity-card__media img.app-activity-card__logo{width:62%!important;height:auto!important;object-fit:contain!important}
body.pwa-active .app-activity-card__copy{display:flex!important;flex:1!important;flex-direction:column!important;gap:2px!important;padding:6px!important;min-width:0!important;overflow:hidden!important}
body.pwa-active .app-activity-card__copy strong{font:800 8.5px/1.15 Arial,sans-serif!important;white-space:normal!important}
body.pwa-active .app-activity-card__copy span,body.pwa-active .app-activity-card__copy small{font:500 7px/1.2 Arial,sans-serif!important;color:#697386!important;white-space:normal!important}
body.pwa-active .app-activity-card__link{margin-top:auto!important;font:800 7.5px/1 Arial,sans-serif!important;color:var(--pwa-red)!important}
body.pwa-active .app-activity-carousel__dots{display:none!important}

/* Bannière propre, sans mégaphone. */
body.pwa-active .hero-sponsor{order:5!important;display:block!important;position:relative!important;width:100%!important;height:102px!important;min-height:102px!important;margin:0!important;border-radius:10px!important;overflow:hidden!important;background:var(--pwa-navy)!important;box-shadow:0 5px 16px rgba(15,23,42,.17)!important}
body.pwa-active .hero-sponsor-track,body.pwa-active .hero-sponsor-slide{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
body.pwa-active .hero-sponsor-slide{align-items:center!important;justify-content:center!important;padding:8px 12px!important;text-decoration:none!important}
body.pwa-active .hero-sponsor-slide.site-owned-banner{background:var(--banner-bg,var(--pwa-navy))!important;color:var(--banner-text,#fff)!important}
body.pwa-active .hero-sponsor-slide .site-owned-banner-image{display:none!important}
body.pwa-active .hero-sponsor-slide.site-owned-banner>span{width:100%!important;padding:0!important;text-align:center!important}
body.pwa-active .hero-sponsor-slide.site-owned-banner small{font-size:7px!important;letter-spacing:.12em!important}
body.pwa-active .hero-sponsor-slide.site-owned-banner strong{display:block!important;margin-top:2px!important;font-size:15px!important;line-height:1.05!important}
body.pwa-active .hero-sponsor-slide.site-owned-banner em{display:block!important;margin-top:3px!important;font-size:9px!important;line-height:1.2!important}
body.pwa-active .hero-sponsor-slide.site-owned-banner b{display:inline-flex!important;margin-top:6px!important;padding:5px 10px!important;border-radius:999px!important;background:var(--pwa-red)!important;color:#fff!important;font-size:8px!important}
body.pwa-active .hero-sponsor-slide>img:not(.ad-impression-pixel){width:100%!important;height:100%!important;object-fit:contain!important}
body.pwa-active .hero-sponsor-empty{padding:10px!important;text-align:center!important;color:#fff!important}

/* Engagements sur une seule ligne. */
body.pwa-active .trust-strip{order:6!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:3px!important;width:100%!important;margin:0!important;padding:7px 3px!important;border:1px solid var(--pwa-line)!important;border-radius:9px!important;background:#fff!important;box-shadow:0 3px 11px rgba(15,23,42,.07)!important}
body.pwa-active .trust-strip>span{display:flex!important;align-items:center!important;justify-content:center!important;gap:2px!important;min-width:0!important;padding:0 2px!important;border-right:1px solid #eceef2!important;background:transparent!important;color:var(--pwa-red)!important;text-align:center!important;font-size:9px!important}
body.pwa-active .trust-strip>span:last-child{border-right:0!important}
body.pwa-active .trust-strip b{color:#424b5e!important;font:700 6.5px/1.15 Arial,sans-serif!important}
body.pwa-active .trust-strip small{display:block!important;margin-top:1px!important;color:#667085!important;font-size:5.8px!important}

/* Le reste de l'accueil web est masqué dans l'application pour éviter les doublons. */
body.pwa-active .live-showcase,body.pwa-active .professional-showcase,body.pwa-active .home-discovery-section,body.pwa-active .site-footer,body.pwa-active .sponsor-floating-tab{display:none!important}

/* Navigation inférieure. */
body.pwa-active .app-bottom-nav{position:fixed!important;z-index:9999!important;left:0!important;right:0!important;bottom:0!important;display:flex!important;align-items:center!important;justify-content:space-around!important;height:70px!important;padding:7px 6px calc(6px + env(safe-area-inset-bottom))!important;border-radius:22px 22px 0 0!important;background:rgba(16,26,56,.99)!important;box-shadow:0 -7px 22px rgba(0,0,0,.18)!important}
body.pwa-active .app-bottom-nav a,body.pwa-active .app-bottom-nav button{width:20%!important;min-width:0!important;border:0!important;background:none!important;color:#dce2ee!important;text-decoration:none!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:2px!important;padding:2px 1px!important;font:700 8px Arial,sans-serif!important}
body.pwa-active .app-bottom-nav a:first-child{color:#ff3341!important}
body.pwa-active .app-bottom-nav .app-nav-icon{display:grid!important;place-items:center!important;width:25px!important;height:25px!important;font-size:16px!important}
body.pwa-active .app-bottom-nav .is-primary .app-nav-icon{width:42px!important;height:42px!important;margin-top:-25px!important;border:4px solid #fff!important;border-radius:50%!important;background:var(--pwa-red)!important;color:#fff!important;box-shadow:0 6px 16px rgba(227,6,19,.35)!important}
body.pwa-active .app-bottom-nav .is-primary{color:#fff!important}

@media (min-width:430px){
 body.pwa-active .hero-content{padding-left:16px!important;padding-right:16px!important}
 body.pwa-active .app-activity-card{height:188px!important}
 body.pwa-active .app-activity-card__media{height:76px!important;min-height:76px!important}
 body.pwa-active .app-activity-card__copy strong{font-size:9.5px!important}
}

/* DTSFrance PWA V94 — moteur plus compact, suggestions visibles, bandeau réduit. */
body.pwa-active .postal-search-form{
  position:relative!important;
  z-index:5000!important;
  overflow:visible!important;
  gap:4px!important;
  padding:5px!important;
  border-radius:10px!important;
}
body.pwa-active .postal-search-form .field{
  position:relative!important;
  z-index:1!important;
  overflow:visible!important;
}
body.pwa-active .postal-search-form .field:first-child{z-index:5100!important}
body.pwa-active .postal-search-form .autocomplete-wrap{
  position:relative!important;
  z-index:5200!important;
  overflow:visible!important;
}
body.pwa-active .postal-search-form input,
body.pwa-active .postal-search-form select,
body.pwa-active .postal-search-form button{
  height:34px!important;
  min-height:34px!important;
  max-height:34px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  line-height:34px!important;
  font-size:11px!important;
}
body.pwa-active .postal-search-form button{line-height:1!important}
body.pwa-active #metier-suggestions.autocomplete-list{
  display:block;
  position:absolute!important;
  z-index:999999!important;
  top:calc(100% + 3px)!important;
  left:0!important;
  right:0!important;
  max-height:180px!important;
  overflow-y:auto!important;
  border:2px solid var(--pwa-red)!important;
  border-radius:8px!important;
  background:var(--pwa-red)!important;
  box-shadow:0 10px 25px rgba(0,0,0,.28)!important;
}
body.pwa-active #metier-suggestions.autocomplete-list[hidden]{display:none!important}
body.pwa-active #metier-suggestions .autocomplete-option{
  min-height:34px!important;
  padding:8px 11px!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.28)!important;
  background:var(--pwa-red)!important;
  color:#fff!important;
  font:700 11px/1.2 Arial,sans-serif!important;
}
body.pwa-active #metier-suggestions .autocomplete-option:last-child{border-bottom:0!important}
body.pwa-active #metier-suggestions .autocomplete-option:hover,
body.pwa-active #metier-suggestions .autocomplete-option.active{
  background:#b9000b!important;
  color:#fff!important;
}

body.pwa-active .trust-strip{
  min-height:42px!important;
  padding:4px 2px!important;
  gap:1px!important;
  border-radius:8px!important;
}
body.pwa-active .trust-strip>span{
  min-height:32px!important;
  padding:0 1px!important;
  gap:1px!important;
  font-size:8px!important;
}
body.pwa-active .trust-strip b{font-size:5.8px!important;line-height:1.05!important}
body.pwa-active .trust-strip small{font-size:5px!important;line-height:1!important}

body.pwa-active .app-activity-carousel{margin-top:0!important}
body.pwa-active .app-activity-card{height:184px!important;min-height:184px!important}
body.pwa-active .app-activity-card__media{height:75px!important;min-height:75px!important}
body.pwa-active .app-activity-card__copy strong{font-size:9px!important}
body.pwa-active .app-activity-card__copy span,
body.pwa-active .app-activity-card__copy small{font-size:7.3px!important}

/* DTSFrance PWA V95 — accueil mobile fidèle à la maquette, isolé du site web. */
body.pwa-active{background:linear-gradient(180deg,#111a29 0,#202834 100%)!important}
body.pwa-active .page{background:transparent!important}
body.pwa-active .site-header{position:relative!important;height:74px!important;border:0!important;box-shadow:none!important}
body.pwa-active .header-inner{height:74px!important;min-height:74px!important;padding:8px 18px!important}
body.pwa-active .brand img{width:138px!important;max-height:58px!important}
body.pwa-active .menu-toggle{width:44px!important;height:44px!important}
body.pwa-active .menu-toggle span{width:27px!important;height:3px!important}
body.pwa-active .main-navigation{top:74px!important}
body.pwa-active .hero-home{background:radial-gradient(circle at 48% 2%,#202938 0,#111923 58%,#111923 100%)!important}
body.pwa-active .hero-content{max-width:560px!important;padding:18px 14px 16px!important;gap:12px!important}
body.pwa-active .app-hero-copy{position:relative!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;min-height:150px!important;padding:5px 4px 0!important;color:#fff!important}
body.pwa-active .app-hero-text{width:calc(100% - 132px)!important;padding-top:8px!important}
body.pwa-active .app-hero-copy h1{font-size:28px!important;line-height:1.05!important;color:#fff!important;text-shadow:0 2px 7px rgba(0,0,0,.22)!important}
body.pwa-active .app-hero-copy h1 br{display:block!important}
body.pwa-active .app-hero-copy p{max-width:330px!important;margin-top:12px!important;color:#aeb9c9!important;font-size:14px!important;line-height:1.4!important}
body.pwa-active .app-free-badge{flex:0 0 118px!important;width:118px!important;height:118px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;border:4px solid var(--promo-border,#d9aa34)!important;border-radius:50%!important;background:radial-gradient(circle at 38% 25%,#fff7bd 0,var(--promo-bg,#f5cf64) 42%,var(--promo-border,#c88d18) 100%)!important;color:var(--promo-text,#312100)!important;text-align:center!important;box-shadow:inset 0 0 0 2px #ffe99b,0 8px 18px rgba(0,0,0,.3)!important;transform:rotate(2deg)!important}
body.pwa-active .app-free-badge small{font:800 8px/1 Arial,sans-serif!important}
body.pwa-active .app-free-badge strong{font:900 32px/.95 Arial,sans-serif!important}
body.pwa-active .app-free-badge b{font:900 13px/.9 Arial,sans-serif!important}
body.pwa-active .app-free-badge span{margin-top:3px!important;font:800 8px/1.05 Arial,sans-serif!important}
body.pwa-active .postal-search-form{padding:10px!important;gap:7px!important;border-radius:16px!important;border:0!important;box-shadow:0 8px 22px rgba(0,0,0,.22)!important}
body.pwa-active .postal-search-form{grid-template-columns:1fr 1fr!important}
body.pwa-active .postal-search-form .field:first-child{grid-column:1/-1!important}
body.pwa-active .postal-search-form input,body.pwa-active .postal-search-form select{height:48px!important;min-height:48px!important;max-height:48px!important;border-radius:10px!important;font-size:14px!important;line-height:48px!important;padding-left:16px!important}
body.pwa-active .postal-search-form button{grid-column:1/-1!important;height:48px!important;min-height:48px!important;max-height:48px!important;border-radius:10px!important;font-size:15px!important;background:linear-gradient(90deg,#e60012,#f20b1b)!important}
body.pwa-active #metier-suggestions.autocomplete-list{top:calc(100% + 5px)!important;border:2px solid var(--pwa-red)!important;border-radius:11px!important;background:#fff!important;box-shadow:0 12px 26px rgba(0,0,0,.3)!important}
body.pwa-active #metier-suggestions .autocomplete-option{min-height:46px!important;padding:12px 16px!important;background:#fff!important;color:var(--pwa-red)!important;font-size:14px!important;border-bottom:1px solid #eee!important}
body.pwa-active #metier-suggestions .autocomplete-option:hover,body.pwa-active #metier-suggestions .autocomplete-option.active{background:#fff4f4!important;color:#c9000c!important}
body.pwa-active .hero-content>.app-home-actions{padding:12px!important;grid-template-columns:45px 1fr!important;border-radius:15px!important;box-shadow:0 7px 20px rgba(0,0,0,.18)!important}
body.pwa-active .hero-content>.app-home-actions:before{font-size:29px!important}
body.pwa-active .hero-content>.app-home-actions strong{font-size:15px!important}
body.pwa-active .hero-content>.app-home-actions span{font-size:12px!important}
body.pwa-active .app-home-buttons{gap:8px!important;margin-top:5px!important}
body.pwa-active .app-home-buttons .app-action-button{height:42px!important;border-radius:10px!important;font-size:12px!important}
body.pwa-active .app-home-buttons .app-action-button:first-child{display:none!important}
body.pwa-active .hero-sponsor{height:126px!important;min-height:126px!important;border-radius:14px!important;background:linear-gradient(135deg,#071631,#102753)!important;box-shadow:0 8px 22px rgba(0,0,0,.22)!important}
body.pwa-active .hero-sponsor-slide.site-owned-banner small{font-size:9px!important}
body.pwa-active .hero-sponsor-slide.site-owned-banner strong{font-size:20px!important}
body.pwa-active .hero-sponsor-slide.site-owned-banner em{font-size:12px!important}
body.pwa-active .hero-sponsor-slide.site-owned-banner b{font-size:11px!important;padding:8px 15px!important}
body.pwa-active .app-activity-carousel{max-width:560px!important;margin:0 auto!important;padding:0 14px 12px!important;background:transparent!important}
body.pwa-active .app-activity-carousel__track{gap:8px!important}
body.pwa-active .app-activity-card{height:230px!important;min-height:230px!important;border-radius:12px!important;box-shadow:0 7px 18px rgba(0,0,0,.18)!important}
body.pwa-active .app-activity-card__label{height:38px!important;min-height:38px!important;padding:0 8px!important;font-size:10px!important}
body.pwa-active .app-activity-card__media{height:98px!important;min-height:98px!important}
body.pwa-active .app-activity-card__copy{padding:9px!important;gap:5px!important}
body.pwa-active .app-activity-card__copy strong{font-size:11px!important;line-height:1.25!important}
body.pwa-active .app-activity-card__copy span,body.pwa-active .app-activity-card__copy small{font-size:9px!important;line-height:1.25!important}
body.pwa-active .app-activity-card__link{font-size:9px!important}
body.pwa-active .trust-strip{min-height:72px!important;margin-top:0!important;padding:8px 4px!important;border-radius:13px!important;box-shadow:0 7px 18px rgba(0,0,0,.18)!important}
body.pwa-active .trust-strip>span{min-height:52px!important;font-size:15px!important}
body.pwa-active .trust-strip b{font-size:8px!important;line-height:1.2!important}
body.pwa-active .trust-strip small{font-size:7px!important}
body.pwa-active .app-bottom-nav{height:84px!important;border-radius:28px 28px 0 0!important;padding-top:10px!important}
body.pwa-active .app-bottom-nav a,body.pwa-active .app-bottom-nav button{font-size:10px!important;gap:4px!important}
body.pwa-active .app-bottom-nav .app-nav-icon{font-size:22px!important;width:30px!important;height:30px!important}
body.pwa-active .app-bottom-nav .is-primary .app-nav-icon{width:54px!important;height:54px!important;margin-top:-34px!important;font-size:34px!important}
@media(max-width:380px){body.pwa-active .app-hero-copy h1{font-size:24px!important}body.pwa-active .app-free-badge{flex-basis:102px!important;width:102px!important;height:102px!important}body.pwa-active .app-hero-text{width:calc(100% - 110px)!important}body.pwa-active .app-activity-card{height:210px!important;min-height:210px!important}body.pwa-active .app-activity-card__media{height:84px!important;min-height:84px!important}}

body.pwa-active .app-free-badge{text-decoration:none!important}
