:root{--black:#111;--white:#fff;--cream:#fffaf4;--blush:#f7c8d0;--sage:#c7d8c6;--champagne:#ead7b7;--ink:#222;--muted:#666;--shadow:0 20px 60px rgba(0,0,0,.16)}
*{box-sizing:border-box}body{margin:0;font-family:Georgia,'Times New Roman',serif;background:var(--cream);color:var(--ink)}a{color:inherit}.hidden{display:none}.btn,button{border:0;background:var(--black);color:#fff;padding:13px 22px;border-radius:999px;text-decoration:none;display:inline-block;cursor:pointer;font-weight:bold}.btn.light{background:#fff;color:#111;border:1px solid #ddd}input,textarea,select{width:100%;padding:12px;border:1px solid #ddd;border-radius:14px;background:#fff;margin-top:6px}label{display:block;margin:12px 0;font-weight:bold}textarea{min-height:110px}.notice{padding:14px;border-radius:14px;margin:12px 0}.notice.ok{background:#e8f7e8}.notice.bad{background:#ffe4e4}.album-cover{position:fixed;inset:0;background:radial-gradient(circle at top,#fff,#ffeef2 55%,#f8e0e8);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;z-index:10;overflow:hidden}.album-cover:before,.album-cover:after{content:'✿ ✿ ✿';position:absolute;font-size:72px;color:#f3b9c6;opacity:.55}.album-cover:before{top:8%;left:8%;transform:rotate(-25deg)}.album-cover:after{right:8%;bottom:8%;transform:rotate(20deg)}.book{width:min(430px,88vw);height:560px;perspective:1300px;cursor:pointer}.book-front{height:100%;padding:42px 30px;border-radius:12px;background:linear-gradient(145deg,#fff,#fff7f9);border:2px solid #111;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:center;text-align:center;position:relative;transition:transform .8s;transform-origin:left}.album-cover.open .book-front{transform:rotateY(-80deg)}.flower-corner{font-size:60px;color:#eeb5c4}.book h1,.hero h1{font-size:clamp(42px,8vw,82px);line-height:1;margin:10px 0}.book h2{font-size:34px}.hero{min-height:100vh;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;padding:80px 20px;position:relative}.garden:before{content:'✿';position:absolute;top:30px;left:25px;font-size:90px;color:#eeb5c4}.garden:after{content:'❀';position:absolute;right:30px;bottom:20px;font-size:110px;color:#c7d8c6}.floral-frame{max-width:850px;background:rgba(255,255,255,.84);border:2px solid #111;border-radius:28px;text-align:center;padding:55px 30px;box-shadow:var(--shadow);position:relative}.floral-frame:before,.floral-frame:after{content:'✿ ❀ ✿';display:block;color:#eab5c3;font-size:34px;letter-spacing:14px}.eyebrow{text-transform:uppercase;letter-spacing:5px;font-size:13px}.section{max-width:1050px;margin:50px auto;padding:45px 22px;text-align:center}.section h2{font-size:42px;margin:0 0 16px}.story p{font-size:21px;line-height:1.8;max-width:850px;margin:auto}.palette{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:18px;margin-top:25px}.swatch{background:#fff;padding:18px;border-radius:22px;box-shadow:0 10px 30px rgba(0,0,0,.08)}.swatch span{width:70px;height:70px;border-radius:50%;display:block;margin:0 auto 12px;border:2px solid #fff;box-shadow:0 0 0 1px #ddd}.image-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.image-grid figure{margin:0;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.08)}.image-grid img{width:100%;height:260px;object-fit:cover;display:block}.image-grid figcaption{padding:12px}.portrait-video{width:min(390px,92vw);aspect-ratio:9/16;margin:auto;border:12px solid #fff;border-radius:30px;box-shadow:var(--shadow);overflow:hidden;background:#000}.portrait-video iframe{width:100%;height:100%;border:0}.rsvp{background:#fff;border-radius:28px;box-shadow:var(--shadow)}.card-form{max-width:650px;margin:auto;text-align:left}.qr-card{background:#fff8fb;border:1px solid #f0c8d4;border-radius:22px;padding:22px;margin:20px auto;max-width:360px}.qr-card img{max-width:100%}.tables-visual{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin-top:25px}.table-card{background:#fff;padding:16px;border-radius:20px;min-width:140px;box-shadow:0 10px 25px rgba(0,0,0,.08)}.round-table{width:100px;height:100px;border-radius:50%;border:3px solid #111;background:radial-gradient(circle,#fff,#f7c8d0);display:flex;align-items:center;justify-content:center;margin:auto;font-weight:bold;text-align:center}footer{text-align:center;padding:40px;background:#111;color:#fff}.admin-bg{background:#f6f1eb;font-family:Arial,sans-serif}.login-card{max-width:430px;margin:12vh auto;background:#fff;padding:30px;border-radius:24px;box-shadow:var(--shadow)}.admin-wrap{display:grid;grid-template-columns:240px 1fr;min-height:100vh}aside{background:#111;color:#fff;padding:24px;position:sticky;top:0;height:100vh}aside a{display:block;padding:12px 0;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.12)}.admin-main{padding:24px}.admin-card{background:#fff;border-radius:22px;padding:24px;margin-bottom:24px;box-shadow:0 10px 30px rgba(0,0,0,.07)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end}.palette-row{display:grid;grid-template-columns:1fr 90px auto;gap:10px;margin:8px 0}.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-top:18px}.thumbs img{width:100%;height:120px;object-fit:cover;border-radius:12px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid #eee;text-align:left}.security-wrap{max-width:800px;margin:30px auto;padding:0 15px}.scan-result{border:1px solid #eee;border-radius:15px;padding:15px;margin:10px 0;background:#fff}
@media(max-width:760px){.admin-wrap{display:block}aside{position:relative;height:auto}.grid2,.grid3,.palette-row{grid-template-columns:1fr}.book{height:500px}.section h2{font-size:34px}.hero{padding:40px 14px}.floral-frame{padding:35px 18px}.book h1,.hero h1{font-size:44px}}

.section-kicker{
  display:inline-block;
  margin-bottom:10px;
  padding:6px 14px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:999px;
  background:rgba(255,255,255,.75);
  font-size:.78rem;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.gallery-section{
  background:linear-gradient(135deg,#fff,#fff8fb,#f7fbff);
  border-top:1px solid rgba(0,0,0,.05);
  border-bottom:1px solid rgba(0,0,0,.05);
}
.gallery-masonry figure{
  border:10px solid #fff;
  box-shadow:0 18px 45px rgba(0,0,0,.10);
  transform:rotate(-1deg);
}
.gallery-masonry figure:nth-child(even){transform:rotate(1deg);}
.admin-wrap aside a{
  cursor:pointer;
}
.admin-card{
  scroll-margin-top:24px;
}

/* Admin navigation fix: each sidebar item now opens its own admin section. */
.admin-wrap aside a.active{
  background:rgba(255,255,255,.14);
  margin-left:-10px;
  margin-right:-10px;
  padding-left:10px;
  padding-right:10px;
  border-radius:10px;
}
.video-wrapper {
    max-width: 420px;
    margin: 30px auto;
    aspect-ratio: 9 / 16;
    border-radius: 18px;
    overflow: hidden;
    background: #000;
}

.video-wrapper iframe {
    width: 100%;
    height: 100%;
    display: block;
}
.admin-main h1{margin-top:0;}
.admin-card small{display:block;margin-top:8px;color:#555;}
.admin-card a{color:#111;font-weight:bold;}
