.elementor-102 .elementor-element.elementor-element-0a35957{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-102 .elementor-element.elementor-element-0a35957 > .elementor-shape-bottom .elementor-shape-fill, .elementor-102 .elementor-element.elementor-element-0a35957 > .e-con-inner > .elementor-shape-bottom .elementor-shape-fill{fill:#EFF1EF;}.elementor-102 .elementor-element.elementor-element-0a35957 > .elementor-shape-bottom svg, .elementor-102 .elementor-element.elementor-element-0a35957 > .e-con-inner > .elementor-shape-bottom svg{width:calc(115% + 1.3px);height:105px;}.elementor-102 .elementor-element.elementor-element-90eca61{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.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 );color:var( --e-global-color-primary );}.elementor-102 .elementor-element.elementor-element-5cc0480{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-102 .elementor-element.elementor-element-5cc0480 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:30px;font-weight:600;text-transform:uppercase;color:#324851;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-102 .elementor-element.elementor-element-2e21284{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-102 .elementor-element.elementor-element-2e21284 .elementor-divider-separator{width:100%;}.elementor-102 .elementor-element.elementor-element-2e21284 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.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-102 .elementor-element.elementor-element-58d1517{font-family:"Montserrat", Sans-serif;font-size:20px;font-weight:600;line-height:32px;letter-spacing:0.2px;word-spacing:3px;color:#324851;}.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 );}.elementor-102 .elementor-element.elementor-element-399272b .elementor-button{background-color:#7B9869;font-family:"Montserrat", Sans-serif;font-size:20px;font-weight:600;text-transform:uppercase;}.elementor-102 .elementor-element.elementor-element-399272b .elementor-button:hover, .elementor-102 .elementor-element.elementor-element-399272b .elementor-button:focus{background-color:#324851;}.elementor-102 .elementor-element.elementor-element-430ac25{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-102 .elementor-element.elementor-element-430ac25.e-con{--align-self:center;}.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-102 .elementor-element.elementor-element-6773cba{text-align:start;}.elementor-102 .elementor-element.elementor-element-6773cba img{width:100%;max-width:100%;height:375px;object-fit:cover;object-position:center center;}.elementor-102 .elementor-element.elementor-element-d2d5dad{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;--gap:50px 50px;--row-gap:50px;--column-gap:50px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:150px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-102 .elementor-element.elementor-element-d2d5dad > .elementor-shape-top .elementor-shape-fill, .elementor-102 .elementor-element.elementor-element-d2d5dad > .e-con-inner > .elementor-shape-top .elementor-shape-fill{fill:#EFF1EF;}.elementor-102 .elementor-element.elementor-element-d2d5dad > .elementor-shape-top svg, .elementor-102 .elementor-element.elementor-element-d2d5dad > .e-con-inner > .elementor-shape-top svg{width:calc(115% + 1.3px);height:105px;}.elementor-102 .elementor-element.elementor-element-23db0b1{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-102 .elementor-element.elementor-element-402a1f5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-102 .elementor-element.elementor-element-402a1f5.elementor-element{--align-self:center;}.elementor-102 .elementor-element.elementor-element-402a1f5 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:30px;font-weight:600;text-transform:uppercase;color:#324851;}.elementor-102 .elementor-element.elementor-element-486e5db{--display:flex;--justify-content:flex-start;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-102 .elementor-element.elementor-element-89b3286{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-102 .elementor-element.elementor-element-89b3286 .elementor-divider-separator{width:100%;}.elementor-102 .elementor-element.elementor-element-89b3286 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-102 .elementor-element.elementor-element-b0f08ff{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:start;font-family:"Montserrat", Sans-serif;font-size:20px;font-weight:600;line-height:32px;letter-spacing:0.2px;word-spacing:3px;color:#324851;}.elementor-102 .elementor-element.elementor-element-b537985 .elementor-button{background-color:#7B9869;font-family:"Montserrat", Sans-serif;font-size:20px;font-weight:600;text-transform:uppercase;}.elementor-102 .elementor-element.elementor-element-b537985 .elementor-button:hover, .elementor-102 .elementor-element.elementor-element-b537985 .elementor-button:focus{background-color:#324851;}@media(min-width:768px){.elementor-102 .elementor-element.elementor-element-90eca61{--width:60%;}.elementor-102 .elementor-element.elementor-element-430ac25{--width:40%;}.elementor-102 .elementor-element.elementor-element-23db0b1{--width:100%;}.elementor-102 .elementor-element.elementor-element-486e5db{--width:100%;}}/* Start custom CSS for divider, class: .elementor-element-2e21284 *//* ================================
   DIVIDER PREMIUM (gradient + dot)
   Colle ça sur le widget Divider
================================== */

.elementor-102 .elementor-element.elementor-element-2e21284{
  --div-accent: #5A6D3F;                 /* ton vert */
  --div-accent-soft: rgba(90,109,63,.22);
  --div-accent-mid: rgba(90,109,63,.55);
  --div-max: 520px;                      /* largeur max de la ligne */
}

/* reset */
.elementor-102 .elementor-element.elementor-element-2e21284 .elementor-divider{
  padding: 0;
}

.elementor-102 .elementor-element.elementor-element-2e21284 .elementor-divider-separator{
  border-top: 0 !important;
  height: 2px;
  width: min(100%, var(--div-max));
  margin: 0 auto;
  border-radius: 999px;
  position: relative;
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--div-accent-soft) 12%,
    var(--div-accent-mid) 35%,
    rgba(90,109,63,.85) 50%,
    var(--div-accent-mid) 65%,
    var(--div-accent-soft) 88%,
    transparent 100%
  );
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}

