/* ============================================================
   Common Closet Pages — INVITE  (all rules scoped to .cc-invite)
   ============================================================ */
.cc-invite{
  --sky1:#140F33; --sky2:#0A0820; --panel:#171238;
  --gold:#C89238; --gold2:#EFB65A; --cream:#FBEED2; --cream2:#F6E7C4;
  --lav:#C9C2EE; --lav2:#8B84B6; --jade:#6FD3AF; --line:rgba(120,110,180,.16);
  background:radial-gradient(130% 80% at 74% 4%, var(--sky1), var(--sky2) 68%);
  color:var(--cream2);
  font-family:'Inter',-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-weight:300; line-height:1.7; -webkit-font-smoothing:antialiased;
  position:relative; overflow:hidden;
}
.cc-invite .serif{font-family:'Cormorant Garamond',Georgia,serif;}
.cc-invite .wrap{max-width:640px;margin:0 auto;padding:0 30px;}
.cc-invite .stars{position:absolute;inset:0;pointer-events:none;z-index:0;}
.cc-invite .stars i{position:absolute;background:var(--cream);border-radius:50%;}

/* HERO */
.cc-invite .hero{position:relative;z-index:1;min-height:94vh;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:70px 30px 64px;}
.cc-invite .moon-wrap{position:relative;width:172px;height:172px;margin-bottom:52px;}
.cc-invite .halo{position:absolute;inset:-70px;border-radius:50%;
  background:radial-gradient(circle, rgba(239,182,90,.20) 0%, rgba(239,182,90,.07) 42%, transparent 70%);
  animation:cc-breathe 9s ease-in-out infinite;}
.cc-invite .moon{position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(circle at 38% 34%, #FCF5E1 0%, #F3E3BC 44%, #E4CD96 74%, #CDAF77 100%);
  box-shadow:inset -20px -18px 44px rgba(112,84,40,.38), inset 12px 14px 32px rgba(255,251,238,.55),
    0 0 3px rgba(250,238,218,.55);}
.cc-invite .moon::after{content:"";position:absolute;inset:0;border-radius:50%;opacity:.6;
  background:radial-gradient(circle at 62% 60%, rgba(140,110,64,.16) 0 5%, transparent 7%),
    radial-gradient(circle at 41% 67%, rgba(140,110,64,.13) 0 4%, transparent 6%),
    radial-gradient(circle at 56% 41%, rgba(140,110,64,.10) 0 3.5%, transparent 5%),
    radial-gradient(circle at 30% 46%, rgba(140,110,64,.10) 0 2.5%, transparent 4%);}
.cc-invite .ring{position:absolute;inset:-1px;border-radius:50%;border:1px solid rgba(250,238,218,.22);}
@keyframes cc-breathe{0%,100%{opacity:.8;transform:scale(1);}50%{opacity:1;transform:scale(1.06);}}
.cc-invite .eyebrow{font-family:'Inter';font-weight:400;letter-spacing:5px;font-size:11px;
  text-transform:uppercase;color:var(--lav2);margin-bottom:28px;}
.cc-invite h1.title{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(48px,10vw,90px);
  line-height:1.0;letter-spacing:.5px;color:var(--cream);margin:0;}
.cc-invite .sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;
  font-size:clamp(19px,3.4vw,25px);color:var(--lav);margin:22px 0 0;max-width:30ch;}
.cc-invite .hero-meta{margin-top:44px;font-family:'Inter';font-weight:400;font-size:12px;letter-spacing:3px;
  text-transform:uppercase;color:var(--gold2);}
.cc-invite .hero-meta .sep{color:var(--lav2);margin:0 9px;font-weight:300;}
.cc-invite .hero-note{margin-top:15px;font-family:'Inter';font-weight:300;font-size:11px;letter-spacing:2.5px;
  text-transform:uppercase;color:var(--lav2);}
.cc-invite .scroll-cue{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);
  color:var(--lav2);font-size:18px;opacity:.6;animation:cc-drift 2.6s ease-in-out infinite;}
@keyframes cc-drift{0%,100%{transform:translate(-50%,0);opacity:.35;}50%{transform:translate(-50%,7px);opacity:.75;}}

/* LEDE */
.cc-invite .lede-sec{position:relative;z-index:1;padding:56px 0 6px;}
.cc-invite .lede{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;
  font-size:clamp(20px,3.2vw,26px);color:var(--lav);text-align:center;max-width:30ch;margin:0 auto;line-height:1.4;}
.cc-invite .promise{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(16px,2.5vw,20px);
  color:var(--cream);text-align:center;max-width:34ch;margin:20px auto 0;line-height:1.5;}

