/* Boutique Maël 3.8.0 — vitrine et panier autonomes */
.mrdv-storefront{--ms-ink:#111c2e;--ms-gold:#cda857;--ms-soft:#f9f5eb;--ms-muted:#637083;--ms-border:#e3dac8;max-width:1140px;margin:0 auto;padding:25px 18px 100px;color:var(--ms-ink);font-family:inherit}
.mrdv-storefront *{box-sizing:border-box}
.mrdv-storefront h1,.mrdv-storefront h2,.mrdv-storefront h3{line-height:1.15;color:var(--ms-ink)}
.mrdv-storefront h1,.mrdv-storefront h2{font-family:Georgia,serif}
.mrdv-storefront h2{font-size:clamp(28px,3.8vw,40px);margin:8px 0 26px}
.mrdv-store-kicker{font-size:11px;font-weight:900;letter-spacing:.17em;text-transform:uppercase;color:#aa883b}
.mrdv-store-hero{position:relative;overflow:hidden;padding:70px 7%;border-radius:28px;background:radial-gradient(circle at 80% 23%,#4b4057 0,transparent 44%),linear-gradient(138deg,#0a1424,#202b42);box-shadow:0 18px 48px rgba(16,28,46,.17);color:#fff}
.mrdv-store-hero:after{content:"";position:absolute;right:-100px;bottom:-235px;width:480px;height:480px;border:1px solid rgba(225,190,102,.28);border-radius:50%;box-shadow:0 0 0 36px rgba(225,190,102,.035),0 0 0 74px rgba(225,190,102,.025);pointer-events:none}
.mrdv-store-hero h1{position:relative;max-width:760px;font-size:clamp(34px,5vw,61px);line-height:1.07;color:#fff!important;margin:16px 0}
.mrdv-store-hero p{position:relative;font-size:18px;line-height:1.65;max-width:660px;color:#e6e4e3}
.mrdv-store-hero a{position:relative;z-index:2;display:inline-flex;margin-top:16px;padding:14px 24px;border-radius:999px;background:linear-gradient(125deg,#f1d78a,#d3aa53);color:#132037!important;font-weight:800;text-decoration:none!important}
.mrdv-store-section{padding:65px 2px 18px;scroll-margin-top:80px}
.mrdv-store-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.mrdv-store-product{overflow:hidden;border-radius:23px;background:#fff;border:1px solid var(--ms-border);box-shadow:0 12px 30px rgba(17,28,46,.06);transition:transform .2s ease,box-shadow .2s ease}
.mrdv-store-product:hover{transform:translateY(-3px);box-shadow:0 17px 42px rgba(17,28,46,.12)}
.mrdv-store-product-art{position:relative;height:175px;padding:26px;background:linear-gradient(145deg,#151f35,#534352);display:flex;align-items:flex-end;overflow:hidden}
.mrdv-store-product-art:before{content:"";position:absolute;top:-110px;right:40px;width:310px;height:310px;border:1px solid rgba(233,195,114,.35);border-radius:50%;box-shadow:0 0 0 18px rgba(236,190,93,.05),0 0 0 48px rgba(236,190,93,.035)}
.mrdv-store-product-art:after{content:"";position:absolute;top:44px;right:95px;width:100px;height:100px;background:radial-gradient(circle at 42% 35%,#ffe8ad,#cba554 67%,#876833);border-radius:50%;box-shadow:0 0 70px rgba(232,184,82,.29)}
.mrdv-store-product-art.is-energy{background:linear-gradient(145deg,#162939,#23505b)}
.mrdv-store-product-art.is-energy:after{border-radius:42% 58% 51% 49%;background:radial-gradient(circle at 30% 24%,#d8e4d1,#8db9a9 62%,#3f797a)}
.mrdv-store-product-art span{position:relative;z-index:2;font-size:11px;letter-spacing:.12em;font-weight:900;text-transform:uppercase;color:#fff;padding:8px 13px;border:1px solid rgba(255,255,255,.38);border-radius:999px;background:rgba(0,0,0,.14)}
.mrdv-store-product-info{padding:25px 28px 28px}
.mrdv-store-product-info h3{font-size:25px;margin:0 0 10px;font-family:Georgia,serif}
.mrdv-store-product-info p{font-size:15px;line-height:1.6;color:var(--ms-muted);min-height:50px}
.mrdv-store-product-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:23px}
.mrdv-store-product-bottom strong{font-size:28px;white-space:nowrap}
.mrdv-store-add{border:0;border-radius:999px;background:var(--ms-ink);color:#fff;padding:13px 18px;font-weight:800;cursor:pointer;font-size:14px}
.mrdv-store-add.is-added{background:#e8d9b9;color:#24324b}
.mrdv-store-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.mrdv-store-links a{display:grid;gap:5px;padding:23px 24px;background:var(--ms-soft);border-radius:17px;border:1px solid var(--ms-border);text-decoration:none!important;color:var(--ms-ink)!important}
.mrdv-store-links a strong{font-size:18px}
.mrdv-store-links a span{color:var(--ms-muted);font-size:14px}
.mrdv-store-links a em{font-style:normal;font-weight:800;color:#9d782b;margin-top:6px;font-size:14px}
.mrdv-store-cart{scroll-margin-top:80px;margin:55px 0 0;background:#fff;border:1px solid var(--ms-border);border-radius:28px;padding:35px 40px;box-shadow:0 20px 50px rgba(17,28,46,.07)}
.mrdv-store-cart-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mrdv-store-cart-heading h2{margin:8px 0 15px}
.mrdv-store-cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;border-radius:50%;font-family:inherit;font-size:14px;background:#edddb6;color:#58421b;vertical-align:middle}
.mrdv-store-clear{background:transparent;border:1px solid #c3b99e;color:#5b6172;border-radius:999px;padding:9px 15px;cursor:pointer}
.mrdv-store-empty{padding:25px 0;color:var(--ms-muted)}
.mrdv-store-cart-lines{display:grid;gap:9px;margin-bottom:24px}
.mrdv-store-cart-line{display:flex;align-items:center;gap:14px;padding:15px 18px;border-radius:13px;background:#f9f7f2}
.mrdv-store-cart-line strong{flex:1}
.mrdv-store-cart-line span{font-weight:800;white-space:nowrap}
.mrdv-store-cart-line button{background:transparent;color:#8a3530;border:0;text-decoration:underline;cursor:pointer;padding:5px}
.mrdv-store-form{display:grid;gap:19px;border-top:1px solid #eee5d2;padding-top:30px}
.mrdv-store-form[hidden],.mrdv-store-message-fields[hidden],.mrdv-store-energy-fields[hidden],.mrdv-store-photos[hidden],.mrdv-store-password[hidden]{display:none!important}
.mrdv-store-form h3{font-size:23px;font-family:Georgia,serif;margin:16px 0 2px}
.mrdv-store-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.mrdv-store-form label{display:grid;gap:7px;color:#26354d;font-weight:750;font-size:14px}
.mrdv-store-form input[type=text],.mrdv-store-form input[type=email],.mrdv-store-form input[type=tel],.mrdv-store-form input[type=date],.mrdv-store-form input[type=password],.mrdv-store-form input[type=file],.mrdv-store-form textarea,.mrdv-store-form select{width:100%;box-sizing:border-box;border:1px solid #cbd0d6;background:#fff;border-radius:12px;padding:13px 14px;color:#1c283c;font-size:16px;font-family:inherit}
.mrdv-store-form textarea{resize:vertical;min-height:105px}
.mrdv-store-form :focus-visible,.mrdv-storefront button:focus-visible,.mrdv-storefront a:focus-visible{outline:3px solid #c6a354;outline-offset:2px}
.mrdv-store-message-fields,.mrdv-store-energy-fields{display:grid;gap:12px;padding:22px;background:#f9f7f2;border-radius:18px}
.mrdv-store-photos{padding:16px;border:1px dashed #c5b27f;border-radius:14px}
.mrdv-store-photos small{color:var(--ms-muted)}
.mrdv-store-voucher{padding:22px;background:#fbf5e4;border:1px solid #dfca9b;border-radius:18px}
.mrdv-store-voucher h3{margin:0 0 6px}
.mrdv-store-voucher p{font-size:14px;line-height:1.5;color:#5a5e65;margin:7px 0 13px}
.mrdv-store-voucher-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.mrdv-store-voucher-actions button{border:1px solid #d0b77a;border-radius:999px;padding:10px 14px;background:#fff;color:#192a41;font-weight:800;cursor:pointer}
.mrdv-store-voucher-actions button.mrdv-store-apply{background:#17243a;color:#fff;border-color:#17243a}
.mrdv-store-voucher-actions button:disabled{opacity:.5;cursor:wait}
.mrdv-store-voucher-actions button[hidden]{display:none!important}
.mrdv-store-voucher .mrdv-store-voucher-status{color:#7a5b18;font-weight:800;font-size:13px;margin:9px 0 0}
.mrdv-store-totals{padding:18px 23px;border-radius:17px;background:#f6f8fa}
.mrdv-store-totals p{display:flex;justify-content:space-between;gap:15px;margin:8px 0;color:#5a6372}
.mrdv-store-totals strong{color:#17253c}
.mrdv-store-totals .mrdv-store-total-line{padding-top:14px;margin-top:14px;border-top:1px solid #dce0e4;font-size:20px;font-weight:900;color:#17253c}
.mrdv-store-payment{display:flex;gap:12px;flex-wrap:wrap;border:1px solid #d7d4ca;border-radius:15px;padding:17px 20px}
.mrdv-store-payment legend{font-weight:800;padding:0 8px}
.mrdv-store-payment label{display:flex;align-items:center;gap:9px;padding:8px 15px;background:#f9f7f2;border-radius:999px}
.mrdv-store-account{padding:16px 20px;border-radius:15px;border:1px solid #e4e1db}
.mrdv-store-password{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:15px}
.mrdv-store-form label.mrdv-store-check{display:flex;align-items:flex-start;gap:9px;line-height:1.5;font-size:14px}
.mrdv-store-check input[type=checkbox]{margin-top:4px;flex-shrink:0}
.mrdv-store-primary{display:inline-flex;justify-content:center;align-items:center;max-width:100%;width:max-content;border:0;border-radius:999px;background:linear-gradient(135deg,#e9ca7f,#cba04c);padding:15px 25px;color:#142136!important;text-decoration:none!important;font-weight:900;font-size:16px;cursor:pointer}
.mrdv-store-primary:disabled{opacity:.6;cursor:wait}
.mrdv-store-fine{font-size:13px;line-height:1.55;color:var(--ms-muted);margin:0}
.mrdv-store-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.mrdv-store-error{padding:13px 17px;border-left:4px solid #b13c32;border-radius:8px;background:#fff1ed;color:#8b2924;font-weight:800;margin-top:15px}
.mrdv-store-history{margin-top:25px;background:#f8f5ef;padding:18px 23px;border-radius:15px}.mrdv-store-history summary{font-weight:800;cursor:pointer}.mrdv-store-history li{margin:10px 0}
.mrdv-store-confirmation{max-width:770px;margin:60px auto 100px;padding:45px 40px;background:#fffdf8;border:1px solid #d8c08c;border-radius:26px;box-shadow:0 17px 44px rgba(17,28,46,.1);text-align:center;color:#152238}
.mrdv-store-confirmation h1{font-family:Georgia,serif;font-size:clamp(32px,5vw,48px);margin:13px 0}
.mrdv-store-confirmation p{color:#586275;line-height:1.65}
.mrdv-store-confirmation-total{display:flex;justify-content:center;gap:15px;align-items:center;background:#f6f0e4;border-radius:15px;padding:19px;margin:24px auto;font-size:18px}
.mrdv-store-confirmation-total strong{font-size:28px}
.mrdv-store-confirmation .mrdv-store-primary{margin:4px auto 20px}
@media(max-width:760px){.mrdv-storefront{padding:12px 12px 100px}.mrdv-store-hero{padding:42px 25px;border-radius:22px}.mrdv-store-hero p{font-size:16px}.mrdv-store-section{padding-top:47px}.mrdv-store-grid,.mrdv-store-links,.mrdv-store-fields,.mrdv-store-password{grid-template-columns:1fr}.mrdv-store-product-info{padding:23px}.mrdv-store-product-art{height:150px}.mrdv-store-cart{padding:24px 19px;border-radius:20px;margin-top:39px}.mrdv-store-cart-heading h2{font-size:29px}.mrdv-store-cart-line{flex-wrap:wrap}.mrdv-store-form .mrdv-store-primary{width:100%}.mrdv-store-confirmation{margin:25px 12px 60px;padding:30px 22px}.mrdv-store-confirmation-total{flex-direction:column;gap:5px}}
@media(prefers-reduced-motion:reduce){.mrdv-store-product,.mrdv-store-hero a{transition:none}}

/* 3.8.1 : affichage mobile affiné après contrôle sur téléphone. */
body.mrdv-store-page{padding-bottom:0!important}
body.mrdv-store-page .mobile-quickbar,body.mrdv-store-page .site-action{display:none!important}
.mael-boutique-page{display:block;width:100%;background:#fff;overflow:clip}
.mael-boutique-page .mrdv-storefront{width:100%;max-width:1140px;padding-top:36px}
.mrdv-storefront .mrdv-store-hero{isolation:isolate}
.mrdv-storefront .mrdv-store-hero h1{font-size:clamp(34px,4.7vw,56px);max-width:18ch;overflow-wrap:break-word;hyphens:auto;letter-spacing:-.025em;line-height:1.1}
.mrdv-storefront .mrdv-store-hero p{color:#f3f0eb!important;opacity:1!important;font-size:17px!important;line-height:1.55!important;max-width:575px;margin:0 0 12px}
.mrdv-storefront .mrdv-store-section h2{font-size:clamp(28px,3.5vw,39px);line-height:1.17;overflow-wrap:break-word}
.mrdv-storefront .mrdv-store-product-info p{color:#526078!important;font-size:15px!important;line-height:1.65!important}
.mrdv-storefront .mrdv-store-empty{font-size:15px;color:#546277}
.mrdv-storefront .mrdv-store-voucher[hidden]{display:none!important}
.mrdv-store-offer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;padding:24px 29px;margin:28px 0 0;border:1px solid #e1cfaa;border-radius:21px;background:#fbf7ed;box-shadow:0 12px 27px rgba(20,32,53,.04)}
.mrdv-store-offer h2{font-family:Georgia,serif;font-size:27px;line-height:1.2;margin:6px 0 7px;color:#162238}
.mrdv-store-offer p{font-size:14px!important;line-height:1.5!important;color:#566276!important;margin:0;max-width:580px}
.mrdv-store-offer-code-wrap{display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:210px}
.mrdv-store-offer-code{padding:12px 15px;background:#fff;border:1px dashed #bd9647;border-radius:11px;color:#18273e;font-size:20px;font-weight:900;text-align:center;letter-spacing:.08em;user-select:all}
.mrdv-store-copy-offer{border:0;border-radius:999px;padding:11px 19px;background:#1c2940;color:#fff;cursor:pointer;font-size:14px;font-weight:800}
.mrdv-store-offer-feedback{min-height:1em;color:#6c521f;font-size:12px;font-weight:700;text-align:center;line-height:1.4}
.mrdv-store-copy-offer:focus-visible{outline:3px solid #d4aa52;outline-offset:3px}
@media(max-width:760px){
  .mael-boutique-page .mrdv-storefront{padding:16px 16px 70px}
  .mrdv-storefront .mrdv-store-hero{padding:36px 25px 38px;border-radius:23px}
  .mrdv-storefront .mrdv-store-hero h1{font-size:clamp(29px,7.8vw,37px)!important;line-height:1.13;letter-spacing:-.025em;margin:12px 0 18px;max-width:100%;overflow-wrap:anywhere;hyphens:auto}
  .mrdv-storefront .mrdv-store-hero p{font-size:15px!important;line-height:1.6!important;margin:0 0 10px;color:#f4f1e9!important}
  .mrdv-storefront .mrdv-store-hero a{display:flex;justify-content:center;text-align:center;font-size:15px;padding:13px 18px;max-width:100%;margin-top:23px}
  .mrdv-store-offer{grid-template-columns:1fr;gap:16px;padding:20px;margin-top:19px;border-radius:17px}
  .mrdv-store-offer h2{font-size:25px;margin:8px 0}
  .mrdv-store-offer p{font-size:14px!important;line-height:1.5!important}
  .mrdv-store-offer-code-wrap{width:100%;min-width:0}
  .mrdv-store-copy-offer{width:100%}
  .mrdv-storefront .mrdv-store-section{padding-top:43px}
  .mrdv-storefront .mrdv-store-section h2{font-size:clamp(28px,7vw,34px)!important;line-height:1.18;margin-bottom:21px}
  .mrdv-storefront .mrdv-store-product-art{height:137px}
  .mrdv-storefront .mrdv-store-product-info h3{font-size:23px;line-height:1.16}
  .mrdv-storefront .mrdv-store-product-info p{font-size:15px!important;line-height:1.55!important;min-height:0}
  .mrdv-storefront .mrdv-store-product-bottom{align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}
  .mrdv-storefront .mrdv-store-product-bottom strong{font-size:25px}
  .mrdv-storefront .mrdv-store-add{font-size:14px;padding:12px 16px}
  .mrdv-storefront .mrdv-store-cart{margin-top:35px;padding:24px 18px}
  .mrdv-storefront .mrdv-store-totals .mrdv-store-total-line{font-size:17px}
}
@media(max-width:375px){
  .mael-boutique-page .mrdv-storefront{padding-left:11px;padding-right:11px}
  .mrdv-storefront .mrdv-store-hero{padding:32px 21px 35px}
  .mrdv-storefront .mrdv-store-hero h1{font-size:29px!important}
  .mrdv-storefront .mrdv-store-product-bottom{flex-direction:column;align-items:stretch}
  .mrdv-storefront .mrdv-store-add{width:100%}
}

/* 3.8.2 — boutique affinée sans changer le panier ni son fonctionnement. */
.mrdv-store-section{padding-top:49px;padding-bottom:12px}
.mrdv-store-hero a,.mrdv-store-primary{min-height:44px;padding:11px 19px;font-size:14px}
.mrdv-store-add{min-height:44px;padding:10px 16px;font-size:13px}
.mrdv-store-cart{margin-top:38px;padding:27px 29px;border-radius:23px}
.mrdv-store-cart-lines{margin-bottom:17px}
.mrdv-store-cart-line{padding:12px 15px}
.mrdv-store-offer{padding:21px 24px;margin-top:23px;gap:19px}
.mrdv-store-confirmation{margin-top:40px;margin-bottom:70px;padding:32px}
@media(max-width:760px){
  .mrdv-storefront .mrdv-store-section{padding-top:34px}
  .mrdv-storefront .mrdv-store-hero{padding:30px 21px 31px}
  .mrdv-storefront .mrdv-store-hero a{min-height:44px;margin-top:16px;padding:11px 16px;font-size:13px}
  .mrdv-storefront .mrdv-store-offer{padding:17px;margin-top:15px;gap:12px}
  .mrdv-storefront .mrdv-store-product-info{padding:19px}
  .mrdv-storefront .mrdv-store-add{min-height:44px;padding:10px 14px;font-size:13px}
  .mrdv-storefront .mrdv-store-cart{margin-top:27px;padding:20px 16px}
  .mrdv-storefront .mrdv-store-primary{min-height:46px;padding:12px 17px;font-size:14px}
  .mrdv-store-confirmation{margin-top:22px;margin-bottom:45px;padding:25px 18px}
}
