/* Sekeping V37 — exact V31 gallery, wishes and quiet voice recorder composition.
   CSS is isolated to guest-facing pages and loaded AFTER all previous versions.
   Preserve the V36 ownership/delete behavior and manager dashboard. */
:root{--sk-paper:#fffdf8;--sk-ivory:#faf7f0;--sk-forest:#263f32;--sk-line:#dfd9cb;--sk-muted:#777e70}
#app .guest-subpage:has(.sk37-reference-gallery),
#app .guest-subpage:has(.sk37-reference-voice),
#app .guest-subpage:has(.sk37-wish-composer){background:var(--sk-ivory);color:var(--sk-forest)}
#app .guest-subpage:has(.sk37-reference-gallery) .guest-subcontent{max-width:1120px;padding:25px 22px 66px}
#app .sk37-reference-gallery{max-width:none;width:100%;margin:0 auto}
#app .sk37-reference-gallery .album-cover{display:flex;align-items:center;justify-content:center;min-height:295px;border-radius:12px;margin:0 0 20px;padding:28px 18px;background:linear-gradient(120deg,#243f34,#526449)!important;position:relative;isolation:isolate;overflow:hidden}
#app .sk37-reference-gallery .album-cover.has-wedding-photo{background:#273f35!important}
#app .sk37-reference-gallery .album-cover .cover-foreground{z-index:-2}
#app .sk37-reference-gallery .album-cover .cover-blurred-backdrop{z-index:-3}
#app .sk37-reference-gallery .album-cover::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#1c302733,#102a24bc);z-index:-1}
#app .sk37-reference-gallery .album-cover::after{display:none}
#app .sk37-reference-gallery .album-cover-details{width:100%;max-width:700px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;z-index:1}
#app .sk37-reference-gallery .album-cover-details .micro{color:#eadcc7;font-size:10px;letter-spacing:2.5px}
#app .sk37-reference-gallery .album-cover-details h1{font:400 clamp(31px,4.5vw,49px)/1.25 'Playfair Display',Georgia,serif;color:#fffefa;margin:7px 0 2px;letter-spacing:-.5px;text-shadow:0 2px 12px #14281fb5;overflow-wrap:anywhere}
#app .sk37-reference-gallery .album-cover-details>p{font:600 11px 'DM Sans',sans-serif;letter-spacing:2px;color:#efe5d1;margin:2px 0 13px}
#app .sk37-reference-gallery .album-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;max-width:610px;margin:10px auto 0}
#app .sk37-reference-gallery .album-stats div{min-width:0;display:flex;flex-direction:column;gap:4px}
#app .sk37-reference-gallery .album-stats strong{font:400 clamp(26px,4vw,36px)/1.1 Georgia,serif;color:#fffefa}
#app .sk37-reference-gallery .album-stats span{color:#e9e9db;font:600 9px 'DM Sans',sans-serif;letter-spacing:1.4px}
#app .sk37-reference-gallery .album-main{padding:0;background:transparent}
#app .sk37-reference-gallery .album-primary{display:flex;align-items:center;gap:9px;margin:0 0 22px}
#app .sk37-reference-gallery .album-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex:1;min-width:0;gap:3px;padding:4px;background:#eeeee5!important;border:1px solid var(--sk-line)!important;border-radius:10px}
#app .sk37-reference-gallery .album-tabs button{font-size:clamp(10px,1.5vw,12px);font-weight:600;white-space:nowrap;padding:12px 5px;min-height:42px;background:transparent;border:0;border-radius:7px;color:#637062}
#app .sk37-reference-gallery .album-tabs button.active{background:var(--sk-paper)!important;color:var(--sk-forest)!important;box-shadow:0 1px 4px #243f3411!important}
#app .sk37-reference-gallery .album-home-button{width:42px;height:42px;min-width:42px;display:grid;place-items:center;border:1px solid var(--sk-line);border-radius:50%;background:#fffdf8;color:#476050}
#app .sk37-reference-gallery .album-home-button:last-child{background:var(--sk-forest);border-color:var(--sk-forest);color:white}
#app .sk37-reference-gallery .gallery-section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin:0 0 16px}
#app .sk37-reference-gallery .gallery-section-heading h2{font:400 clamp(23px,3.2vw,30px) 'Playfair Display',Georgia,serif;color:var(--sk-forest);margin:0 0 5px}
#app .sk37-reference-gallery .gallery-section-heading p{font-size:12px;color:#7d8275;line-height:1.6;margin:0}
#app .sk37-reference-gallery .gallery-count{font-size:12px;color:#7b8274}
#app .sk37-reference-gallery .album-filters{display:flex;gap:8px;overflow-x:auto;padding:0 0 16px}
#app .sk37-reference-gallery .album-filters button{border:1px solid #ded9ce;background:var(--sk-paper);color:#766c5a;padding:10px 13px;border-radius:24px;font-size:10px;font-weight:600;letter-spacing:.8px;white-space:nowrap}
#app .sk37-reference-gallery .album-filters button.active{border-color:var(--sk-forest);background:var(--sk-forest)!important;color:#fff!important}
#app .sk37-reference-gallery .guest-person-row{display:flex;gap:7px;overflow-x:auto;margin-bottom:16px}
#app .sk37-reference-gallery .guest-person-row button{border:1px solid var(--sk-line);border-radius:20px;padding:8px 11px;background:var(--sk-paper);color:#566451;font-size:11px;white-space:nowrap}
#app .sk37-reference-gallery .guest-person-row button.active{background:#e2e8d9;border-color:#b6c6ae}
#app .sk37-reference-gallery .album-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#app .sk37-reference-gallery .album-photo{aspect-ratio:3/4;position:relative;overflow:hidden;border-radius:9px;background:#e0d7c8;box-shadow:none}
#app .sk37-reference-gallery .album-photo .gallery-open-photo{position:absolute;inset:0;width:100%;height:100%;display:block;border:0;padding:0;background:transparent;cursor:zoom-in}
#app .sk37-reference-gallery .album-photo .gallery-open-photo img{width:100%;height:100%;object-fit:cover;display:block}
#app .sk37-reference-gallery .album-photo-name{font:italic clamp(15px,2.4vw,20px) Georgia,serif;padding:30px 11px 12px;color:white;pointer-events:none}
#app .sk37-reference-gallery .album-film-mark{display:block;position:absolute;left:8px;top:50px;z-index:2;color:#e8a873;font-size:8px;pointer-events:none}
#app .sk37-reference-gallery .photo-favourite{width:34px;height:34px;top:8px;right:8px;border-radius:50%;z-index:4}
#app .sk37-reference-gallery .album-photo .sk36-photo-delete{position:absolute;right:9px;bottom:48px;z-index:7;min-height:31px;padding:7px 8px;background:#fffdf4e8;color:#8f4d45;border:1px solid #ffffffaa;box-shadow:0 2px 9px #1b201922}
#app .sk37-reference-gallery .album-photo .sk36-photo-delete span{display:none}
#app .sk37-reference-gallery .album-photo .sk36-photo-delete .ico{height:16px;width:16px}
#app .sk37-reference-gallery .album-bottom-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:24px}
#app .sk37-reference-gallery .album-wishes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#app .sk37-reference-gallery .album-wishes .wish-card{position:relative;padding:22px;background:var(--sk-paper);border:1px solid var(--sk-line);border-radius:12px;box-shadow:none}
#app .sk37-reference-gallery .album-wishes .wish-card::before{display:block;line-height:.85;color:#b9a27e}
#app .sk37-reference-gallery .album-wishes .wish-card p{font-size:13px;line-height:1.75;color:#435747}
#app .sk37-reference-gallery .gallery-voice-list{display:grid;gap:12px}
#app .sk37-reference-gallery .gallery-voice-card{background:var(--sk-paper);border:1px solid var(--sk-line);border-radius:12px;padding:14px}
/* V31 minimalist waveform recorder, adapted to V36's quotas and delete permissions. */
.guest-subpage .guest-identity {display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:0 2px;color:#72786b;font-size:12px;line-height:1.6;text-align:left}
.guest-subpage .guest-identity span {min-width:0;overflow-wrap:anywhere}
.guest-subpage .guest-identity strong {color:var(--sk-forest);font-weight:600}
.guest-subpage .guest-identity button {background:none;border:0;border-bottom:1px solid #c4bea9;border-radius:0;color:#6b725e;padding:8px 0;font-size:11px;white-space:nowrap;flex:none}
.guest-subpage .voice-minimal-panel {max-width:520px;margin:auto}
.guest-subpage .voice-minimal {background:var(--sk-paper);border:1px solid var(--sk-line);border-radius:16px;padding:20px;text-align:center}
.voice-minimal-top {display:flex;align-items:center;justify-content:space-between;gap:12px;color:#6d735f;font-size:10px;letter-spacing:.04em}
.voice-minimal-top>span:first-child {display:flex;align-items:center;gap:7px;letter-spacing:1.6px;font-weight:600}
.voice-minimal-top .ico {color:#9a825a}
.voice-minimal-stage {padding:22px 0 21px}
.voice-minimal-wave {height:44px;display:flex;align-items:center;justify-content:center;gap:4px;margin-bottom:14px;color:#b3b9a3}
.voice-minimal-wave i {display:block;width:3px;height:var(--height);border-radius:4px;background:currentColor;transform:scaleY(.42)}
.voice-minimal.is-recording .voice-minimal-wave {color:#788762}
.voice-minimal.is-recording .voice-minimal-wave i {animation:sk31-wave .85s ease-in-out var(--delay) infinite alternate}
.voice-minimal.is-ready .voice-minimal-wave {color:#9f8b65}
.voice-minimal.is-ready .voice-minimal-wave i {transform:scaleY(.65)}
@keyframes sk31-wave {from{transform:scaleY(.25)}to{transform:scaleY(1)}}
.voice-minimal-time {font:400 43px/1.1 'DM Sans',system-ui,sans-serif;letter-spacing:1px;font-variant-numeric:tabular-nums;color:var(--sk-forest)}
.voice-minimal-state {display:flex;align-items:center;justify-content:center;gap:7px;margin-top:10px;font-size:11px;color:#67725c}
.voice-minimal-state i {width:5px;height:5px;border-radius:50%;background:#9ba68c}
.voice-minimal.is-recording .voice-minimal-state i {background:#aa6054}
.voice-minimal.is-recording .voice-minimal-state {color:#8e5347}
.voice-minimal-progress-head {display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#757b6b;margin-bottom:8px}
.voice-minimal-progress {height:3px;overflow:hidden;background:#ebece1;border-radius:3px}
.voice-minimal-progress>span {display:block;height:100%;background:#9e8c64;transition:width .2s linear}
.voice-minimal-actions {display:flex;justify-content:center;gap:9px;margin-top:20px}
.guest-subpage .voice-minimal-actions .btn {border-radius:10px;flex:1;justify-content:center;min-height:46px;font-size:13px;padding:10px 12px}
.guest-subpage .voice-minimal-actions .voice-stop {background:#8f5146;border-color:#8f5146}
.voice-minimal-hint {font-size:11px;line-height:1.6;color:#767c6e;margin:12px 0 0}
.voice-minimal-preview {margin-top:16px;text-align:left}
.voice-minimal-panel .voice-collection-header {margin:26px 0 14px}
.voice-minimal-panel .voice-collection-header h3 {font-weight:400;font-size:24px;color:var(--sk-forest)}
.voice-minimal-panel .voice-collection-header>span {font-size:11px;color:#737b69}
.guest-subpage .voice-minimal-panel .empty {padding:23px 16px;border-radius:12px;font-size:12px;line-height:1.7}
.guest-subpage .voice-minimal-panel .voice-card {grid-template-columns:1fr;padding:14px;background:var(--sk-paper);border-color:var(--sk-line);box-shadow:none}
#app .guest-subpage .voice-minimal-panel{max-width:540px;margin:0 auto}
#app .guest-subpage .voice-minimal{border-color:var(--sk-line);background:var(--sk-paper);box-shadow:none}
#app .guest-subpage .voice-minimal-actions .btn:disabled{opacity:.45}
#app .guest-subpage .voice-minimal-panel .voice-card{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start;max-width:100%;border-radius:12px}
#app .guest-subpage .voice-minimal-panel .voice-card .sek-voice-player{min-width:0;max-width:100%}
#app .guest-subpage .voice-minimal-panel .voice-card .sk36-own-delete{justify-self:end;margin-top:0}
#app .guest-subpage .voice-minimal-panel .voice-collection-header{display:flex;align-items:center;justify-content:space-between;gap:10px}
#app .guest-subpage .sk35-guest-quota{max-width:540px;margin:0 auto 17px}
/* V31 wish submission card and quotation cards. */
#app .guest-subpage .sk37-wish-composer{padding:23px 24px;margin-bottom:27px!important;background:var(--sk-paper);border:1px solid var(--sk-line);border-radius:12px}
#app .guest-subpage .sk37-wish-composer .field{margin:0 0 16px}
#app .guest-subpage .sk37-wish-composer .field>span{display:block;margin-bottom:9px;color:#60705d;font-size:11px;letter-spacing:1px}
#app .guest-subpage .sk37-wish-composer textarea{min-height:128px;padding:14px 16px;background:#fffefa;border:1px solid #dcd8cd;border-radius:10px;color:var(--sk-forest);font-size:13px;line-height:1.75}
#app .guest-subpage .sk37-wish-composer .actions{display:flex;justify-content:flex-end}
#app .guest-subpage .sk37-wish-composer.is-limit-reached .btn{opacity:.45;cursor:not-allowed;pointer-events:none}
#app .guest-subpage .sk37-wish-composer.is-limit-reached textarea{background:#f7f3ec}
#app .guest-subpage .sk37-wish-composer .sk37-limit-hint{margin:12px 0 0;font-size:11px;line-height:1.6;color:#8a7358;text-align:right}
#app .guest-subpage .sk37-reference-wishes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:930px;margin:0 auto;align-items:start;grid-auto-rows:max-content}
#app .guest-subpage .sk37-reference-wishes .wish-card{background:var(--sk-paper);border:1px solid var(--sk-line);border-radius:12px;padding:24px;box-shadow:none;height:auto;min-height:0;align-self:start;display:flex;flex-direction:column}
#app .guest-subpage .sk37-reference-wishes .wish-card::before{display:block;font:48px Georgia,serif;line-height:.8;color:#c8b58f}
#app .guest-subpage .sk37-reference-wishes .wish-card p{font-size:14px;line-height:1.8;color:#455848;overflow-wrap:anywhere;white-space:pre-wrap;margin:12px 0 15px}
#app .guest-subpage .sk37-reference-wishes .wish-card .by{color:#796d56;font-size:11px}
#app .guest-subpage .sk37-reference-wishes .wish-card .sk36-own-delete{margin-top:14px;align-self:flex-start}
@media(max-width:700px){
 #app .guest-subpage:has(.sk37-reference-gallery) .guest-subcontent{padding:15px 16px 50px}
 #app .sk37-reference-gallery .album-cover{min-height:265px;border-radius:0;margin:0 -16px 17px;padding:23px 13px}
 #app .sk37-reference-gallery .album-cover-details h1{font-size:clamp(30px,8vw,41px)}
 #app .sk37-reference-gallery .album-stats strong{font-size:26px}
 #app .sk37-reference-gallery .album-stats span{font-size:8px;letter-spacing:.7px}
 #app .sk37-reference-gallery .album-primary{gap:6px;margin-bottom:19px}
 #app .sk37-reference-gallery .album-tabs button{min-height:40px;padding:10px 3px;font-size:10px}
 #app .sk37-reference-gallery .album-home-button{height:38px;width:38px;min-width:38px}
 #app .sk37-reference-gallery .album-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 #app .sk37-reference-gallery .album-wishes,#app .guest-subpage .sk37-reference-wishes{grid-template-columns:1fr}
 #app .guest-subpage .sk37-wish-composer{padding:19px}
}
@media(max-width:360px){#app .sk37-reference-gallery .album-tabs button{font-size:9px;letter-spacing:-.1px}#app .sk37-reference-gallery .album-photo-name{font-size:14px}}
@media(prefers-reduced-motion:reduce){.voice-minimal.is-recording .voice-minimal-wave i{animation:none;transform:scaleY(.7)}.voice-minimal-progress>span{transition:none}}
