/* v0.23 — one renderer and stylesheet for live stores and the builder preview. */
.dvsf{--sf-accent:var(--dvmc-accent,#76aa3e);--sf-ink:var(--dvmc-ink,#22362d);--sf-muted:var(--dvmc-text,#64716a);--sf-surface:var(--dvmc-surface,#fff);--sf-soft:var(--dvmc-soft,#f5f7f3);--sf-line:var(--dvmc-line,#e0e5df);--sf-radius:var(--dvmc-ds-card-radius,18px);--sf-pad:var(--dvmc-ds-card-padding,24px);--sf-gap:var(--dvmc-ds-section-gap,28px);--sf-gutter:clamp(20px,4vw,76px);--sf-text-scale:var(--dvmc-ds-text-scale,1);--sf-body-size:calc(var(--dvmc-ds-base-size,16px)*var(--sf-text-scale));--sf-title-size:calc(var(--dvmc-ds-page-title-size,34px)*var(--sf-text-scale));--sf-heading-size:calc(var(--dvmc-ds-section-title-size,24px)*var(--sf-text-scale));margin:0!important;width:100%;max-width:none;background:var(--sf-surface);color:var(--sf-ink);font-family:var(--dvmc-text-font,system-ui,sans-serif);font-size:var(--sf-body-size);line-height:var(--dvmc-ds-line-height,1.65);border-radius:0;overflow:clip}
.dvsf *{box-sizing:border-box}.dvsf [hidden]{display:none!important}.dvsf h1,.dvsf h2,.dvsf h3,.dvsf h4{font-family:var(--dvmc-title-font,system-ui,sans-serif);color:var(--sf-ink);text-transform:none;letter-spacing:-.025em;font-weight:700;margin:0 0 .6em;line-height:1.18}.dvsf h1{font-size:clamp(calc(var(--sf-title-size)*1.067),3.6vw,calc(var(--sf-title-size)*2))}.dvsf h2{font-size:clamp(calc(var(--sf-heading-size)*1.3),2.5vw,calc(var(--sf-heading-size)*2))}.dvsf h3{font-size:clamp(var(--sf-heading-size),1.6vw,calc(var(--sf-heading-size)*1.35))}.dvsf p{margin:0 0 1em;color:var(--sf-muted);line-height:inherit;font-size:inherit}.dvsf a{color:inherit;text-decoration:none}.dvsf button,.dvsf input,.dvsf select{font:inherit;letter-spacing:normal;text-transform:none}.dvsf button{cursor:pointer;box-shadow:none}.dvsf :is(button,a,input,summary):focus-visible{outline:3px solid var(--sf-accent);outline-offset:3px}.dvsf img{display:block;max-width:100%;height:auto}.dvsf .dvsf-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:var(--dvmc-ds-control-height,48px);padding:13px 23px;border:1px solid var(--sf-accent);background:var(--sf-accent);color:var(--sf-on-accent,var(--dvmc-on-accent,#172e21));border-radius:var(--dvmc-ds-button-radius,10px);font-weight:700;line-height:1.4;white-space:normal}.dvsf-button:hover{filter:brightness(.96)}.dvsf .dvsf-link-button{display:inline-flex;align-items:center;gap:10px;border:0;background:none;color:var(--sf-accent);padding:9px 0;font-weight:650}.dvsf-eyebrow{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:750;color:var(--sf-accent);margin-bottom:12px}.dvsf-eyebrow:empty{display:none}
.dvsf-theme-heritage{--sf-on-accent:#fff;--sf-soft:#f8f4ec;--sf-accent:#8a6741}.dvsf-theme-peacock{--sf-on-accent:#fff;--sf-soft:#edf6f2;--sf-accent:#236957}.dvsf-theme-minimal{--sf-soft:#f8f8f6}
/* A full-width photograph and a generously sized, unambiguous brand identity. */
.dvsf-wide-banner{width:100%;overflow:hidden;background:var(--sf-soft)}.dvsf .dvsf-wide-banner .dvsf-banner{width:100%!important;max-width:none!important;aspect-ratio:16/5;height:auto!important;object-fit:cover!important;display:block;margin:0!important}
.dvsf-identity{position:relative;display:grid;grid-template-columns:clamp(84px,9vw,140px) minmax(0,1fr) auto;align-items:center;gap:clamp(20px,2.5vw,40px);padding:30px var(--sf-gutter) 38px;background:var(--sf-surface)}.dvsf-logo-frame{padding:12px;background:#fff;border:1px solid var(--sf-line);border-radius:20px;aspect-ratio:1;box-shadow:0 8px 30px #193c2110;display:grid;place-items:center;position:relative}.dvsf-welcome:has(.dvsf-wide-banner) .dvsf-logo-frame{margin-top:-56px;outline:7px solid var(--sf-surface)}.dvsf .dvsf-logo{width:100%!important;height:auto!important;aspect-ratio:1;object-fit:contain!important;border:0;box-shadow:none;margin:0!important}.dvsf-monogram{font:700 48px var(--dvmc-title-font,inherit);color:var(--sf-accent)}.dvsf-identity h1{margin:0}.dvsf-intro{margin-top:12px;font-size:clamp(14px,1.2vw,18px);max-width:980px}.dvsf-intro p:last-child{margin-bottom:0}.dvsf-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.dvsf-tags span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--sf-muted);font-weight:650}.dvsf-tags span+span:before{content:'·';margin-right:8px}
.dvsf-welcome-split{display:grid;grid-template-columns:1fr 1fr;background:var(--sf-soft)}.dvsf-welcome-split .dvsf-wide-banner{grid-column:2;grid-row:1;display:grid;align-items:center;padding:28px}.dvsf-welcome-split .dvsf-wide-banner img{border-radius:var(--sf-radius)}.dvsf-welcome-split .dvsf-identity{grid-column:1;grid-row:1;grid-template-columns:96px minmax(0,1fr);background:transparent;gap:24px;padding:44px var(--sf-gutter)}.dvsf-welcome-split .dvsf-identity>.dvsf-button{grid-column:1/-1;justify-self:start}.dvsf-welcome-split .dvsf-logo-frame{margin-top:0!important;outline:0!important}.dvsf-welcome-split .dvsf-welcome-carousel{grid-column:1/-1}
/* Manual carousels: no surprise autoplay or moving text while someone reads. */
.dvsf-welcome-carousel{position:relative;background:var(--sf-soft)}.dvsf-welcome-images{display:grid;grid-template-columns:1fr;align-items:center;overflow:hidden}.dvsf-welcome-images.is-pair{grid-template-columns:1fr 1fr;gap:8px;padding:8px}.dvsf-welcome-images img{width:100%;height:auto!important;max-height:600px;object-fit:contain;background:var(--sf-soft)}.dvsf-welcome-images.is-pair img{max-height:500px}.dvsf-slide-copy{padding:clamp(24px,3vw,48px) var(--sf-gutter);max-width:none;background:var(--sf-soft)}.dvsf-slide-copy h2{font-size:clamp(30px,3.5vw,54px)}.dvsf-slide-copy .dvsf-prose{max-width:1100px}.dvsf-hero-controls,.dvsf-carousel-controls{display:flex;align-items:center;gap:12px}.dvsf-hero-controls{justify-content:center;padding:16px;background:var(--sf-surface);border-top:1px solid var(--sf-line)}.dvsf-hero-controls>button,.dvsf-carousel-controls button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--sf-line);border-radius:50%;background:var(--sf-surface);color:var(--sf-ink);padding:0;font-size:20px}.dvsf-carousel-controls button:disabled{opacity:.3;cursor:default}.dvsf-carousel-controls [data-sf-position],.dvsf-hero-controls>span{font-size:11px;color:var(--sf-muted)}.dvsf-hero-dots{display:flex;gap:10px}.dvsf-hero-dots button{width:9px;min-width:9px;height:9px;min-height:9px;border:0;border-radius:50%;background:var(--sf-line);padding:0}.dvsf-hero-dots button[aria-pressed=true]{background:var(--sf-accent)}
/* The only horizontal strip of navigation; the content itself does not overflow. */
.dvsf-tabs{display:flex;align-items:center;gap:4px;padding:14px var(--sf-gutter);overflow-x:auto;scrollbar-width:thin;border-top:1px solid var(--sf-line);border-bottom:1px solid var(--sf-line);background:var(--sf-surface);scroll-margin-top:var(--sf-header-offset,0px)}.dvsf-tabs button{flex:0 0 auto;min-height:42px;padding:10px 18px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--sf-muted);font-size:15px;font-weight:650;line-height:1.4;white-space:nowrap}.dvsf-tabs button.is-active{color:var(--sf-accent);border-color:color-mix(in srgb,var(--sf-accent) 25%,var(--sf-line));background:color-mix(in srgb,var(--sf-accent) 8%,var(--sf-surface))}.dvsf-panels{padding:clamp(28px,4vw,64px) var(--sf-gutter)}.dvsf-section-heading,.dvsf-collection-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.dvsf-section-heading>div{min-width:0}.dvsf-section-heading p{max-width:none}.dvsf-collection-head h2{margin:0}.dvsf-collection{margin-bottom:calc(var(--sf-gap)*2)}.dvsf-collection:last-child{margin-bottom:0}
/* Connected text and photographs. Only the text body gets readable line spacing, not a narrow page box. */
.dvsf-content-block{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4.2vw,76px);margin-bottom:calc(var(--sf-gap)*2);overflow-wrap:anywhere}.dvsf-content-block:last-child{margin-bottom:0}.dvsf-content-block>.dvsf-content-copy{min-width:0}.dvsf-content-block>.dvsf-content-art{min-width:0}.dvsf-arrange-left .dvsf-content-art{grid-column:1;grid-row:1}.dvsf-arrange-left .dvsf-content-copy{grid-column:2;grid-row:1}.dvsf-arrange-right .dvsf-content-copy{grid-column:1;grid-row:1}.dvsf-arrange-right .dvsf-content-art{grid-column:2;grid-row:1}.dvsf-content-block:is(.dvsf-arrange-above,.dvsf-arrange-below,.dvsf-arrange-wide,.is-image-only,.is-text-only,.dvsf-content-faq){grid-template-columns:1fr;gap:24px}.dvsf-content-block.is-text-only .dvsf-content-copy{grid-column:1;grid-row:auto}.dvsf-content-block.is-image-only .dvsf-content-art{grid-column:1;grid-row:auto}.dvsf-arrange-above .dvsf-content-art{grid-row:1}.dvsf-arrange-below .dvsf-content-art{grid-row:2}.dvsf-tone-soft{padding:clamp(24px,3vw,44px);border-radius:var(--sf-radius);background:var(--sf-soft)}.dvsf-prose,.dvsf-reading{font-size:clamp(calc(var(--sf-body-size)*1.05),1.18vw,calc(var(--sf-body-size)*1.22));line-height:calc(var(--dvmc-ds-line-height,1.65)*1.1);color:var(--sf-muted);width:100%;max-width:none;overflow-wrap:anywhere}.dvsf-prose p{margin:0 0 1.15em}.dvsf-prose p:last-child{margin-bottom:0}.dvsf-prose :is(ul,ol){margin:16px 0;padding-left:1.5em;list-style:revert}.dvsf-prose li{margin:.5em 0}.dvsf-prose :is(h2,h3,h4){margin:1em 0 .5em}.dvsf-prose a{color:var(--sf-accent);text-decoration:underline;text-underline-offset:3px}.dvsf-prose blockquote{border-left:3px solid var(--sf-accent);padding:10px 24px;margin:24px 0;background:var(--sf-soft)}.dvsf-prose img{max-width:100%;height:auto}.dvsf-content-copy>.dvsf-button{margin-top:24px}.dvsf-faq{border:1px solid var(--sf-line);padding:22px 26px;border-radius:var(--sf-radius);width:100%}.dvsf-faq summary{font-size:20px;font-weight:700;cursor:pointer;color:var(--sf-ink)}.dvsf-faq[open]>.dvsf-prose{margin-top:18px}
/* Masonry collage keeps natural image ratios and vertical reading; never a sideways photo strip. */
.dvsf-collage-grid{columns:3;column-gap:var(--dvmc-ds-grid-gap,18px)}.dvsf-content-art .dvsf-collage-grid{columns:2}.dvsf-collage-grid:has(>.dvsf-photo:only-child){columns:1}.dvsf-photo{break-inside:avoid;margin:0 0 var(--dvmc-ds-grid-gap,18px);overflow:hidden;border-radius:var(--sf-radius);background:var(--sf-soft)}.dvsf-photo a{display:block}.dvsf .dvsf-photo img{display:block;width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;margin:0!important;border-radius:0;transition:filter .2s}.dvsf-photo a:hover img{filter:brightness(.96)}.dvsf-photo figcaption{padding:14px 18px;color:var(--sf-muted);font-size:13px;line-height:1.65}.dvsf-slide-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.dvsf-slide-track>.dvsf-photo{flex:0 0 100%;scroll-snap-align:start}.dvsf-photo-slides .dvsf-carousel-controls{justify-content:flex-end;margin-top:14px}
.dvsf-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--dvmc-ds-grid-gap,22px)}.dvsf-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--sf-line);border-radius:var(--sf-radius);background:var(--sf-surface);transition:box-shadow .2s,transform .2s}.dvsf-card:hover{box-shadow:0 12px 40px #16392112;transform:translateY(-3px)}.dvsf-card-image{display:block;background:var(--sf-soft)}.dvsf .dvsf-card-image img{width:100%!important;height:auto!important;aspect-ratio:var(--dvmc-image-ratio,1)!important;object-fit:contain!important}.dvsf-card-body{display:flex;flex-direction:column;padding:var(--sf-pad);flex:1;gap:8px}.dvsf-card h3{font-size:var(--sf-heading-size);line-height:1.4;margin:0}.dvsf-card-price{font-weight:700;color:var(--sf-ink);font-size:16px}.dvsf-card-cta{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px;border-top:1px solid var(--sf-line);font-size:12px;color:var(--sf-accent)!important}.dvsf-card-meta{font-size:12px!important}.dvsf-cards.is-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.dvsf-cards.is-carousel .dvsf-card{flex:0 0 calc((100% - 44px)/3);scroll-snap-align:start}.dvsf-product-slider>.dvsf-carousel-controls{justify-content:flex-end;margin-top:18px}.dvsf-empty{padding:24px;border:1px dashed var(--sf-line);border-radius:var(--sf-radius);background:var(--sf-soft);color:var(--sf-muted);width:100%}/* Shared collection search: sized by its own container, never by input intrinsic width. */
.dvsf .dvsf-section-heading{min-width:0;flex-wrap:wrap}
.dvsf .dvsf-section-heading>div{flex:1 1 280px;min-width:0;overflow-wrap:anywhere}
.dvsf .dvsf-section-heading>.dvsf-search{display:block;flex:0 1 320px;width:320px;min-width:0;max-width:100%;margin:0;padding:0}
.dvsf .dvsf-search input[type="search"]{display:block;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;height:var(--dvmc-ds-control-height,46px);border:1px solid var(--sf-line);border-radius:var(--dvmc-ds-control-radius,12px);padding:12px 16px;background:var(--sf-surface);color:var(--sf-ink);font:inherit}
@media(max-width:980px){.dvsf .dvsf-section-heading>.dvsf-search{flex:1 1 100%;width:100%;max-width:100%}}

.dvsf-review-section{padding:clamp(24px,4vw,58px);margin-top:calc(var(--sf-gap)*2);background:var(--sf-soft);border-radius:var(--sf-radius)}.dvsf-review-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px}.dvsf-review-card{flex:0 0 calc((100% - 40px)/3);scroll-snap-align:start;border:1px solid var(--sf-line);border-radius:var(--sf-radius);padding:var(--sf-pad);background:var(--sf-surface);display:flex;flex-direction:column;min-width:0}.dvsf-stars{letter-spacing:3px;color:var(--sf-accent);font-size:19px}.dvsf-review-card blockquote{border:0;margin:22px 0;padding:0;font-size:16px;line-height:1.8;color:var(--sf-ink)}.dvsf-review-card footer{margin-top:auto;padding-top:18px;border-top:1px solid var(--sf-line)}.dvsf-review-card footer strong,.dvsf-review-card footer span{display:block}.dvsf-review-card footer span{font-size:12px;color:var(--sf-muted);margin-top:6px}.dvsf-review-card details{margin-bottom:18px}.dvsf-review-card summary{cursor:pointer;font-size:12px;color:var(--sf-accent)}
.dvsf-contact-section{display:grid;grid-template-columns:1fr 1.5fr;gap:36px;margin-bottom:36px}.dvsf-contact-links{display:grid;grid-template-columns:1fr 1fr;gap:14px;min-width:0}.dvsf-contact-links>a{display:grid;grid-template-columns:1fr auto;gap:6px;padding:22px;border:1px solid var(--sf-line);border-radius:var(--sf-radius);overflow-wrap:anywhere}.dvsf-contact-links>a small{grid-column:1/-1;color:var(--sf-muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.dvsf-contact-links>a span{color:var(--sf-accent)}.dvsf-hours-block{margin-top:var(--sf-gap);padding:clamp(24px,3vw,44px);background:var(--sf-soft);border-radius:var(--sf-radius)}.dvsf-timezone{font-size:12px!important}.dvsf-open-status{padding:7px 12px;border-radius:999px;background:var(--sf-surface);font-size:12px}.dvsf-open-status.is-open{color:var(--sf-accent)}.dvsf-next-days{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.dvsf-next-days>div{padding:20px;background:var(--sf-surface);border:1px solid var(--sf-line);border-radius:14px}.dvsf-next-days strong,.dvsf-next-days span{display:block}.dvsf-next-days span{margin-top:8px;color:var(--sf-muted)}.dvsf-hours-expand{margin-top:20px}.dvsf-hours-expand summary{cursor:pointer;font-weight:650;color:var(--sf-accent)}.dvsf-week-list{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;margin-top:20px}.dvsf-week-list>div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--sf-line)}.dvsf-week-list span{text-align:right;color:var(--sf-muted)}.dvsf-hours-expand h3{margin-top:28px}.dvsf-learning-gateway{padding:clamp(28px,4vw,64px);border:1px solid var(--sf-line);border-radius:var(--sf-radius);background:var(--sf-soft)}.dvsf-learning-gateway>.dvsf-button{margin-top:14px}.dvsf-store-video{margin:40px 0}.dvsf-store-video iframe{max-width:100%;width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:var(--sf-radius)}.dvsf-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;padding:24px var(--sf-gutter);border-top:1px solid var(--sf-line);font-size:12px;color:var(--sf-muted)}
.dvsf-lightbox{width:min(94vw,1400px);max-width:94vw;max-height:94dvh;border:0;background:var(--sf-surface);padding:50px 18px 18px;border-radius:18px;color:var(--sf-ink)}.dvsf-lightbox::backdrop{background:#10251ce6}.dvsf-lightbox:not([open]){display:none}.dvsf-lightbox img{max-height:76dvh;width:100%;height:auto;object-fit:contain}.dvsf-lightbox>button{position:absolute;top:8px;right:10px;width:36px;height:36px;border:1px solid var(--sf-line);border-radius:50%;background:var(--sf-surface);color:var(--sf-ink);font-size:23px;padding:0}.dvsf-lightbox p{margin:14px 6px 0}
@media(max-width:980px){.dvsf-identity{grid-template-columns:90px 1fr}.dvsf-identity>.dvsf-button{grid-column:2;justify-self:start}.dvsf-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.dvsf-cards.is-carousel .dvsf-card,.dvsf-review-card{flex-basis:calc((100% - 20px)/2)}.dvsf-collage-grid{columns:2}.dvsf-contact-section{grid-template-columns:1fr}.dvsf-content-block{gap:28px}.dvsf-welcome-split{display:block}.dvsf-welcome-split .dvsf-identity{grid-template-columns:90px 1fr}.dvsf-welcome-split .dvsf-wide-banner{padding:0}}
@media(max-width:640px){.dvsf{--sf-gutter:20px}.dvsf-identity{grid-template-columns:70px minmax(0,1fr);gap:18px;padding-top:22px;padding-bottom:28px}.dvsf-logo-frame{border-radius:14px;padding:7px}.dvsf-welcome:has(.dvsf-wide-banner) .dvsf-logo-frame{margin-top:-30px;outline-width:4px}.dvsf-identity h1{font-size:calc(var(--sf-title-size)*1.067)}.dvsf-tags{margin-bottom:8px}.dvsf-tags span{font-size:9px}.dvsf-intro{font-size:14px}.dvsf-identity>.dvsf-button{grid-column:1/-1;justify-self:stretch}.dvsf-tabs{padding:10px 16px}.dvsf-tabs button{font-size:12px;padding:9px 14px}.dvsf-panels{padding-top:28px}.dvsf-section-heading,.dvsf-collection-head{align-items:flex-start;flex-wrap:wrap;gap:16px}.dvsf-content-block{grid-template-columns:1fr;gap:22px}.dvsf-content-block>.dvsf-content-copy,.dvsf-content-block>.dvsf-content-art{grid-column:1!important;grid-row:auto!important}.dvsf-arrange-left .dvsf-content-art,.dvsf-arrange-above .dvsf-content-art{grid-row:1!important}.dvsf-prose{font-size:calc(var(--sf-body-size)*1.07);line-height:calc(var(--dvmc-ds-line-height,1.65)*1.09)}.dvsf-collage-grid,.dvsf-content-art .dvsf-collage-grid{columns:2;column-gap:12px}.dvsf-photo{margin-bottom:12px;border-radius:12px}.dvsf-photo figcaption{padding:10px;font-size:11px}.dvsf-cards{grid-template-columns:1fr}.dvsf-cards.is-carousel .dvsf-card{flex-basis:87%}.dvsf-review-card{flex-basis:100%}.dvsf-review-section{padding:24px 18px}.dvsf-next-days,.dvsf-week-list,.dvsf-contact-links{grid-template-columns:1fr}.dvsf-next-days>div{display:flex;justify-content:space-between;gap:16px;padding:16px}.dvsf-next-days span{margin:0;text-align:right}.dvsf-hours-block{padding:22px 18px}.dvsf-welcome-images.is-pair{gap:4px;padding:4px}.dvsf-slide-copy{padding:24px 20px}.dvsf-search{width:100%}.dvsf-foot{font-size:11px}.dvsf-content-art .dvsf-collage-grid:has(>.dvsf-photo:only-child){columns:1}}
@media(prefers-reduced-motion:reduce){.dvsf *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* v0.24.3 — private store workspace shell, shared by learning, events and team access.
 * Dashboard's .dvmc-main deliberately has zero top padding beneath its own
 * toolbar. Private store pages have no such toolbar, so this component must
 * own its spacing regardless of stylesheet enqueue order. Do not change the
 * full-bleed public storefront or add spacing to the website header itself.
 */
.dvsf.dvsf-private{
 box-sizing:border-box;min-width:0;width:100%;max-width:1600px;
 margin:0 auto!important;overflow:visible;
 padding:clamp(24px,calc(var(--sf-pad)*1.5*var(--dvmc-ds-responsive-scale,1)),60px)
         clamp(18px,3vw,38px)
         clamp(24px,calc(var(--sf-gap)*1.5*var(--dvmc-ds-responsive-scale,1)),72px);
}
.dvsf.dvsf-private>.dvsf-private-head{
 display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
 column-gap:var(--dvmc-ds-grid-gap,18px);row-gap:calc(var(--dvmc-ds-field-gap,16px)/2);
 padding:0 0 var(--dvmc-ds-field-gap,16px);margin:0 0 var(--sf-gap);
 border-bottom:1px solid var(--sf-line);
 font-size:calc(var(--dvmc-ds-label-size,13px)*var(--sf-text-scale));
 line-height:var(--dvmc-ds-line-height,1.55);
}
.dvsf.dvsf-private>.dvsf-private-head>a{
 display:inline-flex;align-items:center;min-height:40px;min-width:0;max-width:100%;
 padding:8px 0;white-space:normal;overflow-wrap:anywhere;
}
.dvsf.dvsf-private>.dvsf-private-head>span{
 min-width:0;max-width:100%;color:var(--sf-muted);overflow-wrap:anywhere;
}
@media(max-width:640px){
 .dvsf.dvsf-private>.dvsf-private-head{flex-direction:column;align-items:flex-start}
}
.dvsf-private .dvmc-workspace-tabs{display:flex;overflow:auto;gap:6px;margin:20px 0 24px}.dvsf-private .dvmc-workspace-tabs a{white-space:nowrap;padding:10px 14px;border-radius:9px;background:var(--sf-soft)}.dvsf-private .dvmc-workspace-tabs a.is-active{background:var(--sf-accent);color:var(--dvmc-on-accent,#fff)}.dvsf-private .dvmc-panel{margin-bottom:var(--sf-gap)}.dvsf-private-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:26px}.dvsf-private-grid>article{padding:20px;border:1px solid var(--sf-line);border-radius:var(--sf-radius)}.dvsf-private-grid>article>div:first-child img{width:100%;max-height:180px;object-fit:contain;background:var(--sf-soft);border-radius:12px;margin-bottom:18px}.dvsf-private-grid h2{font-size:20px}.dvsf-private-links{display:flex;flex-direction:column;gap:8px;margin-top:18px}.dvsf-private-links a{padding:10px 12px;border-radius:8px;border:1px solid var(--sf-line);font-size:13px;color:var(--sf-accent)}
@media(max-width:980px){.dvsf-private-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.dvsf-private-grid{grid-template-columns:1fr}}
/* Scope full-bleed layout to the storefront route, never the marketplace header or other pages. */
body.dvmc-storefront-page .main-page-wrapper{padding:0!important;margin-top:0!important;background:transparent!important}
body.dvmc-storefront-page .main-page-wrapper>.container,body.dvmc-storefront-page .main-page-wrapper>.container-fluid,body.dvmc-storefront-page .main-page-wrapper>.container>.row,body.dvmc-storefront-page .content-layout-wrapper,body.dvmc-storefront-page .site-content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;flex-basis:100%!important}
body.dvmc-storefront-page .website-wrapper>.whb-header{margin-bottom:0!important}
body.dvmc-storefront-page .dvsf-fullwidth-host{max-width:none!important;width:100%!important;padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}

/* A small catalogue should feel intentional, not like an unfinished three-column row. */
.dvsf-cards.is-pair:not(.is-carousel){grid-template-columns:repeat(2,minmax(0,1fr))}
.dvsf-cards.is-single:not(.is-carousel){grid-template-columns:1fr}
.dvsf-cards.is-single .dvsf-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:stretch;flex-basis:100%}
.dvsf-cards.is-single .dvsf-card-image{min-width:0;display:flex;align-items:center}
.dvsf-cards.is-single .dvsf-card-image img{aspect-ratio:auto!important;max-height:420px;object-fit:contain!important}
.dvsf-cards.is-single .dvsf-card-body{justify-content:center;padding:clamp(24px,4vw,60px)}
.dvsf-cards.is-single .dvsf-card-cta{margin-top:24px}
@media(max-width:640px){.dvsf-cards.is-pair:not(.is-carousel){grid-template-columns:1fr}.dvsf-cards.is-single .dvsf-card{display:flex;flex-direction:column}.dvsf-cards.is-single .dvsf-card-body{padding:24px}}

.dvsf-content-collage:is(.dvsf-arrange-above,.dvsf-arrange-below,.dvsf-arrange-wide) .dvsf-collage-grid{columns:3}
.dvsf-cards.is-pair.is-carousel>.dvsf-card{flex-basis:calc((100% - 22px)/2)}
@media(max-width:980px){.dvsf-content-collage:is(.dvsf-arrange-above,.dvsf-arrange-below,.dvsf-arrange-wide) .dvsf-collage-grid{columns:2}}
@media(max-width:640px){.dvsf-cards.is-pair.is-carousel>.dvsf-card{flex-basis:87%}}
.dvsf-content-collage .dvsf-collage-grid:has(>.dvsf-photo:only-child){columns:1}

/* v0.28.2 — compact private-access links live at the end of Home. */
.dvsf-home-access{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:clamp(26px,4vw,52px);padding:16px 18px;border:1px solid var(--sf-line);border-radius:14px;background:color-mix(in srgb,var(--sf-accent) 4%,var(--sf-surface));font-size:13px}
.dvsf-home-access>span{color:var(--sf-muted);font-weight:600}.dvsf-home-access>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dvsf-home-access a{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--sf-accent) 28%,var(--sf-line));border-radius:999px;background:var(--sf-surface);color:var(--sf-accent);font-weight:700;white-space:nowrap}.dvsf-home-access a:hover{background:color-mix(in srgb,var(--sf-accent) 7%,var(--sf-surface))}
.sf-demo-welcome-slide .dvsf-welcome-images{min-height:260px}.sf-demo-welcome-slide .sf-demo-art{min-height:260px;border-radius:0}
@media(max-width:640px){.dvsf-home-access{align-items:flex-start;flex-direction:column}.dvsf-home-access>div{width:100%}.dvsf-home-access a{justify-content:center;flex:1 1 150px}}

