/*
Theme Name: Colors of Memory
Version: 1.0
*/



<style>
/* ─────────────────────────────────────
   COLORS OF MEMORY — CHAM SILK
   Complete Single-File Website
   Brand Palette: Cobalt · Rose · Sage
   ───────────────────────────────────── */




*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

:root {
  --bg:#090A1C; --bg2:#0C0D22;
  --rose:rgba(185,55,135,0.85);
  --rose-mid:rgba(185,55,135,0.55);
  --rose-light:rgba(205,70,155,0.9);
  --rose-dim:rgba(185,55,135,0.18);
  --sage:rgba(148,175,108,0.82);
  --sage-dim:rgba(148,175,108,0.22);
  --cobalt:rgba(60,65,170,0.25);
  --ivory:rgba(238,232,255,0.95);
  --body:rgba(228,222,242,0.68);
  --dim:rgba(228,222,242,0.45);
  --bdr:rgba(228,222,242,0.08);
}

html { scroll-behavior:smooth; }
body { font-family:'Montserrat',sans-serif; background:var(--bg); color:var(--ivory); overflow-x:hidden; }

/* ── PAGE SYSTEM ── */
.page { display:none; }
.page.active { display:block; }

/* ── NAVIGATION ── */
nav {
  position:fixed; top:0; width:100%; z-index:200;
  padding:1.1rem 3rem; display:flex; justify-content:space-between; align-items:center;
  background:rgba(9,10,28,0.97); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--cobalt);
}
.nav-logo { font-family:'Cormorant Garamond',serif; font-size:1rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--rose-light); cursor:pointer; }
.nav-links { display:flex; gap:1.8rem; list-style:none; align-items:center; }
.nav-links a { font-size:0.55rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--dim); text-decoration:none; transition:color 0.3s; cursor:pointer; }
.nav-links a:hover { color:var(--ivory); }
.nav-spot { color:var(--sage) !important; border:1px solid rgba(148,175,108,0.25); padding:0.28rem 0.9rem; }
.nav-back-btn { color:var(--sage) !important; border:1px solid rgba(148,175,108,0.25); padding:0.28rem 0.9rem; display:flex; align-items:center; gap:0.5rem; cursor:pointer; }

/* ── SHARED ── */
.btn { display:inline-block; padding:0.9rem 3rem; border:1px solid var(--rose-mid); color:var(--rose-light); font-size:0.55rem; letter-spacing:0.3em; text-transform:uppercase; font-family:'Montserrat',sans-serif; text-decoration:none; background:transparent; cursor:pointer; transition:all 0.4s; }
.btn:hover { background:rgba(185,55,135,0.15); border-color:var(--rose-light); color:var(--ivory); }
.btn-solid { background:var(--rose-mid); color:var(--bg); border-color:var(--rose-mid); }
.btn-solid:hover { background:var(--rose-light); border-color:var(--rose-light); color:var(--bg); }

section { padding:6rem 2rem; }
.container { max-width:1100px; margin:0 auto; }
.section-label { font-size:0.5rem; letter-spacing:0.4em; text-transform:uppercase; color:var(--sage); margin-bottom:0.8rem; display:flex; align-items:center; gap:1rem; }
.section-label::after { content:''; flex:1; max-width:50px; height:1px; background:currentColor; opacity:0.35; }
.section-title { font-family:'Cormorant Garamond',serif; font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:300; line-height:1.2; color:var(--ivory); margin-bottom:1rem; }
.divider { width:40px; height:1px; background:var(--rose-mid); margin:1.5rem 0; }
.reveal { opacity:0; transform:translateY(28px); transition:opacity 0.8s ease,transform 0.8s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ════════════════════════════
   PAGE 1 — MAIN SITE
   ════════════════════════════ */

/* HERO */
.hero { height:100vh; position:relative; display:flex; align-items:center; justify-content:center; text-align:center; background:var(--bg); overflow:hidden; }
.hero-pattern { position:absolute; inset:0; background-image:repeating-linear-gradient(45deg,rgba(60,65,170,0.07) 0,rgba(60,65,170,0.07) 1px,transparent 0,transparent 40px),repeating-linear-gradient(-45deg,rgba(60,65,170,0.07) 0,rgba(60,65,170,0.07) 1px,transparent 0,transparent 40px); }
.hero-overlay { position:absolute; inset:0; background:radial-gradient(ellipse at 50% 55%,rgba(9,10,28,0) 0%,rgba(9,10,28,0.78) 100%); }
.hero-content { position:relative; z-index:2; max-width:820px; padding:2rem; }
.hero-pre { font-size:0.55rem; letter-spacing:0.45em; text-transform:uppercase; color:var(--sage); margin-bottom:2rem; display:flex; align-items:center; justify-content:center; gap:1.2rem; }
.hero-pre::before,.hero-pre::after { content:''; display:block; width:40px; height:1px; background:rgba(148,175,108,0.45); }
.hero h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(3.2rem,8vw,6.5rem); font-weight:300; line-height:1.0; color:var(--ivory); margin-bottom:1.4rem; }
.hero h1 em { font-style:italic; color:var(--rose-light); }
.hero-tagline { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(0.9rem,1.8vw,1.25rem); color:var(--body); margin-bottom:2.5rem; }
.hero-mission { font-size:0.52rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--dim); margin-bottom:3rem; line-height:2.8; }
.scroll-hint { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:0.5rem; color:var(--dim); font-size:0.5rem; letter-spacing:0.3em; text-transform:uppercase; animation:bounce 2s infinite; }
.scroll-hint::after { content:''; display:block; width:1px; height:40px; background:linear-gradient(to bottom,rgba(185,55,135,0.5),transparent); }
@keyframes bounce { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(6px)} }

