/* ============================================================
   UNAPERCU — STYLE CLEAN (dedupe + no !important)
   Généré automatiquement depuis ton style.css
   ============================================================ */*{
  box-sizing: border-box;
}html,body{
  margin: 0;
  padding: 0;
  min-height: 100%;
}body{
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background: var(--ua-surface);
  color: var(--text);
  line-height: 1.35;
}a{
  color: inherit;
  text-decoration: none;
}img{
  max-width: 100%;
  display: block;
}.container{
  width: min(1100px, calc(100% - 32px));
  margin: 0 auto;
}.page-main{
  flex: 1 0 auto;
  width: 100%;
  padding: 24px 0 60px;
}.header-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
}.logo{
  display: flex;
  align-items: center;
  gap: 10px;
}.logo-img{
  height: 34px;
  width: auto;
}.nav{
  display: flex;
  align-items: center;
  gap: 14px;
}.nav-link{
  color: var(--text-muted);
  font-weight: 800;
  padding: 8px 10px;
  border-radius: 999px;
  transition: background var(--transition), color var(--transition);
}.nav-link:hover{
  color: var(--text);
  background: var(--accent-soft);
}.nav-user{
  color: var(--text-muted);
  font-weight: 800;
  padding: 8px 10px;
}.btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--accent);
  color: #fff;
  font-weight: 900;
  cursor: pointer;
  transition: background-color .15s ease, transform .12s ease;
}.btn:hover{
  filter: brightness(.96);
}.btn:active{
  transform: translateY(1px);
}


