/* GENZ v2.0 — storefront templates; scoped to avoid overriding active theme chrome. */
.genz-store{--genz-page-ink:var(--genz-ink,#171512);--genz-page-cream:var(--genz-cream,#f7f4ef);--genz-page-accent:var(--genz-accent,#ad7752);--genz-page-muted:var(--genz-muted,#6e685f);--genz-page-line:var(--genz-line,#e5ddd2);--genz-page-radius:var(--genz-radius,24px);color:var(--genz-page-ink);background:var(--genz-page-cream);padding:45px 0 110px;font-family:Inter,Arial,sans-serif;min-height:65vh}
.genz-store *, .genz-store *:before,.genz-store *:after{box-sizing:border-box}
.genz-store-container{max-width:var(--genz-site-width,1320px);margin:auto;padding:0 28px}
.genz-store h1,.genz-store h2{font-family:'Cormorant Garamond',Georgia,serif;color:var(--genz-page-ink);font-weight:600;letter-spacing:-.045em;line-height:1.05;margin:0}
.genz-store h1{font-size:clamp(54px,7vw,94px)}.genz-store h2{font-size:clamp(40px,4vw,64px)}.genz-store h1 em,.genz-store h2 em{font-weight:500;color:var(--genz-page-accent)}
.genz-store h3{color:var(--genz-page-ink);letter-spacing:-.025em;margin:0 0 10px;font-size:17px}
.genz-store p{color:var(--genz-page-muted);line-height:1.7;margin:8px 0 20px}
.genz-store-eyebrow{display:block;text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:800;color:var(--genz-page-accent);margin-bottom:18px}
.genz-store a{text-decoration:none}.genz-store button,.genz-store select,.genz-store input{font-family:Inter,Arial,sans-serif}
.genz-store-btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:1px solid var(--genz-page-ink);border-radius:100px;padding:14px 23px;min-height:49px;font-size:11px!important;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:normal;text-align:center;cursor:pointer;transition:background .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease}
.genz-store-btn:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(23,21,18,.11)}
.genz-store-btn-primary{color:#fff!important;background:var(--genz-page-ink)!important;border-color:var(--genz-page-ink)!important}
.genz-store-btn-primary:hover{background:#38312b!important}
.genz-store-btn-outline{color:var(--genz-page-ink)!important;background:transparent!important;border-color:var(--genz-page-line)!important}
.genz-store-btn-muted{background:#eee8df;color:var(--genz-page-ink)}
.genz-shop-hero{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:linear-gradient(115deg,#e7ddd1,#e8cdb9);border-radius:30px;min-height:465px;box-shadow:0 18px 40px #2820170b}
.genz-shop-hero>div:first-child{padding:clamp(35px,5vw,70px);align-self:center}.genz-shop-hero p{max-width:490px;font-size:15px;margin:22px 0 29px}
.genz-shop-hero-image{min-height:340px;overflow:hidden;background:#e6d8ca}.genz-shop-hero-image img{width:100%;height:100%;object-fit:contain;object-position:center;padding:10px;filter:drop-shadow(0 20px 30px #5c403020)}
.genz-shop-list-header{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:92px 0 30px}.genz-shop-list-header p{max-width:380px;font-size:13px}
.genz-shop-tools{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}.genz-shop-tools input,.genz-shop-tools select{min-height:50px;background:#fff;border:1px solid var(--genz-page-line);border-radius:30px;padding:10px 17px;color:var(--genz-page-ink)}.genz-shop-tools input{min-width:220px;flex:1}
.genz-shop-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.genz-product-tile{background:#fff;border:1px solid #eae4dc;border-radius:var(--genz-page-radius);padding:14px;overflow:hidden;box-shadow:0 12px 32px #2b20100a;transition:transform .3s ease,box-shadow .3s ease}.genz-product-tile:hover{transform:translateY(-5px);box-shadow:0 20px 44px #2b201018}
.genz-product-tile-img{display:grid;place-items:center;border-radius:calc(var(--genz-page-radius) - 7px);background:#efe6dc;aspect-ratio:4/4.6;overflow:hidden}.genz-product-tile-img img{height:100%;width:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.genz-product-tile:hover img{transform:scale(1.045)}
.genz-product-tile-info{padding:18px 9px 9px}.genz-product-tile .genz-store-eyebrow{font-size:9px;margin:0 0 12px}.genz-product-tile h3{font-size:20px;line-height:1.35}.genz-product-tile-price{font-weight:800;margin:10px 0 20px;font-size:17px}.genz-product-tile-price del{color:#aca399;font-size:13px;margin-right:8px}.genz-product-tile-info .genz-store-btn{width:100%}.genz-shop-pages{display:flex;justify-content:center;gap:14px;padding:34px}.genz-shop-pages .page-numbers{padding:9px 14px;background:#fff;border-radius:12px}.genz-shop-pages .current{background:var(--genz-page-ink);color:#fff}
.genz-cart-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:44px}.genz-cart-heading p{margin:12px 0 0}
.genz-cart-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(305px,.5fr);gap:30px;align-items:start}
.genz-cart-main,.genz-cart-summary,.genz-checkout-editable,.genz-checkout-woocommerce{background:#fff;border:1px solid #eae3dc;border-radius:var(--genz-page-radius);box-shadow:0 18px 38px #2b20100a;padding:clamp(18px,2.8vw,34px)}
.genz-cart-summary{position:sticky;top:110px}.genz-cart-summary h2{font-size:39px;margin-bottom:17px}
.genz-items{display:grid;gap:12px}.genz-item{display:grid;grid-template-columns:125px minmax(0,1fr);gap:24px;padding:20px 0;border-bottom:1px solid #eee7df}.genz-item:first-child{padding-top:0}.genz-item:last-child{border-bottom:0;padding-bottom:0}
.genz-item-photo{border-radius:15px;background:#f0e8de;align-self:start;overflow:hidden}.genz-item-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain}
.genz-item-top{display:flex;justify-content:space-between;align-items:start;gap:18px}.genz-item-top strong{white-space:nowrap;font-size:14px}.genz-item-top h3{font-size:17px;margin:4px 0 6px}.genz-item-attributes{font-size:12px;color:var(--genz-page-muted)}.genz-item-attributes dl{margin:8px 0;display:flex;flex-wrap:wrap;gap:7px}.genz-item-attributes dt,.genz-item-attributes dd{display:inline;margin:0}.genz-item-attributes dd:after{content:'  '}
.genz-small-label{display:block;font-weight:700;font-size:11px;letter-spacing:.08em;color:var(--genz-page-muted);margin:12px 0 7px}.genz-item-variant{max-width:330px;width:100%;min-height:39px;padding:5px 13px;border:1px solid var(--genz-page-line);background:#fff;border-radius:12px}
.genz-item-bottom{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:15px}.genz-quantity{display:inline-flex;align-items:center;background:#f9f7f4;border:1px solid var(--genz-page-line);height:42px;border-radius:999px;overflow:hidden}.genz-quantity button{background:transparent;border:0;width:38px;height:100%;color:var(--genz-page-ink);font-size:19px}.genz-quantity input{border:0;background:transparent;width:42px;text-align:center;font-weight:800;appearance:textfield;-moz-appearance:textfield}.genz-quantity input::-webkit-inner-spin-button{appearance:none}
.genz-remove-item{border:0;background:none;color:#79503c;text-decoration:underline;font-size:12px;padding:7px 5px}.genz-item-feedback{font-size:11px;color:#815031;flex-basis:100%}
.genz-cart-summary .cart_totals{width:100%!important;float:none!important}.genz-cart-summary table{width:100%;border-collapse:collapse;font-size:13px}.genz-cart-summary th,.genz-cart-summary td{border-bottom:1px solid var(--genz-page-line);padding:13px 3px;text-align:left}.genz-cart-summary td{text-align:right}.genz-cart-summary .wc-proceed-to-checkout a{border-radius:100px!important;background:var(--genz-page-ink)!important;color:#fff!important;text-align:center;font-size:13px;display:block;padding:16px 20px}
.genz-checkout-editable{margin-bottom:26px}.genz-checkout-woocommerce .genz-store-eyebrow{margin-bottom:24px}.genz-checkout-woocommerce .woocommerce{width:100%;max-width:none!important}.genz-checkout-woocommerce form.checkout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:32px;align-items:start}.genz-checkout-woocommerce #customer_details{width:100%;float:none!important;grid-column:1}.genz-checkout-woocommerce #order_review_heading{grid-column:2;margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-size:32px}.genz-checkout-woocommerce #order_review{grid-column:2;width:100%;float:none!important}.genz-checkout-woocommerce #customer_details .col-1,.genz-checkout-woocommerce #customer_details .col-2{width:100%;float:none;padding:0;max-width:100%}.genz-checkout-woocommerce .form-row{width:100%;max-width:none;margin-bottom:15px}.genz-checkout-woocommerce .input-text,.genz-checkout-woocommerce select{width:100%;background:#faf8f5;border:1px solid var(--genz-page-line);min-height:48px;border-radius:12px;padding:11px}.genz-checkout-woocommerce label{display:block;margin-bottom:7px;font-size:12px;font-weight:700}
.genz-checkout-woocommerce #payment{background:#f8f5f1!important;border-radius:18px}.genz-checkout-woocommerce #place_order{border-radius:100px!important;background:var(--genz-page-ink)!important;color:#fff!important;padding:17px 23px!important;width:100%;min-height:52px}.genz-checkout-woocommerce .woocommerce-checkout-review-order-table{width:100%}.genz-checkout-woocommerce .woocommerce-checkout-review-order-table td,.genz-checkout-woocommerce .woocommerce-checkout-review-order-table th{padding:10px 5px}
.genz-empty-bag{text-align:center;padding:60px 15px}.genz-empty-bag h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:36px}
.genz-modal-overlay[hidden]{display:none!important}.genz-modal-overlay{position:fixed;z-index:99999;inset:0;background:#16130fc7;display:grid;place-items:center;padding:20px;overflow:auto}.genz-dialog-open{overflow:hidden}.genz-quick-modal{width:min(560px,100%);max-height:92vh;overflow:auto;position:relative;border-radius:26px;background:#fff;padding:35px;box-shadow:0 30px 80px #0003}.genz-quick-modal h2{font-size:38px;margin-bottom:24px;font-family:'Cormorant Garamond',Georgia,serif}.genz-modal-close{position:absolute;right:22px;top:16px;border:0;background:#f1ece5;border-radius:50%;width:36px;height:36px;font-size:23px}.genz-option-line{display:block;font-size:13px;font-weight:700;text-transform:capitalize;margin:18px 0}.genz-option-line select{display:block;margin-top:8px;width:100%;border:1px solid #ddd2c4;border-radius:12px;background:#f9f7f4;padding:14px}#genz-quick-message{color:#805037;font-size:12px}
@media(max-width:1000px){.genz-shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.genz-cart-columns{grid-template-columns:1fr}.genz-cart-summary{position:static}.genz-checkout-woocommerce form.checkout{grid-template-columns:1fr}.genz-checkout-woocommerce #customer_details,.genz-checkout-woocommerce #order_review_heading,.genz-checkout-woocommerce #order_review{grid-column:1}}
@media(max-width:700px){.genz-store{padding:24px 0 70px}.genz-store-container{padding:0 16px}.genz-shop-hero{grid-template-columns:1fr;border-radius:22px}.genz-shop-hero>div:first-child{padding:30px}.genz-shop-hero-image{min-height:270px;height:320px}.genz-shop-list-header,.genz-cart-heading{display:block}.genz-shop-list-header{padding-top:60px}.genz-cart-heading .genz-store-btn{margin-top:20px}.genz-shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.genz-product-tile{padding:8px;border-radius:18px}.genz-product-tile-info{padding:13px 5px 5px}.genz-product-tile h3{font-size:14px}.genz-product-tile-price{font-size:14px}.genz-product-tile .genz-store-btn{font-size:9px!important;padding:10px 8px;min-height:41px}.genz-item{grid-template-columns:85px minmax(0,1fr);gap:13px}.genz-item-top{display:block}.genz-item-top strong{display:block;margin:8px 0}.genz-item-top h3{font-size:14px}.genz-cart-main,.genz-cart-summary,.genz-checkout-editable,.genz-checkout-woocommerce{padding:17px;border-radius:18px}.genz-store h1{font-size:58px}.genz-quick-modal{padding:25px}}
@media(prefers-reduced-motion:reduce){.genz-store *, .genz-store *:before,.genz-store *:after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}

.genz-shop-swatches{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:5px 0 17px}.genz-shop-swatch{width:28px;height:28px;border:3px solid #fff;border-radius:100%;background:var(--swatch);box-shadow:0 0 0 1px #d3c9be;transition:transform .2s,box-shadow .2s}.genz-shop-swatch:hover,.genz-shop-swatch.active{transform:scale(1.1);box-shadow:0 0 0 2px var(--genz-page-ink)}.genz-product-tile-img img{transition:opacity .2s,transform .55s cubic-bezier(.2,.8,.2,1)}
