/* Walter & Moretti — favoris et demandes de devis. */
.wm-favorite-button,.wm-open-favorites,.wm-dialog button,.wm-dialog input,.wm-dialog textarea{font:inherit}
.wm-favorite-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 20px;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer;line-height:1.3;font-size:14px;position:relative;z-index:3}
.wm-favorite-button:hover,.wm-favorite-button[aria-pressed="true"]{background:#111;color:#fff;border-color:#111}
.wm-favorite-button svg,.wm-open-favorites svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.4}
.wm-favorite-button[aria-pressed="true"] svg{fill:currentColor}
.wm-favorite-wrap{margin:20px 0}.wm-favorite-wrap .wm-favorite-button{width:100%}.wm-favorite-hint{font-size:14px;line-height:1.5;margin:12px 0}
.wm-open-favorites{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none;white-space:nowrap;min-height:44px;font-size:14px}
.wm-card-favorite{margin:12px 0 0;max-width:100%}
.wm-dialog{position:fixed;inset:0;margin:auto;width:min(1080px,calc(100% - 48px));max-width:none;max-height:90dvh;padding:0;border:0;background:#f9f9f7;color:#171717;box-shadow:0 18px 80px #0003;overflow:auto;font-size:16px;line-height:1.5}
.wm-dialog::backdrop{background:#1119;backdrop-filter:blur(4px)}
.wm-dialog *{box-sizing:border-box}.wm-dialog [hidden]{display:none!important}
.wm-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:32px 36px 24px;border-bottom:1px solid #d5d5d1}
.wm-dialog h2{font-size:clamp(26px,3vw,38px);font-weight:400;line-height:1.1;margin:6px 0 0;letter-spacing:-.035em}
.wm-eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin:0}.wm-close{border:0;background:none;font-size:30px!important;line-height:1;cursor:pointer;width:44px;height:44px;color:inherit}
.wm-dialog-body{padding:26px 36px 36px}.wm-intro{margin:0 0 24px;color:#555;font-size:15px;max-width:640px}
.wm-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.wm-select-all{display:flex;gap:10px;align-items:center;cursor:pointer}.wm-dialog input[type=checkbox]{appearance:auto;width:18px;height:18px;padding:0;margin:0;accent-color:#171717;flex:none}
.wm-list{list-style:none!important;padding:0!important;margin:0!important}.wm-item{display:grid;grid-template-columns:22px 92px 1fr 80px 44px;gap:16px;align-items:center;padding:18px 0;border-top:1px solid #ddd;margin:0}
.wm-item img{width:92px;height:100px;object-fit:cover;background:#eee}.wm-item a{color:inherit;text-decoration:none;font-size:18px;line-height:1.2}.wm-item small{display:block;font-size:13px;color:#666;margin-top:6px}.wm-item label{display:block;font-size:12px}.wm-item input[type=number]{width:76px;min-width:0;height:42px;padding:8px;border:1px solid #bbb;background:#fff;color:#111;border-radius:0}
.wm-remove{border:0;background:none;color:#666;cursor:pointer;min-width:44px;min-height:44px;font-size:23px!important}.wm-empty{padding:42px 0;text-align:center}.wm-empty p{font-size:22px;margin:0 0 10px}.wm-empty a{color:inherit;text-decoration:underline}.wm-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:26px;padding-top:24px;border-top:1px solid #ccc}.wm-summary{font-size:14px;color:#555}
.wm-primary,.wm-secondary{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:13px 24px;border:1px solid #171717;cursor:pointer;text-decoration:none;font-size:14px!important;line-height:1.4;letter-spacing:.015em}.wm-primary{background:#171717;color:#fff}.wm-secondary{background:transparent;color:#171717}.wm-primary:disabled{opacity:.35;cursor:not-allowed}
.wm-dialog button:focus-visible,.wm-dialog a:focus-visible,.wm-dialog input:focus-visible,.wm-dialog textarea:focus-visible,.wm-favorite-button:focus-visible,.wm-open-favorites:focus-visible{outline:2px solid #3867bb;outline-offset:4px}
.wm-quote-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.65fr);gap:42px}.wm-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.wm-fields label{display:block;font-size:14px}.wm-fields input,.wm-fields textarea{display:block;width:100%;min-width:0;border:1px solid #b9b9b5;background:#fff;padding:12px;color:#111;border-radius:0;margin:6px 0 0;font-size:16px}.wm-fields textarea{resize:vertical;min-height:116px}.wm-wide{grid-column:1/-1}.wm-quote-recap{background:#ecece8;padding:22px;align-self:start}.wm-quote-recap h3{font-size:18px;font-weight:400;margin:0 0 18px}.wm-recap-item{padding:13px 0;border-top:1px solid #cececa;font-size:14px}.wm-recap-item small{display:block;color:#62625c;font-size:13px}.wm-note{font-size:13px;line-height:1.5;color:#666;margin:18px 0}.wm-success{padding:26px 0}.wm-success h3{font-size:26px;line-height:1.2}.wm-success pre{font:13px/1.6 monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#eee;padding:20px;max-height:260px;overflow:auto}.wm-alert{color:#a13724;font-size:14px;margin:12px 0}.wm-toast{position:fixed;z-index:99999;bottom:28px;left:50%;transform:translateX(-50%);background:#171717;color:white;padding:14px 22px;max-width:calc(100% - 32px);font-size:14px;box-shadow:0 4px 24px #0003}.wm-toast:empty{display:none}
.wm-preview-label{position:fixed;bottom:10px;left:12px;z-index:30;font:12px/1.4 Arial,sans-serif;background:#fffE;color:#333;padding:6px 10px;border:1px solid #ddd;pointer-events:none}
@media(max-width:700px){.wm-dialog{width:100%;max-height:100dvh;height:100dvh;margin:0}.wm-dialog-header{padding:24px 20px 20px}.wm-dialog-body{padding:20px}.wm-item{grid-template-columns:20px 64px minmax(0,1fr) 40px;gap:10px;position:relative}.wm-item img{width:64px;height:80px}.wm-item a{font-size:16px}.wm-item .wm-qty{grid-column:3;grid-row:2}.wm-item .wm-remove{grid-column:4;grid-row:1}.wm-item>input{grid-row:1}.wm-quote-layout{grid-template-columns:1fr;gap:24px}.wm-quote-recap{grid-row:1}.wm-fields{grid-template-columns:1fr}.wm-wide{grid-column:auto}.wm-actions{align-items:stretch;flex-direction:column}.wm-toolbar{font-size:14px}.wm-open-label{display:none}.wm-favorite-button{padding:10px 12px}}
@media(prefers-reduced-motion:reduce){.wm-dialog *{scroll-behavior:auto!important;transition:none!important}}

.product-item .wm-card-favorite{pointer-events:auto;z-index:100;flex:none}.product-item .caption:has(.wm-card-favorite){flex-direction:column;align-items:flex-start;gap:4px}.product-item .caption .wm-card-favorite{font-size:13px;min-height:42px;margin-top:10px}
/* Explicit quote entry and an aligned, undistorted heart. */
#site-header .wm-open-favorites{display:inline-flex;align-items:center;justify-content:center;gap:10px;align-self:center;line-height:1.35;margin-inline:10px;min-height:44px}
#site-header .wm-open-favorites .wm-open-label{display:block;white-space:normal;text-align:left;font-size:14px;max-width:195px}
.wm-open-favorites svg,.wm-favorite-button svg{display:block;position:static;width:22px;height:22px;min-width:22px;flex:0 0 22px;margin:0;transform:none;overflow:visible;vertical-align:middle}
.wm-open-favorites svg path,.wm-favorite-button svg path{stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;fill:none;transform:none}
.wm-favorite-button[aria-pressed="true"] svg path{fill:currentColor}
.wm-count{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:23px;border:1px solid #c4c4c4;border-radius:50%;font-size:12px;line-height:1;padding:0 4px;flex:none}
#site-header .wm-mobile{display:none}
.wm-dialog--added{width:min(560px,calc(100% - 40px));height:auto;max-height:90dvh}
.wm-dialog--added h2{font-size:30px;line-height:1.2}
.wm-added-product{display:flex;align-items:center;gap:22px;margin-bottom:24px}
.wm-added-product img{width:108px;height:120px;object-fit:cover;flex:none;background:#eee}
.wm-added-product h3{font-size:22px;line-height:1.2;margin:0 0 8px;font-weight:400}
.wm-added-product p{font-size:14px;line-height:1.5;color:#666;margin:0}
.wm-added-actions{display:grid;gap:12px}
.wm-text-button{display:block;justify-self:center;border:0;background:none;color:#555;padding:10px 0;min-height:44px;font-size:14px!important;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
@media(max-width:1024px){
 #site-header{flex-wrap:wrap;row-gap:12px}
 #site-header .wm-open-favorites:not(.wm-mobile){display:none}
 #site-header .wm-mobile{display:flex;flex-basis:100%;margin:0;padding:12px 16px;border:1px solid var(--header-grid-borders,#ccc);gap:12px}
 #site-header .wm-mobile .wm-open-label{max-width:none}
}
@media(max-width:700px){.wm-dialog--added{margin:auto;max-height:calc(100dvh - 32px);width:calc(100% - 28px);height:auto}.wm-dialog--added h2{font-size:25px}.wm-dialog--added .wm-dialog-header{padding:24px 20px 20px}.wm-added-product{gap:16px}.wm-added-product img{width:84px;height:96px}.wm-added-product h3{font-size:20px}}
.wm-dialog.wm-dialog--added{inset:50% auto auto 50%;margin:0;transform:translate(-50%,-50%);height:fit-content}
@media(max-width:1024px){#site-header #site-menu-handle{display:flex!important}}
.wm-language{display:inline-flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:14px}.wm-language select{font:inherit;min-height:44px;min-width:130px;padding:8px 12px;border:1px solid currentColor;background:transparent;color:inherit}
