:root{
  --bg:#f0ebe4; --bg2:#e8e0d8; --white:#ffffff;
  --text:#3a3a3a; --mid:#888; --border:#ddd5cc;
  --pink:#c8788a; --dark:#1a1a1a; --sold:#999;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Jost',sans-serif;background:var(--bg);color:var(--text);line-height:1.5;}
a{text-decoration:none;color:inherit;}
img{display:block;max-width:100%;}

/* LOADER */
#loader{position:fixed;inset:0;z-index:9999;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .7s,visibility .7s;}
#loader.hidden{opacity:0;visibility:hidden;}
.ld-name{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:300;letter-spacing:.2em;color:var(--text);opacity:0;animation:fadeUp .8s ease forwards .3s;}
.ld-sub{font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--mid);margin-top:.5rem;opacity:0;animation:fadeUp .8s ease forwards .6s;}
.ld-line{width:0;height:1px;background:var(--border);margin-top:1.5rem;animation:lineW 1s ease forwards 1s;}
@keyframes lineW{to{width:120px;}}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes fi{to{opacity:1;}}

/* FLOATING BUTTONS */
.text-club{position:fixed;bottom:1rem;left:1rem;z-index:500;background:#d147a3;color:#fff;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.5rem 1rem;display:flex;align-items:center;gap:.5rem;cursor:pointer;opacity:0;animation:fi .5s ease forwards 2.2s;}
.chat-btn{position:fixed;bottom:1rem;right:1rem;z-index:500;background:var(--dark);color:#fff;font-size:.72rem;font-weight:500;letter-spacing:.05em;padding:.6rem 1.1rem;cursor:pointer;opacity:0;animation:fi .5s ease forwards 2.2s;}

/* TOPBAR */
.topbar{background:var(--bg);border-bottom:1px solid var(--border);padding:.5rem 2rem;display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center;}
.topbar.fade{opacity:0;animation:fi .4s ease forwards 1.8s;}
.search-wrap input{width:180px;padding:.35rem .7rem;border:1px solid var(--border);background:var(--white);font-family:'Jost',sans-serif;font-size:.75rem;color:var(--text);outline:none;}
.search-wrap input::placeholder{color:var(--mid);}
.topbar-nav{display:flex;gap:1.5rem;align-items:center;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;}
.topbar-nav a:hover{color:var(--pink);}
.topbar-social{display:flex;gap:.6rem;}
.topbar-social a{width:28px;height:28px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.65rem;color:var(--mid);transition:all .2s;}
.topbar-social a:hover{border-color:var(--pink);color:var(--pink);}

/* NAV */
nav.main-nav{background:var(--bg);padding:.7rem 2rem;display:flex;justify-content:center;border-bottom:1px solid var(--border);}
nav.main-nav.fade{opacity:0;animation:fi .4s ease forwards 1.9s;}
.nav-links{display:flex;gap:2rem;}
.nav-links a{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text);transition:color .2s;padding:.3rem 0;position:relative;}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--pink);transform:scaleX(0);transition:transform .3s;}
.nav-links a:hover,.nav-links a.active{color:var(--pink);}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1);}

/* HERO */
.hero{display:flex;justify-content:center;background:var(--bg);}
.hero.fade{opacity:0;animation:fi .8s ease forwards 2s;}
.hero-img-wrap{width:100%;max-width:500px;height:580px;overflow:hidden;position:relative;}
.hero-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease;}
.hero-img-wrap:hover img{transform:scale(1.03);}

/* SECTION TITLE */
.sec-title{text-align:center;font-size:.8rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--text);padding:2.5rem 0 1rem;position:relative;}
.sec-title::after{content:'';display:block;width:60px;height:1px;background:var(--border);margin:.8rem auto 0;}

/* PAGE BANNER (collection/page headers) */
.page-banner{text-align:center;padding:3rem 2rem 2rem;background:var(--bg);}
.page-banner h1{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:300;letter-spacing:.12em;text-transform:uppercase;color:var(--text);margin-bottom:.8rem;}
.page-banner::after{content:'';display:block;width:60px;height:1px;background:var(--border);margin:1rem auto 0;}
.page-banner p{font-size:.78rem;letter-spacing:.08em;color:var(--mid);max-width:600px;margin:1rem auto 0;line-height:1.7;}

/* BREADCRUMB */
.bcr{text-align:center;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);padding:1rem 2rem;background:var(--bg);}
.bcr a{color:var(--mid);transition:color .2s;}
.bcr a:hover{color:var(--pink);}
.bcr .sep{margin:0 .5rem;color:var(--border);}

/* PRODUCT GRID */
.product-section{padding:0 2rem 2.5rem;max-width:1100px;margin:0 auto;}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.product-card{display:flex;flex-direction:column;align-items:center;cursor:pointer;}
.product-img-wrap{width:100%;aspect-ratio:1;overflow:hidden;border:1px solid var(--border);background:var(--white);}
.product-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.product-card:hover .product-img-wrap img{transform:scale(1.06);}
.product-name{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text);text-align:center;margin-top:.8rem;line-height:1.4;}
.product-price{font-size:.75rem;color:var(--text);margin-top:.3rem;text-align:center;}
.sold-out{font-size:.7rem;color:var(--sold);letter-spacing:.05em;}