/* CALENDAR */
.cc-invite .cal-sec{position:relative;z-index:1;padding:30px 0 46px;}
.cc-invite .cal .row{display:flex;align-items:center;gap:14px;padding:15px 2px;border-top:1px solid var(--line);}
.cc-invite .cal .row:first-child{border-top:none;}
.cc-invite .cal .t{font-family:'Inter';font-weight:600;font-size:12.5px;letter-spacing:1.5px;color:var(--gold2);width:52px;flex:none;}
.cc-invite .cal .w{font-family:'Cormorant Garamond',serif;font-size:21px;color:var(--cream);}
.cc-invite .moonmark{display:flex;justify-content:center;flex:none;margin:0;}
.cc-invite .moonmark svg{display:block;filter:drop-shadow(0 0 6px rgba(239,182,90,.16));}
.cc-invite .dress-note{text-align:center;margin-top:34px;font-family:'Inter';font-size:11.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold2);}

/* REGISTER + DISCLOSURES */
.cc-invite .reg-sec{position:relative;z-index:1;padding:34px 0 10px;border-top:1px solid var(--line);}
.cc-invite h2{font-family:'Cormorant Garamond',serif;font-weight:500;color:var(--cream);
  font-size:clamp(24px,4.4vw,32px);margin:0 0 20px;letter-spacing:.3px;}
.cc-invite p{color:var(--lav);font-size:16.5px;font-weight:300;margin:0 0 16px;}
.cc-invite .card{background:linear-gradient(180deg, rgba(23,18,56,.7), rgba(20,15,48,.7));
  border:1px solid var(--line);border-radius:18px;padding:34px 30px;margin-top:6px;}
.cc-invite label.field{display:block;margin:0 0 18px;}
.cc-invite label.field .lbl{display:block;font-size:12px;letter-spacing:.5px;color:var(--cream2);
  margin-bottom:7px;font-weight:400;text-transform:uppercase;}
.cc-invite label.field .hint{color:var(--lav2);text-transform:none;letter-spacing:0;font-size:12.5px;}
.cc-invite input[type=text]{width:100%;padding:13px 15px;background:rgba(9,7,26,.6);border:1px solid var(--line);
  border-radius:11px;color:var(--cream2);font-size:15px;font-family:'Inter';font-weight:300;}
.cc-invite input[type=text]::placeholder{color:#5c548a;}
.cc-invite input:focus{outline:none;border-color:rgba(239,182,90,.6);background:rgba(9,7,26,.85);}
.cc-invite .consent{margin-top:28px;padding-top:26px;border-top:1px solid var(--line);}
.cc-invite .consent h3{font-family:'Cormorant Garamond',serif;font-weight:500;color:var(--gold2);font-size:23px;margin:0 0 8px;}
.cc-invite .consent .intro{font-size:14px;color:var(--lav);margin-bottom:18px;}
.cc-invite .check{display:flex;gap:12px;align-items:flex-start;margin:13px 0;font-size:14.5px;color:var(--cream2);font-weight:300;}
.cc-invite .check input{margin-top:3px;width:16px;height:16px;accent-color:var(--gold);flex:none;}
.cc-invite .check.third{background:rgba(111,211,175,.07);border:1px solid rgba(111,211,175,.28);border-radius:11px;padding:12px 13px;margin-top:18px;}
.cc-invite .check .tag{display:inline-block;font-size:9.5px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--jade);border:1px solid rgba(111,211,175,.4);border-radius:20px;padding:1px 8px;margin-left:3px;}
.cc-invite .check .hint{color:var(--lav2);}
.cc-invite .voluntary{font-size:12.5px;color:var(--lav2);margin-top:18px;font-style:italic;font-family:'Cormorant Garamond',serif;}
.cc-invite .btn{display:inline-block;margin-top:26px;background:linear-gradient(180deg,var(--gold2),var(--gold));
  color:#221806;font-weight:500;letter-spacing:.5px;border:none;border-radius:26px;
  padding:15px 34px;font-size:14px;font-family:'Inter';cursor:pointer;text-transform:uppercase;}
.cc-invite .btn:hover{filter:brightness(1.05);}
.cc-invite .btn-cap{font-size:12.5px;color:var(--lav2);margin-top:14px;font-family:'Cormorant Garamond',serif;font-style:italic;}
.cc-invite footer{position:relative;z-index:1;text-align:center;padding:52px 30px 66px;}
.cc-invite footer .fmark{font-family:'Cormorant Garamond',serif;color:var(--cream2);font-size:20px;letter-spacing:3px;margin-bottom:12px;}
.cc-invite footer .fline{color:var(--lav2);font-size:11.5px;letter-spacing:2px;text-transform:uppercase;font-weight:300;}
.cc-invite .moonsvg{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 0 4px rgba(250,238,218,.4));}
.cc-invite .rules-sec{position:relative;z-index:1;padding:16px 0 44px;border-top:1px solid var(--line);}
.cc-invite .rules .rule{font-family:'Cormorant Garamond',serif;font-size:19px;color:var(--cream);padding:15px 2px;border-top:1px solid var(--line);line-height:1.4;}
.cc-invite .rules .rule:first-child{border-top:none;}
.cc-invite .check.release{background:rgba(201,146,56,.09);border:1px solid rgba(201,146,56,.4);border-radius:11px;padding:14px 15px;margin:0 0 4px;}
.cc-invite .check .tag.req{color:var(--gold2);border-color:rgba(239,182,90,.5);}
