/* Odile Beauté — shared search, cart and commerce */
:root{--commerce-teal:#064b50;--commerce-dark:#023f45;--commerce-cream:#fff8ed;--commerce-coral:#e76242;--commerce-gold:#d7a24e;--commerce-ink:#173d3f;--commerce-line:#ead8c1;--commerce-serif:'Fraunces','Playfair Display',Georgia,serif;--commerce-sans:'Manrope','Poppins',system-ui,sans-serif}
body.commerce-locked{overflow:hidden}
.commerce-nav-actions{display:flex;align-items:center;gap:5px}
.commerce-icon-button{position:relative;width:40px;height:40px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;background:transparent;color:#17484a;cursor:pointer;transition:background-color 480ms cubic-bezier(.22,1,.36,1),transform 520ms cubic-bezier(.16,1,.3,1),color 480ms cubic-bezier(.22,1,.36,1)}
.commerce-icon-button:hover{background:#f2e4d2;color:var(--commerce-coral);transform:translateY(-2px)}
.commerce-icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.commerce-cart-count{position:absolute;right:-1px;top:-1px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;display:grid;place-items:center;background:var(--commerce-coral);color:#fff;font:600 9px/1 var(--commerce-sans);box-shadow:0 3px 9px rgba(168,61,36,.25)}
.commerce-cart-count:empty{display:none}
.commerce-overlay{position:fixed;inset:0;z-index:70;background:rgba(1,38,41,.46);opacity:0;pointer-events:none;transition:opacity 520ms cubic-bezier(.22,1,.36,1)}
.commerce-overlay.is-open{opacity:1;pointer-events:auto}
.cart-drawer{position:fixed;z-index:71;top:0;right:0;width:min(465px,100%);height:100dvh;display:flex;flex-direction:column;background:#fffaf2;color:var(--commerce-ink);box-shadow:-25px 0 65px rgba(1,40,43,.2);transform:translate3d(102%,0,0);transition:transform 720ms cubic-bezier(.16,1,.3,1)}
.cart-drawer.is-open{transform:none}
.cart-drawer-header{min-height:86px;padding:18px 22px;border-bottom:1px solid var(--commerce-line);display:flex;align-items:center;justify-content:space-between}
.cart-drawer-title{display:flex;align-items:baseline;gap:10px}.cart-drawer-title h2{margin:0;font:500 27px/1 var(--commerce-serif)}.cart-drawer-title span{color:#77827e;font-size:10px}
.commerce-close{width:40px;height:40px;border:1px solid rgba(6,75,80,.13);border-radius:50%;display:grid;place-items:center;background:#fff7eb;color:var(--commerce-teal);font-size:23px;cursor:pointer;transition:transform 520ms cubic-bezier(.16,1,.3,1),background-color 420ms cubic-bezier(.22,1,.36,1)}
.commerce-close:hover{transform:rotate(6deg);background:#f2e3cf}
.cart-scroll{flex:1;min-height:0;overflow-y:auto;padding:17px 20px 24px}
.cart-empty{padding:54px 25px;text-align:center}.cart-empty-icon{width:68px;height:68px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:#f3e5d3;color:var(--commerce-teal);font-size:28px}.cart-empty h3{margin:0 0 8px;font:500 23px var(--commerce-serif)}.cart-empty p{margin:0 0 20px;color:#6d7975;font-size:12px;line-height:1.6}
.cart-empty a{display:inline-flex;min-height:44px;padding:0 20px;border-radius:999px;align-items:center;background:var(--commerce-teal);color:#fff;font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.cart-list{display:grid;gap:10px}
.cart-item{min-height:104px;padding:8px;border:1px solid rgba(202,161,112,.25);border-radius:16px;display:grid;grid-template-columns:86px 1fr;gap:11px;background:rgba(255,255,255,.65)}
.cart-item-image{height:86px;border-radius:11px;display:grid;place-items:center;background:#f5eadb;overflow:hidden}.cart-item-image img{width:100%;height:100%;padding:7px;object-fit:contain}
.cart-item-info{min-width:0;padding:5px 4px 3px}.cart-item-top{display:flex;gap:8px;justify-content:space-between}.cart-item h3{margin:0;font:500 14px/1.2 var(--commerce-serif)}.cart-remove{border:0;background:transparent;color:#a06f56;font-size:16px;cursor:pointer}.cart-item-brand{display:block;margin-top:3px;color:#74817d;font-size:8px;text-transform:uppercase;letter-spacing:.07em}.cart-item-bottom{margin-top:13px;display:flex;align-items:center;justify-content:space-between;gap:10px}.cart-qty{height:29px;border:1px solid var(--commerce-line);border-radius:999px;display:flex;align-items:center;background:#fff}.cart-qty button{width:28px;height:27px;border:0;background:transparent;color:var(--commerce-teal);cursor:pointer}.cart-qty span{min-width:20px;text-align:center;font-size:10px}.cart-item-price{font:500 14px var(--commerce-serif);white-space:nowrap}.cart-item-price.is-pending{font:600 8px var(--commerce-sans);color:#9a6e37;text-transform:uppercase}
.cart-recommendations{margin-top:25px;padding-top:20px;border-top:1px solid var(--commerce-line)}.cart-recommendations-head{display:flex;align-items:center;justify-content:space-between}.cart-recommendations h3{margin:0;font:500 20px var(--commerce-serif)}.cart-recommendations-head span{color:#ad7d40;font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.cart-suggestions{margin-top:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cart-suggestion{min-width:0;padding:7px;border:1px solid rgba(202,161,112,.22);border-radius:13px;background:#fff}.cart-suggestion-image{height:92px;border-radius:9px;display:grid;place-items:center;background:#f7ecde}.cart-suggestion img{width:100%;height:100%;padding:6px;object-fit:contain}.cart-suggestion h4{min-height:31px;margin:7px 1px 4px;font:500 11px/1.15 var(--commerce-serif)}.cart-suggestion p{margin:0 1px 7px;color:#72807c;font-size:8px}.cart-suggestion button{width:100%;min-height:30px;border:0;border-radius:999px;background:#e8d5bc;color:#16494b;font-size:8px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background-color 420ms cubic-bezier(.22,1,.36,1),color 420ms cubic-bezier(.22,1,.36,1)}.cart-suggestion button:hover{background:var(--commerce-teal);color:#fff}
.cart-summary{padding:16px 20px 20px;border-top:1px solid var(--commerce-line);background:#fff7ea}.discount-row{display:flex;gap:8px}.discount-row input{min-width:0;flex:1;height:42px;padding:0 13px;border:1px solid var(--commerce-line);border-radius:10px;background:#fffdf8;color:var(--commerce-ink);outline:none;font-size:11px;text-transform:uppercase}.discount-row input:focus{border-color:#b98243;box-shadow:0 0 0 3px rgba(215,162,78,.13)}.discount-row button{height:42px;padding:0 15px;border:0;border-radius:10px;background:#e7d3b8;color:var(--commerce-teal);font-size:9px;font-weight:700;text-transform:uppercase;cursor:pointer}.discount-message{min-height:17px;margin:6px 2px 0;color:#5b7770;font-size:9px}.discount-message.error{color:#b64e34}.cart-totals{margin:7px 0 12px;display:grid;gap:6px}.cart-total-line{display:flex;justify-content:space-between;color:#64716d;font-size:10px}.cart-total-line.total{padding-top:8px;border-top:1px solid var(--commerce-line);color:var(--commerce-ink);font:500 18px var(--commerce-serif)}.cart-pending-note{margin:0 0 11px;color:#8a6842;font-size:8px;line-height:1.45}.cart-checkout{width:100%;min-height:52px;border:0;border-radius:999px;display:flex;align-items:center;justify-content:space-between;padding:0 7px 0 21px;background:var(--commerce-teal);color:#fff;font-size:11px;font-weight:600;letter-spacing:.04em;cursor:pointer;box-shadow:0 11px 26px rgba(4,69,73,.2);transition:transform 520ms cubic-bezier(.16,1,.3,1),background-color 420ms cubic-bezier(.22,1,.36,1)}.cart-checkout span{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.13);font-size:19px}.cart-checkout:hover{transform:translateY(-2px);background:#043f44}.cart-checkout:disabled{opacity:.45;cursor:not-allowed;transform:none}
.search-dialog{position:fixed;z-index:72;left:50%;top:9vh;width:min(760px,calc(100% - 32px));max-height:82dvh;border:1px solid rgba(233,211,181,.48);border-radius:25px;background:#fffaf2;color:var(--commerce-ink);box-shadow:0 28px 75px rgba(1,35,38,.28);opacity:0;pointer-events:none;transform:translate(-50%,-18px) scale(.98);transition:opacity 480ms cubic-bezier(.22,1,.36,1),transform 650ms cubic-bezier(.16,1,.3,1);overflow:hidden}
.search-dialog.is-open{opacity:1;pointer-events:auto;transform:translate(-50%,0) scale(1)}
.search-head{padding:16px;display:grid;grid-template-columns:1fr 40px;gap:9px;border-bottom:1px solid var(--commerce-line)}.search-input-wrap{height:49px;padding:0 15px;border:1px solid var(--commerce-line);border-radius:999px;display:flex;align-items:center;gap:10px;background:#fff}.search-input-wrap svg{width:19px;stroke:var(--commerce-teal);fill:none;stroke-width:1.6}.site-search-input{width:100%;border:0;outline:0;background:transparent;color:var(--commerce-ink);font:400 14px var(--commerce-sans)}.search-results{max-height:calc(82dvh - 82px);overflow:auto;padding:13px 16px 20px}.search-hint{padding:34px 18px;text-align:center;color:#76817d;font-size:11px}.search-section-title{margin:8px 4px 9px;color:#a36c36;font-size:8px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.search-result{min-height:68px;padding:8px;border-radius:13px;display:grid;grid-template-columns:54px 1fr auto;gap:11px;align-items:center;color:var(--commerce-ink);transition:background-color 380ms cubic-bezier(.22,1,.36,1),transform 450ms cubic-bezier(.16,1,.3,1)}.search-result:hover{background:#f3e5d3;transform:translateX(3px)}.search-result-media{width:54px;height:54px;border-radius:10px;display:grid;place-items:center;background:#f7ecde;overflow:hidden}.search-result-media img{width:100%;height:100%;padding:5px;object-fit:contain}.search-result-media.page{color:var(--commerce-teal);font:500 19px var(--commerce-serif)}.search-result b{display:block;font:500 14px var(--commerce-serif)}.search-result small{display:block;margin-top:3px;color:#75817d;font-size:8px;text-transform:uppercase;letter-spacing:.06em}.search-result>span:last-child{color:#ad7d40;font-size:20px}
.commerce-toast{position:fixed;z-index:75;left:50%;bottom:24px;min-width:240px;padding:13px 18px;border-radius:999px;background:var(--commerce-dark);color:#fff;text-align:center;font:500 10px var(--commerce-sans);box-shadow:0 12px 30px rgba(1,40,43,.25);opacity:0;pointer-events:none;transform:translate(-50%,14px);transition:opacity 400ms cubic-bezier(.22,1,.36,1),transform 520ms cubic-bezier(.16,1,.3,1)}.commerce-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.nav-right{gap:6px!important}.commerce-nav-actions{margin-left:auto}.commerce-icon-button{width:38px;height:38px}.nav-right .commerce-nav-actions{display:flex!important}.nav-right:has(.commerce-nav-actions){display:flex!important}.cart-drawer{width:min(430px,100%)}}
@media(max-width:520px){.commerce-icon-button{width:36px;height:36px}.commerce-icon-button svg{width:19px;height:19px}.cart-drawer-header{min-height:72px;padding:13px 15px}.cart-scroll{padding:13px 13px 20px}.cart-summary{padding:13px}.cart-suggestions{grid-template-columns:repeat(3,minmax(0,1fr))}.cart-suggestion-image{height:78px}.cart-suggestion h4{font-size:10px}.search-dialog{top:12px;max-height:calc(100dvh - 24px)}.search-results{max-height:calc(100dvh - 104px)}}
@media(prefers-reduced-motion:reduce){.commerce-overlay,.cart-drawer,.search-dialog,.commerce-toast,.commerce-icon-button,.cart-checkout{transition:none!important}}


/* Commerce markup compatibility */
body.commerce-open{overflow:hidden}
.commerce-badge{position:absolute;right:-1px;top:-1px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;display:grid;place-items:center;background:var(--commerce-coral);color:#fff;font:600 9px/1 var(--commerce-sans);box-shadow:0 3px 9px rgba(168,61,36,.25)}
.commerce-overlay.show{opacity:1;pointer-events:auto}.cart-drawer.open{transform:none}.search-dialog.open{opacity:1;pointer-events:auto;transform:translate(-50%,0) scale(1)}
.cart-drawer-header h2{margin:3px 0 0;font:500 27px/1 var(--commerce-serif)}.commerce-eyebrow{color:#ad7d40;font-size:8px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.cart-item-copy{min-width:0;padding:5px 4px 3px}.cart-item-copy>span{display:block;color:#74817d;font-size:8px;text-transform:uppercase;letter-spacing:.07em}.cart-item-copy h3{margin:3px 0;font:500 14px/1.2 var(--commerce-serif)}.cart-item-copy>strong{font:500 13px var(--commerce-serif)}.cart-item-actions{margin-top:10px;display:flex;align-items:center;justify-content:space-between}.quantity-control{height:29px;border:1px solid var(--commerce-line);border-radius:999px;display:flex;align-items:center;background:#fff}.quantity-control button{width:28px;height:27px;border:0;background:transparent;color:var(--commerce-teal);cursor:pointer}.quantity-control span{min-width:20px;text-align:center;font-size:10px}.cart-item-actions .cart-remove{font-size:9px;text-decoration:underline}
.empty-cart{padding:48px 25px;text-align:center}.empty-cart>span{width:68px;height:68px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:#f3e5d3;color:var(--commerce-teal);font-size:28px}.empty-cart h3{margin:0 0 8px;font:500 23px var(--commerce-serif)}.empty-cart p{margin:0 0 20px;color:#6d7975;font-size:12px}.empty-cart a{display:inline-flex;min-height:42px;padding:0 18px;border-radius:999px;align-items:center;background:var(--commerce-teal);color:#fff;font-size:9px;font-weight:600}
.cart-suggestions{margin-top:25px;padding-top:20px;border-top:1px solid var(--commerce-line);display:block}.suggestion-heading span{color:#ad7d40;font-size:8px;letter-spacing:.12em;text-transform:uppercase}.suggestion-heading h3{margin:3px 0 12px;font:500 20px var(--commerce-serif)}.suggestion-list{display:grid;gap:8px}.suggestion-card{min-height:72px;padding:7px;border:1px solid rgba(202,161,112,.22);border-radius:13px;display:grid;grid-template-columns:1fr 34px;align-items:center;background:#fff}.suggestion-card a{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:10px;color:var(--commerce-ink)}.suggestion-card img{width:58px;height:58px;padding:5px;border-radius:9px;object-fit:contain;background:#f7ecde}.suggestion-card small{display:block;color:#74817d;font-size:7px;text-transform:uppercase}.suggestion-card strong{display:block;margin-top:3px;font:500 11px/1.2 var(--commerce-serif)}.suggestion-card button{width:32px;height:32px;border:0;border-radius:50%;background:#e8d5bc;color:var(--commerce-teal);font-size:18px;cursor:pointer}.suggestions-complete{color:#74817d;font-size:10px}
.discount-form label{display:block;margin-bottom:6px;color:#6c7773;font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.discount-form>div{display:flex;gap:8px}.discount-form input{min-width:0;flex:1;height:42px;padding:0 13px;border:1px solid var(--commerce-line);border-radius:10px;background:#fffdf8;color:var(--commerce-ink);outline:none;font-size:11px;text-transform:uppercase}.discount-form button{height:42px;padding:0 15px;border:0;border-radius:10px;background:#e7d3b8;color:var(--commerce-teal);font-size:9px;font-weight:700;text-transform:uppercase;cursor:pointer}.cart-totals>div{display:flex;justify-content:space-between;color:#64716d;font-size:10px}.cart-totals .total-line{padding-top:8px;border-top:1px solid var(--commerce-line);color:var(--commerce-ink);font:500 18px var(--commerce-serif)}.cart-totals .discount-line{color:#8a6131}.cart-totals p{margin:0;color:#8a6842;font-size:8px}.cart-checkout.disabled{opacity:.45;pointer-events:none}
.search-panel>header{padding:18px 20px 12px;display:flex;align-items:center;justify-content:space-between}.search-panel h2{margin:3px 0 0;font:500 27px var(--commerce-serif)}.site-search-field{height:52px;margin:0 18px 10px;padding:0 16px;border:1px solid var(--commerce-line);border-radius:999px;display:flex;align-items:center;gap:10px;background:#fff}.site-search-field svg{width:19px;fill:none;stroke:var(--commerce-teal);stroke-width:1.6}.site-search-field input{width:100%;border:0;outline:0;background:transparent;color:var(--commerce-ink);font:400 14px var(--commerce-sans)}.search-result img,.search-result-icon{width:54px;height:54px;padding:5px;border-radius:10px;display:grid;place-items:center;object-fit:contain;background:#f7ecde}.search-result>span strong{display:block;font:500 14px var(--commerce-serif)}.search-result>span small{display:block;margin-top:3px;color:#75817d;font-size:8px;text-transform:uppercase}.search-result>b{color:#ad7d40;font-size:20px}.search-empty{padding:34px 18px;text-align:center;color:#76817d;font-size:11px}

.empty-cart .empty-cart-logo{width:92px;height:92px;padding:13px;background:rgba(240,222,199,.72)}
.empty-cart .empty-cart-logo img{width:100%;height:100%;display:block;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(5,74,79,.08))}

/* Cleaner cart total typography */
.cart-totals>div,
.cart-totals .total-line{
  font-family:'Manrope','Poppins',system-ui,sans-serif;
  font-variant-numeric:tabular-nums;
  letter-spacing:0;
}
.cart-totals>div{font-size:11px;font-weight:500}
.cart-totals>div strong{font-family:inherit;font-size:12px;font-weight:600;letter-spacing:-.01em}
.cart-totals .total-line{font-size:16px;font-weight:600}
.cart-totals .total-line strong{font-size:18px;font-weight:600;letter-spacing:-.025em}

