/* ============================================================================
   Uganda Museums — Virtual Rooms
   File: wp-content/themes/uganda-museums/assets/css/virtual-rooms.css
   Namespace: .vr- (Virtual Rooms module)
   ============================================================================ */

.vr-page{--vr-ink:#1A1A18;--vr-ink-soft:#4A4945;--vr-ink-muted:#7A7873;--vr-rule:#E2DED5;--vr-rule-soft:#ECE8DF;font-family:var(--font-body);color:var(--vr-ink)}

/* ── 1. HERO ─────────────────────────────────────────────────── */

.vr-hero{position:relative;padding:clamp(80px,11vw,140px) 6vw clamp(50px,7vw,80px);background:radial-gradient(ellipse at 80% -20%,rgba(160,82,45,.06),transparent 55%),linear-gradient(180deg,var(--bg-warm),var(--bg-white));overflow:hidden;display:grid;grid-template-columns:1fr 60px;gap:40px}
.vr-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(26,26,24,.04) 1px,transparent 0);background-size:18px 18px;opacity:.5;pointer-events:none}
.vr-hero__inner{position:relative;max-width:1180px;margin:0 auto;width:100%}

.vr-hero .breadcrumb{margin-bottom:24px}.vr-hero .breadcrumb__list{list-style:none;margin:0;padding:0;display:flex;gap:8px;font-size:12px;letter-spacing:.06em;color:var(--vr-ink-muted)}
.vr-hero .breadcrumb__item:not(:last-child)::after{content:"/";margin-left:8px;opacity:.5}
.vr-hero .breadcrumb__item a{color:var(--vr-ink-soft);text-decoration:none}.vr-hero .breadcrumb__item a:hover{color:var(--terracotta)}
.vr-hero .breadcrumb__item--active{color:var(--terracotta)}

.vr-hero__eyebrow{display:flex;align-items:center;margin-bottom:28px}
.vr-rule{display:inline-block;width:36px;height:1px;background:var(--terracotta);margin-right:14px}
.vr-eyebrow-text{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--vr-ink-soft);font-weight:500}

.vr-hero__title{font-family:var(--font-heading);font-size:clamp(2.6rem,6vw,5rem);font-weight:400;line-height:.98;letter-spacing:-.02em;color:var(--vr-ink);margin:0 0 32px;max-width:18ch}
.vr-hero__title em{font-style:italic;color:var(--terracotta)}
.vr-hero__lede{font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--vr-ink-soft);max-width:60ch;line-height:1.65;margin:0 0 48px}

.vr-hero__stats{display:flex;gap:48px}
.vr-stat{display:flex;flex-direction:column;gap:4px}
.vr-stat__number{font-family:var(--font-heading);font-size:2.4rem;font-weight:600;color:var(--terracotta);line-height:1}
.vr-stat__label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--vr-ink-muted);font-weight:500}

.vr-hero__sidebar{display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:20px 0}
.vr-hero__folio{font-family:var(--font-heading);font-style:italic;font-size:13px;color:var(--vr-ink-muted);letter-spacing:.06em}
.vr-hero__vertical{writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--vr-ink-muted)}


/* ── Shared head ─────────────────────────────────────────────── */

.vr-section-head{max-width:720px;margin:0 auto 56px;text-align:center}
.vr-section-head .vr-rule{margin:0 auto 18px}
.vr-section-head__title{font-family:var(--font-heading);font-size:clamp(2rem,3.4vw,3rem);font-weight:500;line-height:1.1;letter-spacing:-.01em;color:var(--vr-ink);margin:0 0 18px}
.vr-section-head__title em{font-style:italic;color:var(--terracotta)}
.vr-section-head__sub{font-size:1.05rem;color:var(--vr-ink-soft);line-height:1.7;margin:0}
.vr-section-head--light .vr-section-head__title{color:#fff}
.vr-section-head--light .vr-section-head__sub{color:rgba(255,255,255,.75)}
.vr-section-head--light .vr-rule{background:rgba(255,255,255,.55)}


/* ── 2. SPOTLIGHT (featured room) ────────────────────────────── */

.vr-spotlight{background:var(--bg-white);padding:clamp(60px,8vw,100px) 6vw}
.vr-spotlight__inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center}

.vr-spotlight__media{position:relative;aspect-ratio:16/10;background:var(--vr-ink);overflow:hidden;border:1px solid var(--vr-rule)}
.vr-spotlight__placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:rgba(255,255,255,.35)}
.vr-spotlight__placeholder span{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}

.vr-badge{position:absolute;top:16px;left:16px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:6px 14px}
.vr-badge--free{background:#E8C9A8;color:var(--vr-ink)}
.vr-badge--premium{background:var(--terracotta);color:#fff}

.vr-tag{display:inline-block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--terracotta);font-weight:600;margin-bottom:18px}

.vr-spotlight__title{font-family:var(--font-heading);font-size:clamp(2rem,3.6vw,3.2rem);font-weight:500;line-height:1.1;color:var(--vr-ink);margin:0 0 20px}
.vr-spotlight__desc{font-size:1.05rem;color:var(--vr-ink-soft);line-height:1.7;margin:0 0 24px;max-width:52ch}

.vr-spotlight__meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;color:var(--vr-ink-muted);margin-bottom:32px}
.vr-spotlight__meta span:not(:last-child)::after{content:"•";margin-left:18px;opacity:.5}


