/* AQDERA Invites — Luxury Themes Gallery (themes page only) */
.themes-gallery-page{
  --g-ink:#1c1814;
  --g-muted:#6f655c;
  --g-line:#e4dbd0;
  --g-paper:#fffcf7;
  --g-soft:#f3eee6;
  --g-gold:#b8924a;
  --g-gold-soft:#e6d3a8;
  --g-shadow:0 18px 48px rgba(28,24,20,.08);
  --g-shadow-hover:0 28px 64px rgba(28,24,20,.14);
  --g-radius:22px;
  --font-display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --font-ui:Manrope,ui-sans-serif,system-ui,sans-serif;
  background:
    radial-gradient(1200px 520px at 100% -10%,rgba(184,146,74,.10),transparent 55%),
    radial-gradient(900px 480px at -10% 20%,rgba(80,60,40,.05),transparent 50%),
    var(--g-soft);
  color:var(--g-ink);
  font-family:var(--font-ui);
  min-height:100vh;
}
.themes-gallery-page .app-header{
  background:rgba(26,23,20,.94);
}
.gallery-shell{
  width:min(1180px,calc(100% - 32px));
  margin-inline:auto;
  padding-bottom:96px;
}
.gallery-hero{
  padding:72px 0 36px;
  max-width:760px;
}
.gallery-hero .eyebrow{
  display:inline-block;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--g-gold);
  margin-bottom:14px;
}
.gallery-hero h1{
  margin:0 0 16px;
  font-family:var(--font-display);
  font-weight:500;
  font-size:clamp(2.8rem,6.4vw,4.8rem);
  line-height:.98;
  letter-spacing:-.01em;
  color:var(--g-ink);
}
.gallery-hero p{
  margin:0;
  max-width:560px;
  font-size:1.05rem;
  line-height:1.75;
  color:var(--g-muted);
  font-weight:500;
}

/* Collections */
.collection-rail{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:4px 2px 18px;
  margin-bottom:4px;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.collection-rail::-webkit-scrollbar{display:none}
.collection-chip{
  flex:0 0 auto;
  white-space:nowrap;
  min-height:46px;
  padding:11px 18px;
  border-radius:999px;
  border:1px solid var(--g-line);
  background:var(--g-paper);
  color:var(--g-ink);
  font-weight:700;
  font-size:.9rem;
  cursor:pointer;
  transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease;
}
.collection-chip:hover{border-color:#cbbba8;transform:translateY(-1px)}
.collection-chip.active{
  background:var(--g-ink);
  border-color:var(--g-ink);
  color:#fff;
}
.collection-chip .count{
  margin-inline-start:8px;
  opacity:.55;
  font-weight:600;
  font-size:.78rem;
}

.themes-gallery-page .rail-spacer{display:none;flex:0 0 20px;width:20px;min-height:1px;pointer-events:none}

/* Event tabs */
.tabs{
  position:sticky;
  top:64px;
  z-index:8;
  display:flex;
  gap:8px;
  overflow:auto;
  padding:10px 4px;
  margin:0 0 28px;
  background:rgba(243,238,230,.9);
  backdrop-filter:blur(14px);
  scrollbar-width:none;
}
.tabs::-webkit-scrollbar{display:none}
.tab{
  white-space:nowrap;
  border:1px solid transparent;
  background:transparent;
  color:var(--g-muted);
  border-radius:999px;
  padding:10px 14px;
  min-height:42px;
  font-weight:700;
  font-size:.86rem;
  cursor:pointer;
  transition:color .2s ease,background .2s ease;
}
.tab:hover{color:var(--g-ink);background:rgba(255,255,255,.55)}
.tab.active{
  background:var(--g-paper);
  color:var(--g-ink);
  border-color:var(--g-line);
  box-shadow:0 6px 18px rgba(28,24,20,.05);
}

/* Collection sections */
.collection-block{
  margin-bottom:56px;
  animation:gallery-fade .5s ease both;
}
.collection-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:22px;
  padding-bottom:14px;
  border-bottom:1px solid var(--g-line);
}
.collection-head h2{
  margin:0;
  font-family:var(--font-display);
  font-weight:500;
  font-size:clamp(1.85rem,3vw,2.35rem);
  letter-spacing:-.01em;
}
.collection-head p{
  margin:0;
  color:var(--g-muted);
  font-size:.9rem;
  font-weight:600;
}

.theme-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(16px,2.4vw,28px);
}

