.elementor-1770 .elementor-element.elementor-element-a98c1ef{--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;}.elementor-1770 .elementor-element.elementor-element-8dae93f .woocommerce-breadcrumb{color:#253C08;}.elementor-1770 .elementor-element.elementor-element-8dae93f .woocommerce-breadcrumb > a{color:#253C08;}.elementor-1770 .elementor-element.elementor-element-fa3865b{--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;}.elementor-1770 .elementor-element.elementor-element-7aa523f{--spacer-size:15px;}.elementor-1770 .elementor-element.elementor-element-5535bab{--display:flex;--min-height:0px;--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:190px;--padding-right:190px;}.elementor-1770 .elementor-element.elementor-element-5535bab.e-con{--align-self:stretch;--flex-grow:0;--flex-shrink:0;}.elementor-1770 .elementor-element.elementor-element-beb8615.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1770 .elementor-element.elementor-element-1ec3ee6{--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;}.elementor-1770 .elementor-element.elementor-element-842ee8c{--spacer-size:69px;}.elementor-1770 .elementor-element.elementor-element-8e93c15{--display:flex;--min-height:0px;--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-1770 .elementor-element.elementor-element-8e93c15.e-con{--align-self:stretch;--flex-grow:0;--flex-shrink:0;}.elementor-1770 .elementor-element.elementor-element-32aa009{--spacer-size:28px;}.elementor-1770 .elementor-element.elementor-element-bd355fc{width:var( --container-widget-width, 107.122% );max-width:107.122%;--container-widget-width:107.122%;--container-widget-flex-grow:0;}.elementor-1770 .elementor-element.elementor-element-bd355fc.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1770 .elementor-element.elementor-element-0da3824{--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;}.elementor-1770 .elementor-element.elementor-element-c0215ba{--spacer-size:129px;}.elementor-1770 .elementor-element.elementor-element-a52837a{--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;}.elementor-1770 .elementor-element.elementor-element-4d89504{width:var( --container-widget-width, 98.673% );max-width:98.673%;--container-widget-width:98.673%;--container-widget-flex-grow:0;}.elementor-1770 .elementor-element.elementor-element-4d89504.elementor-element{--align-self:stretch;--flex-grow:0;--flex-shrink:0;}.elementor-1770 .elementor-element.elementor-element-ecaaf93{--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;}.elementor-1770 .elementor-element.elementor-element-ecaaf93.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-1770 .elementor-element.elementor-element-d51d2af{width:var( --container-widget-width, 98.552% );max-width:98.552%;--container-widget-width:98.552%;--container-widget-flex-grow:0;}.elementor-1770 .elementor-element.elementor-element-d51d2af.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1770 .elementor-element.elementor-element-d51d2af .elementor-icon-box-wrapper{text-align:start;}.elementor-1770 .elementor-element.elementor-element-d51d2af .elementor-icon-box-title, .elementor-1770 .elementor-element.elementor-element-d51d2af .elementor-icon-box-title a{font-family:"ortica gras", Sans-serif;font-size:25px;font-weight:500;}.elementor-1770 .elementor-element.elementor-element-c67aed9{--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;}.elementor-1770 .elementor-element.elementor-element-e165de4{width:var( --container-widget-width, 98.673% );max-width:98.673%;--container-widget-width:98.673%;--container-widget-flex-grow:0;}.elementor-1770 .elementor-element.elementor-element-e165de4.elementor-element{--align-self:stretch;--flex-grow:0;--flex-shrink:0;}.elementor-1770 .elementor-element.elementor-element-e849c44{--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;}.elementor-1770 .elementor-element.elementor-element-0d76489{--spacer-size:20px;}.elementor-1770 .elementor-element.elementor-element-30e50bd{--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;}.elementor-1770 .elementor-element.elementor-element-6a54a64{width:var( --container-widget-width, 98.673% );max-width:98.673%;--container-widget-width:98.673%;--container-widget-flex-grow:0;}.elementor-1770 .elementor-element.elementor-element-6a54a64.elementor-element{--align-self:stretch;--flex-grow:0;--flex-shrink:0;}.elementor-1770 .elementor-element.elementor-element-6ce9377{--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;}.elementor-1770 .elementor-element.elementor-element-6ce9377.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-1770 .elementor-element.elementor-element-4c0fdb8{width:var( --container-widget-width, 98.552% );max-width:98.552%;--container-widget-width:98.552%;--container-widget-flex-grow:0;}.elementor-1770 .elementor-element.elementor-element-4c0fdb8.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1770 .elementor-element.elementor-element-4c0fdb8 .elementor-icon-box-wrapper{text-align:start;}.elementor-1770 .elementor-element.elementor-element-4c0fdb8 .elementor-icon-box-title, .elementor-1770 .elementor-element.elementor-element-4c0fdb8 .elementor-icon-box-title a{font-family:"ortica gras", Sans-serif;font-size:25px;font-weight:500;}.elementor-1770 .elementor-element.elementor-element-ed87fe3{--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;}.elementor-1770 .elementor-element.elementor-element-137ef11{--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;}.elementor-1770 .elementor-element.elementor-element-b4c797a{width:var( --container-widget-width, 98.673% );max-width:98.673%;--container-widget-width:98.673%;--container-widget-flex-grow:0;}.elementor-1770 .elementor-element.elementor-element-b4c797a.elementor-element{--align-self:stretch;--flex-grow:0;--flex-shrink:0;}.elementor-1770 .elementor-element.elementor-element-9e431b7{width:var( --container-widget-width, 98.673% );max-width:98.673%;--container-widget-width:98.673%;--container-widget-flex-grow:0;}.elementor-1770 .elementor-element.elementor-element-9e431b7.elementor-element{--align-self:stretch;--flex-grow:0;--flex-shrink:0;}.elementor-1770 .elementor-element.elementor-element-9ad9f36{--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;}.elementor-1770 .elementor-element.elementor-element-cd06227{--spacer-size:20px;}body.elementor-page-1770{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}@media(max-width:1024px){.elementor-1770 .elementor-element.elementor-element-5535bab{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:48px;--padding-right:48px;}.elementor-1770 .elementor-element.elementor-element-8e93c15{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:48px;--padding-right:48px;}}@media(min-width:768px){.elementor-1770 .elementor-element.elementor-element-5535bab{--width:1218px;}.elementor-1770 .elementor-element.elementor-element-8e93c15{--width:1600px;}.elementor-1770 .elementor-element.elementor-element-ecaaf93{--width:81.133%;}.elementor-1770 .elementor-element.elementor-element-6ce9377{--width:81.133%;}.elementor-1770 .elementor-element.elementor-element-ed87fe3{--width:82%;}}@media(max-width:767px){.elementor-1770 .elementor-element.elementor-element-5535bab{--width:414px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px;}.elementor-1770 .elementor-element.elementor-element-beb8615{width:var( --container-widget-width, 340px );max-width:340px;--container-widget-width:340px;--container-widget-flex-grow:0;}.elementor-1770 .elementor-element.elementor-element-8e93c15{--width:414px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px;}}/* Start custom CSS for shortcode, class: .elementor-element-beb8615 *//* path: Apparence → Personnaliser → CSS additionnel
   Styles FEYI — Flamingo-like block (fond BLANC, pas de beige) */

:root{ --fe2-green:#45523E; }

.fe2-shopcats{ background:#fff; }              /* fond blanc explicite */
.fe2-shopcats .fe2-inner{
  padding-left: clamp(8px, 2.5vw, 24px);
  padding-right: clamp(8px, 2.5vw, 24px);
  margin-inline: auto;
  max-width: 1920px;
}

/* Typo (Elementor doit already charger “Ortica Family”) */
.fe2-kicker{
  font-family:"Ortica Family", serif;
  color:var(--fe2-green);
  font-weight:300; letter-spacing:.12em; opacity:.9;
  margin:16px 0 8px; text-transform:none; text-align:center;
}
.fe2-title{
  font-family:"Ortica Family", serif;
  color:var(--fe2-green);
  font-weight:400; line-height:1.15;
  margin:0 0 24px; text-align:center; background:transparent;
  /* Bandelette pêche optionnelle (comme Flamingo) :
  box-shadow: inset 0 -18px 0 rgba(255,205,170,.7);
  */
}
.fe2-subhead{
  font-family:"Ortica Family", serif;
  color:var(--fe2-green); font-weight:600; letter-spacing:.08em;
  margin:8px 0 16px;
}

/* Slider */
.fe2-swiper{ overflow:visible; }
.fe2-swiper .swiper-slide{ width:213px; margin-right:12px; }

/* Cartes */
.fe2-cat{ display:flex; flex-direction:column; text-decoration:none; }
.fe2-media{
  width:100%; overflow:hidden; border:1px solid rgba(0,0,0,.12); background:#f1f1f1;
}
.fe2-media img, .fe2-card__ph{ width:100%; height:100%; object-fit:cover; display:block; }
.fe2-card__ph{ background:#eee; }
.fe2-name{
  margin-top:10px; font-family:"Ortica Family", serif; font-weight:500;
  letter-spacing:.06em; color:var(--fe2-green); font-size:14px;
}

/* Mode grille sans slider */
.fe2-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:clamp(12px,2vw,24px); }
@media (max-width:1200px){ .fe2-grid{ grid-template-columns:repeat(4,1fr); } }
@media (max-width:1024px){ .fe2-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:680px) { .fe2-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:420px){ .fe2-grid{ grid-template-columns:1fr; } }





/* Espace SOUS le titre */
#fe-layout :is(.fe2-title, .fe-title, .elementor-heading-title){
  margin-bottom: clamp(16px, 3vw, 40px) !important; /* ajuste si besoin */
}

/* (Option) espace plus serré sur mobile */
@media (max-width: 480px){
  #fe-layout :is(.fe2-title, .fe-title, .elementor-heading-title){
    margin-bottom: 20px !important;
  }
}





/* Scope: ce conteneur uniquement */
.elementor-1770 .elementor-element.elementor-element-beb8615{
  /* Réglages que tu peux tweaker */
  --title-max: 1100px;     /* largeur max du H1 pour respirer */
  --title-mb: 36px;        /* espace sous le H1 */
  --trust-mt: 8px;         /* espace au-dessus de la trustline */
  --trust-mb: 40px;        /* espace sous la trustline */
  --kicker-op: .55;        /* discrétion du "SHOP ALL" */
  --kicker-ls: .14em;      /* letter-spacing du kicker */
  --between-sections: 56px;/* avant "SHOP BY CATEGORY" */
}

/* Kicker (SHOP ALL) : plus fin & discret */
.elementor-1770 .elementor-element.elementor-element-beb8615 .fe2-kicker{
  opacity: var(--kicker-op);
  letter-spacing: var(--kicker-ls);
  font-weight: 300;
  margin: 0 0 10px;
}

/* Titre: largeur contenue + air dessous */
.elementor-1770 .elementor-element.elementor-element-beb8615 .fe2-title{
  max-width: var(--title-max);
  margin-left: auto; margin-right: auto;
  margin-bottom: var(--title-mb) !important;
  line-height: 1.12;           /* plus noble */
}

/* Trustline (la ligne bio/raisonnée) : aération et opacité douce */
.elementor-1770 .elementor-element.elementor-element-beb8615 .fe2-title + .fe2-trustline,
.elementor-1770 .elementor-element.elementor-element-beb8615 .fe2-title::after{
  /* marche si tu l’injectes via ::after ou en widget texte juste dessous */
  display: inline-block;
  margin-top: var(--trust-mt);
  margin-bottom: var(--trust-mb);
  opacity: .78;
}

/* Titre de sous-section (SHOP BY CATEGORY) : donner de l'air au-dessus */
.elementor-1770 .elementor-element.elementor-element-beb8615 :is(h3,h4,.fe2-subhead,.section-subtitle){
  margin-top: var(--between-sections);
}

/* Cartes catégories: un peu plus d'air global sous le header */
.elementor-1770 .elementor-element.elementor-element-beb8615 .fe2-grid,
.elementor-1770 .elementor-element.elementor-element-beb8615 .fe2-swiper{ margin-top: 12px; }

/* Responsive: resserre légèrement en mobile */
@media (max-width: 768px){
  .elementor-1770 .elementor-element.elementor-element-beb8615{
    --title-max: 90vw;
    --title-mb: 24px;
    --trust-mb: 28px;
    --between-sections: 40px;
  }
}



/* Elementor → Conteneur du shortcode → Avancé → CSS personnalisé */

/* Paramètres (modifie UNIQUEMENT ces lignes) */
.elementor-1770 .elementor-element.elementor-element-beb8615{
  --fe2-trust: "Traçabilté -  au rythme des saisons, tout près d’ici."; /* texte */
  --fe2-align: center;   /* left | center | right */
  --fe2-mt: 6px;         /* marge au-dessus */
  --fe2-mb: 18px;        /* marge au-dessous */
}

/* Injection visuelle sous le titre du bloc catégories FE */
.elementor-1770 .elementor-element.elementor-element-beb8615 .fe2-title::after{
  content: var(--fe2-trust);
  display: block;
  font-family: "Ortica Family", serif;
  font-size: 14px; line-height: 1.4; font-weight: 400;
  color: #45523E; opacity: .78;
  margin-top: var(--fe2-mt);
  margin-bottom: var(--fe2-mb);
  text-align: var(--fe2-align);
}

/* (Optionnel) Centrer l’en-tête si ce n’est pas déjà le cas */
.elementor-1770 .elementor-element.elementor-element-beb8615 .fe2-inner{ text-align: center; }

/* (Option logos gris discrets — ajoute <span class="fe2-logos"></span> via un petit HTML si nécessaire)
.elementor-1770 .elementor-element.elementor-element-beb8615 .fe2-logos{ display:inline-flex; gap:10px; margin-left:12px; opacity:.6; filter:grayscale(100%); vertical-align:middle; }
.elementor-1770 .elementor-element.elementor-element-beb8615 .fe2-logos img{ height:16px; display:block; }
*/




/* Garde H1 + kicker centrés */
.elementor-1770 .elementor-element.elementor-element-beb8615 .fe2-kicker,
.elementor-1770 .elementor-element.elementor-element-beb8615 .fe2-title{ text-align: center !important; }

/* Aligne "SHOP BY CATEGORY" à gauche */
.elementor-1770 .elementor-element.elementor-element-beb8615 .fe2-subhead{
  display: block;
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* (Optionnel) un peu d'air au-dessus de la grille */
.elementor-1770 .elementor-element.elementor-element-beb8615 .fe2-subhead{ margin-top: 48px !important; }




/* Scope */
.elementor-1770 .elementor-element.elementor-element-beb8615{
  --h1-max: 1040px;     /* largeur lecture H1 */
  --h1-mb: 28px;        /* espace sous le H1 */
  --trust-mb: 36px;     /* espace sous la trustline */
  --kicker-op: .48;     /* discrétion "SHOP ALL" */
  --kicker-size: 12px;  /* taille kicker */
  --subhead-mt: 28px;   /* espace au-dessus de "SHOP BY CATEGORY" */
}

/* Kicker plus discret */
.elementor-1770 .elementor-element.elementor-element-beb8615 .fe2-kicker{
  opacity: var(--kicker-op);
  font-size: var(--kicker-size);
  letter-spacing: .14em;
  margin-bottom: 8px;
}

/* H1: largeur contenue + air */
.elementor-1770 .elementor-element.elementor-element-beb8615 .fe2-title{
  max-width: var(--h1-max);
  margin-inline: auto;
  margin-bottom: var(--h1-mb) !important;
  line-height: 1.12;
}

/* Trustline : un peu d'air dessous */
.elementor-1770 .elementor-element.elementor-element-beb8615 .fe2-title + .fe2-trustline,
.elementor-1770 .elementor-element.elementor-element-beb8615 .fe2-title::after{
  margin-bottom: var(--trust-mb);
}

/* "SHOP BY CATEGORY" aligné à gauche et calé sur la 1ʳᵉ carte */
.elementor-1770 .elementor-element.elementor-element-beb8615 .fe2-subhead{
  text-align: left !important;
  margin: var(--subhead-mt) auto 8px;
  max-width: 1920px;
  padding-left: clamp(8px, 2.5vw, 24px);   /* mêmes gouttières que .fe2-inner */
  padding-right: clamp(8px, 2.5vw, 24px);
}

/* Option: si la grille a un wrapper distinct, on la cale sous le sous-titre */
.elementor-1770 .elementor-element.elementor-element-beb8615 .fe2-grid, 
.elementor-1770 .elementor-element.elementor-element-beb8615 .fe2-swiper{
  margin-top: 8px;
}

/* Mobile: resserre proprement */
@media (max-width: 768px){
  .elementor-1770 .elementor-element.elementor-element-beb8615{
    --h1-max: 92vw;
    --h1-mb: 22px;
    --trust-mb: 26px;
    --subhead-mt: 22px;
  }
  .elementor-1770 .elementor-element.elementor-element-beb8615 .fe2-kicker{ font-size: 11px; }
}



:root{
  --ink: #1B1F1A;      /* texte par défaut (luxe, lisible) */
  --brand: #45523E;    /* vert FEYI */
  --brand-soft: color-mix(in srgb, var(--brand) 85%, white);
}
body{ color: var(--ink); }
.h1,.fe2-title{ color: var(--brand); }
.fe2-trustline{ color: var(--brand-soft); } /* ou font-size: .95em; */
a{ color: var(--brand); }
a:hover{ opacity: .9; }



/* ============================================
   FEYI — Mobile cards = mêmes tailles (FE style)
   Colle dans le conteneur Elementor du shortcode
   ============================================ */
@media (max-width: 600px){
  .fe2-shopcats{
    /* Dimensions & style FE */
    --card-w: 30%;                 /* ~3 cartes visibles en slider */
    --gap: 12px;                   /* espace entre cartes */
    --pad: 14px;                   /* padding latéral */
    --ratio: 4 / 5;                /* hauteur homogène, look FE */
    --radius: 8px;                 /* angles cartes */
    --border: 1.25px solid rgba(69,82,62,.35); /* vert FE atténué */
    --caption-size: 11px;
    --caption-ls: .06em;
    --heading-color: var(--heading-color, #45523e);
    --text-color: var(--text-color, #45523e);
  }

  /* Marges container */
  .fe2-shopcats .fe2-inner{ padding-left: var(--pad); padding-right: var(--pad); }

  /* SUBHEAD "SHOP BY CATEGORY" aligné à gauche */
  .fe2-shopcats .fe2-subhead{
    text-align: left !important;
    margin: 18px auto 6px !important;
    color: var(--heading-color);
    letter-spacing: .06em;
    text-transform: uppercase;
    padding-left: var(--pad);
    padding-right: var(--pad);
  }

  /* ====== MODE SLIDER (slider="on") : ~3 cartes visibles ====== */
  .fe2-shopcats .fe2-swiper{ overflow: visible; padding: 0 var(--pad); }
  .fe2-shopcats .fe2-swiper .swiper-wrapper{ gap: var(--gap); }
  .fe2-shopcats .fe2-swiper .swiper-slide{
    width: calc(var(--card-w) - var(--gap)); /* largeur unité */
    margin-right: var(--gap);
  }

  /* ====== MODE GRILLE (slider="off") : 3 colonnes compactes ====== */
  .fe2-shopcats .fe2-grid{
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    gap: var(--gap) !important;
    padding: 0 var(--pad);
  }
  .fe2-shopcats .fe2-grid > *{ min-width: 0 !important; } /* évite les débordements */

  /* ====== Cartes : dimensions UNIFORMES ====== */
  .fe2-shopcats .fe2-media{
    aspect-ratio: var(--ratio);     /* ← garantit la même hauteur partout */
    border-radius: var(--radius);
    border: var(--border);
    overflow: hidden;
    background: #fff;
  }
  .fe2-shopcats .fe2-media img{
    width: 100%; height: 100%;
    object-fit: cover;              /* pourquoi : remplit sans déformer */
    display: block;
  }

  /* Caption / nom catégorie (sous l’image) */
  .fe2-shopcats .fe2-name,
  .fe2-shopcats figcaption{
    margin-top: 8px;
    font-size: var(--caption-size);
    line-height: 1.3;
    letter-spacing: var(--caption-ls);
    text-transform: uppercase;
    color: var(--text-color);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    text-align: left;
  }
}




/* ===== FEYI — Cartes mobiles identiques (style Flamingo) ===== */
@media (max-width: 600px){
  .fe2-shopcats{
    --gap: 12px;
    --pad: 14px;
    --ratio: 4 / 5;                         /* même hauteur partout */
    --radius: 8px;
    --border: 1.25px solid rgba(69,82,62,.35);
    --caption: 11px;
    --card-w-swipe: 74vw;                    /* swipe : ~3 cartes visibles */
  }

  /* Titre de section aligné à gauche (optionnel) */
  .fe2-shopcats .fe2-subhead{
    text-align: left !important;
    margin: 18px auto 6px !important;
    padding: 0 var(--pad);
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  /* ========== CHOIX A : GRILLE COMPACTE (3 colonnes) ========== */
  .fe2-shopcats .fe2-grid{
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    gap: var(--gap) !important;
    padding: 0 var(--pad);
  }
  .fe2-shopcats .fe2-grid > *{ min-width: 0 !important; } /* évite stretching */

  /* ========== CHOIX B : SWIPE HORIZONTAL (~3 cartes) ========== */
  /* Si tu utilises le mode slider, décommente ce bloc et commente la grille ci-dessus
  .fe2-shopcats .fe2-grid{
    display: flex !important;
    gap: var(--gap) !important;
    padding: 0 var(--pad);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .fe2-shopcats .fe2-grid::-webkit-scrollbar{ display:none; }
  .fe2-shopcats .fe2-grid > *{
    flex: 0 0 var(--card-w-swipe);
    scroll-snap-align: start;
  } */

  /* ======= NORMALISATION IMAGE — clé du problème ======= */
  /* Cible large : wrapper image (.fe2-media / figure / a > img) */
  .fe2-shopcats .fe2-media,
  .fe2-shopcats figure.fe2-media,
  .fe2-shopcats .fe2-grid > * .fe2-media,
  .fe2-shopcats .fe2-grid > figure,
  .fe2-shopcats .fe2-grid > a > figure{
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: var(--ratio) !important;  /* impose la hauteur */
    padding: 0 !important;                  /* tue le padding-top hack */
    min-height: auto !important;
    border-radius: var(--radius);
    border: var(--border);
    overflow: hidden;
    background: #fff;
  }
  /* tue les pseudo-éléments ratio du thème */
  .fe2-shopcats .fe2-media::before,
  .fe2-shopcats .fe2-media::after,
  .fe2-shopcats figure.fe2-media::before,
  .fe2-shopcats figure.fe2-media::after{ content:none !important; display:none !important; }

  /* Image interne : couvre le container ratio */
  .fe2-shopcats .fe2-media img,
  .fe2-shopcats figure.fe2-media img{
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;           /* remplit sans déformer */
    display: block !important;
  }

  /* Légendes / noms de catégories */
  .fe2-shopcats .fe2-name,
  .fe2-shopcats figcaption{
    margin-top: 8px;
    font-size: var(--caption);
    line-height: 1.3;
    letter-spacing: .06em;
    text-transform: uppercase;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    text-align: left;
    color: #45523E;
  }
}




/* ===== FEYI — Ajuste "SHOP BY CATEGORY" (mobile) ===== */
@media (max-width: 600px){
  .fe2-shopcats{
    /* taille cible proche Flamingo (ajuste ici si besoin) */
    --fe-subhead-size-m: clamp(13px, 3.6vw, 16px);
  }

  /* Titre de sous-section "SHOP BY CATEGORY" */
  .fe2-shopcats .fe2-subhead,
  .fe2-shopcats .section-subtitle,
  .fe2-shopcats h3{
    font-family: var(--heading-font-family, 'Exposure VAR', serif);
    font-size: var(--fe-subhead-size-m);
    line-height: 1.2;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--heading-color, #45523e);
    text-align: left !important;
    /* pourquoi : rapproche visuellement des cartes comme sur FE */
    margin: 14px auto 8px !important;
    padding-left: clamp(12px, 3vw, 20px);
    padding-right: clamp(12px, 3vw, 20px);
  }
}

/* ===== FEYI — Mobile : 3 colonnes alignées à gauche (comme image 2) ===== */
@media (max-width: 600px){
  .fe2-shopcats{
    --pad-l: clamp(12px, 4vw, 18px);   /* gouttière gauche */
    --pad-r: clamp(12px, 4vw, 18px);
    --gap: 12px;                       /* espace entre cartes */
    --ratio: 4 / 5;                    /* hauteur homogène */
    --radius: 8px;
    --border: 1px solid rgba(69,82,62,.35);
  }

  /* En-tête du bloc */
  .fe2-shopcats .fe2-inner{
    padding-left: var(--pad-l) !important;
    padding-right: var(--pad-r) !important;
    text-align: left !important;
    margin-left: 0 !important; margin-right: auto !important;
  }

  /* "SHOP BY CATEGORY" — taille/alignement façon FE */
  .fe2-shopcats .fe2-subhead,
  .fe2-shopcats .section-subtitle,
  .fe2-shopcats h3{
    font-family: var(--heading-font-family, 'Exposure VAR', serif);
    font-size: clamp(13px, 3.6vw, 16px);
    line-height: 1.2; font-weight: 400;
    text-transform: uppercase; letter-spacing: .06em;
    color: var(--heading-color, #45523e);
    text-align: left !important;
    margin: 14px 0 8px !important;
    padding-left: var(--pad-l) !important;
    padding-right: var(--pad-r) !important;
  }

  /* === Grille en 3 colonnes, collée à gauche === */
  .fe2-shopcats .fe2-grid{
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--gap) !important;
    padding-left: var(--pad-l) !important;
    padding-right: var(--pad-r) !important;
    margin-left: 0 !important; margin-right: auto !important;
    justify-content: start !important; justify-items: start !important;
  }

  /* Crucial : neutralise les contraintes du thème qui empêchent 3 colonnes */
  .fe2-shopcats .fe2-grid > *,
  .fe2-shopcats .fe2-grid > * > *,
  .fe2-shopcats .fe2-grid .fe2-card,
  .fe2-shopcats .fe2-grid .product-category,
  .fe2-shopcats .fe2-grid .woocommerce-loop-category__link{
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: initial !important;          /* si un layout flex est injecté */
  }

  /* Cartes uniformes (image + cadre) */
  .fe2-shopcats .fe2-media{
    aspect-ratio: var(--ratio);
    border-radius: var(--radius);
    border: var(--border);
    overflow: hidden; background: #fff;
    padding: 0 !important; min-height: auto !important;
  }
  .fe2-shopcats .fe2-media::before,
  .fe2-shopcats .fe2-media::after{ content:none !important; display:none !important; } /* tue ratio hacks */

  .fe2-shopcats .fe2-media img{
    width: 100% !important; height: 100% !important;
    object-fit: cover !important; display: block;
  }

  /* Légendes compactes */
  .fe2-shopcats .fe2-name,
  .fe2-shopcats figcaption{
    margin-top: 8px;
    font-size: 11px; line-height: 1.3;
    letter-spacing: .06em; text-transform: uppercase;
    color: #45523e; text-align: left;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
}



/* ============================================
   FEYI — Alignement GAUCHE strict (mobile)
   Met le CSS dans le conteneur du shortcode.
   ============================================ */
@media (max-width: 600px){
  .fe2-shopcats{
    --rail-l: clamp(12px, 4vw, 18px);  /* une SEULE source de vérité */
    --rail-r: clamp(12px, 4vw, 18px);
    --gap: 12px;
  }

  /* 1) Le wrapper pose la gouttière (et seulement lui) */
  .fe2-shopcats .fe2-inner{
    padding-left: var(--rail-l) !important;
    padding-right: var(--rail-r) !important;
    margin: 0 !important;
    text-align: left !important;
  }

  /* 2) L’intitulé n’ajoute rien (pas de padding doublé) */
  .fe2-shopcats .fe2-subhead,
  .fe2-shopcats .section-subtitle,
  .fe2-shopcats h3{
    padding: 0 !important;                 /* clé: pas de double gouttière */
    margin: 14px 0 8px !important;
    text-align: left !important;
  }

  /* 3) La grille n’ajoute RIEN non plus, et colle au rail du parent */
  .fe2-shopcats .fe2-grid{
    padding: 0 !important;                 /* clé */
    margin: 0 !important;
    gap: var(--gap) !important;
    justify-content: start !important;
    justify-items: start !important;
    align-content: start !important;
    place-items: start !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* 4) On neutralise les largeurs/marges héritées qui décalent les cartes */
  .fe2-shopcats .fe2-grid > *,
  .fe2-shopcats .fe2-grid > * > *,
  .fe2-shopcats .fe2-card,
  .fe2-shopcats .product-category,
  .fe2-shopcats .woocommerce-loop-category__link{
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: initial !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    justify-self: start !important;
    text-align: left !important;
  }

  /* 5) Cartes : pas de padding interne qui créerait un décalage visuel */
  .fe2-shopcats .fe2-card,
  .fe2-shopcats .product-category{ padding: 0 !important; }

  /* 6) Aligner aussi FILTER/SORT sur le même rail */
  .fe2-toolbar,
  .woocommerce-ordering,
  .collection__filters,
  .catalog-toolbar,
  .archive-toolbar{
    padding-left: var(--rail-l) !important;
    padding-right: var(--rail-r) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* (Option DEBUG) Visualiser le rail gauche — décommente pour vérifier
  .fe2-shopcats::before{
    content:""; position: fixed; left: var(--rail-l); top: 0; bottom: 0; width: 1px;
    background: rgba(69,82,62,.25); pointer-events:none; z-index: 9999;
  } */
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-bd355fc *//* ===========================
   FEYI — Filters “luxe” (pills)
   Alignement 100% à GAUCHE
   =========================== */

/* Conteneur global */
#fe-layout .fe3-filters{
  margin: clamp(12px, 2.2vw, 28px) 0 0 !important; /* plus de centrage auto */
  padding-left: clamp(16px, 2.5vw, 24px) !important;
  padding-right: clamp(16px, 2.5vw, 24px) !important;
}

/* Ligne interne : on aligne à GAUCHE, on enlève toute contrainte de centrage */
#fe-layout .fe3-filters .fe3-row{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;  /* ← clé : tout à gauche */
  gap: 16px !important;
  max-width: 100% !important;
  margin: 0 !important;                    /* plus de margin: 0 auto */
  padding: 0 !important;                   /* on garde les paddings du parent */
}

/* Groupes (Category + Sort By) côte à côte, sans auto-margins */
#fe-layout .fe3-filters .fe3-form,
#fe-layout .fe3-filters .fe3-sort{
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;                    /* supprime margin-left/right:auto précédents */
}

/* Label discret */
#fe-layout .fe3-filters .fe3-label{
  font-family:"Ortica Family", serif !important;
  font-weight:500 !important;
  letter-spacing:.06em !important;
  font-size:13px !important;
  line-height: 40px !important;            /* aligne optiquement avec les pills */
  color:#45523E !important; 
  opacity:.85 !important;
  margin:0 8px 0 0 !important;
}

/* Conteneur du <select> */
#fe-layout .fe3-filters .fe3-select{ 
  position:relative !important; 
  display:inline-flex !important; 
}

/* Pills fines et cohérentes (hauteur égale) */
#fe-layout .fe3-filters select{
  -webkit-appearance:none; appearance:none; -moz-appearance:none;
  min-width:150px !important;
  height: 40px !important;
  line-height: 40px !important;
  padding: 0 26px 0 14px !important;
  border-radius:999px !important;
  border:1px solid rgba(69,82,62,.28) !important;
  background:#fff !important;
  color:#45523E !important; 
  font-size:14px !important; 
  letter-spacing:.01em !important;
  font-family:"maison-neue", Arial, sans-serif !important; 
  font-weight:400 !important;
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease !important;
  box-shadow:none !important;
}
#fe-layout .fe3-filters select:hover{ border-color:rgba(69,82,62,.45) !important; }
#fe-layout .fe3-filters select:focus{
  outline:0 !important; 
  border-color:#45523E !important; 
  box-shadow:0 0 0 2px rgba(69,82,62,.08) !important;
}

/* Chevron fin centré verticalement */
#fe-layout .fe3-filters .fe3-caret{
  position:absolute !important; 
  right:10px !important; 
  top:50% !important; 
  transform:translateY(-50%) !important;
  pointer-events:none !important; 
  width:0 !important; height:0 !important;
  border-left:4px solid transparent !important; 
  border-right:4px solid transparent !important;
  border-top:5px solid rgba(69,82,62,.8) !important;
}