/* STORY */
.story { background:var(--bg2); padding:0; }
.story-intro { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(1.1rem,2.2vw,1.45rem); font-weight:300; color:var(--body); max-width:680px; line-height:1.9; margin-bottom:4rem; }
.story-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.story-card { padding:3rem 2rem; border-right:1px solid var(--bdr); transition:background 0.3s; }
.story-card:last-child { border-right:none; }
.story-card:hover { background:rgba(185,55,135,0.05); }
.story-num { font-family:'Cormorant Garamond',serif; font-size:3rem; font-weight:300; color:rgba(60,65,170,0.35); line-height:1; margin-bottom:1.2rem; }
.story-h { font-family:'Cormorant Garamond',serif; font-size:1.2rem; color:var(--ivory); margin-bottom:1rem; }
.story-p { font-size:0.72rem; line-height:2; color:var(--body); }
.story-stats { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--bdr); padding:3rem 0; text-align:center; }
.stat-num { font-family:'Cormorant Garamond',serif; font-size:3rem; font-weight:300; color:var(--rose-light); }
.stat-label { font-size:0.52rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--dim); margin-top:0.3rem; }

/* CRAFT */
.craft { background:var(--bg); }
.craft-inner { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.craft-text p { font-size:0.82rem; line-height:2.1; color:var(--body); margin-bottom:1.2rem; }
.craft-features { display:flex; flex-direction:column; gap:1.5rem; margin-top:2rem; }
.craft-feat { padding:1.3rem 1.5rem; border-left:1px solid var(--rose-mid); background:rgba(255,255,255,0.025); }
.craft-feat-title { font-size:0.58rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--sage); margin-bottom:0.4rem; }
.craft-feat-text { font-size:0.78rem; line-height:1.9; color:var(--body); }
.craft-visual { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.craft-img-box { aspect-ratio:1; background:var(--bg2); position:relative; overflow:hidden; cursor:pointer; }
.craft-img-box img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.5s; }
.craft-img-box:hover img { transform:scale(1.05); }
.craft-img-box:nth-child(2) { margin-top:2rem; }
.craft-img-box:nth-child(3) { margin-top:-2rem; }
.craft-placeholder { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.8rem; position:relative; }
.craft-placeholder::before { content:''; position:absolute; inset:0; opacity:0.07; background-image:repeating-linear-gradient(45deg,rgba(148,175,108,1) 0,rgba(148,175,108,1) 1px,transparent 0,transparent 20px),repeating-linear-gradient(-45deg,rgba(148,175,108,1) 0,rgba(148,175,108,1) 1px,transparent 0,transparent 20px); }
.craft-placeholder-label { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:0.85rem; color:var(--dim); text-align:center; padding:0 1rem; position:relative; z-index:1; }
.craft-upload-overlay { position:absolute; inset:0; background:rgba(9,10,28,0.7); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.5rem; opacity:0; transition:opacity 0.3s; }
.craft-img-box:hover .craft-upload-overlay { opacity:1; }
.craft-upload-overlay span { font-size:0.55rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--sage); }