/* v0.28.5 — per-section typography and optional image-height controls. */
.dvsf-content-block h2{
  font-family:var(--dvsf-block-heading-font,var(--dvmc-title-font,system-ui,sans-serif));
  font-size:var(--dvsf-block-heading-size,clamp(calc(var(--sf-heading-size)*1.3),2.5vw,calc(var(--sf-heading-size)*2)));
  font-weight:var(--dvsf-block-heading-weight,700);
  font-style:var(--dvsf-block-heading-style,normal);
  letter-spacing:var(--dvsf-block-heading-letter,-.025em);
}
.dvsf-content-block .dvsf-prose{
  font-family:var(--dvsf-block-body-font,var(--dvmc-text-font,system-ui,sans-serif));
  font-size:var(--dvsf-block-body-size,clamp(calc(var(--sf-body-size)*1.07),1.15vw,calc(var(--sf-body-size)*1.286)));
  font-weight:var(--dvsf-block-body-weight,400);
  line-height:var(--dvsf-block-body-line,calc(var(--dvmc-ds-line-height,1.65)*1.1));
  letter-spacing:var(--dvsf-block-body-letter,normal);
  word-spacing:var(--dvsf-block-body-word,normal);
}
.dvsf-content-block[style*="--dvsf-block-image-height"] .dvsf-content-art .dvsf-photo>a,
.dvsf-content-block[style*="--dvsf-block-image-height"] .dvsf-content-art>.dvsf-photo>a{
  display:block;height:var(--dvsf-block-image-height);overflow:hidden;border-radius:inherit;
}
.dvsf-content-block[style*="--dvsf-block-image-height"] .dvsf-content-art .dvsf-photo img{
  width:100%!important;height:100%!important;object-fit:cover!important;
}
.dvsf-content-block[style*="--dvsf-block-image-height"] .dvsf-photo-slides .dvsf-slide-track,
.dvsf-content-block[style*="--dvsf-block-image-height"] .dvsf-collage-grid{align-items:start}
@media(max-width:700px){
  .dvsf-content-block[style*="--dvsf-block-image-height"] .dvsf-content-art .dvsf-photo>a{height:min(var(--dvsf-block-image-height),70vh)}
}
.dvsf-content-block[style*="--dvsf-block-image-height"] .dvsf-content-art>.sf-demo-art,
.dvsf-content-block[style*="--dvsf-block-image-height"] .dvsf-content-art .sf-demo-art{height:var(--dvsf-block-image-height)!important;min-height:0!important}