/* Harmonisation boutons (pages ciblées) */
body.page-glass-buttons .page-main .btn,
body.page-glass-buttons .page-main button.btn,
body.page-glass-buttons .page-main input[type="submit"].btn,
body.page-glass-buttons .page-main .btn.btn-ghost{
  border-radius: 14px;
  border: 1px solid #000;
  background: linear-gradient(135deg, rgba(255,255,255,0.22), rgba(255,255,255,0.08));
  color: var(--ua-text);
  box-shadow: none;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: background .16s ease, color .16s ease, transform .12s ease;
}
body.page-glass-buttons .page-main .btn:hover,
body.page-glass-buttons .page-main button.btn:hover,
body.page-glass-buttons .page-main input[type="submit"].btn:hover,
body.page-glass-buttons .page-main .btn.btn-ghost:hover{
  background: linear-gradient(135deg, rgba(0,0,0,0.58), rgba(0,0,0,0.42));
  color: #fff;
}
.mnav-inner{
  padding: 10px 0 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}.mnav-link{
  padding: 10px 12px;
  border-radius: 12px;
  color: var(--text);
  font-weight: 900;
  background: var(--bg-soft);
  border: 1px solid var(--border);
}.mnav-danger{
  color: #b91c1c;
}input,
select,
textarea{
  width: 100%;
  padding: 12px 12px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: var(--field-bg, var(--card));
  color: var(--text);
  outline: none;
}input:focus,select:focus,textarea:focus{
  border-color: #cbd5e1;
  box-shadow: 0 0 0 3px rgba(15,23,42,.08);
}input::placeholder, textarea::placeholder{
  color: var(--text-muted);
}.hero{
  padding: 24px 0 10px;
}.hero-inner{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}.hero-title{
  margin: 0;
  font-size: 44px;
  line-height: 1.05;
  letter-spacing: -.02em;
}.hero-name{
  font-weight: 950;
}.hero-tagline{
  display: block;
  margin-top: 10px;
  font-size: 22px;
  color: var(--text-muted);
  font-weight: 850;
}.hero-subtitle{
  margin: 12px 0 0;
  color: var(--text-muted);
  font-weight: 650;
  max-width: 62ch;
}/* ============================================================
   HOME — SEARCH GRID (2x2 + bouton périmètre)
   ============================================================ */.ua-search-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 12px;
  align-items: end;
}.ua-cell{ min-width: 0; }.ua-help{
  margin-top: 6px;
  font-size: 12px;
  font-weight: 750;
  color: var(--text-muted);
}.ua-search-submit{
  grid-column: 1 / -1;
  width: 100%;
  justify-content: center;
}/* Périmètre */.ua-perimeter{ position: relative; }.ua-perimeter-wrap{
  position: relative;
  display: flex;
  justify-content: flex-end;
}.ua-perimeter-btn{
  width: 44px;
  height: 44px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: var(--card);
  color: var(--text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}.ua-perimeter-btn:hover{
  filter: brightness(.98);
}.ua-perimeter-pop{
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  width: min(260px, 80vw);
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: var(--shadow);
  padding: 10px;
  z-index: 50;
}/* Nettoyage visuel après retrait des labels */.ua-perimeter{
  padding-top: 22px; /* aligne mieux avec le champ “Où ?” */
}/* Mobile : on garde 2 colonnes (logo à droite), mais on empile si trop serré */@media (max-width: 520px){.ua-search-grid{
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }.ua-perimeter-btn{
    width: 42px;
    height: 42px;
  }}.with-offers{
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 900;
  color: var(--text);
}.with-offers input[type="checkbox"]{
  width: 18px;
  height: 18px;
}.filters-toggle{
  margin-left: auto;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: var(--card);
  font-weight: 950;
  cursor: pointer;
}.suggestions-wrapper{
  position: relative;
}.suggestions-box{
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 18px 45px rgba(15,23,42,.10);
  overflow: hidden;
  z-index: 20;
}.suggestion-item{
  padding: 10px 12px;
  cursor: pointer;
  font-weight: 900;
  color: var(--text);
}.suggestion-item:hover{
  background: var(--bg-soft);
}.section-title{
  margin: 28px 0 8px;
  font-size: 26px;
  letter-spacing: -.01em;
}.section-subtitle{
  margin: 0 0 14px;
  color: var(--text-muted);
  font-weight: 650;
}.page-home .search-results-count{
  color: var(--ua-active, #2096fa);
  font-weight: 800;
}.card:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 55px rgba(15,23,42,.12);
}.card-city, .card-distance{
  white-space: nowrap;
}.biz-offers-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
}.biz-offer-thumb.fallback{
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  color: var(--text-muted);
}.biz-offer-info{
  flex: 1;
  min-width: 0;
}.biz-offer-cta,
.biz-offer-more{
  display: none;
}.biz-offers-list > *:empty{
  display: none;
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
}.pagination{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 24px 0 0;
}.pg-btn{
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: var(--card);
  font-weight: 950;
}.pg-btn.is-disabled{
  opacity: .45;
  pointer-events: none;
}.pg-info{
  color: var(--text-muted);
  font-weight: 900;
}.site-footer{
  --site-footer-height: 72px;
  height: var(--site-footer-height);
  min-height: var(--site-footer-height);
  background: var(--card, #fff);
  border-top: 1px solid var(--border, #e5e7eb);
  box-shadow: none;
  color: #111;
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  overflow: visible;
  font-weight: 400;
}.footer-inner{
  height: 100%;
  min-height: 100%;
  padding: 0;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  color: inherit;
  font-weight: 400;
}.site-footer .footer-copy{
  margin: 0;
  color: inherit;
  font-weight: 400;
  line-height: 1.15;
}.site-footer .nav-link{
  color: inherit;
  font-weight: 400;
  line-height: 1.15;
  padding: 4px 6px;
}.site-footer .nav-link:hover{
  color: var(--text, #2E2E2E);
  background: var(--accent-soft, rgba(17,24,39,.08));
}
html.theme-dark .site-footer{
  background: var(--card, #0f172a);
  border-top-color: var(--border, rgba(148,163,184,.20));
  color: #f8fafc;
}
html.theme-dark .site-footer .nav-link:hover{
  color: var(--text, #e5e7eb);
  background: var(--accent-soft, rgba(226,232,240,.10));
}
@media (min-width: 781px){
  .site-footer{
    height: auto;
    min-height: var(--site-footer-height);
    padding: 10px 0;
  }
  .footer-inner{
    height: auto;
    min-height: 0;
    align-items: flex-start;
    justify-content: center;
    gap: 8px;
  }
  .site-footer .footer-links{
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
}@media (max-width: 780px){
  .site-footer{
    --site-footer-height: 88px;
  }
}@media (max-width: 520px){
  .site-footer{
    --site-footer-height: auto;
    min-height: 82px;
    height: auto;
    padding: 8px 0;
    position: sticky;
    bottom: 0;
  }
  .footer-inner{
    justify-content: center;
    text-align: center;
  }
  .site-footer .footer-links{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 4px 6px;
  }
  .site-footer .footer-group{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
  }
  .site-footer .nav-link{
    padding: 3px 4px;
    font-size: .92rem;
  }
  .site-footer .footer-copy{
    width: 100%;
    font-size: .92rem;
  }
}.card-description{
  margin-top: 6px;
  font-size: .9rem;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}.biz-offers{
  margin-top: 6px;
}.biz-offers-title{
  font-weight: 950;
  font-size: 15px;
  letter-spacing: -.01em;
  margin: 0 0 10px;
  margin-bottom: 4px;
}.biz-offer-thumb{
  width: 34px;
  height: 34px;
  flex: 0 0 46px;
  border-radius: 8px;
  background: var(--bg-soft);
  overflow: hidden;
  object-fit: cover;
}.biz-offers-list > .biz-offer-item:nth-child(n+4){
  display: none;
}.card{
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: 0 12px 35px rgba(15,23,42,.08);
  overflow: hidden;
  transition: transform var(--transition), box-shadow var(--transition);
  
  width: 100%;
  min-width: 0;
}.page-dashboard .dashboard-form input,
.page-dashboard .dashboard-form textarea,
.page-dashboard .dashboard-form select{
  color: var(--text);
  background: var(--ua-surface);
  border: 1px solid var(--border);
}.page-dashboard .dashboard-form input::placeholder,
.page-dashboard .dashboard-form textarea::placeholder{
  color: var(--text-muted);
}.btn-pro{
  background: #f59e0b;
  color: #111;
}.btn-pro:hover{
  background: #fbbf24;
}.btn-normal{
  background: #22c55e;
  color: #062e14;
}.btn-normal:hover{
  background: #4ade80;
}.card-pro{
  border: 2px solid rgba(245,158,11,.55);
  box-shadow: 0 10px 30px rgba(245,158,11,.15);
}.card-normal{
  border: 2px solid rgba(34,197,94,.55);
  box-shadow: 0 10px 30px rgba(34,197,94,.15);
}.btn-upgrade-pro{
  background: #f59e0b;
  color: #111;
  font-weight: 700;
}.btn-upgrade-pro:hover{
  background: #fbbf24;
}.btn-upgrade-pro,
.btn-upgrade-pro:disabled,
.btn-upgrade-pro[disabled]{
  background: #f59e0b;
  color: #111;
  opacity: 1;
}.btn.btn-upgrade-pro,
.btn.btn-upgrade-pro:disabled,
.btn.btn-upgrade-pro[disabled]{
  background: #f59e0b;
  color: #111;
  opacity: 1;
  filter: none;
}.limit-pro-card{
  border: 2px solid rgba(245,158,11,.45);
  box-shadow: 0 10px 30px rgba(245,158,11,.12);
}.limit-pro-link{
  display: inline-block;
  margin-left: .35rem;
  padding: .35rem .6rem;
  border-radius: 999px;
  background: #f59e0b;
  color: #111;
  font-weight: 700;
  text-decoration: none;
}.limit-pro-link:hover{
  background: #fbbf24;
}.badge-pro-engage{
  display: inline-block;
  margin-bottom: 6px;
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255, 140, 0, .6);
  background: rgba(255, 140, 0, .08);
  color: #b45309;
  font-weight: 500;
}.card-pro-engage{
  border: 2px solid rgba(245,158,11,.65);
  box-shadow: 0 0 0 1px rgba(245,158,11,.12);
  outline: 2px solid rgba(245,158,11,.55);
  outline-offset: -2px;
}.offer-page{
  max-width: 720px;
  margin: 0 auto;
}.offer-back{
  display: inline-block;
  margin-bottom: 16px;
  color: var(--text-muted);
  text-decoration: none;
}.offer-subtitle{
  opacity: .85;
  margin-bottom: 24px;
}.offer-note{
  font-size: 14px;
  opacity: .8;
  margin-top: 12px;
}.offer-badge.is-available{
  border-color: rgba(34,197,94,.35);
}.offer-badge.is-unavailable{
  border-color: rgba(239,68,68,.35);
  opacity: .9;
}.account-type{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}.account-type__option{
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  user-select: none;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: rgba(255,255,255,.03);
  min-width: 0;
}.account-type__option input[type="radio"]{
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}.card-pro-engage,
.card-business,
.business-card,
.is-business{
  border: 2px solid #f59e0b;
  box-shadow: 0 0 0 1px rgba(245,158,11,.18);
}.badge-pro-engage,
.badge-business{
  border: 1px solid rgba(245,158,11,.55);
  background: rgba(245,158,11,.15);
  color: #92400e;
  font-weight: 900;
}.card-free{
  border: 1px solid var(--border);
  box-shadow: none;
}.card-basic{
  border: 2px solid rgba(34,197,94,.55);
  box-shadow: 0 0 0 1px rgba(34,197,94,.12);
}.card-business{
  border: 2px solid rgba(245,158,11,.65);
  box-shadow: 0 0 0 1px rgba(245,158,11,.15);
}.badge-business{
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 900;
  border: 1px solid rgba(245,158,11,.55);
  background: rgba(245,158,11,.15);
  color: #92400e;
}.page-business .card{
  border-color: rgba(245,158,11,.35);
}.page-business #presentation,
.page-business #details{
  border: 2px solid rgba(245,158,11,.35);
  border-radius: var(--radius);
  padding: 12px;
  background: var(--card);
}.page-business .card-section{
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
}.page-business .card-section.is-business{
  border: 2px solid rgba(245,158,11,.45);
  box-shadow: 0 0 0 1px rgba(245,158,11,.10), var(--shadow);
}.offer-page,
.offer-wrap,
.offer-container,
.offer-layout,
.offer-media,
.offer-gallery{
  overflow-x: hidden;
}.offer-gallery,
.offer-media{
  display: grid;
  grid-template-columns: minmax(320px, 1fr) 260px;
  gap: 14px;
  align-items: start;
}#offerMainImage,
.offer-main-image img,
.offer-carousel img{
  width: 100%;
  height: 420px;
  object-fit: contain;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
}.offer-main-image,
.offer-carousel,
.offer-media-main{
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 10px;
}.offer-thumbs,
.offer-thumbnails,
#offerThumbs,
.offer-media-thumbs{
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 10px;
  height: 440px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 10px;
}.offer-thumbs .thumbs-grid,
.offer-thumbnails .thumbs-grid,
#offerThumbs,
.offer-media-thumbs{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  overflow-y: auto;
  scrollbar-width: thin;
}.offer-thumbs::-webkit-scrollbar,
.offer-thumbnails::-webkit-scrollbar,
#offerThumbs::-webkit-scrollbar,
.offer-media-thumbs::-webkit-scrollbar{
  width: 8px;
}.offer-thumbs::-webkit-scrollbar-thumb,
.offer-thumbnails::-webkit-scrollbar-thumb,
#offerThumbs::-webkit-scrollbar-thumb,
.offer-media-thumbs::-webkit-scrollbar-thumb{
  background: rgba(100,116,139,.35);
  border-radius: 999px;
}.offer-thumbs img,
.offer-thumbnails img,
#offerThumbs img,
.offer-media-thumbs img{
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: var(--bg-soft);
  cursor: pointer;
  transition: transform .12s ease, filter .12s ease;
}.offer-thumbs img:hover,
.offer-thumbnails img:hover,
#offerThumbs img:hover,
.offer-media-thumbs img:hover{
  transform: translateY(-1px);
  filter: brightness(.97);
}.offer-thumbs img.active,
.offer-thumbnails img.active,
#offerThumbs img.active,
.offer-media-thumbs img.active{
  outline: 2px solid rgba(245,158,11,.65);
  outline-offset: 2px;
}.offer-carousel .nav-btn,
.offer-main-image .nav-btn,
.offer-carousel button,
.offer-main-image button{
  border-radius: 999px;
}.offer-detail-card{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 0;
  align-items: start;
}.offer-detail-left{
  background: var(--card-soft);
}.offer-detail-right{
  background: var(--card);
  border-left: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  min-width: 0;
}.offer-detail-image img{
  width: 100%;
  height: 420px;
  object-fit: contain;
  background: var(--card-soft);
  display: block;
}.offer-gallery-thumbs{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  padding: 12px;
  background: rgba(0,0,0,0.06);
  border-bottom: 1px solid var(--border);
  overflow-y: auto;
  max-height: 120px;
}.offer-thumbbtn{
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  border-radius: 12px;
  overflow: hidden;
  opacity: .9;
}.offer-thumbbtn img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}.offer-thumbbtn.is-active{
  opacity: 1;
  outline: 2px solid rgba(245,158,11,.55);
  outline-offset: 2px;
}.offer-detail-body{
  padding: 14px 16px 16px;
}.biz-offer-item{
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--card);
  overflow: hidden;
  min-width: 0;
}.biz-offer-row{
  display: flex;
  align-items: center;
  gap: 8px 10px;
  min-width: 0;
  flex-wrap: wrap;
}.biz-offer-name{
  flex: 1 1 100%;
  min-width: 0;
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 950;
  font-size: .9rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-height: 1.15;
  max-height: 2.3em;
  order: 1;
}.offer-badge{
  display: inline-flex;
  align-items: center;
  height: 18px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 800;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.04);
  white-space: nowrap;
  order: 2;
  flex: 0 0 auto;
}.biz-offer-price{
  flex: 0 0 auto;
  white-space: nowrap;
  font-weight: 900;
  color: var(--text);
  font-size: .85rem;
  order: 3;
}:root{
  --page-bg: #ffffff;
  --bg: #ffffff;
  --bg-soft: #f5f7f9;
  --card: #ffffff;
  --card-soft: #f3f5f9;
  --text: #2E2E2E;
  --text-muted: #7D7D7D;
  --accent: #2096fa;
  --accent-soft: rgba(32,150,250,.10);
  --border: #e5e7eb;
  --radius: 18px;
  --radius-sm: 10px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --font-sm: .875rem;
  --font-md: 1rem;
  --font-lg: 1.25rem;
  --shadow: 0 18px 45px rgba(15,23,42,.08);
  --transition: .18s ease-out;
  --biz-accent: #f59e0b;
  --biz-accent-soft: rgba(245,158,11,.14);
}.btn-biz{
  background: var(--biz-accent);
  color: #111;
  font-weight: 950;
  border-color: rgba(0,0,0,.10);
}.biz-accent-border{
  border-color: color-mix(in srgb, var(--biz-accent) 40%, var(--border));
}.page-business .is-business .pill{
  border-color: color-mix(in srgb, var(--biz-accent) 35%, var(--border));
  background: color-mix(in srgb, var(--biz-accent) 14%, transparent);
}.page-business .is-business a:hover{
  color: var(--biz-accent);
}.page-business .card-section.is-business,
.page-business .hours-panel .card-section.is-business{
  border: 2px solid color-mix(in srgb, var(--biz-accent, #f59e0b) 55%, transparent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--biz-accent, #f59e0b) 14%, transparent), var(--shadow);
}.business-page button[id*="hours"],
.business-page button[class*="hours"],
.business-page .hours-toggle,
.business-page .hours-toggle-btn,
.business-page .btn-hours,
.business-page .hours-btn,
.business-page .toggle-hours{
  color: #fff;
  background: rgba(0,0,0,.45);
  border: 2px solid color-mix(in srgb, var(--biz-accent, #f59e0b) 65%, rgba(255,255,255,.2));
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}.business-page button[id*="hours"] span,
.business-page button[class*="hours"] span,
.business-page .hours-toggle span{
  color: #fff;
}.business-page button[id*="hours"]:active,
.business-page button[class*="hours"]:active,
.business-page .hours-toggle:active{
  background: rgba(0,0,0,.60);
}.survey-fab{
  position: fixed;
  right: 14px;
  bottom: 14px;
  z-index: 9999;
  padding: 10px 12px;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  font-weight: 900;
  box-shadow: var(--shadow);
}.survey-fab:hover{
  filter: brightness(1.03);
}.toast{
  position: fixed;
  left: 50%;
  bottom: 16px;
  transform: translateX(-50%);
  z-index: 99999;
  padding: 10px 12px;
  border-radius: 14px;
  font-weight: 900;
  box-shadow: var(--shadow);
  border: 1px solid var(--border);
  background: var(--card);
  color: var(--text);
  max-width: calc(100% - 24px);
  text-align: center;
}.toast--ok{
  outline: 2px solid rgba(50,213,131,.25);
}.toast--bad{
  outline: 2px solid rgba(255,77,77,.25);
}.toast-hide{
  opacity: 0;
  transform: translateX(-50%) translateY(10px);
  transition: opacity .35s ease, transform .35s ease;
}.nearby-card{
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  border-radius: 14px;
  overflow: hidden;
  background: #000;
  border: 1px solid var(--border);
  text-decoration: none;
}.nearby-img{
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}.nearby-overlay{
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 8px;
  background: linear-gradient(to top,
    rgba(0,0,0,.65) 0%,
    rgba(0,0,0,.25) 45%,
    rgba(0,0,0,0) 100%);
}.nearby-cat{
  font-size: 10px;
  font-weight: 800;
  padding: 3px 6px;
  border-radius: 999px;
  background: rgba(0,0,0,.45);
  color: #fff;
  margin-bottom: 4px;
  width: fit-content;
}.nearby-title{
  font-size: 12px;
  font-weight: 900;
  line-height: 1.1;
  color: #fff;
  max-height: 2.2em;
  overflow: hidden;
  text-shadow: 0 1px 8px rgba(0,0,0,.6);
}.nearby-meta{
  font-size: 10px;
  font-weight: 800;
  color: rgba(255,255,255,.85);
  margin-top: 3px;
}.hours-desktop{
  display: block;
}.hours-mobile{
  display: none;
}.hero-brand{
  display: inline-flex;
  align-items: flex-start;
  gap: 0px;
}.hero-logo{
  width: auto;
  height: 50px;
  object-fit: contain;
  opacity: 1;
  display: block;
  position: relative;
  top: 6px;
}.hero-domain{
  font-size: 30px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: -.02em;
  display: block;
  vertical-align: middle;
  position: relative;
  top: 10px;
  align-items: center;
  height: 42px;
}.card-right{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}.biz-share-btn{
  position: absolute;
  right: 14px;
  bottom: 46px;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.10);
  background: rgba(255,255,255,0.78);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 9999;
  pointer-events: auto;
  box-shadow: 0 10px 25px rgba(0,0,0,0.10);
  transition: transform .15s ease-out, opacity .15s ease-out, background .15s ease-out;
  transform: translateZ(0);
}.biz-share-btn:hover{
  transform: translateY(-1px) scale(1.04);
  background: rgba(255,255,255,0.92);
}.biz-share-btn:active{
  transform: scale(.98);
}.biz-share-btn svg{
  width: 18px;
  height: 18px;
  display: block;
}.btn-google{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 12px;
  background: var(--ua-surface);
  color: #111;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(0,0,0,.06);
  transition: transform .08s ease, box-shadow .12s ease;
}.btn-google:hover{
  box-shadow: 0 6px 16px rgba(0,0,0,.10);
}.btn-google:active{
  transform: translateY(1px);
}.btn-google-icon{
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--ua-surface);
  border-radius: 6px;
}.btn-google-text{
  line-height: 1;
}.site-header{
  position: sticky;
  top: 0;
  z-index: 99999;
  background: var(--card);
  border-bottom: 1px solid var(--border);
}.site-header .header-inner{
  position: relative;
  z-index: 99999;
}.mnav-btn{
  display: none;
  border: 1px solid var(--border);
  background: var(--card);
  color: var(--text);
  border-radius: 12px;
  padding: 8px 10px;
  font-size: 18px;
  cursor: pointer;
  position: relative;
  z-index: 100000;
  pointer-events: auto;
  touch-action: manipulation;
}.mnav-panel{
  border-top: 1px solid var(--border);
  background: var(--card);
  z-index: 99998;
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
}.site-header, .site-header *{
  pointer-events: auto;
}.nearby-grid{
  display: flex;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
  overflow-x: auto;
  padding: 8px 2px 4px;
  scroll-snap-type: x mandatory;
}.nearby-grid::-webkit-scrollbar{
  height: 10px;
}.nearby-grid::-webkit-scrollbar-thumb{
  border-radius: 999px;
  background: rgba(0,0,0,.15);
}.nearby-head2.is-light{
  color: var(--text, #0f172a);
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.55));
}.nearby-cat2{
  font-size: 12px;
  font-weight: 800;
  opacity: .95;
}.nearby-dist2{
  font-size: 12px;
  font-weight: 900;
  opacity: .95;
}.nearby-card2.no-hero .nearby-title2{
  text-shadow: none;
}.nearby-card2.no-hero .nearby-bottom2{
  background: var(--card, #fff);
}.nearby-prod-grid2{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
}.nearby-prod-link{
  display: block;
  border-radius: 12px;
  overflow: hidden;
  background: var(--ua-surface);
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 6px 14px rgba(15,23,42,.10);
}.nearby-prod{
  width: 100%;
  height: 46px;
  object-fit: cover;
  display: block;
}.nearby-card2::before{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.05) 45%, rgba(0,0,0,.00));
  pointer-events: none;
}.nearby-head2,
.nearby-bottom2{
  position: relative;
  z-index: 1;
}.nearby-head2{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding: 8px 12px 6px;
  color: #fff;
  background: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.10));
}.nearby-head2-top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 4px;
}.nearby-cat2,
.nearby-dist2{
  font-size: 11px;
  font-weight: 700;
}.nearby-title2{
  margin-top: 6px;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.15;
  text-shadow: 0 8px 18px rgba(0,0,0,.35);
  white-space: normal;
  overflow: hidden;
  text-overflow: unset;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}.nearby-bottom2{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 10px 12px 12px;
  background: #333333;
  backdrop-filter: blur(6px);
}.nearby-more2{
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 8px;
  padding: 6px 10px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  color: #fff;
  background: var(--brand-red, #d11f2f);
  width: 100%;
  min-height: 34px;
  line-height: 1;
}.nearby-card2{
  position: relative;
  flex: 0 0 320px;
  height: 210px;
  border-radius: 18px;
  overflow: hidden;
  cursor: pointer;
  background-color: #111;
  background-size: cover;
  background-position: center;
  box-shadow: 0 14px 30px rgba(15,23,42,.14);
  scroll-snap-align: start;
  background-repeat: no-repeat;
  box-sizing: border-box;
  border: 1px solid transparent;
}.nearby-card2.no-hero{
  background-image: none;
  background: var(--card, #fff);
  border: 1px solid var(--border, #e5e7eb);
  border-color: var(--border, #e5e7eb);
}@media (max-width:980px){.hero-inner{
    flex-direction: column;
  }}@media (max-width:768px){.biz-offer-name{
    font-size: 1rem;
  }.biz-offer-price{
    font-size: .95rem;
  }.card-pill{
    font-size: .72rem;
    padding: 4px 8px;
  }.card-title{
    font-size: 18px;
    line-height: 1.2;
  }.card{
    }.card-thumb{
    height: 105px;
    aspect-ratio: 1 / 1;
    border-radius: 12px;
    max-height: 180px;
  }.card-content{
    padding: 10px 12px;
  }.logo{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
  }.nav{
    display: none;
  }.hero-inner{
    text-align: center;
    align-items: center;
  }.hero-title{
    font-size: 36px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
  }.hero-tagline{
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--text-muted);
    text-align: center;
  }.hero-subtitle{
    display: none;
  }input,
  textarea,
  select{
    font-size: 16px;
  }html, body{
    overflow-x: hidden;
  }.hours-desktop{
    display: none;
  }.hours-mobile{
    display: block;
  }.site-header{
    border-bottom: 1px solid rgba(229,231,235,.7);
  }.header-inner{
    position: relative;
    justify-content: flex-start;
    padding: 8px 0;
  }.logo-img{
    height: 28px;
  }.page-home .hero-inner{
    gap: 10px;
  }.page-home .hero-tagline{
    margin-top: 4px;
    font-size: 16px;
    line-height: 1.15;
  }.page-home input,
  .page-home select{
    padding: 9px 10px;
    border-radius: 12px;
  }.hero-logo{
    width: 30px;
    height: 50px;
    margin: 0 auto;
    opacity: .85;
    top: 5px;
  }.hero-domain{
    font-size: 20px;
    line-height: 30px;
    top: 0px;
    height: 34px;
  }.page-home .hero-brand{
    display: inline-flex;
    align-items: flex-start;
    gap: 0px;
  }.page-home .hero-logo{
    width: auto;
    height: 42px;
    max-height: none;
    top: 7px;
  }.page-home .hero-domain{
    font-size: 24px;
    line-height: 1;
    top: 12px;
  }input[type="checkbox"],
  input[type="radio"],
  select{
    accent-color: var(--accent);
  }.filters-toggle,
  .filters-toggle:visited{
    color: var(--text);
  }.card-right{
    gap: 6px;
  }.badge-favcount{
    padding: 3px 9px;
    font-size: 12px;
  }.biz-share-btn{
    right: 10px;
    bottom: 42px;
    width: 36px;
    height: 36px;
  }.biz-share-btn svg{
    width: 17px;
    height: 17px;
  }.nearby-prod{
    height: 44px;
  }.nearby-bottom2{
    background: #333333;
    backdrop-filter: none;
    border-radius: 0 0 18px 18px;
    padding-bottom: 12px;
  }.nearby-card2{
    flex-basis: 280px;
    height: 220px;
  }.site-header .header-inner{
    position: relative;
    padding: 6px 0;
    min-height: 44px;
  }.mnav-btn{
    display: inline-flex;
    position: relative;
    z-index: 100000;
    padding: 6px 8px;
    margin-left: 10px;
  }.site-header .logo{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    z-index: 99999;
  }.page-main{
    padding-top: 2px;
  }.page-home .hero{
    padding: 6px 0 4px;
    padding-top: 2px;
    margin-top: 0;
  }.site-header + div{
    margin-top: 0;
    padding-top: 0;
    min-height: 0;
  }.page-home .hero-title{
    margin: 6px 0 4px;
    font-size: 32px;
    display: block;
    margin-top: 2px;
  }.page-home .section-subtitle:has(+ .nearby-grid){
    margin: 0 0 6px;
    font-size: 13px;
    line-height: 1.15;
    font-weight: 700;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }.page-home .section-title:has(+ .section-subtitle + .nearby-grid){
    margin: 12px 0 4px;
    font-size: 22px;
    line-height: 1.05;
    letter-spacing: -.01em;
  }.nearby-grid{
    margin-top: 0;
    padding-top: 2px;
  }:root{
    --page-bg: #f3f4f6;
    --field-bg: #fff;
    --pill-bg: rgba(17,24,39,.08);
    --pill-text: var(--text);
    --theme-overlay: rgba(246,247,251,.30);
  }html.theme-dark{
    --bg: #0b1220;
    --bg-soft: #0f172a;
    --card: #0f172a;
    --card-soft: #111c33;
    --text: #e5e7eb;
    --text-muted: #94a3b8;
    --accent: #e5e7eb;
    --accent-soft: rgba(226,232,240,.10);
    --border: rgba(148,163,184,.20);
    --shadow: 0 18px 45px rgba(0,0,0,.38);
    --page-bg: #0b1220;
    --field-bg: rgba(255,255,255,.06);
    --pill-bg: rgba(255,255,255,.08);
    --pill-text: var(--text);
    --theme-overlay: rgba(10,14,20,.72);
  }body{
    background: var(--page-bg, var(--bg));
    color: var(--text);
  }input,select,textarea{
    background: var(--field-bg, var(--card));
    color: var(--text);
    border-color: var(--border);
  }.pill,
.card-pill{
    background: var(--pill-bg);
    color: var(--pill-text);
    border-color: var(--border);
  }.page-dashboard .dashboard-form input,
.page-dashboard .dashboard-form textarea,
.page-dashboard .dashboard-form select{
    background: var(--field-bg, var(--card));
    color: var(--text);
    border-color: var(--border);
  }html.theme-dark .btn{
    background: var(--accent);
    color: #0b1220;
    border-color: color-mix(in srgb, var(--accent) 35%, transparent);
  }html.theme-dark .btn-google{
    background: rgba(255,255,255,.06);
    color: var(--text);
    border-color: rgba(255,255,255,.14);
    box-shadow: none;
  }html.theme-dark .btn-google-icon{
    background: rgba(255,255,255,.10);
  }html.theme-dark .nearby-bottom2{
    background: rgba(15,23,42,.92);
  }html.theme-dark .nearby-prod-link{
    background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.14);
  }html.theme-dark input[type="checkbox"],
html.theme-dark input[type="radio"],
html.theme-dark select{
    accent-color: #f59e0b;
  }.site-header .nav{
    display: none;
    position: relative;
    z-index: 200000;
  }.site-header .nav .theme-toggle{
    position: relative;
    z-index: 200001;
    pointer-events: auto;

  }html.theme-dark .logo-img,
html.theme-dark .hero-logo{
    background: transparent;
  }html.theme-dark body:not(.page-business):not(.page-offer) .badge-verified{
    background: rgba(255,255,255,.08);
    color: #e5e7eb;
    border-color: rgba(255,255,255,.18);
  }html.theme-dark body:not(.page-business):not(.page-offer) .badge-verified--neutral{
    background: rgba(148,163,184,.16);
    color: #e5e7eb;
    border-color: rgba(148,163,184,.28);
  }html.theme-dark body:not(.page-business):not(.page-offer) .badge-verified--orange{
    background: rgba(245,158,11,.22);
    color: #ffd08a;
    border-color: rgba(245,158,11,.45);
  }html.theme-dark .offer-page,
html.theme-dark .offer-page h1,
html.theme-dark .offer-page h2,
html.theme-dark .offer-page p{
    color: var(--text);
  }@media (max-width:768px){.page-home .hero{
      padding: 8px 0 6px;
    }.page-home .hero-title{
      margin: 6px 0 4px;
    }.page-home .hero-tagline{
      margin-top: 6px;
      font-size: 18px;
      line-height: 1.15;
    }.page-home input,
  .page-home select{
      padding: 9px 10px;
      border-radius: 12px;
    }.page-home .with-offers{
      gap: 8px;
    }.page-home .filters-toggle{
      padding: 8px 10px;
      border-radius: 12px;
    }body.page-home .hero{
      padding: 6px 0 4px;
    }body.page-home .hero-inner{
      gap: 10px;
    }body.page-home .with-offers input[type="checkbox"]{
      width: 16px;
      height: 16px;
    }body.page-home .with-offers{
      gap: 8px;
      font-size: 11px;
      font-weight: 750;
    }body.page-home .filters-toggle{
      padding: 5px 8px;
      border-radius: 12px;
      font-size: 10px;
    }}@media (max-width:380px){.page-home .hero-tagline{
      font-size: 17px;
    }}@media (max-width:900px){.offer-gallery,
  .offer-media{
    grid-template-columns: 1fr;
  }#offerMainImage,
  .offer-main-image img,
  .offer-carousel img{
    height: 360px;
  }.offer-thumbs,
  .offer-thumbnails,
  #offerThumbs,
  .offer-media-thumbs{
    height: auto;
    overflow: visible;
    padding: 10px;
    display: flex;
    flex-direction: row;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 6px;
  }.offer-thumbs img,
  .offer-thumbnails img,
  #offerThumbs img,
  .offer-media-thumbs img{
    width: 72px;
    height: 72px;
    aspect-ratio: auto;
    flex: 0 0 auto;
  }.offer-detail-card{
    grid-template-columns: 1fr;
  }.offer-detail-right{
    border-left: none;
    border-top: 1px solid var(--border);
  }.offer-detail-image img{
    height: 300px;
  }.offer-gallery-thumbs{
    display: flex;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    grid-template-columns: none;
  }.offer-thumbbtn{
    flex: 0 0 84px;
    aspect-ratio: 1/1;
  }.offer-row[draggable="true"]{
    draggable: false;
  }.offer-move-ud .btn-ud{
    padding: 8px 10px;
    font-size: 16px;
    line-height: 1;
  }.offer-move .btn-move{
    display: none;
  }.offer-move-ud{
    display: flex;
    gap: 8px;
  }}@media (max-width:480px){.biz-offer-name{
    font-size: .95rem;
  }.biz-offer-price{
    font-size: .95rem;
  }.business-card .business-cover,
  .result-card .business-cover{
    max-height: 160px;
  }}@media (min-width:900px){.nearby-grid{
    grid-template-columns: repeat(5, minmax(0,1fr));
    gap: 12px;
  }}@media (max-width:380px){.page-home .hero-tagline{
    font-size: 17px;
  }}/* ============================================================
   HEADER — Desktop clean (une ligne + police fine + #333)
   Remplace le bloc @media (min-width:769px) existant
   ============================================================ */@media (min-width:769px){.site-header .header-inner{
    padding: 10px 0;
    gap: 12px;
    flex-wrap: nowrap;          /* ✅ jamais de retour ligne */
  }/* Le nav prend l’espace dispo et se colle à droite */.site-header .nav{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 1 1 auto;             /* ✅ évite que le menu “pousse” bizarrement */
    flex-wrap: nowrap;          /* ✅ une seule ligne */
    gap: 10px;                  /* ✅ un poil plus serré */
    min-width: 0;               /* ✅ autorise l’ellipsis des éléments longs */
    white-space: nowrap;
  }/* Liens menu : plus fin + couleur demandée */.site-header .nav-link{
    font-size: 13px;
    font-weight: 500;           /* ✅ plus fin */
    padding: 6px 8px;
    letter-spacing: .01em;
    border-radius: 999px;
    white-space: nowrap;
    color: #333333;             /* ✅ couleur demandée */
  }/* Nom utilisateur : le principal “casseur” de ligne si trop long */.site-header .nav-user{
    font-size: 12.5px;
    font-weight: 500;           /* ✅ plus fin */
    color: #333333;             /* ✅ couleur demandée */
    padding: 0 6px;
    white-space: nowrap;

    max-width: 220px;           /* ✅ empêche le menu de partir à la ligne */
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 0 1 auto;
    min-width: 0;
  }/* Bouton Déconnexion etc : même logique, plus fin + #333 */.site-header .nav .btn.small{
    font-size: 12.5px;
    font-weight: 600;
    padding: 6px 10px;
    border-radius: 999px;
    background: transparent;
    color: #333333;
    border: 1px solid rgba(51,51,51,.25);
    box-shadow: none;
    white-space: nowrap;
    line-height: 1.1;
  }.site-header .nav .btn.small:hover{
    background: rgba(51,51,51,.08);
  }}@media (min-width:769px) and (max-width:1060px){.site-header .nav a[href="/contact.php"]{
    display: none;
  }}@media (min-width:769px) and (max-width:960px){.site-header .nav a[href="/infos.php"]{
    display: none;
  }}}.result-card{
  position:relative;
  border-radius: var(--radius);
  overflow:hidden;
  min-height: 260px;
  background-size: cover;
  background-position:center;
  box-shadow: var(--shadow);
  border: 1px solid var(--border);
  cursor:pointer;
}/* si pas d’image de fond */.result-card:not([style*="background-image"]){
  background: linear-gradient(145deg, #c8c8c8 0%, #9f9f9f 52%, #b8b8b8 100%);
}.result-card.has-soft-thumb{
  background:
    radial-gradient(ellipse at 18% 16%, rgba(255,255,255,.13), transparent 34%),
    radial-gradient(ellipse at 82% 18%, rgba(80,80,80,.10), transparent 38%),
    radial-gradient(ellipse at 72% 86%, rgba(255,255,255,.09), transparent 42%),
    linear-gradient(145deg, rgba(202,202,202,.98), rgba(157,157,157,.97) 50%, rgba(184,184,184,.98));
}.result-card.has-soft-thumb::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.38;
  background:
    radial-gradient(ellipse at 22% 26%, rgba(255,255,255,.16), transparent 30%),
    radial-gradient(ellipse at 76% 72%, rgba(75,75,75,.12), transparent 36%),
    linear-gradient(125deg, transparent 0 38%, rgba(255,255,255,.12) 44%, transparent 52% 100%),
    repeating-radial-gradient(ellipse at 50% 118%, rgba(255,255,255,.085) 0 2px, transparent 2px 18px),
    repeating-linear-gradient(135deg, rgba(45,45,45,.04) 0 1px, transparent 1px 24px);
}.result-card.has-soft-thumb .result-overlay{
  background: linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.19) 44%, rgba(0,0,0,.42) 100%);
}.result-card.has-soft-thumb .result-head{
  text-shadow: 0 2px 12px rgba(0,0,0,.34);
}html.theme-dark .result-card.has-soft-thumb{
  background:
    radial-gradient(circle at 20% 18%, rgba(245,158,11,.095), transparent 34%),
    radial-gradient(circle at 82% 14%, rgba(59,130,246,.075), transparent 36%),
    radial-gradient(circle at 74% 84%, rgba(236,72,153,.06), transparent 38%),
    linear-gradient(145deg, rgba(30,41,59,.98), rgba(18,25,39,.97) 52%, rgba(31,41,55,.97));
}html.theme-dark .result-card.has-soft-thumb::after{
  opacity:.18;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.18) 0 1px, transparent 1.6px),
    linear-gradient(115deg, transparent 0 44%, rgba(255,255,255,.055) 44% 44.5%, transparent 44.5% 100%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 1px, transparent 1px 22px);
}html.theme-dark .result-card.has-soft-thumb .result-overlay{
  background: linear-gradient(180deg, rgba(2,6,23,.10) 0%, rgba(2,6,23,.30) 48%, rgba(2,6,23,.58) 100%);
}.result-overlay{
  position:absolute; inset:0;
  background: linear-gradient(180deg,
    rgba(0,0,0,.10) 0%,
    rgba(0,0,0,.35) 35%,
    rgba(0,0,0,.65) 100%);
}.result-head{
  position:relative;
  padding:14px 14px 0 14px;
  color:#fff;
  text-shadow: 0 2px 18px rgba(0,0,0,.55);
}.result-head-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}.result-title{
  font-weight:900;
  font-size:22px;
  line-height:1.05;
}.result-right{ display:flex; gap:10px; align-items:center; }.result-dist{
  font-weight:800;
  font-size:14px;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.18);
}.result-meta{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  font-weight:700;
}.result-city{
  opacity:.95;
  font-size:14px;
}.result-pill{
  font-size:12px;
  font-weight:900;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  text-decoration:none;
}.result-fav{
  font-size:12px;
  font-weight:900;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  color:#ffe600;
}.result-dock{
  position:absolute;
  left:12px; right:12px; bottom:12px;
  display:grid;
  grid-template-columns: 1.15fr 1fr;
  gap:10px;
  padding:10px;
  border-radius: 16px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.08);
  backdrop-filter: blur(6px);
}.dock-featured{
  display:flex;
  gap:10px;
  align-items:center;
  text-decoration:none;
  color: var(--text);
  min-width:0;
}.dock-featured-img{
  width:92px; height:72px;
  border-radius:12px;
  object-fit:cover;
  border:1px solid rgba(0,0,0,.08);
  flex:0 0 auto;
}.dock-featured-txt{ min-width:0; }.dock-featured-name{
  font-weight:900;
  font-size:14px;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}.dock-featured-price{
  margin-top:4px;
  font-weight:900;
  font-size:13px;
  opacity:.9;
}.dock-thumbs{
  display:flex;
  gap:8px;
  overflow:auto;
  padding-bottom:2px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}.dock-thumb{
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  flex:0 0 auto;
  scroll-snap-align:start;
}.dock-thumb img{
  width:62px; height:62px;
  border-radius:12px;
  object-fit:cover;
  border:1px solid rgba(0,0,0,.10);
}/* Desktop: cartes un peu plus basses pour afficher + */@media (min-width: 1024px){.result-card{ min-height: 220px; }.result-title{ font-size:18px; }}@media (max-width: 1023px){.cards-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }}@media (max-width: 768px){.cards-grid{ grid-template-columns: 1fr; }}.result-overlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
    rgba(0,0,0,.10) 0%,
    rgba(0,0,0,.35) 35%,
    rgba(0,0,0,.65) 100%);
}.result-head{
  position: relative;
  padding: 14px 14px 0 14px;
  color: #fff;
  text-shadow: 0 2px 18px rgba(0,0,0,.55);
}.result-head-top{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}.result-title{
  font-weight: 900;
  font-size: 22px;
  line-height: 1.05;
}.result-right{
  display: flex;
  gap: 10px;
  align-items: center;
}.result-dist{
  font-weight: 800;
  font-size: 14px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.28);
  border: 1px solid rgba(255,255,255,.18);
}.result-meta{
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  font-weight: 700;
}.result-city{
  opacity: .95;
  font-size: 14px;
}.result-pill{
  font-size: 12px;
  font-weight: 900;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  text-decoration: none;
}.result-fav{
  font-size: 12px;
  font-weight: 900;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  color:#ffe600;
}@media (min-width: 1024px){.result-card{ min-height: 220px; }.result-title{ font-size: 18px; }}/* ============================================================
   RESULTS / CARDS — CLEAN BLOCK (single source of truth)
   - Grid desktop 3 colonnes, tablette 2, mobile 1
   ============================================================ */.page-home .cards-grid{
  display:grid;
  gap:16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}@media (max-width: 1023px){.page-home .cards-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }}@media (max-width: 768px){.page-home .cards-grid{ grid-template-columns: 1fr; }}/* Carte résultat (background = miniature) */.page-home .result-card{
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  min-height: 220px;
  background-size: cover;
  background-position: center;
  box-shadow: var(--shadow);
  border: 1px solid rgba(17,24,39,.10);
  cursor: pointer;
}/* voile pour lisibilité */.page-home .result-card::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.28) 58%, rgba(0,0,0,.42) 100%),
    radial-gradient(110% 85% at 50% 68%, rgba(0,0,0,.20), rgba(0,0,0,.08) 58%, rgba(0,0,0,.04) 100%);
  pointer-events:none;
}/* Header overlay */.page-home .result-card .card-head{
  position:absolute;
  inset:16px 16px auto 16px;
  z-index:2;
  color:#fff;
  text-shadow: 0 8px 28px rgba(0,0,0,.55);
  display:grid;
  grid-template-columns: 1fr auto;
  gap:12px;
  align-items:start;
}.page-home .result-card .card-head .title{
  text-align:center;
  font-weight:900;
  letter-spacing:.01em;
  font-size: 24px;
  line-height: 1.1;
}.page-home .result-card .card-head .meta{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:flex-end;
}/* Pastilles meta */.page-home .pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.24);
  color:#fff;
  font-weight:800;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  white-space: nowrap;
}.page-home .pill.small{ padding:6px 10px; font-weight:800; font-size: 13px; opacity:.95; }/* ============================================================
   DOCK (bas) — glass + layout (image + infos + thumbs)
   ============================================================ */.page-home .result-dock{
  position:absolute;
  left:16px; right:16px; bottom:16px;
  z-index:2;
  border-radius: 18px;
  background: rgba(10,10,10,.42);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  padding:14px;
  display:grid;
  grid-template-columns: 160px 1fr;
  gap:14px;
  overflow:hidden;
}/* image principale swipe */.page-home .dock-featured{
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  display:block;
  touch-action: pan-y;
}/* swipe track 3 panneaux */.page-home .dock-swipe-track{
  display:flex;
  height:100%;
  width:300%;
  transform: translateX(-33.333%);
  will-change: transform;
  transition: transform .18s ease;
}.page-home .dock-featured.is-swiping .dock-swipe-track{ transition: none !important; }.page-home .dock-swipe-item{ width:33.333%; display:flex; }.page-home .dock-swipe-item img{
  width:100%;
  height:100%;
  object-fit: cover;
  border-radius: 16px;
}/* colonne droite */.page-home .dock-side{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:0;
}/* ligne titre + prix */.page-home .dock-info{
  display: grid;
  grid-template-columns: 1fr auto; /* ✅ titre prend le reste, prix à droite */
  align-items: start;
  column-gap: 12px;
  text-decoration: none;
  color: #fff;
  min-width: 0;
  margin-bottom:0;
}/* ===============================
   DOCK — Titre offre multi-lignes
   =============================== */.page-home .dock-featured-name{
  position: relative;
  min-width: 0;
  font-weight: 950;
  font-size: 16px;
  line-height: 1.12;
  overflow: visible;
  white-space: normal;
}.page-home .dock-featured-name .dock-title{
  min-width: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4; /* ✅ 4 lignes */
  line-clamp: 4;
  text-overflow: ellipsis;
}.page-home .dock-featured-price{
  flex:0 0 auto;
  white-space: nowrap;
  font-weight:950;
  font-size: 14px;
  opacity:.95;
}.page-home .dock-featured-description{
  margin:0;
  color:rgba(255,255,255,.76);
  font-size:12px;
  font-weight:500;
  line-height:1.28;
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
  text-overflow:ellipsis;
}.page-home .dock-featured-description[hidden]{
  display:none;
}/* miniatures */.page-home .dock-thumbs{
  display:flex;
  gap:10px;
  overflow:auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 2px;
}.page-home .dock-thumb{
  border:0;
  background: transparent;
  padding:0;
  cursor:pointer;
}.page-home .dock-thumb img{
  width:46px;
  height:46px;
  border-radius: 12px;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,.18);
}/* Mobile: dock plus compact */@media (max-width: 768px){.page-home .result-card{ min-height: 260px; }.page-home .result-dock{
    grid-template-columns: 1fr 1fr;
    padding:12px;
  }}/* ============================================================
   RESULT DOCK — Desktop controls (no mouse-drag)
   ============================================================ */.page-home .dock-nav{
  position:absolute;
  inset:0;
  display:none;
  align-items:center;
  justify-content:space-between;
  padding:8px;
  pointer-events:none; /* on active sur boutons seulement */
}.page-home .dock-nav-btn{
  pointer-events:auto;
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background: rgba(0,0,0,.35);
  color:#fff;
  font-weight:900;
  font-size:20px;
  line-height:1;
  display:grid;
  place-items:center;
  cursor:pointer;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}.page-home .dock-nav-btn:hover{ background: rgba(0,0,0,.50); }.page-home .dock-nav-btn:active{ transform: translateY(1px); }@media (min-width: 769px){.page-home .dock-nav{ display:flex; }}/* ============================================================
   RESULT DOCK — Final sizing (compact + lisible)
   ============================================================ */.page-home .result-card{ min-height: 240px; }.page-home .result-dock{
  left:14px; right:14px; bottom:14px;
  padding:12px;
  border-radius:18px;
  grid-template-columns: 150px 1fr;
}.page-home .dock-featured{
  height: 104px;
}.page-home .dock-swipe-item img{
  height: 104px;
}.page-home .dock-featured-name{
  font-size: 15px;
}.page-home .dock-featured-price{
  font-size: 14px;
}.page-home .dock-thumbs{ gap: 10px; }.page-home .dock-thumb img{
  width: 44px;
  height: 44px;
}@media (max-width: 768px){.page-home .result-card{ min-height: 280px; }.page-home .result-dock{
    grid-template-columns: 1fr 1fr;
    padding:12px;
  }.page-home .dock-featured{
    height: 124px;
  }.page-home .dock-swipe-item img{
    height: 124px;
  }.page-home .dock-thumb img{
    width: 46px;
    height: 46px;
  }}/* ============================================================
   RESULT DOCK (FIX) — desktop + mobile
   (manquait dans le CSS => affichage cassé)
   ============================================================ *//* Carte résultat */.result-card{
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  box-shadow: var(--shadow);
}/* overlay sombre stylé */.result-overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.45) 70%, rgba(0,0,0,.55) 100%);
}/* Infos entreprise en haut (laisse respirer) */.result-card .result-header,
.result-card .result-business,
.result-card .result-title{
  position: relative;
  z-index: 2;
}/* Dock offre en bas */.result-dock{
  position:absolute;
  left:14px; right:14px; bottom:14px;
  z-index:3;
  display:grid;
  grid-template-columns: 140px 1fr;
  gap:12px;
  padding:12px;
  border-radius: 18px;
  background: rgba(15,23,42,.55);
  border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}/* Image principale (zone swipe) */.dock-featured{
  position: relative;
  display:block;
  width: 140px;
  height: 140px;
  border-radius: 14px;
  overflow:hidden;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
}/* Track 3 images (prev/cur/next) */.dock-swipe-track{
  width: 300%;
  height: 100%;
  display:flex;
  transform: translate3d(-33.333%, 0, 0);
  transition: transform .25s ease;
}.dock-swipe-item{
  width: 33.333%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}.dock-swipe-item img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}/* Colonne droite */.dock-side{
  min-width: 0;
  display:flex;
  flex-direction: column;
  justify-content: space-between;
  gap:10px;
}.dock-info{
  display:flex;
  align-items: baseline;
  justify-content: space-between;
  gap:10px;
  text-decoration:none;
  color:#fff;
}.dock-featured-name{
  font-weight: 800;
  font-size: 16px;
  line-height: 1.1;
  white-space: nowrap;
  overflow:hidden;
  text-overflow: ellipsis;
}.dock-featured-price{
  font-weight: 900;
  font-size: 16px;
  opacity: .95;
  white-space: nowrap;
}/* Miniatures suggérées */.dock-thumbs{
  display:flex;
  gap:8px;
  overflow:auto;
  padding-bottom: 2px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}.dock-thumbs::-webkit-scrollbar{ height: 6px; }.dock-thumb{
  width: 46px;
  height: 46px;
  border-radius: 10px;
  overflow:hidden;
  flex: 0 0 auto;
  scroll-snap-align: start;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  cursor:pointer;
}.dock-thumb img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}.dock-thumb.is-active{
  border-color: rgba(255,255,255,.85);
  box-shadow: 0 0 0 2px rgba(255,255,255,.18) inset;
}/* Flèches desktop sur l'image */.dock-arrow{
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.35);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 22px;
  line-height: 1;
  cursor:pointer;
}.dock-arrow-left{ left: 8px; }.dock-arrow-right{ right: 8px; }/* Mobile: dock plus compact pour laisser voir la fiche derrière */@media (max-width: 768px){.result-dock{
    left:12px; right:12px; bottom:12px;
    grid-template-columns: 120px 1fr;
    padding:10px;
    border-radius: 16px;
  }.dock-featured{ width:120px; height:120px; border-radius: 12px; }.dock-featured-name, .dock-featured-price{ font-size: 15px; }.dock-thumb{ width: 42px; height: 42px; border-radius: 10px; }}/* Desktop: pas de drag, seulement flèches (si tu veux cacher les thumbs sur PC tu peux) */@media (min-width: 1024px){.dock-arrow{ opacity: .95; }.dock-arrow:hover{ opacity: 1; }}/* Flèches desktop (pas mobile) */.dock-nav{ display:none; position:absolute; inset:0; pointer-events:none; }.dock-nav-btn{
  pointer-events:auto;
  position:absolute; top:50%; transform:translateY(-50%);
  width:34px; height:34px; border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background: rgba(0,0,0,.35);
  color:#fff; font-weight:900; line-height:1;
}.dock-nav-btn[data-dir="-1"]{ left:10px; }.dock-nav-btn[data-dir="1"]{ right:10px; }@media (hover:hover) and (pointer:fine){.dock-featured{ position:relative; }.dock-nav{ display:block; }}/* ============================================================
   INDEX (page-home) — FIXES MINIMAUX
   - Badge "vérifiée" (lisible, pas "blanc dans le titre")
   - Titre entreprise + badge: wrap propre
   - Titre offre: 2 lignes (pas coupé)
   - PC: miniatures scroll + barre visible + flèches nav visibles
   - Carte: fond cliquable (overlay ne bloque pas)
   ============================================================ *//* 1) Fond cliquable : l’overlay ne doit jamais capter le clic */.page-home .result-overlay{
  pointer-events:none;
}/* 2) Titre entreprise + badge: alignement + retour ligne propre */.page-home .result-title{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}/* 3) Titre offre (dock) : 4 lignes avant "…" */.page-home .dock-featured-name{
  position: relative;
  white-space: normal !important;
  overflow: visible;
}.page-home .dock-featured-name .dock-title{
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4; /* ✅ 4 lignes */
  line-clamp: 4;
}/* 5) PC : rendre évident qu’on peut faire défiler les miniatures */@media (hover:hover) and (pointer:fine){.page-home .dock-thumbs{
    scrollbar-width: thin;                 /* Firefox */
    scroll-behavior: smooth;
    padding-bottom: 6px;
  }.page-home .dock-thumbs::-webkit-scrollbar{ height: 8px; }.page-home .dock-thumbs::-webkit-scrollbar-thumb{
    background: rgba(255,255,255,.28);
    border-radius: 999px;
  }.page-home .dock-thumbs::-webkit-scrollbar-track{
    background: rgba(255,255,255,.08);
    border-radius: 999px;
  }/* flèches sur l’image (dock-nav) visibles sur PC */.page-home .dock-nav{ display:flex; }}/* === INDEX RESULT DOCK — REF OK (2026-01-24) === *//* ============================================================
   HOME — SEARCH GRID (compact 2x2 + périmètre 1-clic)
   ============================================================ */.ua-search-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 14px;
  align-items:end;
}.ua-cell{ min-width:0; }.ua-search-submit{
  grid-column: 1 / -1;
  width: 100%;
  justify-content: center;
}/* aide sous “Où ?” (optionnelle) */.ua-help{
  margin-top: 6px;
  font-size: 12px;
  font-weight: 750;
  color: var(--text-muted);
}/* Périmètre : icône + select invisible au-dessus (1 clic) */.ua-perimeter-wrap{
  position: relative;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  height: 44px;
}.ua-perimeter-icon{
  width: 44px;
  height: 44px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: var(--card);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}.ua-perimeter-icon img{
  width: 22px;
  height: 22px;
  display:block;
}/* le select couvre exactement l’icône mais reste invisible */.ua-perimeter-select{
  position:absolute;
  right:0;
  top:0;
  width: 44px;
  height: 44px;
  opacity: 0;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  border: none;
  background: transparent;
}/* Mobile : un peu plus serré */@media (max-width: 520px){.ua-search-grid{ gap: 8px 10px; }.ua-perimeter-wrap,
  .ua-perimeter-icon,
  .ua-perimeter-select{
    width: 42px;
    height: 42px;
  }}/* --- Rendre le bloc recherche moins "géant" --- *//* Champs plus compacts (hauteur/padding) *//* Grille plus “serrée” */.ua-search-grid{
  grid-template-columns: 1fr 1fr;
  gap: 10px 14px;
}/* Ligne "Où ?" : input + bouton logo côte à côte */.ua-where{
  grid-column: 1 / -1; /* prend toute la largeur pour avoir la place de mettre le logo à côté */
}.ua-where-row{
  display: flex;
  gap: 10px;
  align-items: center;
}.ua-where-input{
  flex: 1 1 auto;
  min-width: 0;
}/* Bouton périmètre inline (garde ton 1 clic) */.ua-perimeter-inline{
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
}/* On force l’icône à être pile la taille du champ */.ua-perimeter-wrap{
  position: relative;
  display:flex;
  justify-content:flex-end;
  align-items:center;
}.ua-perimeter-icon{
  width: 46px;
  height: 46px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: var(--card);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}.ua-perimeter-icon img{
  width: 22px;
  height: 22px;
  display:block;
}.ua-perimeter-select{
  position:absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  border: none;
  background: transparent;
}/* Bouton rechercher un peu moins massif (optionnel) */.ua-search-submit{
  height: 54px;
  border-radius: 999px;
}/* Mobile : on repasse en 1 colonne si besoin */@media (max-width: 560px){.ua-search-grid{
    grid-template-columns: 1fr;
  }.ua-where-row{
    gap: 8px;
  }}/* ============================================================
   SEARCH — bouton Rechercher (desktop vs mobile)
   ============================================================ *//* Desktop */@media (min-width: 768px){.ua-search-submit{
    height: 30px;          /* avant : ~54–60px */
    font-size: 15px;
    border-radius: 800px;
    padding: 0 1px;
  }}/* Mobile : on garde plus gros */@media (max-width: 767px){.ua-search-submit{
    height: 40px;
    font-size: 10px;
  }}/* ============================================================
   Couleur fond bloc recherche
   ============================================================ *//* (optionnel mais souvent mieux) : champs avec bordure plus nette *//* Bouton Rechercher = même couleur que "Voir +" (nearby-more2) *//* HOME — couleur labels bloc recherche *//* ============================================================
   HOME — Champs de recherche plus compacts (PC + mobile)
   ============================================================ */.result-meta{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
}.result-loc{
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap; /* ✅ ville + distance jamais sur 2 lignes */
}.result-dist{
  white-space:nowrap; /* ✅ km jamais coupé */
}/* =========================================
   RESULT CARD — dock en bas + meta visible
   ========================================= *//* La carte devient un "conteneur" */.result-card{
  position: relative;
}/* On réserve de la place pour le dock (sinon il masque catégorie/lieu) */.result-card:has(.result-dock){
  padding-bottom: 170px; /* ajuste si besoin (150-200) */
}/* Header au-dessus du dock */.result-head{
  position: relative;
  z-index: 2;
}/* Dock collé en bas, marge réduite */.result-dock{
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;

  margin: 0;          /* ✅ plus de grosse marge */
  padding: 10px;      /* ✅ dock plus compact */
  z-index: 1;
}/* Optionnel : compacter encore l'intérieur du dock */.dock-side{
  padding: 0;
  margin: 0;
}.dock-info{
  margin: 0 0 6px;
}/* =========================================
   Suivis — icône étoile dorée jamais sur 2 lignes
   ========================================= */.result-fav.is-top{
  white-space: nowrap;     /* ✅ une seule ligne */
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color:#ffd60a;

  position: absolute;
  top: 8px;
  right: 10px;
  z-index: 6;
}.result-fav .follow-count-icon{
  width:18px;
  height:18px;
  flex:0 0 auto;
  color:#ffd60a;
  filter: drop-shadow(0 0 1px rgba(255,230,0,.38)) drop-shadow(0 1px 1px rgba(0,0,0,.55));
}
.result-fav .follow-count-icon path{
  stroke:rgba(0,0,0,.58);
  stroke-width:1.15;
  stroke-linejoin:round;
  paint-order:stroke fill;
}
.result-fav .follow-count-icon .follow-count-star-shine{
  stroke:none;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.18));
}
.result-fav.is-top{
  -webkit-text-stroke:.35px rgba(0,0,0,.78);
  paint-order:stroke fill;
  text-shadow:0 1px 1px rgba(0,0,0,.55);
}
/* Si ton badge est "rond" et trop étroit, on lui donne un peu d'air */.result-fav.is-top{
  min-width: 44px;
  justify-content: center;
}/* =========================================
   Meta (catégorie + lieu + distance) — reste lisible
   ========================================= */.result-meta{
  position: relative;
  z-index: 3; /* au-dessus des overlays */
}/* Mobile : le dock prend plus de place -> on réserve plus */@media (max-width: 768px){.result-card:has(.result-dock){
    padding-bottom: 190px;
  }}/* =========================================
   Badge catégorie — UNE SEULE LIGNE
   ========================================= */.result-pill{
  white-space: nowrap;        /* ✅ jamais à la ligne */
  display: inline-flex;
  align-items: center;
  max-width: 100%;
}/* =======================================
   DOCK — Prix intégré au coin de l’image
   ======================================= */.page-home .dock-featured{
  position: relative;
}/* Le prix est posé directement sur l'image, sans forme de badge. */.page-home .dock-price-badge{
  position: absolute;
  right: 10px;
  bottom: 8px;
  z-index: 5;

  display: block;
  max-width: calc(100% - 28px);
  padding: 0;
  border: 0;
  border-radius: 0;

  font-size: 13px;
  font-weight: 950;
  line-height: 1.1;
  text-align: right;
  white-space: nowrap;

  background: transparent;
  color: #fff;
  text-shadow:
    0 1px 2px rgba(0,0,0,.98),
    0 2px 6px rgba(0,0,0,.92),
    0 0 12px rgba(0,0,0,.72);
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.55));
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}/* si pas de prix => on cache */.page-home .dock-price-badge.is-hidden{
  display: none;
}/* Prix plus dans la ligne texte */.page-home .dock-featured-price{
  display: none !important;
}/* Cache la scrollbar des miniatures (PC) */.page-home .dock-thumbs{
  overflow-x: auto;
  scrollbar-width: none; /* Firefox */
}.page-home .dock-thumbs::-webkit-scrollbar{
  height: 0;             /* Chrome/Safari */
  display: none;
}/* ============================================================
   DOCK — Flèches discrètes (à cheval dehors/dedans)
   ============================================================ *//* le wrapper doit laisser dépasser les flèches */.page-home .dock-featured-wrap{
  position: relative;
  overflow: visible;
}/* on garde l'image bien coupée */.page-home .dock-featured{
  position: relative;
  overflow: hidden;
  border-radius: 16px;
}/* couche flèches */.page-home .dock-nav{
  position: absolute;
  inset: 0;
  z-index: 50;
  pointer-events: none; /* la couche ne bloque rien */
}/* boutons : petits, sans badge */.page-home .dock-nav-btn{
  pointer-events: auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 26px;
  height: 26px;

  /* pas de rond / pas de fond */
  background: transparent;
  border: 0;
  padding: 0;

  color: rgba(255,255,255,.92);
  font-size: 28px;
  font-weight: 950;
  line-height: 1;
  cursor: pointer;

  /* lisible sur photo */
  text-shadow: 0 8px 18px rgba(0,0,0,.55);
}/* à cheval sur le bord (moitié dehors) */.page-home .dock-nav-btn[data-dir="-1"]{ left: -16px; }.page-home .dock-nav-btn[data-dir="1"]{ right: -6px; }/* petit feedback */.page-home .dock-nav-btn:hover{
  color: rgba(255,255,255,1);
  transform: translateY(-50%) scale(1.05);
}.page-home .dock-nav-btn:active{
  transform: translateY(-50%) scale(.95);
}/* ============================================================
   FORCE HEADER (PC) — passe au-dessus de tous les conflits
   À COLLER TOUT EN BAS du style.css
   ============================================================ */@media (min-width: 769px){/* 1) header en 1 ligne quoiqu’il arrive */.site-header .header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap: nowrap !important;
  }/* 2) le menu prend la place, reste sur 1 ligne */.site-header .nav{
    display:flex !important;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    flex: 1 1 auto;
    min-width:0;
    white-space: nowrap;
    flex-wrap: nowrap !important;
    overflow: hidden; /* empêche le passage à la ligne */
  }/* 3) liens menu (même si pas de .nav-link) */.site-header .nav a{
    color:#333333 !important;
    font-weight:500 !important; /* plus fin */
    font-size:13px;
    padding:6px 8px;
    border-radius:999px;
    white-space:nowrap;
  }/* hover propre */.site-header .nav a:hover{
    background: rgba(51,51,51,.08);
  }/* 4) le “Bonjour, …” (souvent le casse-ligne) */.site-header .nav-user,
  .site-header .nav .nav-user,
  .site-header .nav span,
  .site-header .nav .user{
    color:#333333 !important;
    font-weight:500 !important;
    max-width: 220px;
    overflow:hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width:0;
    flex: 0 1 auto;
  }/* 5) bouton (Déconnexion etc) même s’il n’a pas .btn.small */.site-header .nav .btn,
  .site-header .nav button,
  .site-header .nav input[type="submit"]{
    color:#333333 !important;
    font-weight:600 !important;
    background: transparent !important;
    border: 1px solid rgba(51,51,51,.25) !important;
    padding: 6px 10px;
    border-radius: 999px;
    white-space: nowrap;
    box-shadow: none !important;
  }.site-header .nav .btn:hover,
  .site-header .nav button:hover,
  .site-header .nav input[type="submit"]:hover{
    background: rgba(51,51,51,.08) !important;
  }}/* =========================================
   DOCK — (1/3) différent du titre
   ========================================= */.page-home .dock-featured-name .dock-pos{
  color: rgba(255,255,255,.62);
  font-weight: 600;
  margin-right: 6px;
  font-size: .92em;
}.page-home .dock-featured-name,
.page-home .dock-featured-name .dock-title{
  color: #fff;
  font-weight: 600;
}/* === AUTOUR DE VOUS — remonter le titre entreprise (éviter qu'il soit mangé) === */.page-home .nearby-head2{
  padding: 6px 12px 8px;     /* moins de padding en bas */
}.page-home .nearby-title2{
  margin-top: 2px;           /* avant: 6px */
  -webkit-line-clamp: 2;
  line-height: 1.12;         /* un poil plus compact */
}/* le bloc blanc du bas prend un peu moins de place */.page-home .nearby-bottom2{
  padding: 8px 12px 10px;    /* avant: 10px 12px 12px */
}/* ============================================================
   OFFER — MOBILE COMPACT (FORCE OVERRIDE)
   ============================================================ */@media (max-width: 768px){/* Page plus compacte */.offer-page{
    padding: 8px 10px 14px !important;
  }/* IMAGE PRINCIPALE — grand format carré, cohérent avec la liste */.offer-detail-image img{
    height: auto !important;
    aspect-ratio: 1 / 1;
    object-fit: contain;
  }/* Galerie miniatures plus basse */.offer-gallery-thumbs{
    padding: 6px 8px !important;
    gap: 6px !important;
    max-height: 84px !important;
  }.offer-thumbbtn{
    flex: 0 0 64px !important;
    height: 64px !important;
    aspect-ratio: 1 / 1;
  }/* Corps de fiche plus serré */.offer-detail-body{
    padding: 10px 12px !important;
  }/* TITRE */.offer-page h1{
    font-size: 1.15rem;
    line-height: 1.1;
    margin: 4px 0 6px;
  }/* DESCRIPTION — reste intégralement lisible sur la fiche */.offer-detail-text{
    font-size: .92rem;
    line-height: 1.45;
    display: block;
    overflow: visible;
  }/* Boutons plus petits */.offer-detail-actions .btn{
    padding: 8px 12px;
    font-size: .85rem;
  }}/* OFFER — gagner de la place en haut */@media (max-width: 768px){/* page plus "tassée" */.offer-page{
    padding-top: 6px !important;
  }/* titre + marges */.offer-page h1{
    margin: 2px 0 6px !important;
    font-size: 1.1rem;
    line-height: 1.1;
  }/* si tu as un sous-titre */.offer-subtitle{
    margin: 0 0 8px !important;
  }}/* ============================================================
   OFFER (detail) — compact mobile
   ============================================================ */@media (max-width:768px){/* Titre moins haut */.offer-page h1{
    font-size: 1.12rem !important;
    line-height: 1.08 !important;
    margin: 2px 0 6px !important;
  }/* Image principale moins haute */.offer-detail-image img{
    height: 170px !important;   /* baisse encore si tu veux: 175/180 */
    border-radius: 14px !important;
  }/* Thumbs plus compacts */.offer-gallery-thumbs{
    padding: 4px 8px 6px !important;
    gap: 6px !important;
  }.offer-thumbbtn{
    width: 56px !important;
    height: 42px !important;
    border-radius: 10px !important;
  }/* Bloc infos plus serré */.offer-detail-body{
    padding: 10px 12px 12px !important;
    gap: 8px !important;
  }}/* ============================================================
   HEADER — SEARCH GLOBAL (source unique)
   ============================================================ */