/* PRODUCTS */
.products { background:var(--bg2); }
.products-header { text-align:center; margin-bottom:3.5rem; }
.products-header .divider { margin:1.5rem auto; }
.products-header p { font-size:0.78rem; color:var(--body); max-width:540px; margin:0 auto; line-height:2; }
.product-cards-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.product-main-card { background:var(--bg); border-right:1px solid var(--bdr); cursor:pointer; transition:transform 0.35s; display:flex; flex-direction:column; position:relative; overflow:hidden; }
.product-main-card:last-child { border-right:none; }
.product-main-card:hover { transform:translateY(-4px); z-index:2; }
.pmc-img-area { position:relative; width:100%; aspect-ratio:3/4; background:rgba(5,6,14,0.95); overflow:hidden; flex-shrink:0; }
.pmc-img-area img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.5s; }
.product-main-card:hover .pmc-img-area img { transform:scale(1.04); }
.pmc-placeholder { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.8rem; }
.pmc-placeholder span { font-size:0.5rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--dim); }
.pmc-view-overlay { position:absolute; inset:0; background:rgba(9,10,28,0.55); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity 0.3s; z-index:4; }
.pmc-view-overlay span { font-size:0.58rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--ivory); border:1px solid rgba(238,232,255,0.35); padding:0.6rem 1.4rem; }
.product-main-card:hover .pmc-view-overlay { opacity:1; }
.pmc-add-photo { position:absolute; top:0.8rem; right:0.8rem; z-index:5; background:rgba(9,10,28,0.88); border:1px solid var(--rose-dim); color:var(--rose-light); font-size:0.5rem; letter-spacing:0.18em; text-transform:uppercase; padding:0.35rem 0.8rem; cursor:pointer; font-family:'Montserrat',sans-serif; transition:background 0.2s; }
.pmc-add-photo:hover { background:rgba(185,55,135,0.15); }
.pmc-body { padding:2rem 2rem 2.5rem; flex:1; display:flex; flex-direction:column; position:relative; z-index:1; }
.pmc-body::before { content:''; position:absolute; inset:0; opacity:0.03; background-image:repeating-linear-gradient(90deg,rgba(148,175,108,1) 0,rgba(148,175,108,1) 1px,transparent 0,transparent 15px),repeating-linear-gradient(0deg,rgba(148,175,108,1) 0,rgba(148,175,108,1) 1px,transparent 0,transparent 15px); pointer-events:none; }
.pmc-badge { display:inline-block; font-size:0.5rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--sage); border:1px solid var(--sage-dim); padding:0.22rem 0.7rem; margin-bottom:1rem; }
.pmc-name { font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:300; color:var(--ivory); margin-bottom:0.8rem; }
.pmc-desc { font-size:0.72rem; line-height:2; color:var(--body); margin-bottom:auto; }
.pmc-footer { display:flex; justify-content:space-between; align-items:center; padding-top:1.5rem; margin-top:1.5rem; border-top:1px solid var(--bdr); }
.pmc-price { font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:300; color:var(--rose-light); }
.pmc-btn { padding:0.72rem 1.6rem; background:var(--rose-mid); color:var(--bg); border:1px solid var(--rose-mid); font-family:'Montserrat',sans-serif; font-size:0.52rem; letter-spacing:0.22em; text-transform:uppercase; cursor:pointer; transition:background 0.3s; }
.pmc-btn:hover { background:var(--rose-light); border-color:var(--rose-light); }
.products-note { margin-top:4rem; padding:2rem 2.5rem; border:1px solid var(--rose-dim); background:rgba(185,55,135,0.04); text-align:center; }
.products-note p { font-size:0.72rem; line-height:2; color:var(--body); font-style:italic; }

