/* Flandres Propreté Distribution - interface dynamique V3 */
:root{
  --fpd-blue:#075fa8;
  --fpd-blue-deep:#06477f;
  --fpd-cyan:#13a9dc;
  --fpd-sky:#eaf7fd;
  --fpd-shadow:0 20px 55px rgba(4,75,126,.14);
}

body{
  background:
    radial-gradient(circle at 8% 24%,rgba(19,169,220,.09),transparent 25rem),
    radial-gradient(circle at 92% 58%,rgba(7,95,168,.06),transparent 28rem),
    var(--fpd-cream);
}

.fpd-visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.fpd-announcement{
  background:linear-gradient(90deg,var(--fpd-blue-deep),var(--fpd-blue),var(--fpd-cyan))!important;
  padding:9px 14px;
  box-shadow:0 4px 16px rgba(4,71,127,.18);
}

.site-header{
  border-bottom:1px solid rgba(7,95,168,.13);
  box-shadow:0 8px 30px rgba(9,61,99,.08);
}

.header-search{
  border-color:rgba(7,95,168,.2);
  border-radius:999px;
  box-shadow:inset 0 1px 2px rgba(4,71,127,.04);
  transition:border-color .22s ease,box-shadow .22s ease;
}

.header-search:focus-within{
  border-color:var(--fpd-cyan);
  box-shadow:0 0 0 4px rgba(19,169,220,.13);
}

.header-search button{
  background:linear-gradient(135deg,var(--fpd-blue),var(--fpd-cyan));
  border-radius:999px;
  margin:4px;
  padding:0 20px;
  cursor:pointer;
}

.main-nav a{
  position:relative;
  border-bottom:0;
  transition:color .2s ease,background-color .2s ease;
}

.main-nav a::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:7px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--fpd-blue),var(--fpd-cyan));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .22s ease;
}

.main-nav a:hover::after,.main-nav a:focus-visible::after{transform:scaleX(1)}
.main-nav .nav-home{background:var(--fpd-sky);color:var(--fpd-blue-deep)}

.cart-pill{
  background:linear-gradient(135deg,var(--fpd-blue),var(--fpd-cyan));
  border-radius:999px;
  box-shadow:0 9px 22px rgba(7,95,168,.22);
  transition:transform .2s ease,box-shadow .2s ease;
}

.cart-pill:hover{transform:translateY(-2px);box-shadow:0 13px 28px rgba(7,95,168,.28)}

.btn{
  position:relative;
  overflow:hidden;
  min-height:46px;
  padding:11px 20px;
  border-radius:999px;
  border:1px solid rgba(7,95,168,.2);
  background:#fff;
  color:var(--fpd-blue-deep);
  box-shadow:0 7px 18px rgba(5,71,126,.08);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,filter .2s ease;
}

.btn:hover{
  transform:translateY(-2px);
  border-color:rgba(19,169,220,.5);
  box-shadow:0 11px 24px rgba(5,71,126,.16);
}

.btn:active{transform:translateY(0)}
.btn:focus-visible,.cart-pill:focus-visible,.category-card:focus-visible,.product-card a:focus-visible{outline:3px solid rgba(19,169,220,.42);outline-offset:3px}

.btn.primary{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,var(--fpd-blue) 0%,var(--fpd-cyan) 100%)!important;
  box-shadow:0 12px 28px rgba(7,95,168,.26);
}

.btn.primary::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.22) 45%,transparent 65%);
  transform:translateX(-120%);
  transition:transform .5s ease;
}

.btn.primary:hover::before{transform:translateX(120%)}
.btn.primary:hover{filter:saturate(1.08);box-shadow:0 15px 32px rgba(7,95,168,.34)}
.btn.ghost{background:rgba(255,255,255,.96);color:var(--fpd-blue-deep);border-color:rgba(7,95,168,.22)}
.fpd-btn-arrow span{font-size:1.2em;margin-left:5px;transition:transform .2s ease}
.fpd-btn-arrow:hover span{transform:translateX(4px)}

.fpd-visual-hero{
  position:relative;
  z-index:1;
  padding:0 0 22px;
  background:linear-gradient(180deg,#fff 0%,#f4fbfe 100%);
  border-bottom:1px solid rgba(7,95,168,.1);
}

.fpd-visual-frame{
  position:relative;
  max-width:1916px;
  margin:0 auto;
  background:#fff;
  overflow:visible;
  box-shadow:0 24px 55px rgba(5,66,111,.11);
}

.fpd-visual-frame>img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1916/821;
  object-fit:contain;
}

.fpd-hero-actionbar{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  width:min(980px,calc(100% - 48px));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:16px 18px 16px 24px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:24px;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(14px);
  box-shadow:0 18px 48px rgba(4,71,127,.24);
  animation:fpd-rise .7s ease both;
}

