/* Members Gateway Page */

/* HERO */
.members-gateway .hero { position:relative; height:420px; overflow:hidden; background:#1a0f08; }
.members-gateway .hero-img { width:100%; height:100%; object-fit:cover; object-position:center 30%; display:block; }
.members-gateway .hero-overlay { position:absolute; inset:0; background:linear-gradient(to bottom, rgba(20,10,5,0.2) 0%, rgba(20,10,5,0.82) 100%); }
.members-gateway .hero-content { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:3rem 3.5rem; }
.members-gateway .hero-tag { font-size:0.6rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--warm); margin-bottom:1rem; }
.members-gateway .hero-title { font-family:'Cormorant Garamond',serif; font-size:3rem; font-weight:400; color:#f5ede0; line-height:1.1; }

/* ACCESS NOTICE */
.access-wrap { padding:3rem 2.5rem; display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; border-bottom:0.5px solid var(--warm); }
.access-lead { font-family:'Cormorant Garamond',serif; font-size:1.3rem; font-style:italic; line-height:1.6; color:var(--bark); border-left:1.5px solid var(--clay); padding-left:1.2rem; }
.access-body { font-size:0.85rem; line-height:1.8; color:var(--smoke); }
.access-body p + p { margin-top:1rem; }

/* SUBSCRIBER BOX */
.subscriber-box { margin:2.5rem 2.5rem 0; padding:1.8rem; background:var(--sand); border:0.5px solid var(--warm); border-left:2px solid var(--clay); }
.sub-label { font-size:0.6rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--clay); margin-bottom:0.8rem; }
.sub-text { font-size:0.84rem; line-height:1.8; color:var(--smoke); margin-bottom:1.2rem; }
.sub-conditions { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1px; background:var(--warm); border:0.5px solid var(--warm); margin-bottom:1.5rem; }
.sub-condition { background:var(--cream); padding:1rem 1.2rem; }
.sub-condition-title { font-family:'Cormorant Garamond',serif; font-size:0.95rem; font-weight:500; margin-bottom:0.3rem; }
.sub-condition-note { font-size:0.78rem; line-height:1.6; color:var(--smoke); }
.sub-note { font-size:0.78rem; line-height:1.7; color:var(--smoke); font-style:italic; border-top:0.5px solid var(--pale); padding-top:1rem; }

/* LOGIN / SUBSCRIBE BUTTONS */
.auth-row { display:flex; gap:1rem; padding:2rem 2.5rem 3rem; align-items:center; }
.btn-primary { font-size:0.7rem; letter-spacing:0.14em; text-transform:uppercase; color:#f5ede0; background:var(--bark); border:none; padding:0.85rem 2rem; cursor:pointer; transition:background 0.2s; text-decoration:none; display:inline-block; }
.btn-primary:hover { background:var(--clay); }
.btn-secondary { font-size:0.7rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--bark); background:none; border:0.5px solid var(--warm); padding:0.85rem 2rem; cursor:pointer; transition:background 0.2s; text-decoration:none; display:inline-block; }
.btn-secondary:hover { background:var(--sand); }
.auth-note { font-size:0.78rem; color:var(--smoke); }

/* MEMBER WELCOME */
.member-welcome { padding:1.2rem 2.5rem; border-bottom:0.5px solid var(--warm); display:flex; justify-content:flex-end; }
.member-welcome p { font-size:0.72rem; color:var(--smoke); }
.member-welcome a { color:var(--clay); border-bottom:0.5px solid var(--clay); padding-bottom:1px; text-decoration:none; }

/* DIVIDER */
.members-gateway .divider { display:flex; align-items:center; gap:1.2rem; padding:2.8rem 2.5rem 0; margin-bottom:1.8rem; }
.members-gateway .divider span { font-size:0.6rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--smoke); white-space:nowrap; }
.members-gateway .divider-line { flex:1; height:0.5px; background:var(--warm); }

/* MENU */
.menu-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1px; background:var(--warm); border:0.5px solid var(--warm); }
.menu-card { background:var(--cream); padding:1.8rem 1.5rem; position:relative; opacity:0.5; cursor:not-allowed; }
.menu-card.accessible { opacity:1; cursor:pointer; transition:background 0.2s; }
.menu-card.accessible:hover { background:var(--sand); }
.menu-card.accessible a { text-decoration:none; color:inherit; display:block; }
.menu-num { font-family:'Cormorant Garamond',serif; font-size:1.8rem; color:var(--warm); margin-bottom:0.5rem; line-height:1; }
.menu-title { font-family:'Cormorant Garamond',serif; font-size:1.1rem; font-weight:500; margin-bottom:0.4rem; }
.menu-note { font-size:0.78rem; color:var(--smoke); line-height:1.6; }
.lock-icon { position:absolute; top:1.2rem; right:1.2rem; font-size:0.65rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--warm); }
.menu-wrap { padding:0 2.5rem 3rem; }

/* FAQ */
.gateway-faq { padding:0 2.5rem 3rem; }
.gateway-faq-inner { border:0.5px solid var(--warm); padding:1.8rem 2rem; display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:center; background:var(--sand); }
.gateway-faq-title { font-family:'Cormorant Garamond',serif; font-size:1.1rem; font-weight:500; margin-bottom:0.4rem; }
.gateway-faq-desc { font-size:0.83rem; line-height:1.75; color:var(--smoke); max-width:480px; }
.gateway-faq-items { margin-top:1.2rem; display:grid; gap:0.8rem; }
.gateway-faq-item { border-top:0.5px solid var(--pale); padding-top:0.8rem; }
.gateway-faq-q { font-size:0.8rem; font-weight:500; color:var(--bark); margin-bottom:0.3rem; letter-spacing:0.02em; }
.gateway-faq-a { font-size:0.8rem; line-height:1.7; color:var(--smoke); }

@media (max-width:600px) {
  .members-gateway .hero { height:320px; }
  .members-gateway .hero-content { padding:2rem 1.2rem; }
  .members-gateway .hero-title { font-size:2rem; }
  .access-wrap { padding:1.8rem 1.2rem; grid-template-columns:1fr; gap:1.5rem; }
  .subscriber-box { margin:1.5rem 1.2rem 0; }
  .sub-conditions { grid-template-columns:1fr; }
  .auth-row { padding:1.5rem 1.2rem 2rem; flex-wrap:wrap; }
  .members-gateway .divider { padding:2rem 1.2rem 0; }
  .menu-wrap { padding:0 1.2rem 2rem; }
  .menu-grid { grid-template-columns:1fr 1fr; }
  .gateway-faq { padding:0 1.2rem 2rem; }
  .gateway-faq-inner { grid-template-columns:1fr; gap:1rem; }
  .member-welcome { padding:1rem 1.2rem; }
}
