/* Native scrolling and short feedback. Motion changes opacity/transform only. */
:root {--motion-fast:140ms;--motion-base:220ms;--motion-ease:cubic-bezier(.2,.7,.2,1);}
button,a,input,select,textarea {touch-action:manipulation;}
button,.button,.icon-button,.card-buy,.favorite-button,.header-action,.main-nav>a,.mobile-tabbar>* {transition:background-color var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast),transform var(--motion-fast) var(--motion-ease),scale var(--motion-fast) var(--motion-ease);}
.button:not(:disabled):active,.icon-button:not(:disabled):active,.card-buy:not(:disabled):active,.favorite-button:not(:disabled):active {scale:.98;}
input,textarea,select {transition:border-color var(--motion-fast),box-shadow var(--motion-fast);}
.product-media img {transition:transform 320ms var(--motion-ease);}
@media(hover:hover) and (pointer:fine) {.product-media>a:hover img{transform:scale(1.035);}}
.filter-option {transition:color var(--motion-fast);}
details>summary>.ph {transition:transform var(--motion-base) var(--motion-ease);}
details[open]>summary>.ph {transform:rotate(180deg);}
/* The native top layer holds the dialog during discrete opening and closing. */
dialog {opacity:0;transform:translateY(8px) scale(.985);transition:opacity 180ms ease,transform 220ms var(--motion-ease),overlay 220ms allow-discrete,display 220ms allow-discrete;}
dialog[open] {opacity:1;transform:translateY(0) scale(1);}
dialog::backdrop {background:rgb(25 19 27 / 0);transition:background-color 180ms ease,overlay 220ms allow-discrete,display 220ms allow-discrete;}
dialog[open]::backdrop {background:rgb(25 19 27 / .42);}
.cart-dialog,.checkout-dialog,.sheet-dialog {transform:translateX(26px);}
@starting-style {
 dialog[open]{opacity:0;transform:translateY(8px) scale(.985);}
 .cart-dialog[open],.checkout-dialog[open],.sheet-dialog[open]{opacity:0;transform:translateX(26px);}
 dialog[open]::backdrop{background:rgb(25 19 27 / 0);}
}
.toast {animation:toast-enter 170ms var(--motion-ease);}
@keyframes toast-enter {from{opacity:0;translate:0 8px;}to{opacity:1;translate:0 0;}}
.mobile-tabbar [aria-current='page'],.main-nav [aria-current='page'] {color:var(--accent);}
.header-action[aria-current='page'] {color:var(--accent);}
.home-page:empty {min-height:680px;}
.info-page {min-height:60dvh;padding-block:30px 60px;}
.info-page .shop-info {border:0;margin-top:0;}
.info-page .shop-info h1 {font-size:34px;font-weight:600;letter-spacing:-.025em;}
.menu-account {display:flex;align-items:center;gap:10px;margin:14px 24px;min-height:44px;text-align:left;}
.menu-account .ph {font-size:22px;}
@media(max-width:1150px) {.header-actions{gap:16px;}}
@media(max-width:767px) {
 .account-header{display:none;}
 .mobile-tabbar{grid-template-columns:repeat(5,1fr);padding-inline:6px;}
 .mobile-tabbar>*{font-size:9px;}
 .header-actions{gap:0;}
 .info-page{padding-block:16px 35px;}
 .info-page .shop-info h1{font-size:27px;}
 .home-page:empty{min-height:640px;}
 .sheet-dialog{transform:translateY(18px);}
 @starting-style {.sheet-dialog[open]{transform:translateY(18px);}}
}
@media(prefers-reduced-motion:reduce) {
 html{scroll-behavior:auto;}
 *,*::before,*::after{animation:none!important;transition:none!important;}
 .button:active,.icon-button:active,.card-buy:active,.favorite-button:active{scale:none;}
}
.catalog-heading h1{font-size:30px;font-weight:600;letter-spacing:-.025em;line-height:1.25;}
.delivery-contact{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:45px;border-top:1px solid var(--line);padding-top:35px;}
.delivery-contact-label{font-size:12px;color:var(--muted);margin-bottom:10px;}
.delivery-contact h2{font-size:25px;font-weight:550;margin-bottom:10px;letter-spacing:-.02em;}
.delivery-contact p:not(.delivery-contact-label){font-size:13px;color:var(--muted);max-width:350px;}
.delivery-contact>div:last-child{display:flex;flex-direction:column;gap:12px;align-items:start;}
.delivery-phone{font-size:26px;font-weight:600;letter-spacing:-.025em;}
.delivery-contact>div:last-child>span{font-size:13px;color:var(--muted);}
.delivery-preview-note{margin-top:35px;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:12px;max-width:650px;}
.favorite-button{width:44px;height:44px;}
@media(max-width:767px){
 .catalog-heading h1{font-size:25px;}
 .delivery-contact{grid-template-columns:1fr;gap:25px;margin-top:35px;padding-top:25px;}
 .delivery-contact h2{font-size:23px;}
 .header-row>.icon-button,.header-actions>.icon-button{width:44px;}
 .header-actions>.header-action{width:44px;}
 .favorite-button{width:40px;height:40px;top:4px;right:4px;}
 .favorite-button::after{content:'';position:absolute;inset:-2px;}
 .footer-top nav>*{min-height:40px;display:inline-flex;align-items:center;}
}

main{min-height:calc(100svh - var(--header-height));}
/* Preserve layout through the discrete exit transition after [open] is removed. */
.cart-dialog,.checkout-dialog,.sheet-dialog{flex-direction:column;}
.cart-dialog::backdrop,.checkout-dialog::backdrop,.sheet-dialog::backdrop{background:rgb(25 19 27 / 0);}
.cart-dialog[open]::backdrop,.checkout-dialog[open]::backdrop,.sheet-dialog[open]::backdrop{background:rgb(25 19 27 / .42);}
