/* Variables : personnalisez-les sur le conteneur Elementor parent si nécessaire. */
.eeps, .eeps-search {
  --eeps-accent: #A65C44;
  --eeps-text: #313131;
  --eeps-line: #E7DFDA;
  --eeps-soft: #FFF7F4;
  --eeps-font-body: "Jost", sans-serif;
  --eeps-font-heading: "Sometimes Times", serif;
  font-family: var(--eeps-font-body);
  color: var(--eeps-text);
}
.eeps { width: 100%; scroll-margin-top: 130px; }
.eeps *, .eeps-search * { box-sizing: border-box; }
.eeps [hidden], .eeps button[hidden] { display: none !important; }
.eeps a { color: inherit; text-decoration: none; }
.eeps button, .eeps-search button { font: inherit; cursor: pointer; text-transform: none; letter-spacing: normal; box-shadow: none; }
.eeps button:disabled { opacity: .6; cursor: wait; }
.eeps :is(a,button):focus-visible, .eeps-search :is(input,button):focus-visible { outline: 2px solid var(--eeps-accent); outline-offset: 4px; }
.eeps-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--eeps-line); padding-bottom: 18px; }
.eeps-mainnav { display: flex; gap: 36px; }
.eeps-mainnav a { position: relative; padding: 8px 0; white-space: nowrap; font-size: 17px; }
.eeps-mainnav a[aria-current], .eeps-mainnav a:hover { color: var(--eeps-accent); }
.eeps-mainnav a[aria-current]::after { content: ""; position: absolute; left: -4px; width: calc(100% + 8px); height: 2px; background: var(--eeps-accent); bottom: -10px; }
.eeps-search { width: min(100%, 370px); flex-shrink: 0; display: flex; align-items: center; border: 1px solid var(--eeps-line); border-radius: 40px; padding: 6px 12px; margin: 0; background: #fff; }
.eeps-search label { display: flex; align-items: center; gap: 10px; flex: 1; margin: 0; min-width: 0; }
.eeps-search-icon { font: 30px/1 var(--eeps-font-body); }
.eeps-search input[type="search"] { font: 15px var(--eeps-font-body); color: var(--eeps-text); background: transparent; min-width: 0; width: 100%; border: 0; padding: 8px 0; margin: 0; border-radius: 0; box-shadow: none; }
.eeps-search-submit { border: 0; background: transparent; color: var(--eeps-text); padding: 8px; border-radius: 50%; }
.eeps-subnav { display: flex; flex-wrap: wrap; gap: 10px; padding: 22px 0 32px; }
.eeps .eeps-chip { display: inline-flex; align-items: center; justify-content: center; padding: 11px 25px; border: 1px solid transparent; border-radius: 32px; background: var(--eeps-soft); font-size: 15px; line-height: 1.4; transition: background .2s, color .2s; }
.eeps .eeps-chip:is(:hover,.is-active) { background: var(--eeps-accent); color: #fff; }
.eeps-editorial { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); gap: 40px; align-items: start; }
.eeps-editorial--no-photo { grid-template-columns: minmax(0, 1fr); }
.eeps .eeps-heading { font-family: var(--eeps-font-heading); font-size: clamp(28px, 3vw, 45px); font-weight: 400; line-height: 1.12; letter-spacing: -.025em; margin: 0 0 12px; color: var(--eeps-text); text-transform: none; }
.eeps .eeps-eyebrow { margin: 0 0 10px; font-size: 14px; line-height: 1.4; }
.eeps .eeps-intro, .eeps .eeps-help { margin: 0 0 22px; font-size: 15px; line-height: 1.55; color: #68625e; }
.eeps .eeps-help { font-size: 14px; }
.eeps-featured-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 24px; }
.eeps-product { display: flex; flex-direction: column; min-width: 0; margin: 0; padding: 0; border: 1px solid transparent; border-radius: 12px; background: #fff; transition: border-color .2s, background .2s; overflow: hidden; }
.eeps-product--compact { background: #fbf8f6; border-color: #f1e9e4; }
.eeps .eeps-product.is-highlighted { border-color: var(--eeps-accent); background: var(--eeps-soft); box-shadow: 0 0 0 1px var(--eeps-accent); }
.eeps-product-visual { position: relative; aspect-ratio: 4/3; background: #f7f5f3; overflow: hidden; border-radius: 10px; }
.eeps-product--compact .eeps-product-visual { aspect-ratio: 1; }
.eeps .eeps-product-image { display: block; width: 100%; height: 100%; object-fit: contain; margin: 0; }
.eeps-number { display: grid; place-items: center; position: absolute; top: 8px; left: 8px; z-index: 1; width: 26px; height: 26px; background: #fff; border: 1px solid var(--eeps-line); border-radius: 50%; font-size: 13px; }
.is-highlighted .eeps-number { background: var(--eeps-accent); color: #fff; border-color: var(--eeps-accent); }
.eeps-product-copy { display: flex; flex-direction: column; flex: 1; gap: 5px; padding: 10px 2px; }
.eeps-product--compact .eeps-product-copy { padding: 10px; }
.eeps .eeps-product h3 { font: 500 15px/1.35 var(--eeps-font-body); margin: 0; letter-spacing: normal; text-transform: none; color: var(--eeps-text); }
.eeps .eeps-brand { font-size: 13px; line-height: 1.4; margin: 0 0 6px; color: #68625e; }
.eeps .eeps-merchant { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 12px; line-height: 1.35; padding: 9px 10px; border: 1px solid var(--eeps-line); border-radius: 24px; background: var(--eeps-soft); margin-top: auto; min-height: 38px; }
.eeps .eeps-merchant:hover { background: #edcfc7; border-color: var(--eeps-accent); }
.eeps-merchant > span[aria-hidden] { color: var(--eeps-accent); }
.eeps .eeps-context { color: var(--eeps-accent); font-size: 13px; text-decoration: underline; text-underline-offset: 3px; margin-top: 4px; }
.eeps-unavailable { font-size: 12px; color: #68625e; }
.eeps-photo { min-width: 0; border-radius: 14px; overflow: hidden; }
.eeps-photo-inner { position: relative; }
/* Sur deux colonnes, la hauteur vient du bloc produits. Le cadre de l’image
   conserve son rapport réel : les pourcentages des repères restent exacts. */
@media (min-width: 768px) {
  .eeps-photo.eeps-photo-fit { position: relative; align-self: stretch; min-height: 0; background: #fbf8f6; }
  .eeps-photo-fit .eeps-photo-inner { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); border-radius: 12px; }
}
.eeps .eeps-scene { display: block; width: 100%; height: auto; margin: 0; }
.eeps .eeps-pin { position: absolute; transform: translate(-50%, -50%); width: 38px; height: 38px; display: grid; place-items: center; padding: 0; border: 2px solid #fff; border-radius: 50%; background: #fff; color: var(--eeps-text); font-size: 15px; line-height: 1; box-shadow: 0 2px 8px #31313135; }
.eeps .eeps-pin:is(:hover,[aria-pressed="true"]) { color: #fff; background: var(--eeps-accent); }
.eeps-more, .eeps-other, .eeps-results { margin-top: 56px; }
.eeps-section-head { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 22px; }
.eeps-section-head .eeps-intro { margin: 0; }
.eeps-count { font-size: 14px; white-space: nowrap; margin: 0; }
.eeps-products-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.eeps-universe-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 24px; }
.eeps .eeps-universe-card img, .eeps-universe-placeholder { display: block; width: 100%; aspect-ratio: 2.1; object-fit: cover; border-radius: 12px; background: #eee3dc; }
.eeps .eeps-universe-card h3 { font: 400 30px/1.2 var(--eeps-font-heading); margin: 12px 0 4px; text-transform: none; letter-spacing: -.02em; }
.eeps .eeps-universe-card p { margin: 0 0 8px; font-size: 14px; }
.eeps-universe-card > span { color: var(--eeps-accent); font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.eeps-load-wrap { display: flex; justify-content: center; margin-top: 28px; }
.eeps .eeps-load, .eeps .eeps-back { background: #fff; border: 1px solid var(--eeps-accent); color: var(--eeps-accent); border-radius: 32px; padding: 12px 28px; font-size: 14px; }
.eeps .eeps-load:hover, .eeps .eeps-back:hover { background: var(--eeps-soft); }
.eeps .eeps-affiliation { font-size: 12px; color: #68625e; line-height: 1.5; text-align: center; border-top: 1px solid var(--eeps-line); margin: 40px 0 0; padding-top: 20px; }
.eeps-placeholder { display: grid; place-items: center; height: 100%; font-size: 13px; color: #68625e; }
.eeps-error { background: var(--eeps-soft); border: 1px solid var(--eeps-accent); padding: 12px 16px; margin: 20px 0; border-radius: 8px; }
.eeps-empty { padding: 40px 0; }
.eeps[aria-busy="true"] [data-eeps-content], .eeps[aria-busy="true"] [data-eeps-results] { opacity: .65; }
.eeps-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
@media (max-width: 1024px) {
  .eeps-toolbar { flex-wrap: wrap; }
  .eeps-search { width: 100%; }
  .eeps-editorial { gap: 24px; grid-template-columns: 1fr 1fr; }
  .eeps-featured-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .eeps-editorial--no-photo { grid-template-columns: 1fr; }
  .eeps-products-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
}
@media (max-width: 767px) {
  .eeps { scroll-margin-top: 100px; }
  .eeps-mainnav { width: 100%; justify-content: space-between; gap: 15px; overflow-x: auto; padding-bottom: 12px; }
  .eeps-mainnav a { font-size: 14px; }
  .eeps-toolbar { gap: 12px; }
  .eeps-subnav { flex-wrap: nowrap; overflow-x: auto; gap: 8px; padding: 18px 2px 24px; }
  .eeps .eeps-chip { flex-shrink: 0; padding: 10px 18px; font-size: 14px; }
  .eeps-editorial { display: flex; flex-direction: column; }
  .eeps-featured, .eeps-photo { width: 100%; }
  .eeps-featured-grid { gap: 12px; margin-top: 18px; }
  .eeps-products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; }
  .eeps-universe-grid { grid-template-columns: 1fr; gap: 26px; }
  .eeps-section-head { align-items: start; flex-wrap: wrap; gap: 10px; }
  .eeps-more, .eeps-other, .eeps-results { margin-top: 36px; }
}
@media (prefers-reduced-motion: reduce) { .eeps * { transition: none !important; scroll-behavior: auto !important; } }
