/* Galileo motion and hierarchy. Existing brand colors, fonts and white surfaces remain authoritative. */
:root{--galileo-ease:cubic-bezier(.22,1,.36,1);--galileo-fast:160ms;--galileo-move:320ms}
@view-transition{navigation:auto}
::view-transition-old(root){animation:galileo-leave 110ms ease-out both}
::view-transition-new(root){animation:galileo-arrive 200ms var(--galileo-ease) both}
.shop-sheet-transition{view-transition-name:none}
::view-transition-group(galileo-product){animation-duration:380ms;animation-timing-function:var(--galileo-ease)}
::view-transition-old(galileo-product),::view-transition-new(galileo-product){height:100%;object-fit:contain}
@keyframes galileo-leave{to{opacity:0}}
@keyframes galileo-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes galileo-panel{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes galileo-spin{to{transform:rotate(360deg)}}
body.interface-crafted :is(button,.button,a.product-see-cart,.shop-cart-continue){border-radius:10px;transition:transform var(--galileo-fast) var(--galileo-ease),box-shadow var(--galileo-fast) ease,background-color var(--galileo-fast) ease,border-color var(--galileo-fast) ease;touch-action:manipulation}
body.interface-crafted :is(input,textarea,select){transition:border-color var(--galileo-fast) ease,box-shadow var(--galileo-fast) ease}
body.interface-crafted :is(input,textarea,select):focus-visible{outline:2px solid currentColor;outline-offset:3px}
body.interface-crafted :is(button,a,input,textarea,select,summary):focus-visible{outline:2px solid currentColor;outline-offset:4px}
body.interface-crafted :is(button,a)[aria-busy=true]{cursor:progress}
body.interface-crafted :is(.flow-form,.checkout-form)[aria-busy=true] button[type=submit]::after{content:'';display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;margin-left:10px;animation:galileo-spin .75s linear infinite;vertical-align:middle}
body.interface-crafted :is(.flow-panel,.receiving-card,.care-card,.admin-panel){scroll-margin-top:110px}
body.interface-crafted :is(.flow-panel,.receiving-card,.care-card){border-radius:14px}
body.interface-crafted .notice,body.interface-crafted .flow-error{animation:galileo-arrive 160ms ease-out}
.shop-inline-status{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:200;max-width:calc(100vw - 32px);padding:12px 18px;border:1px solid #ddd;background:#fff;color:var(--ink,#171a16);border-radius:99px;box-shadow:0 8px 28px #0001;font-size:14px}
.shop-inline-status:empty{display:none}
body.interface-crafted dialog.shop-sheet{position:fixed;inset:0;width:min(1180px,calc(100vw - 48px));height:min(880px,calc(100dvh - 48px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:0;border:1px solid var(--line,#ddd);border-radius:20px;background:#fff;color:var(--ink,#171a16);box-shadow:0 24px 90px #0003;overflow:auto;overscroll-behavior:contain}
.shop-sheet::backdrop{background:rgb(0 0 0 / .24);backdrop-filter:blur(3px)}
.shop-sheet[open]{animation:galileo-arrive 220ms var(--galileo-ease)}
.shop-sheet-toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;background:#fff;border-bottom:1px solid var(--line,#e3e3e0)}
.shop-sheet-close{min-height:44px;padding:8px 16px;border:1px solid var(--line,#ddd);background:#fff;color:inherit;font:inherit;font-size:14px;cursor:pointer}
.shop-sheet-full{font-size:13px;color:inherit;text-underline-offset:4px}
.shop-sheet-body{padding:clamp(20px,3vw,40px)}
.shop-sheet .product-sheet{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,60px);align-items:start;min-height:0;padding:0;margin:0}
.shop-sheet .product-sheet-media{width:100%;aspect-ratio:4/5;min-height:0;height:auto;overflow:hidden;background:#fff;border-radius:12px}
.shop-sheet .product-sheet-media img{width:100%;height:100%;object-fit:contain;display:block}
.shop-sheet .product-sheet-copy{padding:12px 0;max-width:none}
.shop-sheet .product-sheet-copy>h2{font:inherit;font-weight:800;font-size:clamp(28px,3.5vw,50px);line-height:1.04;letter-spacing:-.04em;margin:18px 0;text-transform:none}
.shop-sheet .product-description{font-size:15px;line-height:1.65}
.shop-sheet .product-meta{padding:18px 0;margin:0}
.shop-sheet .product-price{font-size:26px}
.shop-sheet .product-sizing{padding:18px 0}
.shop-sheet .size-options{display:flex;flex-wrap:wrap;gap:10px}
.shop-sheet .size-options button{min-width:48px;min-height:44px;padding:10px 14px;border:1px solid var(--line,#ddd);background:#fff;color:inherit}
.shop-sheet .size-options button[aria-pressed=true]{border-color:currentColor;box-shadow:inset 0 0 0 1px currentColor}
.shop-sheet .product-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.shop-sheet .product-add{padding:14px 20px;background:var(--ink,#171a16);color:#fff;border:1px solid var(--ink,#171a16);font:inherit;font-size:15px;min-height:48px;cursor:pointer}
.shop-sheet .product-add:disabled{opacity:.5;cursor:default}
.shop-sheet .product-see-cart{color:inherit;font-size:14px}
.shop-sheet .product-size-measures p,.shop-sheet .product-note{font-size:13px;line-height:1.6}
.shop-sheet .product-size-measures small{font-size:12px}
.shop-sheet .product-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:32px 0 0;padding:0}
.shop-sheet .product-gallery figure{margin:0;overflow:hidden;border-radius:12px}
.shop-sheet .product-gallery img{width:100%;height:auto;max-height:480px;object-fit:contain}
.shop-sheet.is-cart{inset:0 0 0 auto;width:min(500px,calc(100vw - 20px));height:100dvh;max-height:100dvh;margin:0;border-radius:20px 0 0 20px;animation:galileo-panel 280ms var(--galileo-ease)}
.shop-sheet.is-cart .shop-sheet-body{padding:24px}
.shop-sheet.is-cart h2{font-size:30px;letter-spacing:-.04em;margin:0 0 20px}
.shop-cart-line{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:14px;align-items:start;padding:20px 0;border-bottom:1px solid var(--line,#ddd)}
.shop-cart-line>img{width:70px;height:90px;object-fit:contain;border-radius:8px}
.shop-cart-line h3{font-size:15px;line-height:1.35;margin:0 0 8px}
.shop-cart-line p{font-size:12px;margin:0 0 12px;line-height:1.5}
.shop-cart-line>strong{font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}
.shop-cart-quantity{display:flex;align-items:center;gap:10px}
.shop-cart-quantity button{min-width:36px;min-height:36px;border:1px solid var(--line,#ddd);background:#fff;color:inherit;font:inherit}
.shop-cart-quantity output{min-width:1em;text-align:center;font-size:14px}
.shop-cart-footer{padding:24px 0;display:grid;grid-template-columns:1fr auto;gap:14px;font-size:18px}
.shop-cart-footer p{grid-column:1/-1;font-size:13px;line-height:1.6;margin:0}
.shop-cart-continue{grid-column:1/-1;display:flex;justify-content:center;align-items:center;min-height:48px;background:var(--ink,#171a16);color:#fff!important;text-decoration:none;padding:12px;font-size:14px}
.shop-cart-feedback{font-size:13px;min-height:0}.shop-cart-feedback:empty{display:none}
.workspace-index{margin:18px 0 26px;border:1px solid var(--line,#dededb);border-radius:12px;background:#fff;overflow:hidden;color:inherit;font-size:14px}
.workspace-index>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;min-height:48px;padding:14px 18px;font-weight:650;cursor:pointer}
.workspace-index>summary::-webkit-details-marker{display:none}
.workspace-index>summary::after{content:'＋';font-size:20px;font-weight:400}
.workspace-index[open]>summary::after{content:'−'}
.workspace-index-panel{padding:0 18px 18px}
.workspace-index-search{display:block;width:100%;box-sizing:border-box;min-height:44px;border:1px solid var(--line,#ddd);border-radius:8px;padding:10px 12px;background:#fff;color:inherit;font:inherit;font-size:16px;margin:0 0 12px}
.workspace-index nav{max-height:240px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.workspace-index ol{margin:0;padding:0;list-style:none;display:grid;gap:2px}
.workspace-index a{display:block;padding:10px 12px;min-height:40px;box-sizing:border-box;color:inherit;text-decoration:none;border-radius:7px;line-height:1.4}
.workspace-index a:hover{background:rgb(0 0 0 / .035)}
.workspace-index a small{display:inline-block;min-width:32px;opacity:.6;font-variant-numeric:tabular-nums;font-size:11px}
.workspace-index .is-subsection{padding-left:25px;font-size:13px}
.management-local-index{max-width:1200px;margin:0 auto;padding:0 24px}
.workspace-help{border:1px solid var(--line,#dededb);border-radius:10px;background:#fff;margin:14px 0;padding:0;color:inherit}
.workspace-help>summary{padding:13px 16px;font-size:13px;font-weight:650;cursor:pointer;line-height:1.5}
.workspace-help> :not(summary){margin:0;padding:0 16px 16px;font-size:13px;line-height:1.65}
.workspace-help ul{padding-left:32px!important}
.workspace-target{scroll-margin-top:120px}
.workspace-target:focus{outline:2px solid currentColor;outline-offset:7px}
.checkout-progress{display:flex;gap:10px;flex-wrap:wrap;padding:0;margin:0 0 26px;list-style:none;font-size:12px}
.checkout-progress li{display:flex;gap:8px;align-items:center;padding:8px 12px;border:1px solid var(--line,#ddd);border-radius:99px}
.checkout-progress li[aria-current=step]{border-color:currentColor;font-weight:700}
.checkout-progress small{font-size:inherit}
.checkout-customer>summary{min-height:44px;cursor:pointer;font-size:15px;font-weight:650;line-height:1.5;margin:16px 0}
.checkout-customer .checkout-form{margin-top:20px}
.care-payment-confirmed{display:flex;gap:14px;align-items:center;padding:18px;border:1px solid currentColor;border-radius:14px;margin:0 0 22px}
.care-payment-confirmed>span{display:grid;place-items:center;border:1px solid currentColor;width:42px;height:42px;border-radius:50%;flex-shrink:0;font-size:22px}
.care-payment-confirmed strong{font-size:18px}.care-payment-confirmed p{font-size:13px;line-height:1.6;margin:6px 0 0}
@media(min-width:900px){.checkout-summary{position:sticky;top:24px;align-self:start}}
@media(max-width:700px){
 body.interface-crafted dialog.shop-sheet{inset:8px;width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);border-radius:16px}
 .shop-sheet-toolbar{padding:10px 14px}.shop-sheet-full{font-size:12px}
 .shop-sheet .product-sheet{grid-template-columns:minmax(0,1fr);gap:10px}
 .shop-sheet .product-sheet-media{aspect-ratio:1/1;max-height:48dvh}
 .shop-sheet .product-sheet-copy{padding:12px 0}.shop-sheet .product-sheet-copy>h2{font-size:32px}
 body.interface-crafted .shop-sheet.is-cart{inset:0 0 0 auto;width:min(500px,calc(100vw - 12px));height:100dvh;max-height:100dvh;border-radius:16px 0 0 16px}
 .shop-sheet.is-cart .shop-sheet-body{padding:18px;padding-bottom:max(24px,env(safe-area-inset-bottom))}
 .management-local-index{padding:0 16px}.workspace-index{margin:12px 0 18px}.workspace-index nav{max-height:210px}
}
@media(prefers-reduced-motion:reduce){
 @view-transition{navigation:none}
 ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
 body.interface-crafted *,body.interface-crafted *::before,body.interface-crafted *::after{scroll-behavior:auto!important}
 body.interface-crafted :is(button,a,input,select,textarea,.notice,.flow-error,.shop-sheet){animation:none!important;transition:none!important}
}
@media print{.shop-sheet,.shop-inline-status,.workspace-index,.management-local-index,.checkout-progress{display:none!important}}
.management-menu-group>details>summary{display:flex;align-items:center;gap:8px;justify-content:space-between;list-style:none;padding:12px 0;min-height:44px;font-size:12px;font-weight:700;cursor:pointer}
.management-menu-group>details>summary::-webkit-details-marker{display:none}
.management-menu-group>details>summary::after{content:'＋';font-size:18px;font-weight:400}
.management-menu-group>details[open]>summary::after{content:'−'}
.management-menu-group>details>summary small{margin-left:auto;font-size:11px;font-weight:400;opacity:.6}
@supports(interpolate-size:allow-keywords){
 .workspace-help{interpolate-size:allow-keywords}
 .workspace-help::details-content{height:0;overflow:clip;transition:height 220ms var(--galileo-ease),content-visibility 220ms allow-discrete}
 .workspace-help[open]::details-content{height:auto}
}
@media(prefers-reduced-motion:reduce){.workspace-help::details-content{transition:none}}
@keyframes galileo-check{from{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}
.care-payment-confirmed.is-new>span{animation:galileo-check 260ms var(--galileo-ease)}
@media(prefers-reduced-motion:reduce){.care-payment-confirmed.is-new>span{animation:none}}
@keyframes galileo-menu-in{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:translateX(0)}}
@keyframes galileo-menu-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-12px)}}
.management-drawer[data-state=open]{animation:galileo-menu-in 240ms var(--galileo-ease)}
.management-drawer[data-state=closed]{animation:galileo-menu-out 140ms ease-in both}
.management-drawer-scrim[data-state=open]{animation:galileo-arrive 160ms ease-out}
.management-drawer-scrim[data-state=closed]{animation:galileo-leave 140ms ease-in both}
@media(prefers-reduced-motion:reduce){.management-drawer,.management-drawer-scrim{animation:none!important}}
.shop-sheet-full,.shop-sheet-close,.shop-cart-continue{display:inline-flex;align-items:center;gap:9px;font-family:inherit}.shop-sheet-full{min-height:44px}.shop-sheet .galileo-action-icon{display:inline-flex;flex:0 0 20px;align-items:center;justify-content:center;width:20px;height:20px;color:inherit}.shop-sheet .galileo-action-icon svg{display:block;width:20px;height:20px}
