/* Vina Domus – page d'accueil sur téléphone : même contenu, mêmes visuels, mieux rangé.
   Uniquement sur la page d'accueil (body#index) et sous 768 px de large.
   Ordinateurs et tablettes : aucun changement. Retirer ce fichier remet l'accueil d'origine. */
/* pastilles des rayons : cachées par défaut, affichées seulement sur téléphone */
.vd-rayons{display:none}

@media (max-width: 767px) {

  /* ---------- 1. En-tête : logo réduit au centre, recherche sur toute la largeur ---------- */
  body#index .tvcmsmobile-header-search-logo-wrapper{display:flex!important;flex-direction:column;align-items:stretch;gap:8px;padding:8px 15px 10px!important;margin:0!important}
  body#index .tvcmsmobile-header-logo-right-wrapper{align-self:center;width:auto!important;max-width:none!important;padding:0!important;margin:0!important;float:none!important}
  body#index #tvcmsmobile-header-logo,body#index #tvcmsmobile-header-logo .tv-header-logo{padding:0!important;margin:0!important;width:auto!important}
  body#index #tvcmsmobile-header-logo img{height:40px!important;width:auto!important;max-width:none!important}
  body#index .tvcmsmobile-header-search{width:100%!important;max-width:none!important;padding:0!important;margin:0!important;float:none!important}
  body#index .tvcmsmobile-header-search .tvsearch-top-wrapper{padding:0!important}
  body#index #tvcmsmobile-search,body#index #tvcmsmobile-search .search-widget{margin:0!important;padding:0!important;width:100%!important}
  body#index #tvcmsmobile-search .tvheader-top-search{display:flex!important;align-items:center;width:100%!important}
  body#index #tvcmsmobile-search .tvheader-top-search-wrapper-info-box{flex:1 1 auto!important;min-width:0!important;width:auto!important}
  body#index #tvcmsmobile-search .tvcmssearch-words{width:100%!important;min-width:0!important;padding-left:16px!important;padding-right:8px!important;font-size:13px!important;height:42px!important}
  body#index #tvcmsmobile-search .tvheader-top-search-wrapper{flex:0 0 52px!important;width:52px!important;min-width:0!important;padding:0!important;height:42px!important;display:flex;align-items:center;justify-content:center}

  /* ---------- 2. Catégories : les trois mêmes visuels côte à côte ---------- */
  body#index .tvcmstwoofferbanners-one{padding-top:14px!important;padding-bottom:0!important;margin:0!important}
  body#index .tvcmstwoofferbanner-wrapper{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0!important}
  body#index .tvcmstwoofferbanner-wrapper::before,body#index .tvcmstwoofferbanner-wrapper::after{display:none!important}
  body#index .tvofferbanner-two-inner{width:auto!important;max-width:none!important;padding:0!important;margin:0!important;float:none!important;animation:none!important;visibility:visible!important}
  body#index .tvofferbanner-two-inner>a{display:block;position:relative;height:86px;border-radius:12px;overflow:hidden}
  body#index .tvofferbanner-two-inner>a>img{width:100%!important;height:100%!important;object-fit:cover;border-radius:12px}
  body#index .tvofferbanner-two-inner .tvtwoofferbanner-content{inset:0!important;top:0!important;transform:none!important;display:flex!important;align-items:center;justify-content:center;width:100%!important;height:100%!important;padding:0 4px!important}
  body#index .tvofferbanner-two-inner .tvtwoofferbanner-content h2,body#index .tvofferbanner-two-inner .tvtwoofferbanner-content h2 span{font-size:11px!important;line-height:1.25!important;letter-spacing:1.2px!important;margin:0!important;text-align:center;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
  /* pastilles vers les autres rayons (ajoutées par vd-accueil.js) */
  body#index .vd-rayons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 0 2px;margin:0}
  body#index .vd-rayons::-webkit-scrollbar{display:none}
  body#index .vd-rayons a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:38px;border:1px solid #d7ba69;color:#49011b;border-radius:999px;padding:5px 6px;font:600 11.5px/1.15 Montserrat,sans-serif;text-decoration:none;background:#fff;overflow-wrap:normal;word-break:normal}

  /* ---------- 4-5. Nouveaux produits et meilleures ventes : on fait glisser ---------- */
  body#index .np-section .np-arrow,body#index .bsp-section .bsp-arrow,body#index .bsp-section [class*="bsp-prev"],body#index .bsp-section [class*="bsp-next"]{display:none!important}
  body#index .np-head,body#index .bsp-head{margin-bottom:0!important;min-height:0!important}
  body#index .np-section,body#index .bsp-section{padding-top:18px!important;padding-bottom:6px!important}
  body#index .np-track,body#index .bsp-track{gap:10px!important;scroll-snap-type:x mandatory;margin:0 -15px!important;padding:14px 15px 6px!important;scroll-padding-left:15px;scrollbar-width:none;width:auto!important}
  body#index .np-track::-webkit-scrollbar,body#index .bsp-track::-webkit-scrollbar{display:none}
  body#index .np-track>article{flex:0 0 166px!important;width:166px!important;max-width:166px!important;scroll-snap-align:start}
  body#index .bsp-track{grid-template-rows:auto!important;grid-auto-flow:column!important;grid-template-columns:none!important;grid-auto-columns:166px!important}
  body#index .bsp-track>article{width:166px!important;max-width:166px!important;scroll-snap-align:start}

  /* ---------- 6. Cartes produit : tout est gardé, en format compact ---------- */
  body#index :is(.np-track,.bsp-track) .tvproduct-wrapper{border-radius:20px!important}
  body#index :is(.np-track,.bsp-track) .tvproduct-image{height:138px!important;min-height:0!important;padding:6px 0 0!important;display:flex;align-items:center;justify-content:center}
  body#index :is(.np-track,.bsp-track) .tvproduct-image a.thumbnail{height:132px!important;display:flex;align-items:center;justify-content:center}
  body#index :is(.np-track,.bsp-track) .tvproduct-image img.tvproduct-defult-img{height:132px!important;width:132px!important;object-fit:contain}
  body#index :is(.np-track,.bsp-track) .pastiles{left:6px!important;top:6px!important;width:auto!important;height:auto!important;gap:4px}
  body#index :is(.np-track,.bsp-track) .pastile,body#index :is(.np-track,.bsp-track) .pastile img{width:24px!important;height:24px!important;min-width:0!important}
  body#index :is(.np-track,.bsp-track) .tvproduct-hover-btn{display:none!important}
  body#index :is(.np-track,.bsp-track) .tvproduct-info-box-wrapper,body#index :is(.np-track,.bsp-track) .product-description{padding:0!important;margin:0!important}
  body#index :is(.np-track,.bsp-track) .product-description-2{padding:4px 8px 0!important;min-height:0!important}
  body#index :is(.np-track,.bsp-track) .tvproduct-name,body#index :is(.np-track,.bsp-track) .product-title{min-height:0!important;margin:0!important;padding:0!important}
  body#index :is(.np-track,.bsp-track) .product-title h2{font-size:12.5px!important;font-weight:700!important;line-height:1.3!important;letter-spacing:normal!important;margin:0!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:48px}
  body#index :is(.np-track,.bsp-track) .grc-category-stars{transform:scale(.8);transform-origin:center;margin:0!important}
  body#index :is(.np-track,.bsp-track) .tvproduct-features{font-size:10px!important;line-height:1.3!important;margin:2px 0 0!important;letter-spacing:normal!important}
  body#index :is(.np-track,.bsp-track) .tvproduct-features *{font-size:10px!important;letter-spacing:normal!important}
  body#index :is(.np-track,.bsp-track) .vue-specific_quantities{flex-direction:column!important;align-items:center!important;gap:4px!important;padding:6px 6px 0!important;margin:0!important;height:auto!important}
  body#index :is(.np-track,.bsp-track) .specific-quantities{gap:5px!important;width:auto!important;justify-content:center;margin:0!important}
  body#index :is(.np-track,.bsp-track) .specific-qty-option{width:68px!important;min-width:0!important;height:auto!important;padding:4px 4px 5px!important;border-radius:10px!important;margin:0!important}
  body#index :is(.np-track,.bsp-track) .specific-qty-option *{font-size:10px!important;line-height:1.3!important;letter-spacing:normal!important}
  body#index :is(.np-track,.bsp-track) .specific-qty-option .price,body#index :is(.np-track,.bsp-track) .specific-qty-option [class*="price"]{font-size:11px!important;font-weight:700!important}
  body#index :is(.np-track,.bsp-track) .vue-initial-price{border:0!important;width:auto!important;height:auto!important;padding:2px 0 0!important;margin:0!important;text-align:center}
  body#index :is(.np-track,.bsp-track) .vue-initial-price *{text-align:center!important;letter-spacing:normal!important}
  body#index :is(.np-track,.bsp-track) .normal-price{height:auto!important;padding:0!important;border:0!important}
  body#index :is(.np-track,.bsp-track) .vue-add-cart-container{flex-direction:column!important;align-items:stretch!important;gap:6px!important;padding:7px 8px 8px!important;margin-top:6px!important;height:auto!important}
  body#index :is(.np-track,.bsp-track) .stock_available-text{font-size:10px!important;line-height:1.2!important;width:auto!important;max-width:none!important;letter-spacing:normal!important}
  body#index :is(.np-track,.bsp-track) .vue-add-cart{width:100%!important;height:36px!important;margin:0!important}
  body#index :is(.np-track,.bsp-track) .vue-add-cart .btn-qty{height:30px!important;min-width:38px!important;width:38px!important;font-size:13px!important;padding:0!important}
  body#index :is(.np-track,.bsp-track) .vue-add-cart .btn-vue{height:30px!important;flex:1 1 auto;font-size:14px!important;padding:0 6px!important;width:auto!important}

  /* sélecteur de quantité (1, 2, 3, 6, 12, 24, 36, Autre) calé sur la largeur de la carte */
  body#index :is(.np-track,.bsp-track) .vue-add-cart{position:relative!important}
  body#index :is(.np-track,.bsp-track) .vue-product-qty{left:0!important;right:0!important;width:auto!important;top:auto!important;bottom:calc(100% + 6px)!important;height:auto!important;transform:none!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important;padding:6px!important;z-index:5!important}
  body#index :is(.np-track,.bsp-track) .vue-product-qty>*{min-width:0!important;width:auto!important;height:34px!important;font-size:13px!important;padding:0!important;margin:0!important}

  /* cartes de même hauteur, côte à côte : chaque zone a une place fixe, la barre « Ajouter » est calée en bas */
  body#index .np-track{align-items:stretch!important}
  body#index :is(.np-track,.bsp-track)>article,body#index :is(.np-track,.bsp-track) .thumbnail-container{height:auto!important;display:flex!important;flex-direction:column}
  body#index :is(.np-track,.bsp-track) .thumbnail-container{flex:1 1 auto}
  body#index :is(.np-track,.bsp-track) .tvproduct-wrapper{flex:1 1 auto;display:flex!important;flex-direction:column;height:auto!important}
  body#index :is(.np-track,.bsp-track) .tvproduct-image{flex:none}
  body#index :is(.np-track,.bsp-track) .tvproduct-info-box-wrapper{flex:1 1 auto;display:flex!important;flex-direction:column}
  body#index :is(.np-track,.bsp-track) .product-description{flex:1 1 auto;display:flex!important;flex-direction:column}
  body#index :is(.np-track,.bsp-track) .grc-category-stars{height:26px!important;min-height:26px!important;display:flex;align-items:center;justify-content:center;overflow:visible}
  body#index :is(.np-track,.bsp-track) .tvproduct-features{min-height:26px!important;display:block!important;text-align:center}
  body#index :is(.np-track,.bsp-track) .vue-specific_quantities{margin-top:auto!important}
  body#index :is(.np-track,.bsp-track) .vue-add-cart-container{margin-top:0!important}

  /* remises : une ligne par palier, dans l'ordre croissant (« Dès 6 » puis « Dès 12 »), mêmes couleurs */
  body#index :is(.np-track,.bsp-track) .specific-quantities{display:flex!important;flex-direction:column-reverse!important;gap:4px!important;width:100%!important;padding:0 2px!important}
  body#index :is(.np-track,.bsp-track) .specific-qty-option{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;width:100%!important;height:26px!important;padding:0 8px!important;border-radius:8px!important;background:#e3e3e3!important;gap:6px}
  body#index :is(.np-track,.bsp-track) .specific-qty-option-1{display:flex!important;flex-direction:row-reverse!important;align-items:center!important;gap:6px!important;margin:0!important}
  body#index :is(.np-track,.bsp-track) .specific-qty-option .qty-number{font-size:11px!important;color:#333!important;text-transform:capitalize;margin:0!important;white-space:nowrap}
  body#index :is(.np-track,.bsp-track) .specific-qty-option .discount-2{font-size:10px!important;line-height:1!important;padding:3px 6px!important;border-radius:6px!important;margin:0!important;white-space:nowrap}
  body#index :is(.np-track,.bsp-track) .specific-qty-option-2{margin:0!important}
  body#index :is(.np-track,.bsp-track) .specific-qty-option .price{font-size:11.5px!important;font-weight:700!important;white-space:nowrap}
  body#index :is(.np-track,.bsp-track) .vue-initial-price{padding-top:6px!important}
  body#index :is(.np-track,.bsp-track) .normal-price .product-price{font-size:17px!important}
  body#index :is(.np-track,.bsp-track) .normal-price .product-price-text{font-size:10px!important}

  /* bouton « Tout voir » : ne dépasse jamais de l'écran */
  body#index .np-seeall-mobile,body#index .bsp-seeall-mobile{max-width:100%!important;box-sizing:border-box!important;white-space:normal!important;text-align:center;justify-content:center;font-size:13px!important;letter-spacing:.5px!important;padding:9px 16px!important}

  /* ---------- 8. Badge Avis Garantis : on garde la taille du widget (il se réduit déjà à 55 % sur téléphone) ---------- */

  /* ---------- 9. Espace sous le diaporama (60 px de marge + 46 px pour les points dans le thème) ---------- */
  body#index .tvcms-slider-offerbanner-wrapper{margin-bottom:14px!important}
  body#index .tvcms-main-slider .owl-carousel{padding-bottom:30px!important}
}

/* Petits téléphones (moins de 375 px) : « NOS CHAMPAGNES » doit tenir sur une ligne dans sa tuile */
@media (max-width: 374px) {
  body#index .tvofferbanner-two-inner .tvtwoofferbanner-content h2,body#index .tvofferbanner-two-inner .tvtwoofferbanner-content h2 span{font-size:10px!important;letter-spacing:.5px!important}
}
