/* Tuiles produit reprises de la boutique (CSS de la page 6, .boutique → .fv-tuiles), le 2026-11-03. */
.fv-tuiles{--turquoise: #20C9C4; --turquoise-tint: #D8F2F1; --turq-deep: #159C98;
  --teal: #02728C; --teal-dark: #01586B; --teal-soft: #D7E9EE;
  --orange: #FF6E2E; --amber: #FFC338; --yellow: #FFDA00; --yellow-soft: #FFF1B0;
  --beige: #FCEFE6; --cream: #FFF6F0; --cream-deep: #FCEFE6;
  --ink: #2A2420; --brun: #423d37; --vert: #1FA38C; --white: #FFFFFF;
  --text: #6E655D; --text-light: #a8a096; --border: #ECE3D9;
  --shadow-sm: 0 2px 10px rgba(42,36,32,.06); --shadow-md: 0 16px 38px -18px rgba(42,36,32,.28);
  --shadow-lg: 0 34px 70px -28px rgba(42,36,32,.34); --shadow-btn: 0 12px 24px -12px rgba(32,201,196,.75);
  --radius: 24px; --radius-sm: 18px; --radius-xs: 12px; --pill: 999px;
  --font-head: 'Poppins', system-ui, sans-serif; --font-body: 'Inter', system-ui, -apple-system, sans-serif;
  --font: var(--font-body);}