/* ── 3. ROOMS GRID ───────────────────────────────────────────── */

.vr-rooms{background:var(--bg-section);padding:clamp(80px,10vw,140px) 6vw}
.vr-rooms__inner{max-width:1280px;margin:0 auto}

/* Filter bar */
.vr-filter-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:48px}
.vr-filter-pill{padding:10px 20px;font-family:var(--font-body);font-size:13px;font-weight:500;letter-spacing:.04em;color:var(--vr-ink-soft);background:var(--bg-white);border:1px solid var(--vr-rule);cursor:pointer;transition:all 200ms ease}
.vr-filter-pill:hover{border-color:var(--vr-ink);color:var(--vr-ink)}
.vr-filter-pill--active{background:var(--vr-ink);color:#fff;border-color:var(--vr-ink)}

/* Grid */
.vr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:32px 28px}

.vr-card{background:var(--bg-white);border:1px solid var(--vr-rule);overflow:hidden;display:flex;flex-direction:column;transition:all 300ms cubic-bezier(.2,.7,.2,1)}
.vr-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px -8px rgba(26,26,24,.12);border-color:var(--terracotta)}
.vr-card[data-hidden="true"]{display:none}

.vr-card__media{position:relative;aspect-ratio:16/10;background:var(--vr-ink);overflow:hidden}
.vr-card__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 500ms cubic-bezier(.2,.7,.2,1)}
.vr-card:hover .vr-card__img{transform:scale(1.05)}
.vr-card__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.2)}

.vr-card__body{padding:24px;flex:1;display:flex;flex-direction:column}
.vr-card__cat{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--terracotta);font-weight:600;margin-bottom:10px}

.vr-card__title{font-family:var(--font-heading);font-size:1.4rem;font-weight:500;line-height:1.2;letter-spacing:-.01em;margin:0 0 10px}
.vr-card__title a{color:var(--vr-ink);text-decoration:none;transition:color 200ms ease}
.vr-card__title a:hover{color:var(--terracotta)}

.vr-card__excerpt{font-size:.92rem;color:var(--vr-ink-soft);line-height:1.65;margin:0 0 auto;padding-bottom:16px}

.vr-card__meta{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:var(--vr-ink-muted);margin-bottom:16px}
.vr-card__meta span:not(:last-child)::after{content:"•";margin-left:12px;opacity:.5}

.vr-card__footer{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--vr-rule-soft)}
.vr-card__price{font-size:14px;font-weight:600;color:var(--vr-ink)}
.vr-card__price--free{color:var(--forest);font-weight:500}
.vr-card__enter{font-size:14px;font-weight:500;color:var(--terracotta);text-decoration:none;letter-spacing:.04em;transition:gap 200ms ease;display:inline-flex;align-items:center;gap:6px}
.vr-card:hover .vr-card__enter{gap:10px}


/* ── 4. HOW IT WORKS ─────────────────────────────────────────── */

.vr-how{background:var(--bg-white);padding:clamp(80px,10vw,140px) 6vw}
.vr-how__inner{max-width:1080px;margin:0 auto}

.vr-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;counter-reset:step}

.vr-step{text-align:center}
.vr-step__num{display:block;font-family:var(--font-heading);font-size:3.4rem;font-weight:300;color:var(--terracotta);line-height:1;margin-bottom:20px;opacity:.45}
.vr-step h3{font-family:var(--font-heading);font-size:1.5rem;font-weight:500;color:var(--vr-ink);margin:0 0 14px;letter-spacing:-.01em}
.vr-step p{font-size:.98rem;color:var(--vr-ink-soft);line-height:1.7;margin:0}


/* ── 5. PREMIUM PRICING (dark forest) ────────────────────────── */

.vr-premium{background:var(--forest);color:#fff;padding:clamp(80px,10vw,140px) 6vw;position:relative;overflow:hidden}
.vr-premium::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 20%,rgba(160,82,45,.15),transparent 60%),radial-gradient(ellipse at 10% 90%,rgba(232,201,168,.08),transparent 50%);pointer-events:none}
.vr-premium__inner{position:relative;max-width:1180px;margin:0 auto}

.vr-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:36px}

.vr-price-card{position:relative;padding:36px 28px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;transition:all 300ms cubic-bezier(.2,.7,.2,1)}
.vr-price-card:hover{background:rgba(255,255,255,.08);border-color:rgba(232,201,168,.3);transform:translateY(-4px)}

.vr-price-card--highlight{background:rgba(255,255,255,.1);border-color:var(--terracotta)}

