@import url('https://fonts.googleapis.com/css2?family=Marcellus&family=Poppins:wght@300;400;500;600;700&display=swap');

:root{
  --ivory:#FBF5E9;
  --ivory-dim:#F3E4D0;
  --maroon:#6B1B2C;
  --maroon-deep:#4A1120;
  --gold:#C7972F;
  --gold-soft:#E4C687;
  --indigo:#2E3A59;
  --ink:#2B211C;
  --ink-soft:#6b5f57;
  --radius:2px;
  --maxw:1180px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font-family:'Poppins',sans-serif;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{
  font-family:'Marcellus', serif;
  font-weight:400;
  color:var(--maroon-deep);
  letter-spacing:.01em;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
.eyebrow{
  font-size:12px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--gold); font-weight:600; display:block; margin-bottom:10px;
}
.eyebrow-icon{
  width:14px; height:14px; display:inline-block; vertical-align:-2px; margin-right:4px;
}

/* ---------- Woven border divider (signature element) ---------- */
.woven-border{
  height:22px;
  width:100%;
  background:
    linear-gradient(var(--maroon), var(--maroon)),
    repeating-linear-gradient(90deg, transparent 0 6px, var(--gold) 6px 8px);
  background-blend-mode:normal;
  position:relative;
  overflow:hidden;
}
.woven-border::before{
  content:"";
  position:absolute; inset:0;
  background-image: repeating-linear-gradient(
      45deg, transparent 0 9px, rgba(199,151,47,.55) 9px 11px
    ),
    repeating-linear-gradient(
      -45deg, transparent 0 9px, rgba(199,151,47,.35) 9px 11px
    );
  mix-blend-mode: normal;
}
.woven-border.thin{height:10px;}

/* ---------- Header / Nav ---------- */
header.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(251,245,233,.94);
  backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(107,27,44,.15);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 28px; max-width:var(--maxw); margin:0 auto;
}
.brand{display:flex; flex-direction:column; line-height:1;}
.brand .name{font-family:'Marcellus',serif; font-size:26px; color:var(--maroon-deep);}
.brand .tag{font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-top:4px;}
.nav-links{display:flex; gap:32px; align-items:center; font-size:14px; font-weight:500;}
.nav-links a{position:relative; padding:4px 0; color:var(--ink);}
.nav-links a:hover{color:var(--maroon);}
.nav-links a.active{color:var(--maroon);}
.nav-links a.active::after{
  content:""; position:absolute; left:0; right:0; bottom:-4px; height:2px; background:var(--gold);
}
.btn{
  display:inline-block; padding:12px 26px; border-radius:var(--radius);
  font-size:13px; letter-spacing:.06em; text-transform:uppercase; font-weight:600;
  border:1px solid var(--maroon); cursor:pointer; transition:.25s;
}
.btn-primary{background:var(--maroon); color:var(--ivory);}
.btn-primary:hover{background:var(--maroon-deep);}
.btn-outline{background:transparent; color:var(--maroon);}
.btn-outline:hover{background:var(--maroon); color:var(--ivory);}
.menu-toggle{display:none; background:none; border:none; font-size:26px; color:var(--maroon-deep); cursor:pointer;}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  min-height:78vh;
  display:flex; align-items:center;
  background:
    radial-gradient(ellipse at 80% 20%, rgba(199,151,47,.18), transparent 55%),
    linear-gradient(120deg, var(--maroon-deep) 0%, var(--maroon) 55%, #7a2436 100%);
  color:var(--ivory);
  overflow:hidden;
}
.hero::after{
  content:"";
  position:absolute; inset:0;
  background-image: repeating-linear-gradient(115deg, rgba(255,255,255,.035) 0 2px, transparent 2px 34px);
  pointer-events:none;
}
.hero-drape{
  position:absolute; top:-8%; right:-6%; height:130%; width:auto;
  opacity:.22; pointer-events:none; z-index:0;
}
.hero-inner{position:relative; z-index:1;}
.hero-inner{
  max-width:var(--maxw); margin:0 auto; padding:80px 28px;
  display:grid; grid-template-columns:1.1fr .9fr; gap:60px; align-items:center; width:100%;
}
.hero h1{
  color:var(--ivory); font-size:clamp(38px,5.2vw,62px); line-height:1.08; margin:0 0 22px;
}
.hero h1 em{font-style:italic; color:var(--gold-soft);}
.hero p{font-size:16px; line-height:1.75; color:#efe2d0; max-width:480px; margin-bottom:32px;}
.hero-ctas{display:flex; gap:16px; flex-wrap:wrap;}
.hero .btn-outline{border-color:var(--gold-soft); color:var(--gold-soft);}
.hero .btn-outline:hover{background:var(--gold-soft); color:var(--maroon-deep);}
.hero .btn-primary{background:var(--gold); border-color:var(--gold); color:var(--maroon-deep);}
.hero .btn-primary:hover{background:var(--gold-soft); border-color:var(--gold-soft);}

.hero-swatches{
  display:grid; grid-template-columns:repeat(2,1fr); gap:14px;
}
.swatch{
  aspect-ratio:3/4; border-radius:2px; position:relative; overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 14px 30px rgba(0,0,0,.28);
}
.swatch img{width:100%; height:100%; object-fit:cover; display:block;}
.swatch:nth-child(2){margin-top:26px;}
.swatch:nth-child(3){margin-top:-26px;}

/* ---------- Section shell ---------- */
section{padding:84px 0;}
.section-head{max-width:640px; margin:0 auto 48px; text-align:center;}
.section-head h2{font-size:clamp(28px,3.4vw,40px); margin:0 0 14px;}
.section-head p{color:var(--ink-soft); font-size:15px; line-height:1.7;}

/* ---------- Category grid ---------- */
.cat-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:22px;
}
.cat-card{
  background:#fff; border:1px solid rgba(107,27,44,.12);
  overflow:hidden; position:relative; transition:.3s;
}
.cat-card:hover{transform:translateY(-6px); box-shadow:0 18px 40px rgba(74,17,32,.14);}
.cat-thumb{aspect-ratio:4/5; background:var(--ivory-dim); position:relative; overflow:hidden;}
.cat-thumb img{width:100%; height:100%; object-fit:cover; transition:.5s;}
.cat-card:hover .cat-thumb img{transform:scale(1.06);}
.cat-body{padding:18px 20px 22px;}
.cat-body .num{font-size:11px; color:var(--gold); letter-spacing:.15em; font-weight:600;}
.cat-body h3{font-size:19px; margin:6px 0 8px;}
.cat-body p{font-size:13px; color:var(--ink-soft); line-height:1.6; margin:0;}

