@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Jost:wght@400;500;600&display=swap');

:root{
  --ink:#1B1B1B; --ink-soft:#6E6660; --bg:#FFFFFF; --bg-soft:#FAF6F2;
  --gold:#B9902F; --gold-soft:#E4C878; --rose:#7C4750; --line:#EDE5DC;
}
*{box-sizing:border-box;}
body{margin:0;font-family:'Jost',Arial,sans-serif;color:var(--ink);background:var(--bg);}
h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;margin:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px;}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 26px;border-radius:999px;font-weight:600;font-size:0.95rem;border:none;cursor:pointer;text-decoration:none;}
.btn-primary{background:var(--ink);color:#fff;}
.btn-primary:hover{background:#333;}
.btn-rose{background:var(--rose);color:#fff;}
.btn-outline{background:#fff;border:1px solid var(--ink);color:var(--ink);}
input,select,textarea{font-family:inherit;font-size:0.92rem;padding:10px 12px;border:1px solid var(--line);border-radius:8px;width:100%;}
.error{color:#b91c1c;font-size:0.85rem;}
.success{color:#15803d;font-size:0.85rem;}

/* header */
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 24px;}
.logo{font-family:'Playfair Display',serif;font-weight:700;font-size:1.35rem;}
.logo em{font-style:normal;color:var(--rose);}
.nav-links{display:flex;gap:24px;font-size:0.92rem;font-weight:500;}
.nav-icons{display:flex;gap:16px;align-items:center;}
.nav-icons svg{width:20px;height:20px;}
.cart-link{position:relative;}
.cart-count{position:absolute;top:-8px;right:-9px;background:var(--rose);color:#fff;font-size:0.6rem;font-weight:600;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.lang-toggle-btn{display:flex;align-items:center;justify-content:center;min-width:32px;height:28px;padding:0 8px;border:1px solid var(--line);border-radius:999px;font-size:0.78rem;font-weight:700;color:var(--ink);background:var(--bg-soft);text-decoration:none;}
.lang-toggle-btn:hover{background:var(--gold-soft);border-color:var(--gold);}
.promo-strip{background:var(--ink);color:#fff;text-align:center;font-size:0.78rem;padding:8px 12px;}

/* footer */
.site-footer{margin-top:60px;border-top:1px solid var(--line);background:var(--bg-soft);}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px;padding:50px 24px;max-width:1200px;margin:0 auto;}
.footer-grid h4{font-size:0.8rem;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:12px;}
.footer-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:0.88rem;color:var(--ink-soft);}
.footer-bottom{border-top:1px solid var(--line);padding:18px 24px 8px;display:flex;justify-content:space-between;font-size:0.82rem;color:var(--ink-soft);max-width:1200px;margin:0 auto;flex-wrap:wrap;gap:10px;}

/* trust strip */
.trust-strip{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;}
.trust-marquee-track span{font-size:0.85rem;font-weight:500;}

.pdp-sticky-actions-inner{display:flex;gap:10px;}
@media(max-width:900px){
  .pdp-sticky-actions{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));z-index:60;box-shadow:0 -4px 12px rgba(0,0,0,0.06);}
  .pdp-sticky-spacer{display:block;height:70px;}
}
@media(min-width:901px){
  .pdp-sticky-spacer{display:none;}
}

/* hero */
.hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:40px 24px;max-width:1200px;margin:0 auto;}
.hero h1{font-size:clamp(2rem,4vw,3rem);line-height:1.15;margin:12px 0 16px;}
.hero p{color:var(--ink-soft);max-width:44ch;margin-bottom:24px;}
.hero-photo{aspect-ratio:4/5;border-radius:24px;overflow:hidden;background:var(--bg-soft);}
.hero-photo img{width:100%;height:100%;object-fit:cover;}
.eyebrow{color:var(--rose);font-size:0.78rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;}
#hero-headline,#hero-subtext{transition:opacity .4s ease;}
.hero-fade{opacity:0;}
.hero-photo{position:relative;overflow:hidden;}
.hero-photo img{transition:opacity .5s ease,transform 6s ease;}
.hero-photo:hover img{transform:scale(1.04);}

/* product grid */
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.prod-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;transition:transform .15s ease,box-shadow .15s ease;}
.prod-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(27,27,27,0.08);}
.prod-photo{aspect-ratio:1/1;background:var(--bg-soft);}
.prod-photo img{width:100%;height:100%;object-fit:cover;}
.prod-body{padding:14px;}
.prod-body h3{font-size:0.92rem;font-family:'Jost',sans-serif;font-weight:600;margin-bottom:8px;}
.price-old{color:var(--ink-soft);text-decoration:line-through;font-size:0.82rem;margin-right:6px;}
.price-new{font-weight:700;}

