/* KITTAIL (templates2 10-19, Master: overlays/newbases/product_shop was near its size cap): the last 36 rule blocks of app.css, moved here verbatim and linked right after app.css, so the cascade order is unchanged. A FIXED vendor file. */
.prod .btn-secondary:hover:not(:disabled){background:var(--accent);color:var(--on-accent)}
.field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--s-3)}
.empty{display:grid;gap:var(--s-2);justify-items:start;padding-block:var(--s-4)}
.empty .empty-h,.sum .tot{font:500 1.5rem/1.3 var(--serif);color:var(--ink)}
.cart{position:fixed;z-index:40;top:0;right:0;bottom:0;width:min(420px,100vw);display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-5);background:var(--surface);box-shadow:var(--shadow-pop);transform:translateX(104%);visibility:hidden;transition:transform var(--dur-3) var(--ease),visibility 0s linear var(--dur-3);overflow:auto}
.cart.open{transform:none;visibility:visible;transition:transform var(--dur-3) var(--ease)}
.cart:focus{outline:none}
.carthead{display:flex;justify-content:space-between;align-items:center}
.cart h2{font-size:2rem}
.scrim{position:fixed;z-index:30;inset:0;background:var(--scrim)}
.lines li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-1) var(--s-3);padding-block:var(--s-3);border-bottom:1px solid var(--line)}
.ln{font-weight:600;overflow-wrap:anywhere}
.step{display:inline-flex;justify-self:start;align-items:center;border:1px solid var(--edge);border-radius:var(--r-pill)}
.step button{width:44px;min-height:44px;border:0;background:none;color:var(--ink);font:600 var(--t-lg)/1 var(--sans);cursor:pointer}
.step button:disabled{opacity:.45}
.step output{min-width:2ch;text-align:center}
.sum{display:grid;grid-template-columns:1fr auto;gap:var(--s-1) 0;margin:0}
.sum dt{color:var(--ink-2)}.sum dd{margin:0;padding-left:var(--s-3);text-align:right}
.sum .tot{padding-top:var(--s-2);border-top:1px solid var(--line)}
.co,.fields{display:grid;gap:var(--s-3)}
dialog[open]{width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto}
.acts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--line)}
.toasts{z-index:60}
.toast{margin:0;font-size:var(--t-sm)}
.hero .arch img{box-shadow:0 30px 60px -24px #0005}
html[data-l-fs=story] .arch img{max-height:56vh}
h2{text-wrap:balance}
.occs .occ b{font-size:min(1.7rem,5.6vw);hyphens:auto}
html[lang]:root :is(h1,h2) em{font-style:italic}
.hero:not(.has-ks){background:var(--sunk-0)}
.hero .badge{rotate:-4deg;font:italic 1.3rem/1.1 var(--serif)}
html:is([data-l-type],[data-l-head=caps])[lang] :is(h1,h2,h3){font-family:var(--serif);font-weight:500;text-transform:none;letter-spacing:-.01em}
html:is([data-l-fs=story],[data-l-fs=catalogue],[data-l-fs=minimal])[lang] .hero .herotext h1{font-size:clamp(2rem,1rem + 3.6vw,4rem);line-height:1.04;max-width:20ch;text-wrap:balance}
html:is([data-l-fs=story],[data-l-fs=catalogue],[data-l-fs=type]) .herotext{margin-bottom:var(--s-6)}
@media (min-width:900px){html[data-l-fs=story] .herotext{grid-template-columns:1fr auto;align-items:end}html[data-l-fs=story] .heroacts{grid-area:1/2/3}}
