/*
Theme Name: FourElements Shop
Author: FourElements
Version: 2026.10.02.3
Text Domain: fourelements-shop
Requires PHP: 8.2
*/
:root{--width:var(--content-max)}
/* Shop typography and tokens belong to shop content, never the shared shell. */
.shop-main,.shop-toolbar,.shop-shipping-banner,.shop-cart-feedback,.shop-service-links{--paper:#f3f0e9;--ink:#282622;--muted:#686158;--accent:#9b694c;--line:rgba(40,38,34,.16)}
html{scroll-padding-top:120px}.fe-shop{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.65 var(--font);overflow-x:clip;-webkit-font-smoothing:antialiased}
.fe-shop *{box-sizing:border-box}.shop-main img{max-width:100%;height:auto}.shop-main a{color:inherit;text-decoration:none}.fe-shop button,.fe-shop input,.fe-shop select,.fe-shop textarea{font:inherit}
.shop-main h1,.shop-main h2,.shop-main h3{font-family:var(--font-display);font-weight:400;line-height:1.12;letter-spacing:-.025em}.shop-main h1 em,.shop-main h2 em{font-weight:400;color:var(--accent)}
.shop-wrap{width:min(calc(100% - 2*var(--gutter)),var(--width));margin-inline:auto}.shop-main{min-height:55vh;padding-bottom:88px}
.shop-header{position:sticky;top:0;z-index:60;background:rgba(247,244,238,.91);backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15);border-bottom:1px solid var(--line)}
.shop-header>.shop-wrap{display:flex;align-items:center;gap:32px;min-height:94px}.shop-brand{flex-shrink:0}.shop-brand img{display:block;width:220px;height:auto}
.shop-header nav{display:flex;align-items:center;gap:clamp(22px,3vw,44px);margin-left:auto}.shop-header nav>a,.shop-cart-link{font:500 14px/1.4 var(--font);letter-spacing:.07em;text-transform:uppercase}
.shop-header nav>a{position:relative;padding:16px 0}.shop-header nav>a::after{content:'';position:absolute;bottom:7px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.shop-header nav>a:hover::after,.shop-header nav>a[aria-current=page]::after{transform:scaleX(1)}
.shop-actions{display:flex;gap:12px;align-items:center}.shop-cart-link{display:flex;gap:10px;align-items:center;min-height:var(--fe-button-compact-height);padding:0 var(--fe-button-compact-padding-inline);border:1px solid #716e65;border-radius:var(--fe-button-radius)}.shop-cart-count{font-size:13px;min-width:14px;text-align:center;letter-spacing:0}
.shop-menu-toggle{display:none;position:relative;width:46px;height:46px;border:1px solid #a9a498;border-radius:50%;background:transparent;padding:0}.shop-menu-toggle span::before,.shop-menu-toggle span::after{content:'';position:absolute;left:12px;right:12px;height:1.5px;background:var(--ink);transition:transform .2s,top .2s}.shop-menu-toggle span::before{top:18px}.shop-menu-toggle span::after{top:25px}.shop-menu-toggle[aria-expanded=true] span::before{top:21px;transform:rotate(45deg)}.shop-menu-toggle[aria-expanded=true] span::after{top:21px;transform:rotate(-45deg)}
.shop-skip{position:fixed;top:-100px;left:20px;background:#fff;padding:14px;z-index:100}.shop-skip:focus{top:12px}.shop-stage{padding:12px var(--edge);text-align:center;background:linear-gradient(100deg,#e6e8df,#ece4dc);color:#605d52;font-size:15px;line-height:1.5}
.shop-hero{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,92px);align-items:center;padding:64px 0 88px}.shop-kicker{display:block;font:500 13px/1.5 var(--font);letter-spacing:.16em;text-transform:uppercase;color:#77624f}
.shop-hero h1{font-size:clamp(42px,4.8vw,72px);margin:24px 0}.shop-hero-copy>p{font-size:19px;line-height:1.7;color:var(--muted);max-width:520px}
.shop-outline-link{display:inline-flex;align-items:center;gap:26px;border-bottom:1px solid #8e8171;min-height:48px;margin-top:14px;font-size:14px;letter-spacing:.1em;text-transform:uppercase;font-weight:500}
.shop-hero-copy .hero-note{font-size:15px;margin-top:34px;color:#797368}.hero-note span{padding-inline:8px}.shop-hero-image{position:relative;margin:0;min-width:0}.shop-hero-image>img{display:block;width:100%;height:clamp(390px,40vw,565px);object-fit:cover;object-position:center 38%;border-radius:8px}.shop-hero-image figcaption{position:absolute;bottom:24px;left:24px;max-width:calc(100% - 48px);padding:18px 24px;background:linear-gradient(120deg,#f5f2e9e0,#f5f2e9a6);backdrop-filter:blur(16px);border:1px solid #ffffff66;border-radius:6px;font-size:17px;line-height:1.5;color:#333c31}
.collection-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:40px;padding-top:48px;margin-bottom:36px;border-top:1px solid var(--line)}.collection-heading h2{font-size:clamp(34px,3.8vw,52px);margin:18px 0 0}.collection-heading p{max-width:400px;color:var(--muted);font-size:18px;margin:0 0 5px;justify-self:end}
.woocommerce-products-header,.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{display:none}.woocommerce ul.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px;align-items:start;clear:both;margin:0;padding:0}.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{float:none!important;width:auto!important;margin:0!important;display:flex;flex-direction:column;min-width:0;padding:0 0 20px;border-bottom:1px solid var(--line)}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:block;min-width:0}.woocommerce ul.products li.product a img{aspect-ratio:4/5;width:100%;height:auto;object-fit:contain;background:#eae5dc;border:1px solid #e3ded4;border-radius:7px;margin:0 0 22px;transition:filter .3s}.woocommerce ul.products li.product a:hover img{filter:brightness(1.03)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font:400 clamp(23px,2.1vw,30px)/1.2 var(--font-display);padding:0;margin:0 0 8px;letter-spacing:-.015em}.woocommerce ul.products li.product .price{font:400 19px/1.5 var(--font);color:#4f493f;margin:0;line-height:1.5}
.woocommerce ul.products li.product .button{margin:0;align-self:flex-start;background:transparent;border:1px solid #9b9386;color:var(--ink);padding:12px 18px;min-height:46px}.woocommerce ul.products li.product .button:hover{background:#282622;color:#fff}.woocommerce ul.products li.product .added_to_cart{font-size:15px;text-decoration:underline;margin-top:12px}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:#282622;color:#fff;border:1px solid #282622;border-radius:var(--fe-button-radius);font:500 14px/1.3 var(--font);letter-spacing:.08em;text-transform:uppercase;padding:0 var(--fe-button-padding-inline);min-height:var(--fe-button-height);white-space:normal;transition:background .2s,color .2s}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:#535245;color:white}.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce #respond input#submit.alt{background:#282622}.woocommerce button.button.alt.disabled{background:#706e64}.woocommerce a.button:focus-visible,.woocommerce button.button:focus-visible{outline:2px solid #547d76;outline-offset:4px}
.woocommerce .woocommerce-breadcrumb{padding-top:30px;font-size:15px;color:#777166;margin:0}.woocommerce .woocommerce-breadcrumb a{color:#514d42}.woocommerce div.product{padding-top:35px}
.woocommerce div.product div.images{width:51%;margin:0 0 55px}.woocommerce div.product div.summary{width:43%;margin:0 0 55px;padding:4px 0;font:400 18px/1.7 var(--font)}
.woocommerce div.product .product_title{font-size:clamp(34px,3.6vw,52px);margin:0 0 20px;line-height:1.13}.woocommerce div.product p.price,.woocommerce div.product span.price{font:400 25px/1.4 var(--font);color:#8d6148;margin:0 0 24px}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{margin:0}.woocommerce div.product div.images .woocommerce-product-gallery__image{background:#e9e4da;border-radius:8px;overflow:hidden}
.woocommerce div.product div.images .woocommerce-product-gallery__image>a{display:block}.woocommerce div.product div.images .woocommerce-product-gallery__image img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;display:block;margin:0}
.woocommerce div.product div.images .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0 0;padding:0;overflow:visible}
.woocommerce div.product div.images .flex-control-thumbs li{width:auto!important;float:none!important;margin:0!important;clear:none!important;list-style:none;min-width:0}
.woocommerce div.product div.images .flex-control-thumbs li img{display:block;aspect-ratio:1;height:auto;width:100%;object-fit:cover;border:2px solid transparent;border-radius:5px;padding:3px;background:#e6e1d7;opacity:.7;transition:opacity .2s,border-color .2s}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,.woocommerce div.product div.images .flex-control-thumbs li img:hover,.woocommerce div.product div.images .flex-control-thumbs li img:focus-visible{opacity:1;border-color:#9b694c;outline:none}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger{top:15px;right:15px;background:#f7f5eeed;border:1px solid #d8d2c8;box-shadow:0 2px 10px #2826220d}
.product-intro{font-size:18px;color:#686158;margin:0 0 26px}.product-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0 30px;padding:20px 0;border-block:1px solid var(--line)}.product-facts dt{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#7b715e;margin-bottom:5px}.product-facts dd{margin:0;font-size:17px;line-height:1.5}
.woocommerce div.product form.cart{margin:0 0 24px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.woocommerce div.product form.cart div.quantity{margin:0}.woocommerce .quantity .qty{width:70px;min-height:50px;border-radius:6px;text-align:center}.woocommerce div.product form.cart .button{float:none;flex:1}
.woocommerce div.product form.cart .variations,.woocommerce-variation-add-to-cart,.single_variation_wrap{width:100%}.woocommerce-variation-add-to-cart{display:flex;gap:12px}.woocommerce table.variations td,.woocommerce table.variations th{display:block;text-align:left;padding:0 0 8px}.woocommerce div.product form.cart .variations label{font-weight:500;font-size:16px}.woocommerce div.product form.cart .variations select{width:100%;max-width:100%;min-height:50px;margin:0}.woocommerce div.product form.cart .reset_variations{font-size:14px;text-decoration:underline}
.product-service{display:flex;gap:16px;flex-wrap:wrap;font-size:15px;margin:0 0 16px}.product-service a,.product-question a{border-bottom:1px solid #9a9388}.product-question{font-size:15px;color:#686158}
.woocommerce div.product .woocommerce-tabs{clear:both;padding-top:10px}.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 32px;display:flex;gap:32px;border-bottom:1px solid var(--line);overflow:visible}.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border:none;border-radius:0;background:transparent;padding:0;margin:0}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:transparent;border-bottom:2px solid #8d6148}.woocommerce div.product .woocommerce-tabs ul.tabs li a{font:400 19px/1.5 var(--font);padding:14px 0;color:#686158}.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#282622}
.woocommerce div.product .woocommerce-tabs .panel{max-width:860px;font-size:18px;line-height:1.8}.woocommerce .related{padding-top:42px}.woocommerce .related>h2{font-size:38px;margin:0 0 30px}.woocommerce .related ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
.woocommerce input.input-text,.woocommerce textarea,.woocommerce select,.select2-container--default .select2-selection--single{max-width:100%;border:1px solid #bfb8aa;background:#faf8f3;padding:12px;border-radius:5px;font-size:17px;color:#282622}.woocommerce form .form-row input.input-text{min-height:48px}.woocommerce form .form-row{min-width:0}.woocommerce form.checkout{margin-top:24px}.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{min-width:0}
.woocommerce table.shop_table{border-color:var(--line);border-radius:7px;font-size:17px}.woocommerce table.shop_table th{font-weight:500}.woocommerce table.shop_table td{border-color:var(--line);padding:16px 12px}.woocommerce-cart table.cart img{width:88px;border-radius:4px}.woocommerce table.cart td.actions .input-text{width:180px;min-height:48px}.woocommerce .cart-collaterals .cart_totals h2{font-size:34px}
.woocommerce-message,.woocommerce-info{background:linear-gradient(110deg,#e5e8de,#f4eee5);border-top-color:#778f72;font-size:16px;line-height:1.6;padding:20px 25px 20px 54px;border-radius:4px}.woocommerce-message::before,.woocommerce-info::before{color:#778f72}.woocommerce-error{background:#f6e7e0;font-size:16px}
.woocommerce-account .woocommerce-MyAccount-navigation{border:1px solid var(--line);border-radius:6px;padding:12px 22px}.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0}.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;padding:10px 0;border-bottom:1px solid var(--line);font-size:17px}.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{color:#98654b}
.shop-main>article{padding-top:48px}.shop-main>article>h1{font-size:clamp(36px,4vw,56px);margin:0 0 35px}.shop-main>article.shop-document-page:not(:has(.woocommerce)){max-width:900px}.shop-main>article>p,.shop-main>article li{font-size:18px;line-height:1.75}.shop-main>article a:not(.button){text-decoration:underline;text-underline-offset:4px}.shop-main>article h2{font-size:30px;margin:36px 0 16px}.shop-legal-note{padding:24px;border:1px solid #d1c8b9;background:#ebe6dc;border-radius:6px}
@media(max-width:1000px){.shop-header>.shop-wrap{gap:22px}.shop-brand img{width:190px}.shop-header nav{gap:20px}.shop-header nav>a,.shop-cart-link{font-size:13px}.shop-hero{gap:32px}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:28px}.woocommerce div.product div.images{width:49%}.woocommerce div.product div.summary{width:46%}.product-facts{grid-template-columns:1fr;gap:12px}}
@media(max-width:800px){.fe-shop{font-size:17px}.shop-header>.shop-wrap{min-height:80px;gap:14px}.shop-brand img{width:175px}.shop-actions{margin-left:auto}.shop-menu-toggle{display:block}.cart-label{display:none}.shop-cart-link{padding:9px 11px;gap:6px}.shop-header nav{display:none;position:absolute;top:calc(100% + 8px);left:var(--gutter);right:var(--gutter);margin:0;padding:18px 24px;border:1px solid #d4ccbe;border-radius:8px;background:#f7f4eef7;box-shadow:0 18px 50px #23231b1a}.shop-header nav.is-open{display:grid;gap:0}.shop-header nav>a{font-size:18px;text-transform:none;letter-spacing:0;padding:15px 0}.shop-header nav>a::after{display:none}.shop-stage{font-size:14px;padding-block:10px}.shop-hero{grid-template-columns:1fr;padding:40px 0 50px;gap:28px}.shop-hero h1{font-size:clamp(38px,8.5vw,50px);margin:18px 0 20px}.shop-hero-copy>p{font-size:17px}.shop-hero-copy .hero-note{font-size:14px;margin-top:22px}.shop-hero-image>img{height:390px;max-height:70vh}.shop-hero-image figcaption{font-size:16px;left:18px;bottom:18px;padding:15px 20px}.collection-heading{grid-template-columns:1fr;gap:20px;padding-top:34px;margin-bottom:28px}.collection-heading h2{font-size:34px;margin-top:14px}.collection-heading p{font-size:17px;justify-self:start}.shop-main{padding-bottom:50px}.woocommerce div.product div.images,.woocommerce div.product div.summary{width:100%;float:none;clear:both;margin-bottom:32px}.woocommerce div.product .product_title{font-size:36px}.woocommerce div.product div.images .woocommerce-product-gallery__image img{aspect-ratio:1;object-fit:contain}.woocommerce div.product div.images .flex-control-thumbs{gap:12px;margin-top:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.product-facts{grid-template-columns:1fr 1fr;gap:18px;padding-block:18px}.product-facts dd{font-size:16px}.woocommerce div.product .woocommerce-tabs ul.tabs{gap:22px}.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-size:17px}.woocommerce div.product .woocommerce-tabs .panel{font-size:17px}.woocommerce .related{padding-top:25px}.woocommerce .related>h2{font-size:32px}.woocommerce .related ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.woocommerce table.shop_table_responsive tr td::before{font-weight:500}}
@media(max-width:480px){.shop-brand img{width:150px}.shop-header>.shop-wrap{gap:8px}.shop-actions{gap:8px}.shop-menu-toggle{width:44px;height:44px}.shop-cart-link{min-height:44px;padding:9px}.woocommerce ul.products{gap:30px 16px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:23px;line-height:1.2}.woocommerce ul.products li.product .price{font-size:17px}.woocommerce ul.products li.product .button{font-size:12px;padding:12px 14px;letter-spacing:.045em}.woocommerce ul.products li.product a img{margin-bottom:18px}.woocommerce div.product .product_title{font-size:33px}.product-facts{gap:12px}.woocommerce div.product .woocommerce-tabs ul.tabs{gap:18px}.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-size:16px}.woocommerce table.cart td.actions .input-text{width:100%}.woocommerce table.cart td.actions .coupon{display:grid;gap:10px}.woocommerce table.cart td.actions .coupon .button{width:100%}.woocommerce .woocommerce-breadcrumb{font-size:14px;padding-top:24px}.woocommerce div.product{padding-top:24px}.hero-note span{padding-inline:4px}}
.woocommerce ul.products li.product .product-size{display:block;font:400 16px/1.5 var(--font);color:#746c60;margin-top:6px;letter-spacing:0}
.woocommerce div.product .summary>.shop-kicker{margin-bottom:16px;font-size:12px}
.woocommerce div.product .product_title .product-size{display:block;font:400 21px/1.5 var(--font);color:#766d61;letter-spacing:0;margin-top:14px}
.woocommerce div.product div.images .woocommerce-product-gallery__image img{aspect-ratio:4/3}
.woocommerce ul.products li.product a img{aspect-ratio:3/2;object-fit:cover;border:0;margin-bottom:18px}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link:focus-visible{outline:2px solid #9b694c;outline-offset:6px;border-radius:7px}
@media(max-width:600px){.woocommerce ul.products,.woocommerce .related ul.products{grid-template-columns:1fr;gap:32px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:26px}.woocommerce ul.products li.product .price{font-size:19px}}
@media(max-width:800px){.woocommerce div.product div.images .woocommerce-product-gallery__image img{aspect-ratio:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fe-shop *{transition:none!important}}

/* Commerce links sit outside the identical website footer. */
.shop-service-links{padding:24px 0;background:#e9e6dd;border-top:1px solid #d4d1c7;color:#464b40;font:400 16px/1.6 var(--font)}
.shop-service-links>.shop-wrap{display:flex;align-items:baseline;gap:20px 40px}
.shop-service-links span{font-weight:500;flex-shrink:0}
.shop-service-links ul{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px 24px;list-style:none;padding:0;margin:0 0 0 auto}
.shop-service-links a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}
.shop-service-links a:hover,.shop-service-links a:focus-visible{text-decoration:underline}
@media(max-width:800px){.shop-service-links>.shop-wrap{display:block}.shop-service-links ul{justify-content:flex-start;gap:4px 20px;margin-top:12px}}
