/* Fiche produit — Le Rucher du Djé */
.dje-product{--dje-bg:#FBF7F0;--dje-sand:#F3ECDF;--dje-line:#E7DDCC;--dje-line2:#EEE4D3;--dje-ink:#231D16;--dje-text:#4A4238;--dje-muted:#7A6F62;--dje-honey:#E39B17;--dje-honey-d:#D18A0A;--dje-amber:#B8770B;--dje-serif:'EB Garamond',Georgia,serif;--dje-sans:'Jost',system-ui,sans-serif;
  max-width:1280px;margin:0 auto;padding:0 32px 96px;color:var(--dje-ink);font-family:var(--dje-sans);background:var(--dje-bg)}
.dje-product *{box-sizing:border-box}
.dje-product a{color:var(--dje-ink);text-decoration:none}
.dje-product a:hover{color:var(--dje-amber)}
.dje-product p{text-wrap:pretty}

.dje-label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--dje-amber);font-weight:600}
.dje-label--light{color:#F2B544}
.dje-h2{font-family:var(--dje-serif);font-weight:500;font-size:40px;line-height:1.1;margin:8px 0 0}
.dje-h3{font-family:var(--dje-serif);font-size:24px;margin:8px 0 12px}
.dje-link{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;display:inline-flex;gap:8px;background:none;border:0;padding:0;cursor:pointer;color:var(--dje-ink);font-family:inherit}
.dje-stars{color:var(--dje-honey);letter-spacing:2px}
.dje-stars-off{color:var(--dje-line)}
.dje-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.dje-btn{height:54px;padding:0 28px;border:0;border-radius:10px;background:var(--dje-honey);color:var(--dje-ink);font-family:var(--dje-sans);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .15s}
.dje-btn:hover{background:var(--dje-honey-d)}
.dje-btn-outline{display:inline-flex;align-items:center;height:46px;padding:0 24px;border:1px solid var(--dje-ink);border-radius:24px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;cursor:pointer;list-style:none}
.dje-btn-outline::-webkit-details-marker{display:none}

/* Hero */
.dje-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:56px;align-items:start;padding-top:8px}
.dje-gallery{display:flex;gap:16px}
.dje-thumbs{display:flex;flex-direction:column;gap:10px}
.dje-thumb{width:72px;height:84px;padding:0;border-radius:10px;border:1.5px solid transparent;background:var(--dje-sand);cursor:pointer;overflow:hidden}
.dje-thumb.is-active{border-color:var(--dje-honey)}
.dje-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.dje-main-img{flex:1;min-width:0;position:relative;background:var(--dje-sand);border-radius:18px;overflow:hidden;aspect-ratio:4/5}
.dje-main-img img{width:100%;height:100%;object-fit:contain;display:block}
.dje-badge{position:absolute;top:18px;left:18px;background:var(--dje-ink);color:var(--dje-bg);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:7px 12px;border-radius:20px}