/* Masque tout bouton résiduel / parasite */
#fe-layout .fe3-apply,
#fe-layout .fe3-form button,
#fe-layout .fe3-form .button,
#fe-layout .fe3-form .elementor-button,
#fe-layout .fe3-form .Button{
  display:none !important; 
  width:0 !important; height:0 !important;
  padding:0 !important; margin:0 !important; border:0 !important;
  background:transparent !important;
}

/* Sécurité : neutralise tout bloc non-select qui traîne dans la form */
#fe-layout .fe3-form > *:not(.fe3-select):not(.fe3-label){
  background:transparent !important; border:0 !important; box-shadow:none !important;
}

/* Mobile : on empile proprement à gauche */
@media (max-width: 900px){
  #fe-layout .fe3-filters .fe3-row{
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }
  #fe-layout .fe3-filters select{ min-width: 140px !important; }
}



/* ===== FEYI — Filters : empilement mobile/tablette luxe ===== */
@media (max-width: 1024px){
  /* conteneur global de la barre */
  #fe-layout .fe3-filters{
    padding: 0 clamp(14px, 4vw, 24px);
    margin: 18px auto 10px;
    max-width: 680px;            /* évite l’étirement sur grands mobiles */
  }

  /* ligne interne → pile verticale, full-width */
  #fe-layout .fe3-filters .fe3-row{
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;                   /* espace entre les éléments */
    margin: 0;                   /* enlève tout décalage du thème */
  }

  /* mini titre "FILTER BY" façon luxe */
  #fe-layout .fe3-filters .fe3-label{
    order: -1;                   /* au-dessus des selects */
    font-family: "Ortica Family", serif;
    font-weight: 500;
    letter-spacing: .16em;
    font-size: 11px;
    line-height: 1;
    color: #45523E;
    opacity: .65;
    margin: 0 0 2px 2px;
    text-transform: uppercase;
  }

  /* blocs Category & Sort By → 100% largeur, alignés */
  #fe-layout .fe3-filters :is(.fe3-form, .fe3-sort, form, .woocommerce-ordering){
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    width: 100%;
  }

  /* selects en pilules, même taille, esthétique “luxe” */
  #fe-layout .fe3-filters select{
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 44px !important;
    line-height: 44px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(69,82,62,.26) !important;
    background: #fff !important;
    color: #45523E !important;
    font: 400 14px/1 "maison-neue", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.05) !important;  /* halo doux */
    transition: border-color .18s ease, box-shadow .18s ease;
  }
  #fe-layout .fe3-filters select:hover{
    border-color: rgba(69,82,62,.42) !important;
  }
  #fe-layout .fe3-filters select:focus{
    outline: 0 !important;
    border-color: #45523E !important;
    box-shadow: 0 0 0 2px rgba(69,82,62,.10) !important;
  }

  /* chevrons fins & centrés (si ton shortcode les injecte) */
  #fe-layout .fe3-filters .fe3-select{ position: relative; }
  #fe-layout .fe3-filters .fe3-caret{
    position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
    pointer-events: none; width: 0; height: 0;
    border-left: 5px solid transparent; border-right: 5px solid transparent;
    border-top: 6px solid rgba(69,82,62,.8);
  }

  /* petit trait subtil au-dessus pour structurer (optionnel) */
  #fe-layout .fe3-filters{ border-top: 1px solid rgba(69,82,62,.06); padding-top: 14px; }
}