/* CATALOG OVERLAY */
.catalog-overlay { display:none; position:fixed; inset:0; z-index:300; background:var(--bg); overflow-y:auto; }
.catalog-overlay.open { display:block; }
.catalog-nav { position:sticky; top:0; z-index:10; background:rgba(9,10,28,0.97); backdrop-filter:blur(10px); border-bottom:1px solid var(--cobalt); padding:1rem 2.5rem; display:flex; justify-content:space-between; align-items:center; }
.catalog-nav-logo { font-family:'Cormorant Garamond',serif; font-size:0.95rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--rose-light); }
.catalog-back { display:flex; align-items:center; gap:0.6rem; font-size:0.55rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--dim); background:none; border:none; cursor:pointer; font-family:'Montserrat',sans-serif; transition:color 0.3s; }
.catalog-back:hover { color:var(--sage); }
.catalog-inner { max-width:1200px; margin:0 auto; padding:3rem 2rem 6rem; }
.catalog-tabs { display:flex; gap:0; margin-bottom:3rem; border:1px solid var(--bdr); max-width:600px; }
.catalog-tab { flex:1; padding:0.9rem 1rem; font-size:0.55rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--dim); background:transparent; border:none; cursor:pointer; font-family:'Montserrat',sans-serif; transition:all 0.3s; border-right:1px solid var(--bdr); }
.catalog-tab:last-child { border-right:none; }
.catalog-tab:hover { color:var(--rose-light); background:rgba(185,55,135,0.05); }
.catalog-tab.active { background:var(--rose-mid); color:var(--bg); font-weight:500; }
.catalog-panel-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:2.5rem; flex-wrap:wrap; gap:1rem; border-bottom:1px solid var(--bdr); padding-bottom:1.5rem; }
.catalog-panel-title { font-family:'Cormorant Garamond',serif; font-size:2.5rem; font-weight:300; color:var(--ivory); }
.catalog-panel-price { font-family:'Cormorant Garamond',serif; font-size:1.8rem; color:var(--rose-light); }
.catalog-panel-count { font-size:0.55rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--dim); margin-top:0.2rem; }
.design-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:1.5rem; }
.design-card { background:var(--bg2); border:1px solid var(--bdr); overflow:hidden; transition:transform 0.3s,box-shadow 0.3s; }
.design-card:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(0,0,0,0.3); }
.design-card-img-wrap { position:relative; width:100%; aspect-ratio:3/4; overflow:hidden; background:rgba(5,6,14,0.95); cursor:pointer; }
.design-card-img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.4s; }
.design-card-img-wrap:hover .design-card-img { transform:scale(1.05); }
.design-card-view { position:absolute; inset:0; background:rgba(9,10,28,0.5); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity 0.3s; }
.design-card-img-wrap:hover .design-card-view { opacity:1; }
.design-card-view span { font-size:0.55rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--ivory); border:1px solid rgba(238,232,255,0.4); padding:0.5rem 1rem; }
.design-card-body { padding:1rem 1.2rem 1.2rem; }
.design-card-name { font-size:0.65rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--ivory); font-weight:500; margin-bottom:0.4rem; }
.design-card-price { font-family:'Cormorant Garamond',serif; font-size:1.2rem; color:var(--rose-light); margin-bottom:0.8rem; }
.design-card-btn { width:100%; padding:0.65rem; background:var(--rose-mid); color:var(--bg); border:none; font-family:'Montserrat',sans-serif; font-size:0.52rem; letter-spacing:0.2em; text-transform:uppercase; cursor:pointer; transition:background 0.3s; }
.design-card-btn:hover { background:var(--rose-light); }
.design-add-card { background:var(--bg2); border:1px dashed rgba(148,175,108,0.3); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.8rem; cursor:pointer; min-height:300px; transition:background 0.3s; }
.design-add-card:hover { background:rgba(148,175,108,0.04); border-color:var(--sage); }
.design-add-card span { font-size:0.55rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--sage); }
.catalog-empty { text-align:center; padding:5rem 2rem; }
.catalog-empty p { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.1rem; color:var(--body); margin-bottom:2rem; }

/* COMMITMENT */
.commitment { background:var(--bg2); }
.commitment-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:2.5rem; }
.commitment-item { padding:2.2rem 1.8rem; border-top:2px solid var(--rose-mid); border-right:1px solid var(--bdr); transition:background 0.3s; }
.commitment-item:last-child { border-right:none; }
.commitment-item:hover { background:rgba(185,55,135,0.05); }
.commitment-title { font-family:'Cormorant Garamond',serif; font-size:1.05rem; color:var(--rose-light); margin-bottom:0.8rem; }
.commitment-text { font-size:0.72rem; line-height:2; color:var(--body); }

/* LOCATIONS */
.locations { background:var(--bg); }
.locations-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; margin-top:3rem; }
.location-card { padding:2.5rem 2rem; background:var(--bg2); border:1px solid var(--bdr); border-top:2px solid var(--rose-mid); }
.location-city { font-family:'Cormorant Garamond',serif; font-size:1.3rem; color:var(--ivory); margin-bottom:0.5rem; }
.location-detail { font-size:0.72rem; line-height:2; color:var(--body); }
.location-tag { display:inline-block; margin-top:1rem; font-size:0.5rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--sage); border:1px solid var(--sage-dim); padding:0.25rem 0.7rem; }

/* CONTACT */
.contact { background:var(--bg2); text-align:center; }
.contact .section-label { justify-content:center; }
.contact .divider { margin:1.5rem auto; }
.contact-sub { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.1rem; color:var(--body); margin-bottom:3rem; }
.contact-grid { display:grid; grid-template-columns:repeat(3,1fr); max-width:800px; margin:0 auto 2rem; gap:2rem; text-align:center; }
.contact-label { font-size:0.52rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--sage); margin-bottom:0.5rem; }
.contact-val { font-size:0.82rem; color:var(--body); line-height:1.9; }
.contact-val a { color:var(--rose-light); text-decoration:none; }
.contact-val a:hover { color:var(--ivory); }
.contact-divider { width:40px; height:1px; background:var(--rose-dim); margin:1.8rem auto 2.5rem; }
.buy-tags { display:flex; flex-wrap:wrap; justify-content:center; gap:1rem; margin-top:3rem; }
.buy-tag { font-size:0.55rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--dim); border:1px solid var(--bdr); padding:0.5rem 1.2rem; }

