/* VerinaFlor — carte produit premium, inspirée de la maquette fournie (07/08/2026).
   Surcharge limitée aux cartes produit de l'accueil et de la boutique. */
:root{
  --vfp-ink:#141414;
  --vfp-muted:#77716b;
  --vfp-gold:#c89550;
  --vfp-border:#ead7bc;
  --vfp-card:#fffdfa;
}

:is(.vfr-products-grid,.vfref-carousel) .vf-product-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  overflow:hidden!important;
  border:1px solid var(--vfp-border)!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,#fffefa 0%,#fffdfa 100%)!important;
  box-shadow:0 10px 26px rgba(79,58,30,.045)!important;
  transform:none!important;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card:hover{
  transform:translateY(-4px)!important;
  border-color:#dfc49d!important;
  box-shadow:0 18px 42px rgba(72,50,23,.08)!important;
}

:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__link{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  color:inherit!important;
  text-decoration:none!important;
}

/* Visuel : fond ivoire très clair + filet doré organique, comme la référence. */
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__visual{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1 / 1.18!important;
  margin:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:linear-gradient(180deg,#fffefa 0%,#fffdf9 78%,#fbf5ec 100%)!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__visual::before{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  left:-25%!important;
  bottom:-38%!important;
  display:block!important;
  width:155%!important;
  height:67%!important;
  border:1px solid rgba(198,144,67,.9)!important;
  border-left-color:transparent!important;
  border-right-color:transparent!important;
  border-bottom-color:transparent!important;
  border-radius:50%!important;
  background:transparent!important;
  filter:none!important;
  transform:rotate(2deg)!important;
  opacity:1!important;
  pointer-events:none!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__visual::after{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  left:-18%!important;
  bottom:-53%!important;
  display:block!important;
  width:140%!important;
  height:70%!important;
  border:1px solid rgba(221,195,156,.35)!important;
  border-left-color:transparent!important;
  border-right-color:transparent!important;
  border-bottom-color:transparent!important;
  border-radius:50%!important;
  background:transparent!important;
  filter:none!important;
  opacity:1!important;
  pointer-events:none!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__visual img{
  position:relative!important;
  inset:auto!important;
  z-index:2!important;
  display:block!important;
  width:73%!important;
  height:90%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center 58%!important;
  filter:drop-shadow(0 15px 11px rgba(35,29,22,.13))!important;
  transform:none!important;
  transition:transform .32s ease!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card:hover .vf-product-card__visual img{
  transform:translateY(-3px) scale(1.012)!important;
}

:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__number{
  position:absolute!important;
  z-index:4!important;
  top:22px!important;
  left:22px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:63px!important;
  min-height:34px!important;
  padding:8px 14px!important;
  border:0!important;
  border-radius:999px!important;
  background:#f7e9d3!important;
  color:#1d1b18!important;
  box-shadow:none!important;
  font:500 11px/1 Montserrat,sans-serif!important;
  letter-spacing:0!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__favorite{
  position:absolute!important;
  z-index:5!important;
  top:19px!important;
  right:20px!important;
  display:grid!important;
  width:40px!important;
  height:40px!important;
  place-items:center!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  color:#141414!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__favorite svg{
  width:25px!important;
  height:25px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.35!important;
  transition:transform .2s ease,fill .2s ease!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__favorite:hover svg{transform:scale(1.08)!important}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__favorite.is-active svg{fill:currentColor!important}

:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__content{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  min-height:0!important;
  padding:22px 26px 11px!important;
  text-align:center!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__description,
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__facts,
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__subtitle{
  display:none!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__content h3{
  display:block!important;
  min-height:0!important;
  margin:0!important;
  overflow:visible!important;
  color:var(--vfp-ink)!important;
  font:500 26px/1.08 "Cormorant Garamond",serif!important;
  letter-spacing:-.015em!important;
  text-align:center!important;
  white-space:normal!important;
  text-decoration:none!important;
  -webkit-line-clamp:unset!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__content h3::after{
  content:""!important;
  display:block!important;
  width:20px!important;
  height:1px!important;
  margin:11px auto 9px!important;
  background:var(--vfp-gold)!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__meta{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  min-height:18px!important;
  margin:0!important;
  color:var(--vfp-muted)!important;
  font:400 11px/1.35 Montserrat,sans-serif!important;
  letter-spacing:0!important;
  text-transform:none!important;
  white-space:normal!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__meta span:nth-child(2){
  display:block!important;
  flex:0 0 auto!important;
  width:4px!important;
  height:4px!important;
  border-radius:50%!important;
  background:#8e867d!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__price-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-top:auto!important;
  padding:26px 0 0!important;
  border:0!important;
  text-align:left!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__price-row strong{
  display:flex!important;
  align-items:baseline!important;
  gap:4px!important;
  color:#111!important;
  font:500 23px/1 Montserrat,sans-serif!important;
  letter-spacing:-.035em!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__price-row strong small{
  display:inline!important;
  margin:0!important;
  color:#6f6a65!important;
  font:500 9px/1 Montserrat,sans-serif!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__capacity-inline{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:66px!important;
  height:32px!important;
  padding:0 13px!important;
  border:1px solid #ead6b8!important;
  border-radius:999px!important;
  background:#fffdfa!important;
  color:#b27934!important;
  font:500 11px/1 Montserrat,sans-serif!important;
  white-space:nowrap!important;
}

:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__form{
  display:block!important;
  margin-top:0!important;
  padding:0 22px 22px!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__format-pill{display:none!important}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:13px!important;
  width:100%!important;
  height:58px!important;
  min-height:58px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#151515 0%,#0d0d0d 100%)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(0,0,0,.13)!important;
  font:500 11px/1 Montserrat,sans-serif!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
  cursor:pointer!important;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__button:hover{
  transform:translateY(-1px)!important;
  background:#000!important;
  box-shadow:0 11px 22px rgba(0,0,0,.16)!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__button svg{
  order:-1!important;
  width:19px!important;
  height:19px!important;
  flex:0 0 auto!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__button.is-disabled{
  background:#d4d0ca!important;
  color:#77716a!important;
  box-shadow:none!important;
  cursor:not-allowed!important;
}

/* L'accueil garde 4 cartes visibles sur grand écran, comme la maquette. */
@media (min-width:1100px){
  .vfref-carousel__viewport{
    grid-auto-columns:calc((100% - 72px)/4)!important;
    gap:24px!important;
  }
}

@media (max-width:1050px){
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__content{padding:18px 18px 10px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__content h3{font-size:23px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__price-row{padding-top:20px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__price-row strong{font-size:20px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__form{padding:0 16px 17px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__button{height:52px!important;min-height:52px!important;font-size:9px!important}
}

@media (max-width:720px){
  .vfr-products-grid{gap:10px!important}
  .vfref-carousel__viewport{grid-auto-columns:78%!important;gap:12px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card{border-radius:17px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__visual{aspect-ratio:1 / 1.08!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__visual img{width:77%!important;height:91%!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__number{top:11px!important;left:11px!important;min-width:48px!important;min-height:27px!important;padding:6px 9px!important;font-size:8px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__favorite{top:8px!important;right:8px!important;width:32px!important;height:32px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__favorite svg{width:20px!important;height:20px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__content{padding:13px 10px 7px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__content h3{font-size:18px!important;line-height:1.05!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__content h3::after{width:16px!important;margin:8px auto 7px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__meta{gap:4px!important;font-size:8px!important;line-height:1.25!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__meta span:nth-child(2){width:3px!important;height:3px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__price-row{gap:7px!important;padding-top:15px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__price-row strong{font-size:16px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__capacity-inline{min-width:48px!important;height:25px!important;padding:0 8px!important;font-size:8px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__form{padding:0 9px 10px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__button{height:43px!important;min-height:43px!important;border-radius:10px!important;padding:0 7px!important;gap:7px!important;font-size:6.8px!important;letter-spacing:.08em!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__button svg{width:14px!important;height:14px!important}
}

/* Maquette finale 07/08/2026 — carte fine, blanche et dorée. */
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card{
  border:1px solid #ead0aa!important;border-radius:15px!important;background:#fff!important;
  box-shadow:0 3px 14px rgba(63,45,23,.035)!important;overflow:hidden!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__visual{
  aspect-ratio:1/.91!important;background:#fff!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__visual::before{
  display:none!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__visual::after{display:none!important}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__visual img{
  width:60%!important;height:92%!important;object-position:center 56%!important;filter:drop-shadow(0 9px 7px rgba(25,20,15,.11))!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__gender{
  position:absolute!important;z-index:5!important;top:18px!important;left:18px!important;display:inline-flex!important;
  align-items:center!important;gap:7px!important;min-height:32px!important;padding:0 12px!important;border:0!important;
  border-radius:11px!important;color:#1c1c1c!important;font:600 10px/1 Montserrat,sans-serif!important;
  letter-spacing:.04em!important;text-transform:uppercase!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__gender>span{font-size:17px!important;font-weight:400!important}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__gender--femme{background:#fae9ec!important}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__gender--femme>span{color:#a84f68!important}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__gender--homme{background:#eaf0f6!important}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__gender--homme>span{color:#315f8e!important}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__gender--mixte{background:#eef1e8!important}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__content{padding:10px 15px 5px!important}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__brand{
  margin:0 0 7px!important;color:#bd7d18!important;font:500 10px/1 Montserrat,sans-serif!important;
  letter-spacing:.12em!important;text-transform:uppercase!important;text-align:center!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__content h3{font:500 21px/1.02 "Cormorant Garamond",serif!important}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__content h3::after{width:19px!important;margin:8px auto 9px!important;background:#bd7d18!important}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__variants{gap:11px!important;min-height:33px!important}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__variants :is(span,.vf-product-card__variant){
  min-width:70px!important;min-height:31px!important;padding:0 14px!important;border:1px solid #dedbd7!important;
  background:#fff!important;color:#111!important;font:500 11px/1 Montserrat,sans-serif!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__variants :is(span,.vf-product-card__variant).is-active{border-color:#070707!important;background:#070707!important;color:#fff!important}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__price-row{padding-top:13px!important}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__price-row strong{font:500 17px/1 Montserrat,sans-serif!important;letter-spacing:0!important}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__price-row strong>span{font-size:10px!important;margin-left:2px!important}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__form{padding:0 14px 13px!important}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__button{
  height:43px!important;min-height:43px!important;border-radius:6px!important;background:#050505!important;
  box-shadow:none!important;gap:12px!important;font-size:9px!important;letter-spacing:.14em!important;
}
:is(.vfr-products-grid,.vfref-carousel) .vf-product-card__button svg{width:18px!important;height:18px!important}
@media(min-width:1100px){
  .vfr-products-grid{grid-template-columns:repeat(4,minmax(0,280px))!important;justify-content:center!important;gap:22px!important}
  .vfr-products-grid .vf-product-card{max-width:280px!important;width:100%!important;justify-self:center!important}
  .vfref-carousel__viewport{grid-auto-columns:calc((100% - 90px)/4.45)!important;gap:22px!important}
}
@media(max-width:720px){
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card{border-radius:11px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__visual{aspect-ratio:1/.94!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__visual img{width:64%!important;height:91%!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__gender{top:9px!important;left:9px!important;min-height:23px!important;padding:0 7px!important;gap:4px!important;border-radius:8px!important;font-size:6.5px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__gender>span{font-size:11px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__content{padding:10px 7px 6px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__brand{margin-bottom:7px!important;font-size:7.5px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__content h3{font-size:17px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__content h3::after{width:16px!important;margin:8px auto 9px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__variants{gap:5px!important;min-height:23px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__variants :is(span,.vf-product-card__variant){min-width:47px!important;min-height:22px!important;padding:0 6px!important;font-size:7px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__price-row{padding-top:12px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__price-row strong{font-size:14px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__price-row strong>span{font-size:7px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__form{padding:0 7px 8px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__button{height:38px!important;min-height:38px!important;border-radius:5px!important;font-size:6px!important;gap:6px!important;padding:0 5px!important}
}

@media (max-width:430px){
  .vfref-carousel__viewport{grid-auto-columns:82%!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__content h3{font-size:16px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__meta{font-size:7.3px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__price-row strong{font-size:14px!important}
  :is(.vfr-products-grid,.vfref-carousel) .vf-product-card__button{font-size:6.2px!important}
}

/* Défilement responsive des collections : souris, trackpad et tactile. */
.vfref-carousel__viewport{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scroll-behavior:smooth!important;
  overscroll-behavior-x:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-x pan-y!important;
  scrollbar-width:none!important;
}
.vfref-carousel__viewport::-webkit-scrollbar{display:none!important}
.vfref-carousel__item{
  display:flex!important;
  min-width:0!important;
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
}
.vfref-carousel__item>.vf-product-card{width:100%!important}
@media(min-width:1100px){
  .vfref-carousel__viewport{grid-auto-columns:calc((100% - 66px)/4)!important;gap:22px!important}
}
@media(min-width:721px) and (max-width:1099px){
  .vfref-carousel__viewport{grid-auto-columns:calc((100% - 36px)/3)!important;gap:18px!important}
}
@media(max-width:720px){
  .vfref-carousel__viewport{grid-auto-columns:76%!important;gap:12px!important;padding-right:18px!important}
  .vfr-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
}
@media(max-width:420px){.vfref-carousel__viewport{grid-auto-columns:82%!important}}