/* v0.28.6 — compact Elementor-like storefront presentation controls. */
.dvsf-content-block[style*="--dvsf-block-background"]{background:var(--dvsf-block-background)}
.dvsf-content-block h2{color:var(--dvsf-block-heading,var(--sf-ink));line-height:var(--dvsf-block-heading-line,1.18);text-transform:var(--dvsf-block-heading-transform,none)}
.dvsf-content-block .dvsf-prose{color:var(--dvsf-block-body,var(--sf-muted));font-style:var(--dvsf-block-body-style,normal)}
.dvsf-content-block .dvsf-eyebrow,.dvsf-content-block .dvsf-prose a{color:var(--dvsf-block-accent,var(--sf-accent))}
.dvsf-content-block .dvsf-prose blockquote{border-left-color:var(--dvsf-block-accent,var(--sf-accent))}
.dvsf-section-radius-soft{border-radius:12px;padding:clamp(20px,2.5vw,34px)}
.dvsf-section-radius-rounded{border-radius:22px;padding:clamp(22px,3vw,40px)}
.dvsf-section-shadow-soft{box-shadow:0 10px 28px rgba(23,45,31,.08)}
.dvsf-section-shadow-strong{box-shadow:0 18px 48px rgba(23,45,31,.16)}
.dvsf-palette-warm,.dvsf-palette-sage,.dvsf-palette-forest,.dvsf-palette-dark,.dvsf-palette-mono,.dvsf-palette-custom{padding:clamp(22px,3vw,42px)}
.dvsf-content-block .dvsf-photo{border-radius:var(--dvsf-image-radius,var(--sf-radius));transition:transform .24s ease,box-shadow .24s ease,filter .24s ease}
.dvsf-content-block .dvsf-photo>a{overflow:hidden;border-radius:inherit}
.dvsf-content-block .dvsf-photo img{transition:transform .3s ease,filter .3s ease,opacity .3s ease!important;object-fit:var(--dvsf-block-image-fit,contain)!important;object-position:var(--dvsf-block-image-position,center)!important}
.dvsf-image-radius-none{--dvsf-image-radius:0px}.dvsf-image-radius-soft{--dvsf-image-radius:10px}.dvsf-image-radius-rounded{--dvsf-image-radius:22px}.dvsf-image-radius-circle{--dvsf-image-radius:999px}
.dvsf-image-hover-zoom .dvsf-photo:hover img{transform:scale(1.045)}
.dvsf-image-hover-lift .dvsf-photo:hover{transform:translateY(-5px);box-shadow:0 14px 34px rgba(20,42,28,.13)}
.dvsf-image-hover-soften .dvsf-photo:hover img{filter:brightness(1.04) saturate(.9)}
.dvsf-image-hover-darken .dvsf-photo:hover img{filter:brightness(.84)}
.dvsf-content-block[style*="--dvsf-block-image-height"] .dvsf-content-art .dvsf-photo img{object-fit:var(--dvsf-block-image-fit,cover)!important;object-position:var(--dvsf-block-image-position,center)!important}
.dvsf-button-style-inherit .dvsf-button{background:var(--dvsf-block-button-bg,var(--btn-accented-bgcolor,var(--wd-primary-color,var(--sf-accent))));border-color:var(--dvsf-block-button-bg,var(--btn-accented-bgcolor,var(--wd-primary-color,var(--sf-accent))));color:var(--dvsf-block-button-text,var(--btn-accented-color,#fff));border-radius:var(--btn-accented-brd-radius,var(--dvmc-ds-button-radius,999px))}
.dvsf-button-style-solid .dvsf-button{background:var(--dvsf-block-button-bg,var(--dvsf-block-accent,var(--sf-accent)));border-color:var(--dvsf-block-button-bg,var(--dvsf-block-accent,var(--sf-accent)));color:var(--dvsf-block-button-text,#fff)}
.dvsf-button-style-outline .dvsf-button{background:transparent;border-color:var(--dvsf-block-button-bg,var(--dvsf-block-accent,var(--sf-accent)));color:var(--dvsf-block-button-text,var(--dvsf-block-accent,var(--sf-accent)))}
.dvsf-button-style-link .dvsf-button{min-height:0;padding:4px 0;border:0;background:transparent;color:var(--dvsf-block-button-text,var(--dvsf-block-accent,var(--sf-accent)));border-radius:0}
.dvsf-button-radius-square .dvsf-button{border-radius:0!important}.dvsf-button-radius-soft .dvsf-button{border-radius:10px!important}.dvsf-button-radius-pill .dvsf-button{border-radius:999px!important}
.dvsf-photo-slides{--sf-carousel-per-view:var(--dvsf-carousel-desktop,1)}
.dvsf-photo-slides .dvsf-slide-track{gap:var(--dvsf-carousel-gap,20px)}
.dvsf-photo-slides .dvsf-slide-track>.dvsf-photo{flex:0 0 calc((100% - (var(--sf-carousel-per-view) - 1)*var(--dvsf-carousel-gap,20px))/var(--sf-carousel-per-view))}
.dvsf-carousel-dots{display:flex;align-items:center;justify-content:center;gap:7px;min-height:22px}
.dvsf-carousel-dots button{width:8px!important;height:8px!important;min-width:8px!important;min-height:8px!important;padding:0!important;border:0!important;border-radius:50%!important;background:var(--sf-line)!important}
.dvsf-carousel-dots button[aria-pressed=true]{background:var(--dvsf-block-accent,var(--sf-accent))!important}
@media(max-width:980px){.dvsf-photo-slides{--sf-carousel-per-view:var(--dvsf-carousel-tablet,1)}}
@media(max-width:640px){.dvsf-photo-slides{--sf-carousel-per-view:var(--dvsf-carousel-mobile,1)}}

/* v0.28.7 — two-level store navigation, subheadings and deliberate button placement. */
.dvsf-subtab-area{padding:9px var(--sf-gutter) 10px;border-bottom:1px solid var(--sf-line);background:color-mix(in srgb,var(--sf-accent) 3%,var(--sf-surface))}
.dvsf-subtab-area[hidden]{display:none!important}
.dvsf-subtabs{display:flex;align-items:center;gap:7px;overflow-x:auto;scrollbar-width:thin}
.dvsf-subtabs button{flex:0 0 auto;min-height:34px;padding:7px 13px;border:1px solid var(--sf-line);border-radius:9px;background:var(--sf-surface);color:var(--sf-muted);font-size:13px;font-weight:620;line-height:1.35;white-space:nowrap}
.dvsf-subtabs button:hover{border-color:color-mix(in srgb,var(--sf-accent) 34%,var(--sf-line));color:var(--sf-ink)}
.dvsf-subtabs button.is-active{border-color:color-mix(in srgb,var(--sf-accent) 45%,var(--sf-line));background:color-mix(in srgb,var(--sf-accent) 10%,var(--sf-surface));color:var(--sf-accent);font-weight:720}
.dvsf-content-block .dvsf-subheading{margin:-.2em 0 1.15em;color:var(--dvsf-block-subheading,var(--dvsf-block-body,var(--sf-muted)));font-family:var(--dvsf-block-subheading-font,var(--dvmc-text-font,system-ui,sans-serif));font-size:var(--dvsf-block-subheading-size,clamp(17px,1.45vw,22px));font-weight:var(--dvsf-block-subheading-weight,500);font-style:var(--dvsf-block-subheading-style,normal);line-height:var(--dvsf-block-subheading-line,1.5);letter-spacing:var(--dvsf-block-subheading-letter,normal);text-transform:var(--dvsf-block-subheading-transform,none)}
.dvsf-button-placement-before_text .dvsf-content-copy>.dvsf-button{margin-top:0;margin-bottom:24px}
.dvsf-button-placement-after_text .dvsf-content-copy>.dvsf-button{margin-top:24px;margin-bottom:0}
.dvsf-button-align-left .dvsf-content-copy>.dvsf-button{margin-left:0;margin-right:auto}
.dvsf-button-align-center .dvsf-content-copy>.dvsf-button{display:flex;width:max-content;max-width:100%;margin-left:auto;margin-right:auto}
.dvsf-button-align-right .dvsf-content-copy>.dvsf-button{display:flex;width:max-content;max-width:100%;margin-left:auto;margin-right:0}
.dvsf-button-align-stretch .dvsf-content-copy>.dvsf-button{display:flex;width:100%}
.dvsf-content-art{position:relative}
.dvsf-button-overlay{position:absolute;z-index:4;left:18px;right:auto;bottom:18px;display:flex;max-width:calc(100% - 36px);pointer-events:none}
.dvsf-button-overlay>.dvsf-button{pointer-events:auto;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.dvsf-button-overlay.is-center{left:50%;right:auto;transform:translateX(-50%);justify-content:center;width:max-content;max-width:calc(100% - 36px)}
.dvsf-button-overlay.is-right{left:auto;right:18px;justify-content:flex-end}
.dvsf-button-align-stretch .dvsf-button-overlay{left:18px;right:18px;width:auto;max-width:none;transform:none}
.dvsf-button-align-stretch .dvsf-button-overlay>.dvsf-button{width:100%}
.dvsf-section-button{grid-column:1/-1;display:flex;margin-top:-8px}
.dvsf-button-align-left .dvsf-section-button{justify-content:flex-start}.dvsf-button-align-center .dvsf-section-button{justify-content:center}.dvsf-button-align-right .dvsf-section-button{justify-content:flex-end}.dvsf-button-align-stretch .dvsf-section-button>.dvsf-button{width:100%}
.dvsf-content-faq>.dvsf-section-button{margin-top:0}
@media(max-width:640px){.dvsf-subtab-area{padding:8px 16px}.dvsf-subtabs button{font-size:12px;min-height:32px;padding:6px 11px}.dvsf-button-overlay{left:12px;bottom:12px;max-width:calc(100% - 24px)}.dvsf-button-overlay.is-right{right:12px}.dvsf-button-align-stretch .dvsf-button-overlay{left:12px;right:12px}.dvsf-section-button{margin-top:0}}
/* FAQ sections use the same button spacing and alignment language as story sections. */
.dvsf-faq>.dvsf-subheading{margin:12px 0 16px}
.dvsf-faq>.dvsf-content-art{margin-top:20px}
.dvsf-button-placement-before_text .dvsf-faq>.dvsf-button{margin:16px 0 22px}
.dvsf-button-placement-after_text .dvsf-faq>.dvsf-button{margin:20px 0 0}
.dvsf-button-align-left .dvsf-faq>.dvsf-button{display:flex;width:max-content;max-width:100%;margin-left:0;margin-right:auto}
.dvsf-button-align-center .dvsf-faq>.dvsf-button{display:flex;width:max-content;max-width:100%;margin-left:auto;margin-right:auto}
.dvsf-button-align-right .dvsf-faq>.dvsf-button{display:flex;width:max-content;max-width:100%;margin-left:auto;margin-right:0}
.dvsf-button-align-stretch .dvsf-faq>.dvsf-button{display:flex;width:100%}
