.elementor-791 .elementor-element.elementor-element-abd311f{--display:flex;--gap:4px 4px;--row-gap:4px;--column-gap:4px;}.elementor-791 .elementor-element.elementor-element-70ffcb0{--display:flex;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-791 .elementor-element.elementor-element-b9bb93f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -25px) 0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-791 .elementor-element.elementor-element-2fba575{background-color:#B29760;border-style:none;color:#FFFBF0;}.elementor-791 .elementor-element.elementor-element-c468f28{padding:7px 10px 7px 10px;font-family:"Alegreya SC", Sans-serif;font-weight:300;text-transform:uppercase;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );font-style:var( --e-global-typography-primary-font-style );text-decoration:var( --e-global-typography-primary-text-decoration );color:var( --e-global-color-primary );}.elementor-791 .elementor-element.elementor-element-02c9302{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-791 .elementor-element.elementor-element-02c9302.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-791 .elementor-element.elementor-element-02c9302 .elementor-heading-title{font-family:"Alegreya", Sans-serif;font-size:20px;font-weight:300;font-style:normal;text-decoration:underline;}.elementor-791 .elementor-element.elementor-element-efad2fb{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;font-family:"Roboto", Sans-serif;font-size:21px;font-weight:400;color:#5B4B3C;}.elementor-791 .elementor-element.elementor-element-efad2fb.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-791 .elementor-element.elementor-element-5ebb67b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Roboto", Sans-serif;font-size:22px;font-weight:400;color:#5B4B3C;}.elementor-791 .elementor-element.elementor-element-b04f65f{margin:2px 2px calc(var(--kit-widget-spacing, 0px) + 20px) 2px;font-family:"Roboto", Sans-serif;font-size:17px;font-weight:400;color:#5B4B3C;}.elementor-791 .elementor-element.elementor-element-29a5d1e{--display:flex;--min-height:0px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:2px 8px;--row-gap:2px;--column-gap:8px;--flex-wrap:wrap;--align-content:flex-start;--margin-top:auto;--margin-bottom:0;--margin-left:0;--margin-right:0;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-791 .elementor-element.elementor-element-98894a4{font-family:"Roboto", Sans-serif;font-size:44px;font-weight:400;color:#B29760;}.elementor-791 .elementor-element.elementor-element-98894a4 p{margin-block-end:0px;}.elementor-791 .elementor-element.elementor-element-98894a4 a:hover, .elementor-791 .elementor-element.elementor-element-98894a4 a:focus{color:#B29760;}.elementor-791 .elementor-element.elementor-element-3650db0{font-family:"Alegreya SC", Sans-serif;font-size:44px;font-weight:400;color:#5B4B3C;}.elementor-791 .elementor-element.elementor-element-3650db0 p{margin-block-end:0px;}.elementor-791 .elementor-element.elementor-element-5165e62{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 5px) 31px;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:start;font-family:"Alegreya SC", Sans-serif;font-size:20px;font-weight:400;text-decoration:line-through;color:#B29760;}.elementor-791 .elementor-element.elementor-element-5165e62.elementor-element{--order:-99999 /* order start hack */;}.elementor-791 .elementor-element.elementor-element-5165e62 p{margin-block-end:0px;}.elementor-791 .elementor-element.elementor-element-5165e62 a{color:#B29760;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );}.elementor-791 .elementor-element.elementor-element-a5dbb8b .elementor-button{border-style:solid;border-width:1px 1px 1px 1px;}.elementor-791 .elementor-element.elementor-element-f100e10{--display:flex;}@media(max-width:1024px){.elementor-791 .elementor-element.elementor-element-02c9302 .elementor-heading-title{font-size:18px;letter-spacing:0.3px;}.elementor-791 .elementor-element.elementor-element-efad2fb{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}}@media(min-width:768px){.elementor-791 .elementor-element.elementor-element-abd311f{--content-width:1102px;}}/* Start custom CSS for container, class: .elementor-element-70ffcb0 */@media (min-width: 1025px) {
  .elementor-791 .elementor-element.elementor-element-70ffcb0 { height: 340px; }
  .elementor-791 .elementor-element.elementor-element-70ffcb0 img { width: auto; max-width: 100%; height: 100%; object-fit: contain; }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-02c9302 */.elementor-791 .elementor-element.elementor-element-02c9302 .elementor-heading-title{font-size:20px !important;}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-efad2fb */.elementor-791 .elementor-element.elementor-element-efad2fb .elementor-text-editor{font-size:21px !important;}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-5ebb67b */.elementor-791 .elementor-element.elementor-element-5ebb67b .elementor-text-editor{font-size:20px !important;}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-b04f65f */.elementor-791 .elementor-element.elementor-element-b04f65f .elementor-text-editor{font-size:17px !important;}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-a5dbb8b */.elementor-791 .elementor-element.elementor-element-a5dbb8b .elementor-button{font-size:18px !important;padding:6px 16px !important;border-width:0.5px !important;font-weight:400 !important;}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-29a5d1e *//* Affichage conditionnel prix promo (ACF acf_prix_promo) */
:where(.e-loop-item, .elementor-791) .wine-price-old{ display: none; }
:where(.e-loop-item, .elementor-791) .wine-price-promo:empty{ display: none; }
:where(.e-loop-item, .elementor-791) .wine-price-promo:not(:empty) ~ .wine-price-old{ display: inline-block; }
.elementor-791 .elementor-element.elementor-element-29a5d1e:has(.wine-price-promo:not(:empty)) .wine-price:not(.wine-price-promo){ display: none; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-abd311f */:where(.e-loop-item, .elementor-791) .wine-card, :where(.e-loop-item, .elementor-791) .wine-card *{ box-sizing: border-box; }
:where(.e-loop-item, .elementor-791) .wine-card{
  display: flex;
  flex-direction: column;
  height: 100%;
  text-align: center;
  background: #fffbf0;
  color:#5B4B3C;
  max-width: 340px;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid #B29760;
  outline: 2px solid #B29760;
  outline-offset: 1px;
  padding: 10px 20px 8px 20px;
}
:where(.e-loop-item, .elementor-791) .wine-card p, :where(.e-loop-item, .elementor-791) .wine-card h1, :where(.e-loop-item, .elementor-791) .wine-card h2, :where(.e-loop-item, .elementor-791) .wine-card h3, :where(.e-loop-item, .elementor-791) .wine-card h4, :where(.e-loop-item, .elementor-791) .wine-card h5, :where(.e-loop-item, .elementor-791) .wine-card h6{
  margin: 0 !important;
  padding: 0 !important;
}
:where(.e-loop-item, .elementor-791) .wine-card *, :where(.e-loop-item, .elementor-791) .wine-card p, :where(.e-loop-item, .elementor-791) .wine-card h1, :where(.e-loop-item, .elementor-791) .wine-card h2, :where(.e-loop-item, .elementor-791) .wine-card h3{
  overflow-wrap: break-word !important;
  word-break: break-word !important;
  hyphens: auto !important;
}
:where(.e-loop-item, .elementor-791) .wine-frame{
  position: relative;
  flex-shrink: 0;
  padding: 0px;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
}
:where(.e-loop-item, .elementor-791) .wine-img-wrap{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
:where(.e-loop-item, .elementor-791) .wine-img-wrap img{
  max-height: 100%;
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}
:where(.e-loop-item, .elementor-791) .wine-contenance, :where(.e-loop-item, .elementor-791) .wine-contenance *{
  position: static;
  font-family: "Alegreya SC", serif !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
      letter-spacing: 0.08em !important;
  color:#fffbf0 !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
}
:where(.e-loop-item, .elementor-791) .wine-contenance{
  position: absolute;
  right: 6px;
  bottom: 4px;
  width: max-content !important;
  max-width: calc(100% - 20px) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  background: #B29760;
  border: none;
  padding: 5px 10px;
}
:where(.e-loop-item, .elementor-791) .wine-title{
  flex-shrink: 0;
  min-height: 1.3em;
  display: flex;
  align-items: center;
  justify-content: center;
}
:where(.e-loop-item, .elementor-791) .wine-title, :where(.e-loop-item, .elementor-791) .wine-title *{
  width: 100%;
  min-width: 0;
  font-size: 16px !important;
  line-height: 1.15 !important;
  letter-spacing: .5px !important;
  text-transform: none !important;
  font-family: "Alegreya SC", serif !important;
  font-weight: 700 !important;
  color:#5B4B3C !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
:where(.e-loop-item, .elementor-791) .wine-cuvee{
  flex-shrink: 0;
  min-height: 1.4em;
  margin-top: 0px !important;
  display: flex;
  align-items: center;
  justify-content: center;
}
:where(.e-loop-item, .elementor-791) .wine-cuvee, :where(.e-loop-item, .elementor-791) .wine-cuvee *{
  width: 100%;
  min-width: 0;
  font-family: "Parisienne", cursive !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  color:#5B4B3C !important;
  font-style: normal !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
:where(.e-loop-item, .elementor-791) .wine-year{
  flex-shrink: 0;
  min-height: 1.3em;
  margin-top: 0px !important;
}
:where(.e-loop-item, .elementor-791) .wine-year, :where(.e-loop-item, .elementor-791) .wine-year *{
  min-width: 0;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-family: "Alegreya SC", serif !important;
  letter-spacing: .5px !important;
  font-weight: 400 !important;
  color:#5B4B3C !important;
  text-transform: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
:where(.e-loop-item, .elementor-791) .wine-domain{
  flex-shrink: 0;
  min-height: 1.4em;
  margin-top: 0px !important;
  display: flex;
  align-items: center;
  justify-content: center;
}
:where(.e-loop-item, .elementor-791) .wine-domain, :where(.e-loop-item, .elementor-791) .wine-domain *{
  width: 100%;
  min-width: 0;
  font-size: 11px !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  font-family: "Alegreya SC", serif !important;
  letter-spacing: .5px !important;
  font-weight: 400 !important;
  color:#5B4B3C !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
:where(.e-loop-item, .elementor-791) .wine-price{
  flex-shrink: 0;
  margin: 0 !important;
  padding: 0 !important;
}
:where(.e-loop-item, .elementor-791) .wine-price, :where(.e-loop-item, .elementor-791) .wine-price *{
  min-width: 0;
  font-size: 30px !important;
  font-weight: 700 !important;
  color:#5B4B3C !important;
  font-family: "Alegreya SC", serif !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
:where(.e-loop-item, .elementor-791) .wine-btn{
  display: block !important;
  flex-shrink: 0;
  text-align: center;
}
:where(.e-loop-item, .elementor-791) .wine-btn a{
  display: inline-block !important;
  max-width: 100%;
  background: #fffbf0 !important;
  color:#B29760 !important;
  border: 1px solid #B29760 !important;
  padding: 4px 14px !important;
  border-radius: 0 !important;
  font-size: 12px !important;
  font-family: "Alegreya SC", serif !important;
  text-transform: none !important;
  text-decoration: none !important;
  letter-spacing: .5px !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
:where(.e-loop-item, .elementor-791) .wine-btn a span{
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
  display: inline !important;
}


:where(.e-loop-item, .elementor-791) .wine-title{
  border-top: 1px solid #B29760 !important;
  padding-top: 6px !important;
}

:where(.e-loop-item, .elementor-791) .wine-frame{
  margin-bottom: 24px !important;
}

:where(.e-loop-item, .elementor-791) .wine-contenance{
  bottom: -20px !important;
}

:where(.e-loop-item, .elementor-791) .wine-contenance{
  right: auto !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  padding: 5px 10px !important;
}
:where(.e-loop-item, .elementor-791) .wine-contenance, :where(.e-loop-item, .elementor-791) .wine-contenance *{
  font-size: 11px !important;
}

:where(.e-loop-item, .elementor-791) .wine-frame{
  margin-bottom: 48px !important;
}

:where(.e-loop-item, .elementor-791) .wine-contenance{
  bottom: -40px !important;
}

:where(.e-loop-item, .elementor-791) .wine-title{
  padding-top: 24px !important;
}

:where(.e-loop-item, .elementor-791) .wine-card{
  border-width: 1px !important;
  outline-width: 2px !important;
}

:where(.e-loop-item, .elementor-791) .wine-etiquette{
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  width: max-content !important;
  max-width: calc(100% - 20px) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  background: #B29760;
  border-radius: 999px !important;
      padding: 7px 10px !important;
  z-index: 2;
}
:where(.e-loop-item, .elementor-791) .wine-etiquette:empty{
  display: none !important;
}
:where(.e-loop-item, .elementor-791) .wine-etiquette, :where(.e-loop-item, .elementor-791) .wine-etiquette *{
  font-family: "Alegreya SC", serif !important;
  text-transform: uppercase !important;
  font-size: 14px !important;
  letter-spacing: 1px !important;
  color:#fffbf0 !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
}


:where(.e-loop-item, .elementor-791) .wine-card{
  overflow: visible !important;
}

@media (max-width:767px){
  :where(.e-loop-item, .elementor-791) .wine-card{
    padding: 14px 10px 8px 10px !important;
  }
  :where(.e-loop-item, .elementor-791) .wine-title, :where(.e-loop-item, .elementor-791) .wine-title *, :where(.e-loop-item, .elementor-791) .wine-cuvee, :where(.e-loop-item, .elementor-791) .wine-cuvee *, :where(.e-loop-item, .elementor-791) .wine-year, :where(.e-loop-item, .elementor-791) .wine-year *, :where(.e-loop-item, .elementor-791) .wine-domain, :where(.e-loop-item, .elementor-791) .wine-domain *, :where(.e-loop-item, .elementor-791) .wine-price, :where(.e-loop-item, .elementor-791) .wine-price *, :where(.e-loop-item, .elementor-791) .wine-contenance, :where(.e-loop-item, .elementor-791) .wine-contenance *, :where(.e-loop-item, .elementor-791) .wine-etiquette, :where(.e-loop-item, .elementor-791) .wine-etiquette *, :where(.e-loop-item, .elementor-791) .wine-btn a{
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: unset !important;
  }
  :where(.e-loop-item, .elementor-791) .wine-title, :where(.e-loop-item, .elementor-791) .wine-title *{
    font-size: 13px !important;
  }
  :where(.e-loop-item, .elementor-791) .wine-cuvee, :where(.e-loop-item, .elementor-791) .wine-cuvee *{
    font-size: 12px !important;
  }
  :where(.e-loop-item, .elementor-791) .wine-domain, :where(.e-loop-item, .elementor-791) .wine-domain *{
    font-size: 13px !important;
  }
  :where(.e-loop-item, .elementor-791) .wine-contenance, :where(.e-loop-item, .elementor-791) .wine-contenance *{
    font-size: 10px !important;
  }
  :where(.e-loop-item, .elementor-791) .wine-etiquette, :where(.e-loop-item, .elementor-791) .wine-etiquette *{
    font-size: 12px !important;
  }
  :where(.e-loop-item, .elementor-791) .wine-contenance, :where(.e-loop-item, .elementor-791) .wine-etiquette{
    max-width: calc(100% - 2px) !important;
    text-align: center !important;
  }
}

:where(.e-loop-item, .elementor-791) .wine-card > .e-con-inner{ padding-top: 0 !important; gap: 2px !important; }


/* --- Réduction de taille des loop items (demande utilisateur) --- */
:where(.e-loop-item, .elementor-791) .wine-card{
  max-width: 260px;
  padding: 8px 14px 6px 14px;
}
:where(.e-loop-item, .elementor-791) .wine-frame{
  margin-bottom: 28px !important;
}
:where(.e-loop-item, .elementor-791) .wine-contenance{
  bottom: -24px !important;
  padding: 4px 8px !important;
}
:where(.e-loop-item, .elementor-791) .wine-contenance, :where(.e-loop-item, .elementor-791) .wine-contenance *{
  font-size: 10px !important;
}
:where(.e-loop-item, .elementor-791) .wine-etiquette{
  top: -24px !important;
  padding: 5px 8px !important;
}
:where(.e-loop-item, .elementor-791) .wine-etiquette, :where(.e-loop-item, .elementor-791) .wine-etiquette *{
  font-size: 12px !important;
}
:where(.e-loop-item, .elementor-791) .wine-title, :where(.e-loop-item, .elementor-791) .wine-title *{
  font-size: 13px !important;
}
:where(.e-loop-item, .elementor-791) .wine-cuvee, :where(.e-loop-item, .elementor-791) .wine-cuvee *{
  font-size: 15px !important;
}
:where(.e-loop-item, .elementor-791) .wine-year, :where(.e-loop-item, .elementor-791) .wine-year *{
  font-size: 15px !important;
}
:where(.e-loop-item, .elementor-791) .wine-domain, :where(.e-loop-item, .elementor-791) .wine-domain *{
  font-size: 10px !important;
}
:where(.e-loop-item, .elementor-791) .wine-price, :where(.e-loop-item, .elementor-791) .wine-price *{
  font-size: 22px !important;
}
:where(.e-loop-item, .elementor-791) .wine-btn a{
  font-size: 11px !important;
  padding: 3px 10px !important;
}


/* --- Réduction supplémentaire + cadre autour de la photo (maquette utilisateur) --- */
:where(.e-loop-item, .elementor-791) .wine-card{
  max-width: 200px;
  padding: 6px 10px 5px 10px;
}
:where(.e-loop-item, .elementor-791) .wine-frame{
  margin-bottom: 18px !important;
  border: 1px solid #B29760 !important;
  padding: 8px !important;
}
:where(.e-loop-item, .elementor-791) .wine-contenance{
  bottom: -16px !important;
  padding: 3px 6px !important;
}
:where(.e-loop-item, .elementor-791) .wine-contenance, :where(.e-loop-item, .elementor-791) .wine-contenance *{
  font-size: 9px !important;
}
:where(.e-loop-item, .elementor-791) .wine-etiquette{
  top: -16px !important;
  padding: 4px 6px !important;
}
:where(.e-loop-item, .elementor-791) .wine-etiquette, :where(.e-loop-item, .elementor-791) .wine-etiquette *{
  font-size: 10px !important;
}
:where(.e-loop-item, .elementor-791) .wine-title, :where(.e-loop-item, .elementor-791) .wine-title *{
  font-size: 11px !important;
}
:where(.e-loop-item, .elementor-791) .wine-cuvee, :where(.e-loop-item, .elementor-791) .wine-cuvee *{
  font-size: 13px !important;
}
:where(.e-loop-item, .elementor-791) .wine-year, :where(.e-loop-item, .elementor-791) .wine-year *{
  font-size: 13px !important;
}
:where(.e-loop-item, .elementor-791) .wine-domain, :where(.e-loop-item, .elementor-791) .wine-domain *{
  font-size: 9px !important;
}
:where(.e-loop-item, .elementor-791) .wine-price, :where(.e-loop-item, .elementor-791) .wine-price *{
  font-size: 18px !important;
}
:where(.e-loop-item, .elementor-791) .wine-btn a{
  font-size: 10px !important;
  padding: 2px 8px !important;
}


/* --- correction : pas de cadre autour de la photo --- */
:where(.e-loop-item, .elementor-791) .wine-frame{
  border: none !important;
  padding: 0 !important;
}


/* --- image plus petite + alignement du prix barré (demande utilisateur) --- */
:where(.e-loop-item, .elementor-791) .wine-frame{
  width: 70%;
  margin-left: auto !important;
  margin-right: auto !important;
}
:where(.e-loop-item, .elementor-791) .wine-price-old{
  text-align: center !important;
  line-height: 1.1 !important;
  margin-bottom: 1px !important;
  margin-top: 0 !important;
  width: 100% !important;
}
:where(.e-loop-item, .elementor-791) .wine-price-old, :where(.e-loop-item, .elementor-791) .wine-price-old *{
  text-align: center !important;
}


/* --- réduction verticale globale de la carte (demande utilisateur) --- */
:where(.e-loop-item, .elementor-791) .wine-card{
  padding: 4px 10px 3px 10px !important;
}
:where(.e-loop-item, .elementor-791) .wine-frame{
  width: 55%;
  margin-bottom: 14px !important;
}
:where(.e-loop-item, .elementor-791) .wine-contenance{
  bottom: -12px !important;
}
:where(.e-loop-item, .elementor-791) .wine-etiquette{
  top: -12px !important;
}
:where(.e-loop-item, .elementor-791) .wine-title{
  padding-top: 3px !important;
  min-height: 1.1em !important;
}
:where(.e-loop-item, .elementor-791) .wine-cuvee{
  min-height: 1.15em !important;
}
:where(.e-loop-item, .elementor-791) .wine-year{
  min-height: 1.1em !important;
}
:where(.e-loop-item, .elementor-791) .wine-domain{
  min-height: 1.15em !important;
}
:where(.e-loop-item, .elementor-791) .wine-card > .e-con-inner{
  gap: 1px !important;
}


/* --- espace au-dessus de l'image, cadre unique, prix plus grand (demande utilisateur) --- */
:where(.e-loop-item, .elementor-791) .wine-card{
  padding-top: 2px !important;
  outline: none !important;
  border-width: 1px !important;
}
:where(.e-loop-item, .elementor-791) .wine-price, :where(.e-loop-item, .elementor-791) .wine-price *{
  font-size: 24px !important;
}


/* --- cadre : filet simple 2px (remplace le double lisere) --- */
:where(.e-loop-item, .elementor-791) .wine-card{
  outline: none !important;
  border: 2px solid #B29760 !important;
}


/* --- un peu plus d'espace entre la contenance et le trait --- */
:where(.e-loop-item, .elementor-791) .wine-frame{
  margin-bottom: 20px !important;
}


/* --- centrer réellement le prix barré au-dessus du prix final (override largeur/marge) --- */
:where(.e-loop-item, .elementor-791) .wine-card .wine-price-old{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  flex-basis: 100% !important;
  text-align: center !important;
}


/* --- alignement fin : le prix barré doit être au-dessus du prix final, pas du groupe prix+bouton --- */
:where(.e-loop-item, .elementor-791) .wine-card .wine-price-old{
  transform: translateX(-54px);
}


/* --- rapprocher encore le prix barré du prix final --- */
:where(.e-loop-item, .elementor-791) .wine-card .wine-price-old{
  margin-bottom: -4px !important;
}


/* --- encore un peu plus proche --- */
:where(.e-loop-item, .elementor-791) .wine-card .wine-price-old{
  margin-bottom: -8px !important;
}


/* --- un peu plus d'espace entre le trait et le bloc de texte (titre/cuvée/année/domaine) --- */
:where(.e-loop-item, .elementor-791) .wine-title{
  padding-top: 9px !important;
}


/* --- titre produit moins gras --- */
:where(.e-loop-item, .elementor-791) .wine-title, :where(.e-loop-item, .elementor-791) .wine-title *{
  font-weight: 500 !important;
}


/* --- réduire l'espace vide autour de la bouteille (cadre trop carré/large pour une bouteille étroite) --- */
:where(.e-loop-item, .elementor-791) .wine-frame{
  width: auto !important;
  height: 110px !important;
  aspect-ratio: 0.5 / 1 !important;
}


/* --- corriger le badge "contenance" tronqué (le cadre image est devenu plus étroit) --- */
:where(.e-loop-item, .elementor-791) .wine-contenance{
  max-width: 165px !important;
  white-space: nowrap !important;
}
:where(.e-loop-item, .elementor-791) .wine-etiquette{
  max-width: 165px !important;
}


/* --- annule le cadre trop étroit (cassait l'affichage), revient à un cadre carré plus petit --- */
:where(.e-loop-item, .elementor-791) .wine-frame{
  width: 45% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
}
:where(.e-loop-item, .elementor-791) .wine-contenance{
  max-width: 165px !important;
  white-space: nowrap !important;
}
:where(.e-loop-item, .elementor-791) .wine-etiquette{
  max-width: 165px !important;
}


/* --- agrandir un peu le cadre image --- */
:where(.e-loop-item, .elementor-791) .wine-frame{
  width: 50% !important;
}


/* --- réduire un peu la largeur de la carte, sans toucher aux autres réglages --- */
:where(.e-loop-item, .elementor-791) .wine-card{
  max-width: 180px !important;
}


/* --- images produits un peu plus visibles --- */
:where(.e-loop-item, .elementor-791) .wine-frame{
  width: 58% !important;
}


/* --- ré-agrandir l'image produit --- */
:where(.e-loop-item, .elementor-791) .wine-frame{
  width: 68% !important;
}


/* --- image encore plus grande --- */
:where(.e-loop-item, .elementor-791) .wine-frame{
  width: 80% !important;
}


/* --- agrandir un peu la carte produit --- */
:where(.e-loop-item, .elementor-791) .wine-card{
  max-width: 200px !important;
}


/* --- agrandir encore un peu la carte produit --- */
:where(.e-loop-item, .elementor-791) .wine-card{
  max-width: 220px !important;
}


/* --- agrandir encore la carte produit --- */
:where(.e-loop-item, .elementor-791) .wine-card{
  max-width: 240px !important;
}


/* --- image un peu plus grande + badge contenance qui n'empiète plus sur l'image --- */
:where(.e-loop-item, .elementor-791) .wine-frame{
  width: 86% !important;
}
:where(.e-loop-item, .elementor-791) .wine-card .wine-contenance{
  bottom: -34px !important;
}


/* --- espace pour que la contenance n'empiète plus sur la ligne/titre --- */
:where(.e-loop-item, .elementor-791) .wine-frame{
  margin-bottom: 40px !important;
}


/* --- police plus grande pour contenance et marque (domaine) --- */
:where(.e-loop-item, .elementor-791) .wine-contenance, :where(.e-loop-item, .elementor-791) .wine-contenance *{
  font-size: 12px !important;
}
:where(.e-loop-item, .elementor-791) .wine-domain, :where(.e-loop-item, .elementor-791) .wine-domain *{
  font-size: 12px !important;
}


/* --- police contenance un tout petit peu réduite --- */
:where(.e-loop-item, .elementor-791) .wine-contenance, :where(.e-loop-item, .elementor-791) .wine-contenance *{
  font-size: 11px !important;
}


/* --- chaque champ tient sur une seule ligne --- */
:where(.e-loop-item, .elementor-791) .wine-title, :where(.e-loop-item, .elementor-791) .wine-cuvee, :where(.e-loop-item, .elementor-791) .wine-domain, :where(.e-loop-item, .elementor-791) .wine-year{
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}

/* --- nom et prix moins gras --- */
:where(.e-loop-item, .elementor-791) .wine-title, :where(.e-loop-item, .elementor-791) .wine-title *{
  font-weight: 400 !important;
}
:where(.e-loop-item, .elementor-791) .wine-price, :where(.e-loop-item, .elementor-791) .wine-price *{
  font-weight: 500 !important;
}


/* --- texte entièrement visible, plus de troncature en ... --- */
:where(.e-loop-item, .elementor-791) .wine-title, :where(.e-loop-item, .elementor-791) .wine-cuvee, :where(.e-loop-item, .elementor-791) .wine-domain, :where(.e-loop-item, .elementor-791) .wine-year{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
}


/* --- fix : la troncature venait aussi des enfants (h2, span...), pas juste du conteneur --- */
:where(.e-loop-item, .elementor-791) .wine-title, :where(.e-loop-item, .elementor-791) .wine-title *, :where(.e-loop-item, .elementor-791) .wine-cuvee, :where(.e-loop-item, .elementor-791) .wine-cuvee *, :where(.e-loop-item, .elementor-791) .wine-domain, :where(.e-loop-item, .elementor-791) .wine-domain *, :where(.e-loop-item, .elementor-791) .wine-year, :where(.e-loop-item, .elementor-791) .wine-year *{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
}


/* --- police un peu plus grande pour les champs sous le nom du produit --- */
:where(.e-loop-item, .elementor-791) .wine-cuvee, :where(.e-loop-item, .elementor-791) .wine-cuvee *{
  font-size: 16px !important;
}
:where(.e-loop-item, .elementor-791) .wine-year, :where(.e-loop-item, .elementor-791) .wine-year *{
  font-size: 16px !important;
}
:where(.e-loop-item, .elementor-791) .wine-domain, :where(.e-loop-item, .elementor-791) .wine-domain *{
  font-size: 13px !important;
}

/* --- un peu plus d'espace entre les champs --- */
:where(.e-loop-item, .elementor-791) .wine-card > .e-con-inner{
  gap: 5px !important;
}


/* --- alignement parfait entre toutes les cartes : hauteur fixe réservée pour chaque champ, quelle que soit la longueur du texte --- */
:where(.e-loop-item, .elementor-791) .wine-title{
  height: 56px !important;
  overflow: visible !important;
}
:where(.e-loop-item, .elementor-791) .wine-cuvee{
  height: 20px !important;
  overflow: visible !important;
}
:where(.e-loop-item, .elementor-791) .wine-year{
  height: 20px !important;
  overflow: visible !important;
}
:where(.e-loop-item, .elementor-791) .wine-domain{
  height: 17px !important;
  overflow: visible !important;
}


/* --- badge étiquette plus visible --- */
:where(.e-loop-item, .elementor-791) .wine-etiquette{
  padding: 8px 14px !important;
  top: -26px !important;
}
:where(.e-loop-item, .elementor-791) .wine-etiquette, :where(.e-loop-item, .elementor-791) .wine-etiquette *{
  font-size: 13px !important;
}


/* --- fix : le badge étiquette empiétait sur la carte du dessus (espace entre rangées réduit) --- */
:where(.e-loop-item, .elementor-791) .wine-etiquette{
  top: -16px !important;
}


/* --- espace entre rangées réduit : on rapproche un peu le badge étiquette pour éviter qu'il empiète à nouveau --- */
:where(.e-loop-item, .elementor-791) .wine-etiquette{
  top: -8px !important;
}


/* --- espace entre rangées encore réduit : on rapproche encore un peu le badge --- */
:where(.e-loop-item, .elementor-791) .wine-etiquette{
  top: -2px !important;
}

/* --- badge parfaitement centré horizontalement sur le cadre, de façon robuste --- */
:where(.e-loop-item, .elementor-791) .wine-etiquette{
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
}


/* --- centrage du badge etiquette : technique marges auto, garantie a toutes les tailles d'ecran --- */
:where(.e-loop-item, .elementor-791) .wine-frame{
  position: relative !important;
}
:where(.e-loop-item, .elementor-791) .wine-etiquette{
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: fit-content !important;
  max-width: 90% !important;
  transform: none !important;
}


/* --- overlay cliquable vers la page produit (ajout automatique) --- */
:where(.e-loop-item, .elementor-791) .wine-card{
  position: relative;
}
:where(.e-loop-item, .elementor-791) .wine-card-link{
  position: absolute !important;
  inset: 0;
  z-index: 1;
}
:where(.e-loop-item, .elementor-791) .wine-btn{
  position: relative;
  z-index: 2;
}/* End custom CSS */
/* Start custom CSS *//* ============================================================
   UNIFORMISATION DES LOOP ITEMS
   Chaque champ occupe une ligne de gabarit de hauteur fixe,
   quil soit rempli, vide, ou totalement absent du DOM.
   Resultat : toutes les cartes identiques et tous les champs
   alignes dun produit a lautre.
   NB : ne pas utiliser le combinateur enfant ni dapostrophe
   dans ce champ, Elementor les echappe en entites HTML.
   ============================================================ */

/* 1. Cadre visuel : carre deterministe.
      Avant : 192px sur certains produits, 264px sur dautres. */
.e-loop-item .wine-card .wine-frame{
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 5 / 4 !important; /* visuel reduit de 20% par rapport au carre dorigine : 220px -> 176px */
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

/* 1b. Le widget image nest present que sur certains produits
       et etirait le cadre : on le sort du flux. */
.e-loop-item .wine-card .wine-img-wrap{
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
}
.e-loop-item .wine-card .wine-img-wrap img{
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

/* 2. Gabarit fixe : une ligne de grille par champ.
      1 visuel / 2 titre / 3 cuvee / 4 millesime / 5 vide
      6 domaine / 7 prix + bouton.
      Un champ vide ou absent laisse sa ligne libre au lieu de
      tout faire remonter : lalignement tient sur toutes les
      cartes. La ligne 5 absorbe les debordements. */
.e-loop-item .wine-card .e-con-inner:has(.wine-frame){
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto 60px 20px 20px 1fr auto auto !important;
    row-gap: 5px !important;
}
.e-loop-item .wine-card .wine-frame { grid-row: 1; }
.e-loop-item .wine-card .wine-title { grid-row: 2; }
.e-loop-item .wine-card .wine-cuvee { grid-row: 3; }
.e-loop-item .wine-card .wine-year  { grid-row: 4; }
.e-loop-item .wine-card .wine-domain{ grid-row: 6; min-height: 17px; }

/* 3. Bloc prix + bouton : derniere ligne, colle en bas */
.e-loop-item .wine-card .elementor-element-29a5d1e{
    grid-row: 7;
    align-self: end;
    margin-top: 0 !important;
}

/* 4. Lien invisible qui couvre la carte : sur toute la grille */
.e-loop-item .wine-card .wine-card-link{
    grid-row: 1 / -1;
    grid-column: 1;
}

/* ============================================================
   5. TYPOGRAPHIE
   Les reglages de police du panneau Elementor sont neutralises
   par des regles font-size !important en :where(...) plus bas
   dans cette feuille. On repasse au-dessus ici (specificite
   plus forte), uniquement en desktop : tablette et mobile
   gardent leur echelle actuelle.
   ============================================================ */

/* Badge contenance : le blanc casse sur or clair ne donnait
   que 2,71:1 de contraste (minimum WCAG : 4,5:1).
   Meme teinte, assombrie : on passe a 4,6:1. */
.e-loop-item .wine-card .wine-contenance{
    background-color: #8A6F3C !important;
}

@media (min-width: 1025px){

    /* Le nom du vin repasse devant le prix.
       Le widget titre sort son propre font-size en !important
       avec 4 classes, il faut donc monter a 5 pour passer
       devant : do ce selecteur a rallonge. */
    .elementor-791.e-loop-item .wine-card .wine-title,
    .elementor-791.e-loop-item .wine-card .wine-title p,
    .elementor-791.e-loop-item .wine-card .wine-title a,
    .elementor-791.e-loop-item .wine-card .wine-title .elementor-heading-title{
        font-size: 23px !important;
        line-height: 1.15 !important;
    }
    .e-loop-item .wine-card .wine-price,
    .e-loop-item .wine-card .wine-price *{
        font-size: 21px !important;
    }

    /* Millesime : info secondaire, on le distingue de la cuvee
       qui etait a la meme taille (16px toutes les deux). */
    .e-loop-item .wine-card .wine-year,
    .e-loop-item .wine-card .wine-year *{
        font-size: 14px !important;
    }
}/* End custom CSS */