:root{
  --ua-search-radius: 11px;
  --ua-search-control-h: 32px;
  --ua-search-control-px: 10px;
  --ua-search-control-py: 6px;
  --ua-search-icon-size: 15px;
  --ua-search-icon-gap: 7px;
  --ua-search-filter-px: 9px;
  --ua-search-font-size: 13px;
  --ua-search-filter-font-size: 12.5px;
  --ua-search-border: rgba(17,24,39,.18);
  --ua-search-icon-color: #8b93a1;
}

.ua-search-control{
  box-sizing: border-box;
  height: var(--ua-search-control-h);
  min-height: var(--ua-search-control-h);
  border-radius: var(--ua-search-radius);
  border: .8px solid var(--ua-search-border);
  background: var(--card);
  color: var(--text);
  padding: var(--ua-search-control-py) var(--ua-search-control-px);
  font-size: var(--ua-search-font-size);
  line-height: 1.15;
  box-shadow: none;
}

.ua-search-control::placeholder{
  color: var(--text-muted);
  opacity: .66;
}

.ua-hs-search-wrap{
  position: relative;
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
}

.ua-hs-search-icon,
.ua-hs-filter-icon{
  width: var(--ua-search-icon-size);
  height: var(--ua-search-icon-size);
  color: var(--ua-search-icon-color);
  flex: 0 0 auto;
  pointer-events: none;
}

.ua-hs-search-icon{
  position: absolute;
  left: var(--ua-search-control-px);
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}

.ua-hs-search-wrap .ua-hs-input{
  width: 100%;
  padding-left: calc(var(--ua-search-control-px) + var(--ua-search-icon-size) + var(--ua-search-icon-gap));
}

.ua-filter-control{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: var(--ua-search-control-h);
  min-height: var(--ua-search-control-h);
  border-radius: var(--ua-search-radius);
  padding: var(--ua-search-control-py) var(--ua-search-filter-px);
  font-size: var(--ua-search-filter-font-size);
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  flex: 0 0 auto;
}

.site-header,
.site-header .header-inner{
  overflow: visible;
}

.site-header .header-inner{
  display:flex;
  align-items:center;
  gap:10px;
}

.site-header .logo{
  z-index: 100002;
  pointer-events: auto;
}

.site-header .logo-ink,
.site-header .logo-img,
.site-header .logo svg{
  display: block;
  visibility: visible;
  opacity: 1;
}

.site-header .logo-img{
  height: 28px;
  width: auto;
  display:block;
}

.ua-header-search{
  position: relative;
  display:flex;
  align-items:center;
  gap:8px;
  flex: 0 1 350px;
  max-width: 420px;
  min-width: 220px;
}

.ua-hs-input{
  flex: 1 1 auto;
  min-width: 0;
}

.ua-hs-submit-hidden{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}


.ua-hs-panel{
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
  width: min(760px, 100%);
  background: var(--card);
  border: 1px solid var(--ua-search-border);
  border-radius: var(--ua-search-radius);
  padding: 8px;
  display:grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(150px, 190px);
  gap: 8px;
  z-index: 99999;
  box-shadow: 0 12px 30px rgba(0,0,0,.25);
}

.ua-hs-panel[hidden]{
  display:none !important;
}

.ua-hs-label{
  font-size: 12px;
  opacity: .8;
  margin: 0 0 4px 2px;
}

.ua-hs-field{
  min-width: 0;
}

.ua-hs-field--perimeter{
  max-width: 190px;
}

.ua-hs-text,
.ua-hs-select{
  width:100%;
}

.ua-hs-select{
  appearance: none;
  -webkit-appearance: none;
  height: var(--ua-search-control-h);
  min-height: var(--ua-search-control-h);
  padding-block: 0;
  padding-inline: var(--ua-search-control-px) calc(var(--ua-search-control-px) + 18px);
  line-height: var(--ua-search-control-h);
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
    linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: calc(100% - 14px) 50%, calc(100% - 9px) 50%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  text-overflow: ellipsis;
}

.ua-hs-radius-row{
  display:flex;
  align-items:center;
  gap: 6px;
  margin-top: 6px;
  min-width: 0;
}

.ua-hs-radius-free{
  display:grid;
  grid-template-columns: minmax(52px, 1fr) auto;
  align-items:center;
  gap: 5px;
  min-width: 0;
  flex: 1 1 auto;
}

.ua-hs-radius-free[hidden]{
  display:none !important;
}

.ua-hs-radius-free-label,
.ua-hs-radius-free-unit{
  font-size: 12px;
  opacity: .82;
  white-space: nowrap;
}