/* FOOTER */
footer { background:rgba(5,5,12,1); border-top:1px solid var(--cobalt); }
.footer-main { display:grid; grid-template-columns:1fr 1fr; gap:4rem; padding:4rem 3rem; max-width:1100px; margin:0 auto; border-bottom:1px solid var(--bdr); }
.footer-section-label { font-size:0.52rem; letter-spacing:0.35em; text-transform:uppercase; color:var(--sage); margin-bottom:1.5rem; display:flex; align-items:center; gap:0.8rem; }
.footer-section-label::after { content:''; flex:1; height:1px; background:rgba(148,175,108,0.25); }
.footer-blog-title { font-family:'Cormorant Garamond',serif; font-size:1.1rem; color:var(--ivory); margin-bottom:0.5rem; line-height:1.5; }
.footer-blog-excerpt { font-size:0.7rem; line-height:1.9; color:var(--body); margin-bottom:0.8rem; }
.footer-blog-link { font-size:0.55rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--rose-light); text-decoration:none; transition:color 0.3s; }
.footer-blog-link:hover { color:var(--ivory); }
.footer-divider { height:1px; background:var(--bdr); margin:2rem 0; }
.footer-subscribe-text { font-size:0.72rem; line-height:2; color:var(--body); margin-bottom:1.2rem; }
.footer-subscribe-form { display:flex; }
.footer-email-input { flex:1; background:rgba(255,255,255,0.04); border:1px solid var(--bdr); border-right:none; color:var(--ivory); font-family:'Montserrat',sans-serif; font-size:0.72rem; padding:0.8rem 1.2rem; outline:none; transition:border-color 0.3s; }
.footer-email-input::placeholder { color:var(--dim); }
.footer-email-input:focus { border-color:var(--rose-mid); }
.footer-subscribe-btn { background:var(--rose-mid); border:1px solid var(--rose-mid); color:var(--bg); font-family:'Montserrat',sans-serif; font-size:0.55rem; letter-spacing:0.2em; text-transform:uppercase; padding:0.8rem 1.5rem; cursor:pointer; transition:background 0.3s; }
.footer-subscribe-btn:hover { background:var(--rose-light); }
.footer-subscribe-success { display:none; font-size:0.7rem; color:var(--sage); font-style:italic; font-family:'Cormorant Garamond',serif; margin-top:0.8rem; }
.partners-grid { display:flex; flex-wrap:wrap; gap:1.2rem; align-items:center; }
.partner-logo { height:55px; width:auto; object-fit:contain; filter:brightness(0) invert(1); opacity:0.55; transition:opacity 0.3s; }
.partner-logo:hover { opacity:0.9; }
.partner-placeholder { height:55px; padding:0.4rem 1rem; background:rgba(255,255,255,0.03); border:1px solid var(--bdr); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background 0.3s; }
.partner-placeholder:hover { background:rgba(148,175,108,0.06); }
.partner-placeholder span { font-size:0.5rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--dim); }
.upload-partners-btn { margin-top:1rem; background:none; border:1px dashed rgba(148,175,108,0.25); color:var(--sage); font-family:'Montserrat',sans-serif; font-size:0.5rem; letter-spacing:0.2em; text-transform:uppercase; padding:0.5rem 1rem; cursor:pointer; transition:all 0.3s; }
.upload-partners-btn:hover { border-color:var(--sage); background:rgba(148,175,108,0.06); }
.social-row { display:flex; gap:0.8rem; align-items:center; flex-wrap:wrap; }
.social-link { width:40px; height:40px; border:1px solid var(--bdr); display:flex; align-items:center; justify-content:center; color:var(--dim); text-decoration:none; transition:all 0.3s; }
.social-link:hover { border-color:var(--rose-mid); color:var(--rose-light); }
.social-link svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.5; }
.follow-shop-btn { display:flex; align-items:center; gap:0.6rem; background:rgba(185,55,135,0.08); border:1px solid var(--rose-dim); color:var(--rose-light); font-family:'Montserrat',sans-serif; font-size:0.52rem; letter-spacing:0.18em; text-transform:uppercase; padding:0.6rem 1.2rem; text-decoration:none; transition:all 0.3s; }
.follow-shop-btn:hover { background:rgba(185,55,135,0.18); }
.follow-shop-btn svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.5; }
.footer-bottom { padding:1.8rem 3rem; max-width:1100px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; }
.footer-logo { font-family:'Cormorant Garamond',serif; font-size:1rem; color:var(--rose-light); letter-spacing:0.12em; }
.footer-nav { display:flex; gap:1.5rem; list-style:none; flex-wrap:wrap; }
.footer-nav a { font-size:0.52rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--dim); text-decoration:none; transition:color 0.3s; cursor:pointer; }
.footer-nav a:hover { color:var(--sage); }
.footer-copy { font-size:0.5rem; color:rgba(228,222,242,0.28); letter-spacing:0.1em; }

