/* Marvelle recommendation surfaces: existing brand tokens, scoped component styles. */
.mv-merch{--mv-border:#e9dce3;--mv-soft:#fff7fb;--mv-gradient:linear-gradient(135deg,var(--plum,#641c32),var(--magenta,#a90f6d));font-family:var(--sans);color:var(--charcoal);min-width:0}
.mv-merch[hidden],.mv-delivery-progress[hidden]{display:none!important}
.mv-merch-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}
.mv-merch .mv-merch-eyebrow{display:block;margin-bottom:8px;color:var(--magenta);font:700 10px/1.4 var(--sans);letter-spacing:.14em}
.mv-merch .mv-merch-heading h2{margin:0;color:var(--plum);font:600 clamp(28px,3vw,42px)/1.1 var(--serif)}
.mv-merch .mv-merch-heading p{margin:8px 0 0;color:#756971;font:400 13px/1.55 var(--sans)}
.mv-merch .mv-merch-btn{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:10px 18px;border:1px solid transparent;border-radius:24px;background:var(--mv-gradient);color:#fff;white-space:nowrap;text-decoration:none;font:700 11px/1.2 var(--sans);cursor:pointer;box-shadow:0 4px 12px #641c3215;transition:box-shadow .2s,transform .2s}
.mv-merch .mv-merch-btn svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mv-merch .mv-merch-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #641c3226}
.mv-merch .mv-merch-btn:focus-visible,.mv-merch a:focus-visible,.mv-merch input:focus-visible{outline:2px solid var(--magenta);outline-offset:4px}
.mv-merch .mv-merch-btn:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none}
.mv-merch .mv-merch-outline{background:#fff;color:var(--plum);border-color:#d8becb;box-shadow:none}
.mv-merch .mv-mini-card{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border:0;background:transparent}
.mv-mini-image{display:block;width:60px;height:auto;aspect-ratio:var(--product-media-ratio);border:1px solid var(--mv-border);border-radius:8px;background:#fff;overflow:hidden}
.mv-mini-image img{display:block;width:100%;height:100%;object-fit:contain}
.mv-merch .mv-mini-copy a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#2e2128;text-decoration:none;font:600 12px/1.45 var(--sans)}
.mv-merch .mv-mini-copy strong{display:block;margin-top:5px;font:700 15px/1.3 var(--sans);color:var(--plum)}
.mv-upgrade{margin:18px 0;padding:14px 16px 4px;border:1px solid var(--mv-border);border-radius:12px;background:linear-gradient(110deg,#fff7fb,#fff)}
.mv-upgrade-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--plum);font:700 12px/1.4 var(--sans)}
.mv-upgrade-head small{flex-shrink:0;padding:4px 8px;border-radius:12px;background:#f3e6ed;font:600 11px/1.3 var(--sans)}
#mv-bundle{max-width:1296px;margin:0 auto;padding:38px 0;border-top:1px solid var(--mv-border)}
#mv-cart-suggestions{padding:38px 0 0;margin-top:32px;border-top:1px solid var(--mv-border)}
.mv-merch .mv-merch-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.mv-merch .mv-merch-cards .reference-product-card{max-width:288px;width:100%}
.mv-merch .reference-product-card .quick-button{display:none!important}
.mv-bundle-box{display:grid;grid-template-columns:minmax(0,1fr) 250px;border:1px solid var(--mv-border);border-radius:16px;overflow:hidden;background:#fff}
.mv-bundle-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;align-content:center;padding:16px;gap:12px}
.mv-bundle-products:has(>.mv-bundle-item:last-child:nth-child(2)){grid-template-columns:repeat(2,minmax(0,1fr))}
.mv-bundle-item{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:12px;padding:14px;border:1px solid var(--mv-border);border-radius:12px;background:#fff;transition:border-color .2s,background .2s}
.mv-bundle-item:has([data-merch-select]:checked){border-color:#cd93b2;background:#fffafd}
.mv-bundle-item:has([data-merch-select]:focus-visible){outline:2px solid var(--magenta);outline-offset:3px}
.mv-bundle-image{display:block;width:112px;aspect-ratio:var(--product-media-ratio,1/1);overflow:hidden;background:#fff;border:1px solid var(--mv-border);border-radius:10px}
.mv-bundle-image img{display:block;width:100%;height:100%;aspect-ratio:var(--product-media-ratio,1/1);object-fit:contain}
.mv-bundle-copy{min-width:0}
.mv-bundle-choice{display:inline-flex;align-items:center;gap:7px;min-height:32px;margin:0 0 3px;cursor:pointer;color:var(--plum);font:600 11px/1.3 var(--sans)}
.mv-bundle-choice:has(input:disabled){cursor:default}
.mv-bundle-choice input{position:static;appearance:none;width:18px;height:18px;flex:0 0 18px;margin:0;border:1px solid #bfa6b3;border-radius:5px;background:#fff;cursor:inherit}
.mv-bundle-choice input:checked{border-color:var(--magenta);background:var(--magenta) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4.5 10 3.5 3.5 7.5-7.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.mv-bundle-choice input:disabled{opacity:1;border-color:var(--plum);background-color:var(--plum)}
.mv-bundle-name{display:block;color:var(--charcoal);text-decoration:none;font:600 14px/1.45 var(--sans);overflow-wrap:anywhere}
.mv-bundle-name:hover{text-decoration:underline;text-underline-offset:3px}
.mv-bundle-copy b{display:block;margin-top:8px;color:var(--plum);font:700 18px/1.3 var(--sans)}
.mv-bundle-options{grid-column:1/-1;min-width:0}
.mv-bundle-options:empty,.mv-bundle-options:has(>[data-base-options]:empty){display:none}
.mv-bundle-options .variant-field{margin:0 0 10px;width:100%}.mv-bundle-options .variant-field:last-child{margin-bottom:0}
.mv-bundle-options .variant-field>span{display:block;margin-bottom:5px;font:600 12px/1.4 var(--sans)}
.mv-bundle-options .variant-field small{font-size:10px;color:#756971}
.mv-bundle-options .variant-field select{width:100%;min-height:42px;font:400 13px/1.4 var(--sans);padding:8px}
.mv-bundle-options [data-base-options]{display:block;font:500 12px/1.5 var(--sans);color:#756971}
.mv-bundle-summary{display:flex;flex-direction:column;justify-content:center;padding:20px;border-left:1px solid var(--mv-border);background:var(--mv-soft)}
.mv-bundle-summary>span{font:600 12px/1.4 var(--sans);color:#756971}.mv-bundle-summary>strong{margin-top:5px;color:var(--plum);font:700 34px/1.2 var(--sans)}
.mv-bundle-summary .mv-merch-btn{min-height:44px;margin-top:14px;padding:11px 12px;font-size:12px}
.mv-bundle-summary p{margin:10px 0 0;font:400 11px/1.5 var(--sans);color:#756971;text-align:center}
#mv-drawer-suggestions{border-top:1px solid var(--mv-border);padding:18px 0 6px;margin-top:12px}
#mv-drawer-suggestions .mv-merch-heading,#mv-checkout-suggestion .mv-merch-heading{margin-bottom:6px}
#mv-drawer-suggestions .mv-merch-heading h2,#mv-checkout-suggestion .mv-merch-heading h2{font:600 23px/1.15 var(--serif)}
#mv-drawer-suggestions .mv-merch-eyebrow,#mv-checkout-suggestion .mv-merch-eyebrow{display:none}
#mv-drawer-suggestions .mv-mini-card,#mv-checkout-suggestion .mv-mini-card{grid-template-columns:52px minmax(0,1fr);gap:8px 12px}
#mv-drawer-suggestions .mv-mini-image,#mv-checkout-suggestion .mv-mini-image{width:52px;grid-row:1/3}
#mv-drawer-suggestions .mv-merch-btn,#mv-checkout-suggestion .mv-merch-btn{grid-column:2;justify-self:start;min-height:32px;padding:7px 12px;font-size:10px}
#mv-checkout-suggestion{padding:16px;margin:14px 22px;border:1px solid #e5cddd;border-radius:12px;background:#fff7fb}
.mv-remove-addon{padding:4px 0;border:0;background:none;color:var(--plum);font:600 11px var(--sans);text-decoration:underline;cursor:pointer}
#mv-post-purchase{grid-column:1/-1;width:100%;padding:32px 0;margin-top:20px;border-top:1px solid var(--mv-border)}
.mv-post-cart{margin-top:20px}.checkout-shell:has(#mv-post-purchase)>.utility-card{grid-column:1/-1;width:100%}
.checkout-shell:has(#mv-post-purchase)>.utility-card h1{font:600 clamp(34px,4vw,52px)/1.15 var(--serif);margin:16px 0;color:var(--plum)}
.mv-merch-status{position:fixed;z-index:120;left:50%;bottom:28px;max-width:calc(100% - 32px);transform:translate(-50%,16px);opacity:0;pointer-events:none;padding:12px 20px;border-radius:24px;background:var(--plum);color:#fff;font:600 12px/1.4 var(--sans);box-shadow:0 5px 20px #641c3230;transition:opacity .2s,transform .2s}
.mv-merch-status.visible{opacity:1;transform:translate(-50%,0)}
.mv-delivery-progress{padding:14px 16px;margin:14px 0;border:1px solid #ead8e3;border-radius:12px;background:#fff7fb;color:var(--plum);font:500 12px/1.5 var(--sans)}
.mv-delivery-progress p{margin:0;font:inherit}.mv-delivery-progress strong{font-weight:750}.mv-delivery-progress .mv-progress-track{height:5px;margin-top:10px;border-radius:4px;background:#ecdfe7;overflow:hidden}.mv-progress-fill{height:100%;width:var(--delivery-progress);background:var(--magenta);border-radius:4px;transition:width .25s}.mv-delivery-progress.is-unlocked{background:#f0faf3;border-color:#d7ebde;color:#257044}.mv-delivery-progress.is-unlocked .mv-progress-fill{background:#318057}
#checkout-summary>.mv-delivery-progress{margin:14px 22px}#delivery-meter:has(.mv-delivery-progress){margin:14px 0 8px}#delivery-meter .mv-delivery-progress{margin:0}
@media(max-width:1350px){#mv-bundle{margin-inline:24px}}
@media(max-width:1100px){.mv-bundle-box{grid-template-columns:1fr}.mv-bundle-summary{border-left:0;border-top:1px solid var(--mv-border);display:grid;grid-template-columns:1fr minmax(210px,280px);gap:4px 20px;padding:18px 20px}.mv-bundle-summary>strong{grid-column:1;grid-row:2;margin:0}.mv-bundle-summary .mv-merch-btn{grid-column:2;grid-row:1/3;margin:0}.mv-bundle-summary p{grid-column:2;grid-row:3;margin:4px 0 0}.mv-bundle-summary p br{display:none}.mv-bundle-summary p br:after{content:" "}.mv-bundle-item{grid-template-columns:96px minmax(0,1fr);gap:10px;padding:12px}.mv-bundle-image{width:96px}}
@media(max-width:600px){#mv-bundle{margin-inline:12px;padding:28px 0}.mv-merch .mv-merch-heading h2{font-size:29px}.mv-merch .mv-merch-heading p{font-size:12px}.mv-merch-heading{margin-bottom:18px}.mv-merch .mv-merch-cards{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:80%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.mv-merch-cards .reference-product-card{scroll-snap-align:start}.mv-upgrade{padding:12px}.mv-upgrade .mv-mini-card{grid-template-columns:52px minmax(0,1fr)}.mv-upgrade .mv-mini-image{grid-row:1/3;width:52px}.mv-upgrade .mv-merch-outline{grid-column:2;justify-self:start;min-height:32px;padding:7px 12px}.mv-merch-status{bottom:80px}}
@media(max-width:760px){.mv-bundle-products,.mv-bundle-products:has(>.mv-bundle-item:last-child:nth-child(2)){grid-template-columns:1fr;padding:12px;gap:10px}.mv-bundle-item{grid-template-columns:104px minmax(0,1fr);gap:14px}.mv-bundle-image{width:104px}.mv-bundle-summary{padding:16px;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center}.mv-bundle-summary>strong{grid-column:2;grid-row:1;font-size:30px}.mv-bundle-summary .mv-merch-btn{grid-column:1/-1;grid-row:2;margin-top:4px}.mv-bundle-summary p{grid-column:1/-1;grid-row:3;margin:0}.mv-bundle-choice{min-height:36px}.mv-bundle-name{font-size:14px}}
@media(forced-colors:active){.mv-bundle-choice input{appearance:auto}}
@media(prefers-reduced-motion:reduce){.mv-merch *, .mv-merch-status,.mv-progress-fill{transition:none!important}}
