/* Sekeping V30 — ivory paper, forest ink and restrained antique gold.
   Scoped presentation refinements; camera controls and media behaviour stay independent. */
:root {
  --sk-paper: #fffcf7;
  --sk-ivory: #f8f5ee;
  --sk-forest: #243f34;
  --sk-muted: #686d62;
  --sk-line: #e1dbce;
  --sk-gold: #a48a62;
}
body {background:var(--sk-ivory)}
#sek-v20.wedding-landing {
  --sk-ivory:#f8f5ee; --sk-paper:#fffcf7; --sk-ink:#243f34;
  --sk-gold:#a48a62; --sk-line:#e1dbce;
  background:var(--sk-ivory);
}
#sek-v20.wedding-landing .sk20-top {height:52px;background:var(--sk-paper);border-color:var(--sk-line)}
#sek-v20.wedding-landing .sk20-top-inner {padding-inline:18px}
#sek-v20.wedding-landing .brand {font-size:24px}
#sek-v20.wedding-landing .brand-logo {color:var(--sk-gold)}
#sek-v20.wedding-landing .sk20-header-tag {background:transparent;border:0;padding:5px 0;color:#626b60;font-size:10px;font-weight:500}
#sek-v20.wedding-landing .sk20-lang {width:36px;height:36px;background:transparent;border-color:var(--sk-line);font-weight:500}
#sek-v20.wedding-landing .sk20-page {min-height:calc(100svh - 52px)}
#sek-v20.wedding-landing .sk20-hero {flex:1 0 280px;height:auto;min-height:280px;background:#e6e3d7}
#sek-v20.wedding-landing .sk20-cover .cover-art-fallback {background:radial-gradient(ellipse at 70% 20%,#f6efe0,transparent 65%),linear-gradient(130deg,#cbd2c3,#e3ddce 60%,#bbc8b8)}
#sek-v20.wedding-landing .sk20-mist {height:58%;background:linear-gradient(to top,#f8f5ee 0%,rgba(248,245,238,.93) 21%,rgba(248,245,238,.65) 49%,rgba(248,245,238,.12) 82%,transparent)}
#sek-v20.wedding-landing .sk20-mist:after {display:none}
#sek-v20.wedding-landing .sk20-wedding {bottom:22px;left:20px;right:20px;text-shadow:0 1px 7px #fffcf799}
#sek-v20.wedding-landing .sk20-eyebrow {color:#655c4c;font-size:10px;font-weight:600;letter-spacing:2px;margin-bottom:7px}
#sek-v20.wedding-landing .sk20-names {font-size:clamp(34px,9.3vw,57px);line-height:1.13;letter-spacing:-1.2px;margin:0 0 10px;color:var(--sk-forest)}
#sek-v20.wedding-landing .sk20-names em {color:var(--sk-gold)}
#sek-v20.wedding-landing .sk20-meta {font-size:12px;line-height:1.4;gap:3px;color:#4c5b4e}
#sek-v20.wedding-landing .sk20-meta-line {max-width:100%;overflow-wrap:anywhere}
#sek-v20.wedding-landing .sk20-meta-line svg {width:13px;height:13px;color:#7e806d}
#sek-v20.wedding-landing .sk20-lower {margin-top:0;gap:22px;padding:0 16px max(20px,env(safe-area-inset-bottom,0px));flex:none}
#sek-v20.wedding-landing .sk20-capture {padding:16px;border:1px solid var(--sk-line);border-radius:14px;background:var(--sk-paper);box-shadow:0 5px 18px #243f3405}
#sek-v20.wedding-landing .sk20-capture:before {display:none}
#sek-v20.wedding-landing .sk30-capture-head {position:relative;min-height:42px;display:flex;align-items:center;justify-content:center}
#sek-v20.wedding-landing .sk20-card-intro {padding:0 51px;min-height:42px;gap:5px;width:100%}
#sek-v20.wedding-landing .sk20-capture-label {font-size:10px;letter-spacing:1.6px;color:#54604f;white-space:normal;line-height:1.4}
#sek-v20.wedding-landing .sk20-capture-sub {font-size:11px;line-height:1.45;color:var(--sk-muted);white-space:normal;text-wrap:pretty}
#sek-v20.wedding-landing .sk20-quota {right:0;top:50%;transform:translateY(-50%);font-size:9px;gap:3px;padding:6px 5px;background:#eef1e9;border:1px solid #dce3d5;color:#435940}
#sek-v20.wedding-landing .sk20-input-holder {margin-top:12px}
#sek-v20.wedding-landing .sk20-guest-name {height:46px;min-height:46px;border:1px solid #ded8ca;background:#fffefa;box-shadow:none;font-size:19px}
#sek-v20.wedding-landing .sk20-guest-name::placeholder {font-size:13px;color:#73796c}
#sek-v20.wedding-landing .sk20-name-clear {width:30px;height:30px;background:transparent;border:0;color:#6a7264}
#sek-v20.wedding-landing .sk20-camera {height:49px;min-height:49px;gap:10px;margin-top:10px;background:var(--sk-forest);border-color:var(--sk-forest);box-shadow:none;font-size:21px;font-weight:400}
#sek-v20.wedding-landing .sk20-camera svg {height:19px;width:19px}
#sek-v20.wedding-landing .sk20-memory-heading {margin:0 0 12px;padding:0;align-items:center;gap:12px}
#sek-v20.wedding-landing .sk20-memory-heading h2 {font-size:25px;line-height:1.2;letter-spacing:-.5px;color:var(--sk-forest)}
#sek-v20.wedding-landing .sk20-memory-heading p {font-size:10px;color:var(--sk-muted);white-space:normal;max-width:100px;text-align:right;line-height:1.5}
#sek-v20.wedding-landing .sk20-tiles {gap:10px}
#sek-v20.wedding-landing .sk20-tile:nth-child(n) {padding:12px 10px;min-height:74px;gap:9px;background:var(--sk-paper);border:1px solid var(--sk-line);border-radius:12px;box-shadow:none;transition:background .18s,border-color .18s,transform .18s}
#sek-v20.wedding-landing .sk20-tile:nth-child(n) .sk20-tile-icon {width:33px;height:33px;min-width:33px;border:0;border-radius:9px;background:#edf0e7;color:#526446}
#sek-v20.wedding-landing .sk20-tile-icon svg {width:19px;height:19px;stroke-width:1.5}
#sek-v20.wedding-landing .sk20-tile-copy {gap:5px;padding-right:0}
#sek-v20.wedding-landing .sk20-tile-copy strong {font-size:17px;line-height:1.2;color:var(--sk-forest);white-space:normal}
#sek-v20.wedding-landing .sk20-tile-copy small {font-size:10px;line-height:1.4;color:var(--sk-muted);white-space:normal}
#sek-v20.wedding-landing .sk20-tile-arrow {display:none}
#sek-v20.wedding-landing .sk20-tile:active {transform:scale(.985);background:#f0f2e9}
/* The same paper, ink, controls and page rhythm across guest sections. */
main.guest-subpage {background:var(--sk-ivory);color:var(--sk-forest)}
.guest-subpage .guest-sub-header {height:64px;border-color:var(--sk-line);padding-inline:22px;gap:12px}
.guest-subpage .guest-mini-brand {font-size:24px;color:var(--sk-forest)}
.guest-subpage .guest-back {min-height:42px;color:#52614e;font-size:11px;letter-spacing:.06em}
.guest-subpage .guest-subcontent {padding:32px 22px 48px}
.guest-subpage .section-eyebrow {color:#786b52;font-size:10px;letter-spacing:2px;margin-bottom:10px}
.guest-subpage .section-title,.guest-subpage .gift-page h1 {color:var(--sk-forest);font-weight:400;letter-spacing:-.6px;font-size:clamp(29px,5vw,42px)}
.guest-subpage .section-lead {color:var(--sk-muted);font-size:13px;line-height:1.8;margin-bottom:26px}
.guest-subpage .card,.guest-subpage .wish-card,.guest-subpage .gallery-voice-card,.guest-subpage .gift-card {background:var(--sk-paper);border:1px solid var(--sk-line);border-radius:12px;box-shadow:none}
.guest-subpage .wish-card p {color:#455848;font-size:14px;line-height:1.9}
.guest-subpage .wish-card .by {color:#736448;font-size:12px}
.guest-subpage .wish-card:before {color:#b8a27a}
.guest-subpage .btn,.guest-subpage .gift-save-qr {background:var(--sk-forest);border-color:var(--sk-forest);color:#fffcf7;min-height:44px;box-shadow:none}
.guest-subpage .btn.secondary {background:var(--sk-paper);border-color:#d5d9cc;color:var(--sk-forest)}
.guest-subpage .input,.guest-subpage textarea {background:#fffefa;border-color:#d9d9cb;color:var(--sk-forest)}
.guest-subpage .album-cover:not(.has-wedding-photo) {background:linear-gradient(120deg,#243f34,#526449)!important;border-radius:12px}
.guest-subpage .album-tabs {background:#eeeee4;border-color:var(--sk-line);border-radius:10px;padding:4px}
.guest-subpage .album-tabs button {min-height:42px;color:#626e5d}
.guest-subpage .album-tabs button.active {background:var(--sk-paper);color:var(--sk-forest);border-radius:7px;box-shadow:0 1px 4px #243f3408}
.guest-subpage .album-home-button:last-child,.guest-subpage .album-filters button.active {background:var(--sk-forest);border-color:var(--sk-forest);color:var(--sk-paper)}
.guest-subpage .album-photo {border-radius:9px;box-shadow:none}
.guest-subpage .gallery-section-heading h2 {color:var(--sk-forest)}
.guest-subpage .gallery-section-heading p,.guest-subpage .gallery-count,.guest-subpage .muted {color:var(--sk-muted)}
.guest-subpage .gallery-voice-avatar {background:#edf0e7;color:#526446}
.guest-subpage .sek-voice-player {background:#f8f7ef!important;border-color:var(--sk-line)!important}
.guest-subpage .sek-voice-play {background:var(--sk-forest)!important}
.guest-subpage .sek-voice-track-title {color:var(--sk-forest)!important}
.guest-subpage .gift-account {border-color:var(--sk-line)}
.guest-subpage .gift-disclaimer {color:var(--sk-muted);line-height:1.7}
.guest-subpage .empty {color:#69735f;border-color:var(--sk-line);background:#fbfaf3}
.guest-subpage .retro-intro label {color:#626e59}
/* Organiser and public entrance share the guest palette. */
.dash-shell,.heritage-home {background:var(--sk-ivory);color:var(--sk-forest)}
.dash-shell .sidebar,.dash-shell .dash-card,.dash-shell .stat,.dash-shell .event-item {background:var(--sk-paper);border-color:var(--sk-line);box-shadow:none}
.dash-shell .dash-card,.dash-shell .stat,.dash-shell .event-item {border-radius:12px}
.dash-shell .dash-head h1,.dash-shell .dash-card h3,.dash-shell .stat strong,.dash-shell .event-item h3 {color:var(--sk-forest)}
.dash-shell .dash-head p,.dash-shell .dash-card>p,.dash-shell .stat small,.dash-shell .muted {color:var(--sk-muted)}
.dash-shell .side-button {color:#63715f;border-radius:8px}
.dash-shell .side-button.active {background:#edf0e6;color:var(--sk-forest);border-left-color:var(--sk-gold)}
.dash-shell .side-button:hover {background:#f1f3eb}
.dash-shell .btn,.heritage-home .btn:not(.secondary) {background:var(--sk-forest);border-color:var(--sk-forest);box-shadow:none}
.dash-shell .btn.secondary,.heritage-home .btn.secondary {background:var(--sk-paper);border-color:var(--sk-line);color:var(--sk-forest)}
.dash-shell .btn.danger {background:#a34e43;border-color:#a34e43;color:white}
.dash-shell .input,.dash-shell textarea,.dash-shell select {background:#fffefa;border-color:#d9d9cb;color:var(--sk-forest)}
.dash-shell .dashboard-active-strip {background:#eef1e7!important;border-color:#dce2d3!important}
.dash-shell .dashboard-active-info {color:#4e6048}
.dash-shell .dashboard-mobile-header,.dash-shell .mobile-nav {background:var(--sk-paper)!important;border-color:var(--sk-line)!important}
.dash-shell .mobile-nav .side-button.active {border-bottom-color:var(--sk-gold)}
.heritage-home .hero-text h1 {color:var(--sk-forest)}
.heritage-home .hero-text p {color:var(--sk-muted)}
.heritage-home .feature-card {background:var(--sk-paper);border-color:var(--sk-line);border-radius:12px;box-shadow:none}
.auth-shell {background:var(--sk-paper);border-color:var(--sk-line);border-radius:14px;box-shadow:0 12px 40px #243f3407}
.auth-shell h1 {color:var(--sk-forest)}
.auth-shell .btn {background:var(--sk-forest)}
@media(hover:hover) {
  #sek-v20.wedding-landing .sk20-tile:hover {border-color:#acb69e;background:#fafbf4}
}
@media(min-width:541px) {
  #sek-v20.wedding-landing .sk20-page {border-color:var(--sk-line)}
  #sek-v20.wedding-landing .sk20-hero {flex-basis:390px;min-height:390px}
  #sek-v20.wedding-landing .sk20-lower {padding-inline:28px;padding-bottom:28px;gap:26px}
  #sek-v20.wedding-landing .sk20-capture {padding:22px 24px}
  #sek-v20.wedding-landing .sk20-card-intro {padding-inline:80px;min-height:44px}
  #sek-v20.wedding-landing .sk20-capture-label {font-size:11px}
  #sek-v20.wedding-landing .sk20-capture-sub {font-size:13px}
  #sek-v20.wedding-landing .sk20-quota {padding:7px 9px;font-size:11px}
  #sek-v20.wedding-landing .sk20-guest-name {height:50px}
  #sek-v20.wedding-landing .sk20-camera {height:53px;font-size:24px}
  #sek-v20.wedding-landing .sk20-memory-heading h2 {font-size:29px}
  #sek-v20.wedding-landing .sk20-memory-heading p {font-size:12px;max-width:none}
  #sek-v20.wedding-landing .sk20-tile:nth-child(n) {min-height:84px;padding:14px 18px;gap:14px}
  #sek-v20.wedding-landing .sk20-tile:nth-child(n) .sk20-tile-icon {width:40px;height:40px;min-width:40px}
  #sek-v20.wedding-landing .sk20-tile-copy strong {font-size:20px}
  #sek-v20.wedding-landing .sk20-tile-copy small {font-size:12px}
}
@media(max-width:540px) and (max-height:740px) {
  #sek-v20.wedding-landing .sk20-hero {min-height:232px;flex-basis:232px}
  #sek-v20.wedding-landing .sk20-lower {gap:16px;padding-bottom:max(14px,env(safe-area-inset-bottom,0px))}
  #sek-v20.wedding-landing .sk20-capture {padding:12px 14px}
  #sek-v20.wedding-landing .sk20-tile:nth-child(n) {min-height:65px;padding-block:9px}
  #sek-v20.wedding-landing .sk20-memory-heading {margin-bottom:10px}
}
@media(max-width:360px) {
  #sek-v20.wedding-landing .sk20-lower {padding-inline:12px}
  #sek-v20.wedding-landing .sk20-card-intro {padding-inline:46px}
  #sek-v20.wedding-landing .sk20-capture-label {font-size:9px;letter-spacing:1px}
  #sek-v20.wedding-landing .sk20-capture-sub {font-size:10px}
  #sek-v20.wedding-landing .sk20-memory-heading h2 {font-size:23px}
  #sek-v20.wedding-landing .sk20-tile:nth-child(n) {gap:7px;padding-inline:8px}
  #sek-v20.wedding-landing .sk20-tile:nth-child(n) .sk20-tile-icon {width:28px;min-width:28px;height:30px}
  #sek-v20.wedding-landing .sk20-tile-copy strong {font-size:15px}
  #sek-v20.wedding-landing .sk20-tile-copy small {font-size:10px}
}
@media(prefers-reduced-motion:reduce) {
  #sek-v20.wedding-landing .sk20-tile:nth-child(n) {transition:none}
}

/* Keep the caption on its own row, clear of the quota badge at every width. */
#sek-v20.wedding-landing .sk30-capture-head {display:grid;grid-template-columns:minmax(0,1fr);gap:3px}
#sek-v20.wedding-landing .sk20-card-intro {display:contents}
#sek-v20.wedding-landing .sk20-capture-label {min-height:28px;display:flex;align-items:center;justify-content:center;padding:0 62px;grid-row:1;text-align:center}
#sek-v20.wedding-landing .sk20-capture-sub {grid-row:2;width:100%;max-width:100%;text-align:center}
#sek-v20.wedding-landing .sk20-quota {top:14px}
@media(max-width:360px){#sek-v20.wedding-landing .sk20-capture-label {padding-inline:54px}}