/* LIGHTBOX */
.lightbox { display:none; position:fixed; inset:0; z-index:999; background:rgba(0,0,0,0.94); align-items:center; justify-content:center; flex-direction:column; gap:1.5rem; }
.lightbox.open { display:flex; }
.lightbox img { max-width:75vw; max-height:70vh; object-fit:contain; }
.lightbox-info { text-align:center; }
.lightbox-name { font-family:'Cormorant Garamond',serif; font-size:1.6rem; color:var(--ivory); }
.lightbox-price { font-size:0.75rem; color:var(--rose-light); margin-top:0.3rem; letter-spacing:0.1em; }
.lightbox-close { position:absolute; top:2rem; right:2rem; background:none; border:1px solid rgba(255,255,255,0.15); color:rgba(255,255,255,0.6); font-size:0.6rem; letter-spacing:0.2em; text-transform:uppercase; padding:0.5rem 1rem; cursor:pointer; font-family:'Montserrat',sans-serif; transition:all 0.3s; }
.lightbox-close:hover { border-color:rgba(255,255,255,0.4); color:var(--ivory); }
.lightbox-actions { display:flex; gap:1rem; flex-wrap:wrap; justify-content:center; margin-top:0.5rem; }
.lightbox-inquire { padding:0.85rem 2.5rem; background:var(--rose-mid); color:var(--bg); border:none; font-family:'Montserrat',sans-serif; font-size:0.6rem; letter-spacing:0.25em; text-transform:uppercase; cursor:pointer; transition:background 0.3s; }
.lightbox-inquire:hover { background:var(--rose-light); }
.lightbox-remove { padding:0.85rem 1.5rem; background:none; border:1px solid rgba(255,255,255,0.12); color:rgba(255,255,255,0.35); font-family:'Montserrat',sans-serif; font-size:0.55rem; letter-spacing:0.18em; text-transform:uppercase; cursor:pointer; transition:all 0.3s; }
.lightbox-remove:hover { border-color:rgba(220,80,80,0.5); color:rgba(220,80,80,0.8); }

/* ════════════════════════════
   PAGE 2 — SPOTLIGHT & FEEDBACK
   ════════════════════════════ */

.page-hero { height:55vh; background:var(--bg); display:flex; align-items:center; justify-content:center; text-align:center; position:relative; overflow:hidden; }
.page-hero-pattern { position:absolute; inset:0; background-image:repeating-linear-gradient(45deg,rgba(60,65,170,0.07) 0,rgba(60,65,170,0.07) 1px,transparent 0,transparent 40px),repeating-linear-gradient(-45deg,rgba(60,65,170,0.07) 0,rgba(60,65,170,0.07) 1px,transparent 0,transparent 40px); }
.page-hero-overlay { position:absolute; inset:0; background:radial-gradient(ellipse at center,rgba(9,10,28,0) 0%,rgba(9,10,28,0.8) 100%); }
.page-hero-content { position:relative; z-index:2; padding:0 2rem; }
.page-hero-pre { font-size:0.55rem; letter-spacing:0.45em; text-transform:uppercase; color:var(--sage); margin-bottom:1.2rem; display:flex; align-items:center; justify-content:center; gap:1.2rem; }
.page-hero-pre::before,.page-hero-pre::after { content:''; display:block; width:40px; height:1px; background:rgba(148,175,108,0.45); }
.page-hero h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(2.5rem,6vw,4.5rem); font-weight:300; color:var(--ivory); margin-bottom:0.8rem; }
.page-hero h1 em { font-style:italic; color:var(--rose-light); }
.page-hero p { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.1rem; color:var(--body); }

