/* ZOBDABOOK — GEOMETRIC DESIGN SYSTEM V2 beta.2
   Presentational-only enhancement. Scoped exclusively to ZOBDABOOK module roots.
   8px rhythm | fluid layout | true RTL | readable covers | reduced motion.
   No header/footer theme globals, no product/query behavior changes.
*/
:is(.zdb-home,.zds-shop,.zbc-page,.zba-root,.zdc-contact,.zbp-page,.zda-archive,.zbf){
 --zdv-ink:#38271f;--zdv-coffee:#71513a;--zdv-caramel:#b58b65;
 --zdv-ivory:#f7f1e8;--zdv-surface:#fffcf8;--zdv-gold:#d9b889;
 --zdv-line:rgba(113,81,58,.19);--zdv-muted:#6a5d52;
 --zdv-ease:cubic-bezier(.22,1,.36,1);--zdv-content:1320px;
 --zdv-gap:clamp(12px,1.4vw,24px);--zdv-radius:clamp(14px,1.4vw,24px);
 --zdv-pad:clamp(16px,2.3vw,36px);
 --zdv-shadow:0 14px 42px rgba(56,39,31,.075);
 --zdv-shadow-hover:0 24px 54px rgba(56,39,31,.13);
 text-rendering:optimizeLegibility;overflow-wrap:break-word;
}
:is(.zdb-home,.zds-shop,.zbc-page,.zba-root,.zdc-contact,.zbp-page,.zda-archive,.zbf),
:is(.zdb-home,.zds-shop,.zbc-page,.zba-root,.zdc-contact,.zbp-page,.zda-archive,.zbf) *{box-sizing:border-box}
:is(.zdb-home,.zds-shop,.zbc-page,.zba-root,.zdc-contact,.zbp-page,.zda-archive,.zbf) :is(img,video){max-width:100%;}
:is(.zdb-home,.zds-shop,.zbc-page,.zba-root,.zdc-contact,.zbp-page,.zda-archive,.zbf) :is(h1,h2,h3,h4,p){overflow-wrap:anywhere}
:is(.zdb-home,.zds-shop,.zbc-page,.zba-root,.zdc-contact,.zbp-page,.zda-archive,.zbf) :is(a,button,input,select,textarea):focus-visible{outline:3px solid var(--zdv-caramel);outline-offset:3px}
:is(.zdb-home,.zds-shop,.zbc-page,.zba-root,.zdc-contact,.zbp-page,.zda-archive,.zbf) :is(button,[role=button],input[type=submit],a){-webkit-tap-highlight-color:rgba(181,139,101,.14)}
/* Common product/book image integrity: crop must never sacrifice the cover. */
.zds-shop .zds-card-media img,.zda-archive .zda-product img,.zbc-page .zbc-book img{object-fit:contain;object-position:center}
/* Establish calm and consistent typographic rhythm without overriding existing display hierarchy. */
.zds-shop :is(h1,h2,h3),.zda-archive :is(h1,h2,h3),.zbc-page :is(h1,h2,h3),.zdb-home :is(h1,h2,h3){text-wrap:balance}
/* Unified shop geometry */
.zds-shop{--zds-bg:var(--zdv-ivory);--zds-surface:var(--zdv-surface);--zds-ink:var(--zdv-ink);--zds-brown:var(--zdv-coffee);--zds-gold:var(--zdv-caramel);--zds-line:#e8d9c8;--zds-dim:var(--zdv-muted);--zds-deep:var(--zdv-ink)}
.zds-shop .zds-shell{width:min(var(--zdv-content),calc(100% - clamp(28px,5vw,80px)))}
.zds-shop .zds-grid{gap:var(--zdv-gap)}
.zds-shop .zds-card{border-radius:var(--zdv-radius);box-shadow:var(--zdv-shadow);transform:translateZ(0)}
.zds-shop .zds-card:hover{box-shadow:var(--zdv-shadow-hover)}
.zds-shop .zds-card-media{aspect-ratio:4/5;height:auto;min-height:0;padding:clamp(12px,2vw,24px)}
.zds-shop .zds-card-media img{width:100%;height:100%;max-height:100%;object-fit:contain}
.zds-shop .zds-card-body{gap:0;min-height:0}
.zds-shop .zds-card h3{min-height:0}
.zds-shop .zds-card-bottom{margin-top:auto}
.zds-shop .zds-toolbar{border-radius:var(--zdv-radius);box-shadow:var(--zdv-shadow)}
.zds-shop .zds-search-form input,.zds-shop .zds-sort-form select{min-width:0;width:100%;max-width:100%}
.zds-shop .zds-side-card{border-radius:var(--zdv-radius);box-shadow:var(--zdv-shadow)}
/* Per-module page widths: do not redefine WoodMart's overall content wrapper */
.zda-archive,.zbc-page,.zba-root,.zdc-contact,.zbp-page,.zdb-home{--zdv-radius:clamp(14px,1.4vw,24px)}
/* Avoid accidental overflow in CSS grids/flex areas */
:is(.zdb-home,.zds-shop,.zbc-page,.zba-root,.zdc-contact,.zbp-page,.zda-archive) :is(article,section,main,aside){min-width:0}
/* Motion: supported browsers only; motion never hides content when JS fails. */
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .zds-shop .zds-card,.zds-shop .zds-chip{transition:transform .3s var(--zdv-ease),box-shadow .3s var(--zdv-ease),border-color .3s ease}
}
@media(max-width:1024px){
 .zds-shop .zds-layout{grid-template-columns:1fr}
 .zds-shop .zds-side-card{position:static}
 .zds-shop .zds-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
 .zds-shop .zds-shell{width:calc(100% - 28px)}
 .zds-shop .zds-grid{gap:12px}
 .zds-shop .zds-card-media{aspect-ratio:4/5;height:auto;min-height:0;padding:12px}
 .zds-shop .zds-card-body{padding:12px}
 .zds-shop .zds-hero-inner{padding-inline:0}
 .zds-shop .zds-toolbar{position:relative;top:auto}
 .zds-shop .zds-side-card{position:static}
 .zds-shop .zds-card p{min-height:0}
}
@media(max-width:340px){.zds-shop .zds-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){
 :is(.zdb-home,.zds-shop,.zbc-page,.zba-root,.zdc-contact,.zbp-page,.zda-archive,.zbf) :is(*,*::before,*::after){animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
 .zds-shop .zds-can-reveal{opacity:1!important;transform:none!important}
}
