/* Separate phone navigation. Native dialogs provide focus containment and Escape. */
.mobile-header-menu,.mobile-header-search { display:none; }
.mobile-menu-dialog,.mobile-search-dialog { --mobile-ease:var(--cloud-ease,cubic-bezier(.23,1,.32,1)); }
.mobile-menu-dialog[open],.mobile-search-dialog[open] { animation:none; }
.mobile-menu-dialog[open]::backdrop,.mobile-search-dialog[open]::backdrop { animation:none; }
.mobile-menu-dialog { position:fixed; inset:0; width:100%; max-width:none; height:100vh; height:100dvh; max-height:none; margin:0; padding:0; overflow:hidden; border:0; border-radius:0; background:transparent; box-shadow:none; color:var(--ink,#30282b); }
.mobile-menu-dialog:focus { outline:none; }
.mobile-menu-dialog::backdrop { background:rgb(53 32 42 / .24); backdrop-filter:blur(2px); clip-path:inset(var(--menu-backdrop-top,0px) 0 0); opacity:0; transition:opacity 200ms var(--mobile-ease); }
.mobile-menu-dialog.is-visible::backdrop { opacity:1; }
.mobile-menu-sheet { width:min(calc(100vw - 68px),390px); height:100%; background:#fcf7f3; border-radius:0 25px 25px 0; box-shadow:12px 0 44px #48222e14; transform:translateX(-102%); transition:transform 280ms var(--mobile-ease); }
.mobile-menu-dialog.is-visible .mobile-menu-sheet { transform:translateX(0); }
.mobile-menu-dialog.is-closing .mobile-menu-sheet { transition-duration:200ms; }
.mobile-menu-scroll { height:100%; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; padding:calc(25px + env(safe-area-inset-top,0px)) 16px calc(28px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px)); scrollbar-width:thin; scrollbar-color:#dbcac6 transparent; }
.mobile-menu-account-row { display:flex; align-items:center; gap:12px; padding:0 0 23px; border-bottom:1px solid #ece1dc; }
.mobile-menu-language-slot { flex:none; min-height:44px; display:flex; align-items:center; }
.mobile-menu-language-slot .header-language { display:block; margin:0; }
.mobile-menu-language-slot .header-language .language-toggle { width:60px; height:28px; font-size:10px; }
.mobile-menu-account { display:flex; flex:1; align-items:center; gap:8px; min-width:0; min-height:44px; padding:4px 0; text-align:left; font:inherit; font-size:14px; line-height:1.3; color:#573a45; }
.mobile-menu-account .icon { width:23px; height:23px; flex:none; }
.mobile-menu-title { margin:20px 4px 17px; font-size:21px; font-weight:600; line-height:1.35; overflow-wrap:anywhere; }
.mobile-menu-root-title { margin-top:23px; margin-bottom:12px; font-size:11px; text-transform:uppercase; letter-spacing:.13em; color:#967d78; }
.mobile-menu-title:focus { outline:none; }
.mobile-menu-list { padding:4px 12px; border:1px solid #eee4df; border-radius:20px; background:#fffdfb; }
.mobile-menu-row { display:flex; align-items:stretch; min-width:0; border-bottom:1px solid #f0e9e4; }
.mobile-menu-row:last-child { border-bottom:0; }
.mobile-menu-row.is-need { margin:8px -5px; padding:0 9px; border:1px solid #ead9cf; border-radius:16px; background:#f7eee7; }
.mobile-menu-row.is-need .mobile-menu-link { color:#84465b; }
.mobile-menu-row.is-need .mobile-menu-link .icon,.mobile-menu-row.is-need .mobile-menu-next { color:#a26776; }
.mobile-menu-link { display:flex; align-items:center; flex:1; min-width:0; min-height:59px; gap:11px; padding:13px 0; text-decoration:none; font-size:15px; font-weight:500; line-height:1.4; color:#4e3b40; overflow-wrap:anywhere; }
.mobile-menu-link .icon { width:21px; height:21px; flex:none; color:#aa7b81; stroke-width:1.5; }
.mobile-menu-link span { min-width:0; }
.mobile-menu-next { display:grid; place-items:center; flex:0 0 44px; min-height:54px; margin:2px -6px 2px 0; border-radius:11px; color:#aa8185; }
.mobile-menu-next .icon { width:17px; height:17px; transform:rotate(-90deg); }
.mobile-menu-back { display:inline-flex; align-items:center; gap:8px; padding:5px 6px 5px 0; min-height:44px; color:#8b5061; font-size:14px; }
.mobile-menu-back .icon { width:19px; height:19px; transform:rotate(180deg); }
.mobile-menu-information { display:flex; flex-direction:column; padding:19px 3px 0; }
.mobile-menu-info { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:44px; padding:9px 1px; text-decoration:none; font-size:14px; line-height:1.4; color:#7f6469; }
.mobile-menu-info .icon { width:15px; height:15px; color:#b79b9d; flex:none; }
.mobile-menu-exit { position:absolute; left:calc(min(calc(100vw - 68px),390px) + 10px); top:calc(50% - 23px); display:grid; place-items:center; width:46px; height:46px; border-radius:50%; border:1px solid #ebbecb; background:#f4ceda; color:#803e54; box-shadow:0 4px 18px #3f1c2a16; opacity:0; transform:translateX(12px); transition:opacity 180ms var(--mobile-ease),transform 220ms var(--mobile-ease),filter 180ms var(--mobile-ease); }
.mobile-menu-exit .icon { width:24px; height:24px; transform:rotate(180deg); }
.mobile-menu-dialog.is-visible .mobile-menu-exit { opacity:1; transform:translateX(0); }
.mobile-menu-dialog.is-closing .mobile-menu-exit { opacity:0; transform:translateX(-32px); filter:blur(5px); }
.mobile-menu-dialog :is(button,a),.mobile-search-dialog :is(button,a) { touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
.mobile-menu-dialog button,.mobile-search-dialog button { user-select:none; }
.mobile-menu-dialog :is(button,a):focus-visible,.mobile-search-dialog :is(button,a,input):focus-visible { outline:2px solid var(--wine,#923a57); outline-offset:2px; }
.mobile-menu-dialog :is(.mobile-menu-link,.mobile-menu-next,.mobile-menu-info,.mobile-menu-account,.mobile-menu-back):active { background:#f8eeeb; }
.mobile-search-dialog { position:fixed; top:calc(18px + env(safe-area-inset-top,0px)); width:min(620px,calc(100% - 24px)); max-width:none; max-height:calc(100dvh - 36px); margin:0 auto; padding:22px; overflow-y:auto; overscroll-behavior:contain; border:1px solid #eee1dc; border-radius:24px; background:#fcf8f5; color:#49353e; opacity:0; transform:translateY(-8px); transition:opacity 160ms var(--mobile-ease),transform 180ms var(--mobile-ease); }
.mobile-search-dialog.is-visible { opacity:1; transform:translateY(0); }
.mobile-search-dialog::backdrop { background:rgb(53 32 42 / .2); backdrop-filter:blur(3px); clip-path:inset(var(--menu-backdrop-top,0px) 0 0); }
.mobile-search-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:15px; }
.mobile-search-heading h2 { margin:0; font-size:19px; font-weight:600; }
.mobile-search-close { width:44px; height:44px; flex:none; display:grid; place-items:center; border-radius:50%; color:#88606b; }
.mobile-search-close .icon { width:20px; height:20px; }
.mobile-search-dialog .search-form { display:flex; position:relative; align-items:center; gap:9px; width:100%; min-height:52px; padding:8px 13px; border:1px solid #e9ddd7; border-radius:15px; background:#fffdfb; }
.mobile-search-dialog .search-form > .icon { width:20px; height:20px; flex:none; color:#97717b; }
.mobile-search-dialog .search-form input { display:block; width:100%; min-width:0; font:inherit; font-size:16px; line-height:24px; background:transparent; border:0; outline:none; color:#49353e; }
.mobile-search-dialog .search-form input::placeholder { color:#a08b90; }
.mobile-search-dialog .search-clear { flex:none; min-width:30px; }
.mobile-search-submit { display:flex; align-items:center; justify-content:center; gap:12px; min-height:46px; width:100%; margin-top:12px; padding:10px 16px; border-radius:14px; background:#923a57; color:#fff; font:inherit; font-weight:600; }
.mobile-search-submit .icon { width:20px; height:20px; }
@media(hover:hover) and (pointer:fine) {
 .mobile-menu-dialog :is(.mobile-menu-link,.mobile-menu-next,.mobile-menu-info,.mobile-menu-account,.mobile-menu-back):hover { color:#923a57; background:#f8eeeb; }
 .mobile-menu-exit:hover { background:#eeb8c9; }
 .mobile-search-close:hover { background:#f3e7e5; }
}
@media(max-width:760px) {
 .site-header.cream-cloud-header,.site-header.cream-cloud-header.is-floating { top:8px; height:76px; margin-top:8px; }
 .site-header.cream-cloud-header .header-inner,.site-header.cream-cloud-header.is-floating .header-inner { width:calc(100% - 20px); height:68px; border-radius:23px; transition:none; }
 .site-header.cream-cloud-header .header-main,.site-header.cream-cloud-header.is-floating .header-main { position:static; display:grid; grid-template-columns:44px 44px minmax(0,1fr) 88px; column-gap:0; align-items:center; height:66px; padding:0 8px; transition:none; }
 .site-header.cream-cloud-header .header-main .brand,.site-header.cream-cloud-header.is-floating .header-main .brand { position:absolute; left:50%; top:50%; width:min(148px,calc(100% - 200px)); height:46px; margin:0; transform:translate(-50%,-50%); transition:none; }
 .site-header.cream-cloud-header .brand .brand-image-window img,.site-header.cream-cloud-header.is-floating .brand .brand-image-window img { width:calc(100% + 6px); left:-3px; top:50%; transform:translateY(-50%); transition:none; }
 .site-header.cream-cloud-header .header-main :is(.category-menu,.customer-menu,.header-language,.mobile-menu,[data-action="account"]),.site-header.cream-cloud-header .header-inner #cloud-category-row,.site-header.cream-cloud-header .header-main > .search-form { display:none!important; }
 .site-header.cream-cloud-header .header-main .header-actions { grid-column:4; grid-row:1; position:static; display:flex; justify-content:center; align-items:center; width:88px; height:100%; gap:0!important; margin:0; padding:0; }
 .site-header.cream-cloud-header .header-actions .icon-button { width:44px; height:44px; flex:0 0 44px; margin:0; }
 .site-header.cream-cloud-header .header-actions .icon { width:24px; height:24px; }
 .site-header.cream-cloud-header .header-actions .count { top:1px; right:1px; min-width:15px; height:15px; font-size:9px; line-height:15px; }
 .site-header.cream-cloud-header .mobile-header-menu,.site-header.cream-cloud-header .mobile-header-search { display:flex; flex-direction:column; align-items:center; justify-content:center; width:44px; height:50px; padding:0; gap:2px; color:#7c4052; border-radius:13px; touch-action:manipulation; -webkit-tap-highlight-color:transparent; user-select:none; }
 .site-header.cream-cloud-header .mobile-header-menu { grid-column:1; grid-row:1; }
 .site-header.cream-cloud-header .mobile-header-search { grid-column:2; grid-row:1; }
 .mobile-header-menu .icon { width:23px; height:23px; }
 .mobile-header-menu span { font-size:10px; line-height:12px; letter-spacing:.01em; }
 .mobile-header-search .icon { width:23px; height:23px; }
 .mobile-header-menu:active,.mobile-header-search:active { background:#f5e9e6; }
 .mobile-header-menu:focus-visible,.mobile-header-search:focus-visible { outline:2px solid var(--wine); outline-offset:0; }
 .mobile-nav { display:none!important; }
 .shipping-notice { padding:7px 36px 7px 13px; }
 .shipping-notice p { font-size:10px; line-height:15px; }
 .shipping-notice button { right:3px; }
}
@media(max-width:360px) {
 .mobile-menu-scroll { padding-inline:12px; padding-left:max(12px,env(safe-area-inset-left,0px)); }
 .mobile-menu-list { padding-inline:10px; }
 .mobile-menu-link { gap:8px; font-size:14px; }
 .mobile-menu-link .icon { width:19px; height:19px; }
}
@media(prefers-reduced-motion:reduce) {
 .mobile-menu-sheet,.mobile-menu-exit,.mobile-search-dialog,.mobile-menu-dialog::backdrop { transition:none; }
 .mobile-menu-dialog.is-closing .mobile-menu-exit { filter:none; }
}
.mobile-menu-dialog.is-keyboard-navigation .mobile-menu-sheet,.mobile-menu-dialog.is-keyboard-navigation .mobile-menu-exit,.mobile-menu-dialog.is-keyboard-navigation::backdrop,.mobile-search-dialog.is-keyboard-navigation { transition:none; }