/* Desktop : ne rien casser (retour au layout horizontal natif) */
@media (min-width: 1025px){
  #fe-layout .fe3-filters .fe3-row{
    gap: 14px;                   /* léger spacing si besoin */
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-c5f7083 *//* ===== FEYI — Contrôle simple du badge Best-seller ===== */
@media (max-width:1024px){
  /* Réglages par défaut (tu peux changer ces valeurs) */
  .fe-reserves-m{
    --best-top: 18px;     /* ↑ distance depuis le haut */
    --best-offset: 10px;  /* → marge côté */
    --best-side: right;   /* left | right */
  }

  /* Application */
  .fe-reserves-m .fe-badge--best{
    position: absolute !important;
    top: var(--best-top) !important;
    z-index: 3 !important;
    /* côté choisi */
    left: calc(var(--best-side) == left ? var(--best-offset) : auto) !important;
    right: calc(var(--best-side) == right ? var(--best-offset) : auto) !important;
  }

  /* Fallback cross-browser (au cas où calc/== gêne certains navigateurs) */
  .fe-reserves-m .fe-badge--best{
    left: auto !important; right: var(--best-offset) !important; /* côté = right par défaut */
  }
  /* Si tu veux le côté gauche, active ce sélecteur plus bas que le bloc ci-dessus */
  .fe-reserves-m.is-best-left .fe-badge--best{ right:auto !important; left:var(--best-offset) !important; }
}

/* EXEMPLES D’USAGE RAPIDE:
   1) Tout à droite à 42px du haut:
      .fe-reserves-m{ --best-top:42px; --best-offset:10px; }
   2) Tout à gauche à 30px du haut:
      .fe-reserves-m{ --best-top:30px; --best-offset:12px; }
      .fe-reserves-m{ --best-side:right; }  <-- ignoré par le fallback; utilise la classe:
      .fe-reserves-m.is-best-left { }       <-- ajoute cette classe au wrapper si possible
*//* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-4d89504 *//* ===== Mode GRILLE ===== */
.fe-strip--grid .fe-strip__track{
  display:grid;
  grid-template-columns: repeat(var(--fe-grid-cols,3), 1fr);
  grid-auto-flow: row;
  gap: var(--fe-track-gap, 20px);
  overflow: visible;      /* on enlève le scroll horizontal */
  padding: 0;
}
.fe-no-head .fe-strip__head{ display:none !important; }
.fe-no-arrows .fe-arrow--side,
.fe-strip--grid .fe-arrow--side,
.fe-strip--grid .fe-strip__progress{ display:none !important; }

/* Sécurité : chaque carte prend la largeur de sa colonne */
.fe-strip--grid .fe-card{ width:100%; }

/* Optionnel : petit respo simple */
@media(max-width: 1024px){
  .fe-strip--grid .fe-strip__track{ grid-template-columns: repeat(2, 1fr); }
}
@media(max-width: 640px){
  .fe-strip--grid .fe-strip__track{ grid-template-columns: 1fr; }
}




/* ===== FEYI — Harmonisation du nouveau shortcode quand il est dans .fe-archive ===== */

/* Pile carte (image puis textes) */
.fe-archive .fe-card{
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  background: transparent;
  border: 0;
  box-shadow: none;
  aspect-ratio: auto !important;
}
.fe-archive .fe-card__media{ position: relative !important; }

/* IMAGE — format 4/5, full-bleed, arrondi + ombre */
.fe-archive .fe-card__imgWrap{
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  overflow: hidden !important;
  border-radius: 16px !important;
  background: #f2f2f2 !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.07) !important;
}
.fe-archive .fe-card__imgEl{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Dégradé doux en bas de l’image */
.fe-archive .fe-card__imgWrap::after{
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 26%;
  background: linear-gradient(to top, rgba(0,0,0,.16), rgba(0,0,0,0));
  pointer-events: none;
}

/* BADGES — style “glass” */
.fe-archive .fe-badges{
  position: absolute; top: 12px; left: 12px; right: 12px;
  display: flex; justify-content: space-between; gap: 10px;
  z-index: 2; pointer-events: none;
}
.fe-archive .fe-badge{
  pointer-events: auto;
  padding: 4px 9px; border-radius: 999px;
  font: 600 10px/1 "Ortica Linear", system-ui;
  letter-spacing: .06em; text-transform: uppercase;
  color: #fff;
  background: rgba(0,0,0,.38);
  border: 0.5px solid rgba(255,255,255,.22);
  backdrop-filter: saturate(115%) blur(2px);
  box-shadow: 0 1px 3px rgba(0,0,0,.05);
}
.fe-archive .fe-badge--best{
  position: absolute !important;
  top: 36px !important; left: 12px !important;
  z-index: 3 !important;
}

/* CTA — centré sur l’image (même look que home) */
.fe-archive .fe-card__ctaWrap{
  position: absolute; left: 14px; right: 14px; bottom: 14px;
  display: flex; justify-content: center; z-index: 3;
}
.fe-archive .fe-btn.fe-btn--overlay{
  height: 36px; padding: 0 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.08);
  font: 600 12.5px/1 "Ortica Linear", system-ui;
  color: #111;
  box-shadow: 0 4px 14px rgba(0,0,0,.08);
}
.fe-archive .fe-btn.fe-btn--overlay::after{
  content: attr(data-price);
  margin-left: 10px;
  min-width: 28px; height: 20px; padding: 0 7px;
  border-radius: 999px; border: 1px solid rgba(0,0,0,.10);
  font: 600 10.5px/1 "Ortica Linear", system-ui; background: #fff;
}
.fe-archive .fe-btn.fe-btn--overlay:not([data-price])::after,
.fe-archive .fe-btn.fe-btn--overlay[data-price=""]::after{ content: none; }

/* TEXTE sous l’image : même typo/layers */
.fe-archive .fe-card__body{
  display:block !important;
  position: static !important;
  padding: 12px 6px 0 !important;
  margin: 0 !important;
  z-index: auto !important;
  pointer-events: auto !important;
}
.fe-archive .fe-card__title,
.fe-archive .fe-card__title a{
  font-family:"Ortica Linear", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight:400 !important;
  font-style:normal !important;
  font-size:18px !important;
  line-height:1.25 !important;
  color:#45523e !important;
  text-decoration:none !important;
}
.fe-archive .fe-card__subtitle{
  font-family:"Ortica Linear", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight:400 !important;
  font-size:13px !important;
  line-height:1.35 !important;
  color:#6a6a6a !important;
  margin:0 !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}


//* ========= FE — Carte spéciale (ID 16561) : format rectangulaire + contrôle taille ========= */

/* Réglages par défaut (tu peux changer les valeurs ici) */
.fe-archive{
  /* largeur en colonnes dans la grille (2 = double largeur) */
  --card16561-span: 2;

  /* ratio de l'image (ex: 16/9, 2/1, 21/9...) */
  --card16561-ratio: 16 / 9;

  /* si tu préfères forcer une hauteur, mets une valeur (ex: 260px) 
     et laisse le ratio tel quel ou à 'auto' */
  --card16561-height: 280px; /* ex: 280px */
}

/* Étendre la carte sur plusieurs colonnes (desktop) */
@media (min-width: 1024px){
  .fe-archive .fe-card[data-product-id="16561"]{
    grid-column: span var(--card16561-span, 2);
  }
}

/* Format visuel (ratio / hauteur / arrondis) */
.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgWrap{
  /* si une hauteur est définie, on la respecte et on garde cover,
     sinon on utilise le ratio pour calculer automatiquement */
  height: var(--card16561-height, auto) !important;
  aspect-ratio: var(--card16561-ratio, 16 / 9) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

/* Dégradé un peu moins haut sur ce format large */
.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgWrap::after{
  height: 22% !important;
}

/* Un peu d’air sous l’image */
.fe-archive .fe-card[data-product-id="16561"] .fe-card__body{
  padding-top: 12px !important;
}

/* Mobile / tablette : on revient à une carte “normale” */
@media (max-width: 1023.98px){
  .fe-archive{
    --card16561-span: 1;
    --card16561-ratio: 4 / 3;      /* un rectangle un peu plus haut pour éviter l’écrasement */
    --card16561-height: auto;
  }
}


/* 16561 — montrer plus les fruits (décalage vers le haut) */
.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgWrap {
  height: 420px !important;           /* même fenêtre que tout à l'heure */
  aspect-ratio: auto !important;
  overflow: hidden !important;
}

/* Variante A — cadrage avec object-position (recommandé) */
.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgWrap > img,
.fe-archive .fe-card[data-product-id="16561"] picture > img,
.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgEl {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;

  /* ↓ monte l'image : plus la 2e valeur est petite, plus ça « remonte » */
  object-position: 50% 70% !important;   /* 50% = centré horizontal, 22% = haut */
  transition: none !important;
  transform: none !important;
}

/* (au cas où un hover/zoom du thème recale l'image) */
.fe-archive .fe-card[data-product-id="16561"] .fe-card__media:hover img {
  transform: none !important;
}

/* ----- Option B (si object-position ne suffit pas) : translation fine -----
.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgWrap > img,
.fe-archive .fe-card[data-product-id="16561"] picture > img {
  object-position: 50% 50% !important;
  transform: translateY(-12%) !important;  [> monte l'image de 12%]
}
-------------------------------------------------------------------------- */





/* Aligne la 1ʳᵉ carte sous le titre et la 4ᵉ sous "Sort by" */
.elementor-1770 .elementor-element.elementor-element-4d89504{
  /* ↘︎ règle juste ces 3 variables pour matcher la section du dessus */
  --container-max: 1200px;                /* largeur colonne interne du bloc filtre/titre */
  --gutter-left: clamp(16px, 3vw, 32px);  /* padding gauche du bloc filtre/titre */
  --gutter-right: clamp(16px, 3vw, 32px); /* padding droit du bloc filtre/titre */

  /* micro-ajustements si besoin (±1–8px) */
  --shift-left: 0px;                      /* pousse tout à gauche (+) ou tire (-) */
  --shift-right: 0px;                     /* idem côté droit */

  width: 100vw !important;
  margin-left: calc(50% - 50vw + var(--shift-left)) !important;
  margin-right: calc(50% - 50vw + var(--shift-right)) !important;
  padding-left: var(--gutter-left);
  padding-right: var(--gutter-right);
  box-sizing: border-box;
}

/* Colonne interne centrée, même largeur que le bloc du dessus */
.elementor-1770 .elementor-element.elementor-element-4d89504 .fe-strip{
  max-width: var(--container-max);
  margin-inline: auto;
}

/* Grille 4 colonnes (1ʳᵉ sous le titre, 4ᵉ sous Sort by) */
.elementor-1770 .elementor-element.elementor-element-4d89504 .fe-strip__track{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: var(--fe-track-gap, 24px) !important;
  overflow: visible !important;
  white-space: normal !important;
  justify-content: stretch !important;
  align-items: start !important;
}

/* Supprime les artefacts de carrousel et flèches */
.elementor-1770 .elementor-element.elementor-element-4d89504 .fe-strip__track .fe-card{ min-width: 0 !important; width: auto !important; }
.elementor-1770 .elementor-element.elementor-element-4d89504 .fe-arrow, .elementor-1770 .elementor-element.elementor-element-4d89504 .fe-strip__progress{ display: none !important; }

/* Responsive: 2 colonnes tablette / 1 mobile (ajuste à ta grille) */
@media (max-width: 1023.98px){
  .elementor-1770 .elementor-element.elementor-element-4d89504 .fe-strip__track{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width: 767.98px){
  .elementor-1770 .elementor-element.elementor-element-4d89504 .fe-strip__track{ grid-template-columns: 1fr !important; }
}



/* OPTION A — Elementor > Avancé > CSS personnalisé (du widget du bloc Réserves) */
.elementor-1770 .elementor-element.elementor-element-4d89504 .fe-card__engagements { display: none !important; }

/* (par sécurité si le thème met ça ailleurs) */
.elementor-1770 .elementor-element.elementor-element-4d89504 .fe-card .engagements,
.elementor-1770 .elementor-element.elementor-element-4d89504 .fe-card .traceabilites,
.elementor-1770 .elementor-element.elementor-element-4d89504 .fe-card [data-engagements] { display: none !important; }



/* OPTION B — Global (Apparence > Personnaliser > CSS additionnel) */
.fe-archive .fe-card__engagements { display: none !important; }
.fe-archive .fe-card .engagements,
.fe-archive .fe-card .traceabilites,
.fe-archive .fe-card [data-engagements] { display: none !important; }






/* === FE — Carte rectangulaire : contrôle du cadrage (focus / offset / zoom) === */
/* 1) RÉGLAGES — adapte juste ces variables */
.fe-archive .fe-card[data-product-id="16561"]{
  /* Point focal (0% = gauche/haut, 50% = centre, 100% = droite/bas) */
  --fx: 50%;
  --fy: 35%;    /* ↓ monte l'image si le sujet est trop bas ; ↑ la descend */

  /* Décalage fin supplémentaire (utilisé si besoin) */
  --shift-y: -25%;   /* ex: -6% = remonte un peu, 0 = neutre */

  /* Zoom léger (1 = neutre ; 1.05 = +5%) */
  --zoom: 1.03;
}

/* 2) Application du cadrage sur l’image */
.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgWrap{
  /* tu peux garder ta hauteur fixe si besoin */
  /* height: 420px !important; aspect-ratio: auto !important; */
  overflow: hidden !important;
}

.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgWrap > img,
.fe-archive .fe-card[data-product-id="16561"] picture > img,
.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgEl{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;

  /* 👉 cadrage principal par point focal */
  object-position: var(--fx) var(--fy) !important;

  /* 👉 ajustement fin (optionnel) + zoom doux */
  transform: translateY(var(--shift-y)) scale(var(--zoom)) !important;

  transition: none !important;   /* pas d’animations parasites */
}

/* 3) Spécifique mobile : recadrer autrement si nécessaire */
@media (max-width: 767.98px){
  .fe-archive .fe-card[data-product-id="16561"]{
    --fx: 50%;
    --fy: 45%;     /* un peu plus bas pour montrer le bas du carton, par ex. */
    --shift-y: -3%;
    --zoom: 1.02;
  }
}


/* ===================== FEYI — Carte wide (ID 16561) : hauteur pilotable ===================== */
/* Valeurs par défaut (tu peux les surcharger par widget, voir §2) */
.fe-archive{
  --card16561-span: 2;           /* étendue en colonnes sur desktop */
  --wide-h-desktop: 358px;       /* hauteur desktop */
  --wide-h-tablet: 360px;        /* hauteur tablette */
  --wide-h-mobile: 260px;        /* hauteur mobile */
}

/* Étendre la carte sur plusieurs colonnes (desktop) — garde ta logique existante */
@media (min-width: 1024px){
  .fe-archive .fe-card[data-product-id="16561"]{
    grid-column: span var(--card16561-span, 2);
  }
}

/* >>> RÈGLE UNIQUE DE HAUTEUR : on remplace l'ancien 420px !important par des variables <<< */
.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgWrap{
  height: var(--wide-h-desktop) !important; /* <-- gagne sur l'ancien car ce bloc est placé APRÈS */
  aspect-ratio: auto !important;            /* on neutralise le ratio pour respecter la hauteur */
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #f2f2f2 !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.07) !important;
}

/* Responsives */
@media (max-width: 1023.98px){
  .fe-archive .fe-card[data-product-id="16561"] .fe-card__imgWrap{
    height: var(--wide-h-tablet) !important;
  }
}
@media (max-width: 680px){
  .fe-archive .fe-card[data-product-id="16561"] .fe-card__imgWrap{
    height: var(--wide-h-mobile) !important;
  }
}

/* Image : conserve ton cadrage/zoom actuel (fx/fy/shift/zoom) */
.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgWrap > img,
.fe-archive .fe-card[data-product-id="16561"] picture > img,
.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgEl{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;

  /* Ces variables existent déjà chez toi : laisse-les, ajuste si besoin */
  object-position: var(--fx, 50%) var(--fy, 50%) !important;
  transform: translateY(var(--shift-y, 0)) scale(var(--zoom, 1)) !important;
  transition: none !important;
}

/* Dégradé conservé */
.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgWrap::after{
  height: 22% !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-e165de4 *//* ===== Mode GRILLE ===== */
.fe-strip--grid .fe-strip__track{
  display:grid;
  grid-template-columns: repeat(var(--fe-grid-cols,3), 1fr);
  grid-auto-flow: row;
  gap: var(--fe-track-gap, 20px);
  overflow: visible;      /* on enlève le scroll horizontal */
  padding: 0;
}
.fe-no-head .fe-strip__head{ display:none !important; }
.fe-no-arrows .fe-arrow--side,
.fe-strip--grid .fe-arrow--side,
.fe-strip--grid .fe-strip__progress{ display:none !important; }

/* Sécurité : chaque carte prend la largeur de sa colonne */
.fe-strip--grid .fe-card{ width:100%; }

/* Optionnel : petit respo simple */
@media(max-width: 1024px){
  .fe-strip--grid .fe-strip__track{ grid-template-columns: repeat(2, 1fr); }
}
@media(max-width: 640px){
  .fe-strip--grid .fe-strip__track{ grid-template-columns: 1fr; }
}




/* ===== FEYI — Harmonisation du nouveau shortcode quand il est dans .fe-archive ===== */

/* Pile carte (image puis textes) */
.fe-archive .fe-card{
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  background: transparent;
  border: 0;
  box-shadow: none;
  aspect-ratio: auto !important;
}
.fe-archive .fe-card__media{ position: relative !important; }

/* IMAGE — format 4/5, full-bleed, arrondi + ombre */
.fe-archive .fe-card__imgWrap{
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  overflow: hidden !important;
  border-radius: 16px !important;
  background: #f2f2f2 !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.07) !important;
}
.fe-archive .fe-card__imgEl{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Dégradé doux en bas de l’image */
.fe-archive .fe-card__imgWrap::after{
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 26%;
  background: linear-gradient(to top, rgba(0,0,0,.16), rgba(0,0,0,0));
  pointer-events: none;
}

/* BADGES — style “glass” */
.fe-archive .fe-badges{
  position: absolute; top: 12px; left: 12px; right: 12px;
  display: flex; justify-content: space-between; gap: 10px;
  z-index: 2; pointer-events: none;
}
.fe-archive .fe-badge{
  pointer-events: auto;
  padding: 4px 9px; border-radius: 999px;
  font: 600 10px/1 "Ortica Linear", system-ui;
  letter-spacing: .06em; text-transform: uppercase;
  color: #fff;
  background: rgba(0,0,0,.38);
  border: 0.5px solid rgba(255,255,255,.22);
  backdrop-filter: saturate(115%) blur(2px);
  box-shadow: 0 1px 3px rgba(0,0,0,.05);
}
.fe-archive .fe-badge--best{
  position: absolute !important;
  top: 36px !important; left: 12px !important;
  z-index: 3 !important;
}

/* CTA — centré sur l’image (même look que home) */
.fe-archive .fe-card__ctaWrap{
  position: absolute; left: 14px; right: 14px; bottom: 14px;
  display: flex; justify-content: center; z-index: 3;
}
.fe-archive .fe-btn.fe-btn--overlay{
  height: 36px; padding: 0 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.08);
  font: 600 12.5px/1 "Ortica Linear", system-ui;
  color: #111;
  box-shadow: 0 4px 14px rgba(0,0,0,.08);
}
.fe-archive .fe-btn.fe-btn--overlay::after{
  content: attr(data-price);
  margin-left: 10px;
  min-width: 28px; height: 20px; padding: 0 7px;
  border-radius: 999px; border: 1px solid rgba(0,0,0,.10);
  font: 600 10.5px/1 "Ortica Linear", system-ui; background: #fff;
}
.fe-archive .fe-btn.fe-btn--overlay:not([data-price])::after,
.fe-archive .fe-btn.fe-btn--overlay[data-price=""]::after{ content: none; }

/* TEXTE sous l’image : même typo/layers */
.fe-archive .fe-card__body{
  display:block !important;
  position: static !important;
  padding: 12px 6px 0 !important;
  margin: 0 !important;
  z-index: auto !important;
  pointer-events: auto !important;
}
.fe-archive .fe-card__title,
.fe-archive .fe-card__title a{
  font-family:"Ortica Linear", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight:400 !important;
  font-style:normal !important;
  font-size:18px !important;
  line-height:1.25 !important;
  color:#45523e !important;
  text-decoration:none !important;
}
.fe-archive .fe-card__subtitle{
  font-family:"Ortica Linear", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight:400 !important;
  font-size:13px !important;
  line-height:1.35 !important;
  color:#6a6a6a !important;
  margin:0 !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}


//* ========= FE — Carte spéciale (ID 16561) : format rectangulaire + contrôle taille ========= */

/* Réglages par défaut (tu peux changer les valeurs ici) */
.fe-archive{
  /* largeur en colonnes dans la grille (2 = double largeur) */
  --card16561-span: 2;

  /* ratio de l'image (ex: 16/9, 2/1, 21/9...) */
  --card16561-ratio: 16 / 9;

  /* si tu préfères forcer une hauteur, mets une valeur (ex: 260px) 
     et laisse le ratio tel quel ou à 'auto' */
  --card16561-height: 280px; /* ex: 280px */
}

/* Étendre la carte sur plusieurs colonnes (desktop) */
@media (min-width: 1024px){
  .fe-archive .fe-card[data-product-id="16561"]{
    grid-column: span var(--card16561-span, 2);
  }
}

/* Format visuel (ratio / hauteur / arrondis) */
.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgWrap{
  /* si une hauteur est définie, on la respecte et on garde cover,
     sinon on utilise le ratio pour calculer automatiquement */
  height: var(--card16561-height, auto) !important;
  aspect-ratio: var(--card16561-ratio, 16 / 9) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

/* Dégradé un peu moins haut sur ce format large */
.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgWrap::after{
  height: 22% !important;
}

/* Un peu d’air sous l’image */
.fe-archive .fe-card[data-product-id="16561"] .fe-card__body{
  padding-top: 12px !important;
}

/* Mobile / tablette : on revient à une carte “normale” */
@media (max-width: 1023.98px){
  .fe-archive{
    --card16561-span: 1;
    --card16561-ratio: 4 / 3;      /* un rectangle un peu plus haut pour éviter l’écrasement */
    --card16561-height: auto;
  }
}


/* 16561 — montrer plus les fruits (décalage vers le haut) */
.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgWrap {
  height: 420px !important;           /* même fenêtre que tout à l'heure */
  aspect-ratio: auto !important;
  overflow: hidden !important;
}

/* Variante A — cadrage avec object-position (recommandé) */
.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgWrap > img,
.fe-archive .fe-card[data-product-id="16561"] picture > img,
.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgEl {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;

  /* ↓ monte l'image : plus la 2e valeur est petite, plus ça « remonte » */
  object-position: 50% 70% !important;   /* 50% = centré horizontal, 22% = haut */
  transition: none !important;
  transform: none !important;
}

/* (au cas où un hover/zoom du thème recale l'image) */
.fe-archive .fe-card[data-product-id="16561"] .fe-card__media:hover img {
  transform: none !important;
}

/* ----- Option B (si object-position ne suffit pas) : translation fine -----
.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgWrap > img,
.fe-archive .fe-card[data-product-id="16561"] picture > img {
  object-position: 50% 50% !important;
  transform: translateY(-12%) !important;  [> monte l'image de 12%]
}
-------------------------------------------------------------------------- */





/* Aligne la 1ʳᵉ carte sous le titre et la 4ᵉ sous "Sort by" */
.elementor-1770 .elementor-element.elementor-element-e165de4{
  /* ↘︎ règle juste ces 3 variables pour matcher la section du dessus */
  --container-max: 1200px;                /* largeur colonne interne du bloc filtre/titre */
  --gutter-left: clamp(16px, 3vw, 32px);  /* padding gauche du bloc filtre/titre */
  --gutter-right: clamp(16px, 3vw, 32px); /* padding droit du bloc filtre/titre */

  /* micro-ajustements si besoin (±1–8px) */
  --shift-left: 0px;                      /* pousse tout à gauche (+) ou tire (-) */
  --shift-right: 0px;                     /* idem côté droit */

  width: 100vw !important;
  margin-left: calc(50% - 50vw + var(--shift-left)) !important;
  margin-right: calc(50% - 50vw + var(--shift-right)) !important;
  padding-left: var(--gutter-left);
  padding-right: var(--gutter-right);
  box-sizing: border-box;
}

/* Colonne interne centrée, même largeur que le bloc du dessus */
.elementor-1770 .elementor-element.elementor-element-e165de4 .fe-strip{
  max-width: var(--container-max);
  margin-inline: auto;
}

/* Grille 4 colonnes (1ʳᵉ sous le titre, 4ᵉ sous Sort by) */
.elementor-1770 .elementor-element.elementor-element-e165de4 .fe-strip__track{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: var(--fe-track-gap, 24px) !important;
  overflow: visible !important;
  white-space: normal !important;
  justify-content: stretch !important;
  align-items: start !important;
}

/* Supprime les artefacts de carrousel et flèches */
.elementor-1770 .elementor-element.elementor-element-e165de4 .fe-strip__track .fe-card{ min-width: 0 !important; width: auto !important; }
.elementor-1770 .elementor-element.elementor-element-e165de4 .fe-arrow, .elementor-1770 .elementor-element.elementor-element-e165de4 .fe-strip__progress{ display: none !important; }

/* Responsive: 2 colonnes tablette / 1 mobile (ajuste à ta grille) */
@media (max-width: 1023.98px){
  .elementor-1770 .elementor-element.elementor-element-e165de4 .fe-strip__track{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width: 767.98px){
  .elementor-1770 .elementor-element.elementor-element-e165de4 .fe-strip__track{ grid-template-columns: 1fr !important; }
}



/* OPTION A — Elementor > Avancé > CSS personnalisé (du widget du bloc Réserves) */
.elementor-1770 .elementor-element.elementor-element-e165de4 .fe-card__engagements { display: none !important; }

/* (par sécurité si le thème met ça ailleurs) */
.elementor-1770 .elementor-element.elementor-element-e165de4 .fe-card .engagements,
.elementor-1770 .elementor-element.elementor-element-e165de4 .fe-card .traceabilites,
.elementor-1770 .elementor-element.elementor-element-e165de4 .fe-card [data-engagements] { display: none !important; }



/* OPTION B — Global (Apparence > Personnaliser > CSS additionnel) */
.fe-archive .fe-card__engagements { display: none !important; }
.fe-archive .fe-card .engagements,
.fe-archive .fe-card .traceabilites,
.fe-archive .fe-card [data-engagements] { display: none !important; }






/* === FE — Carte rectangulaire : contrôle du cadrage (focus / offset / zoom) === */
/* 1) RÉGLAGES — adapte juste ces variables */
.fe-archive .fe-card[data-product-id="16561"]{
  /* Point focal (0% = gauche/haut, 50% = centre, 100% = droite/bas) */
  --fx: 50%;
  --fy: 35%;    /* ↓ monte l'image si le sujet est trop bas ; ↑ la descend */

  /* Décalage fin supplémentaire (utilisé si besoin) */
  --shift-y: -25%;   /* ex: -6% = remonte un peu, 0 = neutre */

  /* Zoom léger (1 = neutre ; 1.05 = +5%) */
  --zoom: 1.03;
}

/* 2) Application du cadrage sur l’image */
.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgWrap{
  /* tu peux garder ta hauteur fixe si besoin */
  /* height: 420px !important; aspect-ratio: auto !important; */
  overflow: hidden !important;
}

.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgWrap > img,
.fe-archive .fe-card[data-product-id="16561"] picture > img,
.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgEl{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;

  /* 👉 cadrage principal par point focal */
  object-position: var(--fx) var(--fy) !important;

  /* 👉 ajustement fin (optionnel) + zoom doux */
  transform: translateY(var(--shift-y)) scale(var(--zoom)) !important;

  transition: none !important;   /* pas d’animations parasites */
}

/* 3) Spécifique mobile : recadrer autrement si nécessaire */
@media (max-width: 767.98px){
  .fe-archive .fe-card[data-product-id="16561"]{
    --fx: 50%;
    --fy: 45%;     /* un peu plus bas pour montrer le bas du carton, par ex. */
    --shift-y: -3%;
    --zoom: 1.02;
  }
}


/* ===================== FEYI — Carte wide (ID 16561) : hauteur pilotable ===================== */
/* Valeurs par défaut (tu peux les surcharger par widget, voir §2) */
.fe-archive{
  --card16561-span: 2;           /* étendue en colonnes sur desktop */
  --wide-h-desktop: 358px;       /* hauteur desktop */
  --wide-h-tablet: 360px;        /* hauteur tablette */
  --wide-h-mobile: 260px;        /* hauteur mobile */
}

/* Étendre la carte sur plusieurs colonnes (desktop) — garde ta logique existante */
@media (min-width: 1024px){
  .fe-archive .fe-card[data-product-id="16561"]{
    grid-column: span var(--card16561-span, 2);
  }
}

/* >>> RÈGLE UNIQUE DE HAUTEUR : on remplace l'ancien 420px !important par des variables <<< */
.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgWrap{
  height: var(--wide-h-desktop) !important; /* <-- gagne sur l'ancien car ce bloc est placé APRÈS */
  aspect-ratio: auto !important;            /* on neutralise le ratio pour respecter la hauteur */
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #f2f2f2 !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.07) !important;
}

/* Responsives */
@media (max-width: 1023.98px){
  .fe-archive .fe-card[data-product-id="16561"] .fe-card__imgWrap{
    height: var(--wide-h-tablet) !important;
  }
}
@media (max-width: 680px){
  .fe-archive .fe-card[data-product-id="16561"] .fe-card__imgWrap{
    height: var(--wide-h-mobile) !important;
  }
}

/* Image : conserve ton cadrage/zoom actuel (fx/fy/shift/zoom) */
.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgWrap > img,
.fe-archive .fe-card[data-product-id="16561"] picture > img,
.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgEl{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;

  /* Ces variables existent déjà chez toi : laisse-les, ajuste si besoin */
  object-position: var(--fx, 50%) var(--fy, 50%) !important;
  transform: translateY(var(--shift-y, 0)) scale(var(--zoom, 1)) !important;
  transition: none !important;
}

/* Dégradé conservé */
.fe-archive .fe-card[data-product-id="16561"] .fe-card__imgWrap::after{
  height: 22% !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-b35e58c *//* ===== FEYI — Contrôle simple du badge Best-seller ===== */
@media (max-width:1024px){
  /* Réglages par défaut (tu peux changer ces valeurs) */
  .fe-reserves-m{
    --best-top: 18px;     /* ↑ distance depuis le haut */
    --best-offset: 10px;  /* → marge côté */
    --best-side: right;   /* left | right */
  }

  /* Application */
  .fe-reserves-m .fe-badge--best{
    position: absolute !important;
    top: var(--best-top) !important;
    z-index: 3 !important;
    /* côté choisi */
    left: calc(var(--best-side) == left ? var(--best-offset) : auto) !important;
    right: calc(var(--best-side) == right ? var(--best-offset) : auto) !important;
  }

  /* Fallback cross-browser (au cas où calc/== gêne certains navigateurs) */
  .fe-reserves-m .fe-badge--best{
    left: auto !important; right: var(--best-offset) !important; /* côté = right par défaut */
  }
  /* Si tu veux le côté gauche, active ce sélecteur plus bas que le bloc ci-dessus */
  .fe-reserves-m.is-best-left .fe-badge--best{ right:auto !important; left:var(--best-offset) !important; }
}

/* EXEMPLES D’USAGE RAPIDE:
   1) Tout à droite à 42px du haut:
      .fe-reserves-m{ --best-top:42px; --best-offset:10px; }
   2) Tout à gauche à 30px du haut:
      .fe-reserves-m{ --best-top:30px; --best-offset:12px; }
      .fe-reserves-m{ --best-side:right; }  <-- ignoré par le fallback; utilise la classe:
      .fe-reserves-m.is-best-left { }       <-- ajoute cette classe au wrapper si possible
*//* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-6a54a64 *//* File: wp-content/themes/coachpress-lite-child/assets/css/fe-reserves-mobile.css */
/* Pourquoi: style dédié au shortcode [fe_reserves_m] (mobile/tablette), sans toucher au desktop */

/* Base: caché par défaut, visible ≤1024px */
.fe-reserves-m{ display:none; }
@media (max-width:1024px){
  .fe-reserves-m{
    display:block;
    width:min(1200px,97vw);
    margin:24px auto 0;
    padding:0 16px;
  }

  /* Header */
  .fe-rm__head{ margin:0 0 10px; }
  .fe-rm__title{
    font-family: var(--heading-font-family,'Exposure VAR',serif);
    color: var(--heading-color,#45523e);
    font-weight:400;
    font-size: clamp(18px,4.6vw,24px);
    letter-spacing:.02em;
    margin:0 0 6px;
  }
  .fe-rm__sub{
    font-family: var(--text-font-family,'maison-neue',Helvetica,Arial,sans-serif);
    color: rgba(69,82,62,.85);
    font-size:14px;
    line-height:1.5;
    margin:0 0 10px;
  }

  /* Grid: 2 colonnes mobile/tablette */
  .fe-rm__grid{
    display:grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap:16px;
  }
  @media (max-width:380px){
    .fe-rm__grid{ grid-template-columns:1fr; }
  }

  /* Card */
  .fe-rm__card{ display:flex; flex-direction:column; }

  /* Media */
  .fe-rm__media{ display:block; text-decoration:none; color:inherit; }
  .fe-rm__imgWrap{
    position:relative;
    aspect-ratio: 4 / 5;
    overflow:hidden;
    border-radius:14px;
    background:#f2f2f2;
    box-shadow:0 10px 26px rgba(0,0,0,.08);
  }
  .fe-rm__img{ width:100%; height:100%; object-fit:cover; display:block; }
  .fe-rm__imgWrap::after{
    content:"";
    position:absolute; left:0; right:0; bottom:0; height:26%;
    background:linear-gradient(to top, rgba(0,0,0,.16), transparent);
    pointer-events:none;
  }

  /* Badges (même structure/class que desktop) */
  .fe-reserves-m .fe-badges{
    position:absolute; top:10px; left:10px; right:10px;
    display:flex; justify-content:space-between; align-items:center; gap:8px;
    z-index:2; pointer-events:none;
  }
  .fe-reserves-m .fe-badge{
    pointer-events:auto;
    padding:6px 9px;
    border-radius:999px;
    font:600 11px/1 "Ortica Linear", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    letter-spacing:.02em;
    color:#0f0f0f;
    background:rgba(255,255,255,.78);
    border:1px solid rgba(0,0,0,.10);
    box-shadow:0 1px 6px rgba(0,0,0,.06);
    backdrop-filter:saturate(110%) blur(2px);
    white-space:nowrap;
  }
  .fe-reserves-m .fe-badge--best{
    position:absolute; top:36px; left:10px;
    z-index:3;
    padding:6px 10px;
    border-radius:999px;
    font:700 11px/1 "Ortica Linear", system-ui;
    color:#2a2a28;
    background:rgba(255,255,255,.86);
    border:1px solid rgba(0,0,0,.12);
    box-shadow:0 2px 10px rgba(0,0,0,.10);
    max-width:60%;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }

  /* Body */
  .fe-rm__body{ padding:10px 4px 0; }
  .fe-rm__name, .fe-rm__name a{
    margin:0 0 4px;
    text-decoration:none;
    color: var(--heading-color,#45523e);
    font-family:"Ortica Linear", serif;
    font-weight:400;
    font-size:18px;
    line-height:1.25;
  }
  .fe-rm__desc{
    margin:0 0 10px;
    color:#6a6a6a;
    font-family: var(--text-font-family,'maison-neue',Helvetica,Arial,sans-serif);
    font-size:13px;
    line-height:1.35;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  }

  /* CTA */
  .fe-rm__cta{ display:flex; }
  .fe-rm__btn{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    width:100%; height:40px; padding:0 16px;
    border-radius:999px; border:1px solid rgba(0,0,0,.10);
    background:#fff;
    font:600 13px/1 "Ortica Linear", system-ui;
    color:#111;
    box-shadow:0 6px 18px rgba(0,0,0,.10);
    text-decoration:none;
  }
  .fe-rm__price{
    display:inline-flex; align-items:center; justify-content:center;
    min-width:32px; height:22px; padding:0 8px;
    border:1px solid rgba(0,0,0,.10); border-radius:999px;
    background:#fff; color:#111;
    font:600 11px/1 "Ortica Linear", system-ui;
  }
}

/* Cache en desktop (>1024px) */
@media (min-width:1025px){
  .fe-reserves-m{ display:none !important; }
}






/* ===== FEYI — [fe_reserves_m] : bouton vert + prix caché ===== */

/* 1) Style du bouton "Voir options" en vert FEYI (texte blanc) */
.fe-reserves-m .fe-rm__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0 !important;                 /* plus d'espace réservé au prix */
  height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid #45523E;         /* vert FEYI */
  background: #45523E;               /* vert FEYI */
  color: #fff;                       /* texte blanc */
  font: 600 14px/1 "Ortica Linear", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(69,82,62,.18);
  transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease, border-color .12s ease;
}

/* Hover / Focus / Disabled */
.fe-reserves-m .fe-rm__btn:hover{
  background: #3b4f35;               /* un poil plus sombre */
  border-color: #3b4f35;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(69,82,62,.22);
}
.fe-reserves-m .fe-rm__btn:focus-visible{
  outline: 2px solid rgba(69,82,62,.6);
  outline-offset: 2px;
}
.fe-reserves-m .fe-rm__btn[disabled],
.fe-reserves-m .fe-rm__btn[aria-disabled="true"]{
  opacity: .55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* 2) Cache totalement le prix */
.fe-reserves-m .fe-rm__price{ display: none !important; }

/* sécurité : s'il y avait un pseudo-élément "pastille" ajouté après le bouton */
.fe-reserves-m .fe-rm__btn::after{ content: none !important; }






/* ===== Fix : texte blanc forcé dans le bouton ===== */
.fe-reserves-m .fe-rm__btn,
.fe-reserves-m .fe-rm__btn:link,
.fe-reserves-m .fe-rm__btn:visited,
.fe-reserves-m .fe-rm__btn:hover,
.fe-reserves-m .fe-rm__btn:active{
  color: #ffffff !important;            /* passe devant les règles globales */
  -webkit-text-fill-color: #ffffff !important; /* iOS/Safari */
  font-size: 14px !important;           /* au cas où un reset mettrait font-size:0 */
  text-decoration: none !important;
}





/* ===== FEYI — Bouton CTA “luxe” (plus fin) ===== */
.fe-reserves-m{
  --fe-btn-h: 34px;                 /* hauteur plus fine (32–36px) */
  --fe-btn-px: 18px;                /* padding horizontal */
  --fe-btn-radius: 999px;           /* pilule élégante */
  --fe-btn-bg: #45523E;             /* vert FEYI */
  --fe-btn-bg-hover: #3e4b36;       /* hover subtil */
  --fe-btn-bg-active: #34402d;      /* press state */
  --fe-btn-border: rgba(0,0,0,.12); /* trait discret */
  --fe-btn-shadow: 0 4px 10px rgba(0,0,0,.08); /* ombre plus légère */
  --fe-btn-font: 600 12.5px/1 'Ortica Family','Ortica',
  --fe-btn-tracking: .06em;         /* léger tracking “premium” */
}

/* Capsule verte, texte blanc forcé */
.fe-reserves-m .fe-rm__btn,
.fe-reserves-m .fe-rm__btn:link,
.fe-reserves-m .fe-rm__btn:visited{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  height: var(--fe-btn-h);
  padding: 0 var(--fe-btn-px);
  border-radius: var(--fe-btn-radius);
  background: var(--fe-btn-bg);
  border: 1px solid var(--fe-btn-border);
  box-shadow: var(--fe-btn-shadow);
  color: #fff !important;
  -webkit-text-fill-color: #fff !important; /* iOS */
  font: var(--fe-btn-font);
  font-family: 'Ortica Family','Ortica',Helvetica,Arial,sans-serif !important; /* priorité Elementor */
  letter-spacing: var(--fe-btn-tracking);
  text-transform: uppercase;
  text-decoration: none !important;
  transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

/* Hover / Active : micro-élévation, pas d’effet lourd */
.fe-reserves-m .fe-rm__btn:hover{
  background: var(--fe-btn-bg-hover);
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(0,0,0,.10);
}
.fe-reserves-m .fe-rm__btn:active{
  background: var(--fe-btn-bg-active);
  transform: translateY(0);
  box-shadow: 0 3px 8px rgba(0,0,0,.08);
}

/* Cache la pastille prix si encore présente */
.fe-reserves-m .fe-rm__price{ display:none !important; }




/* ===== FEYI — Espace sous la description avant le CTA ===== */
.fe-reserves-m{
  --fe-cta-gap: 14px;                 /* ajuste 10–18px selon ton goût */
}

/* Titre/desc : un peu d’air */
.fe-reserves-m .fe-rm__name{ margin: 6px 0 4px !important; }
.fe-reserves-m .fe-rm__desc{ margin: 0 0 var(--fe-cta-gap) !important; }

/* CTA : marge de sécurité au cas où pas de description */
.fe-reserves-m .fe-rm__cta{ margin-top: var(--fe-cta-gap) !important; }




/* ===== FEYI — Plus d’espace entre les cartes (sous le CTA) ===== */
.fe-reserves-m{
  --fe-gap-y: 36px;         /* espace vertical entre les cartes (essaie 32–44px) */
  --fe-gap-x: 18px;         /* conserve l’écart horizontal actuel */
}

.fe-reserves-m .fe-rm__grid{
  row-gap: var(--fe-gap-y) !important;     /* espace vertical */
  column-gap: var(--fe-gap-x) !important;  /* espace horizontal inchangé */
}

/* Fallback très conservateur si row-gap n’est pas pris en charge */
@supports not (row-gap: 1px){
  .fe-reserves-m .fe-rm__card{ margin-bottom: var(--fe-gap-y) !important; }
}




/* =========================
   FEYI — Carte "wide" mobile
   (pour .fe-rm__card.is-wide)
   ========================= */

/* hauteur contrôlée (tu peux ajuster) */
.fe-reserves-m{ --fe-wide-h: 240px; }            /* téléphones */
@media (min-width: 420px){ .fe-reserves-m{ --fe-wide-h: 260px; } } /* grands mobiles */
@media (min-width: 768px){ .fe-reserves-m{ --fe-wide-h: 300px; } } /* petites tablettes */

/* 1) La carte occupe toute la rangée (2 colonnes) */
.fe-reserves-m .fe-rm__card.is-wide{
  grid-column: 1 / -1 !important;
}

/* 2) Image au format rectangulaire */
.fe-reserves-m .fe-rm__card.is-wide .fe-rm__imgWrap{
  height: var(--fe-wide-h) !important;
  aspect-ratio: auto !important;           /* on force la hauteur plutôt que le ratio */
  border-radius: 18px !important;
  overflow: hidden !important;
}

/* 3) L'image remplit bien le cadre */
.fe-reserves-m .fe-rm__card.is-wide .fe-rm__img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;     /* ajuste si besoin : 50% 40%, etc. */
}

/* 4) Dégradé un peu moins haut sur ce format */
.fe-reserves-m .fe-rm__card.is-wide .fe-rm__imgWrap::after{
  height: 22% !important;
}

/* 5) Un peu d’air autour du texte/CTA de la wide */
.fe-reserves-m .fe-rm__card.is-wide .fe-rm__body{
  padding-top: 12px !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-b8f1dd6 *//* Elementor → Avancé → CSS personnalisé (du widget qui contient le shortcode) */

/* 0) Scope : uniquement la section Comptoir */
.elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir{ --fe-cols: 4; --fe-track-gap: 24px; }

/* 1) Masquer le titre interne (comme hide_title="1") */
.elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir .fe-strip__head{ display:none !important; }

/* 2) Grille 4×2 au lieu du carrousel */
.elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir .fe-strip__track{
  display: grid !important;
  grid-template-columns: repeat(var(--fe-cols,4), minmax(0, 1fr)) !important;
  gap: var(--fe-track-gap, 24px) !important;
  overflow: visible !important;
  white-space: normal !important;
  scroll-behavior: auto !important;
  justify-content: stretch !important;
  align-items: start !important;
}
.elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir .fe-arrow,
.elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir .fe-strip__progress{ display:none !important; }
.elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir .fe-strip__track .fe-card{
  min-width: 0 !important; width: auto !important; max-width: 100% !important;
}

/* 3) Style “Réserves” pour chaque carte */
.elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir .fe-card{
  position: relative; display:flex !important; flex-direction:column !important;
  background: transparent !important; border:0 !important; box-shadow:none !important;
}
.elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir .fe-card__imgWrap{
  position: relative !important; width:100% !important;
  aspect-ratio: 4 / 5 !important; overflow:hidden !important; border-radius:16px !important;
  background:#f2f2f2 !important; box-shadow:0 10px 26px rgba(0,0,0,.07) !important;
}
.elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir .fe-card__imgEl{
  width:100% !important; height:100% !important; object-fit:cover !important; display:block !important;
}
/* Dégradé bas */
.elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir .fe-card__imgWrap::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:26%;
  background:linear-gradient(to top, rgba(0,0,0,.16), rgba(0,0,0,0));
  pointer-events:none;
}

/* 4) Bouton overlay pilule, centré sur l’image */
.elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir .fe-card__ctaWrap{
  position:absolute; left:14px; right:14px; bottom:14px; display:flex; justify-content:center; z-index:3;
}
.elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir .fe-btn.fe-btn--overlay{
  height:36px; padding:0 18px; border-radius:999px;
  background:rgba(255,255,255,.92); border:1px solid rgba(0,0,0,.08);
  font:600 12.5px/1 "Ortica Linear", system-ui; color:#111; box-shadow:0 4px 14px rgba(0,0,0,.08);
}

/* 5) Titres + description (2 lignes) */
.elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir .fe-card__body{ padding:12px 6px 0 !important; margin:0 !important; }
.elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir .fe-card__title,
.elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir .fe-card__title a{
  font-family:"Ortica Linear", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight:400 !important; font-size:18px !important; line-height:1.25 !important;
  color:#45523e !important; text-decoration:none !important;
}
.elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir .fe-card__subtitle{
  font-family:"Ortica Linear", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight:400 !important; font-size:13px !important; line-height:1.35 !important; color:#6a6a6a !important;
  margin:0 !important; display:-webkit-box !important; -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important; overflow:hidden !important;
}

/* 6) Responsive */
@media (max-width:1023.98px){
  .elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir{ --fe-cols: 2; }
}
@media (max-width:767.98px){
  .elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir{ --fe-cols: 1; }
}



/* Option A — Elementor > Avancé > CSS personnalisé (du widget qui contient le shortcode) */
.elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir .fe-card__engagements{ display:none !important; }
.elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir .fe-card .engagements,
.elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir .fe-card .traceabilites,
.elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir .fe-card [data-engagements]{ display:none !important; }

/* Option B — Global (Apparence > Personnaliser > CSS additionnel) — touche seulement ce bloc */
#fe-comptoir .fe-card__engagements{ display:none !important; }
#fe-comptoir .fe-card .engagements,
#fe-comptoir .fe-card .traceabilites,
#fe-comptoir .fe-card [data-engagements]{ display:none !important; }




/* Elementor → Avancé → CSS personnalisé (du widget qui contient le shortcode) */

/* Coupe la pastille prix (le petit bouton blanc) */
.elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir .fe-btn.fe-btn--overlay::after{
  content: none !important;
  display: none !important;
}

/* Sécurité: si un sous-élément dédié au prix existe */
.elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir .fe-btn__price,
.elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir .fe-btn .price-bubble{
  display: none !important;
}

/* Évite un second bouton fantôme post-ajout */
.elementor-1770 .elementor-element.elementor-element-b8f1dd6 #fe-comptoir .added_to_cart{
  display: none !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-b4c797a *//* ============= FEYI — PRODUITS mobile (2 colonnes) ============= */
.fe-products-m{
  --pm-gap: 18px;
  --pm-pad: clamp(14px, 3.2vw, 22px);
  --pm-radius: 18px;
  --pm-shadow: 0 12px 30px rgba(0,0,0,.08);
  --pm-green: #3E5137;
  width: min(1400px, 97vw);
  margin: 36px auto 0;
  padding: 0 var(--pm-pad);
  box-sizing: border-box;
}
.fe-pm__head{ margin: 0 0 16px; }
.fe-pm__title{
  font-family:"Ortica Linear","Ortica Light",serif;
  font-weight:400; text-transform:uppercase; letter-spacing:.08em;
  font-size: clamp(18px, 2.4vw, 22px); color:#45523e; margin:0;
}
.fe-pm__sub{
  margin:.35rem 0 0; color:#5a6a55; font: 300 14px/1.45 "Ortica Linear",system-ui;
}

.fe-pm__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: var(--pm-gap);
}
@media (max-width: 380px){
  .fe-pm__grid{ grid-template-columns: 1fr; }
}

.fe-pm__card{ display:flex; flex-direction:column; gap:10px; }
.fe-pm__media{ display:block; }
.fe-pm__imgWrap{
  position:relative; aspect-ratio: 4/5;
  border-radius: var(--pm-radius); overflow:hidden; background:#f2f2f2;
  box-shadow: var(--pm-shadow);
}
.fe-pm__img{ width:100%; height:100%; object-fit:cover; display:block; }
.fe-pm__imgWrap::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:28%;
  pointer-events:none; background: linear-gradient(to top, rgba(0,0,0,.18), rgba(0,0,0,0));
}

/* Badges */
.fe-badges{
  position:absolute; top:10px; left:10px; right:10px; display:flex; gap:10px; justify-content:space-between; z-index:2; pointer-events:none;
}
.fe-badge{
  pointer-events:auto;
  padding:7px 12px; border-radius:999px; background:rgba(255,255,255,.9);
  border:1px solid rgba(0,0,0,.1); font:600 12px/1 "Ortica Linear",system-ui; color:#222;
  box-shadow:0 2px 10px rgba(0,0,0,.08);
}
.fe-badge--best{
  position:absolute; top:40px; left:10px; padding:7px 12px; border-radius:999px;
  background:rgba(255,255,255,.92); border:1px solid rgba(0,0,0,.12); font:700 12px/1 "Ortica Linear",system-ui;
}

/* Textes */
.fe-pm__body{ padding: 6px 2px 0; }
.fe-pm__name, .fe-pm__name a{
  font-family:"Coconat",serif; font-weight:600; color:#263424; text-decoration:none;
  font-size: clamp(20px, 3.6vw, 28px); line-height:1.1; margin:0 0 6px;
}
.fe-pm__desc{
  font: 300 14px/1.45 "Ortica Linear",system-ui; color:#45523e; margin:0 0 14px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}

/* CTA luxe (vert, fin) */
.fe-pm__cta{ margin-top: 8px; }
.fe-pm__btn{
  display:inline-flex; align-items:center; justify-content:center; width:100%;
  height: 46px; padding:0 18px; border-radius: 28px;
  background: var(--pm-green); color:#fff; text-transform:uppercase; letter-spacing:.06em;
  font: 700 16px/1 "Ortica Family", serif; border:1px solid rgba(0,0,0,.12);
  box-shadow: 0 8px 22px rgba(62,81,55,.18);
}
.fe-pm__btn:focus-visible{ outline:2px solid #222; outline-offset:2px; }

/* Respacings sous la carte pour ne pas coller la rangée suivante */
.fe-pm__card{ margin-bottom: 6px; }
.fe-pm__cta{ margin-bottom: 8px; }



/* ========== FEYI — Comptoir mobile : même look que Réserves (2 colonnes) ========== */
@media (max-width:1024px){
  /* Container & header */
  .fe-products-m{ width:min(1200px,97vw); margin:24px auto 0; padding:0 16px; }
  .fe-pm__head{ margin:0 0 10px; }
  .fe-pm__title{
    font-family: var(--heading-font-family,'Exposure VAR',serif);
    color: var(--heading-color,#45523e);
    font-weight:400; font-size:clamp(18px,4.6vw,24px); letter-spacing:.02em; margin:0 0 6px;
    text-transform:none;
  }
  .fe-pm__sub{
    font-family: var(--text-font-family,'maison-neue',Helvetica,Arial,sans-serif);
    color: rgba(69,82,62,.85); font-size:14px; line-height:1.5; margin:0 0 10px;
  }

  /* Grille identique (2 colonnes + espace vertical plus ample) */
  .fe-pm__grid{
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:16px; row-gap:36px;     /* ← espace entre rangées */
  }
  @media (max-width:380px){ .fe-pm__grid{ grid-template-columns:1fr; } }

  /* Carte + média (ratio 4/5, ombre & dégradé comme Réserves) */
  .fe-pm__card{ display:flex; flex-direction:column; }
  .fe-pm__media{ display:block; text-decoration:none; color:inherit; }
  .fe-pm__imgWrap{
    position:relative; aspect-ratio:4/5; overflow:hidden; border-radius:14px;
    background:#f2f2f2; box-shadow:0 10px 26px rgba(0,0,0,.08);
  }
  .fe-pm__img{ width:100%; height:100%; object-fit:cover; display:block; }
  .fe-pm__imgWrap::after{
    content:""; position:absolute; left:0; right:0; bottom:0; height:26%;
    background:linear-gradient(to top, rgba(0,0,0,.16), transparent); pointer-events:none;
  }

  /* Badges (exactement le rendu Réserves) */
  .fe-badges{
    position:absolute; top:10px; left:10px; right:10px;
    display:flex; justify-content:space-between; align-items:center; gap:8px;
    z-index:2; pointer-events:none;
  }
  .fe-badge{
    pointer-events:auto; padding:6px 9px; border-radius:999px;
    font:600 11px/1 "Ortica Linear",system-ui; letter-spacing:.02em; color:#0f0f0f;
    background:rgba(255,255,255,.78); border:1px solid rgba(0,0,0,.10);
    box-shadow:0 1px 6px rgba(0,0,0,.06); backdrop-filter:saturate(110%) blur(2px); white-space:nowrap;
  }
  .fe-badge--best{
    position:absolute; top:36px; left:10px; z-index:3; padding:6px 10px;
    border-radius:999px; font:700 11px/1 "Ortica Linear",system-ui; color:#2a2a28;
    background:rgba(255,255,255,.86); border:1px solid rgba(0,0,0,.12); box-shadow:0 2px 10px rgba(0,0,0,.10);
    max-width:60%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }

  /* Textes sous l’image (mêmes tailles que Réserves) */
  .fe-pm__body{ padding:10px 4px 0; }
  .fe-pm__name, .fe-pm__name a{
    margin:6px 0 4px; text-decoration:none; text-transform:none;
    color:#45523e; font-family:"Ortica Linear",serif !important;
    font-weight:400; font-size:18px; line-height:1.25;
  }
  .fe-pm__desc{
    margin:0 0 14px; color:#6a6a6a;
    font:400 13px/1.35 "Ortica Linear",system-ui;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  }

  /* CTA vert “luxe” (identique à Réserves) */
  .fe-pm__cta{ margin-top:14px !important; }
  .fe-pm__btn{
    display:inline-flex; align-items:center; justify-content:center; width:100%;
    height:34px; padding:0 18px; border-radius:999px;
    background:#45523E; border:1px solid rgba(0,0,0,.12);
    color:#fff !important; -webkit-text-fill-color:#fff !important;
    text-transform:uppercase; letter-spacing:.06em;
    font:600 12.5px/1 "Ortica Linear",system-ui;
    text-decoration:none !important;
    box-shadow:0 4px 10px rgba(0,0,0,.08);
    transition:background-color .18s ease, transform .18s ease, box-shadow .18s ease;
  }
  .fe-pm__btn:hover{
    background:#3e4b36; transform:translateY(-1px);
    box-shadow:0 6px 14px rgba(0,0,0,.10);
  }
}

/* Option — carte “wide” (rectangulaire) pour certaines références */
.fe-products-m{ --pm-wide-h: 260px; }                  /* télés */
@media (min-width:768px){ .fe-products-m{ --pm-wide-h: 300px; } }
.fe-products-m .fe-pm__card.is-wide{ grid-column:1 / -1 !important; }
.fe-products-m .fe-pm__card.is-wide .fe-pm__imgWrap{
  height:var(--pm-wide-h) !important; aspect-ratio:auto !important; border-radius:18px !important;
}
.fe-products-m .fe-pm__card.is-wide .fe-pm__img{
  width:100% !important; height:100% !important; object-fit:cover !important;
}
.fe-products-m .fe-pm__card.is-wide .fe-pm__imgWrap::after{ height:22% !important; }




/* Fix CTA qui grossit (forcer 1 seule ligne + taille réactive) */
.fe-products-m .fe-pm__btn{
  white-space: nowrap;                 /* empêche le retour à la ligne */
  font-size: clamp(12px, 3.3vw, 14px); /* rétrécit un peu sur petits écrans */
  letter-spacing: .04em;               /* moins d’espacement pour tenir sur 1 ligne */
  height: 40px;                        /* hauteur harmonisée */
  padding: 0 16px;                     /* un peu moins large */
  border-radius: 999px;
}

/* Sécurité pour très petits écrans */
@media (max-width: 360px){
  .fe-products-m .fe-pm__btn{
    font-size: 13px;
    letter-spacing: .03em;
  }
}



/* FEYI — Comptoir FEYI (mobile) : masquer tous les badges */
@media (max-width: 1024px){
  .fe-products-m .fe-badges,
  .fe-products-m .fe-badge,
  .fe-products-m .fe-badge--best,
  .fe-products-m [class*="fe-badge"]{
    display: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-9e431b7 *//* ============= FEYI — PRODUITS mobile (2 colonnes) ============= */
.fe-products-m{
  --pm-gap: 18px;
  --pm-pad: clamp(14px, 3.2vw, 22px);
  --pm-radius: 18px;
  --pm-shadow: 0 12px 30px rgba(0,0,0,.08);
  --pm-green: #3E5137;
  width: min(1400px, 97vw);
  margin: 36px auto 0;
  padding: 0 var(--pm-pad);
  box-sizing: border-box;
}
.fe-pm__head{ margin: 0 0 16px; }
.fe-pm__title{
  font-family:"Ortica Linear","Ortica Light",serif;
  font-weight:400; text-transform:uppercase; letter-spacing:.08em;
  font-size: clamp(18px, 2.4vw, 22px); color:#45523e; margin:0;
}
.fe-pm__sub{
  margin:.35rem 0 0; color:#5a6a55; font: 300 14px/1.45 "Ortica Linear",system-ui;
}

.fe-pm__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: var(--pm-gap);
}
@media (max-width: 380px){
  .fe-pm__grid{ grid-template-columns: 1fr; }
}

.fe-pm__card{ display:flex; flex-direction:column; gap:10px; }
.fe-pm__media{ display:block; }
.fe-pm__imgWrap{
  position:relative; aspect-ratio: 4/5;
  border-radius: var(--pm-radius); overflow:hidden; background:#f2f2f2;
  box-shadow: var(--pm-shadow);
}
.fe-pm__img{ width:100%; height:100%; object-fit:cover; display:block; }
.fe-pm__imgWrap::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:28%;
  pointer-events:none; background: linear-gradient(to top, rgba(0,0,0,.18), rgba(0,0,0,0));
}

/* Badges */
.fe-badges{
  position:absolute; top:10px; left:10px; right:10px; display:flex; gap:10px; justify-content:space-between; z-index:2; pointer-events:none;
}
.fe-badge{
  pointer-events:auto;
  padding:7px 12px; border-radius:999px; background:rgba(255,255,255,.9);
  border:1px solid rgba(0,0,0,.1); font:600 12px/1 "Ortica Linear",system-ui; color:#222;
  box-shadow:0 2px 10px rgba(0,0,0,.08);
}
.fe-badge--best{
  position:absolute; top:40px; left:10px; padding:7px 12px; border-radius:999px;
  background:rgba(255,255,255,.92); border:1px solid rgba(0,0,0,.12); font:700 12px/1 "Ortica Linear",system-ui;
}

/* Textes */
.fe-pm__body{ padding: 6px 2px 0; }
.fe-pm__name, .fe-pm__name a{
  font-family:"Coconat",serif; font-weight:600; color:#263424; text-decoration:none;
  font-size: clamp(20px, 3.6vw, 28px); line-height:1.1; margin:0 0 6px;
}
.fe-pm__desc{
  font: 300 14px/1.45 "Ortica Linear",system-ui; color:#45523e; margin:0 0 14px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}

/* CTA luxe (vert, fin) */
.fe-pm__cta{ margin-top: 8px; }
.fe-pm__btn{
  display:inline-flex; align-items:center; justify-content:center; width:100%;
  height: 46px; padding:0 18px; border-radius: 28px;
  background: var(--pm-green); color:#fff; text-transform:uppercase; letter-spacing:.06em;
  font: 700 16px/1 "Ortica Family", serif; border:1px solid rgba(0,0,0,.12);
  box-shadow: 0 8px 22px rgba(62,81,55,.18);
}
.fe-pm__btn:focus-visible{ outline:2px solid #222; outline-offset:2px; }

/* Respacings sous la carte pour ne pas coller la rangée suivante */
.fe-pm__card{ margin-bottom: 6px; }
.fe-pm__cta{ margin-bottom: 8px; }



/* ========== FEYI — Comptoir mobile : même look que Réserves (2 colonnes) ========== */
@media (max-width:1024px){
  /* Container & header */
  .fe-products-m{ width:min(1200px,97vw); margin:24px auto 0; padding:0 16px; }
  .fe-pm__head{ margin:0 0 10px; }
  .fe-pm__title{
    font-family: var(--heading-font-family,'Exposure VAR',serif);
    color: var(--heading-color,#45523e);
    font-weight:400; font-size:clamp(18px,4.6vw,24px); letter-spacing:.02em; margin:0 0 6px;
    text-transform:none;
  }
  .fe-pm__sub{
    font-family: var(--text-font-family,'maison-neue',Helvetica,Arial,sans-serif);
    color: rgba(69,82,62,.85); font-size:14px; line-height:1.5; margin:0 0 10px;
  }

  /* Grille identique (2 colonnes + espace vertical plus ample) */
  .fe-pm__grid{
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:16px; row-gap:36px;     /* ← espace entre rangées */
  }
  @media (max-width:380px){ .fe-pm__grid{ grid-template-columns:1fr; } }

  /* Carte + média (ratio 4/5, ombre & dégradé comme Réserves) */
  .fe-pm__card{ display:flex; flex-direction:column; }
  .fe-pm__media{ display:block; text-decoration:none; color:inherit; }
  .fe-pm__imgWrap{
    position:relative; aspect-ratio:4/5; overflow:hidden; border-radius:14px;
    background:#f2f2f2; box-shadow:0 10px 26px rgba(0,0,0,.08);
  }
  .fe-pm__img{ width:100%; height:100%; object-fit:cover; display:block; }
  .fe-pm__imgWrap::after{
    content:""; position:absolute; left:0; right:0; bottom:0; height:26%;
    background:linear-gradient(to top, rgba(0,0,0,.16), transparent); pointer-events:none;
  }

  /* Badges (exactement le rendu Réserves) */
  .fe-badges{
    position:absolute; top:10px; left:10px; right:10px;
    display:flex; justify-content:space-between; align-items:center; gap:8px;
    z-index:2; pointer-events:none;
  }
  .fe-badge{
    pointer-events:auto; padding:6px 9px; border-radius:999px;
    font:600 11px/1 "Ortica Linear",system-ui; letter-spacing:.02em; color:#0f0f0f;
    background:rgba(255,255,255,.78); border:1px solid rgba(0,0,0,.10);
    box-shadow:0 1px 6px rgba(0,0,0,.06); backdrop-filter:saturate(110%) blur(2px); white-space:nowrap;
  }
  .fe-badge--best{
    position:absolute; top:36px; left:10px; z-index:3; padding:6px 10px;
    border-radius:999px; font:700 11px/1 "Ortica Linear",system-ui; color:#2a2a28;
    background:rgba(255,255,255,.86); border:1px solid rgba(0,0,0,.12); box-shadow:0 2px 10px rgba(0,0,0,.10);
    max-width:60%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }

  /* Textes sous l’image (mêmes tailles que Réserves) */
  .fe-pm__body{ padding:10px 4px 0; }
  .fe-pm__name, .fe-pm__name a{
    margin:6px 0 4px; text-decoration:none; text-transform:none;
    color:#45523e; font-family:"Ortica Linear",serif !important;
    font-weight:400; font-size:18px; line-height:1.25;
  }
  .fe-pm__desc{
    margin:0 0 14px; color:#6a6a6a;
    font:400 13px/1.35 "Ortica Linear",system-ui;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  }

  /* CTA vert “luxe” (identique à Réserves) */
  .fe-pm__cta{ margin-top:14px !important; }
  .fe-pm__btn{
    display:inline-flex; align-items:center; justify-content:center; width:100%;
    height:34px; padding:0 18px; border-radius:999px;
    background:#45523E; border:1px solid rgba(0,0,0,.12);
    color:#fff !important; -webkit-text-fill-color:#fff !important;
    text-transform:uppercase; letter-spacing:.06em;
    font:600 12.5px/1 "Ortica Linear",system-ui;
    text-decoration:none !important;
    box-shadow:0 4px 10px rgba(0,0,0,.08);
    transition:background-color .18s ease, transform .18s ease, box-shadow .18s ease;
  }
  .fe-pm__btn:hover{
    background:#3e4b36; transform:translateY(-1px);
    box-shadow:0 6px 14px rgba(0,0,0,.10);
  }
}

/* Option — carte “wide” (rectangulaire) pour certaines références */
.fe-products-m{ --pm-wide-h: 260px; }                  /* télés */
@media (min-width:768px){ .fe-products-m{ --pm-wide-h: 300px; } }
.fe-products-m .fe-pm__card.is-wide{ grid-column:1 / -1 !important; }
.fe-products-m .fe-pm__card.is-wide .fe-pm__imgWrap{
  height:var(--pm-wide-h) !important; aspect-ratio:auto !important; border-radius:18px !important;
}
.fe-products-m .fe-pm__card.is-wide .fe-pm__img{
  width:100% !important; height:100% !important; object-fit:cover !important;
}
.fe-products-m .fe-pm__card.is-wide .fe-pm__imgWrap::after{ height:22% !important; }




/* Fix CTA qui grossit (forcer 1 seule ligne + taille réactive) */
.fe-products-m .fe-pm__btn{
  white-space: nowrap;                 /* empêche le retour à la ligne */
  font-size: clamp(12px, 3.3vw, 14px); /* rétrécit un peu sur petits écrans */
  letter-spacing: .04em;               /* moins d’espacement pour tenir sur 1 ligne */
  height: 40px;                        /* hauteur harmonisée */
  padding: 0 16px;                     /* un peu moins large */
  border-radius: 999px;
}

/* Sécurité pour très petits écrans */
@media (max-width: 360px){
  .fe-products-m .fe-pm__btn{
    font-size: 13px;
    letter-spacing: .03em;
  }
}



/* FEYI — Comptoir FEYI (mobile) : masquer tous les badges */
@media (max-width: 1024px){
  .fe-products-m .fe-badges,
  .fe-products-m .fe-badge,
  .fe-products-m .fe-badge--best,
  .fe-products-m [class*="fe-badge"]{
    display: none !important;
  }
}






/* Cache les blocs "mobile" quand l’écran ≥ 1025px (desktop) */
@media (min-width: 1025px) {
  .fe-products-m,
  .fe-reserves-m {
    display: none !important;
  }
}

/* (optionnel) Assure l’affichage en mobile/tablette */
@media (max-width: 1024px) {
  .fe-products-m,
  .fe-reserves-m {
    display: block !important;
  }
}/* End custom CSS */
/* Start custom CSS *//* A) Débride les wrappers du thème sur l'archive produits (évite le plafond 1140/1600) */
.post-type-archive-product .site-main,
.post-type-archive-product .content-area,
.post-type-archive-product .container {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* B) Force ton grand conteneur (ID vu dans ta capture: fe-layout) */
#fe-layout {
  /* largeur de contenu cible */
  max-width: 1800px;              /* mets 1680 ou 1800 selon ton goût */
  width: 100%;
  margin-inline: auto;            /* centre */
  padding-left: 120px;            /* Desktop → bords plus fins */
  padding-right: 120px;
  align-items: stretch;           /* étire les enfants */
}

/* C) Responsive doux sur ce même conteneur */
@media (max-width: 1024px) {
  #fe-layout { padding-left: 40px; padding-right: 40px; }
}
@media (max-width: 767px) {
  #fe-layout { padding-left: 20px; padding-right: 20px; }
}

/* D) Assure que le widget à l'intérieur prend toute la largeur interne */
#fe-layout > .elementor-widget { width: 100% !important; max-width: none !important; }



/* Déboxe UNIQUEMENT ce modèle Elementor (archive produits) */
.site .container,
.content-area,
.site-content{
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Garantit le vrai bord-à-bord des sections étirées */
.elementor-section.elementor-section-stretched{
  left: 0 !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* Utilitaire pour les sections qui doivent toucher les bords
   → ajoute la classe "full-bleed" dans Avancé > Classe CSS */
.elementor .full-bleed{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.elementor .full-bleed.full-bleed--padded{
  box-sizing: border-box;
  padding-left: clamp(12px, 2vw, 24px);
  padding-right: clamp(12px, 2vw, 24px);
}

/* Évite une barre horizontale éventuelle */
html, body { overflow-x: hidden; }/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'ortica gras';
	font-style: normal;
	font-weight: bold;
	font-display: auto;
	src: url('https://feyi-martinique.com/wp-content/uploads/2025/11/OrticaLinear-Bold.woff2') format('woff2');
}
/* End Custom Fonts CSS */