.dje-summary{padding-top:6px}
.dje-kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--dje-amber)!important;font-weight:600}
.dje-title{font-family:var(--dje-serif);font-weight:500;font-size:52px;line-height:1.02;margin:10px 0 6px}
.dje-subtitle{font-family:var(--dje-serif);font-style:italic;font-size:22px;color:#5E554A}
.dje-rating{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:13px;color:#5E554A!important}
.dje-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:22px 0 4px}
.dje-price-amount,.dje-price-amount .amount{font-size:34px;font-weight:600;color:var(--dje-ink)}
.dje-price-amount del{font-size:20px;color:var(--dje-muted);font-weight:400}
.dje-price-amount ins{text-decoration:none}
.dje-price-meta{font-size:13px;color:var(--dje-muted)}
.dje-price-meta [data-dje-perkg]:not(:empty)::before{content:' · '}
.dje-excerpt{font-size:15px;line-height:1.65;color:var(--dje-text);max-width:520px;margin:16px 0 26px}
.dje-excerpt p{margin:0 0 8px}

.dje-atouts{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:10px;padding:18px 0;border-top:1px solid var(--dje-line);border-bottom:1px solid var(--dje-line)}
.dje-atout{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;font-size:12px;line-height:1.35}
.dje-atout b{font-weight:600}
.dje-atout small{font-size:12px;color:var(--dje-muted)}
.dje-atout-ico{width:46px;height:46px;border-radius:50%;border:1px solid #D9C7A8;display:flex;align-items:center;justify-content:center;color:var(--dje-amber)}

/* Formulaire WooCommerce */
.dje-cart{margin-top:24px}
.dje-cart form.cart{margin:0}
.dje-cart table.variations{border:0;margin:0;width:100%}
.dje-cart table.variations tr,.dje-cart table.variations td,.dje-cart table.variations th{display:block;padding:0;border:0;background:none;text-align:left}
.dje-cart table.variations th.label,.dje-cart table.variations td.label{font-size:13px;font-weight:600;margin-bottom:10px}
.dje-cart table.variations select.dje-hidden-select{position:absolute!important;opacity:0;pointer-events:none;width:1px;height:1px}
.dje-cart .reset_variations{display:none!important}
.dje-formats{display:flex;gap:10px;flex-wrap:wrap}
.dje-format{min-width:92px;padding:10px 14px;border-radius:10px;border:1.5px solid #E0D3BE;background:#fff;cursor:pointer;font-family:var(--dje-sans);display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--dje-ink)}
.dje-format b{font-size:14px;font-weight:600}
.dje-format small{font-size:12px;color:var(--dje-muted)}
.dje-format.is-active{border-color:var(--dje-honey);background:#FDF3DF}
.dje-format[disabled]{opacity:.4;cursor:not-allowed}
.dje-cart .single_variation_wrap .woocommerce-variation-price{display:none}
.dje-cart .woocommerce-variation-availability{font-size:13px;color:var(--dje-muted);margin-top:10px}
.dje-cart .woocommerce-variation-add-to-cart,.dje-cart form.cart:not(.variations_form){display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.dje-cart .quantity{display:flex;align-items:center;border:1px solid #D9C7A8;border-radius:10px;height:54px;background:#fff;margin:0!important}
.dje-cart .quantity .qty{width:40px;height:100%;border:0;background:none;text-align:center;font-family:var(--dje-sans);font-size:15px;font-weight:500;-moz-appearance:textfield}
.dje-cart .quantity .qty::-webkit-inner-spin-button,.dje-cart .quantity .qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.dje-qty-btn{width:42px;height:100%;border:0;background:none;font-size:18px;cursor:pointer;color:var(--dje-ink)}
.dje-cart .single_add_to_cart_button{flex:1;min-width:220px;height:54px;border:0!important;border-radius:10px!important;background:var(--dje-honey)!important;color:var(--dje-ink)!important;font-family:var(--dje-sans)!important;font-size:13px!important;font-weight:600!important;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .15s}
.dje-cart .single_add_to_cart_button:hover{background:var(--dje-honey-d)!important}
.dje-cart .single_add_to_cart_button.disabled{opacity:.5}

.dje-reassurance{display:flex;gap:22px;flex-wrap:wrap;margin:20px 0 0;padding:0;list-style:none;font-size:12px;color:var(--dje-text)}
.dje-reassurance li{display:flex;align-items:center;gap:7px}
.dje-reassurance svg{color:var(--dje-amber)}
.dje-retrait{margin:14px 0 0;font-size:12px;color:var(--dje-muted)}

/* Fiche identité */
.dje-identite{margin-top:64px;background:var(--dje-sand);border-radius:20px;padding:36px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:36px}
.dje-identite p{font-size:14px;line-height:1.6;color:var(--dje-text);margin:14px 0 0}
.dje-identite .dje-h3+p{margin-top:0}
.dje-mois{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;font-size:11px;font-weight:500;text-align:center}
.dje-mois span{padding:6px 0;border-radius:4px;background:var(--dje-bg);color:#9C9182}
.dje-mois span.is-on{background:var(--dje-honey);color:var(--dje-ink)}
.dje-dl{display:grid;grid-template-columns:auto 1fr;gap:10px 14px;margin:14px 0 0;font-size:14px;line-height:1.4}
.dje-dl dt{color:var(--dje-muted)}
.dje-dl dd{margin:0}
.dje-dl--lines{gap:14px 20px;line-height:1.5;border-top:1px solid var(--dje-line2);padding-top:20px;margin-top:24px}
.dje-intensite{margin-top:18px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;display:flex;justify-content:space-between;color:var(--dje-muted)}
.dje-jauge{margin-top:6px;height:6px;border-radius:3px;background:var(--dje-line);position:relative}
.dje-jauge span{position:absolute;left:0;top:0;bottom:0;border-radius:3px;background:var(--dje-honey)}
.dje-ideal{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;font-size:14px;line-height:1.45}

/* Provenance */
.dje-provenance{margin-top:64px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:20px}
.dje-prov-photo{border-radius:20px;overflow:hidden;position:relative;min-height:420px;background:#2A241D}
.dje-prov-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dje-prov-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(20,16,12,.78),rgba(20,16,12,0) 60%)}
.dje-prov-caption{position:absolute;left:32px;right:32px;bottom:30px;color:var(--dje-bg);z-index:1}
.dje-prov-legende{font-family:var(--dje-serif);font-size:34px;line-height:1.1;margin-top:8px}
.dje-prov-card{background:#fff;border:1px solid var(--dje-line2);border-radius:20px;padding:40px;display:flex;flex-direction:column;justify-content:center}
.dje-prov-card .dje-h2{font-size:36px;margin-top:10px}
.dje-prov-card .dje-link{margin-top:28px}

/* Description libre */
.dje-description{margin-top:80px;max-width:760px}
.dje-prose{margin-top:14px;font-size:15px;line-height:1.7;color:var(--dje-text)}
.dje-prose h2,.dje-prose h3{font-family:var(--dje-serif);font-weight:500;color:var(--dje-ink)}

/* Avis */
.dje-avis{margin-top:80px}
.dje-avis .dje-h2 .dje-stars{font-size:24px;letter-spacing:3px}
.dje-reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}
.dje-review{background:#fff;border:1px solid var(--dje-line2);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:14px}
.dje-review.is-hidden{display:none}
.dje-review p{margin:0;font-family:var(--dje-serif);font-size:19px;line-height:1.4;flex:1}
.dje-review-meta{font-size:12px;color:var(--dje-muted)}
.dje-review-meta b{color:var(--dje-ink);font-weight:600}
.dje-review-form{margin-top:28px}
.dje-review-form #reviews .commentlist,.dje-review-form #reviews>#comments>h2{display:none}

/* FAQ */
.dje-faq{margin-top:80px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:40px}
.dje-faq>div>p{font-size:14px;line-height:1.6;color:var(--dje-text);margin:14px 0 0;max-width:340px}
.dje-faq-list{border-top:1px solid var(--dje-line)}
.dje-faq-list details{border-bottom:1px solid var(--dje-line)}
.dje-faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;cursor:pointer;font-size:16px;font-weight:500;list-style:none}
.dje-faq-list summary::-webkit-details-marker{display:none}
.dje-faq-list summary i::before{content:'+';font-style:normal;font-size:22px;color:var(--dje-amber);font-weight:300}
.dje-faq-list details[open] summary i::before{content:'−'}
.dje-faq-list details p{margin:0 0 22px;font-size:15px;line-height:1.65;color:var(--dje-text);max-width:680px}

/* Produits liés */
.dje-related{margin-top:80px}
.dje-related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:20px}
.dje-card{display:flex;flex-direction:column;gap:12px}
.dje-card-img{aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:var(--dje-sand)}
.dje-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.dje-card:hover .dje-card-img img{transform:scale(1.03)}
.dje-card-name{font-family:var(--dje-serif);font-size:22px;line-height:1.1}
.dje-card-note{font-size:13px;color:var(--dje-muted);margin-top:-6px}
.dje-card-price{font-size:14px;font-weight:600}

/* Barre sticky */
.dje-sticky{position:fixed;left:0;right:0;bottom:0;background:var(--dje-bg);border-top:1px solid var(--dje-line);box-shadow:0 -8px 24px rgba(35,29,22,.08);z-index:999;transform:translateY(100%);transition:transform .25s}
.dje-sticky.is-visible{transform:none}
.dje-sticky-inner{max-width:1280px;margin:0 auto;padding:12px 32px;display:flex;align-items:center;gap:16px}
.dje-sticky img{width:44px;height:52px;object-fit:cover;border-radius:8px;background:var(--dje-sand)}
.dje-sticky-info{flex:1;min-width:0}
.dje-sticky-name{font-family:var(--dje-serif);font-size:20px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dje-sticky-meta{font-size:12px;color:var(--dje-muted);margin-top:3px}
.dje-sticky .dje-btn{height:46px;font-size:12px}

@media (max-width:820px){
  .dje-product{padding:0 18px 96px}
  .dje-hero{gap:28px}
  .dje-gallery{flex-direction:column-reverse}
  .dje-thumbs{flex-direction:row;overflow-x:auto}
  .dje-thumb{flex:0 0 64px;height:72px}
  .dje-title{font-size:40px}
  .dje-h2{font-size:32px}
  .dje-identite{padding:24px}
  .dje-prov-card{padding:28px}
  .dje-faq{grid-template-columns:1fr;gap:20px}
  .dje-sticky-inner{padding:10px 18px}
  .dje-sticky img{display:none}
}
