/* Customer shopping: compact discovery, clear product details, stable cart controls. */
.df-shop [hidden]{display:none!important}
.df-shop .shop-delivery{padding:0 0 12px;min-height:44px;gap:9px}
.df-shop .shop-delivery small{font-size:11px;margin-bottom:2px}
.df-shop .shop-delivery strong{font-size:13px;font-weight:600}
.df-shop .shop-store{border:0;padding:4px 0 16px;gap:10px}
.df-shop .shop-store-icon{width:40px;height:40px;border-radius:13px}
.df-shop .store-picker small{font-size:10px;margin-top:1px}
.df-shop .shop-discovery{position:sticky;top:0;z-index:20;background:var(--df-bg);padding-top:8px;margin-top:-8px}
.df-shop .shop-search{padding:0 12px;gap:9px;min-height:48px;border-radius:16px}
body:has(#app) .df-shop .shop-search input{min-height:48px;min-width:0;font-size:16px}
.df-shop .shop-search input::-webkit-search-cancel-button{-webkit-appearance:none}
.df-shop .shop-search>button{display:grid;place-items:center;flex:none;width:44px;height:44px;min-height:44px;padding:12px;border-radius:50%;background:transparent;color:var(--df-muted)}
.df-shop .shop-search>button svg{width:18px;height:18px}
.df-shop .shop-categories{gap:9px;padding:12px 1px 8px;margin:0;scroll-padding-inline:1px}
.df-shop .shop-categories button{flex-basis:64px;min-height:76px;gap:6px;padding-bottom:9px;font-size:11px}
.df-shop .category-art{width:48px;height:48px;border-radius:16px;border-width:1.5px}
.df-shop .category-art svg{width:24px;height:24px}
.df-shop .shop-tools{gap:7px;margin:10px 0 18px;flex-wrap:nowrap}
.df-shop .shop-offers{min-height:40px;padding:9px 12px;gap:5px;font-size:11px;white-space:nowrap}
.df-shop .shop-offers svg{width:15px;height:15px}
.df-shop .shop-sort{flex:1;justify-content:flex-end;min-width:0}
body:has(#app) .df-shop .shop-sort select{width:100%;max-width:146px;min-width:0;font-size:11px;min-height:40px;text-overflow:ellipsis;padding-inline:2px}
.df-shop .shop-results-heading{margin-bottom:16px;gap:10px}.df-shop #shop-results-title{scroll-margin-top:155px}
.df-shop .shop-results-heading h1{font-size:24px;letter-spacing:-.6px}
.df-shop .shop-filter-reset{background:transparent;color:var(--df-accent);font-size:12px;padding:0 0 12px;min-height:36px;margin-top:-9px;text-decoration:underline;text-underline-offset:3px}
.df-shop .product-grid{gap:25px 16px;grid-template-columns:repeat(3,minmax(0,1fr))}
.df-shop .product-grid>.product{max-width:none}
.df-shop .product-art{padding:0;overflow:visible;border:0;background:transparent;aspect-ratio:1/1}
.df-shop .product-open{display:block;width:100%;height:100%;padding:8px;background:#f6efe3;border:1px solid var(--df-line);border-radius:19px;overflow:hidden;color:#806551}
.df-shop .product-open>img{width:100%;height:100%;max-height:none;object-fit:contain;display:block;mix-blend-mode:normal}
.df-shop .product-open>span{display:grid;place-items:center;width:100%;height:100%}.df-shop .product-open svg{width:52px;height:52px}
.df-shop .product-unavailable .product-open>img{opacity:.55}
.df-shop .product .product-art>.product-saving{position:absolute;left:7px;top:7px;width:auto;height:auto;display:block;padding:5px 7px;background:var(--df-accent-soft);color:var(--df-accent);font-size:10px;font-weight:650;border-radius:7px;pointer-events:none}
.df-shop .product-art>.product-quantity{inset:auto 7px 7px auto}
.df-shop .product .add{background:var(--df-surface);border-color:var(--df-line);color:var(--df-text);box-shadow:0 2px 6px #0002}
.df-shop .product .quantity{border-color:var(--df-accent);background:var(--df-accent);color:var(--df-on-accent);border-radius:25px;overflow:hidden}
.df-shop .product .quantity button{color:inherit;background:transparent;min-width:38px;width:38px;min-height:44px}
.df-shop .product .quantity span{color:inherit}
.df-shop .product-info{padding:13px 0 0}
.df-shop .product-info h3{margin:0 0 5px}
.df-shop .product-info h3 button{display:block;text-align:left;padding:0;background:transparent;color:var(--df-text);font:inherit;line-height:1.4;min-height:0;width:100%}
.df-shop .product-info h3 button:hover{text-decoration:underline;text-underline-offset:3px}
.df-shop .product-price{margin-bottom:5px}.df-shop .product-price strong{font-size:18px;font-weight:700}
.df-shop .product-info .product-size{font-size:12px;margin:0}
.df-shop .shop-empty-icon{display:grid;place-items:center;margin:0 auto 12px;width:54px;height:54px;border-radius:50%;background:var(--df-raised);color:var(--df-muted)}
.df-shop .shop-empty-icon svg{width:24px;height:24px}
.shop-basket-dock{display:none}
.product-sheet{box-sizing:border-box;width:min(520px,calc(100% - 32px));max-height:90dvh;max-height:90svh;padding:0;border:1px solid var(--df-line);border-radius:26px;background:var(--df-bg);color:var(--df-text);overscroll-behavior:contain;box-shadow:0 20px 80px #0004}
.product-sheet::backdrop{background:#17151185;backdrop-filter:blur(3px)}
body:has(.product-sheet[open]){overflow:hidden}
.product-sheet-close{position:sticky;top:12px;float:right;z-index:2;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:12px;margin:12px 12px -56px 0;border:1px solid var(--df-line);border-radius:50%;background:var(--df-surface);color:var(--df-text)}
.product-sheet-close svg{width:20px;height:20px}
.product-sheet-art{height:260px;padding:24px;background:#f6efe3;display:grid;place-items:center}
.product-sheet-art>img{display:block;max-width:100%;width:100%;height:100%;max-height:212px;object-fit:contain}
.product-sheet-art>span>svg{width:90px;height:90px;color:#806551}
.product-sheet-info{padding:24px 24px 8px}.product-sheet-category{font-size:11px;color:var(--df-muted);text-transform:uppercase;letter-spacing:1px}
.product-sheet h2{font-size:27px;letter-spacing:-.7px;line-height:1.15;margin:8px 0;overflow-wrap:anywhere}
.product-sheet-size{margin:0 0 18px;color:var(--df-muted);font-size:15px}
.product-sheet .product-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:9px}
.product-sheet .product-price strong{font-size:25px}.product-sheet .product-price del{color:var(--df-muted)}
html[data-theme] body:has(#app) .product-sheet .deal-label{font-size:12px;background:var(--df-accent-soft);color:var(--df-accent)!important;padding:5px 8px;border-radius:7px}
.product-sheet-description{font-size:15px;line-height:1.65;white-space:pre-line;margin:20px 0;overflow-wrap:anywhere}
.product-sheet dl{margin:20px 0 12px;font-size:13px}.product-sheet dl>div{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--df-line);padding:12px 0}.product-sheet dt{color:var(--df-muted)}.product-sheet dd{margin:0;text-align:right;overflow-wrap:anywhere}
.product-sheet-note{font-size:12px;line-height:1.5;color:var(--df-muted);margin:8px 0}
.product-sheet-actions{position:sticky;bottom:0;padding:16px 24px max(16px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:16px;background:var(--df-bg);border-top:1px solid var(--df-line);margin-top:12px}
.product-sheet-actions>span{flex:none;min-width:120px}.product-sheet-actions>.primary{flex:1;min-height:48px;border-radius:25px;color:var(--df-on-accent);background:var(--df-accent);padding:12px 20px}
.product-sheet-actions .quantity{display:flex;align-items:center;justify-content:space-between;gap:0;min-height:48px;border:1px solid var(--df-line);border-radius:25px;background:var(--df-surface);color:var(--df-text)}
.product-sheet-actions .quantity button{width:44px;min-height:46px;background:transparent;color:inherit;border-radius:50%;font-size:23px;padding:0}.product-sheet-actions .quantity span{min-width:24px;text-align:center}
.product-sheet-actions .add{display:block;min-height:48px;min-width:120px;border:1px solid var(--df-line);border-radius:25px;background:var(--df-surface);color:var(--df-text);font-size:16px}.product-sheet-actions .add:after{content:' Add';font-size:15px}
.product-sheet-actions .unavailable-label{font-size:13px;color:var(--df-muted)}
@media(min-width:1000px){.df-shop .shop-delivery{max-width:520px}.df-shop .shop-store{padding-block:10px 20px}.df-shop .shop-categories{gap:20px}.df-shop .shop-categories button{flex-basis:74px}.df-shop .category-art{width:60px;height:60px}.df-shop .shop-results-heading h1{font-size:28px}}
@media(max-width:999px){.df-shop .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.df-shop .basket-sidebar{display:none}.df-shop .shop-basket-dock{position:fixed;z-index:34;bottom:calc(92px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;width:calc(100% - 40px);max-width:420px;padding:12px 18px;border-radius:18px;min-height:58px;text-align:left;background:var(--df-accent);color:var(--df-on-accent);box-shadow:0 4px 20px #0002}.shop-basket-count{display:grid;place-items:center;background:#ffffff22;border:1px solid currentColor;border-radius:9px;min-width:30px;height:30px;padding:0 6px;font-size:13px}.shop-basket-dock>span:nth-child(2){font-size:14px;font-weight:650}.shop-basket-dock small{display:block;font-size:10px;font-weight:400;opacity:.9;margin-top:1px}.shop-basket-dock strong{margin-left:auto;font-size:16px;white-space:nowrap}.shop-basket-dock:not(:disabled):active{transform:translateX(-50%) scale(.98)}body:has(.df-shop .shop-basket-dock:not([hidden])) #main{padding-bottom:calc(190px + env(safe-area-inset-bottom))}}
@media(max-width:650px){body:has(.df-shop) #app>.df-app-header{min-height:64px;padding:10px 20px}body:has(.df-shop) #app>.df-app-header .brand-type b{font-size:23px}body:has(.df-shop) #main{padding-top:16px}.df-shop .shop-store{padding-bottom:12px}.df-shop .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}.df-shop .shop-results-heading h1{font-size:23px}.df-shop .product-price strong{font-size:17px}.df-shop .product-info h3{font-size:14px}.product-sheet{width:100%;max-width:none;max-height:91dvh;margin:auto 0 0;border-radius:28px 28px 0 0;border-bottom:0}.product-sheet-art{height:235px}.product-sheet-art>img{max-height:187px}.product-sheet-info{padding:22px 22px 8px}.product-sheet-actions{padding-inline:22px}}
@media(max-width:360px){.df-shop .shop-offers{padding-inline:9px;gap:4px}.df-shop .shop-offers svg{display:none}.df-shop .shop-tools{gap:5px}.df-shop .product-grid{gap:22px 10px}.df-shop .product .quantity button{width:34px;min-width:34px}.df-shop .product .quantity span{min-width:20px}.df-shop .product-price strong{font-size:16px}.df-shop .product-price del{font-size:11px}.df-shop .shop-basket-dock{width:calc(100% - 32px);padding-inline:13px}}
@media(prefers-reduced-motion:reduce){.product-sheet::backdrop{backdrop-filter:none}}
@media(max-width:650px){body:has(.df-shop #search:focus) .df-tabbar,body:has(.df-shop #search:focus) .shop-basket-dock{display:none!important}}
