/* Dëshmia 3.4 — loaded after all Studio/identity/accent styles. */
body.ds-store{--dt-body:16px;--dt-nav:15px;--dt-heading:44px;--dt-card:23px;--dt-button:14px;--dt-label:14px;--dt-text:#29292d;--dt-title:#202023;--dt-nav_color:#34343a;--dt-muted:#64646b;font-size:var(--dt-body);color:var(--dt-text)}
/* Explicit row direction fixes the inherited base .gallery-thumbs column. */
body.ds-store .bl-product-page .gallery{display:flex;flex-direction:column;min-width:0;max-width:100%;gap:12px;top:var(--ds-header-height,160px)}
body.ds-store .bl-product-page .gallery-main{order:1;flex:none;width:100%;min-width:0}
body.ds-store .bl-product-page .gallery-thumbs{order:2;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:10px;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;padding:4px 3px 10px;scrollbar-width:thin;scrollbar-color:var(--da-accent,#b89c63) #f3f3f3;scroll-snap-type:x proximity}
body.ds-store .bl-product-page .gallery-thumbs>.gallery-thumb{display:grid;place-items:center;flex:0 0 70px;width:70px;height:76px;min-width:70px;max-width:70px;margin:0;scroll-snap-align:start;border:1px solid #deddd9;border-radius:9px;background:#fff;padding:5px;transition:border-color .15s,box-shadow .15s;cursor:pointer}
body.ds-store .bl-product-page .gallery-thumb img{display:block;width:100%;height:100%;object-fit:contain;padding:0}
body.ds-store .bl-product-page .gallery-thumb:is(.active,:focus-visible){border-color:var(--da-accent,#b89c63);box-shadow:0 0 0 1px var(--da-accent,#b89c63);outline:none}
body.ds-store .bl-product-page .gallery-thumb:hover{border-color:var(--da-accent,#b89c63)}
body.ds-store .product-card-image>img:not(.bl-gallery-layer){opacity:1}
body.ds-store .product-card-image{position:relative}
body.ds-store .dc-has-gallery{position:relative}
body.ds-store .dc-card-gallery-tools{position:absolute;left:12px;top:14px;display:flex;align-items:center;gap:1px;border:1px solid #dedbd4;border-radius:22px;z-index:5;background:#fffffff2;box-shadow:0 3px 12px #0000000c;padding:2px;opacity:0;visibility:hidden;transition:opacity .16s;pointer-events:none}
body.ds-store .dc-card-gallery-tools button{width:30px;height:30px;padding:0;border:0;border-radius:50%;background:transparent;font:25px/1 Arial,sans-serif;color:#343436;cursor:pointer;display:grid;place-items:center}
body.ds-store .dc-card-gallery-tools button:is(:hover,:focus-visible){background:var(--da-accent-soft,#f4f0e7);outline:2px solid var(--da-accent,#b89c63);outline-offset:-2px}
body.ds-store .dc-card-gallery-tools span{min-width:34px;text-align:center;font:600 11px/1.3 Arial,sans-serif;color:#4e4b45;font-variant-numeric:tabular-nums}
body.ds-store .dc-has-gallery:is(:hover,:focus-within) .dc-card-gallery-tools{opacity:1;visibility:visible;pointer-events:auto}
body.ds-store .dc-has-gallery .product-badge{top:57px}
/* Menus may wrap on desktop: no hidden categories and no clipping of dropdowns. */
body.ds-store .dc-navigation .dc-nav-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:0 24px;padding-block:3px;min-height:54px;overflow:visible}
body.ds-store .dc-navigation .nav-link{font-size:var(--dt-nav);color:var(--dt-nav_color);line-height:1.45;max-width:100%;white-space:normal;overflow-wrap:anywhere;padding:12px 0;min-height:46px}
body.ds-store .dc-navigation .nav-link.active,body.ds-store .dc-nav-panel a.active{color:var(--da-accent-text,#78613b)}
body.ds-store .dc-nav-category{position:relative;min-width:0;max-width:100%}
body.ds-store .dc-nav-category>summary{list-style:none;cursor:pointer;display:flex;gap:7px}
body.ds-store .dc-nav-category>summary::-webkit-details-marker{display:none}
body.ds-store .dc-nav-category>summary .icon{width:15px;height:15px;flex:none;transition:transform .2s}
body.ds-store .dc-nav-category[open]>summary .icon{transform:rotate(180deg)}
body.ds-store .dc-nav-panel{position:absolute;left:-15px;top:100%;z-index:75;width:310px;max-width:calc(100vw - 32px);padding:10px;border:1px solid #e3e0da;border-radius:0 0 14px 14px;background:#fff;box-shadow:0 18px 45px #15151920;color:var(--dt-nav_color)}
body.ds-store .dc-nav-panel ul{list-style:none;margin:0;padding:0;max-height:65vh;overflow:auto}
body.ds-store .dc-nav-panel a{display:flex;align-items:center;gap:14px;font-size:var(--dt-nav);line-height:1.5;padding:11px 12px;border-radius:7px;overflow-wrap:anywhere;color:var(--dt-nav_color)}
body.ds-store .dc-nav-panel li a{padding-left:calc(12px + var(--dc-level,0)*14px)}
body.ds-store .dc-nav-panel .icon{margin-left:auto;flex:none;width:16px;height:16px;color:var(--da-accent-text,#78613b)}
body.ds-store .dc-nav-panel a:is(:hover,:focus-visible){background:var(--da-accent-soft,#f5f2ec);color:var(--da-accent-text,#78613b);outline:none}
body.ds-store .dc-nav-panel .dc-nav-all{font-weight:650;border-bottom:1px solid #eeece8;border-radius:0;margin-bottom:5px}
body.ds-store .dc-nav-utilities{display:flex;gap:24px;margin-left:auto;flex-wrap:wrap}
/* Typography: scoped to customer UI, not order status colours or book artwork. */
body.ds-store main{color:var(--dt-text);font-size:var(--dt-body)}
body.ds-store .ds-search input{font-size:max(14px,var(--dt-label));color:var(--dt-text)}
body.ds-store .header-action,body.ds-store .ds-account-tabs>a,body.ds-store .bl-account-popover nav>a{font-size:var(--dt-button)}
body.ds-store main :is(.section-head h1,.bl-account-hero h1,.product-info h1,.bl-track-head h1){font-size:clamp(30px,4vw,var(--dt-heading));line-height:1.15;color:var(--dt-title)}
body.ds-store .ds-section-heading h2,body.ds-store .section-head h2{font-size:clamp(28px,3.5vw,var(--dt-heading));color:var(--dt-title)}
body.ds-store .product-card-title{font-size:var(--dt-card);color:var(--dt-title);min-height:calc(var(--dt-card)*2.5);height:auto;line-height:1.25}
body.ds-store :is(.btn,.ds-btn,.product-card-actions .btn,.product-buy .btn){font-size:var(--dt-button);height:auto;min-height:44px;line-height:1.45;white-space:normal}
body.ds-store .product-card-actions{grid-template-columns:minmax(0,1fr) 42px}
body.ds-store .product-card-actions .icon-button{height:44px;width:42px}
body.ds-store :is(.product-short,.rich-content,.rich-content p,.ds-hero-copy>p,.ds-editorial-copy>p,.account-layout p,.bl-order-card p,.bl-profile-section p){font-size:var(--dt-body);color:var(--dt-text)}
body.ds-store :is(.product-code,.product-card-category,.bl-filter-choice,.bl-filter-group>summary,.bl-catalog-toolbar p,.bl-catalog-toolbar label,.bl-catalog-toolbar select,.bl-filter-form>.btn,.bl-filter-title a,.field label,.form-group label,.variant-group-title,.variant-option,.bl-variant-label,.bl-delivery-estimate p,.bl-delivery-row,.ds-assurance small,.ds-assurance strong,.product-card .old-price,.product-card-body>.stock){font-size:var(--dt-label);line-height:1.5}
body.ds-store :is(.product-code,.ds-hero-copy>p,.ds-assurance small,.bl-catalog-toolbar p){color:var(--dt-muted)}
body.ds-store :is(.product-card-category,.variant-group-title){color:var(--dt-text)}
body.ds-store .product-card .price{font-size:calc(var(--dt-body) + 2px);color:var(--dt-title)}
body.ds-store .variant-option{min-width:0;min-height:54px;padding:8px 10px;white-space:normal}
body.ds-store .ds-footer :is(p,nav,.ds-social-link),body.ds-store .ds-footer h3{font-size:var(--dt-label)}
body.ds-store .ds-footer-bottom{font-size:max(11px,calc(var(--dt-label) - 1px))}
body.ds-store .ds-overline,body.ds-store .eyebrow{font-size:max(10px,calc(var(--dt-label) - 2px))}
body.ds-store main :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),textarea,select){font-size:var(--dt-body)}
@media(hover:none),(pointer:coarse){body.ds-store .dc-card-gallery-tools{opacity:1;visibility:visible;pointer-events:auto}}
@media(max-width:900px){body.ds-store .dc-navigation .dc-nav-row{gap:0 18px}body.ds-store .dc-nav-utilities{margin-left:0}body.ds-store .product-detail{gap:25px}body.ds-store .bl-product-page .gallery{position:static}}
@media(max-width:640px){
 body.ds-store .dc-navigation:not(.open){display:none}
 body.ds-store .dc-navigation.open{display:block;max-height:calc(100svh - 150px);overflow-y:auto}
 body.ds-store .dc-navigation .dc-nav-row{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-block:8px}
 body.ds-store .dc-nav-category{width:100%}
 body.ds-store .dc-navigation .nav-link{justify-content:space-between;font-size:var(--dt-nav);padding:12px 6px;border-bottom:1px solid #efede9;min-height:47px}
 body.ds-store .dc-nav-panel{position:static;width:100%;max-width:100%;box-shadow:none;border:0;border-left:2px solid var(--da-accent,#b89c63);border-radius:0;padding:5px 3px;background:#faf9f7}
 body.ds-store .dc-nav-panel ul{max-height:none}
 body.ds-store .dc-nav-panel a{font-size:var(--dt-nav)}
 body.ds-store .dc-nav-utilities{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;margin:0}
 body.ds-store .bl-product-page .gallery-thumbs{order:2;flex-direction:row;gap:8px}
 body.ds-store .bl-product-page .gallery-thumbs>.gallery-thumb{flex-basis:57px;min-width:57px;max-width:57px;width:57px;height:62px}
 body.ds-store .product-card-body{padding:15px 11px}
 body.ds-store .product-card-title{font-size:max(18px,calc(var(--dt-card) - 3px));min-height:calc((var(--dt-card) - 3px)*2.5)}
 body.ds-store .product-card-actions{grid-template-columns:1fr}
 body.ds-store .product-card-actions>.icon-button{display:none}
 body.ds-store .product-card-actions .btn{font-size:max(12px,calc(var(--dt-button) - 1px));padding:8px 6px}
 body.ds-store .dc-card-gallery-tools{left:8px;top:47px}
 body.ds-store .dc-has-gallery .product-badge{top:88px;left:8px}
 body.ds-store .dc-card-gallery-tools button{width:28px;height:30px}
 body.ds-store .dc-card-gallery-tools span{font-size:10px;min-width:32px}
 body.ds-store .variant-option{font-size:var(--dt-label)}
 body.ds-store .ds-search input,body.ds-store main :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),textarea,select){font-size:max(16px,var(--dt-body))}
}
@media(prefers-reduced-motion:reduce){.dc-card-gallery-tools,.dc-nav-category>summary .icon{transition:none!important}}
body.ds-store .dc-gallery-error{order:3;font-size:13px;color:#7c5628;background:#fff7e9;border:1px solid #e8d8ba;padding:10px 12px;border-radius:8px;margin:0}