/* PRODUCT DETAIL */
.pdp{max-width:1100px;margin:0 auto;padding:2rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;}
.pdp-gallery{display:flex;flex-direction:column;gap:.6rem;}
.pdp-img-main{width:100%;aspect-ratio:1;overflow:hidden;border:1px solid var(--border);background:var(--white);}
.pdp-img-main img{width:100%;height:100%;object-fit:cover;}
.pdp-thumbs{display:flex;gap:.5rem;flex-wrap:wrap;}
.pdp-thumb{width:70px;height:70px;overflow:hidden;border:2px solid transparent;cursor:pointer;transition:border-color .2s;flex-shrink:0;background:var(--white);}
.pdp-thumb.active{border-color:var(--dark);}
.pdp-thumb:hover{border-color:var(--pink);}
.pdp-thumb img{width:100%;height:100%;object-fit:cover;}
.pdp-info h1{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.8rem;line-height:1.25;}
.pdp-price{font-size:1rem;letter-spacing:.08em;margin-bottom:1.2rem;color:var(--text);}
.pdp-price .sold-out{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-style:italic;color:var(--mid);letter-spacing:normal;text-transform:none;}
.pdp-desc{font-size:.82rem;color:var(--mid);line-height:1.75;margin-bottom:1.5rem;}
.pdp-desc strong{color:var(--text);}
.pdp-desc ul{margin:.6rem 0 .6rem 1.2rem;}
.pdp-desc li{margin-bottom:.35rem;}
.pdp-actions{display:flex;flex-direction:column;gap:.6rem;margin-top:1.2rem;}
.qty-wrap{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem;}
.qty-wrap label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;}
.qty-ctrl{display:flex;border:1px solid var(--border);background:var(--white);}
.qty-ctrl button{background:var(--white);border:none;width:32px;height:36px;cursor:pointer;font-size:1rem;color:var(--text);}
.qty-ctrl button:hover{background:var(--bg2);}
.qty-ctrl input{width:42px;height:36px;border:none;border-left:1px solid var(--border);border-right:1px solid var(--border);text-align:center;font-family:'Jost',sans-serif;font-size:.85rem;outline:none;background:var(--white);}
.btn-primary{background:var(--dark);color:#fff;border:none;padding:.9rem 1.6rem;font-family:'Jost',sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background .2s;}
.btn-primary:hover{background:var(--pink);}
.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--text);padding:.85rem 1.6rem;font-family:'Jost',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.btn-secondary:hover{background:var(--text);color:#fff;}
.btn-soldout{background:transparent;border:1px solid var(--border);color:var(--mid);padding:.9rem 1.6rem;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;cursor:default;}
.notify-input{padding:.7rem .9rem;border:1px solid var(--border);background:var(--white);font-family:'Jost',sans-serif;font-size:.82rem;outline:none;transition:border-color .2s;}
.notify-input:focus{border-color:var(--dark);}
.pdp-meta{margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--border);font-size:.7rem;color:var(--mid);letter-spacing:.08em;line-height:1.8;}
.pdp-meta strong{color:var(--text);text-transform:uppercase;margin-right:.4rem;}

/* FEATURED */
.featured-section{max-width:1000px;margin:0 auto;padding:0 2rem 3rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;}
.featured-img-main{width:100%;aspect-ratio:1;overflow:hidden;border:1px solid var(--border);}
.featured-img-main img{width:100%;height:100%;object-fit:cover;}
.featured-thumbs{display:flex;gap:.5rem;margin-top:.5rem;}
.featured-thumb{width:70px;height:70px;overflow:hidden;border:2px solid transparent;cursor:pointer;transition:border-color .2s;flex-shrink:0;}
.featured-thumb.active{border-color:var(--dark);}
.featured-thumb:hover{border-color:var(--pink);}
.featured-thumb img{width:100%;height:100%;object-fit:cover;}
.featured-info{padding-top:1rem;}
.featured-name{font-size:.85rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;margin-bottom:1rem;}
.featured-soldout{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-style:italic;color:var(--mid);margin-bottom:.8rem;}
.featured-desc{font-size:.8rem;color:var(--mid);line-height:1.6;margin-bottom:1.2rem;}
.featured-notify{font-size:.72rem;letter-spacing:.05em;color:var(--text);margin-bottom:.5rem;}
.notify-form{display:flex;flex-direction:column;gap:.5rem;}
.notify-btn{background:var(--dark);color:#fff;border:none;padding:.7rem;font-family:'Jost',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:background .2s;}
.notify-btn:hover{background:var(--pink);}
.sold-btn{border:1px solid var(--border);background:var(--white);color:var(--mid);padding:.7rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;cursor:default;margin-top:.3rem;}

/* CONTACT */
.contact-section{max-width:1000px;margin:0 auto;padding:0 2rem 3rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;}
.contact-img{width:100%;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--border);}
.contact-img img{width:100%;height:100%;object-fit:cover;}
.contact-info{text-align:center;}
.contact-info p{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);line-height:1.8;}
.contact-info a{color:var(--pink);}

