/* Native rendering of the existing shop hero, quality seals and shipping blocks. */
#main-content.vz-shop-catalog { padding-top: 0; padding-bottom: 0; }
.vz-shop-hero { position:relative; isolation:isolate; overflow:hidden; min-height:100svh; display:flex; align-items:center; padding:150px 0 100px; background:#1b0100; }
.vz-shop-hero-media { position:absolute; z-index:-1; inset:0; background-size:cover; background-position:center; }
.vz-shop-hero-inner { width:90%; margin:auto; }
.vz-shop-hero-copy { width:775px; max-width:100%; margin:0; }
.vz-shop-hero .vz-hero-eyebrow { display:inline; color:#fff; font:400 14px/1.5 "Decimal Mono Pro",monospace; letter-spacing:2px; text-decoration:underline; text-underline-offset:5px; padding:0; }
.vz-shop-hero h1 { color:#fff; font:400 clamp(36px,9vw,84px)/.9 "Abril Fatface",serif; letter-spacing:3px; margin:28px 0 34px; padding:0; }
.vz-hero-actions { display:flex; justify-content:space-between; align-items:center; gap:18px; }
body.post-type-archive-product .vz-hero-actions { max-width:651px; }
.vz-shop-hero .vz-editorial-button { color:#fff; outline-color:#fff; padding:3px 19px; }
#vz-shop-products { scroll-margin-top:130px; }
.vz-shop-catalog > .vz-catalog-layout { margin-bottom: 76px; }
.vz-shop-quality { background: linear-gradient(154deg,#334549 33%,#1c2a2d 97%); color: #fff; padding: 76px 0; text-align: center; }
.vz-shop-quality > header { width: 80%; max-width: 1080px; margin: 25px auto 40px; }
.vz-shop-quality h2 { color: #fff; font: 400 47px/1.2 Infamous,sans-serif; padding: 0; margin: 0 0 25px; }
.vz-shop-quality p { font: 400 14px/1.5 "Decimal Mono Pro",monospace; max-width: 918px; margin: auto; padding: 0; }
/* Keep the capped cards centered when the row is wider than their combined widths. */
.vz-shop-quality-grid { width: 84%; display: flex; justify-content: center; align-items: stretch; gap: 5.5%; margin: 0 auto 40px; }
.vz-quality-motion { flex:1 1 0; min-width:0; max-width:455px; }
.vz-shop-quality-card { width:100%; height:100%; min-width:0; display: flex; flex-direction: column; align-items: center; padding: 50px 34px 98px; border-radius: 30px; background-color:#f6eee0; background-repeat:no-repeat; background-position:left bottom; box-shadow: 4px 4px 9px rgba(0,0,0,.3); transition: transform .2s ease; }
.vz-shop-quality-card:hover { transform: translateY(-10px); }
.vz-shop-quality-card img { height: auto; object-fit: contain; }
.vz-quality-name { width: 65%; margin-bottom: 25px; }
.vz-quality-seal { width: 75%; }
.vz-editorial-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 8px 22px; border-radius: 6px; background: #bfa588; color: #fff; font: 400 18.4px/1.7 "Decimal Mono Pro",monospace; text-align: center; outline: 1px solid #bfa588; outline-offset: 4px; transition: outline-offset .2s ease; }
.vz-editorial-button:hover,.vz-editorial-button:focus-visible { outline-offset: 7px; color: #fff; }
.vz-editorial-button::after { content: ''; width: 7px; height: 7px; border-right: 2px solid currentColor; border-top: 2px solid currentColor; transform: rotate(45deg); max-width: 0; opacity: 0; transition: opacity .2s ease,max-width .2s ease; }
.vz-editorial-button:hover::after,.vz-editorial-button:focus-visible::after { max-width: 7px; opacity: 1; }
.vz-shop-shipping { position:relative; isolation:isolate; overflow:hidden; padding:115px 0; color:#fff; background:#172e24; text-align:center; }
.vz-shipping-picture { position:absolute; z-index:-1; inset:0; background-size:cover; background-position:center; }
.vz-shop-shipping-inner { width: 90%; margin: auto; display: grid; grid-template-columns: 3fr 2fr; gap: 5.5%; }
.vz-shop-shipping-inner > div { grid-column: 2; padding-top: 60px; }
.vz-shop-shipping p { max-width: 477px; margin: 0 auto 15px; padding: 0; font: 400 14px/1.4 "Decimal Mono Pro",monospace; }
.vz-shop-shipping h2 { width: 100%; max-width: 451px; margin: auto; padding: 0; font: 400 39px/1.1 Infamous,sans-serif; color: #fff; }
.vz-shop-shipping .vz-editorial-button { margin-top: 31px; }
@media (max-width: 1299px) and (min-width: 981px) { .vz-shop-quality-grid { width: 100%; } }
@media (max-width: 980px) {
 .vz-shop-hero { min-height:85svh; padding:140px 0 90px; }
 .vz-shop-hero-inner { width:88%; }
 .vz-shop-hero-copy { width:100%; margin:0; }
 .vz-shop-hero h1 { font-size:clamp(36px,8.5vw,70px); line-height:1.05; letter-spacing:1px; margin:24px 0 30px; }
 .vz-shop-hero .vz-hero-eyebrow { font-size:14px; }
 .vz-hero-actions { flex-wrap:wrap; gap:28px; }
 .vz-shop-quality { padding: 100px 0 50px; }
 .vz-shop-quality h2 { font-size: 42px; }
 .vz-shop-quality-grid { display: flex; flex-direction: column; align-items: center; gap: 30px; }
 .vz-quality-motion { width:100%; }
 .vz-shop-shipping { display:flex; flex-direction:column; padding:0; }
 .vz-shop-shipping-inner { display:block; order:0; padding:55px 12px 40px; }
 .vz-shop-shipping-inner > div { padding-top:0; }
 .vz-shipping-picture { position:relative; z-index:0; inset:auto; order:1; width:100%; height:clamp(260px,55vw,430px); background-position:30% center; }
 .vz-shop-shipping p { font-size:14px; }
 .vz-shop-shipping .vz-editorial-button { margin-top:26px; }
 .vz-shop-shipping h2 { font-size: 31px; }
}
@media (prefers-reduced-motion:reduce) { .vz-shop-quality-card,.vz-editorial-button,.vz-editorial-button::after { transition: none; } }

/* Home reference: Divi slide intensity 50 => 100%, right intensity 20 => 40%. */
.vz-motion-ready [data-vz-reveal]:not(.is-visible) > .vz-shop-quality-card,
.vz-motion-ready [data-vz-reveal]:not(.is-visible) > h2 { opacity:0; }
.vz-motion-ready [data-vz-reveal="bottom"].is-visible > .vz-shop-quality-card { animation:vz-quality-enter 1000ms ease-out var(--vz-delay,0ms) backwards; }
.vz-motion-ready [data-vz-reveal="right"].is-visible > h2 { animation:vz-shipping-enter 1000ms ease-out backwards; }
@keyframes vz-quality-enter { from { opacity:0; transform:translate3d(0,100%,0); } to { opacity:1; transform:translate3d(0,0,0); } }
@keyframes vz-shipping-enter { from { opacity:0; transform:translate3d(40%,0,0); } to { opacity:1; transform:translate3d(0,0,0); } }
@media(prefers-reduced-motion:reduce) {
 .vz-motion-ready [data-vz-reveal] > .vz-shop-quality-card,.vz-motion-ready [data-vz-reveal] > h2 { animation:none!important; opacity:1!important; }
 .vz-shop-hero-media { transform:none!important; }
}

.vz-shop-hero .vz-hero-description { max-width:620px; color:#fff; font:400 14px/1.7 "Decimal Mono Pro",monospace; margin:0 0 28px; padding:0; }