/* ---------- About / story split ---------- */
.story{
  display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:center;
}
.story img{border-radius:2px; width:100%; aspect-ratio:4/5; object-fit:cover;}
.story h2{font-size:clamp(26px,3vw,36px); margin-bottom:18px;}
.story p{color:var(--ink-soft); line-height:1.85; font-size:15px; margin-bottom:16px;}
.story-stats{display:flex; gap:36px; margin-top:28px;}
.story-stats div strong{display:block; font-family:'Marcellus',serif; font-size:28px; color:var(--maroon);}
.story-stats div span{font-size:12px; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-soft);}

/* ---------- Gallery preview strip on home ---------- */
.strip{display:grid; grid-template-columns:repeat(5,1fr); gap:14px;}
.strip a{aspect-ratio:3/4; overflow:hidden; position:relative; background:var(--ivory-dim);}
.strip img{width:100%; height:100%; object-fit:cover; transition:.4s;}
.strip a:hover img{transform:scale(1.08);}

/* ---------- Contact / visit ---------- */
.visit{
  background:var(--maroon-deep); color:var(--ivory);
}
.visit-inner{display:grid; grid-template-columns:1fr 1fr; gap:60px;}
.visit h2{color:var(--ivory);}
.visit p{color:#e6d6c4; line-height:1.8; font-size:15px;}
.visit-detail{margin-bottom:22px;}
.visit-detail .label{font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:var(--gold-soft); margin-bottom:6px;}
.visit-detail .value{font-size:15px;}
.map-frame{border:1px solid rgba(255,255,255,.18); border-radius:2px; overflow:hidden; min-height:320px;}
.map-frame iframe{width:100%; height:100%; min-height:320px; border:0; filter:grayscale(.15) sepia(.1);}

/* ---------- Footer ---------- */
footer{background:var(--ink); color:#cfc2b6; padding:44px 0 26px; font-size:13px;}
.footer-inner{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;}
.footer-inner .brand-mini{font-family:'Marcellus',serif; font-size:18px; color:var(--gold-soft);}
footer a{color:#cfc2b6;}
footer a:hover{color:var(--gold-soft);}

/* ---------- Gallery page ---------- */
.gallery-toolbar{
  display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:46px;
}
.chip{
  padding:9px 20px; border:1px solid rgba(107,27,44,.3); border-radius:30px;
  font-size:13px; cursor:pointer; background:#fff; color:var(--maroon); transition:.2s; font-weight:500;
}
.chip:hover{background:var(--ivory-dim);}
.chip.active{background:var(--maroon); color:var(--ivory); border-color:var(--maroon);}
.masonry{
  columns:4 240px; column-gap:18px;
}
.g-item{
  break-inside:avoid; margin-bottom:18px; background:#fff; border:1px solid rgba(107,27,44,.1);
  overflow:hidden; position:relative;
}
.g-item img{width:100%; display:block;}
.g-caption{padding:14px 16px;}
.g-caption .cat-tag{font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); font-weight:600;}
.g-caption h4{margin:6px 0 0; font-size:15px; font-family:'Poppins'; font-weight:600; color:var(--ink);}
.empty-state{
  text-align:center; padding:80px 20px; color:var(--ink-soft);
}
.empty-state h3{color:var(--maroon-deep); margin-bottom:10px;}

/* Lightbox */
.lightbox{
  position:fixed; inset:0; background:rgba(20,10,10,.92); z-index:200;
  display:none; align-items:center; justify-content:center; padding:40px;
}
.lightbox.open{display:flex;}
.lightbox img{max-height:86vh; max-width:90vw; object-fit:contain; border:2px solid rgba(255,255,255,.1);}
.lightbox-close{
  position:absolute; top:24px; right:32px; color:#fff; font-size:32px; cursor:pointer; background:none; border:none;
}
.lightbox-cap{position:absolute; bottom:28px; left:0; right:0; text-align:center; color:#f3e4d0; font-size:14px;}

/* ---------- Admin ---------- */
.admin-shell{min-height:100vh; background:var(--ivory);}
.admin-login{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(120deg, var(--maroon-deep), var(--maroon));
}
.login-card{
  background:var(--ivory); padding:44px 40px; width:360px; border-radius:2px;
  box-shadow:0 30px 60px rgba(0,0,0,.3);
}
.login-card h2{margin-top:0; font-size:24px;}
.field{margin-bottom:18px;}
.field label{display:block; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:8px; font-weight:600;}
.field input, .field select{
  width:100%; padding:12px 14px; border:1px solid rgba(107,27,44,.25); border-radius:2px;
  font-family:'Poppins'; font-size:14px; background:#fff;
}
.field input:focus, .field select:focus{outline:2px solid var(--gold); outline-offset:1px;}
.msg{font-size:13px; margin-top:10px;}
.msg.error{color:#a3273a;}
.msg.success{color:#2e6b3e;}

.admin-topbar{
  display:flex; justify-content:space-between; align-items:center;
  padding:18px 28px; background:#fff; border-bottom:1px solid rgba(107,27,44,.12);
}
.admin-main{max-width:1080px; margin:0 auto; padding:44px 28px 90px;}
.admin-grid{display:grid; grid-template-columns:360px 1fr; gap:40px; align-items:start;}
.upload-card{background:#fff; border:1px solid rgba(107,27,44,.12); padding:28px; border-radius:2px;}
.upload-card h3{margin-top:0;}
.file-drop{
  border:2px dashed rgba(107,27,44,.3); border-radius:2px; padding:26px; text-align:center;
  cursor:pointer; color:var(--ink-soft); font-size:13px; margin-bottom:18px; position:relative; background:var(--ivory-dim);
}
.file-drop.has-file{border-style:solid; color:var(--maroon);}
.file-drop input{position:absolute; inset:0; opacity:0; cursor:pointer;}
.preview-thumb{max-height:120px; margin:0 auto 10px; border-radius:2px;}
.admin-gallery-list{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.admin-item{background:#fff; border:1px solid rgba(107,27,44,.12); overflow:hidden;}
.admin-item img{width:100%; aspect-ratio:4/5; object-fit:cover;}
.admin-item-body{padding:10px 12px 14px;}
.admin-item-body .cat-tag{font-size:10px; color:var(--gold); text-transform:uppercase; letter-spacing:.1em; font-weight:600;}
.admin-item-body h4{margin:4px 0 10px; font-size:14px;}
.delete-btn{
  font-size:12px; color:#a3273a; background:none; border:1px solid #a3273a; padding:6px 12px;
  cursor:pointer; border-radius:2px;
}
.delete-btn:hover{background:#a3273a; color:#fff;}
.count-pill{
  display:inline-block; background:var(--ivory-dim); color:var(--maroon); font-size:12px;
  padding:5px 12px; border-radius:20px; font-weight:600;
}

/* ---------- Pattern swatches (placeholders until real photography is uploaded) ---------- */
.pattern{width:100%; height:100%; position:relative;}
.pattern-silk{background:linear-gradient(160deg,#7a2436,#4A1120 60%,#2c0a13); }
.pattern-silk::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg, rgba(199,151,47,.5) 0 3px, transparent 3px 26px);}
.pattern-cotton{background:linear-gradient(160deg,#e7d9bd,#cdb98f 70%);}
.pattern-cotton::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg, rgba(107,27,44,.12) 0 2px, transparent 2px 18px), repeating-linear-gradient(90deg, rgba(107,27,44,.12) 0 2px, transparent 2px 18px);}
.pattern-salwar{background:linear-gradient(160deg,#f0e2ea,#d9a9c2 70%);}
.pattern-salwar::after{content:"";position:absolute;inset:0;background:radial-gradient(circle, rgba(107,27,44,.25) 3px, transparent 4px) 0 0/22px 22px;}
.pattern-tissue{background:linear-gradient(150deg,#f6ecd2,#e0c076 75%);}
.pattern-tissue::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg, transparent 40%, rgba(255,255,255,.5) 50%, transparent 60%); background-size:200% 200%;}
.pattern-ikkat{background:linear-gradient(160deg,#2E3A59,#1c2438 70%);}
.pattern-ikkat::after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(45deg, rgba(199,151,47,.35) 0 4px, transparent 4px 16px), repeating-linear-gradient(-45deg, rgba(251,245,233,.15) 0 4px, transparent 4px 16px);}
.pattern-batik{background:linear-gradient(160deg,#3a2a1c,#1f160f 70%);}
.pattern-batik::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 30%, rgba(199,151,47,.4) 0 6px, transparent 7px), radial-gradient(circle at 70% 65%, rgba(199,151,47,.3) 0 8px, transparent 9px), radial-gradient(circle at 45% 85%, rgba(199,151,47,.25) 0 5px, transparent 6px);}
.pattern-tiedye{background:linear-gradient(160deg,#6B1B2C,#C7972F 130%);}
.pattern-tiedye::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 30% 30%, rgba(255,255,255,.35) 0 10px, transparent 11px), radial-gradient(circle at 70% 60%, rgba(255,255,255,.25) 0 14px, transparent 15px), radial-gradient(circle at 50% 85%, rgba(255,255,255,.3) 0 8px, transparent 9px);}
.pattern-label{
  position:absolute; bottom:0; left:0; right:0; padding:10px 12px;
  font-family:'Marcellus',serif; color:#fff; font-size:13px; letter-spacing:.03em;
  background:linear-gradient(0deg, rgba(0,0,0,.45), transparent);
}

/* ---------- Responsive ---------- */
@media (max-width:920px){
  .hero-inner{grid-template-columns:1fr; text-align:left;}
  .hero-swatches{display:none;}
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .story{grid-template-columns:1fr;}
  .strip{grid-template-columns:repeat(3,1fr);}
  .visit-inner{grid-template-columns:1fr;}
  .masonry{columns:2 200px;}
  .admin-grid{grid-template-columns:1fr;}
  .admin-gallery-list{grid-template-columns:repeat(2,1fr);}
  .nav-links{
    position:fixed; top:70px; left:0; right:0; background:var(--ivory);
    flex-direction:column; padding:24px 28px; gap:20px; border-bottom:1px solid rgba(107,27,44,.15);
    display:none;
  }
  .nav-links.open{display:flex;}
  .menu-toggle{display:block;}
}
@media (max-width:560px){
  .cat-grid{grid-template-columns:1fr 1fr;}
  .strip{grid-template-columns:repeat(2,1fr);}
  .masonry{columns:1;}
}