.ua-hs-apply{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 auto;
  width: auto;
  min-width: 0;
  padding-inline: 8px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.site-header .nav{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:12px;
}

@media (max-width: 900px){
  .ua-header-search{ flex: 1 1 auto; }
  .ua-hs-panel{ grid-template-columns: 1fr; }
  .ua-hs-field--perimeter{ max-width: 100%; }
}

@media (max-width: 820px){
  :root{
    --mobile-header-h: 96px;
    --ua-search-control-h: 34px;
    --ua-search-control-px: 10px;
    --ua-search-filter-px: 9px;
    --ua-search-font-size: 16px;
  }

  .site-header .header-inner{
    position: relative;
    height: 100%;
  }

  .site-header .header-inner > .mnav-btn{
    position: absolute;
    top: 4px;
    left: 10px;
    width: 38px;
    height: 38px;
    padding: 7px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    z-index: 100001;
  }

  .site-header .header-inner > .theme-toggle{
    position: absolute;
    top: 4px;
    right: 10px;
    left: auto;
    bottom: auto;
    width: 38px;
    height: 38px;
    padding: 7px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    z-index: 100001;
  }

  .site-header .header-inner > .mnav-btn:hover,
  .site-header .header-inner > .theme-toggle:hover{
    background: transparent;
    border-color: transparent;
    box-shadow: none;
  }

  .site-header .header-inner > .mnav-btn:focus-visible,
  .site-header .header-inner > .theme-toggle:focus-visible{
    outline: 2px solid currentColor;
    outline-offset: 2px;
  }

  .site-header .logo{
    position: absolute;
    top: 6px;
    left: 50%;
    transform: translateX(-50%);
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
  }

  .site-header .logo-img,
  html.theme-dark .site-header .logo-img{
    height: 46px;
    width: auto;
    max-width: none;
    display: block;
  }

  .ua-header-search{
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 5px;
    max-width: none;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .ua-hs-input{
    font-size: 16px;
  }

  .ua-hs-filters{
    font-size: var(--ua-search-filter-font-size);
  }

  .site-header .nav{
    display: none !important;
  }

  .page-main{
    padding-top: 0;
  }
}

/* Dark mode : logo sans changement de taille */
.theme-dark .site-header .logo{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: none;
  flex: 0 0 auto;
  overflow: visible;
  background: var(--ua-surface);
  border-radius: 16px;
  padding: 1px 4px;
  line-height: 0;
}

.theme-dark{
  --ua-search-border: rgba(226,232,240,.22);
  --ua-search-icon-color: #9ca3af;
}

/* ===== Theme toggle: transition soleil <-> lune ===== */
.theme-toggle{
  position: relative;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: var(--card);
  color: var(--text);

  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Les 2 icônes se superposent */
.theme-toggle .theme-icon{
  position: absolute;
  width: 20px;
  height: 20px;
  transition: opacity .18s ease, transform .18s ease;
  pointer-events: none;
}

/* état clair : soleil visible */
.theme-toggle .sun{
  opacity: 1;
  transform: rotate(0deg) scale(1);
}
.theme-toggle .moon{
  opacity: 0;
  transform: rotate(20deg) scale(.85);
}

/* état sombre : lune visible */
html.theme-dark .theme-toggle .sun{
  opacity: 0;
  transform: rotate(-20deg) scale(.85);
}
html.theme-dark .theme-toggle .moon{
  opacity: 1;
  transform: rotate(0deg) scale(1);
}

/* DESKTOP — masquer bouton mode sombre */
@media (min-width: 769px){
  .theme-toggle{
    display: none !important;
  }
}
.page-home .hero-title{
  font-size: clamp(18px, 2.2vw, 24px);
  line-height: 1.2;
  font-weight: 600;
  margin: 0 0 10px;
  opacity: .95;
}

.page-home .hero-subtitle{
  font-size: clamp(14px, 1.6vw, 16px);
}
.search-input,
.search-bar input,
.hero-search input{
  font-size: 16px;
}
/* iOS Safari — empêcher le zoom au focus (font-size doit être >= 16px) */
@supports (-webkit-touch-callout: none) {
  input[type="text"],
  input[type="search"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="password"],
  textarea,
  select{
    font-size: 16px !important;
  }
}
/* ============================================================
   MOBILE — HEADER TOUJOURS VISIBLE AU SCROLL (FORCE FIXED)
   ============================================================ */
@media (max-width: 820px){

  :root{ --mobile-header-h: 96px; } /* header mobile compact */

  /* ✅ force le fixed */
  header.site-header{
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: var(--mobile-header-h) !important;
    z-index: 999999 !important;
    background: var(--card) !important;
    border-bottom: 1px solid var(--border) !important;
  }

  /* ✅ si un parent avait un transform, ça peut casser le fixed (iOS) */
  html, body{
    transform: none !important;
    filter: none !important;
  }

  /* ✅ le contenu passe sous le header (sans créer un “trou” énorme) */
  main.page-main{
    padding-top: 0 !important;
    margin-top: var(--mobile-header-h) !important;
  }

  /* éviter un margin top du 1er bloc qui rajoute du vide */
  main.page-main > :first-child{
    margin-top: 0 !important;
  }

  /* panneau burger attaché au header */
  .mnav-panel{
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
  }
}

/* ============================================================
   MOBILE — Header recherche/filtres plus compact
   ============================================================ */
@media (max-width: 820px){
  :root{
    --mobile-header-h: 88px;
    --ua-search-control-h: 32px;
    --ua-search-control-px: 8px;
    --ua-search-control-py: 4px;
    --ua-search-icon-size: 14px;
    --ua-search-icon-gap: 6px;
    --ua-search-filter-px: 8px;
    --ua-search-font-size: 15.5px;
    --ua-search-filter-font-size: 12px;
  }

  .ua-header-search{
    bottom: 4px;
    gap: 6px;
  }

  .ua-search-control{
    height: var(--ua-search-control-h);
    min-height: var(--ua-search-control-h);
    padding: var(--ua-search-control-py) var(--ua-search-control-px);
    font-size: var(--ua-search-font-size) !important;
  }

  .ua-hs-search-wrap .ua-hs-input{
    padding-left: calc(var(--ua-search-control-px) + var(--ua-search-icon-size) + var(--ua-search-icon-gap));
  }

  .ua-filter-control{
    height: var(--ua-search-control-h);
    min-height: var(--ua-search-control-h);
    padding: var(--ua-search-control-py) var(--ua-search-filter-px);
    gap: 5px;
    font-size: var(--ua-search-filter-font-size) !important;
  }
}
/* ============================================================
   MOBILE — Header auto-hide (down = hide, up = show)
   ============================================================ */
@media (max-width: 820px){
  header.site-header{
    /* tu es déjà en fixed, on ajoute juste l’animation */
    transition: transform .22s ease;
    will-change: transform;
  }

  /* caché */
  header.site-header.is-hidden{
    transform: translateY(-100%);
  }

  /* (optionnel) quand caché, on évite le “trou” visuel en remontant le contenu */
  body.ua-header-hidden main.page-main{
    margin-top: 0 !important;
  }
}
/* =========================================
   FIX — enlever la pastille blanche du logo en mode sombre
   (uniquement header)
   ========================================= */
html.theme-dark .site-header a.logo{
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
html.theme-dark header.site-header a.logo{
  filter: drop-shadow(0 0 3px rgba(255,255,255,.75));
}
/* iOS fix: le transform reste sur .logo, l'effet reste sur un enfant sans transform */
.site-header a.logo{ overflow: visible; }
.site-header a.logo .logo-ink{
  display: inline-block;
  padding: 6px;                 /* donne de l’air pour le glow */
  overflow: visible;
}

html.theme-dark header.site-header a.logo .logo-ink{
  filter: drop-shadow(0 0 3px rgba(255,255,255,.75));
  will-change: filter;
  transform: translateZ(0);      /* force compositing iOS */
}

.site-header .logo-img{ display:block; } /* évite des micro-clips */
/* ==============================
   HEADER SEARCH — autocomplete width (PC)
   ============================== */
@media (min-width: 900px){
  .ua-hs-panel .suggestions-wrapper{
    position: relative;
  }

  /* La dropdown = au moins 280px, sinon 100% du champ */
  .ua-hs-panel .suggestions-box{
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    width: 100%;
    min-width: 280px;                 /* ✅ élargit sur PC */
    max-width: min(520px, 92vw);      /* ✅ évite de dépasser l’écran */
    z-index: 1000;
  }

  /* Optionnel : évite que le texte soit coupé */
  .ua-hs-panel .suggestions-box .suggestion-item{
    white-space: normal;
    line-height: 1.2;
  }
}
.dashboard-form .dash-stats{
  display:flex;
  gap:10px;
  margin: 12px 0;
  flex-wrap:wrap;
}

.dashboard-form .dash-stat{
  flex:1;
  min-width: 160px;
  background: var(--card);
  border: 1px solid #333333;
  border-radius: 14px;
  padding: 10px 12px;
}

.dashboard-form .dash-stat-num{
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
}

.dashboard-form .dash-stat-label{
  margin-top: 6px;
  font-size: 12px;
  opacity: .8;
}
/* =========================
   ACTU (index) — CLEAN
   ========================= */

/* Tabs */
.actu-tabs{
  position: sticky;
  top: var(--header-h, 0px);
  z-index: 40;
  background: var(--page-bg, #fff);
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.actu-tabs-inner{
  max-width: 1100px;
  margin: 0 auto;
  padding: .55rem 12px;
  display: flex;
  gap: .55rem;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.actu-tab{
  appearance: none;
  border: 1px solid rgba(0,0,0,.12);
  background: transparent;
  color: inherit;
  padding: .42rem .8rem;
  border-radius: 999px;
  font-weight: 700;
  cursor: pointer;
  line-height: 1;
}
.actu-tab.is-active{
  background: rgba(0,0,0,.08);
  border-color: rgba(0,0,0,.18);
}
html.theme-dark .actu-tabs{
  background: var(--page-bg, #111);
  border-bottom-color: rgba(255,255,255,.10);
}
html.theme-dark .actu-tab{ border-color: rgba(255,255,255,.16); }
html.theme-dark .actu-tab.is-active{
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.22);
}

/* Bouton + intégré du fil publications */
.actu-publish-plus{
  --actu-publish-color: #92400e;
  --actu-publish-border: rgba(245,158,11,.34);
  --actu-publish-bg: linear-gradient(135deg, rgba(254,243,199,.96), rgba(255,251,235,.90));
  --actu-publish-shadow: rgba(245,158,11,.18);
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 999px;
  background: var(--actu-publish-bg);
  color: var(--actu-publish-color);
  border: 1px solid var(--actu-publish-border);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-decoration: none;
  user-select: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  box-shadow: 0 10px 24px var(--actu-publish-shadow), inset 0 1px 0 rgba(255,255,255,.82);
  transition: transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}
.actu-publish-plus.is-bon-plan{
  --actu-publish-color: #92400e;
  --actu-publish-border: rgba(245,158,11,.42);
  --actu-publish-bg: linear-gradient(135deg, rgba(254,243,199,.98), rgba(255,251,235,.92));
  --actu-publish-shadow: rgba(245,158,11,.18);
}
.actu-publish-plus.is-actu{
  --actu-publish-color: #075985;
  --actu-publish-border: rgba(14,165,233,.40);
  --actu-publish-bg: linear-gradient(135deg, rgba(224,242,254,.98), rgba(240,249,255,.92));
  --actu-publish-shadow: rgba(14,165,233,.16);
}
.actu-publish-plus svg{
  display:block;
  width: 21px;
  height: 21px;
}
.actu-publish-plus-icon path{
  fill: none;
  stroke: currentColor;
  stroke-width: 2.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.actu-publish-plus:hover{
  transform: translateY(-1px) scale(1.03);
  box-shadow: 0 13px 28px var(--actu-publish-shadow), inset 0 1px 0 rgba(255,255,255,.90);
}
.actu-publish-plus:focus-visible{
  outline: 2px solid var(--actu-publish-border);
  outline-offset: 3px;
}
html.theme-dark .actu-publish-plus.is-bon-plan{
  --actu-publish-color: #fde68a;
  --actu-publish-border: rgba(245,158,11,.42);
  --actu-publish-bg: linear-gradient(135deg, rgba(120,53,15,.68), rgba(15,23,42,.78));
  --actu-publish-shadow: rgba(245,158,11,.20);
}
html.theme-dark .actu-publish-plus.is-actu{
  --actu-publish-color: #bae6fd;
  --actu-publish-border: rgba(56,189,248,.40);
  --actu-publish-bg: linear-gradient(135deg, rgba(12,74,110,.68), rgba(15,23,42,.78));
  --actu-publish-shadow: rgba(56,189,248,.18);
}

/* ============================================================
   POSTS PARTAGÉS INDEX + BUSINESS — base active
   ------------------------------------------------------------
   L’index et business.php utilisent le même markup .actu-feed >
   .actu-list > .actu-card. Ces règles sont la base commune :
   dimensions du carrousel, taille des cartes et zone média.
   Les anciens styles overlay ont été supprimés pour éviter qu’ils
   se mélangent au rendu cartes de l’index.
   ============================================================ */
.actu-feed{
  max-width: 1100px;
  margin: 0 auto;
  padding: .35rem 12px 0;
}

.actu-category-line{
  width: min(1100px, calc(100% - 24px));
  height: 3px;
  margin: .35rem auto .15rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(254,243,199,.98), rgba(255,251,235,.92));
  box-shadow: 0 6px 14px rgba(245,158,11,.10);
  transition: background .18s ease, box-shadow .18s ease;
}
nav.actu-tabs:has(.actu-tab[data-tab="bon_plan"].is-active) ~ .ua-posts-frame .actu-category-line{
  background: linear-gradient(135deg, rgba(254,243,199,.98), rgba(255,251,235,.92));
  box-shadow: 0 6px 14px rgba(245,158,11,.10);
}
nav.actu-tabs:has(.actu-tab[data-tab="actu"].is-active) ~ .ua-posts-frame .actu-category-line{
  background: linear-gradient(135deg, rgba(224,242,254,.98), rgba(240,249,255,.92));
  box-shadow: 0 6px 14px rgba(14,165,233,.10);
}
html.theme-dark .actu-category-line{
  box-shadow: 0 8px 18px rgba(0,0,0,.20);
}
html.theme-dark nav.actu-tabs:has(.actu-tab[data-tab="bon_plan"].is-active) ~ .ua-posts-frame .actu-category-line{
  background: linear-gradient(135deg, rgba(120,53,15,.58), rgba(15,23,42,.76));
}
html.theme-dark nav.actu-tabs:has(.actu-tab[data-tab="actu"].is-active) ~ .ua-posts-frame .actu-category-line{
  background: linear-gradient(135deg, rgba(12,74,110,.58), rgba(15,23,42,.76));
}

.actu-list{
  --actu-gap: .8rem;
  max-width: 1100px;
  margin: .5rem auto 0;
  padding: 0 12px 4px;
  display: flex;
  gap: var(--actu-gap);
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scroll-padding-left: 12px;
  scrollbar-width: thin;
}
.actu-list::-webkit-scrollbar{ height: 10px; }
.actu-list::-webkit-scrollbar-thumb{
  background: rgba(0,0,0,.18);
  border-radius: 999px;
}
html.theme-dark .actu-list::-webkit-scrollbar-thumb{ background: rgba(255,255,255,.18); }

.actu-card{
  position: relative;
  scroll-snap-align: start;
  flex: 0 0 calc((100% - (var(--actu-gap) * 4)) / 5);
  max-width: 240px;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 16px;
  overflow: hidden;
  background: rgba(0,0,0,.02);
  aspect-ratio: 220 / 285;
}
html.theme-dark .actu-card{
  border-color: rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
}

@media (max-width: 900px){
  .actu-card{
    flex-basis: calc((100% - (var(--actu-gap) * 2)) / 3);
    max-width: 260px;
  }
}

@media (max-width: 520px){
  .actu-list{
    --actu-gap: 8px;
    padding: 0 10px 4px;
    scroll-padding-left: 10px;
    scrollbar-width: none;
  }
  .actu-list::-webkit-scrollbar{ display: none; }
  .actu-card{
    flex: 0 0 calc((100% - (var(--actu-gap) * 2.1)) / 3.1);
    max-width: none;
    border-radius: 12px;
  }
}

.actu-media{
  position: relative;
  aspect-ratio: 4 / 3;
  background-size: cover;
  background-position: center;
}
.actu-media.no-media{ background: rgba(0,0,0,.06); }
html.theme-dark .actu-media.no-media{ background: rgba(255,255,255,.08); }

.post-modal{ position:fixed; inset:0; display:none; z-index:9999; }
.post-modal.is-open{ display:block; }
.post-modal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.55); }

.post-modal__panel{
  position:relative;
  width:min(820px, calc(100% - 24px));
  margin: 12px auto;
  background: var(--page-bg, #fff);
  border-radius: 18px;
  overflow:hidden;
}

.post-modal__close{
  position:absolute; top:10px; right:10px;
  border:0; background:rgba(0,0,0,.45); color:#fff;
  width:34px; height:34px; border-radius:999px;
}

.post-modal__media{ background:#000; }
.post-modal__media img{ width:100%; max-height:70vh; object-fit:contain; display:block; }

.post-modal__body{ padding: 14px 14px 16px; }
.post-modal__top{ display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.post-modal__title{ font-weight:900; }
.post-modal__status{ margin-top:8px; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.post-modal__meta{ opacity:.72; margin-top:6px; font-size:.92rem; }
.post-modal__validity{ opacity:.74; font-size:.9rem; }
.post-category-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 10px;
  border-radius:999px;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
  background:rgba(15,23,42,.08);
  color:var(--ua-text-muted);
}
.post-status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 10px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.post-status-badge--active{ background:rgba(34,197,94,.18); color:#14532d; }
.post-status-badge--expired{ background:rgba(239,68,68,.16); color:#7f1d1d; }
.post-status-badge--archived{ background:rgba(100,116,139,.18); color:var(--ua-text-muted); }
.post-status-badge--scheduled{ background:rgba(59,130,246,.16); color:#1d4ed8; }
.post-status-badge--offline{ background:rgba(245,158,11,.16); color:#92400e; }
.post-modal__text{ margin-top:10px; white-space:pre-wrap; }
/* Modal post : éviter le "cut" quand pas d'image */
.post-modal__panel{
  max-height: 92vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/* Quand pas d'image : on supprime la zone media et on remonte proprement le contenu */
.post-modal.no-media .post-modal__media{
  display: none;
}

.post-modal.no-media .post-modal__body{
  padding-top: 16px;
}
/* ===========================
   FIX MODAL POSTS (béton)
   =========================== */

/* overlay plein écran */
.post-modal{
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 14px;
}

.post-modal.is-open{ display: flex !important; }

/* backdrop */
.post-modal__backdrop{
  position: absolute !important;
  inset: 0 !important;
}

/* panneau centré + scroll */
.post-modal__panel{
  position: relative !important;
  width: min(980px, calc(100% - 24px)) !important;
  max-height: calc(100vh - 24px) !important;
  overflow: hidden !important;

  /* neutralise les vieux styles qui te le font "partir" */
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  margin: 0 !important;

  display: grid !important;
  grid-template-columns: 44% 56% !important;
}

/* zone media */
.post-modal__media{
  min-height: 260px;
}

/* body scrollable */
.post-modal__body{
  overflow: auto !important;
  -webkit-overflow-scrolling: touch;
  max-height: calc(100vh - 24px) !important;
}

/* ===== NO MEDIA => 1 colonne, plus de zone vide ===== */
.post-modal.no-media .post-modal__panel{
  display: block !important;
  overflow: auto !important;
}

.post-modal.no-media .post-modal__media{
  display: none !important;
}

.post-modal.no-media .post-modal__body{
  max-height: calc(100vh - 24px) !important;
}
/* ===== ACTU / BONS PLANS TABS (PC + MOBILE) ===== */
.actu-tabs {
  display: flex;
  justify-content: center;
  width: 100%;
}

.actu-tabs > .actu-tabs {
  display: inline-flex; /* clé pour le centrage desktop */
  gap: .9rem;
  justify-content: center;
  align-items: center;
}
/* Dropdown suggest: ne change pas le layout du form */
.ua-suggest{
  position: fixed;         /* important: hors du flow du header */
  z-index: 100000;
  display: none;
}

.ua-suggest-box{
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(0,0,0,.12);
}

.ua-suggest-title{
  padding: 8px 12px;
  font-size: 12px;
  opacity: .7;
  border-top: 1px solid var(--border);
}
.ua-suggest-title:first-child{ border-top: 0; }

.ua-suggest-item{
  width: 100%;
  padding: 10px 12px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  background: transparent;
  border: 0;
  color: var(--text);
  text-align: left;
}
.ua-suggest-item small{ opacity:.7; white-space:nowrap; }

.actu-media{ position:relative; }
.actu-play{
  position:absolute;
  left:50%; top:50%;
  transform:translate(-50%,-50%);
  width:52px; height:52px;
  border-radius:999px;
  border:0;
  cursor:pointer;
  background:rgba(0,0,0,.55);
  color:#fff;
  font-size:22px;
  display:flex; align-items:center; justify-content:center;
}
/* ============================================================
   POST MODAL — MEDIA FIX (no aspect-ratio forced)
   - vidéo: width:100% + height:auto => plus de bande noire "en bas"
   - mobile: modal en 1 colonne (media au dessus)
   ============================================================ */

/* panel desktop */
.post-modal__panel{
  width: min(980px, calc(100% - 24px)) !important;
  max-height: calc(100vh - 24px) !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-columns: 44% 56% !important;
  border-radius: 18px;
}

/* media box */
.post-modal__media{
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* IMPORTANT: on retire le wrapper 16/9 */
.post-modal__mediaWrap{
  width: 100% !important;
  aspect-ratio: auto !important;
  border-radius: 0 !important;
  background: #000;
  overflow: hidden;
}

/* vidéo = hauteur naturelle (plus de "bande noire en bas" due au container) */
.post-modal__video{
  width: 100% !important;
  height: auto !important;
  max-height: 78vh;            /* limite écran */
  display: block;
  object-fit: contain !important; /* ne coupe pas */
  background: #000;
}

/* image (pareil) */
.post-modal__img{
  width: 100% !important;
  height: auto !important;
  max-height: 78vh;
  display: block;
  object-fit: contain !important;
  background: #000;
}

/* body scrollable */
.post-modal__body{
  overflow: auto !important;
  -webkit-overflow-scrolling: touch;
}

/* ===== MOBILE: 1 colonne (sinon rendu ridicule) ===== */
@media (max-width: 820px){
  .post-modal{
    padding: 10px !important;
    align-items: center;
    justify-content: center;
  }

  .post-modal__panel{
    width: calc(100% - 12px) !important;
    max-height: calc(100vh - 12px) !important;
    grid-template-columns: 1fr !important;
    border-radius: 18px;
  }

  .post-modal__media{
    max-height: 46vh;          /* media grand sur mobile */
  }

  .post-modal__video,
  .post-modal__img{
    max-height: 46vh !important;
  }
}
.actu-media.is-video-no-thumb{
  position: relative;
  background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.55));
}
.actu-video-badge{
  position:absolute; left:10px; bottom:10px;
  padding:6px 10px; border-radius:999px;
  background: rgba(0,0,0,.45);
  color:#fff; font-size:12px;
}
/* Badge catégorie = bordure forte + fond teinté (comme badge vérifié) */

/* ============================================================
   POST MODAL — polish ciblé (lisibilité + séparation header)
   ============================================================ */
.post-modal{
  z-index: 200100 !important; /* au-dessus du header sticky/fixed */
  padding: clamp(14px, 3vh, 30px) 14px 14px !important;
}

.post-modal__meta{
  margin-top: 8px;
  margin-bottom: 16px;         /* + d’air avant le texte */
  font-size: .82rem;
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: .01em;
  color: color-mix(in srgb, var(--text, #0f172a) 64%, transparent);
  white-space: nowrap;         /* ligne lieu - début - fin sur desktop */
  overflow: hidden;
  text-overflow: ellipsis;
}

.post-modal__text{
  margin-top: 0;
  font-size: .99rem;
  line-height: 1.7;
  font-weight: 450;
  letter-spacing: .004em;
  color: color-mix(in srgb, var(--text, #0f172a) 86%, #000 14%);
}

@media (max-width: 820px){
  .post-modal{
    padding: 10px !important;
  }
  .post-modal__meta{
    white-space: normal;       /* mobile: on laisse wrap pour éviter une ligne trop serrée */
    font-size: .8rem;
    margin-bottom: 14px;
  }
  .post-modal__text{
    font-size: .95rem;
    line-height: 1.62;
  }
}
.pill.pill-cat{
  border: 1px solid color-mix(in srgb, var(--cat) 55%, transparent);
  background: color-mix(in srgb, var(--cat) 18%, transparent);
  color: #111;   /* texte noir */
  font-weight: 900;
}
html.theme-dark .pill.pill-cat{
  color: #FFFFFF;
  border-color: color-mix(in srgb, var(--cat) 60%, rgba(255,255,255,.15));
  background: color-mix(in srgb, var(--cat) 22%, transparent);
}


/* Fix modal posts: offset dynamique basé sur la vraie hauteur du header */
:root{
  --ua-modal-header-offset: 0px;
}

.post-modal{
  align-items:flex-start !important;
  padding-top: calc(var(--ua-modal-header-offset, 0px) + 16px) !important;
}

.post-modal__panel{
  margin-top: 2px !important;
}

/* Badge statut ouverture (index résultats) */
.result-open-badge{
  display:inline-flex;
  align-items:center;
  padding:4px 9px;
  border-radius:999px;
  border:1px solid transparent;
  font-size:12px;
  font-weight:700;
  line-height:1;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
.result-open-badge.is-open{
  color:#d9ffe7;
  background:rgba(30,159,74,.24);
  border-color:rgba(67,209,120,.42);
}
.result-open-badge.is-closed{
  color:#ffe0e0;
  background:rgba(217,50,50,.22);
  border-color:rgba(255,120,120,.38);
}
.result-open-badge.is-warning{
  color:#fff5d0;
  background:rgba(219,149,17,.25);
  border-color:rgba(255,193,84,.42);
}

/* =========================================
   HOME PRODUCT DOCK — compteur fixe tous les offres
   ========================================= */
.page-home .result-dock{
  overflow: hidden;
}
/* Keep long offer names from changing the dock's height. The description and
   thumbnail row must retain their reserved space beside the fixed-size image. */
.page-home .dock-featured-name .dock-title{
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.page-home .dock-thumbs-row{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:auto;
  min-width:0;
  max-width:100%;
}
.page-home .dock-thumbs-row .dock-thumbs{
  flex:1 1 auto;
  min-width:0;
}
.page-home .dock-all-offers-plus,
.page-business .dock-all-offers-plus{
  flex:0 0 auto;
  width:auto;
  min-width:46px;
  height:46px;
  padding:0 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  text-decoration:none;
  border-radius:12px;
  background:rgba(15,23,42,.76);
  border:1px solid rgba(255,255,255,.20);
  font-weight:900;
  font-size:14px;
  line-height:1;
  letter-spacing:.01em;
  white-space:nowrap;
  -webkit-tap-highlight-color:transparent;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
.page-home .dock-all-offers-plus:hover,
.page-business .dock-all-offers-plus:hover{
  background:rgba(15,23,42,.88);
  border-color:rgba(255,255,255,.34);
}
.page-home .dock-all-offers-plus:focus-visible,
.page-business .dock-all-offers-plus:focus-visible{
  outline:2px solid rgba(255,255,255,.48);
  outline-offset:2px;
}
html.theme-dark .page-home .dock-all-offers-plus,
html.theme-dark .page-business .dock-all-offers-plus{
  background:rgba(17,24,39,.82);
  border-color:rgba(255,255,255,.22);
  color:#f9fafb;
}

@media (max-width: 768px){
  .page-home .dock-thumbs-row{ gap:7px; }
  .page-home .dock-all-offers-plus{
    min-width:46px;
    height:46px;
    padding:0 9px;
    border-radius:12px;
  }
}

/* HOME — Suggestions à proximité */
.nearby-suggestions{
  margin: 8px 0 28px;
}
.actu-feed + .nearby-suggestions{
  margin-top: 4px;
}
.nearby-suggestions-head{
  --ua-active: #2096fa;
  --ua-active-bg: rgba(32, 150, 250, 0.12);
  --ua-active-border: rgba(32, 150, 250, 0.35);
  --ua-active-focus: rgba(32, 150, 250, 0.24);
  --ua-active-shadow: rgba(32, 150, 250, 0.16);
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 10px;
}
.nearby-suggestions .section-title{
  margin-bottom: 0;
  font-size: clamp(18px, 2.2vw, 24px);
  line-height: 1.2;
  font-weight: 800;
  opacity: .95;
}
.nearby-mode-tabs{
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: clamp(8px, 2.4vw, 22px);
  width: 100%;
  max-width: 560px;
  overflow: hidden;
}
.nearby-mode-btn{
  appearance: none;
  position: relative;
  border: 0;
  background: transparent;
  color: var(--text-muted, #64748b);
  border-radius: 0;
  padding: 3px 4px 8px;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 1 auto;
  gap: 5px;
  font: inherit;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.05;
  box-shadow: none;
  cursor: pointer;
  white-space: nowrap;
  min-width: 0;
  transition: color .18s ease;
}
.nearby-mode-btn::after{
  content: "";
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 0;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: center;
  opacity: 0;
  transition: transform .22s ease, opacity .18s ease;
}
.nearby-mode-btn:hover{
  color: var(--ua-active, #2096fa);
}
.nearby-mode-btn:focus-visible{
  outline: 3px solid var(--ua-active-focus, rgba(32, 150, 250, 0.24));
  outline-offset: 2px;
  border-radius: 10px;
}
.nearby-mode-btn.is-active{
  color: var(--ua-active, #2096fa);
}
.nearby-mode-btn.is-active::after{
  transform: scaleX(1);
  opacity: 1;
}
.nearby-suggestions.is-search-suggestions .nearby-mode-btn.is-active{
  color: var(--text-muted, #64748b);
}
.nearby-suggestions.is-search-suggestions .nearby-mode-btn.is-active::after{
  transform: scaleX(0);
  opacity: 0;
}
.nearby-mode-btn svg{
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.nearby-mode-btn svg circle,
.nearby-mode-btn svg path:first-child{
  fill: currentColor;
  fill-opacity: .08;
}
.nearby-mode-btn[data-mode="trending"] svg path,
.nearby-mode-btn[data-mode="random"] svg path{
  fill: none;
}
.nearby-suggestions-hint{
  margin: 12px 0 0;
  color: var(--muted, #64748b);
  font-size: 14px;
  font-weight: 700;
}
#nearbyList2.is-loading{
  opacity: .58;
  transition: opacity .16s ease;
}

.nearby-subcategory-current{
  margin: 0 0 10px;
  color: var(--text-muted, #64748b);
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .01em;
  line-height: 1.25;
  opacity: .82;
}

html.theme-dark .nearby-mode-btn{
  color: rgba(226,232,240,.72);
}
html.theme-dark .nearby-mode-btn:hover{
  color: var(--ua-active, #2096fa);
}
html.theme-dark .nearby-mode-btn.is-active{
  color: var(--ua-active, #2096fa);
}

@media (max-width: 640px){
  .nearby-suggestions{
    margin-top: 6px;
  }
  .nearby-suggestions .section-title{
    text-align: center;
  }
  .nearby-subcategory-current{
    text-align: center;
    margin-bottom: 8px;
    font-size: 12px;
  }
  .actu-feed + .nearby-suggestions{
    margin-top: 2px;
  }
  .nearby-mode-tabs{
    width: 100%;
    max-width: 100%;
    gap: clamp(3px, 1.35vw, 8px);
    overflow: hidden;
  }
  .nearby-mode-btn{
    min-width: 0;
    max-width: max-content;
    min-height: 28px;
    padding: 2px 0 7px;
    gap: clamp(1px, .5vw, 3px);
    font-size: clamp(9px, 2.9vw, 11px);
    line-height: 1;
    white-space: nowrap;
    text-align: center;
    overflow: hidden;
  }
  .nearby-mode-btn::after{
    left: clamp(5px, 1.7vw, 8px);
    right: clamp(5px, 1.7vw, 8px);
  }
  .nearby-mode-btn svg{
    width: .98em;
    height: .98em;
  }
  .nearby-mode-btn span{
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
    overflow: visible;
    letter-spacing: -.035em;
    white-space: nowrap;
  }
}

@media (max-width: 340px){
  .nearby-mode-btn{
    padding-inline: 0;
    gap: 1px;
    font-size: clamp(8.2px, 2.75vw, 9px);
  }
  .nearby-mode-btn svg{
    width: 1em;
    height: 1em;
  }
}

/* ============================================================
   POSTS PARTAGÉS INDEX + BUSINESS — rendu carte actif
   ------------------------------------------------------------
   Cette section est le rendu réellement utilisé par l’index.
   business.php génère maintenant la même structure .actu-head /
   .actu-like pour hériter exactement de ces règles.
   ============================================================ */
.actu-card{
  display: flex;
  flex-direction: column;
  cursor: pointer;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(15,23,42,.08);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.actu-card::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
  height: 4px;
  background: transparent;
  pointer-events: none;
}
.actu-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(15,23,42,.14);
  border-color: rgba(15,23,42,.18);
}
html.theme-dark .actu-card{
  background: #111827;
  box-shadow: 0 16px 36px rgba(0,0,0,.30);
}

.actu-media{
  flex: 0 0 auto;
  border-bottom: 1px solid rgba(15,23,42,.08);
}
.actu-media.no-media{
  min-height: 98px;
  background:
    radial-gradient(circle at 18% 22%, rgba(236,72,153,.28), transparent 32%),
    radial-gradient(circle at 80% 12%, rgba(59,130,246,.24), transparent 34%),
    linear-gradient(135deg, rgba(248,250,252,.96), rgba(226,232,240,.92));
}
html.theme-dark .actu-media.no-media{
  background:
    radial-gradient(circle at 18% 22%, rgba(236,72,153,.24), transparent 32%),
    radial-gradient(circle at 80% 12%, rgba(59,130,246,.22), transparent 34%),
    linear-gradient(135deg, rgba(17,24,39,.98), rgba(30,41,59,.96));
}

.actu-body{
  --actu-title-size: .86rem;
  --actu-title-line-height: 1.08;
  --actu-title-lines: 2;
  --actu-meta-size: .64rem;
  --actu-meta-line-height: 1.06;
  --actu-text-size: .80rem;
  --actu-text-line-height: 1.26;
  --actu-text-lines: 4;
  position: static;
  inset: auto;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: .06rem;
  min-height: 0;
  padding: .22rem .44rem .40rem;
  color: var(--text, #111827);
  background: transparent;
}
html.theme-dark .actu-body{ color: #f9fafb; }

.actu-head{
  display: block;
  flex: 0 0 auto;
}

.actu-biz{
  min-width: 0;
  max-height: calc(var(--actu-title-size) * var(--actu-title-line-height) * var(--actu-title-lines));
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: var(--actu-title-size);
  line-height: var(--actu-title-line-height);
  font-weight: 900;
  letter-spacing: -.025em;
  display: -webkit-box;
  -webkit-line-clamp: var(--actu-title-lines);
  line-clamp: var(--actu-title-lines);
  -webkit-box-orient: vertical;
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: anywhere;
  word-break: break-word;
  color: inherit;
}

.actu-meta{
  flex: 0 0 auto;
  min-height: calc(var(--actu-meta-size) * var(--actu-meta-line-height));
  margin-top: 0;
  display: flex;
  gap: .24rem;
  flex-wrap: nowrap;
  min-width: 0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: var(--actu-meta-size);
  line-height: var(--actu-meta-line-height);
  font-weight: 800;
  letter-spacing: .01em;
  color: color-mix(in srgb, var(--text, #111827) 62%, transparent);
  opacity: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.actu-meta span{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.actu-meta span:first-child{
  flex: 0 1 auto;
}
.actu-meta span + span{
  flex: 0 0 auto;
}
html.theme-dark .actu-meta{ color: rgba(249,250,251,.68); }

.actu-text{
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  margin-top: 0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: var(--actu-text-size);
  line-height: var(--actu-text-line-height);
  font-weight: 500;
  color: #000;
  opacity: 1;
  display: -webkit-box;
  -webkit-line-clamp: var(--actu-text-lines);
  line-clamp: var(--actu-text-lines);
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
html.theme-dark .actu-text{ color: rgba(249,250,251,.78); }

.actu-like{
  position: absolute;
  right: .48rem;
  bottom: .48rem;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .16rem;
  min-width: 35px;
  min-height: 26px;
  border: 1px solid rgba(244,63,94,.24);
  border-radius: 999px;
  padding: .18rem .34rem;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,241,242,.96));
  color: #be123c;
  box-shadow: 0 5px 12px rgba(244,63,94,.12), inset 0 1px 0 rgba(255,255,255,.92);
  font-size: .72rem;
  line-height: 1;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
}
.actu-like__icon{
  width: 15px;
  height: 15px;
  display: block;
  fill: #fb7185;
  filter: drop-shadow(0 2px 3px rgba(244,63,94,.22));
  transition: transform .18s ease, filter .18s ease;
}
.actu-like__count{ min-width: .55em; text-align: left; }
.actu-like:hover .actu-like__icon,
.actu-like:focus-visible .actu-like__icon{ transform: scale(1.08); }
.actu-like.is-on{
  border-color: rgba(225,29,72,.38);
  background: linear-gradient(135deg, #fb7185, #ec4899 52%, #f97316);
  color: #fff;
  box-shadow: 0 10px 22px rgba(236,72,153,.28);
}
.actu-like.is-on .actu-like__icon{
  fill: #fff;
  filter: drop-shadow(0 2px 3px rgba(159,18,57,.25));
}
html.theme-dark .actu-like{
  border-color: rgba(251,113,133,.26);
  background: linear-gradient(135deg, rgba(51,65,85,.98), rgba(76,29,49,.86));
  color: #fecdd3;
}
html.theme-dark .actu-like.is-on{
  background: linear-gradient(135deg, #fb7185, #ec4899 52%, #f97316);
  color: #fff;
}

@media (max-width: 520px){
  .actu-card{
    aspect-ratio: 220 / 285;
  }
  .actu-media{
    flex: 0 0 auto;
    aspect-ratio: 4 / 3;
  }
  .actu-media.no-media{ min-height: 0; }
  .actu-body{
    --actu-title-size: .63rem;
    --actu-title-line-height: 1.04;
    --actu-meta-size: .50rem;
    --actu-meta-line-height: 1.02;
    --actu-text-size: .59rem;
    --actu-text-line-height: 1.10;
    --actu-text-lines: 3;
    flex: 1 1 auto;
    min-height: 0;
    padding: .12rem .22rem .24rem;
    gap: .025rem;
    justify-content: flex-start;
  }
  .actu-like{ right: .34rem; bottom: .34rem; }
  .actu-biz{
    letter-spacing: -.016em;
    display: -webkit-box;
    -webkit-line-clamp: var(--actu-title-lines);
    line-clamp: var(--actu-title-lines);
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: anywhere;
    word-break: break-word;
    hyphens: none;
  }
  .actu-meta{ margin-top: 0; }
  .actu-text{ flex: 1 1 auto; min-height: 0; margin-top: 0; -webkit-line-clamp: var(--actu-text-lines); line-clamp: var(--actu-text-lines); }
  .actu-like{ min-width: 26px; min-height: 21px; padding: .12rem .20rem; font-size: .60rem; }
  .actu-like__icon{ width: 12px; height: 12px; }
}


@media (min-width: 430px) and (max-width: 520px){
  .actu-body{
    --actu-text-lines: 4;
  }
}

@media (max-width: 380px){
  .actu-body{
    --actu-text-lines: 2;
  }
}

/* Le symbole de like utilise un SVG inline avec son dégradé. */

/* Modal post : fond opaque, header séparé, scroll fiable sur longs textes. */
.post-modal{
  background: rgba(2,6,23,.74) !important;
  padding-top: calc(var(--ua-modal-header-offset, 0px) + 16px) !important;
  padding-bottom: 16px !important;
}
.post-modal__backdrop{ background: transparent !important; }
.post-modal__panel{
  --ua-post-modal-bg: #ffffff;
  width: min(980px, calc(100% - 24px)) !important;
  max-height: calc(100dvh - var(--ua-modal-header-offset, 0px) - 32px) !important;
  min-height: 0 !important;
  background: var(--ua-post-modal-bg) !important;
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 30px 90px rgba(2,6,23,.35);
  overflow: hidden !important;
}
html.theme-dark .post-modal__panel{
  --ua-post-modal-bg: #0f172a;
  border-color: rgba(255,255,255,.12);
}
.post-modal__body{
  min-height: 0 !important;
  max-height: calc(100dvh - var(--ua-modal-header-offset, 0px) - 32px) !important;
  padding: 20px 20px 22px !important;
  background: var(--ua-post-modal-bg) !important;
  color: var(--text, #0f172a);
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
}
html.theme-dark .post-modal__body{ color: #f8fafc; }
.post-modal__top{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
  padding-right: 54px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(15,23,42,.08);
}
html.theme-dark .post-modal__top{ border-bottom-color: rgba(255,255,255,.10); }
.post-modal__title{
  min-width: 0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  line-height: 1.16;
  font-weight: 950;
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
}
.post-modal__actions{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}
.post-modal__biz,
.post-modal__delete{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  border-radius: 999px;
  padding: 0 14px;
  font-size: .86rem;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
}
.post-modal__biz{
  border: 1px solid #000;
  background: linear-gradient(135deg, var(--glass-bg-from, rgba(255,255,255,.86)), var(--glass-bg-to, rgba(255,255,255,.68)));
  color: var(--ua-text);
  box-shadow: none;
  opacity: .92;
  backdrop-filter: blur(var(--glass-blur, 14px));
  -webkit-backdrop-filter: blur(var(--glass-blur, 14px));
}
.post-modal__biz:hover,
.post-modal__biz:focus-visible{
  border-color: #000;
  background: linear-gradient(135deg, var(--glass-bg-from, rgba(255,255,255,.94)), var(--glass-bg-to, rgba(255,255,255,.78)));
  color: var(--ua-text);
  opacity: 1;
}
html.theme-dark .post-modal__biz{
  border-color: rgba(255,255,255,.72);
  background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.10));
  color: #f9fafb;
}
html.theme-dark .post-modal__biz:hover,
html.theme-dark .post-modal__biz:focus-visible{
  border-color: rgba(255,255,255,.86);
  background: linear-gradient(135deg, rgba(255,255,255,.24), rgba(255,255,255,.14));
  color: #fff;
}
.post-modal__delete{
  border: 1px solid rgba(220,38,38,.20);
  background: rgba(254,226,226,.92);
  color: #991b1b;
}
.post-modal__close{
  top: 14px !important;
  right: 14px !important;
  z-index: 3;
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.96);
  color: var(--ua-text);
  box-shadow: 0 10px 24px rgba(15,23,42,.14);
  cursor: pointer;
}
html.theme-dark .post-modal__close{
  border-color: rgba(255,255,255,.14);
  background: rgba(15,23,42,.96);
  color: #fff;
}
.post-modal__status{ margin-top: 16px; }
.post-modal__meta{
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
.post-modal__text{
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.post-modal.no-media .post-modal__panel{
  max-width: 760px !important;
  background: var(--ua-post-modal-bg) !important;
  overflow: hidden !important;
}
.post-modal.no-media .post-modal__body{
  max-height: calc(100dvh - var(--ua-modal-header-offset, 0px) - 32px) !important;
}

@media (max-width: 820px){
  .post-modal{
    padding: calc(var(--ua-modal-header-offset, 0px) + 10px) 10px 10px !important;
  }
  .post-modal__panel{
    width: calc(100% - 4px) !important;
    max-height: calc(100dvh - var(--ua-modal-header-offset, 0px) - 20px) !important;
    grid-template-columns: 1fr !important;
  }
  .post-modal__body{
    max-height: calc(100dvh - var(--ua-modal-header-offset, 0px) - 20px) !important;
    padding: 18px 16px 20px !important;
  }
  .post-modal__top{
    grid-template-columns: 1fr;
    padding-right: 48px;
    gap: 12px;
  }
  .post-modal__actions{
    justify-content: flex-start;
  }
  .post-modal__biz,
  .post-modal__delete{
    min-height: 34px;
    padding: 0 12px;
    font-size: .82rem;
  }
  .post-modal.no-media .post-modal__body{
    max-height: calc(100dvh - var(--ua-modal-header-offset, 0px) - 20px) !important;
  }
}
.actu-like:not(.is-on) .actu-like__heart{ fill: url(#actu-like-gradient); }
.actu-like.is-on .actu-like__heart{ fill: #fff; }
@media (max-width: 820px){
  .post-modal__panel{
    display: flex !important;
    flex-direction: column;
    min-height: 0 !important;
  }
  .post-modal__media{
    flex: 0 0 auto;
  }
  .post-modal__body{
    flex: 1 1 auto;
    min-height: 0 !important;
    max-height: none !important;
  }
}

/* ============================================================
   HEADER LOGO + POSTS — overrides de synchronisation
   ------------------------------------------------------------
   Force l'affichage du logo PNG du header en plus grand et garde
   les cartes de publications à la même taille sur index.php et
   business.php.
   ============================================================ */
.site-header .logo{
  flex: 0 0 auto;
  min-width: 0;
  line-height: 0;
}
.site-header .logo-ink{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}
.site-header .logo-img,
html.theme-dark .site-header .logo-img{
  display: block !important;
  width: auto !important;
  height: 58px !important;
  max-width: min(180px, 32vw) !important;
  object-fit: contain;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Cadre commun des publications.
   Le wrapper doit rester dans la colonne de contenu de la page : business.php
   est limité par .business-page, et l'index par .container. Les cartes gardent
   les mêmes proportions grâce aux règles communes .actu-card/.actu-media,
   sans faire déborder le carrousel business à gauche ou à droite. */
.ua-posts-frame{
  box-sizing: border-box;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  transform: none;
}
.ua-posts-frame.actu-feed,
.ua-posts-frame .actu-feed{
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.ua-posts-frame .actu-list,
.actu-list{
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
}
.actu-card{
  flex: 0 0 220px;
  max-width: 220px;
}

@media (max-width: 900px){
  .site-header .logo-img,
  html.theme-dark .site-header .logo-img{
    height: 54px !important;
    max-width: min(168px, 36vw) !important;
  }
  .actu-card{
    flex-basis: calc((100% - (var(--actu-gap) * 2)) / 3);
    max-width: 260px;
  }
}
@media (max-width: 520px){
  .site-header .logo-img,
  html.theme-dark .site-header .logo-img{
    height: 50px !important;
    max-width: min(150px, 42vw) !important;
  }
  .ua-posts-frame .actu-list,
  .actu-list{
    --actu-gap: 8px;
    padding: 0 10px 4px;
    scroll-padding-left: 10px;
    scrollbar-width: none;
  }
  .ua-posts-frame .actu-list::-webkit-scrollbar,
  .actu-list::-webkit-scrollbar{ display: none; }
  .actu-card{
    flex: 0 0 calc((100% - (var(--actu-gap) * 2.1)) / 3.1);
    max-width: none;
  }
}

/* HOME — Sous-catégories des suggestions */
.nearby-subcategory-tabs{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-start;
  align-self: flex-start;
  width: 100%;
  max-width: 560px;
  overflow-x: visible;
  padding: 2px 2px 6px;
  margin-top: -2px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: auto;
}
.nearby-subcategory-tabs::-webkit-scrollbar{ display: none; }
.nearby-subcategory-btn{
  appearance: none;
  border: 0;
  background: transparent;
  color: rgba(15,23,42,.70);
  border-radius: 12px;
  width: 42px;
  height: 42px;
  min-width: 42px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: none;
  cursor: pointer;
  position: relative;
  transition: transform .16s ease, color .16s ease, background .16s ease;
}
.nearby-subcategory-btn::after{
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 2px;
  height: 3px;
  border-radius: 999px;
  background: currentColor;
  transform: scaleX(0);
  opacity: 0;
  transition: transform .2s ease, opacity .16s ease;
}
.nearby-subcategory-btn:hover{
  transform: translateY(-1px);
  color: var(--ua-active, #2096fa);
}
.nearby-subcategory-btn:focus-visible{
  outline: 3px solid var(--ua-active-focus, rgba(32, 150, 250, 0.24));
  outline-offset: 2px;
}
.nearby-subcategory-btn.is-active{
  color: var(--ua-active, #2096fa);
}
.nearby-subcategory-btn.is-active::after{
  transform: scaleX(1);
  opacity: 1;
}
.nearby-suggestions.is-search-suggestions .nearby-subcategory-btn.is-active{
  color: rgba(15,23,42,.70);
}
.nearby-suggestions.is-search-suggestions .nearby-subcategory-btn.is-active::after{
  transform: scaleX(0);
  opacity: 0;
}
.nearby-subcategory-btn svg{
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  overflow: visible;
}

html.theme-dark .nearby-subcategory-btn{
  background: transparent;
  color: rgba(255,255,255,.76);
  box-shadow: none;
}
html.theme-dark .nearby-subcategory-btn:hover,
html.theme-dark .nearby-subcategory-btn.is-active{
  color: var(--ua-active, #2096fa);
}

@media (max-width: 640px){
  .nearby-subcategory-tabs{
    display: grid;
    grid-template-columns: repeat(9, minmax(0, 1fr));
    flex-wrap: nowrap;
    gap: clamp(2px, 1vw, 5px);
    max-width: none;
    align-self: stretch;
    overflow: visible;
    padding: 2px 0 5px;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    -webkit-overflow-scrolling: auto;
  }
  .nearby-subcategory-btn{
    width: 100%;
    min-width: 0;
    height: clamp(32px, 10vw, 40px);
  }
  .nearby-subcategory-btn::after{
    left: 20%;
    right: 20%;
    bottom: 0;
    height: 2px;
  }
  .nearby-subcategory-btn svg{
    width: clamp(21px, 7vw, 27px);
    height: clamp(21px, 7vw, 27px);
  }
}


/* ============================================================
   RESULT/SUGGESTION CARDS — structured business header
   ============================================================ */
.page-home .result-head{
  position: relative;
  z-index: 4;
  padding: 8px 10px 0;
  color: #fff;
  text-shadow: 0 2px 18px rgba(0,0,0,.55);
}
.page-home .result-head-top{
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
}
.page-home .result-identity-text{
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
  overflow: visible;
  display: flex;
  align-items: flex-start;
  gap: 7px;
  white-space: normal;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.1;
}
.page-home .result-category-label,
.page-home .result-category-label:visited,
.page-home .result-business-name,
.page-home .result-separator{
  color: #fff;
}
.page-home .result-category-label{
  text-decoration: none;
}
.page-home .result-category-label:hover{
  text-decoration: underline;
}
.page-home .result-business-name{
  overflow-wrap: anywhere;
}
.page-home .result-fav.is-top{
  position: static;
  flex: 0 0 auto;
  align-self: flex-start;
  margin-left: auto;
}
.page-home .result-meta{
  position: relative;
  z-index: 4;
  margin-top: 2px;
  display: flex;
  align-items: center;
  min-width: 0;
  font-weight: 800;
  line-height: 1.2;
}
.page-home .result-loc{
  display: inline-flex;
  align-items: center;
  gap: 0;
  max-width: 100%;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.page-home .result-city{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: .95;
  font-size: 14px;
}
.page-home .result-separator{
  flex: 0 0 auto;
  opacity: .9;
}
.page-home .result-dist{
  flex: 0 0 auto;
  font-size: 14px;
  font-weight: 800;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  white-space: nowrap;
}
.page-home .result-open-badge{
  flex: 0 0 auto;
  margin-left: 0;
}
@media (max-width: 768px){
  .page-home .result-identity-text{ font-size: 18px; }
}

/* ============================================================
   RESULT/SUGGESTION CARD HEADER — visual hierarchy refinement
   ============================================================ */
.page-home .result-head-top{
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.page-home .result-identity-text{
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -.01em;
  overflow: visible;
  display: flex;
  align-items: flex-start;
  gap: 7px;
  white-space: normal;
}

.page-home .result-category-label,
.page-home .result-category-label:visited{
  display: inline-flex;
  flex: 0 1 auto;
  max-width: min(46%, 150px);
  margin: 0;
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.28);
  background: rgba(255,255,255,.14);
  color: rgba(255,255,255,.96);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: .01em;
  text-decoration: none;
  vertical-align: .18em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-shadow: none;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.page-home .result-category-label:hover{
  background: rgba(255,255,255,.2);
  border-color: rgba(15,23,42,.4);
  text-decoration: none;
}

.page-home .result-business-name{
  flex: 1 1 auto;
  min-width: 0;
  color: #fff;
  font-size: 1em;
  font-weight: 900;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  overflow-wrap: anywhere;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.page-home .result-separator{
  display: none;
}

.page-home .result-fav.is-top{
  position: static;
  flex: 0 0 auto;
  align-self: flex-start;
  margin-left: auto;
  max-width: 72px;
  white-space: nowrap;
  color:#ffd60a;
}

.page-home .result-fav .follow-count-icon{
  width:18px;
  height:18px;
  flex:0 0 auto;
  color:#ffd60a;
  filter: drop-shadow(0 0 1px rgba(255,230,0,.34)) drop-shadow(0 1px 1px rgba(0,0,0,.55));
}
.page-home .result-fav .follow-count-icon path{
  stroke:rgba(0,0,0,.58);
  stroke-width:1.15;
  stroke-linejoin:round;
  paint-order:stroke fill;
}
.page-home .result-fav .follow-count-icon .follow-count-star-shine{
  stroke:none;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.18));
}
.page-home .result-fav.is-top{
  -webkit-text-stroke:.35px rgba(0,0,0,.78);
  paint-order:stroke fill;
  text-shadow:0 1px 1px rgba(0,0,0,.55);
}

.page-home .result-meta{
  margin-top: 7px;
  display: flex;
  align-items: flex-start;
  min-width: 0;
  font-weight: 600;
  line-height: 1.2;
}

.page-home .result-loc{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 8px;
  max-width: 100%;
  min-width: 0;
  white-space: normal;
  overflow: visible;
}

.page-home .result-meta-chip{
  display: inline-flex;
  align-items: center;
  min-width: 0;
  max-width: 100%;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.18);
  color: rgba(255,255,255,.88);
  font-size: 12.5px;
  font-weight: 650;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-shadow: none;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.page-home .result-meta-chip:empty{
  display: none;
}

.page-home .result-city{
  flex: 0 1 auto;
  opacity: 1;
}

.page-home .result-dist{
  flex: 0 0 auto;
  padding: 4px 8px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(0,0,0,.18);
  color: rgba(255,255,255,.86);
  font-size: 12.5px;
  font-weight: 650;
  line-height: 1;
}

.page-home .result-open-badge{
  flex: 0 0 auto;
  padding: 4px 9px;
  font-size: 12px;
  font-weight: 800;
  text-shadow: none;
}

@media (max-width: 768px){
  .page-home .result-head{
    padding: 9px 10px 0;
  }

  .page-home .result-identity-text{
    font-size: 18px;
    line-height: 1.13;
  }

  .page-home .result-category-label,
  .page-home .result-category-label:visited{
    max-width: min(48%, 132px);
    padding: 3px 8px;
    font-size: 10.5px;
  }

  .page-home .result-meta-chip,
  .page-home .result-dist{
    max-width: 100%;
    font-size: 12px;
  }
}

/* ============================================================
   RESULT/SUGGESTION CARD HEADER — two-line identity layout
   - first line, left: business name
   - second line, left: category
   - right: favorites badge fixed to the card header edge
   ============================================================ */
.page-home .result-head-top{
  --result-fav-zone: 58px;
  --result-head-badge-height: 23px;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--result-fav-zone);
  grid-template-rows: auto auto;
  align-items: start;
  column-gap: 8px;
  row-gap: 2px;
  width: 100%;
  min-width: 0;
}

.page-home .result-head-top > .result-category-label,
.page-home .result-head-top > .result-category-label:visited{
  grid-column: 1;
  grid-row: 2;
  justify-self: start;
  align-items: center;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  box-sizing: border-box;
  height: var(--result-head-badge-height);
  position: relative;
  z-index: 2;
}

.page-home .result-category-label-spacer{
  grid-column: 1;
  grid-row: 2;
  min-width: 0;
}

.page-home .result-head-top > .result-business-name{
  grid-column: 1;
  grid-row: 1;
  justify-self: stretch;
  align-self: start;
  min-width: 0;
  max-width: 100%;
  text-align: left;
  overflow: hidden;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  text-overflow: ellipsis;
}

.page-home .result-head-top > .result-fav-spacer{
  grid-column: 3;
  width: var(--result-fav-zone);
  min-height: 1px;
}

.page-home .result-head-top > .result-fav.is-top{
  position: absolute;
  top: 0;
  right: 0;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  max-width: var(--result-fav-zone);
  min-width: 48px;
  box-sizing: border-box;
  height: var(--result-head-badge-height);
  margin-left: 0;
  padding: 4px 10px;
  border-radius: 999px;
  color: #ffd60a;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: .01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-shadow: none;
}

/* Cœur UA partagé par les cartes d’accueil et les pages d’activité. */
.ua-like-button .like-heart-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  line-height:1;
  opacity:1;
  color:var(--ua-active, #2096fa);
}

.page-home .result-fav .result-fav-count{
  color:rgba(255,255,255,.96);
  font-size:10px;
  line-height:1;
  -webkit-text-stroke:0;
  text-shadow:0 1px 1px rgba(0,0,0,.42);
}

@media (max-width: 768px){
  .page-home .result-head-top{
    --result-fav-zone: 52px;
    grid-template-columns: minmax(0, 1fr) var(--result-fav-zone);
    column-gap: 6px;
  }

  .page-home .result-head-top > .result-category-label,
  .page-home .result-head-top > .result-category-label:visited{
    max-width: 100%;
  }

  .page-home .result-head-top > .result-fav.is-top{
    min-width: 46px;
    padding: 4px 9px;
    font-size: 11px;
  }

  .page-home .result-fav .follow-count-icon{
    width:16px;
    height:16px;
  }
}

/* ============================================================
   RESULT/SUGGESTION CARDS — latest active publication line
   ============================================================ */
.post-title-link{
  display:inline-flex;
  align-items:flex-start;
  gap:.42em;
  min-width:0;
  cursor:pointer;
}

/* Rapproche le bloc offres de la phrase d’actualité sur les fiches d’accueil. */
.page-home .result-card:has(.result-post-lines):has(.result-dock) .result-dock{
  bottom:24px;
}
@media (max-width: 768px){
  .page-home .result-card:has(.result-post-lines):has(.result-dock) .result-dock{
    bottom:22px;
  }
}

.post-title-icon{
  flex:0 0 auto;
  width:1.15em;
  height:1.15em;
  margin-top:.03em;
  color:currentColor;
}
.page-home .result-post-lines{
  display:flex;
  margin-top:5px;
  max-width:min(100%, 420px);
}
.page-home .result-post-line,
.page-home .result-post-line:visited{
  min-width:0;
  max-width:100%;
  padding:0;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.86);
  text-decoration:none;
  font-size:13.25px;
  font-weight:700;
  line-height:1.22;
  text-shadow:0 1px 8px rgba(0,0,0,.34);
  opacity:.96;
}
.page-home .result-post-line:hover,
.page-home .result-post-line:focus-visible{
  color:rgba(255,255,255,.98);
  text-decoration:underline;
  text-underline-offset:3px;
  background:transparent;
  transform:none;
}
.page-home .result-post-line:focus-visible{
  outline:2px solid currentColor;
  outline-offset:3px;
  border-radius:6px;
}
.page-home .result-post-title{
  display:-webkit-box;
  min-width:0;
  overflow:hidden;
  -webkit-line-clamp:2;
  line-clamp:2;
  -webkit-box-orient:vertical;
}
@media (max-width: 768px){
  .page-home .result-post-lines{
    max-width:100%;
    margin-top:4px;
  }
  .page-home .result-post-line,
  .page-home .result-post-line:visited{
    max-width:100%;
    font-size:12.75px;
  }
}

/* HOME — Découverte compacte */
.page-home .hero-discovery{
  padding: 12px 0 6px;
}
.page-home .hero-discovery .hero-inner{
  gap: 8px;
}
.page-home .hero-discovery .hero-title{
  margin: 0 0 4px;
  font-size: clamp(18px, 2.8vw, 29px);
  line-height: 1.02;
  letter-spacing: -.035em;
  font-weight: 600;
  opacity: .96;
}
.page-home .hero-discovery .hero-subtitle--local{
  display: block;
  margin: 0;
  max-width: none;
  color: var(--text-muted);
  font-size: clamp(13px, 1.5vw, 15px);
  font-weight: 700;
  line-height: 1.35;
  opacity: .78;
}
.page-home .nearby-suggestions{
  margin-top: 0;
}
.page-home .nearby-suggestions-head{
  gap: 6px;
  margin-bottom: 8px;
}
.page-home .nearby-mode-tabs{
  gap: clamp(8px, 2.4vw, 22px);
}
.page-home .nearby-mode-btn{
  padding: 3px 4px 8px;
  min-height: 30px;
  font-size: 13px;
}
.page-home .nearby-subcategory-tabs{
  margin-top: -4px;
  padding-bottom: 4px;
  gap: 7px;
}

@media (max-width: 768px){
  .page-home .hero-discovery{
    padding: 8px 0 4px;
  }
  .page-home .hero-discovery .hero-title{
    margin: 0 0 3px;
    font-size: clamp(20px, 5.6vw, 24px);
  }
  .page-home .hero-discovery .hero-subtitle--local{
    font-size: 13px;
  }
}

@media (max-width: 640px){
  .page-home .nearby-suggestions-head{
    gap: 6px;
    margin-bottom: 7px;
  }
  .page-home .nearby-mode-tabs{
    width: 100%;
    max-width: 100%;
    gap: clamp(3px, 1.35vw, 8px);
  }
  .page-home .nearby-mode-btn{
    min-height: 28px;
    padding: 2px 0 7px;
    gap: clamp(1px, .5vw, 3px);
    font-size: clamp(9px, 2.9vw, 11px);
    white-space: nowrap;
  }
  .page-home .nearby-mode-btn svg{
    width: 1.05em;
    height: 1.05em;
  }
  .page-home .nearby-subcategory-tabs{
    margin-top: -3px;
    padding-bottom: 3px;
    gap: clamp(2px, 1vw, 5px);
  }
}

@media (max-width: 340px){
  .page-home .nearby-mode-btn{
    padding-inline: 0;
    gap: 1px;
    font-size: clamp(8.2px, 2.75vw, 9px);
  }
  .page-home .nearby-mode-btn svg{
    width: 1em;
    height: 1em;
  }
}


/* ============================================================
   SEARCH UI — aliases legacy vers la classe commune
   ============================================================ */
.ua-hs-input,
.ua-hs-filters,
.ua-hs-text,
.ua-hs-select,
.ua-hs-radius-free .ua-hs-text,
.offer-search input[type="text"],
.offer-search select,
.admin-search input[type="search"],
.search-input,
.search-bar input,
.hero-search input,
.filters-toggle{
  box-sizing: border-box;
  height: var(--ua-search-control-h);
  min-height: var(--ua-search-control-h);
  border-radius: var(--ua-search-radius);
  border: .8px solid var(--ua-search-border);
  background: var(--card);
  color: var(--text);
  padding: var(--ua-search-control-py) var(--ua-search-control-px);
  font-size: var(--ua-search-font-size);
  line-height: 1.15;
  box-shadow: none;
}

.ua-hs-panel .ua-hs-select{
  appearance: none;
  -webkit-appearance: none;
  height: var(--ua-search-control-h);
  min-height: var(--ua-search-control-h);
  padding-block: 0;
  padding-inline: var(--ua-search-control-px) calc(var(--ua-search-control-px) + 18px);
  line-height: var(--ua-search-control-h);
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
    linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: calc(100% - 14px) 50%, calc(100% - 9px) 50%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  text-overflow: ellipsis;
}

.filters-toggle{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding-inline: var(--ua-search-filter-px);
  font-size: var(--ua-search-filter-font-size);
  font-weight: 700;
}

/* ============================================================
   UnAperçu — base visuelle partagée comptes/dashboard
   ============================================================ */
.form-card{
  width: min(920px, 100%);
  margin: 0 auto;
  padding: clamp(14px, 2.4vw, 22px);
  border: 1px solid rgba(46,46,46,.14);
  border-radius: 22px;
  background: color-mix(in srgb, var(--card) 94%, transparent);
  box-shadow: 0 16px 42px rgba(15,23,42,.08);
}
.form-title{
  margin: 0;
  font-size: clamp(1.65rem, 2.5vw, 2.25rem);
  line-height: 1.06;
  letter-spacing: -.03em;
  font-weight: 950;
  color: var(--text);
}
.form-subtitle{
  margin: 6px 0 14px;
  max-width: 72ch;
  color: var(--text-muted);
  font-weight: 650;
  line-height: 1.45;
}
.form-group{ margin: 0 0 10px; }
.form-group label{
  display: block;
  margin: 0 0 5px;
  font-size: .82rem;
  font-weight: 850;
  color: var(--text);
}
.form-group input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
.form-group select,
.form-group textarea{
  min-height: 38px;
  border-radius: 12px;
  border: 1px solid rgba(46,46,46,.14);
  background: var(--field-bg, var(--card));
  box-shadow: none;
}
.form-group textarea{ min-height: 86px; line-height: 1.35; resize: vertical; }
.page-dashboard input[type="file"]{
  width: 100%;
  min-height: 36px;
  padding: 4px 6px;
  border: 1px dashed color-mix(in srgb, var(--ua-active, #2096fa) 34%, var(--border));
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(32,150,250,.10), rgba(255,255,255,.62)),
    var(--dash-bg-muted, rgba(17,24,39,.035));
  color: var(--text-muted, #6b7280);
  font: inherit;
  font-size: .9rem;
  font-weight: 650;
  cursor: pointer;
}
.page-dashboard input[type="file"]::file-selector-button{
  min-height: 26px;
  margin: 0 8px 0 0;
  padding: 4px 9px;
  border: 1px solid rgba(32,150,250,.32);
  border-radius: 999px;
  background: linear-gradient(135deg, var(--ua-active, #2096fa), #54b8ff);
  color: #fff;
  font: inherit;
  font-size: .88rem;
  font-weight: 760;
  letter-spacing: 0;
  box-shadow: 0 5px 12px rgba(32,150,250,.16);
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.page-dashboard input[type="file"]:hover::file-selector-button{
  transform: translateY(-1px);
  filter: saturate(1.08);
  box-shadow: 0 7px 16px rgba(32,150,250,.20);
}
.page-dashboard input[type="file"]:disabled{
  cursor: not-allowed;
  opacity: .65;
}
.page-dashboard input[type="file"]:disabled::file-selector-button{
  background: linear-gradient(135deg, #94a3b8, #cbd5e1);
  border-color: rgba(148,163,184,.35);
  box-shadow: none;
  cursor: not-allowed;
}
.btn.btn-success{ background:#15803d; border-color:rgba(21,128,61,.55); color:#fff; }
.btn.btn-warning{ background:rgba(32,150,250,.10); border-color:rgba(32,150,250,.34); color:var(--ua-active, #2096fa); }
.btn.btn-danger{ background:#fff5f5; border-color:rgba(185,28,28,.26); color:#b91c1c; }
.btn.small{ min-height:32px; padding:7px 10px; font-size:.82rem; }
.page-dashboard .products-back{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--ua-text-muted);
  font-size:.9rem;
  font-weight:800;
  text-decoration: underline;
  text-decoration-color: var(--ua-active, #2096fa);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  text-decoration-skip-ink: none;
}
.page-dashboard .products-back:hover,
.page-dashboard .products-back:focus-visible{ color:var(--ua-text); text-decoration-thickness: 3px; }

/* Navigation et notifications : mêmes codes visuels que le dashboard. */
.site-header .nav-link,
.site-header .mnav-link,
.notif-btn,
.notif-mark-all{
  border-radius: 14px;
  transition: background .16s ease, color .16s ease, border-color .16s ease, transform .16s ease;
}
.site-header .nav-link:hover,
.site-header .nav-link:focus-visible,
.site-header .mnav-link:hover,
.site-header .mnav-link:focus-visible{
  transform: translateY(-1px);
  background: var(--accent-soft);
  color: var(--text);
}
.site-header .nav-link.is-active,
.site-header .mnav-link.is-active,
.site-header .nav-link[aria-current="page"],
.site-header .mnav-link[aria-current="page"]{
  background: var(--accent);
  color: #fff;
}
.notif-menu,
.mnav-notifs{
  border-radius: 18px;
  border-color: rgba(46,46,46,.14);
  box-shadow: 0 16px 42px rgba(15,23,42,.10);
}
.notif-item,
.mnav-notif-item{
  border-radius: 14px;
  margin: 4px 8px;
  transition: background .16s ease, transform .16s ease;
}
.notif-item:hover,
.mnav-notif-item:hover{
  transform: translateY(-1px);
  background: var(--accent-soft);
}
.notif-item.is-unread,
.mnav-notif-item.unread{
  background: rgba(245,158,11,.10);
  border-left: 3px solid var(--biz-accent, #f59e0b);
}

@media (max-width: 640px){
  .form-card{ padding: 14px; border-radius: 18px; }
  .form-title{ font-size: 1.55rem; }
}
html.theme-dark .form-card{
  background: color-mix(in srgb, var(--card) 92%, #000);
  border-color: rgba(148,163,184,.20);
}
html.theme-dark .page-dashboard .products-back{ color:rgba(248,250,252,.62); }
html.theme-dark .page-dashboard .products-back:hover,
html.theme-dark .page-dashboard .products-back:focus-visible{ color:#f8fafc; }
html.theme-dark body.page-dashboard input[type="file"]{
  border-color: rgba(56,189,248,.34);
  background:
    linear-gradient(135deg, rgba(56,189,248,.16), rgba(30,41,59,.78)),
    rgba(15,23,42,.92);
  color: rgba(226,232,240,.82);
}
html.theme-dark body.page-dashboard input[type="file"]::file-selector-button{
  border-color: rgba(125,211,252,.42);
  background: linear-gradient(135deg, #0ea5e9, #38bdf8);
  color: #06111f;
  box-shadow: 0 10px 22px rgba(14,165,233,.20);
}
html.theme-dark .btn.btn-warning{ background:rgba(32,150,250,.18); color:#7dd3fc; }
html.theme-dark .btn.btn-danger{ background:rgba(185,28,28,.14); color:#fecaca; }
.message-card{
  padding: 14px 0;
  border-bottom: 1px solid rgba(46,46,46,.14);
}
.message-card:last-of-type{ border-bottom: 0; }
.message-card p{ margin: 0 0 10px; line-height: 1.45; }
.message-card small{ color: var(--text-muted); font-weight: 650; }
html.theme-dark .message-card{ border-bottom-color: rgba(148,163,184,.20); }

/* Paiements acceptés — bouton carte bancaire unique */
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.payment-icons{
  display:inline-flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:7px;
  min-width:0;
  vertical-align:middle;
}
.payment-icon{
  appearance:none;
  -webkit-appearance:none;
  font:inherit;
  line-height:1;
  cursor:help;
  position:relative;
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  color:#fff;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:0;
  margin:0;
  filter:drop-shadow(0 1px 2px rgba(15,23,42,.18));
}
.payment-icon:hover,
.payment-icon:focus,
.payment-icon:focus-visible{
  outline:none;
  background:transparent;
  border:0;
  box-shadow:none;
}
.payment-icon:focus-visible{
  filter:drop-shadow(0 0 0.35rem rgba(180,133,30,.30)) drop-shadow(0 1px 2px rgba(15,23,42,.22));
}
.payment-card-svg{
  width:100%;
  height:100%;
  display:block;
  overflow:visible;
  fill:none;
  stroke:none;
  --payment-card-ink:#1f2937;
  --payment-card-border:#374151;
  --payment-card-soft:#f8fafc;
  --payment-card-muted:#d1d5db;
  --payment-card-line:#64748b;
  --payment-card-gold:#b8860b;
  --payment-card-gold-light:#f7d878;
}
.payment-card-shadow{
  fill:rgba(15,23,42,.14);
}
.payment-card-body{
  fill:var(--payment-card-soft);
  stroke:var(--payment-card-border);
  stroke-width:4;
}
.payment-card-shine{
  fill:rgba(255,255,255,.70);
}
.payment-card-stripe{
  fill:var(--payment-card-muted);
}
.payment-card-chip{
  fill:#ffffff;
  stroke:var(--payment-card-border);
  stroke-width:2.1;
}
.payment-card-chip-line{
  fill:none;
  stroke:var(--payment-card-line);
  stroke-width:1.25;
  stroke-linecap:round;
}
.payment-card-line{
  fill:none;
  stroke:var(--payment-card-line);
  stroke-width:2.6;
  stroke-linecap:round;
  opacity:.72;
}
.payment-card-line-short{
  opacity:.48;
}
.payment-card-euro{
  fill:var(--payment-card-gold);
  stroke:var(--payment-card-gold-light);
  stroke-width:1.35;
  paint-order:stroke fill;
  font-family:Arial, Helvetica, sans-serif;
  font-size:24px;
  font-weight:900;
  dominant-baseline:central;
}

.payment-tooltip-bubble{
  position:fixed;
  z-index:99999;
  max-width:min(230px, calc(100vw - 24px));
  padding:7px 10px;
  border-radius:999px;
  background:rgba(17,24,39,.94);
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 10px 28px rgba(15,23,42,.22);
  font-size:.82rem;
  font-weight:850;
  line-height:1.15;
  text-align:center;
  pointer-events:none;
  white-space:normal;
  opacity:0;
  transform:translate(-50%, calc(-100% - 2px)) scale(.98);
  transition:opacity .16s ease, transform .16s ease;
}
.payment-tooltip-bubble.is-visible{
  opacity:1;
  transform:translate(-50%, calc(-100% - 8px)) scale(1);
}
.payment-tooltip-bubble::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-5px;
  width:10px;
  height:10px;
  background:inherit;
  border-right:1px solid rgba(255,255,255,.16);
  border-bottom:1px solid rgba(255,255,255,.16);
  transform:translateX(-50%) rotate(45deg);
}
html.theme-dark .payment-tooltip-bubble{
  background:var(--ua-surface-raised);
  color:var(--ua-text);
  border-color:rgba(15,23,42,.12);
  box-shadow:0 10px 30px rgba(0,0,0,.38);
}
.result-payment-line{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:0;
  max-width:100%;
  overflow:hidden;
  vertical-align:middle;
}
.result-card .result-payment-line .payment-icon{
  width:25px;
  height:25px;
  color:rgba(255,255,255,.72);
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:0;
  text-shadow:none;
  filter:none;
}
.page-home .result-payment-line{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  box-sizing:border-box;
  min-width:0;
  height:22px;
  padding:0 6px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(0,0,0,.18);
  text-shadow:none;
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
.page-home .result-payment-line .payment-icon{
  width:20px;
  height:20px;
  margin:auto;
}
.business-payment-icons{
  margin-left:0;
  max-width:none;
  overflow:visible;
}
.business-payment-icons .payment-icon{
  width:25px;
  height:25px;
  color:rgba(255,255,255,.72);
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:0;
  text-shadow:none;
  filter:none;
}
.payment-checks{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.payment-check{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.1);
  background:rgba(255,255,255,.56);
  font-weight:800;
  font-size:.88rem;
  line-height:1.1;
  cursor:pointer;
}
.payment-check input{
  width:15px;
  height:15px;
  margin:0;
  flex:0 0 auto;
}
html.theme-dark .payment-check{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.14);
}
@media (max-width: 640px){
  .payment-icons{ gap:6px; }
  .payment-checks{ gap:6px; }
  .payment-check{ padding:7px 9px; font-size:.82rem; }
  .result-payment-line{ margin-top:0; gap:6px; }
  .result-card .result-payment-line .payment-icon{ width:24px; height:24px; }
  .page-home .result-card .result-payment-line .payment-icon{ width:20px; height:20px; margin:0; }
  .business-payment-icons{ max-width:none; }
  .business-payment-icons .payment-icon{ width:24px; height:24px; }
}

/* ============================================================
   Dark mode guard — keep professional content visually identical
   ============================================================
   Business and offer pages can contain brand-specific colors chosen by
   professionals. Dark mode may still affect the global header/footer, but the
   professional content area keeps the same light-mode design tokens so product
   cards, sections, borders, buttons and custom backgrounds are not recolored.
*/
html.theme-dark body.page-business main.page-main,
html.theme-dark body.page-offer main.page-main{
  --bg: #A3A3A3;
  --bg-soft: #999999;
  --card: #ffffff;
  --card-soft: #f3f5f9;
  --text: #2E2E2E;
  --text-muted: #7D7D7D;
  --accent: #333333;
  --accent-soft: rgba(17,24,39,.08);
  --border: #e5e7eb;
  --shadow: 0 18px 45px rgba(15,23,42,.08);
  --field-bg: #fff;
  --pill-bg: rgba(17,24,39,.08);
  --pill-text: var(--text);
  color: var(--text);
}

html.theme-dark body.page-business .business-page,
html.theme-dark body.page-offer .offer-page,
html.theme-dark body.page-offer .offer-page h1,
html.theme-dark body.page-offer .offer-page h2,
html.theme-dark body.page-offer .offer-page p{
  color: var(--text);
}

html.theme-dark body.page-business .business-page input:not([data-offers-search]),
html.theme-dark body.page-business .business-page select,
html.theme-dark body.page-business .business-page textarea,
html.theme-dark body.page-offer .offer-page input,
html.theme-dark body.page-offer .offer-page select,
html.theme-dark body.page-offer .offer-page textarea{
  background: var(--field-bg, var(--card));
  color: var(--text);
  border-color: var(--border);
  accent-color: var(--accent);
}

html.theme-dark body.page-business .business-page .btn,
html.theme-dark body.page-offer .offer-page .btn{
  background: var(--accent);
  color: #fff;
  border-color: var(--border);
}

html.theme-dark body.page-business .business-page .pill,
html.theme-dark body.page-business .business-page .card-pill,
html.theme-dark body.page-offer .offer-page .pill,
html.theme-dark body.page-offer .offer-page .card-pill{
  background: var(--pill-bg);
  color: var(--pill-text);
  border-color: var(--border);
}

html.theme-dark body.page-business .business-page .payment-icon,
html.theme-dark body.page-offer .offer-page .payment-icon{
  color:rgba(255,255,255,.72);
}

/* ============================================================
   PAGES ÉDITORIALES — prolongement soft de la DA dashboard
   ============================================================ */
.page-editorial{
  --editorial-blue: var(--ua-active, #2096fa);
  --editorial-line: rgba(32,150,250,.18);
  --editorial-wash: rgba(32,150,250,.055);
}
.page-editorial .page-main{
  padding-top: clamp(24px, 4vw, 48px);
  background:
    radial-gradient(circle at 18% 2%, rgba(32,150,250,.08), transparent 28rem),
    linear-gradient(180deg, rgba(255,255,255,.30), transparent 20rem);
}
.page-editorial .page-main > .container{
  width: min(1040px, calc(100% - 32px));
}
.page-editorial .form-card,
.page-editorial .legal-page{
  position: relative;
  overflow: hidden;
  border: 1px solid var(--editorial-line);
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(32,150,250,.025)),
    var(--card);
  box-shadow: 0 18px 48px rgba(15,23,42,.07);
}
.page-editorial .form-card::before,
.page-editorial .legal-page::before{
  content: "";
  display: block;
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--editorial-blue), #78c9ff 42%, transparent 82%);
}
.page-editorial .form-card{
  padding: clamp(20px, 3vw, 34px);
}
.page-editorial .form-title,
.page-editorial .legal-page > h1,
.page-editorial .legal-page > :first-child h1{
  color: var(--ua-text);
  font-weight: 850;
  letter-spacing: -.035em;
}
.page-editorial .form-subtitle{
  margin-top: 9px;
  color: #64748b;
  font-weight: 560;
  line-height: 1.6;
}
.page-editorial .form-group{ margin-bottom: 15px; }
.page-editorial .form-group label{ color:var(--ua-text-muted); font-weight:700; }
.page-editorial .form-group input:not([type="checkbox"]):not([type="radio"]),
.page-editorial .form-group select,
.page-editorial .form-group textarea,
.page-editorial .actualites-form input,
.page-editorial .actualites-form textarea{
  border-color: rgba(15,23,42,.13);
  background: rgba(255,255,255,.88);
  border-radius: 13px;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.page-editorial .form-group input:focus,
.page-editorial .form-group select:focus,
.page-editorial .form-group textarea:focus,
.page-editorial .actualites-form input:focus,
.page-editorial .actualites-form textarea:focus{
  border-color: rgba(32,150,250,.52);
  box-shadow: 0 0 0 4px rgba(32,150,250,.11);
  background:var(--ua-surface);
}
.page-editorial .page-main .btn{
  min-height: 40px;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid rgba(2,112,190,.72);
  border-radius: 13px;
  background:linear-gradient(180deg, #36a9ff 0%, var(--editorial-blue) 52%, #1487e8 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.46),
    inset 0 -1px 0 rgba(2,90,160,.18),
    0 7px 16px rgba(32,150,250,.18);
  font-weight: 750;
  text-shadow:0 1px 0 rgba(2,74,128,.22);
  transition:border-color .16s ease, box-shadow .16s ease, filter .16s ease, transform .16s ease;
}
.page-editorial .page-main .btn::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:1px 1px auto;
  height:46%;
  border-radius:11px 11px 8px 8px;
  background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0));
  pointer-events:none;
}
.page-editorial .page-main .btn:hover{
  border-color:rgba(2,92,164,.88);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    inset 0 -1px 0 rgba(2,74,128,.20),
    0 0 0 3px rgba(32,150,250,.10),
    0 10px 22px rgba(32,150,250,.23);
  filter:saturate(1.05) brightness(1.02);
  transform:translateY(-1px);
}
.page-editorial .page-main .btn:active{
  box-shadow:inset 0 2px 5px rgba(2,74,128,.22),0 3px 9px rgba(32,150,250,.15);
  transform:translateY(1px);
}
.page-editorial .page-main .btn:focus-visible,
.page-editorial .btn-google:focus-visible,
.page-editorial .toggle-btn:focus-visible,
.page-editorial .actualite-delete-btn:focus-visible,
.page-editorial-soutenir .sidebar-btn:focus-visible,
.page-editorial-soutenir .donation-modal__close:focus-visible{
  outline:3px solid rgba(32,150,250,.25);
  outline-offset:3px;
}
.page-editorial .page-main .btn.secondary,
.page-editorial .page-main .btn-ghost{
  border:1px solid rgba(51,65,85,.28);
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(241,245,249,.90));
  color:var(--ua-text-muted);
  box-shadow:inset 0 1px 0 #fff,0 4px 10px rgba(15,23,42,.07);
  text-shadow:none;
}
.page-editorial .page-main .btn.secondary:hover,
.page-editorial .page-main .btn-ghost:hover{
  border-color:rgba(32,150,250,.48);
  background:linear-gradient(180deg,#fff,#eef8ff);
  color:#075f9d;
  box-shadow:inset 0 1px 0 #fff,0 0 0 3px rgba(32,150,250,.08),0 7px 15px rgba(15,23,42,.09);
}
.page-editorial .page-main .btn:disabled,
.page-editorial .page-main .btn[aria-disabled="true"]{
  border-color:rgba(100,116,139,.24);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
  filter:saturate(.45);
  transform:none;
}
.page-editorial .form-error,
.page-editorial .form-success,
.page-editorial .form-info{
  margin: 14px 0;
  padding: 12px 14px;
  border-radius: 14px;
  line-height:1.45;
}
.page-editorial .form-error{ border:1px solid rgba(220,38,38,.22); background:#fff7f7; color:#991b1b; }
.page-editorial .form-success{ border:1px solid rgba(22,163,74,.22); background:#f2fbf5; color:#166534; }
.page-editorial .form-info{ border:1px solid var(--editorial-line); background:#f4faff; color:#1e3a5f; }

/* Connexion et création de compte : un panneau volontairement calme. */
.page-editorial-login .form-card,
.page-editorial-register .form-card,
.page-editorial-forgot-password .form-card,
.page-editorial-email-pending .form-card,
.page-editorial-account-edit .form-card,
.page-editorial-contact .form-card{
  max-width: 680px;
}
.page-editorial .btn-google{
  min-height:44px;
  border-radius:13px;
  border:1px solid rgba(51,65,85,.26);
  background:linear-gradient(180deg,#fff,#f8fafc);
  box-shadow:inset 0 1px 0 #fff,0 5px 13px rgba(15,23,42,.08);
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.page-editorial .btn-google:hover{
  border-color:rgba(32,150,250,.46);
  box-shadow:inset 0 1px 0 #fff,0 0 0 3px rgba(32,150,250,.08),0 8px 18px rgba(15,23,42,.10);
  transform:translateY(-1px);
}
.page-editorial .account-type__option{
  padding:13px 14px;
  border-color:rgba(15,23,42,.12);
  border-radius:14px;
  background:rgba(248,250,252,.82);
}
.page-editorial .account-type__option:has(input:checked){
  border-color:rgba(32,150,250,.46);
  background:rgba(32,150,250,.075);
}
.page-editorial .account-type__option:has(input:focus-visible){
  outline:3px solid rgba(32,150,250,.22);
  outline-offset:2px;
}

/* Documents longs : lecture structurée, sans effet de carte excessif. */
.page-editorial .legal-page{
  max-width: 900px;
  padding: clamp(22px, 4vw, 44px);
}
.page-editorial .legal-page h1{ margin:0 0 8px; font-size:clamp(1.8rem,3vw,2.5rem); line-height:1.08; }
.page-editorial .legal-page h2{
  margin: 30px 0 9px;
  padding-top: 18px;
  border-top: 1px solid rgba(15,23,42,.08);
  color:#172033;
  font-size:1.08rem;
  letter-spacing:-.01em;
}
.page-editorial .legal-page p,
.page-editorial .legal-page li{ color:var(--ua-text-muted); line-height:1.7; }
.page-editorial .legal-page ul{ padding-left:1.25rem; }
.page-editorial .legal-page a{ color:#087fce; text-decoration:underline; text-underline-offset:3px; }

/* Cartes de compte, actualités et tarifs alignées sur les modules dashboard. */
.page-editorial .card{
  border-color:rgba(15,23,42,.09);
  border-radius:18px;
  box-shadow:0 8px 22px rgba(15,23,42,.055);
}
.page-editorial .card:hover{ box-shadow:0 12px 28px rgba(15,23,42,.08); }
.page-editorial-actualites .actualites-page{ padding-top:0; }
.page-editorial-actualites .actualite-card{ border-left:1px solid var(--editorial-line); }
.page-editorial-actualites .actualite-card::after{
  content:"";
  position:absolute;
  inset:20px auto 20px 0;
  width:3px;
  border-radius:0 4px 4px 0;
  background:var(--editorial-blue);
}
.page-editorial-mon-compte .form-card{ max-width:960px; }

/* Mon compte : actions compactes, alignées et conformes à la DA UnAperçu. */
.page-editorial-mon-compte .account-panel{ max-width:900px; padding:clamp(18px,3vw,28px); }
.page-editorial-mon-compte .account-actions{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  justify-content:flex-start;
  gap:8px;
  margin:.6rem 0 0;
  overflow-x:auto;
  scrollbar-width:none;
}
.page-editorial-mon-compte .account-actions::-webkit-scrollbar{ display:none; }
.page-editorial-mon-compte.page-glass-buttons .page-main .account-actions .btn{
  display:inline-flex;
  flex:none;
  width:auto;
  max-width:max-content;
  box-sizing:border-box;
  min-height:36px;
  padding:7px 13px;
  border:1px solid rgba(2,112,190,.72);
  border-radius:13px;
  background:linear-gradient(180deg,#36a9ff 0%,var(--editorial-blue) 52%,#1487e8 100%);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.46),0 5px 13px rgba(32,150,250,.16);
  text-shadow:0 1px 0 rgba(2,74,128,.22);
  white-space:nowrap;
}
.page-editorial-mon-compte.page-glass-buttons .page-main .account-actions .btn.btn-ghost{
  border-color:rgba(32,150,250,.48);
  background:var(--ua-surface-raised);
  color:#075f9d;
  box-shadow:inset 0 1px 0 #fff,0 4px 10px rgba(15,23,42,.06);
  text-shadow:none;
}
.page-editorial-mon-compte.page-glass-buttons .page-main .account-actions .btn:hover{
  border-color:rgba(2,92,164,.88);
  background:linear-gradient(180deg,#48b1ff 0%,#2096fa 52%,#087fce 100%);
  color:#fff;
}
.page-editorial-mon-compte.page-glass-buttons .page-main .account-actions .btn.btn-ghost:hover{
  border-color:rgba(32,150,250,.65);
  background:#eef8ff;
  color:#075f9d;
}
.page-editorial-mon-compte .account-divider{ opacity:.2; margin:.85rem 0; }
.page-editorial-mon-compte .account-section-title{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 .55rem;
  font-size:1.16rem;
}
.page-editorial-mon-compte .account-section-title img{ width:25px; height:25px; flex:0 0 25px; }
.page-editorial-mon-compte .account-follow-grid,
.page-editorial-mon-compte .account-history-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:8px;
}
.page-editorial-mon-compte .account-follow-grid{ margin-bottom:.85rem; }
.page-editorial-mon-compte .account-follow-card{ padding:9px; text-decoration:none; }
.page-editorial-mon-compte .account-follow-card__content{ display:flex; gap:9px; align-items:center; }
.page-editorial-mon-compte .account-follow-card__image{
  width:46px;
  height:46px;
  flex:0 0 46px;
  object-fit:cover;
  border-radius:10px;
}
.page-editorial-mon-compte .account-follow-card__image--empty{ background:rgba(148,163,184,.14); }
.page-editorial-mon-compte .account-history-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 0 .55rem;
}
.page-editorial-mon-compte .account-history-heading .account-section-title{ margin:0; }
.page-editorial-mon-compte .account-history-heading form{ margin:0; }
.page-editorial-mon-compte .account-history-heading .btn{ white-space:nowrap; }
.page-editorial-mon-compte .account-history-card{ padding:10px 12px; }

@media (max-width:560px){
  .page-editorial-mon-compte .account-page{ padding-left:10px; padding-right:10px; }
  .page-editorial-mon-compte .account-panel{ padding:16px 14px; }
  .page-editorial-mon-compte .account-actions{
    width:100%;
    max-width:100%;
    gap:5px;
    overflow:hidden;
  }
  .page-editorial-mon-compte.page-glass-buttons .page-main .account-actions .btn{
    flex:none;
    width:auto;
    min-width:0;
    max-width:max-content;
    min-height:30px;
    padding:4px 7px;
    border-radius:10px;
    font-size:clamp(.67rem,3.2vw,.76rem);
    line-height:1.1;
  }
  .page-editorial-mon-compte .account-follow-grid,
  .page-editorial-mon-compte .account-history-grid{ grid-template-columns:1fr; }
  .page-editorial-mon-compte .account-history-heading{ align-items:flex-start; }
  .page-editorial-mon-compte .account-history-heading .btn{ padding:6px 9px; font-size:.78rem; }
}
.page-editorial-pricing .form-card{ max-width:980px; }
.page-editorial-pricing .pricing-grid{ gap:16px; }
.page-editorial-pricing .card-pro{ border-color:rgba(32,150,250,.35); box-shadow:0 12px 30px rgba(32,150,250,.09); }
.page-editorial.page-editorial-pricing .toggle-btn,
.page-editorial.page-editorial-actualites .actualite-edit-panel summary,
.page-editorial-actualites .actualite-delete-btn,
.page-editorial.page-editorial-soutenir .support-page .sidebar-btn,
.page-editorial.page-editorial-soutenir .donation-modal__close{
  border:1px solid rgba(51,65,85,.26);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 4px 10px rgba(15,23,42,.07);
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.page-editorial.page-editorial-pricing .toggle-btn:hover,
.page-editorial.page-editorial-actualites .actualite-edit-panel summary:hover,
.page-editorial.page-editorial-soutenir .support-page .sidebar-btn:hover,
.page-editorial.page-editorial-soutenir .donation-modal__close:hover{
  border-color:rgba(32,150,250,.48);
  box-shadow:inset 0 1px 0 #fff,0 0 0 3px rgba(32,150,250,.08),0 7px 15px rgba(15,23,42,.09);
  transform:translateY(-1px);
}
.page-editorial.page-editorial-pricing .toggle-btn.active{
  border-color:rgba(2,112,190,.70);
  background:rgba(32,150,250,.13);
  color:#075f9d;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 0 0 3px rgba(32,150,250,.11),0 6px 14px rgba(32,150,250,.16);
}
.page-editorial-actualites .actualite-delete-btn:hover{
  border-color:rgba(220,38,38,.42);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.60),0 0 0 3px rgba(239,68,68,.08),0 7px 15px rgba(127,29,29,.09);
  transform:translateY(-1px);
}
.page-editorial-soutenir .support-page{ max-width:1040px; padding-top:0; }
.page-editorial-soutenir .support-page .support-hero{ padding:0 0 18px; }
.page-editorial-soutenir .support-page .support-hero h1{
  font-size:clamp(1.8rem,3vw,2.35rem);
  letter-spacing:-.035em;
  color:var(--ua-text);
}
.page-editorial-soutenir .support-page .support-hero .muted{ color:var(--ua-text-muted); line-height:1.55; }
.page-editorial-soutenir .support-page .grid{ gap:16px; }
.page-editorial-soutenir .support-page .card{
  padding:clamp(16px,2vw,22px);
  border-color:var(--editorial-line);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(32,150,250,.025));
}
.page-editorial-soutenir .support-page .field input,
.page-editorial-soutenir .support-page .field textarea{ padding:10px 11px; border-radius:12px; }
.page-editorial-soutenir .support-page .chip{ min-height:40px; border-radius:12px; }
.page-editorial-soutenir .support-page .chip[data-active="1"]{ border-color:rgba(32,150,250,.52); background:rgba(32,150,250,.08); }
.page-editorial-infos .form-card > div{ color:var(--ua-text-muted); line-height:1.7; }
.page-editorial-infos .form-card h2{ color:#172033; letter-spacing:-.01em; }

html.theme-dark .page-editorial .page-main{
  background:radial-gradient(circle at 18% 2%, rgba(56,189,248,.09), transparent 28rem);
}
html.theme-dark .page-editorial .form-card,
html.theme-dark .page-editorial .legal-page{
  background:linear-gradient(145deg, rgba(15,23,42,.98), rgba(30,41,59,.96));
  border-color:rgba(125,211,252,.17);
}
html.theme-dark .page-editorial .form-title,
html.theme-dark .page-editorial .legal-page h1,
html.theme-dark .page-editorial .legal-page h2{ color:#f1f5f9; }
html.theme-dark .page-editorial .form-subtitle,
html.theme-dark .page-editorial .legal-page p,
html.theme-dark .page-editorial .legal-page li{ color:#aebdd0; }
html.theme-dark .page-editorial .form-group label{ color:#dbeafe; }
html.theme-dark .page-editorial .form-group input:not([type="checkbox"]):not([type="radio"]),
html.theme-dark .page-editorial .form-group select,
html.theme-dark .page-editorial .form-group textarea,
html.theme-dark .page-editorial .actualites-form input,
html.theme-dark .page-editorial .actualites-form textarea{ background:rgba(2,6,23,.48); border-color:rgba(148,163,184,.22); }
html.theme-dark .page-editorial .legal-page h2{ border-top-color:rgba(148,163,184,.16); }
html.theme-dark .page-editorial .page-main .btn.secondary,
html.theme-dark .page-editorial .page-main .btn-ghost{
  background:linear-gradient(180deg,rgba(51,65,85,.82),rgba(30,41,59,.92));
  color:#dbeafe;
  border-color:rgba(148,163,184,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 5px 12px rgba(0,0,0,.20);
}
html.theme-dark .page-editorial .btn-google{ border-color:rgba(148,163,184,.30); box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 5px 12px rgba(0,0,0,.20); }
html.theme-dark .page-editorial .account-type__option{ background:rgba(255,255,255,.04); border-color:rgba(148,163,184,.20); }
html.theme-dark .page-editorial .account-type__option:has(input:checked){ background:rgba(32,150,250,.14); border-color:rgba(32,150,250,.58); }
html.theme-dark .page-editorial-soutenir .support-page .support-hero h1,
html.theme-dark .page-editorial-infos .form-card h2{ color:#f1f5f9; }
html.theme-dark .page-editorial-soutenir .support-page .card{ background:linear-gradient(145deg,rgba(15,23,42,.98),rgba(30,41,59,.96)); }
html.theme-dark .page-editorial-infos .form-card > div{ color:#aebdd0; }

@media (max-width:640px){
  .page-editorial .page-main{ padding-top:18px; }
  .page-editorial .page-main > .container{ width:min(100% - 20px, 1040px); }
  .page-editorial .form-card,
  .page-editorial .legal-page{ border-radius:19px; }
  .page-editorial .legal-page{ padding:20px 17px; }
  .page-editorial .legal-page h2{ margin-top:24px; }
  .page-editorial .page-main .btn{ width:100%; }
}

/* Page Actualités */
.actualites-page{
  padding-top: 28px;
  padding-bottom: 52px;
}

.actualites-hero,
.actualites-admin-card,
.actualite-card,
.actualites-empty{
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}

.actualites-kicker{
  margin: 0 0 8px;
  color: var(--muted);
  font-size: .86rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.actualites-section-title{
  margin: 0 0 8px;
  font-size: 1.15rem;
}

.actualites-admin-card{
  margin-top: 18px;
}

.actualites-form{
  display: grid;
  gap: 14px;
  margin-top: 16px;
}

.actualites-form label{
  display: grid;
  gap: 7px;
  color: var(--text);
  font-weight: 800;
}

.actualites-form input,
.actualites-form textarea{
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--card);
  color: var(--text);
  font: inherit;
  padding: 12px 14px;
  outline: none;
}

.actualites-form textarea{
  resize: vertical;
  min-height: 120px;
}

.actualites-list{
  display: grid;
  gap: 16px;
  margin-top: 18px;
}

.actualite-card{
  border-left: 5px solid var(--accent);
}

.actualite-title{
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.35;
}

.actualite-title strong{
  margin-right: 6px;
}

.actualite-description{
  margin: 12px 0 0;
  color: var(--muted);
  line-height: 1.65;
}

.actualites-empty{
  color: var(--muted);
  text-align: center;
}

.actualites-alert{
  border-radius: 14px;
  margin: 14px 0;
  padding: 12px 14px;
  font-weight: 800;
}

.actualites-alert-error{
  background: rgba(239, 68, 68, .12);
  border: 1px solid rgba(239, 68, 68, .28);
  color: #b91c1c;
}

.actualites-alert-success{
  background: rgba(34, 197, 94, .12);
  border: 1px solid rgba(34, 197, 94, .28);
  color: #15803d;
}

.actualite-admin-actions{
  align-items: flex-start;
  border-top: 1px solid var(--border);
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
  padding-top: 14px;
}

.actualite-edit-panel{
  flex: 1 1 320px;
}

.actualite-edit-panel summary,
.actualite-delete-btn{
  border: 1px solid var(--border);
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-weight: 900;
  padding: 9px 13px;
}

.actualite-edit-panel summary{
  background: var(--accent-soft);
  color: var(--text);
  width: fit-content;
}

.actualites-edit-form{
  margin-top: 12px;
}

.actualite-delete-btn{
  background: rgba(239, 68, 68, .12);
  color: #b91c1c;
}

.actualite-delete-btn:hover,
.actualite-edit-panel summary:hover{
  filter: brightness(.96);
}

/* ============================================================
   Header desktop compact
   ------------------------------------------------------------
   Les anciennes règles globales cumulaient un logo à 58px et un
   padding vertical de header de 12px. On compacte uniquement le
   desktop pour préserver la structure mobile dédiée (max-width:820px).
   ============================================================ */
@media (min-width: 821px){
  .site-header .header-inner{
    /* Le header desktop suit la trame pleine largeur, contrairement aux autres
       .container qui conservent leur largeur de lecture de 1100px. */
    width: calc(100% - 48px);
    max-width: none;
    margin-inline: auto;
    min-height: 56px;
    padding-top: 4px;
    padding-bottom: 4px;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    flex-wrap: nowrap;
  }

  .site-header .logo-img,
  html.theme-dark .site-header .logo-img{
    height: 48px !important;
    max-width: min(168px, 28vw) !important;
  }

  .site-header .nav,
  .site-header .nav-actions{
    align-items: center;
  }

  .site-header .nav{
    /* Tout l'espace restant sépare la recherche des actions, sans marge fixe. */
    flex: 0 1 auto;
    margin-left: auto;
    justify-content: flex-end;
    min-width: 0;
  }

  .ua-header-search{
    flex: 0 1 350px;
    max-width: 420px;
    min-width: 220px;
  }

  .site-header .nav-link,
  .site-header .nav a{
    padding-top: 5px;
    padding-bottom: 5px;
    line-height: 1.15;
  }

  .site-header .nav-user{
    padding-top: 5px;
    padding-bottom: 5px;
    line-height: 1.15;
  }

  .site-header .nav .btn,
  .site-header .nav .btn.small,
  .site-header .nav button,
  .site-header .nav input[type="submit"]{
    min-height: 32px;
    padding-top: 5px;
    padding-bottom: 5px;
    line-height: 1.15;
  }

  .ua-header-search{ align-items: center; }
}

/* =========================================
   HOME PRODUCT DOCK — miniatures + compteur homogènes
   ========================================= */
.page-home .dock-thumbs-row{
  --ua-dock-thumb-size: 42px;
  --ua-dock-thumb-gap: 8px;
  gap: var(--ua-dock-thumb-gap);
  align-items: center;
}
.page-home .dock-thumbs-row .dock-thumbs{
  flex: 0 1 calc((var(--ua-dock-thumb-size) * 2) + var(--ua-dock-thumb-gap));
  max-width: calc((var(--ua-dock-thumb-size) * 2) + var(--ua-dock-thumb-gap));
  gap: var(--ua-dock-thumb-gap);
  align-items: center;
  padding-bottom: 0;
}
.page-home .dock-thumbs-row .dock-thumb,
.page-home .dock-thumbs-row .dock-thumb img,
.page-home .dock-all-offers-plus,
.page-business .dock-thumbs-row .dock-thumb,
.page-business .dock-thumbs-row .dock-thumb img,
.page-business .dock-all-offers-plus{
  width: var(--ua-dock-thumb-size);
  height: var(--ua-dock-thumb-size);
  border-radius: 12px;
}
.page-home .dock-thumbs-row .dock-thumb{
  flex: 0 0 var(--ua-dock-thumb-size);
}
.page-home .dock-all-offers-plus,
.page-business .dock-all-offers-plus{
  position: relative;
  display: grid;
  place-items: center;
  min-width: var(--ua-dock-thumb-size);
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
  isolation: isolate;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  font-weight: 950;
  text-decoration: none;
  text-shadow: 0 1px 3px rgba(0,0,0,.85), 0 0 10px rgba(0,0,0,.55);
}
.page-home .dock-all-offers-plus::after,
.page-business .dock-all-offers-plus::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(135deg, rgba(0,0,0,.32), rgba(0,0,0,.52));
  box-shadow: inset 0 0 0 999px rgba(0,0,0,.10);
  pointer-events: none;
}
.page-home .dock-plus-mosaic,
.page-business .dock-plus-mosaic{
  position: absolute;
  inset: 0;
  z-index: 0;
  display: grid;
  gap: 1px;
  background: rgba(15,23,42,.42);
  filter: saturate(1.05);
}
.page-home .dock-plus-mosaic-cell,
.page-business .dock-plus-mosaic-cell{
  min-width: 0;
  min-height: 0;
  background-color: rgba(255,255,255,.14);
  background-position: center;
  background-size: cover;
}
.page-home .dock-plus-mosaic-count-1{ grid-template-columns: 1fr; }
.page-home .dock-plus-mosaic-count-2{ grid-template-columns: repeat(2, 1fr); }
.page-home .dock-plus-mosaic-count-3,
.page-home .dock-plus-mosaic-count-4{ grid-template-columns: repeat(2, 1fr); }
.page-home .dock-plus-mosaic-count-5,
.page-home .dock-plus-mosaic-count-6,
.page-home .dock-plus-mosaic-count-7,
.page-home .dock-plus-mosaic-count-8,
.page-home .dock-plus-mosaic-count-9{ grid-template-columns: repeat(3, 1fr); }
.page-home .dock-plus-label{
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  line-height: 1;
}

@media (max-width: 768px){
  .page-home .dock-thumbs-row{
    --ua-dock-thumb-gap: 7px;
  }
}

/* ============================================================
   RESULT CARDS — contenu de remplissage quand aucune offre n’est affichée
   ============================================================ */
.result-empty-dock{
  position:absolute;
  left:50%;
  top:50%;
  bottom:auto;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:max-content;
  max-width:calc(100% - 28px);
  transform:translate(-50%, -50%);
  color:#fff;
  text-shadow:0 2px 10px rgba(0,0,0,.38);
}
.result-empty-stat{
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#fff;
  text-decoration:none;
  white-space:nowrap;
}
.result-empty-stat:hover{ color:#fff; }
.result-empty-icon{
  flex:0 0 auto;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  color:#fff;
}
.result-empty-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.38));
}
.result-empty-number,
.result-empty-video-label{
  color:#fff;
  font-size:19px;
  font-weight:800;
  letter-spacing:-.01em;
  line-height:1;
}
.result-empty-video-label{
  max-width:none;
  font-size:13px;
  line-height:1;
  white-space:nowrap;
  overflow-wrap:normal;
}
.result-empty-separator{
  flex:0 0 auto;
  color:rgba(255,255,255,.72);
  font-size:25px;
  font-weight:300;
  line-height:1;
  text-shadow:0 2px 8px rgba(0,0,0,.36);
}
@media (max-width:768px){
  .result-empty-dock{ top:50%; bottom:auto; }
}
html.theme-dark .nearby-suggestions.is-search-suggestions .nearby-mode-btn.is-active{
  color: rgba(226,232,240,.72);
}
html.theme-dark .nearby-suggestions.is-search-suggestions .nearby-subcategory-btn.is-active{
  color: rgba(255,255,255,.76);
}

/* Home follow counter badge: clickable state mirrors the business page follow action. */
.page-home .result-head-top > button.result-fav.is-top{
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  font-family: inherit;
}

.page-home .result-head-top > button.result-fav.is-top:focus-visible{
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.page-home .result-head-top > button.result-fav.is-top:disabled{
  cursor: wait;
  opacity: .72;
}

/* ============================================================
   HEADER MOBILE — liens de navigation légers et tactiles
   ============================================================ */
@media (max-width: 820px){
  .site-header .mnav-inner{
    gap: 2px;
  }

  .site-header .mnav-link,
  .site-header .mnav-link:hover,
  .site-header .mnav-link:focus-visible,
  .site-header .mnav-link:active,
  .site-header .mnav-link.is-active,
  .site-header .mnav-link[aria-current="page"]{
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    box-shadow: none;
    color: var(--text);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.25;
    text-decoration: none;
    transform: none;
    transition: background-color .16s ease, color .16s ease;
  }

  .site-header .mnav-link:hover,
  .site-header .mnav-link:focus-visible,
  .site-header .mnav-link:active{
    background: rgba(32,150,250,.07);
    color: var(--ua-active, #2096fa);
  }

  .site-header .mnav-link:focus-visible{
    outline: 2px solid rgba(32,150,250,.55);
    outline-offset: -2px;
  }

  .site-header .header-inner > .mnav-btn{
    transition: color .16s ease;
  }

  .site-header .header-inner > .mnav-btn[aria-expanded="true"]{
    color: var(--ua-active, #2096fa);
  }
}

/* ============================================================
   HOME RESULTS — wide, cardless activity and offer stream
   Replaces the retired card overlay, thumbnail rail and +N mosaic.
   ============================================================ */
.page-home .cards-grid{display:block;width:100%;max-width:860px;margin-inline:auto}
.page-home .result-flow-item,.page-home .result-flow-item:has(.result-dock){display:flex;flex-direction:column;width:100%;height:auto;min-height:0;margin:0;padding:17px 0;border:0;border-bottom:1px solid #e7ebee;border-radius:0;background:var(--ua-surface);color:var(--ua-text);box-shadow:none;overflow:visible;text-shadow:none}
.page-home .result-flow-item::before,.page-home .result-flow-item::after{display:none!important}
.page-home .result-flow-item .result-identity{display:block;margin:0 0 8px;padding:0 4px;color:inherit}
.page-home .result-flow-item .result-head-top{display:flex!important;align-items:center;gap:7px;min-width:0}
.page-home .result-flow-item .result-business-name{min-width:0;overflow:hidden;color:#101820;font-size:20px;font-weight:900;line-height:1.12;letter-spacing:-.025em;text-overflow:ellipsis;text-shadow:none;white-space:nowrap}
.page-home .result-verified{display:inline-grid;place-items:center;width:17px;height:17px;flex:0 0 17px;border-radius:50%;background:#168fce;color:#fff;font-size:11px;font-weight:900}
.page-home .result-business-meta{display:flex;min-width:0;margin-top:3px;color:#697681;font-size:13px}
.page-home .result-business-description{display:-webkit-box;margin:4px 0 0;overflow:hidden;color:#687681;font-size:13px;font-weight:450;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}
.page-home .result-flow-item .result-category-label,.page-home .result-flow-item .result-category-label:visited{min-width:0;overflow:hidden;color:inherit;font-size:inherit;font-weight:600;text-decoration:none;text-overflow:ellipsis;text-shadow:none;white-space:nowrap}
.page-home .result-flow-item .result-fav.is-top{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;min-width:44px;min-height:44px;margin:-7px -6px -7px auto;padding:6px;border:0;background:none;color:#66737d;box-shadow:none;overflow:visible}
.page-home .result-flow-item .result-fav .like-heart-icon{font-size:20px}
.page-home .result-flow-item .result-fav .result-fav-count{font-size:11px}
.page-home .result-offer-categories{display:flex;gap:16px;overflow-x:auto;padding:0 4px 7px;scrollbar-width:none;white-space:nowrap}
.page-home .result-offer-categories::-webkit-scrollbar{display:none}
.page-home .result-offer-category{padding:4px 0;border:0;border-bottom:2px solid transparent;background:none;color:#7c8790;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.page-home .result-offer-category.is-active{border-color:#168fce;color:#168fce}
.page-home .result-flow-item .result-dock,.page-home .result-flow-item:has(.result-post-lines):has(.result-dock) .result-dock{position:static;display:flex;flex-direction:column;width:100%;margin:0!important;padding:0;border:0;background:none;box-shadow:none;gap:0;overflow:visible}
.page-home .result-flow-item .dock-featured-wrap,.page-home .result-flow-item:has(.result-dock) .dock-featured-wrap{position:relative;width:100%;height:auto;aspect-ratio:16/9;overflow:visible}
.page-home .result-flow-item .dock-featured,.page-home .result-flow-item:has(.result-dock) .dock-featured{display:block;width:100%;height:100%;overflow:hidden;border:0;border-radius:12px;background:transparent;touch-action:pan-y}
.page-home .result-flow-item .dock-swipe-track{display:flex;width:300%;height:100%;transform:translate3d(-33.333%,0,0);will-change:transform}
.page-home .result-flow-item .dock-swipe-item{display:flex;width:33.333%;height:100%;flex:0 0 33.333%}
.page-home .result-flow-item .dock-swipe-item img{display:block;width:100%;height:100%;border-radius:0;object-fit:cover}
.page-home .result-flow-item .dock-nav{position:absolute;inset:0;display:none;align-items:center;justify-content:space-between;pointer-events:none}
.page-home .result-flow-item .dock-nav-btn{display:grid!important;place-items:center;width:34px;height:34px;margin:0 10px;border:0;border-radius:50%;background:#fffde8;color:#17212b;font-size:25px;line-height:1;box-shadow:0 2px 10px #0003;pointer-events:auto;text-shadow:none}
.page-home .result-flow-item.has-single-filtered-offer .dock-nav{display:none!important}
.page-home .dock-dots{display:flex;justify-content:center;gap:5px;min-height:18px;padding:7px 4px 3px}
.page-home .dock-dots[hidden]{display:none}
.page-home .dock-dot{width:6px;height:6px;padding:0;border:0;border-radius:50%;background:#c7cdd1;cursor:pointer}
.page-home .dock-dot.is-active{background:#168fce;transform:scale(1.25)}
.page-home .result-flow-item .dock-side,.page-home .result-flow-item:has(.result-dock) .dock-side{display:block;width:100%;height:auto;padding:0 4px;background:none;color:inherit}
.page-home .result-flow-item .dock-side::before,.page-home .result-flow-item .dock-thumbs-row,.page-home .result-flow-item .dock-price-badge{display:none!important}
.page-home .result-flow-item .dock-info{display:block;min-width:0;max-width:100%;color:#17212b;text-decoration:none}
.page-home .result-flow-item .dock-featured-name{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;width:100%}
.page-home .result-flow-item .dock-featured-name .dock-title{min-width:0;overflow:hidden;color:#17212b;font-size:16px;font-weight:850;line-height:22px;text-overflow:ellipsis;text-shadow:none;white-space:nowrap}
.page-home .result-flow-item .dock-featured-price{flex:0 0 auto;color:#17212b;font-size:16px;font-weight:850;text-shadow:none}
.offer-status{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;color:#66737d;font-size:11px;font-weight:650;white-space:nowrap}
.offer-status.is-available{color:#22a35a}.offer-status.is-unavailable{color:#ba4a4a}.offer-status.is-on-order{color:#d18a15}
.page-home .result-flow-item .dock-featured-description{display:-webkit-box!important;margin:2px 0 0;overflow:hidden;color:#67737d;font-size:13px;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;text-shadow:none}
.page-home .result-flow-item>.result-meta{position:static;display:flex;align-items:center;width:auto;height:auto;min-height:0;margin:7px 4px 0;padding:4px 0 2px;border:0;border-radius:0;background:none;color:#5c6871;box-shadow:none;backdrop-filter:none;text-shadow:none}
.page-home .result-flow-item>.result-meta .result-city,.page-home .result-flow-item>.result-meta .result-dist,.page-home .result-flow-item .result-meta-separator{color:#5c6871;text-shadow:none}
.page-home .result-flow-item>.result-meta .result-open-badge{margin-left:8px;padding:0;border:0;background:none;color:#8c3e3e;font-size:12px;font-weight:850;text-shadow:none}
.page-home .result-flow-item>.result-meta .result-open-badge.is-open{color:#177642}.page-home .result-flow-item>.result-meta .result-open-badge.is-closed{color:#a23a3a}
.page-home .result-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding:6px 4px 1px}
.page-home .result-actions .result-payment-action{color:#168fce;font-size:12px;font-weight:600;cursor:pointer}
.page-home .result-payment-action .payment-icons{display:inline-flex}
.page-home .result-payment-action .payment-icon{width:24px;height:24px;padding:0;border:0;background:transparent;cursor:help}
.page-home .result-payment-action>.payment-card-svg{width:24px;height:24px;flex:0 0 24px}
.page-home .result-flow-item .result-post-lines{width:auto;height:auto;margin:6px 4px 0;overflow:hidden}
.page-home .result-flow-item .result-post-line{--update-color:var(--publication-color-info);display:flex;align-items:center;gap:6px;width:100%;overflow:hidden;border:0;background:transparent!important;color:var(--update-color);font-size:12px;text-decoration:none;text-shadow:none}
.page-home .result-flow-item .result-post-line--promo{--update-color:var(--publication-color-promo)}
.page-home .result-flow-item .result-post-line--event{--update-color:var(--publication-color-event)}
.page-home .result-flow-item .result-post-line .post-title-icon{width:19px;height:19px;flex:0 0 19px;color:var(--update-color)}
.page-home .result-flow-item .result-post-line .ua-publication-badge{color:var(--update-color)}
.page-home .result-flow-item .result-post-title{flex:1;overflow:hidden;color:var(--update-color);text-overflow:ellipsis;white-space:nowrap}.page-home .result-flow-item .result-post-line strong{color:var(--update-color)}
html.theme-dark .page-home .result-flow-item{color:#edf3f7;border-color:#303b44}html.theme-dark .page-home .result-flow-item .result-business-name,html.theme-dark .page-home .result-flow-item .dock-info,html.theme-dark .page-home .result-flow-item .dock-featured-name .dock-title,html.theme-dark .page-home .result-flow-item .dock-featured-price{color:#edf3f7}
@media (hover:hover) and (pointer:fine){.page-home .result-flow-item .dock-nav{display:flex}}
@media(min-width:769px){.page-home .result-flow-item{padding-block:22px}.page-home .result-flow-item .result-business-name{font-size:22px}}
@media(max-width:768px){.page-home .cards-grid{width:100%;margin-left:0}.page-home .result-flow-item{padding:15px 12px}.page-home .result-flow-item .dock-featured,.page-home .result-flow-item:has(.result-dock) .dock-featured{border-radius:10px}}

/* Home stream: warmer editorial typography and unboxed metadata. */
.page-home .result-flow-item{font-family:"Avenir Next","Trebuchet MS",system-ui,sans-serif}
.page-home .result-flow-item .result-business-name{font-weight:950;letter-spacing:-.035em}
.page-home .result-flow-item .result-category-label,
.page-home .result-flow-item .result-category-label:visited,
.page-home .result-flow-item>.result-meta .result-dist{
  padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;
}
.page-home .result-flow-item .result-category-label{color:#168fce;font-size:14px;font-weight:800;letter-spacing:.01em}
.page-home .result-flow-item .dock-featured-name .dock-title,
.page-home .result-flow-item .dock-featured-price{font-weight:900;letter-spacing:-.018em}
.page-home .result-flow-item .dock-featured-description{color:#625f59;font-weight:600}
.page-home .result-business-description{color:#625f59;font-weight:600}
.page-home .result-flow-item>.result-meta{font-weight:750}
.page-home .result-actions{gap:8px 15px;padding:9px 4px 3px}
html.theme-dark .page-home .result-flow-item .result-category-label{color:#66c5f1}
html.theme-dark .page-home .result-flow-item .dock-featured-description,
html.theme-dark .page-home .result-business-description{color:#bdc7cd}

.page-home .home-link-confirm{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:16px;background:rgba(15,23,42,.58);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.page-home .home-link-confirm.is-open{opacity:1;visibility:visible}
.page-home .home-link-confirm .biz-link-confirm__dialog{width:min(100%,340px);padding:18px;border:1px solid rgba(148,163,184,.38);border-radius:18px;background:var(--ua-surface);color:var(--ua-text);text-align:center;box-shadow:0 18px 50px rgba(15,23,42,.32);transform:translateY(8px) scale(.98);transition:transform .2s ease}
.page-home .home-link-confirm.is-open .biz-link-confirm__dialog{transform:none}
.page-home .home-link-confirm .biz-link-confirm__icon{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 10px;border-radius:14px;background:#eff6ff}
.page-home .home-link-confirm .biz-link-confirm__icon svg,.page-home .home-link-confirm .biz-link-confirm__icon img{width:28px;height:28px;object-fit:contain}
.page-home .home-link-confirm .biz-link-confirm__eyebrow{margin:0 0 8px;padding:6px 9px;border-radius:9px;background:#dbeafe!important;color:#172554!important;font-size:.68rem;font-weight:900;line-height:1.25;letter-spacing:.045em;text-transform:uppercase}
.page-home .home-link-confirm .biz-link-confirm__eyebrow[hidden]{display:none}
.page-home .home-link-confirm .biz-link-confirm__title{margin:0;color:var(--ua-text)!important;font-size:1.08rem;font-weight:950}
.page-home .home-link-confirm .biz-link-confirm__destination{margin:5px 0 14px;color:var(--ua-text)!important;font-size:.78rem;font-weight:800;overflow-wrap:anywhere}
.page-home .home-link-confirm .biz-link-confirm__actions{display:grid;grid-template-columns:1fr 1.2fr;gap:8px}
.page-home .home-link-confirm .biz-link-confirm__actions.is-informative{grid-template-columns:1fr}
.page-home .home-link-confirm .biz-link-confirm__button{min-height:38px;padding:7px 11px;border:1px solid rgba(15,23,42,.14);border-radius:10px;background:var(--ua-bg-secondary);color:var(--ua-text)!important;font:inherit;font-size:.82rem;font-weight:850;cursor:pointer}
.page-home .home-link-confirm .biz-link-confirm__button--open{border-color:transparent;background:linear-gradient(135deg,#38bdf8,#2563eb);color:#fff!important}
body.has-biz-link-confirm{overflow:hidden}

/* ============================================================
   HOME — lighter type hierarchy
   Keep names and prices prominent without making every supporting label bold.
   ============================================================ */
.page-home{
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.page-home .nearby-mode-btn{font-weight:600}
.page-home .nearby-mode-btn.is-active{font-weight:700}
.page-home .nearby-subcategory-current,
.page-home .nearby-suggestions-hint{font-weight:500}
.page-home .result-flow-item .result-business-name{
  font-weight:700;
  letter-spacing:-.025em;
}
.page-home .result-flow-item .result-category-label,
.page-home .result-flow-item .result-category-label:visited{font-weight:600}
.page-home .result-business-description,
.page-home .result-flow-item .dock-featured-description{font-weight:400}

/* ============================================================
   UA 2026 — système visuel commun TROUVER → EXPLORER → AGIR
   ============================================================ */
:root{
  color-scheme:light;
  --ua-bg:#fff;--ua-bg-secondary:#f6f8fa;--ua-surface:#fff;--ua-surface-raised:#fff;
  --ua-border:#e7edf2;--ua-text:#17202a;--ua-text-muted:#687681;--ua-text-subtle:#89949c;--ua-text-disabled:#aab2b8;
  --ua-input-bg:#fff;--ua-hover:#eef7ff;--ua-selected:#e1f2fd;--ua-blue:#147ee8;
  --ua-success:#167a4a;--ua-success-bg:#e7f8ef;--ua-danger:#b54343;--ua-danger-bg:#fceded;
  --ua-warning:#8b6218;--ua-warning-bg:#fff7e8;
  /* Compatibility aliases: legacy components inherit the same palette. */
  --ua-blue-soft:var(--ua-hover);--ua-ink:var(--ua-text);--ua-muted:var(--ua-text-muted);
  --ua-line:var(--ua-border);--ua-mint:var(--ua-success-bg);--ua-positive:var(--ua-success);
  --page-bg:var(--ua-bg);--bg:var(--ua-bg);--bg-soft:var(--ua-bg-secondary);
  --card:var(--ua-surface);--card-soft:var(--ua-surface-raised);--field-bg:var(--ua-input-bg);
  --text:var(--ua-text);--text-muted:var(--ua-text-muted);--border:var(--ua-border);
}
html.theme-dark{
  color-scheme:dark;
  --ua-bg:#0b1220;--ua-bg-secondary:#0f172a;--ua-surface:#111b2e;--ua-surface-raised:#172337;
  --ua-border:#2a384a;--ua-text:#edf3f7;--ua-text-muted:#aeb9c2;--ua-text-subtle:#84919c;--ua-text-disabled:#667482;
  --ua-input-bg:#101a2b;--ua-hover:#172c42;--ua-selected:#153a55;--ua-blue:#4db5e8;
  --ua-success:#78d5a5;--ua-success-bg:#123326;--ua-danger:#ff9b9b;--ua-danger-bg:#3b2025;
  --ua-warning:#f3c878;--ua-warning-bg:#382d18;
  --accent:var(--ua-blue);--accent-soft:var(--ua-hover);--shadow:0 12px 30px rgba(0,0,0,.22);
}
html,body,.page-main,.page-home,.page-business,.page-dashboard{background:var(--ua-bg);color:var(--ua-text)}
.ua-kicker{margin:0 0 6px;color:var(--ua-blue);font-size:.75rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.ua-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;border:1px solid var(--ua-line);border-radius:11px;background:var(--ua-surface);color:var(--ua-text);font:inherit;font-size:.9rem;font-weight:700;cursor:pointer}
.ua-button--primary{border-color:var(--ua-blue);background:var(--ua-blue);color:#fff}
.ua-empty{padding:30px 0;color:var(--ua-muted)}
.ua-notice{padding:11px 14px;border-radius:10px;background:var(--ua-blue-soft)}.ua-notice--ok{background:var(--ua-mint);color:var(--ua-positive)}

/* Accueil : l’identité n’est plus une surface décorative et l’offre est centrale. */
.page-home .result-flow-item{border:0;border-bottom:1px solid var(--ua-line);border-radius:0;background:var(--ua-surface);box-shadow:none;padding:22px 0}
.page-home .result-flow-item .result-business-name{font-size:clamp(1.25rem,4vw,1.65rem);color:var(--ua-ink)}
.page-home .result-business-description{margin-top:6px;padding:0;border:0;border-radius:0;color:var(--ua-muted);font-weight:400}
.page-home .result-actions{gap:8px}
.page-home .dock-featured{border-radius:14px}
.ua-now{display:flex;align-items:center;position:relative;margin:8px 0 14px;padding:5px 0;border-block:1px solid var(--ua-line)}
.ua-now-viewport{min-width:0;flex:1 1 auto;overflow:hidden}
.ua-now-list{overflow:hidden;white-space:nowrap;touch-action:pan-y;cursor:grab}
.ua-now-list.is-dragging{cursor:grabbing;user-select:none}
.ua-now-track{display:flex;align-items:center;width:max-content;gap:24px;animation:ua-ticker 34s linear infinite;will-change:transform}
.ua-now:hover .ua-now-track{animation-play-state:paused}
.ua-now-item{display:inline-flex;align-items:center;gap:7px;min-width:max-content;padding:2px 0;color:inherit;text-decoration:none}
.ua-now-item strong{font-size:.79rem;font-weight:600}.ua-now-item strong span{color:var(--ua-muted);font-weight:500}
.ua-now-all{display:inline-flex;align-items:center;align-self:stretch;flex:0 0 auto;padding:3px 8px;border-left:1px solid var(--ua-line);background:var(--ua-surface);color:var(--ua-blue);font-size:.76rem;font-weight:750;white-space:nowrap}
.ua-now-empty{min-width:0;margin:4px;color:var(--ua-muted)}
:root{--publication-color-info:var(--ua-blue,#168fce);--publication-color-promo:#7657D6;--publication-color-event:#a85412}
.ua-publication-badge{--publication-color:var(--publication-color-info);display:inline-flex;padding:2px 6px;border:1px solid transparent;border-radius:999px;background:var(--ua-blue-soft);color:var(--publication-color);font-size:.64rem;font-weight:800;letter-spacing:.03em}
.ua-publication-badge--promo{--publication-color:var(--publication-color-promo);border-color:#DDD2FF;background:#F2EDFF}
.ua-publication-badge--event{--publication-color:var(--publication-color-event);border-color:#f6d39a;background:var(--ua-warning-bg)}
@keyframes ua-ticker{to{transform:translateX(-50%)}}
@media(max-width:520px){.ua-now-track{gap:18px}.ua-now-all{padding-inline:6px;font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.ua-now-track{animation:none}.ua-now-list{overflow-x:auto;scrollbar-width:thin}}

/* Fiche activité standard, compacte et sans couverture. */
.page-business .business-page{max-width:940px}.page-business .business-hero{padding:24px 0 18px}.page-business .business-main-title{color:var(--ua-ink)}
.page-business .pill-cat{display:block;width:100%;padding:0;border:0;background:transparent;color:var(--ua-muted);font-weight:600}
.page-business .business-description{padding:0;background:transparent;color:var(--ua-muted)}
.page-business .business-soft-section{padding:24px 0;border-bottom:1px solid var(--ua-line)}
.activity-inline-form{clear:both;display:grid;gap:10px;margin-top:10px}.activity-inline-form[hidden]{display:none}.activity-inline-form textarea{width:100%;padding:12px;border:1px solid var(--ua-border);border-radius:10px;background:var(--ua-input-bg);color:var(--ua-text);font:inherit}.activity-inline-form>div{display:flex;gap:8px}
.ua-image-suggestion{margin:14px 0}.ua-image-suggestion summary{width:max-content;color:var(--ua-blue);font-weight:700;cursor:pointer}.ua-image-suggestion form{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;align-items:end;margin-top:10px;padding:14px;background:var(--ua-blue-soft);border-radius:12px}.ua-image-suggestion label{display:grid;gap:4px;color:var(--ua-muted);font-size:.78rem}.ua-image-suggestion input,.ua-image-suggestion select{min-width:0;padding:8px;border:1px solid var(--ua-border);border-radius:8px;background:var(--ua-surface)}.ua-image-suggestion output{grid-column:1/-1;font-weight:650}@media(max-width:650px){.ua-image-suggestion form{grid-template-columns:1fr}}
.page-business .gallery-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;overflow:visible;padding:0}.page-business .gallery-item{width:100%;max-width:none;aspect-ratio:1;border-radius:3px}.page-business .gallery-thumb{height:100%;background:var(--ua-bg-secondary)}.page-business .gallery-thumb img,.page-business .gallery-thumb video{width:100%;height:100%;object-fit:cover}.business-media-feed__empty{padding:22px 0;color:var(--ua-muted)}
@media(max-width:700px){.page-business .gallery-track{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:360px){.page-business .gallery-track{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Dashboard : navigation persistante desktop, un écran à la fois sur mobile. */
.ua-dashboard-shell{display:grid;grid-template-columns:250px minmax(0,1fr);width:min(1180px,calc(100% - 32px));min-height:620px;margin:28px auto 70px;border-top:1px solid var(--ua-line)}
.ua-dashboard-sidebar{padding:24px 26px 24px 0;border-right:1px solid var(--ua-line)}.ua-dashboard-brand{display:flex;gap:11px;align-items:center;padding-bottom:22px;border-bottom:1px solid var(--ua-line)}.ua-dashboard-brand>span{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:var(--ua-blue);color:#fff;font-weight:850}.ua-dashboard-brand div{display:grid;min-width:0}.ua-dashboard-brand strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ua-dashboard-brand small,.ua-dashboard-sidebar nav small{color:var(--ua-muted)}
.ua-dashboard-sidebar nav{display:grid;margin-top:18px}.ua-dashboard-sidebar nav a{display:grid;gap:2px;padding:12px 10px;border-left:3px solid transparent}.ua-dashboard-sidebar nav a:hover,.ua-dashboard-sidebar nav a:focus-visible{border-left-color:var(--ua-blue);background:var(--ua-blue-soft);color:var(--ua-blue)}
.ua-dashboard-panel{padding:42px clamp(26px,6vw,76px)}.ua-dashboard-panel h1{margin:0;font-size:clamp(2rem,5vw,3rem);letter-spacing:-.04em}.ua-dashboard-intro{max-width:640px;margin:12px 0 22px;color:var(--ua-muted);font-size:1.05rem;line-height:1.6}.ua-dashboard-mobile-menu{display:none}.ua-dashboard-status{margin-top:48px;padding-top:22px;border-top:1px solid var(--ua-line)}.ua-dashboard-status dl{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.ua-dashboard-status dl div{display:grid;gap:4px}.ua-dashboard-status dt{color:var(--ua-muted);font-size:.82rem}.ua-dashboard-status dd{margin:0;font-size:1.05rem;font-weight:750}
.ua-admin{width:min(980px,calc(100% - 32px));margin:30px auto 70px}.ua-admin header{padding-bottom:20px;border-bottom:1px solid var(--ua-line)}.ua-mobile-back{display:inline-block;margin-bottom:18px;color:var(--ua-blue);font-weight:700}.ua-moderation-grid{display:grid;gap:18px;margin-top:24px}.ua-suggestion{display:grid;grid-template-columns:150px 1fr;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--ua-line)}.ua-suggestion img{width:150px;aspect-ratio:1;object-fit:cover;border-radius:10px}.ua-suggestion p{margin:3px 0;color:var(--ua-muted);font-size:.8rem}.ua-suggestion h2{margin:0 0 18px}.ua-suggestion form{display:flex;gap:8px}
.ua-suggestion-settings{width:min(980px,calc(100% - 32px));margin:-35px auto 70px;padding-top:24px;border-top:1px solid var(--ua-line)}.ua-suggestion-settings>p{color:var(--ua-muted)}.ua-suggestion-settings form label{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--ua-line);font-weight:650}.ua-suggestion-settings input{width:22px;height:22px;accent-color:var(--ua-blue)}
@media(max-width:720px){.ua-dashboard-shell{display:block;width:min(100% - 24px,560px);margin-top:16px;border:0}.ua-dashboard-sidebar{display:none}.ua-dashboard-panel{padding:20px 0}.ua-dashboard-panel>.ua-button,.ua-dashboard-status{display:none}.ua-dashboard-mobile-menu{display:grid;margin-top:25px;border-top:1px solid var(--ua-line)}.ua-dashboard-mobile-menu a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 2px;border-bottom:1px solid var(--ua-line)}.ua-dashboard-mobile-menu span{display:grid}.ua-dashboard-mobile-menu small{margin-top:3px;color:var(--ua-muted)}.ua-dashboard-mobile-menu b{color:var(--ua-blue);font-size:1.5rem}.ua-suggestion{grid-template-columns:92px 1fr}.ua-suggestion img{width:92px}}
.ua-onboarding{width:min(780px,calc(100% - 32px));margin:clamp(32px,8vw,90px) auto}.ua-onboarding>h1{max-width:650px;margin:0;font-size:clamp(2.2rem,7vw,4.2rem);line-height:1;letter-spacing:-.055em}.ua-onboarding-lead{max-width:610px;color:var(--ua-muted);font-size:1.1rem;line-height:1.55}.ua-import-form{display:grid;gap:12px;margin-top:32px;padding:24px 0;border-block:1px solid var(--ua-line)}.ua-import-form>label:first-child{font-weight:750}.ua-import-form>div{display:grid;grid-template-columns:1fr auto;gap:8px}.ua-import-form input[type=url]{min-width:0;padding:12px 14px;border:1px solid var(--ua-border);border-radius:11px;background:var(--ua-input-bg);color:var(--ua-text);font:inherit}.ua-rights{display:flex;gap:9px;color:var(--ua-muted);font-size:.86rem}.ua-manual a{color:var(--ua-blue);font-weight:700}.ua-import-review{margin-top:42px}.ua-import-review dl{margin:20px 0}.ua-import-review dl div{display:grid;grid-template-columns:180px 1fr;gap:15px;padding:13px 0;border-bottom:1px solid var(--ua-line)}.ua-import-review dt{font-weight:750}.ua-import-review dd{margin:0;color:var(--ua-muted);overflow-wrap:anywhere}.ua-import-review .is-found dt{color:var(--ua-positive)}.ua-import-review .is-missing dt{color:#a56813}.ua-review-actions{display:flex;justify-content:flex-end;gap:8px}@media(max-width:560px){.ua-import-form>div{grid-template-columns:1fr}.ua-import-review dl div{grid-template-columns:1fr;gap:4px}}
.page-home .result-offer-category{font-weight:500}
.page-home .result-offer-category.is-active{font-weight:650}
.page-home .result-flow-item .dock-featured-name .dock-title{font-weight:650}
.page-home .result-flow-item .dock-featured-price{font-weight:700}
.page-home .offer-status{font-weight:500}
.page-home .result-flow-item>.result-meta{font-weight:500}
.page-home .result-flow-item>.result-meta .result-open-badge{font-weight:650}
@media (prefers-reduced-motion:reduce){.page-home .home-link-confirm,.page-home .home-link-confirm .biz-link-confirm__dialog{transition:none}}

/* Home cards: readable at every width, with product-owned external actions. */
.page-home .result-flow-item .result-category-label,
.page-home .result-flow-item .result-category-label:visited{
  max-width:100%;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:anywhere;
}
.page-home .result-fav .result-fav-count{
  color:#000;
  text-shadow:none;
}
.page-home .dock-offer-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:8px 4px 3px;
}
.page-home .dock-offer-actions[hidden]{display:none}
.page-home .dock-offer-actions a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:6px 12px;
  border:1px solid rgba(22,143,206,.26);
  border-radius:9px;
  background:var(--ua-hover);
  color:var(--ua-blue);
  font-size:12px;
  font-weight:600;
  text-decoration:none;
}
.page-home .dock-offer-actions a:hover,
.page-home .dock-offer-actions a:focus-visible{border-color:#168fce;background:var(--ua-selected)}
.page-home .dock-offer-actions img{width:18px;height:18px;border-radius:4px;object-fit:contain}
@media(min-width:1024px){
  .page-home .page-main .home-results-shell>.container{width:min(1600px,calc(100% - 64px));max-width:none}
  .page-home .cards-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
    column-gap:36px;
    max-width:none;
  }
  .page-home .result-flow-item .dock-featured-wrap,
  .page-home .result-flow-item:has(.result-dock) .dock-featured-wrap{aspect-ratio:16/9}
  /* Le cadre, et non les dimensions intrinsèques du fichier envoyé, fixe le
     format des visuels d'offres sur ordinateur. */
  .page-home .result-flow-item .dock-featured,
  .page-home .result-flow-item:has(.result-dock) .dock-featured{position:absolute;inset:0;width:auto;height:auto}
  .page-home .result-flow-item .dock-swipe-track,
  .page-home .result-flow-item .dock-swipe-item{min-width:0;min-height:0}
  .page-home .result-flow-item .dock-swipe-item img{width:100%;height:100%;aspect-ratio:16/9;object-fit:cover;object-position:center}
}
@media(min-width:1440px){
  .page-home .cards-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:30px}
}
.page-business .business-description{padding:0;background:none;border:0;border-radius:0;color:var(--ua-text-muted);line-height:1.7}
.page-business .business-media-feed .gallery-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:6px;padding:0}.page-business .business-media-feed .gallery-item{max-width:none;aspect-ratio:1;border-radius:7px}.page-business .business-media-feed .gallery-item:nth-child(7n+1){grid-column:span 2;grid-row:span 2}.page-business .business-media-feed .gallery-thumb{height:100%}
@media(max-width:760px){.page-business .business-media-feed .gallery-track{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.ua-image-suggestion form{padding:12px 0;background:var(--ua-surface)}}

/* Shared dashboard frame: desktop tools never lose their navigation. */
@media(min-width:721px){body.page-dashboard:not(.page-dashboard-hub) .page-main{padding-left:270px}.ua-dashboard-persistent{position:fixed;z-index:20;left:0;top:var(--header-h,70px);bottom:0;width:250px;padding:22px 18px;border-right:1px solid var(--ua-line,#e3e9ed);background:var(--ua-surface);overflow:auto}.ua-dashboard-persistent__brand{display:flex;align-items:center;gap:10px;padding-bottom:18px;border-bottom:1px solid var(--ua-line,#e3e9ed);color:var(--ua-text);text-decoration:none}.ua-dashboard-persistent__brand>b{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:var(--ua-blue,#168fce);color:#fff}.ua-dashboard-persistent__brand span{display:grid;min-width:0}.ua-dashboard-persistent__brand strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ua-dashboard-persistent__brand small{color:var(--ua-text-muted)}.ua-dashboard-persistent nav{display:grid;margin-top:16px}.ua-dashboard-persistent nav a{padding:11px 10px;border-left:3px solid transparent;color:var(--ua-text-muted);text-decoration:none;font-weight:650}.ua-dashboard-persistent nav a[aria-current=page]{border-color:var(--ua-blue,#168fce);background:var(--ua-hover);color:var(--ua-blue,#168fce)}.ua-dashboard-persistent__public{display:block;margin-top:18px;padding-top:16px;border-top:1px solid var(--ua-line,#e3e9ed);color:var(--ua-blue,#168fce);font-weight:650;text-decoration:none}.ua-dashboard-mobile-back{display:none}.page-dashboard:not(.page-dashboard-hub) .ua-mobile-back,.page-dashboard:not(.page-dashboard-hub) .products-back{display:none}.page-dashboard:not(.page-dashboard-hub) .dashboard-form{max-width:1200px}.page-dashboard:not(.page-dashboard-hub) .container{max-width:1280px}}
.ua-dashboard-nav-menu{margin-top:12px}.ua-dashboard-nav-menu>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}.ua-dashboard-nav-menu>summary::-webkit-details-marker{display:none}.ua-dashboard-nav-menu>summary span{font-size:1rem;transition:transform .2s ease}.ua-dashboard-nav-menu[open]>summary span{transform:rotate(180deg)}.ua-dashboard-nav-menu>div{display:grid}.ua-dashboard-nav-group{padding:12px 10px 5px;color:var(--ua-text-muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.ua-dashboard-persistent nav a.ua-dashboard-nav-child{padding-block:7px;padding-left:23px;font-size:.92rem}
@media(max-width:720px){.ua-dashboard-mobile-menu{gap:0}.ua-dashboard-mobile-menu .ua-dashboard-nav-menu{margin:0;border-bottom:1px solid var(--ua-line)}.ua-dashboard-mobile-menu .ua-dashboard-nav-group{padding:18px 2px 12px}.ua-dashboard-mobile-menu .ua-dashboard-nav-menu>div{padding-left:14px}.ua-dashboard-mobile-menu .ua-dashboard-nav-menu a{padding-block:13px}.ua-dashboard-mobile-menu .ua-dashboard-nav-menu a:last-child{border-bottom:0}}
@media(max-width:720px){.ua-dashboard-persistent{display:none}.ua-dashboard-mobile-back{display:block;width:min(100% - 24px,1080px);margin:14px auto 0}.ua-dashboard-mobile-back a{color:var(--ua-blue,#168fce);font-weight:700;text-decoration:none}.page-dashboard:not(.page-dashboard-hub) .container .form-card.dashboard-form,.page-dashboard:not(.page-dashboard-hub) .form-card{border:0;border-radius:0;box-shadow:none;background:var(--ua-surface)}.page-dashboard:not(.page-dashboard-hub) .dashboard-form{padding:14px 12px}}

/* Corrective convergence: useful-width activity explorer and one dashboard language. */
.page-business .business-page{max-width:min(1440px,calc(100% - 32px))}
.ua-dashboard-status dl{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.ua-dashboard-summary-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.ua-dashboard-summary-actions form{margin:0}
@media(max-width:720px){
  .page-business .business-page{width:100%;max-width:100%;padding-inline:12px}
  .page-editorial-mon-compte.page-dashboard .account-panel{padding-inline:0;border:0;border-radius:0;box-shadow:none}
}

/* Annuaire dédié aux publications : distinct des fiches et des offres. */
.publications-page{width:min(880px,calc(100% - 32px));margin:24px auto 48px}.publications-hero{max-width:none}.publications-hero .ua-kicker{margin:0 0 4px}.publications-hero h1{margin:0;font-size:clamp(1.65rem,3.2vw,2.25rem);line-height:1.1;letter-spacing:-.035em}.publications-hero>p:last-child{max-width:720px;margin:7px 0 0;color:var(--ua-muted);font-size:.94rem;line-height:1.4}.publications-search{display:grid;grid-template-columns:minmax(220px,1fr) minmax(130px,170px) minmax(155px,180px) auto;grid-template-areas:"query city radius submit" "types types types types";gap:8px;align-items:center;margin:18px 0 10px;padding:10px 0;border-block:1px solid var(--ua-line)}.publications-query{grid-area:query}.publications-city{grid-area:city}.publications-radius{grid-area:radius}.publications-search input,.publications-search select{display:block;width:100%;min-width:0;min-height:38px;padding:7px 10px;border:1px solid var(--ua-border);border-radius:8px;background:var(--ua-input-bg);color:var(--ua-text);font:inherit;font-size:.9rem}.publications-types{grid-area:types;display:flex;justify-self:start;min-width:0;padding:3px;border-radius:9px;background:var(--ua-bg-secondary)}.publications-types a{padding:5px 9px;border-radius:6px;color:var(--ua-muted);font-size:.76rem;font-weight:700;white-space:nowrap}.publications-types a.is-active{background:var(--ua-surface);color:var(--ua-blue);box-shadow:0 1px 3px #17202a18}.publications-search button{grid-area:submit;min-height:38px;padding:7px 13px;border:0;border-radius:8px;background:var(--ua-blue);color:#fff;font:inherit;font-size:.9rem;font-weight:750}.publications-location-note{margin:6px 0;color:var(--ua-muted);font-size:.78rem}.publications-count{margin:12px 0 2px;color:var(--ua-muted);font-size:.8rem}.publications-feed{display:grid}.publication-card{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;padding:14px 0;border-bottom:1px solid var(--ua-line)}.publication-media{display:block;width:72px;aspect-ratio:1;overflow:hidden;border-radius:9px;background:var(--ua-bg-secondary)}.publication-media img{width:100%;height:100%;object-fit:cover}.publication-media--empty{display:grid;place-items:center;color:#9aabb7;font-size:1.35rem;font-weight:800}.publication-content{min-width:0}.publication-content h2{margin:4px 0 3px;font-size:1.02rem;line-height:1.25;overflow-wrap:anywhere}.publication-content>p{margin:0;color:var(--ua-muted);font-size:.87rem;line-height:1.38;overflow-wrap:anywhere}.publication-content mark{padding:0 2px;background:#fff0a8;color:inherit}.publication-business{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;color:var(--ua-muted);font-size:.79rem}.publication-business>span{min-width:0;overflow-wrap:anywhere}.publication-business strong{color:var(--ua-ink)}.publication-business>a{flex:none;color:var(--ua-blue);font-weight:750}@media(max-width:700px){.publications-page{width:min(100% - 24px,880px);margin-top:18px;margin-bottom:36px}.publications-hero h1{font-size:clamp(1.45rem,7vw,1.8rem)}.publications-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"query query" "city radius" "types types" "submit submit";margin-top:14px}.publications-types{justify-self:stretch}.publications-types a{flex:1;min-width:0;padding-inline:4px;text-align:center}.publications-search button{width:100%}.publication-card{grid-template-columns:60px minmax(0,1fr);gap:11px;padding:12px 0}.publication-media{width:60px}.publication-business{align-items:flex-start;flex-direction:column;gap:4px;margin-top:6px}}@media(max-width:390px){.publications-page{width:calc(100% - 20px)}.publications-search{column-gap:6px}.publications-search input,.publications-search select{font-size:.84rem;padding-inline:8px}.publications-types a{font-size:.7rem}.publication-card{grid-template-columns:52px minmax(0,1fr);gap:9px}.publication-media{width:52px}.publication-content h2{font-size:.96rem}}

/* Public activity offers: isolated, media-first catalogue. */
.page-business .ua-public-offers{width:min(100%,920px);margin:28px auto;padding:24px 0;border-block:1px solid var(--ua-line);background:var(--ua-surface)}
.page-business .ua-public-offers__categories{display:flex;gap:7px;margin:0 0 12px;padding:2px 0;overflow-x:auto;scrollbar-width:thin}
.page-business .ua-public-offers__category{flex:none;min-height:34px;padding:6px 12px;border:1px solid var(--ua-line);border-radius:999px;background:var(--ua-surface);color:var(--ua-muted);font:inherit;font-size:.84rem;font-weight:700;cursor:pointer}
.page-business .ua-public-offers__category.is-active{border-color:var(--ua-blue);background:var(--ua-selected);color:var(--ua-blue)}
.page-business .ua-public-offers__search{display:flex;align-items:center;gap:9px;width:min(100%,560px);margin-bottom:20px;padding:0 12px;border:1px solid var(--ua-border);border-radius:10px;background:var(--ua-input-bg);color:var(--ua-text-muted);transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}
.page-business .ua-public-offers__search:hover{border-color:color-mix(in srgb,var(--ua-blue) 45%,var(--ua-border));background:color-mix(in srgb,var(--ua-input-bg) 92%,var(--ua-hover))}
.page-business .ua-public-offers__search:focus-within{border-color:var(--ua-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--ua-blue) 18%,transparent)}
.page-business .ua-public-offers__search svg{flex:none;width:18px;height:18px}
.page-business .ua-public-offers__search input{width:100%;min-width:0;min-height:42px;padding:8px 0;border:0;outline:0;background:transparent;color:var(--ua-text);font:inherit;caret-color:var(--ua-blue)}
.page-business .ua-public-offers__search input::placeholder{color:var(--ua-text-muted);opacity:1}
.page-business .ua-public-offers__search:has(input:disabled){background:var(--ua-bg-secondary);color:var(--ua-text-disabled);cursor:not-allowed;opacity:.72}
.page-business .ua-public-offers__search input:disabled{color:var(--ua-text-disabled);cursor:not-allowed}
.page-business .ua-public-offers__visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.page-business .ua-public-offers__list{display:flex;flex-direction:column}
.page-business .ua-public-offers__item{padding:22px 0;border-bottom:1px solid var(--ua-line)}
.page-business .ua-public-offers__item[hidden]{display:none}
.page-business .ua-public-offers__item:first-child{padding-top:0}
.page-business .ua-public-offers__media{position:relative;width:100%;aspect-ratio:16/9;margin-bottom:15px;overflow:hidden;border-radius:12px;background:var(--ua-bg-secondary)}
.page-business .ua-public-offers__media-track{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;touch-action:pan-x pan-y}
.page-business .ua-public-offers__media-track::-webkit-scrollbar{display:none}
.page-business .ua-public-offers__slide{flex:0 0 100%;width:100%;height:100%;padding:0;border:0;background:transparent;scroll-snap-align:start;cursor:zoom-in}
.page-business .ua-public-offers__slide img{display:block;width:100%;height:100%;object-fit:cover}
.page-business .ua-public-offers__dots{position:absolute;z-index:2;bottom:10px;left:50%;display:flex;gap:6px;transform:translateX(-50%);pointer-events:none}
.page-business .ua-public-offers__dots i{width:7px;height:7px;border-radius:50%;background:var(--ua-surface);box-shadow:0 1px 3px #0008}
.page-business .ua-public-offers__dots i.is-active{background:var(--ua-blue)}
.page-business .ua-public-offers__media-arrow{position:absolute;z-index:2;top:50%;display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid var(--ua-border);border-radius:50%;background:color-mix(in srgb,var(--ua-surface) 88%,transparent);color:var(--ua-text);font:700 22px/1 sans-serif;transform:translateY(-50%);cursor:pointer}
.page-business .ua-public-offers__media-arrow--previous{left:10px}.page-business .ua-public-offers__media-arrow--next{right:10px}
.page-business .ua-public-offers__identity,.page-business .ua-public-offers__content{min-width:0}
.page-business .ua-public-offers__eyebrow{margin:0 0 4px;color:var(--ua-muted);font-size:.76rem;font-weight:650}
.page-business .ua-public-offers__item h3{margin:0;font-size:1.18rem;line-height:1.3}
.page-business .ua-public-offers__description{display:-webkit-box;margin:0;overflow:hidden;color:var(--ua-muted);line-height:1.5;-webkit-line-clamp:5;-webkit-box-orient:vertical}
.page-business .ua-public-offers__description.is-expanded{display:block;overflow:visible}
.page-business .ua-public-offers__description-toggle{margin-top:3px;padding:0;border:0;background:none;color:var(--ua-blue);font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}
.ua-offer-heading{display:flex;flex-wrap:wrap;align-items:center;gap:7px 12px;min-width:0;margin:0 0 7px}
.ua-offer-heading__primary{display:flex;align-items:center;gap:8px;min-width:min(100%,180px);flex:1;color:inherit;text-decoration:none}
.page-business .ua-offer-heading{flex-wrap:nowrap;align-items:start;gap:10px;margin-bottom:2px}
.page-business .ua-offer-heading h3{flex:1;min-width:0;overflow-wrap:break-word}
.ua-offer-price{flex:none;color:var(--ua-ink,#17212b);font-size:1rem;font-weight:700;line-height:1.3;white-space:nowrap}
.biz-share-btn.ua-offer-share{position:static;flex:none;display:inline-flex;align-items:center;justify-content:center;width:auto;height:34px;margin:0;padding:5px 10px;gap:6px;border:1px solid var(--ua-line,#e3e9ed);border-radius:10px;background:var(--ua-surface);color:var(--ua-blue,#168fce);box-shadow:none;transform:none;z-index:auto}
.biz-share-btn.ua-offer-share:hover,.biz-share-btn.ua-offer-share:focus-visible{border-color:var(--ua-blue,#168fce);background:var(--ua-hover);color:var(--ua-blue,#168fce);transform:none}
.biz-share-btn.ua-offer-share svg{width:16px;height:16px}.biz-share-btn.ua-offer-share span{font-size:.78rem;font-weight:700}
.ua-location-icon{display:block;width:14px;height:14px;flex:0 0 14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;color:#168fce}
.page-business .ua-public-offers__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.page-business .ua-public-offers__actions:empty{display:none}
.page-business .ua-public-offers__external{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;max-width:100%;padding:7px 11px;border:1px solid var(--ua-blue);border-radius:9px;background:var(--ua-surface);color:var(--ua-blue);font:inherit;font-size:.82rem;font-weight:700;text-decoration:none}
.page-business .ua-public-offers__external img{flex:none;width:18px;height:18px;border-radius:4px}
.page-business .ua-public-offers__more{display:block;min-height:42px;margin:18px auto 0;padding:8px 18px;border:1px solid var(--ua-blue);border-radius:9px;background:var(--ua-surface);color:var(--ua-blue);font:inherit;font-size:.88rem;font-weight:750;cursor:pointer}
.page-business .ua-public-offers__more[hidden],.page-business .ua-public-offers__no-results[hidden]{display:none}
.page-business .ua-public-offers__no-results{padding:12px 0;color:var(--ua-muted)}
.page-business .ua-public-offers__no-results p{margin:0 0 6px}.page-business .ua-public-offers__no-results button{padding:0;border:0;background:none;color:var(--ua-blue);font:inherit;font-weight:700;cursor:pointer}
.page-business .ua-public-offers__empty{color:var(--ua-muted)}.page-business .ua-public-offers__suggestion{margin-top:18px}

/* Primitive propriétaire UA : indice discret d’une valeur éditable. */
.owner-edit-trigger{
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  width:28px;
  height:28px;
  margin:-7px -5px -7px 1px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--ua-active,#168fce);
  vertical-align:middle;
  cursor:pointer;
}
.owner-edit-trigger svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.owner-edit-trigger:focus-visible{outline:2px solid var(--ua-active,#168fce);outline-offset:1px}
@media(max-width:680px){
.page-business .ua-public-offers{margin:20px 0;padding:18px 0}.page-business .ua-public-offers__categories{margin-inline:-12px;padding-inline:12px;scrollbar-width:none}.page-business .ua-public-offers__categories::-webkit-scrollbar{display:none}.page-business .ua-public-offers__search{width:100%;margin-bottom:14px}.page-business .ua-public-offers__item{padding:18px 0}.page-business .ua-public-offers__identity{display:flex;flex-direction:column;margin-bottom:8px}.page-business .ua-public-offers__identity .ua-offer-heading{width:100%}.page-business .ua-public-offers__identity .offer-status{align-self:flex-start}.page-business .ua-public-offers__identity .ua-public-offers__eyebrow{display:none}.page-business .ua-public-offers__media{aspect-ratio:16/9;margin-bottom:13px}.page-business .ua-public-offers__media-arrow{display:none}.page-business .ua-public-offers__description{-webkit-line-clamp:5}.ua-offer-heading{gap:7px}.page-business .ua-public-offers__external{min-height:40px}
}
/* Le mini-flux réutilise les lignes/badges du ticker et reste borné à une ligne. */
.ua-card-news-track{display:grid;overflow:hidden}.ua-card-news-track>.result-post-line{grid-area:1/1;min-width:100%;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .2s ease}.ua-card-news-track:not([data-pro-ticker-inited])>.result-post-line:first-child,.ua-card-news-track>.result-post-line.is-active{visibility:visible;opacity:1;pointer-events:auto}
/* Primitive unique des actions publiques (golden master : page d’activité). */
.public-action{display:inline-flex;align-items:center;justify-content:center;gap:5px;width:auto;height:34px;min-height:34px;min-width:34px;max-width:100%;padding:5px 8px;border:1px solid var(--ua-line,#e3e9ed);border-radius:10px;background:var(--ua-surface);color:var(--ua-text);font:inherit;font-size:.82rem;font-weight:700;line-height:1;text-decoration:none;white-space:nowrap;box-sizing:border-box;transition:border-color .18s ease,background-color .18s ease,color .18s ease,transform .18s ease}
.public-action:hover,.public-action:focus-visible{border-color:var(--ua-blue,#168fce);background:var(--ua-hover);color:var(--ua-blue,#168fce);text-decoration:none;outline:2px solid transparent}
.public-action:focus-visible{outline-color:color-mix(in srgb,var(--ua-blue,#168fce) 35%,transparent);outline-offset:2px}
.public-action__icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 22px;line-height:1}
.public-action__svg,.public-action__image,.public-action__fallback{display:block;width:22px;height:22px;max-width:22px;flex:0 0 22px;object-fit:contain}
.public-action__image{border-radius:5px}
.public-action__fallback[hidden]{display:none}
.public-action__label{display:block;overflow:hidden;text-overflow:ellipsis}
@media(max-width:700px){.public-action{font-size:.76rem}}
@media(prefers-reduced-motion:reduce){.public-action{transition:none}}
/* Home offer controls: offer navigation overlays the image; media browsing stays separate. */
.page-home .dock-featured-wrap .dock-dots{position:absolute;z-index:4;left:50%;bottom:8px;transform:translateX(-50%);min-height:0;padding:6px 9px;background:transparent;filter:drop-shadow(0 1px 2px rgba(0,0,0,.65))}
.page-home .dock-featured-wrap .dock-dot{width:7px;height:7px;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.page-home .dock-gallery-open{position:absolute;z-index:5;top:10px;right:10px;display:grid;place-items:center;width:44px;height:44px;padding:10px;border:0;background:transparent;color:#fff;box-shadow:none;cursor:pointer}
.page-home .dock-gallery-open[hidden]{display:none}.page-home .dock-gallery-open svg{display:block;width:30px;height:30px;fill:none;stroke:#fff;stroke-width:2.35;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}.page-home .dock-gallery-open .dock-gallery-svg__back{stroke:#fff;stroke-width:2.6}

.page-home .dock-offer-actions .biz-share-btn{display:inline-flex;align-items:center;gap:7px;min-height:34px;height:auto;padding:6px 12px;border:1px solid rgba(22,143,206,.26);border-radius:9px;background:var(--ua-hover);color:var(--ua-blue);font-size:12px;font-weight:600;box-shadow:none}
.page-home .dock-offer-actions .biz-share-btn svg{width:18px;height:18px}
.ua-offer-lightbox{position:fixed;z-index:10050;inset:0;display:none;align-items:center;justify-content:center;padding:20px}.ua-offer-lightbox.is-open{display:flex}.ua-offer-lightbox__backdrop{position:absolute;inset:0;background:rgba(4,12,18,.88);backdrop-filter:blur(5px)}
.ua-offer-lightbox__dialog{position:relative;width:min(980px,100%);outline:0}.ua-offer-lightbox__viewport{overflow:hidden;border-radius:14px;touch-action:pan-y;background:#081016}.ua-offer-lightbox__track{display:flex;transition:transform .24s ease}.ua-offer-lightbox__slide{min-width:100%;height:min(76vh,720px);display:grid;place-items:center}.ua-offer-lightbox__slide img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.ua-offer-lightbox__close,.ua-offer-lightbox__arrow{position:absolute;z-index:2;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:var(--ua-text);box-shadow:0 3px 14px rgba(0,0,0,.28);cursor:pointer}.ua-offer-lightbox__close{top:10px;right:10px;width:38px;height:38px;font-size:25px}.ua-offer-lightbox__arrow{top:50%;width:42px;height:42px;font-size:30px;transform:translateY(-50%)}.ua-offer-lightbox__arrow--prev{left:12px}.ua-offer-lightbox__arrow--next{right:12px}.ua-offer-lightbox__count{margin:10px 0 0;color:#fff;text-align:center;font-weight:700}.has-offer-lightbox{overflow:hidden}
@media(max-width:700px){.ua-offer-lightbox{padding:0}.ua-offer-lightbox__viewport{border-radius:0}.ua-offer-lightbox__slide{height:82vh}.ua-offer-lightbox__arrow{display:none}}
@media(prefers-reduced-motion:reduce){.ua-offer-lightbox__track{transition:none}}

/* Home mobile hierarchy: the activity is context; its featured offer is primary. */
.page-home .result-flow-item .result-identity{
  margin-bottom:10px;
  padding:0 4px;
}
.page-home .result-flow-item .result-business-name{
  font-size:1.08rem;
  font-weight:750;
  line-height:1.2;
  letter-spacing:-.012em;
}
.page-home .result-business-meta{
  margin-top:2px;
  color:var(--ua-blue,#168fce);
  font-size:.78rem;
}
.page-home .result-identity .result-meta{
  position:static;
  display:flex;
  align-items:center;
  width:auto;
  min-height:0;
  margin:3px 0 0;
  padding:0;
  border:0;
  background:none;
  color:#5f6d77;
  font-size:.75rem;
  line-height:1.3;
  box-shadow:none;
  text-shadow:none;
}
.page-home .result-identity .result-meta .result-loc{display:flex;align-items:center;min-width:0;gap:4px}
.page-home .result-identity .result-meta .result-city,
.page-home .result-identity .result-meta .result-dist,
.page-home .result-identity .result-meta .result-meta-separator{color:#5f6d77;text-shadow:none}
.page-home .result-identity .result-meta .result-open-badge{margin-left:7px;padding:0;border:0;background:none;color:#a23a3a;font-size:inherit;font-weight:650;text-shadow:none}
.page-home .result-identity .result-meta .result-open-badge.is-open{color:var(--ua-success)}
.page-home .result-business-description{
  margin-top:3px;
  color:#707d86;
  font-size:.76rem;
  line-height:1.35;
  -webkit-line-clamp:2;
  line-clamp:2;
}
.page-home .result-flow-item .result-dock{gap:0}
.page-home .result-flow-item .dock-side{
  order:0;
  padding:0 4px 8px;
}
.page-home .result-flow-item .dock-side .ua-offer-heading{flex-wrap:nowrap;align-items:flex-start;margin:0 0 2px;gap:10px}
.page-home .result-flow-item .dock-side .ua-offer-heading__primary{min-width:0}
.page-home .result-flow-item .dock-featured-name{display:block}
.page-home .result-flow-item .dock-featured-name .dock-title{
  display:block;
  font-size:1.16rem;
  font-weight:750;
  line-height:1.28;
  letter-spacing:-.012em;
}
.page-home .result-flow-item .dock-side>.offer-status{font-size:.75rem;font-weight:650}
.page-home .result-flow-item .dock-featured-wrap{order:1}
.page-home .dock-offer-content{order:2;padding:9px 4px 0}
.page-home .result-flow-item .dock-featured-description{
  margin:0;
  color:#3f4c55;
  font-size:.88rem;
  line-height:1.45;
  -webkit-line-clamp:3;
  line-clamp:3;
}
.page-home .dock-offer-actions{order:3;padding:9px 4px 3px}
.page-home .result-actions{margin-top:12px}
html.theme-dark .page-home .result-business-description{color:#9eabb4}
html.theme-dark .page-home .result-identity .result-meta,
html.theme-dark .page-home .result-identity .result-meta .result-city,
html.theme-dark .page-home .result-identity .result-meta .result-dist,
html.theme-dark .page-home .result-identity .result-meta .result-meta-separator{color:#aeb9c0}
html.theme-dark .page-home .result-flow-item .dock-featured-description{color:#d5dde2}
@media(max-width:390px){
  .page-home .result-flow-item{padding:13px 10px}
  .page-home .result-flow-item .result-identity{margin-bottom:9px}
}

/* ============================================================
   THEME GLOBAL — primitives partagées
   Les pages publiques et privées consomment la même palette. Le header garde
   ses propres règles historiques et sert de référence à la palette sombre.
   ============================================================ */
html.theme-dark body,
html.theme-dark .page-main,
html.theme-dark .page-home,
html.theme-dark .page-business,
html.theme-dark .page-dashboard,
html.theme-dark .page-editorial,
html.theme-dark .offer-page{
  background:var(--ua-bg);
  color:var(--ua-text);
}

html.theme-dark :where(.card,.form-card,.modal-content,.modal-card,.popup,.dropdown-menu,
  .suggestions-box,.mnav-panel,.account-panel,.pricing-card,.plan-card,.post-modal__dialog,
  .biz-link-confirm__dialog,.owner-modal__dialog,.products-shell,.dash-section,.offer-card,
  .post-card-clean,.stats-section,.stats-total-card,.stats-detail-card,.ua-acc){
  border-color:var(--ua-border);
  background:var(--ua-surface);
  color:var(--ua-text);
  box-shadow:none;
}

html.theme-dark :where(input,select,textarea,button):not(.ua-button--primary){
  border-color:var(--ua-border);
}
html.theme-dark :where(input,select,textarea){
  background:var(--ua-input-bg);
  color:var(--ua-text);
}
html.theme-dark :where(input,textarea)::placeholder{color:var(--ua-text-subtle)}
html.theme-dark :where(input,select,textarea):disabled{
  background:var(--ua-bg-secondary);
  color:var(--ua-text-subtle);
  opacity:1;
}
html.theme-dark :where(input,select,textarea,button,a):focus-visible{
  outline-color:var(--ua-blue);
}

html.theme-dark :where(.page-business,.page-home,.page-dashboard,.page-editorial,.offer-page)
  :where(h1,h2,h3,h4,strong,.title){color:var(--ua-text)}
html.theme-dark :where(.muted,.help,.hint,.subtitle,.empty-state,small){color:var(--ua-text-muted)}
html.theme-dark :where(hr,.separator,table,th,td){border-color:var(--ua-border)}
html.theme-dark :where(.badge-success,.notice-ok){background:var(--ua-success-bg);color:var(--ua-success)}
html.theme-dark :where(.badge-danger,.notice-err){background:var(--ua-danger-bg);color:var(--ua-danger)}
html.theme-dark :where(.badge-warning,.warning){background:var(--ua-warning-bg);color:var(--ua-warning)}