.category-tile-slider{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;}

.social-icon-link{display:flex;align-items:center;justify-content:center;width:32px;height:32px;text-decoration:none;transition:transform .15s ease;}
.social-icon-link svg{width:100%;height:100%;}
.social-icon-link:hover{transform:translateY(-2px);}

.instagram-slider{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:8px;}
.instagram-slider::-webkit-scrollbar{display:none;}
.instagram-slide{flex:0 0 300px;scroll-snap-align:start;}
@media(max-width:560px){
  .instagram-slide{flex:0 0 85vw;}
}
.category-tile-slider::-webkit-scrollbar{display:none;}
.category-tile{flex:0 0 calc((100% - 4*18px) / 5);scroll-snap-align:start;}
.cat-slider-arrow{position:absolute;top:40%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:1.2rem;line-height:1;cursor:pointer;z-index:2;box-shadow:0 2px 6px rgba(0,0,0,0.1);display:flex;align-items:center;justify-content:center;}
.cat-slider-arrow:hover{background:var(--bg-soft);}

.trust-marquee-track{display:flex;gap:48px;animation:trust-scroll 32s linear infinite;white-space:nowrap;width:max-content;}
.trust-marquee-wrap{overflow:hidden;}
@keyframes trust-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

@media(max-width:900px){
  .hero{grid-template-columns:1fr;padding:24px 20px;}
  .prod-grid{grid-template-columns:repeat(2,1fr);gap:14px;}
  .category-tile-slider{gap:12px!important;}
  .category-tile{flex:0 0 calc((100% - 2*12px) / 3)!important;}
  .footer-grid{grid-template-columns:1fr 1fr;padding:36px 20px;}
  .nav-links{position:fixed;top:0;right:-280px;bottom:0;width:260px;background:#fff;flex-direction:column;gap:4px;padding:70px 20px 20px;box-shadow:-8px 0 24px rgba(0,0,0,0.12);transition:right .25s ease;z-index:60;}
  .nav-links.is-open{right:0;}
  .nav-links a{padding:12px 4px;border-bottom:1px solid var(--line);}
  .nav-toggle{display:block!important;}
  .nav-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.4);z-index:55;}
  .nav-backdrop.is-open{display:block;}
  .site-header .wrap{padding:12px 16px;}
  .split-main{grid-template-columns:1fr!important;}
  .split-even{grid-template-columns:1fr!important;}
  .admin-layout{grid-template-columns:1fr!important;}
  .admin-sidebar{position:fixed;top:0;left:-240px;bottom:0;width:220px;z-index:60;transition:left .25s ease;}
  .admin-sidebar.is-open{left:0;}
  .admin-main{padding:20px 16px!important;}
  .admin-menu-toggle{display:block!important;}
  table{display:block;overflow-x:auto;white-space:nowrap;}
  .wrap{padding-left:16px;padding-right:16px;}
}
@media(max-width:560px){
  .prod-grid{grid-template-columns:1fr 1fr;}
  h1{font-size:1.5rem!important;}
}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;}
.admin-menu-toggle{display:none;background:var(--ink);color:#fff;border:none;padding:10px 14px;border-radius:8px;margin-bottom:16px;}