.fv-tuiles{font-size: 16px; -webkit-text-size-adjust: 100%; scroll-behavior: smooth;}
.fv-tuiles .product-card__name,.fv-tuiles .price-current,.fv-tuiles .btn,.fv-tuiles .badge{font-family: var(--font-head);}
.fv-tuiles .brand-stripe{height: 6px; width: 100%; background: linear-gradient(90deg, var(--turquoise) 0 25%, var(--yellow) 25% 50%, var(--orange) 50% 75%, var(--teal) 75% 100%);}
.fv-tuiles .badge{display: inline-flex; align-items: center; padding: 4px 12px; border-radius: var(--pill); font-size: 12px; font-weight: 700; line-height: 1.5;}
.fv-tuiles .badge-promo{background: var(--orange); color: #fff;}
.fv-tuiles .badge-info{background: var(--turquoise-tint); color: var(--teal);}
.fv-tuiles .badge-count{background: var(--cream-deep); color: var(--brun); font-weight: 700;}
.fv-tuiles .badge-default{background: var(--turquoise-tint); color: var(--teal);}
.fv-tuiles .pack-card, .fv-tuiles .product-card{cursor: pointer;}
.fv-tuiles .price-old{text-decoration: line-through; color: var(--text-light); font-size: 14px; font-weight: 600;}
.fv-tuiles .price-current{font-size: 1.45rem; font-weight: 700; color: var(--ink);}
.fv-tuiles .price-sm{font-size: 1.05rem !important;}
.fv-tuiles .price-ttc{font-size: 13px; color: var(--text-light); font-weight: 700;}
.fv-tuiles .price-ht{font-size: 12px; color: var(--text);}
.fv-tuiles .btn{display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 13px 26px; border-radius: var(--pill); font-weight: 700; font-size: 14px; transition: all .18s;}
.fv-tuiles .btn-primary{background: var(--turquoise); color: #fff; box-shadow: var(--shadow-btn);}
.fv-tuiles .btn-primary:hover{background: var(--turq-deep); text-decoration: none; transform: translateY(-1px);}
.fv-tuiles .btn-secondary{background: var(--white); color: var(--ink); border: 1.5px solid var(--border);}
.fv-tuiles .btn-secondary:hover{border-color: var(--turquoise); color: var(--teal); text-decoration: none;}
.fv-tuiles .btn-outline{background: var(--white); color: var(--teal); border: 1.5px solid var(--turquoise);}
.fv-tuiles .btn-outline:hover{background: var(--turquoise-tint); text-decoration: none;}
.fv-tuiles .btn-add{width: 100%;}
.fv-tuiles .btn-sm{padding: 9px 16px; font-size: 13px;}
.fv-tuiles .btn-xs{padding: 7px 14px; font-size: 12px;}
.fv-tuiles .btn-lg{padding: 16px 36px; font-size: 16px;}
.fv-tuiles .btn-loading{opacity: .7; pointer-events: none;}
.fv-tuiles .products-grid{display: grid; gap: 16px;}
.fv-tuiles .products-grid--3{grid-template-columns: repeat(auto-fill, minmax(238px, 1fr));}
.fv-tuiles .products-grid--4{grid-template-columns: repeat(auto-fill, minmax(196px, 1fr));}
.fv-tuiles .product-card{position: relative; background: var(--white); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); transition: box-shadow .2s, transform .15s;}
.fv-tuiles .product-card:hover{box-shadow: var(--shadow-md); transform: translateY(-3px);}
.fv-tuiles .product-card .badge-promo{position: absolute; top: 10px; right: 10px; z-index: 2;}
.fv-tuiles .product-card__media{position: relative;}
.fv-tuiles .product-card__image{background: #e3f1f3; padding: 16px; display: flex; align-items: center; justify-content: center; min-height: 116px;}
.fv-tuiles .product-card__image img{max-height: 120px; object-fit: contain;}
.fv-tuiles .product-card__image-placeholder svg{stroke: var(--teal); opacity: .55;}
.fv-tuiles .product-card__glyph{font-family: var(--font-head); font-weight: 700; font-size: 42px; color: var(--ink); line-height: 1; letter-spacing: .01em;}
.fv-tuiles .product-card__glyph--blank{font-size: 0;}
.fv-tuiles .pave-blank{display: inline-flex; flex-direction: column; align-items: center; gap: 5px; font-family: var(--font-body); font-size: 12px; font-weight: 700; letter-spacing: .03em; color: var(--teal); border: 2px dashed var(--turquoise); border-radius: 12px; padding: 14px 20px; background: var(--turquoise-tint);}
.fv-tuiles .pave-blank svg{stroke: var(--teal);}
.fv-tuiles .product-card__media .brand-stripe{position: absolute; bottom: 0; left: 0; height: 4px;}
.fv-tuiles .product-card__body{padding: 14px 16px 8px; flex: 1; display: flex; flex-direction: column; gap: 4px;}
.fv-tuiles .product-card__name{font-size: 14px; font-weight: 700; color: var(--ink);}
.fv-tuiles .product-card__desc{font-size: 12px; color: var(--text); line-height: 1.4;}
.fv-tuiles .product-card__includes{font-size: 11px; color: var(--text-light); font-weight: 700;}
.fv-tuiles .product-card__footer{padding: 10px 16px 14px; display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap;}
.fv-tuiles .product-card__footer .btn{flex-shrink: 0; white-space: nowrap;}
.fv-tuiles .product-card__price{display: flex; align-items: baseline; gap: 6px; min-width: 0; flex-wrap: wrap;}
.fv-tuiles .product-card__price .price-current{font-size: 1.1rem;}
.fv-tuiles .product-card__price .price-old{font-size: 12px;}
@media (max-width: 639px){.fv-tuiles .packs-grid, .fv-tuiles .products-grid{display: flex; gap: 14px; grid-template-columns: none; align-items: stretch; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; margin: 0 calc(-1 * var(--gutter)); padding: 4px var(--gutter) 18px; scroll-padding-left: var(--gutter); scrollbar-width: none;}.fv-tuiles .packs-grid::-webkit-scrollbar, .fv-tuiles .products-grid::-webkit-scrollbar{display: none;}.fv-tuiles .packs-grid > *, .fv-tuiles .products-grid > *{scroll-snap-align: start; flex: 0 0 auto;}.fv-tuiles .products-grid--3 > *{width: 62%; max-width: 250px;}.fv-tuiles .products-grid--4 > *{width: 47%; max-width: 220px;}.fv-tuiles .products-grid.products-grid--expanded{display: grid; grid-template-columns: 1fr 1fr; gap: 12px; overflow: visible; margin: 0; padding: 4px 0 0; scroll-snap-type: none;}.fv-tuiles .products-grid.products-grid--expanded > *{width: auto; max-width: none; scroll-snap-align: none;}}
@media (min-width: 640px){.fv-tuiles .products-grid--3{grid-template-columns: repeat(auto-fit, minmax(180px, 260px)) !important;}.fv-tuiles .products-grid--4{grid-template-columns: repeat(6, 1fr) !important;}}
.fv-tuiles{--gutter:clamp(16px,4vw,48px);font-family:var(--font-body);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}
.fv-tuiles .product-card__name a{color:inherit;text-decoration:none}
.fv-tuiles .product-card__image img{width:auto;height:auto;max-width:100%}
.fv-tuiles .btn{border:0;cursor:pointer;line-height:1}
.fv-tuiles .btn-secondary{border:1.5px solid var(--border)}
.fv-tuiles .btn svg{stroke:currentColor}
@media (min-width:640px){.fv-tuiles .products-grid--4{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important}}
@media (max-width:639px){.fv-tuiles .products-grid .product-card{flex:0 0 min(72%,260px);scroll-snap-align:start}}