.spotlight { background:var(--bg); }
.spotlight-intro { max-width:620px; margin-bottom:3rem; }
.spotlight-intro p { font-size:0.78rem; line-height:2; color:var(--body); }
.spotlight-hint { font-size:0.65rem; color:var(--sage); font-style:italic; font-family:'Cormorant Garamond',serif; margin-top:0.5rem; }
.spotlight-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:2rem; }
.spotlight-card { background:var(--bg2); border:1px solid var(--bdr); overflow:hidden; transition:transform 0.35s,box-shadow 0.35s; }
.spotlight-card:hover { transform:translateY(-4px); box-shadow:0 16px 48px rgba(0,0,0,0.4); }
.card-gallery { position:relative; width:100%; aspect-ratio:3/4; background:rgba(5,6,14,0.95); overflow:hidden; }
.card-gallery-slides { display:flex; height:100%; transition:transform 0.4s ease; }
.card-gallery-slide { min-width:100%; height:100%; flex-shrink:0; }
.card-gallery-slide img { width:100%; height:100%; object-fit:cover; display:block; cursor:pointer; }
.card-placeholder { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; }
.card-placeholder-text { font-size:0.58rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--dim); }
.card-gallery-nav { position:absolute; bottom:0.8rem; left:50%; transform:translateX(-50%); display:flex; gap:0.4rem; z-index:5; }
.card-dot { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,0.25); border:none; cursor:pointer; padding:0; transition:background 0.2s; }
.card-dot.active { background:var(--rose-light); }
.card-arrow { position:absolute; top:50%; transform:translateY(-50%); background:rgba(9,10,28,0.65); border:1px solid var(--rose-dim); color:var(--rose-light); width:28px; height:28px; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:5; font-size:0.9rem; }
.card-arrow.prev { left:0.5rem; }
.card-arrow.next { right:0.5rem; }
.card-add-photo { position:absolute; bottom:0.6rem; right:0.6rem; z-index:5; background:rgba(9,10,28,0.85); border:1px solid var(--rose-dim); color:var(--rose-light); font-size:0.5rem; letter-spacing:0.15em; text-transform:uppercase; padding:0.3rem 0.65rem; cursor:pointer; font-family:'Montserrat',sans-serif; }
.card-add-photo:hover { background:rgba(185,55,135,0.2); }
.card-remove-photo { position:absolute; bottom:0.6rem; left:0.6rem; z-index:5; background:rgba(9,10,28,0.85); border:1px solid rgba(180,50,50,0.4); color:rgba(220,100,100,0.8); font-size:0.5rem; letter-spacing:0.15em; text-transform:uppercase; padding:0.3rem 0.65rem; cursor:pointer; font-family:'Montserrat',sans-serif; }
.card-upload-overlay { position:absolute; inset:0; background:rgba(9,10,28,0.6); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.6rem; opacity:0; transition:opacity 0.3s; cursor:pointer; z-index:4; }
.card-gallery:hover .card-upload-overlay { opacity:1; }
.card-upload-overlay span { font-size:0.55rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--sage); }
.featured-badge { position:absolute; top:0.8rem; right:0.8rem; z-index:6; background:var(--rose-mid); color:var(--ivory); font-size:0.48rem; letter-spacing:0.2em; text-transform:uppercase; padding:0.28rem 0.65rem; }
.card-body { padding:1.8rem; }
.card-type-tag { display:inline-block; font-size:0.48rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--sage); border:1px solid var(--sage-dim); padding:0.22rem 0.65rem; margin-bottom:0.8rem; }
.edit-hint { font-size:0.55rem; letter-spacing:0.1em; color:var(--rose-dim); margin-bottom:0.6rem; font-style:italic; }
.editable { border:none; outline:none; background:transparent; font-family:inherit; color:inherit; width:100%; resize:none; cursor:text; }
.editable:focus { background:rgba(185,55,135,0.05); outline:1px solid var(--rose-dim); padding:2px 4px; }
.editable-name { font-family:'Cormorant Garamond',serif; font-size:1.4rem; color:var(--ivory); display:block; }
.editable-piece { font-size:0.65rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--body); display:block; margin-top:0.3rem; }
.card-divider { height:1px; background:var(--bdr); margin:1rem 0; }
.editable-story { font-size:0.75rem; line-height:2; color:var(--body); min-height:60px; display:block; }
.card-footer-inner { display:flex; justify-content:flex-end; margin-top:1rem; }
.delete-card-btn { background:none; border:none; cursor:pointer; font-size:0.55rem; letter-spacing:0.1em; text-transform:uppercase; color:rgba(185,55,135,0.35); transition:color 0.3s; font-family:'Montserrat',sans-serif; }
.delete-card-btn:hover { color:rgba(220,80,80,0.8); }
.spotlight-empty { grid-column:1/-1; text-align:center; padding:4rem 2rem; border:1px dashed var(--bdr); }
.spotlight-empty p { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.1rem; color:var(--body); margin-bottom:1.5rem; }
.add-card-btn { display:flex; align-items:center; justify-content:center; gap:0.8rem; background:transparent; border:1px dashed rgba(148,175,108,0.25); color:var(--sage); font-family:'Montserrat',sans-serif; font-size:0.55rem; letter-spacing:0.2em; text-transform:uppercase; padding:2.5rem 2rem; cursor:pointer; transition:all 0.3s; width:100%; margin-top:2rem; }
.add-card-btn:hover { background:rgba(148,175,108,0.04); border-color:var(--sage); }

