@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--ink:#282a23;--muted:#73766b;--cream:#f6f4ed;--green:#4c5a43;--line:#e4e2d9;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;color:var(--ink);font:14px/1.65 var(--sans)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.announcement{text-align:center;background:var(--green);color:white;padding:8px;font-size:9px;letter-spacing:.13em;text-transform:uppercase}header{height:78px;padding:0 7%;display:flex;align-items:center;justify-content:space-between;background:#fffefa;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand{font-weight:700;letter-spacing:-.05em;font-size:17px}.brand b{display:inline-grid;place-items:center;border:1px solid var(--green);color:var(--green);width:31px;height:31px;border-radius:50%;font:18px var(--serif);margin-right:7px}.brand span{font-weight:400;color:var(--muted)}nav{display:flex;gap:30px;font-size:12px}header button{border:0;background:none}#menu{display:none}.bag{display:flex;gap:10px;align-items:center}.bag b{background:var(--green);color:white;border-radius:50%;min-width:24px;height:24px;display:grid;place-items:center;font-size:10px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;padding:60px 9%;background:var(--cream);min-height:560px}.eyebrow{font-size:9px;letter-spacing:.18em;color:var(--green);font-weight:700}.hero h1{font:clamp(55px,6vw,80px)/1 var(--serif);letter-spacing:-.05em;margin:20px 0}.hero h1 i,.story i{color:var(--green);font-weight:500}.hero p,.story p,.contact>div>p{color:var(--muted);max-width:360px;line-height:1.9}.btn{display:inline-block;background:var(--green);color:white;border:0;padding:14px 20px;font-size:11px;margin-top:15px}.btn:hover{background:#303d2b}.note{display:block;margin-top:32px;color:var(--muted);font-size:10px}.art{height:420px;position:relative;overflow:hidden;background:linear-gradient(140deg,#eee6d8,#d4c3ab)}.sun{position:absolute;right:16%;top:40px;width:200px;height:200px;border-radius:50%;background:#d9a66e}.art:before{content:"";position:absolute;width:65%;height:75%;left:14%;bottom:-50px;background:#f4ede1;border-radius:50% 50% 0 0}.soap,.candle{position:absolute;z-index:2;bottom:58px;display:grid;place-items:center;text-align:center;font-size:8px;letter-spacing:.1em;line-height:1.6;box-shadow:8px 12px 20px #5c4c3725}.soap{left:27%;height:160px;width:85px;background:#9baa8e;border-top:20px solid #53624a;color:white;border-radius:12px 12px 6px 6px}.candle{left:52%;height:120px;width:102px;background:#e8d5b5;color:#665b47;border-radius:8px}.candle:before{content:"";position:absolute;top:-17px;width:30px;height:19px;background:#75664e}.vase{position:absolute;right:10%;bottom:52px;width:60px;height:118px;border-radius:45% 45% 25% 25%;background:#9d684b;z-index:3}.vase:before,.vase:after{content:"";position:absolute;width:2px;height:100px;top:-85px;left:22px;background:#697450;transform:rotate(-20deg)}.vase:after{left:40px;transform:rotate(25deg)}.stamp{position:absolute;bottom:20px;left:20px;z-index:3;font:13px/1.1 var(--serif);color:#75634d}.values{display:flex;justify-content:space-around;padding:25px 5%;border-bottom:1px solid var(--line);font:15px var(--serif)}.section{padding:85px 9%}.heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}.heading h2,.story h2,.newsletter h2,.contact h2{font:500 clamp(34px,4vw,48px)/1.12 var(--serif);letter-spacing:-.04em;margin:10px 0}.heading>p{max-width:280px;color:var(--muted);font-size:12px}.tools{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.tools input{width:240px;padding:10px 0;border:0;border-bottom:1px solid #bbbdb0;outline:none}.tools button{border:1px solid var(--line);border-radius:30px;background:white;padding:9px 14px;font-size:10px;margin:3px}.tools button.active,.tools button:hover{background:var(--green);color:white}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:25px 18px}.product .visual{height:285px;position:relative;display:grid;place-items:center;overflow:hidden}.visual:after{content:"";position:absolute;width:70%;height:60%;bottom:-18%;border-radius:50%;background:#c9c9b4;opacity:.5}.object{position:relative;z-index:1;filter:drop-shadow(8px 10px 8px #4442)}.soapobj{width:82px;height:150px;background:#9baa8e;border-top:20px solid #53624a;border-radius:12px 12px 5px 5px}.toteobj{width:130px;height:125px;background:#d7c3a1;border-radius:4px 4px 14px 14px}.toteobj:before{content:"";position:absolute;top:-36px;left:34px;width:55px;height:40px;border:7px solid #c3ac88;border-bottom:0;border-radius:30px 30px 0 0}.candleobj{width:100px;height:110px;background:#e5d5b7;border-radius:7px 7px 17px 17px}.cupobj{width:105px;height:86px;background:#c8b9a1;border-radius:5px 5px 32px 32px}.cupobj:after{content:"";position:absolute;right:-30px;top:12px;width:36px;height:40px;border:9px solid #b8a78c;border-left:0;border-radius:0 24px 24px 0}.oilobj{width:72px;height:140px;background:#b9a17c;border-top:24px solid #685c43;border-radius:9px}.trayobj{width:140px;height:83px;border-radius:50%;background:#b88462;border:8px solid #a36f51}.tag{position:absolute;z-index:2;top:12px;left:12px;background:#fffefa;padding:5px 8px;font-size:8px;text-transform:uppercase;letter-spacing:.1em}.add{position:absolute;z-index:2;right:12px;bottom:12px;border:0;border-radius:50%;background:#fffefa;color:var(--green);font-size:22px;width:36px;height:36px}.add:hover{background:var(--green);color:white}.productline{display:flex;justify-content:space-between;gap:8px;padding-top:12px}.productline h3{font:500 16px var(--serif);margin:0}.productline p,.category{font-size:10px;color:var(--muted);margin:4px 0}.price{font-size:12px;white-space:nowrap}.disclaimer{text-align:center;color:#898b80;font-size:10px;margin-top:32px}.story{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center;background:#eeeee5;padding:75px 12%}.storyart{height:350px;position:relative;overflow:hidden;background:#d9ded1}.storyart img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s}.storyart:hover img{transform:scale(1.025)}.newsletter{background:#dfe4d8;padding:50px 9%;display:flex;align-items:center;justify-content:space-between;gap:40px}.newsletter h2{font-size:34px}.newsletter p{font-size:11px;color:var(--muted)}.newsletter form{width:min(430px,100%);display:grid;grid-template-columns:1fr auto;gap:8px}.newsletter input{min-width:0;border:0;border-bottom:1px solid #9ba392;background:transparent;padding:12px 0;outline:none}.newsletter form button{border:0;border-bottom:1px solid var(--green);background:none;color:var(--green)}.newsletter form small{grid-column:1/-1;font-size:9px;color:var(--muted)}.trap{position:absolute;left:-9999px}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq details:first-of-type{border-top:1px solid var(--line)}summary{cursor:pointer;font:17px var(--serif)}details p{color:var(--muted);font-size:12px;max-width:650px}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;padding:80px 9%;background:var(--cream)}.contact form{display:flex;flex-direction:column;gap:15px}.contact label{display:flex;flex-direction:column;gap:7px;font-size:10px;color:var(--muted)}.contact input,.contact select,.contact textarea{width:100%;border:0;border-bottom:1px solid #c7c9bc;background:transparent;padding:9px 0;outline:none}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact form small{font-size:9px;color:var(--muted)}footer{background:#303c2c;color:#f5f3eb;padding:35px 9%;display:flex;gap:20px;align-items:center;flex-wrap:wrap}footer .brand{color:white}footer .brand span{color:#bdc6b4}footer p{font-size:10px;color:#bdc6b4;margin-right:auto}footer>small{width:100%;border-top:1px solid #ffffff2b;padding-top:18px;color:#bdc6b4;font-size:9px}#shade{position:fixed;inset:0;background:#20251db3;z-index:30}#cart{position:fixed;right:0;top:0;height:100dvh;width:min(430px,100%);background:#fffefa;z-index:31;padding:25px;transform:translateX(105%);transition:transform .25s;display:flex;flex-direction:column;box-shadow:-10px 0 50px #0001}#cart.open{transform:translateX(0)}.carthead{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px}.carthead h2{font:29px var(--serif);margin:4px 0}.carthead h2 small{font:12px var(--sans);color:var(--muted)}#closeCart{font-size:28px;border:0;background:none}#cartItems{overflow:auto;flex:1}.cartrow{display:grid;grid-template-columns:62px 1fr auto;gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}.thumb{height:68px;display:grid;place-items:center;background:#efeee7;overflow:hidden}.thumb .object{transform:scale(.45)}.cartrow h3{font:15px var(--serif);margin:0}.cartrow small{color:var(--muted)}.qty{display:flex;align-items:center;gap:10px;margin-top:7px}.qty button{border:1px solid var(--line);background:white;width:24px;height:24px}.remove{border:0;background:none;text-decoration:underline;font-size:9px;color:var(--muted);padding:6px 0}.lineprice{font-size:11px}#cartEmpty{text-align:center;margin:auto;padding:25px}#cartEmpty h3{font:23px var(--serif)}#cartEmpty p,.warn{font-size:11px;color:var(--muted)}#continue{border:0;border-bottom:1px solid var(--green);background:none;color:var(--green);padding:8px}#summary{border-top:1px solid var(--line);padding-top:15px}#summary>p:first-child{display:flex;justify-content:space-between;font-size:12px}#summary .btn{width:100%;text-align:center}.warn{color:#9a5f3e}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);background:var(--green);color:white;padding:12px 18px;font-size:11px;opacity:0;z-index:50;transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:translate(-50%,0)}.sr{position:absolute;left:-9999px}[hidden]{display:none!important}
@media(max-width:800px){.hero{padding:45px 6%;gap:4%}.art{height:350px}.products{grid-template-columns:repeat(2,1fr)}.section{padding:65px 6%}.story{padding:60px 7%;gap:7%}.storyart{height:290px}.newsletter,.contact{padding:55px 6%}}
@media(max-width:600px){header{height:66px;padding:0 5%}.brand{font-size:14px}#menu{display:block;margin-left:auto;margin-right:12px;font-size:20px}nav{display:none;position:absolute;top:66px;left:0;right:0;background:#fffefa;padding:20px 6%;flex-direction:column;gap:15px;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{grid-template-columns:1fr;padding:40px 6%;gap:30px}.hero h1{font-size:60px}.art{height:320px}.values{font-size:11px;gap:8px;text-align:center;padding:20px 4%}.heading{display:block}.heading>p{margin-top:12px}.tools{display:block}.tools input{width:100%;margin-bottom:15px}.tools button{padding:8px 10px}.products{gap:20px 12px}.product .visual{height:190px}.productline{display:block}.price{display:block;margin-top:5px}.story{grid-template-columns:1fr;padding:45px 6%;gap:30px}.storyart{height:290px}.newsletter{display:block}.newsletter form{margin-top:20px}.contact{grid-template-columns:1fr;gap:25px}.fields{grid-template-columns:1fr}.section{padding:55px 6%}footer{padding:30px 6%;gap:12px}footer p{width:100%;margin:0}#cart{padding:20px}}

/* Premium product photography */
.product-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.product:hover .product-photo{transform:scale(1.035)}.product .visual:after{display:none}.product .tag{z-index:2;box-shadow:0 2px 12px #00000008}.productline{align-items:flex-start}.productline h3{font-size:17px}.productline .category{text-transform:uppercase;letter-spacing:.1em}.add{box-shadow:0 3px 14px #2222}.thumb img{width:100%;height:100%;object-fit:cover}.product-photo:focus{outline:2px solid var(--green)}
@media(max-width:600px){.product .visual{height:205px}}

/* Lifestyle hero photography */
.art{background:#e9dfcf;isolation:isolate}.art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}.art:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f6f4ed20,transparent 65%);z-index:1;pointer-events:none}

/* Multiple product photo views */
.photo-choices{display:flex;align-items:center;gap:7px;padding:9px 0 0}.photo-choice{width:39px;height:39px;padding:0;border:1px solid transparent;border-radius:2px;background:#f1eee6;overflow:hidden;cursor:pointer}.photo-choice img{width:100%;height:100%;object-fit:cover;display:block}.photo-choice.active{border:2px solid var(--green);padding:2px}.photo-choices>span{font-size:9px;color:var(--muted);margin-left:2px}.product .visual{height:285px}.product-photo{z-index:1}.product .add{z-index:3}.product .tag{z-index:3}@media(max-width:600px){.product .visual{height:205px}.photo-choice{width:32px;height:32px}}

/* Refined Southside Essentials storefront layout */
:root{--green:#263f2b;--cream:#f7f4ec;--ink:#2d3028;--muted:#77786f;--line:#e6e1d6}
header{height:66px;padding:0 4%;gap:18px;background:#fbf9f2}
.brand{font-size:15px;letter-spacing:.14em;white-space:nowrap}.brand b{border:0;border-radius:0;font-size:21px;margin-right:5px}.brand span{display:block;font-size:8px;letter-spacing:.35em;margin-left:37px;margin-top:-8px}
nav{gap:25px;font-size:11px}nav a:hover{color:var(--green)}.header-search{display:flex;align-items:center;gap:8px;border:1px solid #ded9ce;border-radius:24px;padding:7px 12px;width:210px;color:var(--muted)}.header-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;font-size:10px}.header-search span{font-size:20px;line-height:1}
.hero{grid-template-columns:.72fr 1.28fr;gap:25px;padding:0 4%;min-height:290px;height:290px;background:#b9a184;position:relative;overflow:hidden}.hero>div:first-child{position:relative;z-index:2;color:white;padding:25px 0}.hero .eyebrow{color:#fff4e2}.hero h1{font-size:clamp(35px,3.7vw,51px);line-height:1.05;margin:14px 0 10px;letter-spacing:-.04em}.hero h1 i{color:#fff1d8}.hero p{font-size:11px;line-height:1.6;color:#fffaf1;max-width:285px;margin:0}.hero .btn{padding:11px 18px;border-radius:5px;font-size:10px;margin-top:15px}.hero .art{height:100%;position:absolute;right:0;top:0;width:67%;background:#c6b69c}.hero .art:before{background:linear-gradient(90deg,#9d876a8c,transparent 45%);z-index:2}.hero .art>img{object-position:center 54%}.values{padding:20px 4%;font:10px var(--sans);color:var(--green);gap:14px;flex-wrap:wrap}.section{padding:38px 4%}.heading{display:block;text-align:center;margin-bottom:20px}.heading h2{font-size:31px;color:var(--green);margin:5px 0}.heading>p{max-width:none;margin:0 auto;font-size:10px}.tools{margin-bottom:18px}.tools input{font-size:11px}.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px}.product .visual{height:auto;aspect-ratio:1.18;display:block}.product-photo{object-fit:cover}.photo-choices{gap:5px;padding-top:7px}.photo-choice{width:29px;height:29px;border-radius:4px}.photo-choices>span{font-size:8px}.productline{padding-top:5px;gap:12px}.productline h3{font:600 12px var(--sans)}.productline p{font-size:9px;line-height:1.35}.productline .category{display:none}.price{font-size:11px;font-weight:600;color:var(--green)}.add{width:29px;height:29px;right:9px;bottom:9px;font-size:18px}.tag{font-size:7px}.disclaimer{margin-top:20px}.story{padding:55px 9%}.newsletter{padding:40px 6%}.faq.section{padding-top:50px;padding-bottom:50px}.contact{padding:55px 7%}footer{padding:30px 5%}
.checkout-form{overflow:auto;padding:18px 0 6px;display:flex;flex-direction:column;gap:13px}.checkout-form[hidden]{display:none!important}.checkout-form h2{font:25px var(--serif);margin:0 0 3px}.checkout-form label{display:flex;flex-direction:column;gap:5px;font-size:10px;color:var(--muted)}.checkout-form input,.checkout-form select{width:100%;min-width:0;border:1px solid var(--line);border-radius:3px;background:#fff;padding:10px;font-size:11px;color:var(--ink)}.checkout-form .fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.back-cart{align-self:flex-start;border:0;background:none;color:var(--green);padding:0;font-size:10px}.checkout-total{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;font-size:12px}.checkout-form .btn{width:100%;margin-top:0}.checkout-note{font-size:9px;color:var(--muted);line-height:1.5}.checkout-form #checkoutMessage{padding:12px;background:#eef0e7;font-size:11px;color:var(--green)}
@media(max-width:800px){header{padding:0 4%;gap:10px}.header-search{width:155px}.hero{height:290px;min-height:290px;padding:0 5%}.hero .art{width:65%}.products{grid-template-columns:repeat(2,minmax(0,1fr))}.product .visual{aspect-ratio:1.05}.section{padding:38px 5%}}
@media(max-width:600px){header{padding:0 4%;gap:6px}.brand{font-size:12px;letter-spacing:.1em}.brand b{font-size:18px;width:25px;height:25px}.brand span{margin-left:30px;font-size:7px}.header-search{display:none}#menu{margin-left:auto;margin-right:5px}.bag{font-size:10px;gap:5px}.hero{height:auto;min-height:400px;display:block;padding:0 6%;background:#9f8a6e}.hero>div:first-child{padding:28px 0 24px;width:85%}.hero h1{font-size:39px}.hero .art{position:absolute;right:0;bottom:0;top:auto;height:190px;width:100%;opacity:.9}.hero .art:before{background:linear-gradient(180deg,#9f8a6e 0%,transparent 65%)}.hero p{max-width:260px}.hero .btn{position:relative;z-index:3}.values{font-size:9px;justify-content:center}.section{padding:35px 5%}.heading h2{font-size:28px}.tools button{font-size:9px}.products{gap:18px 10px}.product .visual{height:auto;aspect-ratio:.9}.photo-choice{width:25px;height:25px}.photo-choices{gap:4px}.photo-choices>span{font-size:7px}.productline h3{font-size:11px}.productline p{font-size:8px}.price{font-size:10px}.add{width:26px;height:26px}.checkout-form .fields{grid-template-columns:1fr 1fr}.story{padding:40px 6%}}

.contact-email{margin-top:1rem;font-size:.95rem}.contact-email a{color:inherit;text-underline-offset:3px}


/* Product variety selector */
.variant-hint{display:block;margin-top:7px;font-size:.72rem;line-height:1.45;opacity:.72}
.product{cursor:pointer}
.product:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.product-modal-backdrop{position:fixed;inset:0;background:rgba(20,20,18,.48);z-index:1000;display:grid;place-items:center;padding:20px}
.product-modal{position:relative;background:#f8f6ef;max-width:900px;width:100%;max-height:90vh;overflow:auto;border-radius:18px;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.22)}
.modal-close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:32px;line-height:1;cursor:pointer}
.modal-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
.modal-image-wrap{aspect-ratio:1/1;border-radius:12px;display:grid;place-items:center;overflow:hidden}
.modal-image-wrap img{width:100%;height:100%;object-fit:contain}
.modal-info h2{font-size:clamp(28px,4vw,42px);margin:.35rem 0 .6rem}
.modal-price{font-size:1.25rem;font-weight:600;margin:18px 0}
.variant-group{border:0;padding:0;margin:18px 0}
.variant-group legend{font-weight:600;font-size:.82rem;margin-bottom:9px}
.variant-options{display:flex;flex-wrap:wrap;gap:8px}
.variant-option{border:1px solid #bdbbb3;background:transparent;border-radius:999px;padding:9px 13px;cursor:pointer}
.variant-option.selected{background:#20211e;color:#fff;border-color:#20211e}
.modal-add{width:100%;margin-top:10px}
.modal-note{font-size:.75rem;opacity:.65;text-align:center;margin-top:10px}
.cart-variant{display:block;margin-top:5px;opacity:.7}
@media(max-width:720px){.product-modal{padding:20px}.modal-grid{grid-template-columns:1fr;gap:20px}.modal-image-wrap{max-height:340px}.product-modal-backdrop{padding:10px}}

/* Color variety display */
.color-options{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.color-option{display:flex;align-items:center;gap:8px;border:1px solid #d8d8d2;background:#fff;padding:8px 11px;border-radius:10px;cursor:pointer;font:inherit;color:inherit;transition:.15s ease}
.color-option:hover{border-color:#999}
.color-option.selected{border-color:#111;box-shadow:0 0 0 2px #111 inset}
.color-swatch{width:24px;height:24px;border-radius:50%;display:inline-block;flex:0 0 24px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.selected-color{margin:9px 0 0;font-size:.86rem;color:#666}


/* Live product-variant preview */
.selected-variant-display{
  margin:12px 0 18px;
  padding:12px 14px;
  border:1px solid rgba(20,20,20,.12);
  border-radius:12px;
  background:#f6f5f1;
  font-size:.92rem;
  line-height:1.45;
}
.variant-image-label{
  position:absolute;
  left:12px;
  right:12px;
  bottom:12px;
  padding:9px 11px;
  border-radius:10px;
  background:rgba(255,255,255,.92);
  color:#171717;
  font-size:.78rem;
  line-height:1.3;
  box-shadow:0 4px 16px rgba(0,0,0,.08);
  pointer-events:none;
}
.modal-image-wrap{position:relative}

.variant-photo-note{
  position:absolute;
  top:12px;
  left:12px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  color:#171717;
  font-size:.72rem;
  letter-spacing:.02em;
  box-shadow:0 3px 12px rgba(0,0,0,.07);
  pointer-events:none;
}
.modal-image-wrap img{
  transition:filter .25s ease,transform .25s ease;
}
.color-option.selected{
  box-shadow:0 0 0 2px #171717, 0 4px 12px rgba(0,0,0,.08);
}
.modal-image-wrap img{transition:opacity .18s ease,transform .18s ease;filter:none!important}
