/* Dreamy Wolf — fiche produit en prévisualisation privée */

/* Fiches recettes : le même esprit forêt, bois et papier que la boutique. */
.dw-recipe-article { --dw-forest:#263b2d; --dw-wood:#8c5d3e; color:#344035; background:#fbf7ef; border:1px solid #e7dcc7; border-radius:18px; padding:clamp(18px,3vw,38px); max-width:940px; margin:20px auto 40px; box-shadow:0 16px 38px rgba(26,44,29,.07); }
.dw-recipe-article .dw-recipe-lead { color:#435a47; font-family:Georgia,serif; font-size:clamp(1.15rem,2vw,1.5rem); line-height:1.45; margin:0 0 24px; }
.dw-recipe-article h2 { color:var(--dw-forest); font-family:Georgia,serif; font-size:1.4rem; line-height:1.2; margin:22px 0 12px; }
.dw-recipe-article .dw-recipe-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; padding:4px 0 18px; border-block:1px solid #d9ddcf; }
.dw-recipe-article ul,.dw-recipe-article ol { margin:0 0 12px 22px; padding:0; }
.dw-recipe-article li { list-style:disc; line-height:1.55; margin-bottom:7px; }
.dw-recipe-article ol li { list-style:decimal; }
.dw-recipe-article p { line-height:1.65; }
.dw-recipe-article .dw-recipe-warning { background:#efe8d6; border-left:3px solid var(--dw-wood); padding:14px 18px; border-radius:4px; }
.dw-recipe-article .dw-recipe-products { border-top:1px solid #d9ddcf; margin-top:22px; padding-top:15px; }
.dw-recipe-article a { color:var(--dw-forest); text-decoration:underline; text-underline-offset:3px; }
.dw-recipe-article .dw-recipe-source { font-size:.82rem; opacity:.78; margin-top:20px; }
.single-product .dw-recipe .dw-recipe-article { border:0; box-shadow:none; background:transparent; padding:8px 0 0; margin:0; }
.single-product .dw-recipe .dw-recipe-article .dw-recipe-columns { grid-template-columns:1fr; gap:0; }
@media(max-width:767px) { .dw-recipe-article .dw-recipe-columns { grid-template-columns:1fr; gap:0; } }

.single-product {
  --dw-forest:#263b2d; --dw-moss:#536950; --dw-cream:#fbf7ef;
  --dw-sand:#efe6d5; --dw-wood:#8c5d3e; --dw-ink:#26342b;
}
.single-product .site-main,
.single-product .woocommerce-notices-wrapper { max-width:1200px; margin-inline:auto; }
.single-product .page-grid { display:block; max-width:1200px; margin:26px auto 60px; }
.single-product .page-grid #secondary,
.single-product .page-grid aside.sidebar { display:none; }
.single-product .page-grid .site-main { width:100%; max-width:100%; }
.single-product .woocommerce div.product,
.single-product div.product { color:var(--dw-ink); }
.single-product div.product .woocommerce-product-gallery {
  width:49%; margin:0 0 36px; padding:20px; background:var(--dw-cream);
  border:1px solid #e9ddc8; border-radius:24px;
}
.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
  width:100%; height:auto; max-height:660px; object-fit:contain; border-radius:16px;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0 0; }
.single-product .woocommerce-product-gallery .flex-control-thumbs li {
  width:calc(25% - 8px); border:1px solid #d9cdb9; border-radius:12px; overflow:hidden;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs li img { aspect-ratio:1; object-fit:cover; }
.single-product div.product .summary.entry-summary {
  float:right; width:46%; margin:0; padding:20px 6px 24px;
}
.single-product .dw-product-kicker {
  color:var(--dw-wood); font-size:.76rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.16em; margin:0 0 13px;
}
.single-product .summary.entry-summary .product_title {
  font-family:Georgia,serif; font-size:clamp(2rem,3.2vw,3rem); color:var(--dw-forest);
  line-height:1.13; letter-spacing:-.025em; margin:0 0 12px;
}
.single-product .summary.entry-summary .price {
  color:var(--dw-forest); font-size:1.65rem; font-weight:700; margin:14px 0 17px;
}
.single-product .summary.entry-summary .woocommerce-product-details__short-description {
  color:#516052; line-height:1.55; margin-bottom:20px;
}
.single-product .summary.entry-summary .woocommerce-product-details__short-description p { line-height:1.55; }
.single-product .summary.entry-summary form.cart { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:18px 0 22px; }
.single-product .summary.entry-summary .cart div.quantity { margin:0; }
.single-product .summary.entry-summary .cart div.quantity .qty {
  width:76px; min-height:48px; border:1px solid #c9d0c5; border-radius:10px;
  text-align:center; font-weight:700; color:var(--dw-forest); margin:0;
}
.single-product .summary.entry-summary .single_add_to_cart_button {
  background:var(--dw-forest); color:#fff; border-radius:10px;
  min-height:48px; padding:12px 24px; font-weight:700; flex:1;
}
.single-product .summary.entry-summary .single_add_to_cart_button:hover { background:#405a43; }
.single-product .summary.entry-summary .product_meta {
  clear:both; font-size:.79rem; color:#6a736b; border-top:1px solid #e7e1d6; padding-top:15px;
}
.single-product .summary.entry-summary .product_meta .tagged_as { display:none; }
.single-product .summary.entry-summary .cart div.quantity { order:0; }
.single-product .summary.entry-summary .single_add_to_cart_button { order:2; width:100%; flex:none; }
.single-product .dw-tier-feedback {
  order:1; width:100%; background:#edf2e9; color:var(--dw-forest);
  padding:12px 14px; border-radius:10px; font-size:.91rem; line-height:1.4;
}
.single-product .dw-tier-scale { order:2; width:100%; font-size:.78rem; color:#677463; margin:0 0 8px; }
.single-product .dw-tier-scale span { color:#b0a388; padding:0 5px; }
.single-product .dw-personalize { background:var(--dw-sand); border-radius:14px; padding:17px 20px; margin:20px 0; }
.single-product .dw-personalize strong { color:var(--dw-forest); font-family:Georgia,serif; }
.single-product .dw-personalize p { margin:5px 0 10px; line-height:1.5; font-size:.9rem; }
.single-product .dw-personalize a { color:var(--dw-forest); text-decoration:underline; font-weight:700; }
.single-product .dw-recipes { clear:both; border:1px solid #d7decf; background:#f4f6f0; border-radius:14px; margin:22px 0; }
.single-product .dw-recipes summary,
.single-product .dw-more summary { list-style:none; cursor:pointer; padding:16px 18px; font-weight:700; color:var(--dw-forest); }
.single-product .dw-recipes summary::-webkit-details-marker,
.single-product .dw-more summary::-webkit-details-marker { display:none; }
.single-product .dw-recipes summary::after,
.single-product .dw-more summary::after { content:'+'; float:right; font-size:1.3em; line-height:1; }
.single-product .dw-recipes[open] summary::after,
.single-product .dw-more details[open] summary::after { content:'−'; }
.single-product .dw-recipes summary span { font-weight:400; font-size:.8em; color:#647367; padding-left:7px; }
.single-product .dw-recipes-body { padding:0 18px 20px; }
.single-product .dw-recipes-body > p { font-size:.84rem; line-height:1.5; margin:0 0 14px; }
.single-product .dw-recipe-grid { display:grid; gap:8px; }
.single-product .dw-recipe { display:block; background:white; border:1px solid #e0e6db; border-radius:9px; overflow:hidden; }
.single-product .dw-recipe summary { padding:11px 14px; font-size:.9rem; font-weight:700; }
.single-product .dw-recipe > div { padding:0 12px 14px; }
.single-product .dw-recipe img { width:100%; height:auto; object-fit:contain; display:block; border-radius:5px; }
.single-product .dw-recipe a { display:inline-block; margin-top:8px; text-decoration:underline; font-size:.85rem; font-weight:700; color:var(--dw-forest); }
.single-product .dw-more { clear:both; max-width:1200px; margin:34px auto; border-top:1px solid #ddd9cd; border-bottom:1px solid #ddd9cd; }
.single-product .dw-more-content { padding:0 18px 20px; line-height:1.65; }
.single-product .dw-more-content p { line-height:1.65; margin:0 0 12px; }
.single-product div.product .woocommerce-tabs.wc-tabs-wrapper { margin:30px 0; clear:both; }
.single-product .related.products { clear:both; }
@media(max-width:767px) {
  .single-product .page-grid { margin:8px auto 30px; }
  .single-product div.product .woocommerce-product-gallery,
  .single-product div.product .summary.entry-summary { float:none; width:100%; }
  .single-product div.product .woocommerce-product-gallery { padding:10px; margin:0 0 16px; border-radius:16px; }
  .single-product div.product .summary.entry-summary { padding:10px 5px 18px; }
  .single-product .summary.entry-summary .product_title { font-size:2rem; }
  .single-product .summary.entry-summary form.cart { gap:8px; }
  .single-product .summary.entry-summary .single_add_to_cart_button { min-width:0; }
}