.feedback-section { background:var(--bg2); }
.feedback-form { background:rgba(255,255,255,0.02); border:1px solid var(--bdr); padding:2.5rem; margin-bottom:3rem; }
.form-title { font-family:'Cormorant Garamond',serif; font-size:1.3rem; color:var(--rose-light); margin-bottom:1.5rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin-bottom:1.2rem; }
.form-group { display:flex; flex-direction:column; gap:0.4rem; }
.form-group label { font-size:0.5rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--dim); }
.form-input { background:rgba(255,255,255,0.04); border:1px solid var(--bdr); color:var(--ivory); font-family:'Montserrat',sans-serif; font-size:0.78rem; padding:0.7rem 1rem; outline:none; transition:border-color 0.3s; width:100%; }
.form-input:focus { border-color:var(--rose-mid); }
.form-input::placeholder { color:var(--dim); }
.form-textarea { resize:vertical; min-height:100px; }
.star-select { display:flex; gap:6px; margin-top:0.2rem; }
.star-sel { width:22px; height:22px; cursor:pointer; fill:none; stroke:var(--rose-mid); stroke-width:1.5; transition:fill 0.2s; }
.star-sel.filled { fill:var(--rose-mid); }
.submit-btn { margin-top:1.5rem; background:var(--rose-mid); color:var(--bg); border:none; font-family:'Montserrat',sans-serif; font-size:0.58rem; letter-spacing:0.25em; text-transform:uppercase; padding:0.9rem 2.5rem; cursor:pointer; transition:background 0.3s; }
.submit-btn:hover { background:var(--rose-light); }
.form-success { display:none; font-size:0.75rem; color:var(--sage); margin-top:1rem; font-style:italic; font-family:'Cormorant Garamond',serif; }
.feedback-list { display:flex; flex-direction:column; gap:1px; }
.feedback-item { background:rgba(255,255,255,0.02); border:1px solid var(--bdr); padding:2rem 2.5rem; transition:background 0.3s; }
.feedback-item:hover { background:rgba(185,55,135,0.04); }
.feedback-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:1rem; flex-wrap:wrap; gap:0.8rem; }
.feedback-meta { display:flex; flex-direction:column; gap:0.3rem; }
.feedback-author { font-family:'Cormorant Garamond',serif; font-size:1.1rem; color:var(--rose-light); }
.feedback-product { font-size:0.52rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--dim); }
.feedback-stars { display:flex; gap:3px; }
.fstar { width:12px; height:12px; fill:var(--rose-mid); stroke:var(--rose-mid); stroke-width:1; }
.fstar.empty { fill:none; }
.feedback-body { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1rem; line-height:2; color:var(--body); border-left:2px solid var(--rose-dim); padding-left:1.2rem; }
.feedback-footer { margin-top:1rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:0.5rem; }
.feedback-date { font-size:0.52rem; letter-spacing:0.1em; color:var(--dim); }
.feedback-actions { display:flex; align-items:center; gap:0.8rem; }
.promote-btn { background:none; border:1px solid var(--rose-dim); cursor:pointer; font-size:0.5rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--rose-light); transition:all 0.3s; font-family:'Montserrat',sans-serif; padding:0.3rem 0.8rem; }
.promote-btn:hover { background:rgba(185,55,135,0.1); }
.promote-btn.promoted { background:rgba(185,55,135,0.12); border-color:var(--rose-mid); }
.remove-feedback { background:none; border:none; cursor:pointer; font-size:0.5rem; letter-spacing:0.1em; text-transform:uppercase; color:rgba(185,55,135,0.3); font-family:'Montserrat',sans-serif; transition:color 0.3s; }
.remove-feedback:hover { color:rgba(220,80,80,0.8); }
.no-feedback { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1rem; color:var(--dim); text-align:center; padding:3rem; border:1px dashed var(--bdr); }

/* FOOTER 2 */
.footer-simple { background:rgba(5,5,12,1); padding:2.5rem 3rem; border-top:1px solid var(--cobalt); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; }
.footer-simple .footer-logo { font-family:'Cormorant Garamond',serif; font-size:1rem; color:var(--rose-light); letter-spacing:0.12em; }
.footer-simple .footer-copy { font-size:0.5rem; color:var(--dim); letter-spacing:0.1em; }

/* ── RESPONSIVE ── */
@media(max-width:900px) {
  .story-grid,.commitment-grid { grid-template-columns:repeat(2,1fr); }
  .product-cards-grid { grid-template-columns:1fr; }
  .product-main-card { border-right:none; border-bottom:1px solid var(--bdr); }
  .craft-inner { grid-template-columns:1fr; gap:3rem; }
  .craft-visual { display:none; }
}
@media(max-width:768px) {
  nav { padding:1rem 1.5rem; }
  .nav-links { display:none; }
  section { padding:4rem 1.5rem; }
  .story-grid,.commitment-grid,.locations-grid { grid-template-columns:1fr; }
  .contact-grid { grid-template-columns:1fr; }
  .footer-main { grid-template-columns:1fr; gap:2.5rem; padding:2.5rem 1.5rem; }
  .footer-bottom { flex-direction:column; text-align:center; padding:1.5rem; }
  .catalog-tabs { flex-direction:column; }
  .story-stats { grid-template-columns:repeat(2,1fr); }
  .form-row { grid-template-columns:1fr; }
  .footer-simple { flex-direction:column; text-align:center; padding:1.5rem; }
}
</style>