/* STATIC PAGE */
.static-wrap{max-width:820px;margin:0 auto;padding:2rem 2rem 3rem;}
.static-wrap h1{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:300;letter-spacing:.1em;text-transform:uppercase;color:var(--text);margin-bottom:1.5rem;text-align:center;}
.static-wrap h1::after{content:'';display:block;width:60px;height:1px;background:var(--border);margin:1rem auto 0;}
.static-wrap h2{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:400;letter-spacing:.06em;margin:2rem 0 .8rem;color:var(--text);}
.static-wrap p{font-size:.85rem;line-height:1.8;margin-bottom:1rem;color:var(--mid);}
.static-wrap p strong,.static-wrap li strong{color:var(--text);}
.static-wrap ul{margin:0 0 1rem 1.3rem;color:var(--mid);font-size:.85rem;line-height:1.8;}
.static-wrap li{margin-bottom:.45rem;}
.static-wrap a{color:var(--pink);border-bottom:1px solid transparent;transition:border .2s;}
.static-wrap a:hover{border-bottom-color:var(--pink);}

/* FORM */
.frm{display:flex;flex-direction:column;gap:.9rem;max-width:520px;margin:1.5rem auto 0;}
.frm label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text);}
.frm input,.frm textarea,.frm select{padding:.7rem .9rem;border:1px solid var(--border);background:var(--white);font-family:'Jost',sans-serif;font-size:.85rem;outline:none;transition:border-color .2s;color:var(--text);}
.frm input:focus,.frm textarea:focus{border-color:var(--dark);}
.frm textarea{min-height:120px;resize:vertical;}
.frm button{background:var(--dark);color:#fff;border:none;padding:.85rem;font-family:'Jost',sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background .2s;align-self:center;min-width:200px;}
.frm button:hover{background:var(--pink);}

/* CART / CHECKOUT */
.cart-wrap{max-width:900px;margin:0 auto;padding:2rem;}
.cart-empty{text-align:center;padding:3rem 0;}
.cart-empty h2{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;margin-bottom:1rem;}
.cart-empty p{font-size:.85rem;color:var(--mid);margin-bottom:1.5rem;}

/* FOOTER */
.footer-top{background:var(--bg2);border-top:1px solid var(--border);padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem;}
.footer-social{display:flex;gap:.6rem;}
.footer-social a{width:32px;height:32px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--mid);transition:all .2s;}
.footer-social a:hover{border-color:var(--pink);color:var(--pink);}
.footer-cols{display:grid;grid-template-columns:1fr 1fr;gap:2rem;width:100%;max-width:600px;text-align:center;}
.footer-col h4{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text);font-weight:600;margin-bottom:.8rem;}
.footer-col p,.footer-col a{font-size:.72rem;color:var(--mid);line-height:1.8;display:block;transition:color .2s;}
.footer-col a:hover{color:var(--pink);}
.footer-bottom{background:var(--bg2);border-top:1px solid var(--border);padding:1rem 2rem;text-align:center;}
.footer-copy{font-size:.65rem;color:var(--mid);margin-bottom:.8rem;}
.payment-icons{display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap;}
.pay-icon{background:#fff;border:1px solid var(--border);padding:.2rem .5rem;font-size:.6rem;color:var(--mid);}

/* REVEAL */
.rv{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease;}
.rv.on{opacity:1;transform:translateY(0);}

@media(max-width:900px){
  .product-grid{grid-template-columns:repeat(2,1fr);}
  .featured-section,.contact-section,.pdp{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .topbar{grid-template-columns:1fr auto;}
  .topbar-social{display:none;}
  .nav-links{gap:1rem;overflow-x:auto;}
}

.pdp-section{margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--border);}
.pdp-section h3{font-size:.78rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.8rem;color:var(--text);}
.pdp-section ul,.pdp-section ol{margin-left:1.2rem;font-size:.82rem;color:var(--mid);line-height:1.85;}
.pdp-section li{margin-bottom:.35rem;}
.pdp-section details{border-bottom:1px solid var(--border);padding:.8rem 0;}
.pdp-section details:last-child{border-bottom:none;}
.pdp-section details summary{cursor:pointer;font-size:.8rem;color:var(--text);font-weight:500;list-style:none;position:relative;padding-right:1.5rem;}
.pdp-section details summary::-webkit-details-marker{display:none;}
.pdp-section details summary::after{content:'+';position:absolute;right:0;top:0;font-size:1.1rem;color:var(--pink);}
.pdp-section details[open] summary::after{content:'−';}
.pdp-section details p{font-size:.8rem;color:var(--mid);line-height:1.75;margin-top:.6rem;}
