
:root{--deep-teal:#1E4951;--rich-gold:#D7BB51;--antique-gold:#AA8D3F;--charcoal:#171813;--cream:#F7F3EC;}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Manrope',sans-serif;color:var(--charcoal);background:#fff;line-height:1.5;}
img{max-width:100%;display:block;}







/* SCROLL-REVEAL ENTRANCE ANIMATIONS */
.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);}
.js .reveal.in-view{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1!important;transform:none!important;transition:none!important;}}

/* HERO — identical to about.html */
.hero{position:relative;height:100vh;height:100dvh;background:radial-gradient(circle, rgba(0,0,0,0) 0%, rgba(0,0,0,0.8) 100%), var(--hero-bg,none) center 25%/cover;display:flex;align-items:flex-end;padding:clamp(1.5rem,4vw,3.5rem) clamp(2.5rem,7vw,5.5rem);color:#fff;justify-content:flex-end;flex-direction:column;}
.hero-inner{max-width:1400px;margin:0 auto;width:100%;text-align:left;padding:0 clamp(1.5rem,5vw,3rem);padding-bottom:clamp(2rem,4vw,3.5rem);}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.4rem,6.5vw,4.2rem);font-weight:500;margin-bottom:.4rem;text-shadow:0 2px 12px rgba(0,0,0,.25);opacity:0;animation:heroFadeUp .6s cubic-bezier(.16,1,.3,1) .05s forwards;}
.hero p{font-size:16px;font-family:'Manrope',sans-serif;font-weight:400;line-height:27px;max-width:480px;color:#fff;opacity:0;animation:heroFadeUp .6s cubic-bezier(.16,1,.3,1) .12s forwards;}
@keyframes heroFadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
@media (prefers-reduced-motion: reduce){.hero h1,.hero p{animation:none;opacity:1;}}

/* SHOP LAYOUT */
.shop-wrap{max-width:1500px;margin:0 auto;padding:clamp(2rem,4vh,4rem) clamp(2.5rem,7vw,5.5rem);min-height: 100vh;box-sizing:border-box;}
.search-row{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:clamp(2.5rem,5vw,4rem);}
.search-row .section-heading{line-height:1.5;font-family:'Playfair Display',serif;font-size:clamp(1.9rem,4.6vw,3rem);font-weight:500;letter-spacing:-.5px;color:var(--charcoal);}
.search-controls{display:flex;gap:.9rem;flex-wrap:wrap;}
.search-box{position:relative;}
.search-box svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:16px;height:16px;stroke:#999;fill:none;}
.search-box input{width:220px;padding:.75rem 1rem .75rem 2.4rem;border:1px solid #ddd;font-family:'Manrope',sans-serif;font-size:.88rem;color:var(--charcoal);background:#fff;transition:border-color .3s ease,box-shadow .3s ease;}
.search-box input:focus{outline:none;border-color:var(--rich-gold);box-shadow:0 0 0 3px rgba(215,187,81,.2);}
.sort-select{padding:.75rem 2.2rem .75rem 1rem;border:1px solid #ddd;font-family:'Manrope',sans-serif;font-size:.88rem;color:var(--charcoal);background:#fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23171813" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg>') no-repeat right 12px center/14px;appearance:none;cursor:pointer;}

.shop-grid{display:block;}



.section-heading{font-family:'Playfair Display',serif;font-weight:500;color:var(--charcoal);font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1.2;}
.cat-tabs{display:flex;flex-wrap:wrap;gap:.7rem;margin:-1.2rem 0 clamp(2rem,4vw,3rem);}
.cat-tab{font-family:'Manrope',sans-serif;font-size:.82rem;font-weight:600;letter-spacing:.6px;text-transform:uppercase;padding:.7rem 1.4rem;background:#fff;color:var(--deep-teal);border:1px solid var(--deep-teal);cursor:pointer;transition:background .3s ease,color .3s ease,transform .3s ease;}
.cat-tab:hover{transform:translateY(-2px);}
.cat-tab.active{background:var(--deep-teal);color:#fff;}
.cat-tab:focus-visible{outline:2px solid var(--rich-gold);outline-offset:2px;}
.cat-block{scroll-margin-top:110px;margin-bottom:clamp(2.5rem,5vw,4rem);}
.cat-heading{margin-bottom:1.5rem;text-transform:uppercase;}
.other-block{max-width:820px;}
.other-block p{margin-bottom:1.4rem;color:#5a5a56;line-height:1.7;}
.btn-shop{position:relative;display:inline-block;}
.btn-shop::after{content:'';position:absolute;bottom:-8px;right:-8px;width:100%;height:100%;border:1.5px solid var(--rich-gold);z-index:0;}
.btn-shop a{position:relative;z-index:1;display:inline-block;background:var(--deep-teal);color:#fff;padding:.85rem 2.2rem;font-size:.9rem;font-weight:600;text-decoration:none;text-transform:uppercase;letter-spacing:.5px;}
.cat-block .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
@media (max-width:1000px){.cat-block .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:480px){.cat-block .product-grid{grid-template-columns:1fr;}}
.no-results{display:none;padding:2rem 0;color:#5a5a56;}
/* PRODUCT GRID */
.product-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:clamp(1.5rem,3vw,2.5rem);}
.product-card{background:transparent;border:none;padding:0;display:flex;flex-direction:column;cursor:pointer;}
.product-card:hover .product-overlay { opacity: 1; visibility: visible; }
.product-icon{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;}
.product-icon img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1);}
.product-card:hover .product-icon img{transform:scale(1.08);}
.product-overlay{position:absolute;top:9%;bottom:9%;overflow:hidden;left:8%;right:8%;background:rgba(255,255,255,.96);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:clamp(.6rem,1.2vw,1.4rem);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .4s ease,visibility .4s ease,transform .4s ease;}
.product-card:hover .product-overlay,.product-card:focus-within .product-overlay{opacity:1;visibility:visible;transform:none;}
.product-overlay h3{font-family:'Manrope',sans-serif;font-size:clamp(.9rem,1.1vw,1.1rem);font-weight:500;margin-bottom:.8rem;color:var(--charcoal);text-transform:uppercase;}
.product-overlay p{font-family:'Manrope',sans-serif;font-size:clamp(.75rem,.8vw,.8rem);line-height:1.55;color:#171813;margin-bottom:.8rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;line-clamp:5;overflow:hidden;}
.view-link{font-family:'Manrope',sans-serif;font-size:12px;color:var(--deep-teal);text-decoration:none;display:flex;align-items:center;gap:0.4rem;transition:color .3s ease;}
.view-link:hover{color:var(--charcoal);}
.view-link svg{width:16px;height:16px;stroke:currentColor;fill:none;}
.product-info{display:flex;justify-content:space-between;align-items:center;gap:clamp(1rem,1.6vw,1.6rem);padding-top:1rem;transition:opacity .3s ease;}
.product-name{flex:1 1 auto;min-width:0;}
.product-info .view-link{flex:none;white-space:nowrap;}
.product-name{font-family:'Manrope',sans-serif;font-size:clamp(.9rem,1.15vw,1.1rem);font-weight:500;text-transform:uppercase;color:var(--charcoal);}



/* RESPONSIVE */


@media (max-width:600px){

  .search-row{align-items:flex-start;}
  .search-controls{width:100%;}
  .search-box,.search-box input{width:100%;}
}
@media (max-width:480px){
  .hero{padding:1.5rem 1.25rem;justify-content:flex-end;flex-direction:column;}
  .hero p{max-width:100%;}
  .shop-wrap{padding:2.5rem 1.25rem 3rem;}
  
}
html,body{max-width:100%;overflow-x:hidden;}


@media (max-width:768px){.hero{background:radial-gradient(circle, rgba(0,0,0,0) 0%, rgba(0,0,0,0.8) 100%), var(--hero-bg-sm,var(--hero-bg,none)) center 25%/cover;}}

/* result count + scrollable tab row on small screens */
.result-count{margin:-1.4rem 0 clamp(1.4rem,3vw,2rem);font-size:.9rem;font-weight:600;letter-spacing:.04em;color:#5a5a56;}
.result-count:empty{display:none;}
@media (max-width:768px){
  .cat-tabs{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:.55rem;margin:-1.2rem 0 1.2rem;padding:.35rem 0;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;}
  .cat-tabs::-webkit-scrollbar{display:none;}
  .cat-tab{flex:none;scroll-snap-align:center;white-space:nowrap;}
  .cat-tabs.can-right{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent);}
  .cat-tabs.can-left{-webkit-mask-image:linear-gradient(90deg,transparent,#000 44px);mask-image:linear-gradient(90deg,transparent,#000 44px);}
  .cat-tabs.can-left.can-right{-webkit-mask-image:linear-gradient(90deg,transparent,#000 44px,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(90deg,transparent,#000 44px,#000 calc(100% - 44px),transparent);}
  .result-count{margin-top:-.4rem;}
}
@media (max-width:480px){.cat-tabs{margin-left:-1.25rem;margin-right:-1.25rem;padding-left:1.25rem;padding-right:1.25rem;}}