/* médaillon central */
.elementor-102 .elementor-element.elementor-element-2e21284 .elementor-divider-separator:after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 10px;
  height: 10px;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  background: var(--div-accent);
  box-shadow:
    0 0 0 4px rgba(90,109,63,.16),
    0 10px 22px rgba(0,0,0,.14);
}

/* micro “capuchons” aux extrémités (détail propre) */
.elementor-102 .elementor-element.elementor-element-2e21284 .elementor-divider-separator:before{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background:
    radial-gradient(circle at 0% 50%, rgba(90,109,63,.55), transparent 55%),
    radial-gradient(circle at 100% 50%, rgba(90,109,63,.55), transparent 55%);
  opacity: .55;
  pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for divider, class: .elementor-element-89b3286 *//* ================================
   DIVIDER PREMIUM (gradient + dot)
   Colle ça sur le widget Divider
================================== */

.elementor-102 .elementor-element.elementor-element-89b3286{
  --div-accent: #5A6D3F;                 /* ton vert */
  --div-accent-soft: rgba(90,109,63,.22);
  --div-accent-mid: rgba(90,109,63,.55);
  --div-max: 520px;                      /* largeur max de la ligne */
}

/* reset */
.elementor-102 .elementor-element.elementor-element-89b3286 .elementor-divider{
  padding: 0;
}

.elementor-102 .elementor-element.elementor-element-89b3286 .elementor-divider-separator{
  border-top: 0 !important;
  height: 2px;
  width: min(100%, var(--div-max));
  margin: 0 auto;
  border-radius: 999px;
  position: relative;
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--div-accent-soft) 12%,
    var(--div-accent-mid) 35%,
    rgba(90,109,63,.85) 50%,
    var(--div-accent-mid) 65%,
    var(--div-accent-soft) 88%,
    transparent 100%
  );
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}

/* médaillon central */
.elementor-102 .elementor-element.elementor-element-89b3286 .elementor-divider-separator:after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 10px;
  height: 10px;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  background: var(--div-accent);
  box-shadow:
    0 0 0 4px rgba(90,109,63,.16),
    0 10px 22px rgba(0,0,0,.14);
}

/* micro “capuchons” aux extrémités (détail propre) */
.elementor-102 .elementor-element.elementor-element-89b3286 .elementor-divider-separator:before{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background:
    radial-gradient(circle at 0% 50%, rgba(90,109,63,.55), transparent 55%),
    radial-gradient(circle at 100% 50%, rgba(90,109,63,.55), transparent 55%);
  opacity: .55;
  pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2ddd3c4 *//* =========================================================
   PACK MENU — DA: #FFFFFF #324851 #7B9869 #F7F2E8
========================================================= */

.pack-menu{
  --w: #FFFFFF;
  --ink: #324851;
  --green: #7B9869;
  --cream: #F7F2E8;

  --radius: 18px;
  --radius-sm: 14px;

  max-width: 860px;
  margin: 0 auto;
  padding: clamp(18px, 2.2vw, 28px);
  background: linear-gradient(180deg, rgba(247,242,232,.98), rgba(247,242,232,.88));
  border: 1px solid rgba(50,72,81,.14);
  border-radius: var(--radius);
  box-shadow: 0 18px 46px rgba(50,72,81,.12);
  color: var(--ink);
}

.pack-menu *{
  box-sizing: border-box;
}

/* Header */
.pack-menu__head{
  position: relative;
  padding-bottom: 14px;
  margin-bottom: 16px;
}

.pack-menu__head:after{
  content:"";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(123,152,105,.0), rgba(123,152,105,.8), rgba(123,152,105,.0));
}

.pack-menu__kicker{
  margin: 0 0 6px 0;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 12px;
  color: rgba(50,72,81,.72);
}

.pack-menu__title{
  margin: 0;
  font-weight: 900;
  letter-spacing: -0.02em;
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.15;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  align-items: center;
}

.pack-menu__badge{
  display: inline-flex;
  align-items: center;
  height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(123,152,105,.14);
  border: 1px solid rgba(123,152,105,.28);
  color: rgba(50,72,81,.92);
  font-weight: 850;
  font-size: 13px;
  letter-spacing: .02em;
}

.pack-menu__sub{
  margin: 10px 0 0 0;
  color: rgba(50,72,81,.70);
  font-weight: 650;
}

/* List */
.pack-menu__list{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}

/* Row */
.pack-menu__row{
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 12px 14px;
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(50,72,81,.12);
  border-radius: var(--radius-sm);
  box-shadow: 0 10px 24px rgba(50,72,81,.08);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.pack-menu__row:hover{
  transform: translateY(-1px);
  border-color: rgba(123,152,105,.28);
  box-shadow: 0 14px 30px rgba(50,72,81,.10);
}

.pack-menu__item{
  font-weight: 750;
  color: rgba(50,72,81,.92);
  min-width: 0;
}

.pack-menu__qty{
  font-weight: 900;
  color: rgba(50,72,81,.92);
  white-space: nowrap;
}

.pack-menu__dots{
  flex: 1 1 auto;
  height: 0;
  border-bottom: 1px dotted rgba(50,72,81,.30);
  transform: translateY(-2px);
  opacity: .9;
}

/* Note */
.pack-menu__note{
  margin: 14px 2px 0 2px;
  color: rgba(50,72,81,.62);
  font-size: 13px;
  line-height: 1.45;
}

/* Responsive: passe en 2 colonnes sur large écran */
@media (min-width: 900px){
  .pack-menu__list{
    grid-template-columns: 1fr 1fr;
  }
  .pack-menu__row{
    padding: 12px 14px;
  }
}/* End custom CSS */