.fpd-actionbar-copy{display:grid;gap:2px;min-width:230px}
.fpd-actionbar-kicker{color:var(--fpd-blue);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.13em}
.fpd-actionbar-copy strong{color:#102f48;font-size:1.22rem;line-height:1.2}
.fpd-hero-actionbar .hero-actions{margin:0;flex-wrap:nowrap}
.fpd-hero-actionbar .btn{white-space:nowrap}

.fpd-hero-trust{
  justify-content:center;
  margin-top:18px!important;
  color:#376079;
  font-weight:750;
}

.eyebrow{color:var(--fpd-blue)!important}
.section-head>a{color:var(--fpd-blue);font-weight:900;transition:color .2s ease,transform .2s ease}
.section-head>a:hover{color:var(--fpd-cyan);transform:translateX(3px)}

.fpd-category-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#f7fcff 100%)}
.fpd-category-section::before{
  content:"";
  position:absolute;
  width:320px;
  height:320px;
  left:-180px;
  top:50px;
  border-radius:50%;
  background:rgba(19,169,220,.09);
  filter:blur(10px);
  pointer-events:none;
}

.fpd-category-card{
  border-color:rgba(7,95,168,.13)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(7,72,115,.07)!important;
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease!important;
}

.fpd-category-card:hover{
  transform:translateY(-6px)!important;
  border-color:rgba(19,169,220,.45)!important;
  box-shadow:0 20px 38px rgba(7,72,115,.14)!important;
}

.fpd-cat-index{
  background:linear-gradient(145deg,var(--fpd-blue),var(--fpd-cyan))!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(7,95,168,.22);
}

.fpd-category-card b,.product-card-body .tiny,.tiny,.arrow-btn{color:var(--fpd-blue)!important}

.fpd-products-section{background:linear-gradient(145deg,#edf8fd 0%,#f8fbfc 55%,#fff 100%)}
.product-card{
  border-color:rgba(7,95,168,.12);
  border-radius:18px;
  box-shadow:0 10px 28px rgba(7,72,115,.08);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}

.product-card:hover{
  transform:translateY(-6px);
  border-color:rgba(19,169,220,.4);
  box-shadow:0 22px 42px rgba(7,72,115,.15);
}

/* Contraste renforcé pour toutes les informations produit */
.product-card h3,
.product-card h3 a,
.product-card-body p,
.product-card-bottom strong,
.product-info h1,
.product-info .lead,
.product-description,
.product-description p,
.product-description li,
.product-description strong{
  color:#101820!important;
}

.product-image em{background:linear-gradient(135deg,var(--fpd-blue),var(--fpd-cyan));box-shadow:0 6px 16px rgba(7,95,168,.25)}
.product-card-bottom{border-top:1px solid rgba(7,95,168,.09);padding-top:13px}

.fpd-live-promo{
  border-color:rgba(7,95,168,.15)!important;
  background:linear-gradient(135deg,#eaf8fe,#fff)!important;
  box-shadow:var(--fpd-shadow)!important;
}

.fpd-benefits{background:linear-gradient(120deg,var(--fpd-blue-deep),var(--fpd-blue) 60%,#087fae)!important}
.fpd-benefit-grid>div{transition:background-color .2s ease,transform .2s ease}
.fpd-benefit-grid>div:hover{background:rgba(255,255,255,.07);transform:translateY(-3px)}
.fpd-benefit-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:12px;background:rgba(255,255,255,.13);color:#fff}

.page-hero{background:linear-gradient(135deg,#e7f6fc,#f8fcfe);border-bottom-color:rgba(7,95,168,.13)}
.panel,.product-main-img,.service-strip{border-color:rgba(7,95,168,.13);border-radius:18px;box-shadow:0 10px 30px rgba(7,72,115,.07)}
.field input:focus,.field select:focus,.field textarea:focus,.option-control:focus{border-color:var(--fpd-cyan);box-shadow:0 0 0 4px rgba(19,169,220,.12)}
.footer{background:linear-gradient(135deg,#07385f,#082d49)}

@keyframes fpd-rise{
  from{opacity:0;transform:translate(-50%,16px)}
  to{opacity:1;transform:translate(-50%,0)}
}

@media(max-width:1100px){
  .fpd-hero-actionbar{bottom:12px;width:min(900px,calc(100% - 32px));padding:12px 14px 12px 18px}
  .fpd-actionbar-copy{display:none}
  .fpd-hero-actionbar .hero-actions{width:100%;justify-content:center}
}

@media(max-width:720px){
  .fpd-visual-hero{padding-bottom:14px}
  .fpd-visual-frame{overflow:hidden;box-shadow:0 12px 32px rgba(5,66,111,.12)}
  .fpd-visual-frame>img{aspect-ratio:auto;min-height:0;object-fit:contain}
  .fpd-hero-actionbar{
    position:relative;
    left:auto;
    bottom:auto;
    transform:none;
    width:auto;
    margin:0;
    padding:15px 14px 16px;
    border:0;
    border-radius:0;
    background:linear-gradient(135deg,#eff9fd,#fff);
    box-shadow:none;
    animation:none;
  }
  .fpd-hero-actionbar .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .fpd-hero-actionbar .btn{min-width:0;padding:10px 13px;font-size:.9rem}
  .fpd-hero-trust{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px;font-size:.78rem;padding-inline:14px!important}
  .fpd-hero-trust span:last-child{grid-column:1/-1}
}

@media(max-width:470px){
  .fpd-announcement{font-size:.72rem;padding:7px 8px}
  .fpd-visual-frame>img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:5% center}
  .fpd-hero-actionbar .hero-actions{grid-template-columns:1fr}
  .fpd-hero-actionbar .btn{width:100%}
  .fpd-hero-trust{grid-template-columns:1fr}
  .fpd-hero-trust span:last-child{grid-column:auto}
  .section-head{align-items:flex-start;flex-direction:column}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