/* Premium cards */
.theme-card{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(228,219,208,.95);
  border-radius:var(--g-radius);
  background:var(--g-paper);
  box-shadow:var(--g-shadow);
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
  animation:card-in .55s both;
  animation-delay:calc(var(--theme-index)*40ms);
}
.theme-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--g-shadow-hover);
  border-color:#d5c7b6;
}
.theme-visual{
  position:relative;
  display:block;
  aspect-ratio:4/5;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
}
.theme-cover{
  position:absolute;
  inset:0;
  display:grid;
  place-content:center;
  justify-items:center;
  text-align:center;
  padding:28px 22px;
  isolation:isolate;
  background:var(--cover-bg);
  color:var(--cover-ink);
  transition:transform .55s ease;
}
.theme-card:hover .theme-cover{transform:scale(1.03)}
.theme-cover:before,.theme-cover:after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:-1;
}
.theme-cover:before{
  inset:8%;
  border:1px solid var(--cover-line);
  border-radius:14px;
}
.theme-cover:after{
  inset:0;
  background:var(--cover-light);
  mix-blend-mode:soft-light;
}
.theme-cover b{
  font:650 .68rem/1 var(--font-ui);
  letter-spacing:.34em;
  opacity:.7;
}
.theme-cover strong{
  max-width:92%;
  font-family:var(--font-display);
  font-size:clamp(1.7rem,3.2vw,2.55rem);
  font-weight:500;
  line-height:1.02;
  margin:.42em 0 .28em;
}
.theme-cover small{
  font:.7rem/1.4 var(--font-ui);
  letter-spacing:.16em;
  text-transform:uppercase;
  opacity:.72;
  font-weight:600;
}
.cover-frame{
  position:absolute;
  inset:14%;
  border:1px solid var(--cover-line);
  transform:rotate(1deg);
  border-radius:8px;
}
.cover-ornament{
  position:relative;
  width:36px;
  height:36px;
  border:1px solid currentColor;
  border-radius:50%;
  margin-bottom:12px;
  opacity:.5;
  display:block;
}
.cover-ornament:before,.cover-ornament:after{
  content:"";
  position:absolute;
  width:64px;
  height:1px;
  background:currentColor;
  top:50%;
  opacity:.45;
}
.cover-ornament:before{right:100%}
.cover-ornament:after{left:100%}
.tier-badge{
  position:absolute;
  inset-inline-start:14px;
  top:14px;
  z-index:2;
  padding:7px 11px;
  border-radius:999px;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  backdrop-filter:blur(10px);
}
.tier-badge.premium{
  background:rgba(255,252,247,.9);
  color:#4a3f34;
  border:1px solid rgba(0,0,0,.06);
}
.tier-badge.gold{
  background:linear-gradient(135deg,#f0dfb4,#c9a45a);
  color:#2a2114;
  border:1px solid rgba(255,255,255,.25);
}
.preview-hint{
  position:absolute;
  inset-inline-end:14px;
  bottom:14px;
  background:rgba(255,252,247,.94);
  color:var(--g-ink);
  border-radius:999px;
  padding:9px 12px;
  font-size:.74rem;
  font-weight:800;
  transform:translateY(6px);
  opacity:0;
  transition:.28s ease;
  pointer-events:none;
}
.theme-visual:hover .preview-hint,
.theme-visual:focus-visible .preview-hint{
  opacity:1;
  transform:none;
}

.theme-body{
  padding:20px 18px 18px;
  display:grid;
  gap:12px;
}
.theme-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.theme-body h2{
  margin:0;
  font-family:var(--font-display);
  font-size:1.55rem;
  font-weight:500;
  line-height:1.15;
}
.theme-number{
  font:700 .72rem/1 var(--font-ui);
  color:#9a8e82;
  letter-spacing:.14em;
  padding-top:8px;
}
.collection-label{
  margin:0;
  color:var(--g-gold);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.06em;
}
.chips{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.chip{
  background:var(--g-soft);
  border-radius:999px;
  padding:6px 10px;
  font-size:.72rem;
  font-weight:650;
  color:#5e554c;
}
.theme-actions{
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:8px;
  margin-top:4px;
}
.theme-actions a{
  min-height:48px;
  display:grid;
  place-items:center;
  text-decoration:none;
  border-radius:999px;
  font-weight:800;
  font-size:.88rem;
  text-align:center;
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}
.theme-actions a:hover{transform:translateY(-1px)}
.theme-actions .ghost{
  border:1px solid var(--g-line);
  color:var(--g-ink);
  background:#fff;
}
.theme-actions .btn{
  background:var(--g-ink);
  color:#fff;
  border:1px solid var(--g-ink);
}
.empty{
  text-align:center;
  padding:70px 20px;
  color:var(--g-muted);
  font-weight:600;
  background:var(--g-paper);
  border:1px dashed var(--g-line);
  border-radius:var(--g-radius);
}
.gallery-banner{
  margin:0 0 1rem;
  padding:.85rem 1rem;
  border:1px solid rgba(112,70,79,.28);
  background:rgba(255,249,246,.95);
  color:#70464f;
  border-radius:10px;
  font-weight:600;
  font-size:.92rem;
}
.gallery-banner code{
  font-weight:700;
  margin-inline-start:.35rem;
}
.loading-grid{
  padding:48px 12px;
  color:var(--g-muted);
  font-weight:600;
}

/* Theme cover palettes (unchanged identities) */
[data-theme="rose-fountain"]{--cover-bg:radial-gradient(circle at 14% 18%,#e7b9b4 0 3%,transparent 3.5%),radial-gradient(circle at 86% 76%,#cf918d 0 4%,transparent 4.5%),linear-gradient(145deg,#fffaf6,#ead4d0);--cover-ink:#70464f;--cover-line:rgba(112,70,79,.25);--cover-light:linear-gradient(100deg,transparent,#fff9,transparent)}
[data-theme="midnight-gold"]{--cover-bg:radial-gradient(circle at 50% 0,#4b3c23,transparent 44%),linear-gradient(145deg,#09090b,#262016);--cover-ink:#e2c275;--cover-line:rgba(226,194,117,.35);--cover-light:linear-gradient(115deg,transparent,#d9b76e33,transparent)}
[data-theme="pearl-minimal"]{--cover-bg:linear-gradient(145deg,#fff,#ece8e2);--cover-ink:#4f4c49;--cover-line:rgba(86,82,78,.16);--cover-light:radial-gradient(circle at 22% 18%,#fff,transparent 38%)}
[data-theme="olive-garden"]{--cover-bg:radial-gradient(ellipse at 0 100%,#a9b08a 0 12%,transparent 13%),radial-gradient(ellipse at 100% 0,#c4c9aa 0 14%,transparent 15%),linear-gradient(145deg,#f9f5e9,#dfe2cf);--cover-ink:#536046;--cover-line:rgba(83,96,70,.25);--cover-light:linear-gradient(120deg,transparent,#fff7,transparent)}
[data-theme="royal-ivory"]{--cover-bg:linear-gradient(135deg,#fffaf0,#e8d8b7);--cover-ink:#86632f;--cover-line:rgba(134,99,47,.3);--cover-light:radial-gradient(circle,#fff8,transparent 55%)}
[data-theme="champagne"]{--cover-bg:radial-gradient(circle at 20% 30%,#fff9 0 1%,transparent 1.5%),radial-gradient(circle at 80% 70%,#fff8 0 1.2%,transparent 1.7%),linear-gradient(145deg,#f7ead4,#d8b684);--cover-ink:#805839;--cover-line:rgba(128,88,57,.25);--cover-light:linear-gradient(105deg,transparent,#fff9,transparent)}
[data-theme="white-marble"]{--cover-bg:linear-gradient(118deg,transparent 22%,#c7c8c7 23%,transparent 24% 58%,#d7d1c8 59%,transparent 60%),linear-gradient(145deg,#fff,#e8e8e6);--cover-ink:#44494e;--cover-line:rgba(68,73,78,.2);--cover-light:linear-gradient(100deg,transparent,#fff,transparent)}
[data-theme="florence"]{--cover-bg:radial-gradient(ellipse at 50% 105%,transparent 0 34%,#a86f53 35% 36%,transparent 37%),linear-gradient(145deg,#efd8bd,#c89b78);--cover-ink:#6f4135;--cover-line:rgba(111,65,53,.28);--cover-light:linear-gradient(120deg,#fff3,transparent)}
[data-theme="emerald"]{--cover-bg:linear-gradient(135deg,#185446,#082a24);--cover-ink:#e0c477;--cover-line:rgba(224,196,119,.34);--cover-light:linear-gradient(115deg,transparent,#6eb39a33,transparent)}
[data-theme="royal-black"]{--cover-bg:linear-gradient(145deg,#050506,#1a1817);--cover-ink:#d2b46d;--cover-line:rgba(210,180,109,.3);--cover-light:radial-gradient(circle at 50% 45%,#caa85e1f,transparent 40%)}
[data-theme="velvet-rose"]{--cover-bg:linear-gradient(100deg,#3b1423,#7c354b 32%,#4b192b 64%,#862f4d);--cover-ink:#f0c3c5;--cover-line:rgba(240,195,197,.3);--cover-light:linear-gradient(90deg,transparent,#fff2,transparent)}
[data-theme="imperial-gold"]{--cover-bg:radial-gradient(circle at 50% 30%,#785c25,#2b1b0d 62%);--cover-ink:#f0d17f;--cover-line:rgba(240,209,127,.38);--cover-light:linear-gradient(115deg,transparent,#f4d98a33,transparent)}

@keyframes card-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes gallery-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Desktop comfort */
@media(min-width:981px){
  .gallery-shell{width:min(1220px,calc(100% - 48px))}
  .gallery-hero{padding:88px 0 44px}
  .theme-grid{gap:28px}
  .theme-body{padding:22px 20px 20px;gap:14px}
  .theme-actions a{min-height:50px}
}

/* Mobile: 2-column where possible */
@media(max-width:760px){
  .gallery-shell{width:min(100%,calc(100% - 20px))}
  .gallery-hero{padding:22px 0 12px}
  .gallery-hero .eyebrow{margin-bottom:8px;letter-spacing:.16em}
  .gallery-hero h1{font-size:clamp(1.55rem,6.4vw,1.95rem);line-height:1.12;margin:0 0 8px}
  .gallery-hero p{font-size:.86rem;line-height:1.45}
  .themes-gallery-page .collection-rail{
    display:flex;
    flex-wrap:nowrap;
    margin-inline:-10px;
    padding-block:0;
    padding-inline:0;
    gap:8px;
    margin-bottom:2px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-padding-inline:20px;
    overscroll-behavior-x:contain;
    -webkit-mask-image:linear-gradient(to right,transparent,#000 18px,#000 calc(100% - 18px),transparent);
    mask-image:linear-gradient(to right,transparent,#000 18px,#000 calc(100% - 18px),transparent);
  }
  .themes-gallery-page .tabs{
    display:flex;
    flex-wrap:nowrap;
    top:58px;
    margin:0 -10px 8px;
    padding-block:2px;
    padding-inline:0;
    gap:4px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-padding-inline:28px;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -webkit-mask-image:linear-gradient(to right,transparent,#000 14px,#000 calc(100% - 14px),transparent);
    mask-image:linear-gradient(to right,transparent,#000 14px,#000 calc(100% - 14px),transparent);
  }
  .themes-gallery-page .rail-spacer{display:block;flex:0 0 24px;width:24px}
  .tab{
    min-height:44px;
    padding:8px 12px;
    font-size:.78rem;
    flex:0 0 auto;
    white-space:nowrap;
    max-width:none;
  }
  .theme-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .theme-card{border-radius:16px}
  .theme-visual{aspect-ratio:3/4}
  .theme-cover{padding:16px 12px}
  .theme-cover strong{font-size:clamp(1.15rem,4.6vw,1.45rem)}
  .theme-cover b,.theme-cover small{letter-spacing:.12em;font-size:.58rem}
  .cover-ornament{width:22px;height:22px;margin-bottom:8px}
  .cover-ornament:before,.cover-ornament:after{width:28px}
  .tier-badge{inset-inline-start:8px;top:8px;padding:5px 8px;font-size:.58rem}
  .preview-hint{opacity:1;transform:none;inset-inline-end:8px;bottom:8px;padding:6px 8px;font-size:.62rem}
  .theme-body{padding:12px 10px 12px;gap:8px}
  .theme-body h2{font-size:1.05rem}
  .theme-number{display:none}
  .collection-label{font-size:.66rem}
  .chip{padding:5px 7px;font-size:.62rem}
  .theme-actions{grid-template-columns:1fr;gap:6px}
  .theme-actions a{min-height:44px;font-size:.78rem;border-radius:12px}
  .collection-head{flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:10px;padding-bottom:8px}
  .collection-block{margin-bottom:36px}
  .collection-chip{min-height:44px;padding:8px 14px;font-size:.8rem;scroll-snap-align:start}
  .themes-gallery-page .collection-rail,.themes-gallery-page .tabs{scroll-snap-type:x proximity}
  .tab{scroll-snap-align:start}
}

@media(max-width:360px){
  .theme-grid{gap:8px}
  .theme-cover strong{font-size:1.05rem}
}

@media(prefers-reduced-motion:reduce){
  .theme-card,.theme-card:hover,.preview-hint,.theme-cover,.collection-block,.theme-actions a,.collection-chip{
    animation:none!important;transition:none!important;transform:none!important;
  }
}


/* Image-led gallery covers — real Theme World heroes */
.theme-cover--photo{
  display:block;
  padding:0;
  background:#14110f;
  color:#f6efe2;
}
.theme-cover--photo:before,
.theme-cover--photo:after{content:none;display:none}
.theme-cover-art,
.theme-cover-art img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;display:block;
}
.theme-cover--photo .cover-scrim{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.15) 42%,rgba(0,0,0,.72) 100%);
  pointer-events:none;
}
.theme-cover--photo .cover-caption{
  position:absolute;inset-inline:14px;bottom:16px;z-index:2;
  display:grid;gap:6px;justify-items:start;text-align:start;
}
.theme-cover--photo .cover-caption strong{
  margin:0;max-width:100%;
  font-size:clamp(1.25rem,3.4vw,1.7rem);
  line-height:1.15;color:#fff;
  text-shadow:0 2px 18px rgba(0,0,0,.45);
}
.theme-cover--photo .cover-caption small{
  margin:0;opacity:.88;letter-spacing:.12em;text-transform:uppercase;
  font-size:.62rem;color:#f3e7d2;
}
html[lang="ar"] .theme-cover--photo .cover-caption,
html[dir="rtl"] .theme-cover--photo .cover-caption{justify-items:end;text-align:end}
html[lang="ar"] .theme-cover--photo .cover-caption small{letter-spacing:.04em;text-transform:none}
.occasion-tabs{/* primary occasion filter row */}