.vr-price-card__popular{position:absolute;top:0;right:0;background:var(--terracotta);color:#fff;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:8px 16px}

.vr-price-card__label{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#E8C9A8;font-weight:600;margin-bottom:18px}

.vr-price-card__amount{display:flex;align-items:baseline;gap:6px;margin-bottom:8px}
.vr-price-card__currency{font-size:14px;color:rgba(255,255,255,.65);font-weight:500}
.vr-price-card__value{font-family:var(--font-heading);font-size:2.8rem;font-weight:600;color:#fff;line-height:1}

.vr-price-card__note{font-size:13px;color:rgba(255,255,255,.55);margin:0 0 24px}

.vr-price-card__features{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:12px;flex:1}
.vr-price-card__features li{font-size:14px;color:rgba(255,255,255,.85);padding-left:20px;position:relative;line-height:1.5}
.vr-price-card__features li::before{content:"✓";position:absolute;left:0;color:var(--terracotta);font-weight:700;font-size:13px}

.vr-premium__note{text-align:center;font-size:13px;color:rgba(255,255,255,.5);margin:0}


/* ── 6. FAQ ──────────────────────────────────────────────────── */

.vr-faq{background:var(--bg-section);padding:clamp(80px,10vw,140px) 6vw}
.vr-faq__inner{max-width:800px;margin:0 auto}

.vr-faq-list{display:flex;flex-direction:column;gap:0}

.vr-faq-item{border-bottom:1px solid var(--vr-rule);padding:0}
.vr-faq-item:first-child{border-top:1px solid var(--vr-rule)}

.vr-faq-item summary{font-family:var(--font-heading);font-size:1.3rem;font-weight:500;color:var(--vr-ink);padding:24px 40px 24px 0;cursor:pointer;list-style:none;position:relative;letter-spacing:-.01em;transition:color 200ms ease}
.vr-faq-item summary:hover{color:var(--terracotta)}
.vr-faq-item summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:22px;color:var(--vr-ink-muted);font-weight:300;transition:transform 200ms ease}
.vr-faq-item[open] summary::after{content:"−"}
.vr-faq-item[open] summary{color:var(--terracotta)}

.vr-faq-item p{font-size:1rem;color:var(--vr-ink-soft);line-height:1.7;margin:0;padding:0 0 24px;max-width:65ch}


/* ── 7. VISIT CTA ────────────────────────────────────────────── */

.vr-visit{background:var(--forest);color:#fff;padding:clamp(70px,9vw,120px) 6vw;position:relative;overflow:hidden}
.vr-visit::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 90% 50%,rgba(160,82,45,.25),transparent 55%);pointer-events:none}
.vr-visit__inner{position:relative;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:end}

.vr-visit__title{font-family:var(--font-heading);font-size:clamp(2.2rem,4.4vw,3.6rem);font-weight:500;line-height:1.05;letter-spacing:-.015em;color:#fff;margin:0 0 22px}
.vr-visit__title em{font-style:italic;color:#E8C9A8}
.vr-visit__copy p{font-size:1.05rem;color:rgba(255,255,255,.7);line-height:1.7;margin:0;max-width:52ch}
.vr-visit__actions{display:flex;flex-direction:column;align-items:stretch;gap:16px}


/* ── BUTTONS ─────────────────────────────────────────────────── */

.vr-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;font-family:var(--font-body);font-size:14px;font-weight:500;letter-spacing:.04em;text-decoration:none;border:1px solid transparent;border-radius:0;cursor:pointer;transition:all 280ms cubic-bezier(.2,.7,.2,1);white-space:nowrap;text-align:center}
.vr-btn--primary{background:var(--terracotta);color:#fff;border-color:var(--terracotta)}
.vr-btn--primary:hover{background:#8a4525;transform:translateY(-2px);box-shadow:0 10px 24px -8px rgba(160,82,45,.4)}
.vr-btn--ghost{background:transparent;color:var(--vr-ink);border-color:var(--vr-rule)}
.vr-btn--ghost:hover{border-color:var(--vr-ink);background:var(--bg-section)}
.vr-btn--ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.35);width:100%}
.vr-btn--ghost-light:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.vr-btn--lg{padding:18px 32px;font-size:15px}


/* ── RESPONSIVE ──────────────────────────────────────────────── */

@media(max-width:1024px){
  .vr-hero{grid-template-columns:1fr}.vr-hero__sidebar{display:none}
  .vr-spotlight__inner{grid-template-columns:1fr;gap:36px}
  .vr-pricing-grid{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto}
  .vr-visit__inner{grid-template-columns:1fr;gap:32px}
  .vr-steps{grid-template-columns:1fr;gap:40px}
}
@media(max-width:720px){
  .vr-grid{grid-template-columns:1fr}
  .vr-hero__stats{gap:28px;flex-wrap:wrap}
  .vr-filter-bar{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){
  .vr-card,.vr-card__img,.vr-price-card,.vr-btn{transition:none!important}
  .vr-card:hover,.vr-price-card:hover{transform:none}
}
