/* Sekeping Camera V21 · full-screen viewfinder; only the filter drawer scrolls. */
body.sek-camera-open { overflow:hidden !important; overscroll-behavior:none; }
body.sek-camera-open #app { height:100dvh; overflow:hidden; }
.sek-camera-v21,.sek-camera-v21 * { box-sizing:border-box; }
.sek-camera-v21.camera-immersive {
 position:fixed; inset:0; z-index:1200; width:100%; height:100vh; height:100dvh;
 min-height:0; margin:0; padding:0; overflow:hidden; background:#201d1b;
 font-family:'DM Sans',system-ui,sans-serif; color:#fffdf5;
}
.sek-camera-v21 .camera-frame,
.sek-camera-v21 .camera-frame.landscape {
 position:absolute; inset:0; width:100%; height:100%; max-width:none; max-height:none;
 min-height:0; min-width:0; border:0; border-radius:0; box-shadow:none;
 aspect-ratio:auto !important; overflow:hidden; background:#292722; margin:0; transform:none;
}
.sek-camera-v21 .camera-preview-stage,
.sek-camera-v21 .camera-frame.aspect-classic:not(.landscape) .camera-preview-stage,
.sek-camera-v21 .camera-frame.aspect-wide .camera-preview-stage,
.sek-camera-v21 .camera-frame.landscape.aspect-classic .camera-preview-stage,
.sek-camera-v21 .camera-frame.landscape.aspect-wide .camera-preview-stage {
 position:absolute; inset:0; top:0; left:0; width:100%; height:100%; max-width:none;
 max-height:none; aspect-ratio:auto; transform:none; background:#34332f; overflow:hidden;
}
.sek-camera-v21 .camera-frame .camera-preview-stage video,
.sek-camera-v21 .camera-frame .camera-preview-stage #capturePreview {
 position:absolute; inset:0; display:block; width:100%; height:100%; min-height:100%;
 object-fit:cover; object-position:center; transform:none;
}
/* A real difference between Lebar and Biasa, without shrinking the viewfinder. */
.sek-camera-v21 .camera-frame.aspect-classic .camera-preview-stage video { transform:scale(1.11); }
.sek-camera-v21 .camera-frame.aspect-wide .camera-preview-stage video { transform:scale(1); }
.sek-camera-v21.is-review #capturePreview { object-fit:contain; background:#171511; }
.sek-camera-v21 .sk21-screen-shade { position:absolute; z-index:4; inset:0; pointer-events:none;
 background:linear-gradient(180deg,rgba(12,12,12,.62) 0%,rgba(12,12,12,.21) 17%,transparent 37%,transparent 52%,rgba(8,8,8,.16) 65%,rgba(8,8,8,.70) 100%); }
.sek-camera-v21 .cam-guide { display:none; }
.sek-camera-v21 .cam-overlay-header {
 position:absolute; top:0; left:0; right:0; z-index:11;
 display:grid; grid-template-columns:54px minmax(0,1fr) 54px;
 align-items:start; gap:6px; text-align:center;
 padding:calc(22px + env(safe-area-inset-top,0px)) 20px 0;
 background:none; color:#fff; pointer-events:none;
}
.sek-camera-v21 .cam-overlay-header button { pointer-events:auto; }
.sek-camera-v21 .cam-glass {
 color:#fff; border:1px solid rgba(255,255,255,.27); background:rgba(24,23,22,.54);
 backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
 box-shadow:0 4px 20px rgba(0,0,0,.12);
}
.sek-camera-v21 .cam-glass.circle { width:52px; height:52px; min-height:52px; padding:0; border-radius:50%; }
.sek-camera-v21 .cam-glass.circle .ico { width:23px; height:23px; }
.sek-camera-v21 .cam-wedding-title { display:flex; flex-direction:column; align-items:center; gap:6px; min-width:0; padding:4px 0 0;
 text-shadow:0 2px 12px rgba(0,0,0,.6); }
.sek-camera-v21 .cam-wedding-title strong { display:block; margin:0; max-width:100%;
 font:600 clamp(23px,6.8vw,37px)/1.13 'Playfair Display',Georgia,serif;
 letter-spacing:.1px; color:#fff; white-space:normal; overflow-wrap:anywhere; text-overflow:clip;
}
.sek-camera-v21 .cam-wedding-title small { font:500 clamp(9px,2.4vw,12px)/1.45 ui-monospace,SFMono-Regular,monospace;
 letter-spacing:clamp(1.4px,.52vw,3px); color:#e7e2d9; }
.sek-camera-v21 .sk21-look-switch {
 display:flex; align-items:center; overflow:hidden; border-radius:100px;
 background:rgba(22,21,19,.60); border:1px solid rgba(255,255,255,.34);
 margin:5px auto 0; box-shadow:0 2px 8px rgba(0,0,0,.18);
 max-width:100%; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
.sek-camera-v21 .sk21-look-switch button,
.sek-camera-v21 .sk21-look-switch span {
 display:inline-flex; align-items:center; justify-content:center; padding:8px 14px; min-height:34px;
 font:600 10px/1 ui-monospace,SFMono-Regular,monospace; letter-spacing:1.8px; white-space:nowrap;
}
.sek-camera-v21 .sk21-look-switch button { border:0; background:transparent; color:#e7d9c4; cursor:pointer; }
.sek-camera-v21 .sk21-look-switch span { background:#f7f3ea; border-radius:40px; color:#4b4135; }
.sek-camera-v21 .sk21-top-settings .ico { width:22px; height:22px; }
.sek-camera-v21 .cam-film-stamp { position:absolute; top:auto; bottom:28%; left:23px; right:auto;
 font:600 clamp(10px,2.5vw,13px)/1.15 ui-monospace,SFMono-Regular,monospace;
 writing-mode:vertical-rl; transform:none; color:#ed9f70; letter-spacing:3px; text-shadow:0 1px 4px #1a090b;
 max-height:42%; overflow:hidden; pointer-events:none; z-index:9;
}
.sek-camera-v21 .camera-controls {
 position:absolute; z-index:12; left:0; right:0; bottom:0;
 padding:25px clamp(16px,5vw,30px) max(28px,calc(18px + env(safe-area-inset-bottom,0px)));
 background:none; color:#fff; pointer-events:none;
}
.sek-camera-v21 .camera-controls button,.sek-camera-v21 .camera-controls label { pointer-events:auto; }
.sek-camera-v21 .camera-actions-row {
 display:grid; grid-template-columns:56px minmax(0,1fr) 56px; gap:12px;
 align-items:center; margin:0 auto 24px; width:min(100%,460px); max-width:none;
}
.sek-camera-v21 .camera-actions-row>.cam-glass { width:54px; height:54px; min-height:54px; }
.sek-camera-v21 .camera-actions-row>.cam-glass[aria-pressed="true"] { background:#f6f0e3; color:#4b3625; }
.sek-camera-v21 .camera-ratio { justify-self:center; display:flex; padding:4px;
 background:rgba(34,30,29,.70); border:1px solid rgba(255,255,255,.43); border-radius:100px;
 gap:2px; max-width:100%; }
.sek-camera-v21 .camera-ratio button { border:0; border-radius:50px; min-width:0;
 padding:12px clamp(13px,4vw,24px); letter-spacing:2px;
 font:600 clamp(10px,2.4vw,12px)/1 ui-monospace,SFMono-Regular,monospace;
 color:#eae2d7; background:transparent; }
.sek-camera-v21 .camera-ratio button.selected { background:#f7f4ed; color:#302b28; }
.sek-camera-v21 .camera-snap-row {
 display:grid; grid-template-columns:1fr 104px 1fr; align-items:center; justify-items:center;
 width:min(100%,400px); max-width:none; gap:0; margin:0 auto 22px;
}
.sek-camera-v21 .camera-shutter { width:94px; height:94px; border:6px solid #f6f4ef;
 background:#faf8f1; border-radius:50%; box-shadow:inset 0 0 0 6px #4e4442,0 4px 13px #0003; }
.sek-camera-v21 .camera-shutter:disabled { opacity:.45; }
.sek-camera-v21 .cam-remaining { justify-self:start; width:75px; height:79px; border-radius:23px;
 background:rgba(26,27,26,.68); box-shadow:0 7px 30px rgba(0,0,0,.2); gap:3px; }
.sek-camera-v21 .cam-remaining b { font-size:34px; font-weight:500; line-height:1.06; }
.sek-camera-v21 .cam-remaining span { font:600 10px/1.2 ui-monospace,monospace; letter-spacing:2.2px; }
.sek-camera-v21 .cam-upload { width:min(100%,400px); min-height:55px; margin:0 auto;
 display:flex; justify-content:center; align-items:center; padding:13px 17px;
 color:#f5f0e8; background:rgba(10,10,10,.68); border:1px solid rgba(255,255,255,.38);
 border-radius:100px; font:500 clamp(9px,2.8vw,12px)/1.2 ui-monospace,SFMono-Regular,monospace;
 letter-spacing:2px; cursor:pointer; }
.sek-camera-v21 .cam-upload:hover { background:rgba(29,29,28,.82); }
.sek-camera-v21 .camera-message { z-index:7; top:47%; width:min(86%,380px);
 border-radius:22px; padding:22px; background:rgba(23,22,19,.58);
 backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); font-size:13px; }
.sek-camera-v21 .camera-message p { margin:7px 0 0; }
.sek-camera-v21 .camera-review-actions { justify-content:center; align-items:center;
 gap:14px; width:min(100%,420px); margin:0 auto 8px; flex-wrap:nowrap; }
.sek-camera-v21 .camera-review-actions button { min-height:53px; flex:1 1 50%; font-size:13px; }
.sek-camera-v21 .cam-review-save { border:1px solid #f9efe4; border-radius:35px; justify-content:center; }
.sek-camera-v21 .sk21-filter-scrim { position:fixed; inset:0; border:0; z-index:15;
 background:rgba(0,0,0,.54); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); }
.sek-camera-v21 .sk21-filter-scrim[hidden],
.sek-camera-v21 .filter-studio[hidden] { display:none!important; }
.sek-camera-v21 .filter-studio {
 position:fixed; left:0; right:0; bottom:0; z-index:17;
 width:100%; max-width:780px; max-height:min(81dvh,760px); overflow-y:auto;
 overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
 margin:0 auto; padding:14px clamp(15px,4vw,30px) max(22px,calc(18px + env(safe-area-inset-bottom,0px)));
 background:#fcf8ef; color:#342b24; border:1px solid #e7d9c8; border-bottom:0;
 border-radius:25px 25px 0 0; box-shadow:0 -13px 60px rgba(0,0,0,.32);
}
.sek-camera-v21 .sk21-drawer-grip { width:42px; height:4px; border-radius:8px; background:#c8b9a7; margin:0 auto 16px; }
.sek-camera-v21 .filter-studio-header { gap:13px; margin-bottom:16px; }
.sek-camera-v21 .filter-studio-header h2 { font:500 clamp(21px,5.5vw,29px)/1.25 'Playfair Display',Georgia,serif; margin:5px 0; }
.sek-camera-v21 .filter-studio-header p { line-height:1.35; font-size:11px; }
.sek-camera-v21 .sk21-drawer-close { width:40px; height:40px; flex:0 0 40px; display:grid; place-items:center;
 border-radius:50%; border:1px solid #dacbb8; background:#f5ece1; color:#3a2e25; }
.sek-camera-v21 .filter-category-row { padding-bottom:10px; }
.sek-camera-v21 .filter-preview-grid { padding-bottom:10px; }
.sek-camera-v21 .filter-preview-card { flex-basis:94px; }
.sek-camera-v21 .effects-heading { padding-top:13px; }
.sek-camera-v21 .effects-grid { margin:9px 0 16px; }
.sek-camera-v21 .effect-card { padding:13px; }
.sek-camera-v21 .effect-range { margin-top:11px; }
.sek-camera-v21 .sk21-drawer-done { background:#2e4335!important; color:#fff; margin-top:7px; min-height:47px; }
.sek-camera-v21.is-review .filter-studio { display:none!important; }
@media (min-width:730px) {
 .sek-camera-v21 .cam-overlay-header {padding-top:35px;}
 .sek-camera-v21 .camera-controls {padding-bottom:35px;}
 .sek-camera-v21 .cam-film-stamp {left:35px;}
}
@media (max-width:620px) {
 .sek-camera-v21 .cam-overlay-header {grid-template-columns:44px minmax(0,1fr) 44px; padding:calc(15px + env(safe-area-inset-top,0px)) 16px 0; gap:6px;}
 .sek-camera-v21 .cam-glass.circle {width:44px; height:44px; min-height:44px;}
 .sek-camera-v21 .cam-wedding-title strong {font-size:clamp(22px,6.5vw,29px);}
 .sek-camera-v21 .camera-actions-row {grid-template-columns:48px minmax(0,1fr) 48px; margin-bottom:20px; gap:7px;}
 .sek-camera-v21 .camera-actions-row>.cam-glass {width:48px;height:48px;min-height:48px;}
 .sek-camera-v21 .camera-ratio button {padding:10px clamp(13px,4vw,21px);}
 .sek-camera-v21 .camera-controls {padding-inline:16px; padding-bottom:max(24px,calc(14px + env(safe-area-inset-bottom,0px)));}
 .sek-camera-v21 .camera-snap-row {grid-template-columns:1fr 90px 1fr; margin-bottom:20px;}
 .sek-camera-v21 .camera-shutter {width:88px;height:88px;}
 .sek-camera-v21 .cam-remaining {width:67px;height:73px;border-radius:20px;}
 .sek-camera-v21 .cam-film-stamp {left:14px;bottom:29%;font-size:10px;letter-spacing:2px;}
 .sek-camera-v21 .cam-upload {min-height:51px;}
 .sek-camera-v21 .effects-grid {grid-template-columns:1fr;}
}
@media (max-height:680px) {
 .sek-camera-v21 .cam-overlay-header {padding-top:11px;}
 .sek-camera-v21 .cam-wedding-title strong {font-size:clamp(20px,5vw,26px);}
 .sek-camera-v21 .cam-wedding-title {gap:3px;}
 .sek-camera-v21 .sk21-look-switch {margin-top:3px;}
 .sek-camera-v21 .sk21-look-switch button,.sek-camera-v21 .sk21-look-switch span {min-height:29px;padding:6px 11px;font-size:9px;}
 .sek-camera-v21 .camera-actions-row {margin-bottom:12px;}
 .sek-camera-v21 .camera-snap-row {margin-bottom:12px;}
 .sek-camera-v21 .camera-shutter {width:74px;height:74px;}
 .sek-camera-v21 .camera-snap-row {grid-template-columns:1fr 82px 1fr;}
 .sek-camera-v21 .cam-remaining {height:58px;width:60px;border-radius:16px;}
 .sek-camera-v21 .cam-remaining b {font-size:26px;}
 .sek-camera-v21 .cam-upload {min-height:44px;}
 .sek-camera-v21 .camera-controls {padding-bottom:14px;}
 .sek-camera-v21 .cam-film-stamp {max-height:33%;bottom:33%;}
}
@media (max-width:350px) {
 .sek-camera-v21 .cam-overlay-header {padding-inline:10px;}
 .sek-camera-v21 .cam-wedding-title strong {font-size:21px;}
 .sek-camera-v21 .camera-ratio button {padding-inline:10px;letter-spacing:1.5px;}
 .sek-camera-v21 .camera-controls {padding-inline:10px;}
 .sek-camera-v21 .cam-film-stamp {left:8px;}
 .sek-camera-v21 .sk21-look-switch button,.sek-camera-v21 .sk21-look-switch span {padding-inline:9px;letter-spacing:1px;}
}
@media (prefers-reduced-motion:reduce){.sek-camera-v21 .camera-shutter{transition:none;}}

/* SEK E P I N G — Camera Studio V22
   A readable live-filter shelf and a distinct front/back camera control.
   The controls stay in the viewport, including small mobile screens. */
.sek-camera-v22 { --sk22-ivory:#f8f4ed; --sk22-ivory-dim:#ede4d4; --sk22-ink:#231f1c; --sk22-brass:#ddc49c; }
.sek-camera-v22 .sk21-screen-shade {
 background:linear-gradient(180deg,rgba(10,9,9,.70) 0%,rgba(12,10,10,.2) 17%,transparent 35%,transparent 43%,rgba(10,9,9,.18) 54%,rgba(8,7,7,.66) 75%,rgba(8,7,7,.91) 100%);
}
.sek-camera-v22 .cam-overlay-header { grid-template-columns:90px minmax(0,1fr) 90px; align-items:start; gap:3px; padding:calc(17px + env(safe-area-inset-top,0px)) 18px 0; }
.sek-camera-v22 .cam-overlay-header>.cam-glass {justify-self:start;}
.sek-camera-v22 .cam-glass.circle.sk22-back {width:43px;height:43px;min-height:43px;border-color:#ffffff45;}
.sek-camera-v22 .cam-glass.circle.sk22-back .ico {width:22px;height:22px;}
.sek-camera-v22 .cam-wedding-title {gap:5px;padding:0;}
.sek-camera-v22 .sk22-eyebrow {white-space:nowrap;color:var(--sk22-brass);font:600 9px/1.4 'DM Sans',sans-serif;letter-spacing:2.15px;text-shadow:0 1px 8px #0005;}
.sek-camera-v22 .sk22-eyebrow i {font-style:normal;opacity:.6;padding:0 3px;}
.sek-camera-v22 .cam-wedding-title strong {font:600 clamp(22px,6.3vw,31px)/1.12 'Playfair Display',Georgia,serif;letter-spacing:.05px;}
.sek-camera-v22 .cam-wedding-title small {font:500 9px/1.4 ui-monospace,SFMono-Regular,monospace;letter-spacing:1.55px;color:#eee7da;white-space:nowrap;}
.sek-camera-v22 .sk22-top-filter {justify-self:end;display:flex;align-items:center;gap:7px;height:42px;max-width:100%;padding:0 12px;border-radius:22px;border:1px solid #ffffff70;background:#f8f4efec;color:#342a21;box-shadow:0 3px 20px #0003;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font:700 10px/1 'DM Sans',sans-serif;letter-spacing:1.1px;cursor:pointer;pointer-events:auto;}
.sek-camera-v22 .sk22-top-filter svg {width:17px;height:17px;stroke-width:1.5;}
.sek-camera-v22 .sk22-top-filter:active,.sek-camera-v22 .cam-glass.circle.sk22-back:active {transform:scale(.96);}
.sek-camera-v22 .cam-film-stamp {display:none!important;}
.sek-camera-v22 .camera-controls {padding:20px clamp(14px,4.5vw,24px) max(22px,calc(14px + env(safe-area-inset-bottom,0px)));background:linear-gradient(transparent,rgba(12,11,10,.35) 9%,rgba(10,9,9,.70) 42%,rgba(8,8,8,.90) 100%);}
.sek-camera-v22 .sk22-filter-strip {pointer-events:auto;width:min(100%,480px);margin:0 auto 15px;min-width:0;}
.sek-camera-v22 .sk22-filter-heading {display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 3px 8px;color:#f7f0e5;}
.sek-camera-v22 .sk22-filter-heading>span {display:inline-flex;align-items:center;gap:7px;font:700 10px/1.2 'DM Sans',sans-serif;letter-spacing:1.5px;white-space:nowrap;}
.sek-camera-v22 .sk22-gold-spark {color:var(--sk22-brass);font-style:normal;font-size:14px;}
.sek-camera-v22 .sk22-all-filters {display:inline-flex;gap:4px;align-items:center;padding:7px 4px;border:0;color:var(--sk22-brass);background:transparent;font:600 11px/1.2 'DM Sans',sans-serif;letter-spacing:.1px;white-space:nowrap;}
.sek-camera-v22 .sk22-all-filters .ico {height:14px;width:14px;stroke-width:1.5;}
.sek-camera-v22 .sk22-filter-rail {display:flex;gap:13px;align-items:start;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x proximity;padding:0 3px 3px;-webkit-overflow-scrolling:touch;touch-action:pan-x;}
.sek-camera-v22 .sk22-filter-rail::-webkit-scrollbar {display:none;}
.sek-camera-v22 .sk22-filter-chip {flex:0 0 57px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding:1px 0 3px;border:0;background:transparent;color:#eee6dc;scroll-snap-align:start;cursor:pointer;}
.sek-camera-v22 .sk22-filter-thumb {display:block;width:52px;height:52px;padding:3px;position:relative;border:1.5px solid #ffffff6b;border-radius:50%;background:#ffffff14;overflow:hidden;transition:border-color .16s,background .16s,transform .16s;}
.sek-camera-v22 .sk22-filter-scene {display:block;position:relative;width:100%;height:100%;overflow:hidden;border-radius:50%;background:linear-gradient(160deg,#c8ddd6 0%,#e6d6b9 50%,#8d8a72 100%);}
.sek-camera-v22 .sk22-filter-scene:before {content:'';position:absolute;top:8px;left:17px;width:17px;height:17px;border-radius:50%;background:#fae9c3;box-shadow:0 0 14px #ffe7bd;}
.sek-camera-v22 .sk22-filter-scene i,.sek-camera-v22 .sk22-filter-scene b {position:absolute;display:block;width:85px;height:47px;border-radius:50%;transform:rotate(-19deg);left:-19px;bottom:-32px;background:#83907d;}
.sek-camera-v22 .sk22-filter-scene b {bottom:-41px;left:8px;background:#586d6b;transform:rotate(20deg);}
.sek-camera-v22 .sk22-filter-chip.active .sk22-filter-thumb {border:2px solid var(--sk22-brass);padding:2.5px;background:rgba(226,196,151,.17);box-shadow:0 0 0 2px #1119;transform:translateY(-2px);}
.sek-camera-v22 .sk22-filter-chip.active .sk22-filter-thumb:after {position:absolute;right:0;bottom:0;content:'✓';display:grid;place-items:center;font:800 10px/1 'DM Sans',sans-serif;color:#1d1b18;width:15px;height:15px;border-radius:50%;background:var(--sk22-brass);border:1px solid #221f1b;}
.sek-camera-v22 .sk22-filter-name {font:600 9px/1.3 'DM Sans',sans-serif;text-align:center;white-space:nowrap;max-width:72px;letter-spacing:.1px;}
.sek-camera-v22 .sk22-filter-chip.active .sk22-filter-name {color:var(--sk22-brass);font-weight:700;}
.sek-camera-v22 .camera-actions-row {grid-template-columns:68px minmax(0,1fr) 68px;gap:7px;width:min(100%,415px);margin:0 auto 13px;}
.sek-camera-v22 .sk22-action {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:65px;padding:4px 0;background:transparent;color:var(--sk22-ivory);border:0;cursor:pointer;}
.sek-camera-v22 .sk22-action-icon {display:grid;place-items:center;width:43px;height:43px;border:1px solid #ffffff65;border-radius:50%;background:#ffffff15;box-shadow:inset 0 1px 0 #ffffff12;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);}
.sek-camera-v22 .sk22-action-icon .ico {width:19px;height:19px;stroke-width:1.5;}
.sek-camera-v22 .sk22-flip-svg {width:29px;height:29px;}
.sek-camera-v22 .sk22-action-text {font:650 8.5px/1 'DM Sans',sans-serif;letter-spacing:.65px;white-space:nowrap;color:#e8e1d7;}
.sek-camera-v22 .sk22-action[aria-pressed="true"] .sk22-action-icon {background:#e9d4ac;color:#2d2922;border-color:#ebd9b8;}
.sek-camera-v22 .sk22-action[aria-pressed="true"] .sk22-action-text {color:#f6ddb0;}
.sek-camera-v22 .sk22-flip .sk22-action-icon {border-color:#e8d0a68a;}
.sek-camera-v22 .camera-ratio {justify-self:center;padding:3px;background:rgba(16,15,14,.48);border:1px solid #ffffff67;box-shadow:0 4px 20px #0002;gap:2px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.sek-camera-v22 .camera-ratio button {font:700 clamp(9px,2.4vw,11px)/1 'DM Sans',sans-serif;letter-spacing:1.1px;padding:11px clamp(12px,3.8vw,25px);min-height:35px;}
.sek-camera-v22 .camera-ratio button.selected {background:var(--sk22-ivory);color:#2e2924;box-shadow:0 2px 7px #0002;}
.sek-camera-v22 .camera-snap-row {grid-template-columns:1fr 90px 1fr;gap:8px;width:min(100%,390px);margin:0 auto 13px;}
.sek-camera-v22 .camera-shutter {display:grid;place-items:center;width:80px;height:80px;border:3px solid #fdf9f2;background:transparent;box-shadow:0 3px 22px #0005,inset 0 0 0 2px #0004;transition:transform .16s;}
.sek-camera-v22 .camera-shutter span {display:block;width:64px;height:64px;background:#fcf8f0;border-radius:50%;box-shadow:0 2px 12px #0003;}
.sek-camera-v22 .camera-shutter:active {transform:scale(.93);}
.sek-camera-v22 .cam-remaining {justify-self:start;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;background:transparent;border:1px solid #ffffff36;box-shadow:none;width:67px;height:67px;border-radius:16px;}
.sek-camera-v22 .cam-remaining b {font:500 30px/1 'Playfair Display',Georgia,serif;letter-spacing:0;}
.sek-camera-v22 .cam-remaining span {font:600 9px/1 'DM Sans',sans-serif;letter-spacing:1.15px;color:#dacebf;}
.sek-camera-v22 .sk22-shutter-hint {justify-self:end;font:500 8.5px/1.5 'DM Sans',sans-serif;text-align:right;letter-spacing:.55px;color:#bdb3a6;}
.sek-camera-v22 .cam-upload {display:flex;align-items:center;justify-content:center;gap:10px;min-height:47px;width:min(100%,390px);padding:11px 18px;background:#fcf8f2;color:#37302a;border:1px solid #f7f3ed;border-radius:30px;font:700 11px/1.3 'DM Sans',sans-serif;letter-spacing:.3px;box-shadow:0 7px 22px #0005;}
.sek-camera-v22 .cam-upload .ico {width:16px;height:16px;stroke-width:1.6;}
.sek-camera-v22 .cam-upload:hover {background:white;}
.sek-camera-v22 .camera-message {background:#1e1c1acb;border:1px solid #ffffff33;top:41%;}
/* Filter studio—an actual selectable shelf with separate effect controls. */
.sek-camera-v22 .sk21-filter-scrim {z-index:20;}
.sek-camera-v22 .filter-studio {z-index:22;max-width:660px;max-height:min(79dvh,690px);padding:14px clamp(17px,5vw,26px) max(24px,calc(14px + env(safe-area-inset-bottom,0px)));background:#f7f3ed;border:0;border-radius:27px 27px 0 0;box-shadow:0 -15px 65px #0007;}
.sek-camera-v22 .sk21-drawer-grip {background:#c5bcae;margin-bottom:18px;}
.sek-camera-v22 .filter-studio-header {display:flex;justify-content:space-between;align-items:flex-start;gap:9px;margin-bottom:10px;}
.sek-camera-v22 .filter-studio-header .micro {color:#91795f;font:700 9px/1.3 'DM Sans',sans-serif;letter-spacing:1.5px;}
.sek-camera-v22 .filter-studio-header h2 {font:600 clamp(24px,6.2vw,30px)/1.15 'Playfair Display',Georgia,serif;margin:5px 0;}
.sek-camera-v22 .filter-studio-header p {font:400 12px/1.45 'DM Sans',sans-serif;color:#746a5e;margin:5px 0;}
.sek-camera-v22 .sk21-drawer-close {width:40px;height:40px;border-radius:50%;background:#ede7de;}
.sek-camera-v22 .sk22-panel-active {display:flex;align-items:center;gap:6px;padding:9px 11px;margin:8px 0 14px;background:#e9e1d5;color:#594733;border-radius:10px;font:500 11px/1.3 'DM Sans',sans-serif;}
.sek-camera-v22 .sk22-panel-active .ico {width:14px;height:14px;}
.sek-camera-v22 .sk22-panel-active strong {color:#292019;}
.sek-camera-v22 .filter-category-row {gap:8px;padding-bottom:13px;}
.sek-camera-v22 .filter-category {padding:9px 14px;font:600 11px/1.2 'DM Sans',sans-serif;}
.sek-camera-v22 .filter-category.active {background:#292621;border-color:#292621;color:white;}
.sek-camera-v22 .filter-preview-grid {gap:10px;padding-bottom:12px;scrollbar-width:none;}
.sek-camera-v22 .filter-preview-grid::-webkit-scrollbar {display:none;}
.sek-camera-v22 .filter-preview-card {flex:0 0 107px;border:1.5px solid #ddd3c7;background:#fffdf9;border-radius:13px;padding:6px;gap:7px;box-shadow:0 2px 7px #3e342015;}
.sek-camera-v22 .filter-preview-card.active {border:2px solid #af8e62;background:#f3e8d7;}
.sek-camera-v22 .filter-preview-card .filter-thumbnail {border-radius:8px;aspect-ratio:4/5;}
.sek-camera-v22 .filter-preview-card .filter-name {font:600 11px/1.2 'DM Sans',sans-serif;}
.sek-camera-v22 .effects-heading {padding-top:13px;border-top:1px solid #ddd0c1;}
.sek-camera-v22 .effects-grid {margin:8px 0 10px;}
.sek-camera-v22 .sk21-drawer-done {position:sticky;bottom:0;z-index:1;border-radius:25px;box-shadow:0 5px 18px #0003!important;background:#302922!important;color:white!important;min-height:46px;}
.sek-camera-v22.is-review .camera-controls {padding-bottom:max(32px,calc(20px + env(safe-area-inset-bottom,0px)));}
.sek-camera-v22.is-review .camera-review-actions .cam-glass {border-radius:25px;}
.sek-camera-v22.is-review .cam-review-save {background:#f8f4ed;color:#2b251d;border-radius:25px;}
@media (max-width:410px){
 .sek-camera-v22 .cam-overlay-header {grid-template-columns:71px minmax(0,1fr) 71px;padding-inline:14px;}
 .sek-camera-v22 .sk22-top-filter {height:39px;padding:0 8px;font-size:9px;gap:5px;}
 .sek-camera-v22 .sk22-top-filter svg {width:15px;height:15px;}
 .sek-camera-v22 .cam-glass.circle.sk22-back {width:39px;height:39px;min-height:39px;}
 .sek-camera-v22 .sk22-eyebrow {font-size:8px;letter-spacing:1.45px;}
 .sek-camera-v22 .cam-wedding-title strong {font-size:clamp(18px,6vw,26px);}
 .sek-camera-v22 .cam-wedding-title small {font-size:8.5px;letter-spacing:1.1px;}
 .sek-camera-v22 .sk22-filter-rail {gap:10px;}
 .sek-camera-v22 .sk22-filter-chip {flex-basis:54px;}
 .sek-camera-v22 .sk22-filter-thumb {width:49px;height:49px;}
 .sek-camera-v22 .camera-actions-row {grid-template-columns:62px minmax(0,1fr) 62px;}
 .sek-camera-v22 .camera-ratio button {padding-inline:clamp(13px,3.5vw,19px);}
}
@media (max-height:760px){
 .sek-camera-v22 .cam-overlay-header {padding-top:calc(11px + env(safe-area-inset-top,0px));}
 .sek-camera-v22 .camera-controls {padding-top:12px;padding-bottom:max(13px,env(safe-area-inset-bottom,0px));}
 .sek-camera-v22 .sk22-filter-strip {margin-bottom:6px;}
 .sek-camera-v22 .sk22-filter-heading {margin-bottom:4px;}
 .sek-camera-v22 .sk22-filter-thumb {width:43px;height:43px;}
 .sek-camera-v22 .sk22-filter-chip {gap:4px;}
 .sek-camera-v22 .camera-actions-row {margin-bottom:3px;}
 .sek-camera-v22 .sk22-action {min-height:56px;gap:2px;}
 .sek-camera-v22 .sk22-action-icon {width:38px;height:38px;}
 .sek-camera-v22 .camera-snap-row {margin-bottom:8px;grid-template-columns:1fr 76px 1fr;}
 .sek-camera-v22 .camera-shutter {width:70px;height:70px;}
 .sek-camera-v22 .camera-shutter span {width:55px;height:55px;}
 .sek-camera-v22 .cam-upload {min-height:40px;padding-block:8px;}
 .sek-camera-v22 .cam-remaining {height:57px;width:57px;}
 .sek-camera-v22 .cam-remaining b {font-size:25px;}
}
@media (max-height:610px){
 .sek-camera-v22 .sk22-eyebrow {display:none;}
 .sek-camera-v22 .sk22-filter-rail {gap:7px;}
 .sek-camera-v22 .sk22-filter-thumb {width:36px;height:36px;}
 .sek-camera-v22 .sk22-filter-chip {flex-basis:43px;}
 .sek-camera-v22 .sk22-filter-name {font-size:8px;}
 .sek-camera-v22 .sk22-filter-heading {margin-bottom:2px;}
 .sek-camera-v22 .sk22-action-icon {width:32px;height:32px;}
 .sek-camera-v22 .sk22-action {min-height:48px;}
 .sek-camera-v22 .camera-shutter {width:58px;height:58px;}
 .sek-camera-v22 .camera-shutter span {width:44px;height:44px;}
 .sek-camera-v22 .camera-snap-row {grid-template-columns:1fr 64px 1fr;}
 .sek-camera-v22 .cam-remaining {height:46px;width:49px;}
 .sek-camera-v22 .cam-remaining b {font-size:22px;}
}
@media (prefers-reduced-motion:reduce){.sek-camera-v22 .sk22-filter-thumb,.sek-camera-v22 .sk22-top-filter{transition:none}}


/* SEK E P I N G — Camera Studio V23
   Fewer better filters, collapsible quick filter rail, and a truly centered shutter. */
.sek-camera-v23 .sk23-filter-strip{width:min(100%,480px);margin:0 auto 15px;padding:11px 12px 12px;border-radius:22px;background:rgba(14,13,12,.32);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.sek-camera-v23 .sk22-filter-heading{margin:0;color:#f7f0e5}
.sek-camera-v23 .sk23-filter-heading-actions{display:flex;align-items:center;gap:8px}
.sek-camera-v23 .sk23-filter-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:7px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#f6e8cf;font:700 10px/1 'DM Sans',sans-serif;letter-spacing:.6px}
.sek-camera-v23 .sk23-filter-summary{margin-top:10px;padding:11px 12px;border-radius:14px;background:rgba(255,255,255,.08);color:#f4ecdf;font:600 11px/1.4 'DM Sans',sans-serif;letter-spacing:.15px}
.sek-camera-v23 .sk23-filter-summary strong{color:#f4d5a1}
.sek-camera-v23 .sk22-filter-rail{margin-top:10px}
.sek-camera-v23 .camera-actions-row{margin-bottom:13px}
.sek-camera-v23 .sk23-capture-meta{width:min(100%,390px);margin:0 auto 10px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px}
.sek-camera-v23 .cam-remaining{justify-self:start;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;background:rgba(255,255,255,.06);border:1px solid #ffffff36;box-shadow:none;width:67px;height:67px;border-radius:16px}
.sek-camera-v23 .cam-remaining b{font:500 30px/1 'Playfair Display',Georgia,serif;letter-spacing:0}
.sek-camera-v23 .cam-remaining span{font:600 9px/1 'DM Sans',sans-serif;letter-spacing:1.15px;color:#dacebf}
.sek-camera-v23 .sk23-capture-note{min-width:0;color:#ddd0bf;font:500 10px/1.45 'DM Sans',sans-serif;letter-spacing:.25px;text-align:right}
.sek-camera-v23 .camera-snap-row{display:flex;justify-content:center;align-items:center;width:min(100%,390px);margin:0 auto 14px}
.sek-camera-v23 .camera-shutter{margin-inline:auto}
.sek-camera-v23 .sk22-shutter-hint{display:none}
.sek-camera-v23 .cam-upload{width:min(100%,390px);margin-inline:auto}
.sek-camera-v23 .filter-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:420px){
 .sek-camera-v23 .sk23-capture-meta{grid-template-columns:1fr;justify-items:center;gap:8px}
 .sek-camera-v23 .sk23-capture-note{text-align:center;font-size:9.5px;max-width:240px}
 .sek-camera-v23 .sk23-filter-heading-actions{gap:6px}
 .sek-camera-v23 .sk22-all-filters,.sek-camera-v23 .sk23-filter-toggle{font-size:9.5px;padding-inline:9px}
}
@media (max-width:360px){
 .sek-camera-v23 .sk23-filter-strip{padding:10px}
 .sek-camera-v23 .sk22-filter-chip{flex-basis:54px}
 .sek-camera-v23 .sk22-filter-thumb{width:49px;height:49px}
 .sek-camera-v23 .camera-shutter{width:76px;height:76px}
 .sek-camera-v23 .camera-shutter span{width:60px;height:60px}
}


/* Sekeping Camera V26 — cleaner bottom spacing, top quick toggles, centered shutter. */
.sek-camera-v23 .sk23-filter-strip{display:none!important}
.sek-camera-v23 .cam-overlay-header{grid-template-columns:52px minmax(0,1fr) auto;align-items:start;gap:6px}
.sek-camera-v23 .sk23-top-tools{justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:6px;pointer-events:auto}
.sek-camera-v23 .sk23-top-toggle,.sek-camera-v23 .sk22-top-filter{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 11px;border-radius:18px;border:1px solid #ffffff70;background:#f8f4efec;color:#342a21;box-shadow:0 3px 20px #0003;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font:700 9.5px/1 'DM Sans',sans-serif;letter-spacing:.9px;cursor:pointer;pointer-events:auto;white-space:nowrap}
.sek-camera-v23 .sk23-top-toggle.is-on{background:#e9d4ac;color:#2d2922;border-color:#ebd9b8}
.sek-camera-v23 .sk22-top-filter svg{width:15px;height:15px;stroke-width:1.5}
.sek-camera-v23 .camera-controls{padding-top:8px;padding-bottom:max(12px,calc(10px + env(safe-area-inset-bottom,0px)))}
.sek-camera-v23 .camera-actions-row{margin-bottom:6px}
.sek-camera-v23 .sk23-capture-meta{width:min(100%,390px);margin:0 auto 4px;display:flex;justify-content:flex-start;align-items:center;min-height:0}
.sek-camera-v23 .sk23-capture-note{display:none!important}
.sek-camera-v23 .camera-snap-row{display:flex;justify-content:center;align-items:center;width:min(100%,390px);margin:0 auto 6px}
.sek-camera-v23 .cam-upload{width:min(100%,390px);margin:0 auto}
.sek-camera-v23 .camera-shutter{display:grid;place-items:center;appearance:none;-webkit-appearance:none;margin-inline:auto;padding:0;border-radius:50%;background:transparent;line-height:0}
.sek-camera-v23 .camera-shutter span{display:block;flex:none;margin:0;border-radius:50%}
@media (max-width:420px){
 .sek-camera-v23 .cam-overlay-header{grid-template-columns:44px minmax(0,1fr) auto;padding-inline:12px}
 .sek-camera-v23 .sk23-top-tools{gap:5px}
 .sek-camera-v23 .sk23-top-toggle,.sek-camera-v23 .sk22-top-filter{min-height:31px;padding:0 9px;font-size:8.6px;letter-spacing:.75px}
 .sek-camera-v23 .camera-controls{padding-left:14px;padding-right:14px;padding-bottom:max(8px,calc(6px + env(safe-area-inset-bottom,0px)))}
 .sek-camera-v23 .camera-actions-row{margin-bottom:4px}
 .sek-camera-v23 .sk23-capture-meta{margin-bottom:2px}
 .sek-camera-v23 .camera-snap-row{margin-bottom:4px}
 .sek-camera-v23 .camera-shutter{width:74px;height:74px}
 .sek-camera-v23 .camera-shutter span{width:58px;height:58px}
}
@media (max-height:700px){
 .sek-camera-v23 .camera-controls{padding-top:4px;padding-bottom:max(6px,calc(4px + env(safe-area-inset-bottom,0px)))}
 .sek-camera-v23 .camera-actions-row{margin-bottom:2px}
 .sek-camera-v23 .sk23-capture-meta{margin-bottom:2px}
 .sek-camera-v23 .camera-snap-row{margin-bottom:2px}
}

/* V27 */
.sek-camera-v23 .cam-overlay-header{grid-template-columns:71px minmax(0,1fr) 71px}
.sek-camera-v23 .camera-actions-row{margin-bottom:0}
.sek-camera-v23 .camera-snap-row{display:grid;grid-template-columns:1fr 84px 1fr;align-items:center;gap:8px;margin:0 auto 18px;min-height:88px}
.sek-camera-v23 .camera-snap-row .sk23-capture-meta{grid-column:1;grid-row:1;justify-self:start;margin:0;width:auto}
.sek-camera-v23 .camera-snap-row .camera-shutter{grid-column:2;grid-row:1;justify-self:center}
.sek-camera-v23 .camera-snap-row .sk27-snap-spacer{grid-column:3;grid-row:1}
@media(max-width:420px){.sek-camera-v23 .cam-overlay-header{grid-template-columns:64px minmax(0,1fr) 64px}.sek-camera-v23 .camera-snap-row{grid-template-columns:1fr 76px 1fr;gap:6px;margin-bottom:18px;min-height:78px}}


/* V28 · Compact filter palette, floating directly over the BIASA/LEBAR row. */
.sek-camera-v23 .sk28-filter-popover[hidden]{display:none!important}
.sek-camera-v23 .sk28-filter-popover{
 position:absolute;z-index:15;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);
 width:min(430px,calc(100% - 28px));min-width:0;padding:13px 12px 14px;
 border:1px solid rgba(219,201,183,.28);border-radius:24px;
 background:rgba(48,35,29,.89);color:#f9f2e9;box-shadow:0 16px 30px rgba(0,0,0,.31);
 -webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);
 pointer-events:auto;animation:sk28FilterIn .17s ease-out both;
}
@keyframes sk28FilterIn{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
.sek-camera-v23 .sk28-filter-heading{margin:0 0 11px;padding-left:3px;display:flex;align-items:center;gap:5px;font:750 10px/1.2 'DM Sans',system-ui,sans-serif;letter-spacing:1.7px;color:#ece1d3}
.sek-camera-v23 .sk28-filter-heading>span{font-size:12px;color:#e6cda2}
.sek-camera-v23 .sk28-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;align-items:start;width:100%}
.sek-camera-v23 .sk28-filter-choice{display:flex;flex-direction:column;align-items:center;justify-content:start;min-width:0;gap:6px;padding:0;border:0;background:none;color:#faf5ee;cursor:pointer;pointer-events:auto;font-family:'DM Sans',system-ui,sans-serif}
.sek-camera-v23 .sk28-filter-ring{position:relative;display:block;flex:none;width:clamp(35px,10vw,52px);height:clamp(35px,10vw,52px);max-width:100%;border-radius:50%;padding:3px;border:2px solid rgba(250,239,218,.7);background:rgba(252,248,239,.08);box-shadow:inset 0 0 0 1px rgba(0,0,0,.34);transition:border-color .15s ease,transform .15s ease}
.sek-camera-v23 .sk28-filter-choice.active .sk28-filter-ring{border-color:#e6c79c;box-shadow:0 0 0 2px rgba(247,236,217,.74),inset 0 0 0 1px #271f1a}
.sek-camera-v23 .sk28-filter-choice:active .sk28-filter-ring{transform:scale(.94)}
.sek-camera-v23 .sk28-filter-art{display:block;position:relative;overflow:hidden;width:100%;height:100%;border-radius:50%;background:linear-gradient(160deg,#d5decf 0%,#e9dab7 52%,#8e9483 53%,#6e7e77 100%)}
.sek-camera-v23 .sk28-filter-sun{position:absolute;left:38%;top:19%;width:37%;height:37%;border-radius:50%;background:#f7eac9;box-shadow:0 0 5px #fff1d3}
.sek-camera-v23 .sk28-filter-hill{position:absolute;bottom:-27%;left:-38%;width:115%;height:59%;border-radius:50%;background:#78877a;transform:rotate(-13deg)}
.sek-camera-v23 .sk28-filter-hill.rear{bottom:-32%;left:32%;width:115%;height:68%;background:#516d68;transform:rotate(12deg)}
.sek-camera-v23 .sk28-filter-label{display:block;width:100%;text-align:center;white-space:nowrap;font:650 clamp(7px,2vw,9px)/1.25 'DM Sans',system-ui,sans-serif;letter-spacing:-.12px;color:#f3e9df}
.sek-camera-v23 .sk28-filter-choice.active .sk28-filter-label{color:#f7dfb7;font-weight:800}
.sek-camera-v23 .sk22-top-filter.sk28-is-active{background:#f0e0c8;border-color:#e7cba4}
@media(max-width:370px){
 .sek-camera-v23 .sk28-filter-popover{width:calc(100% - 20px);padding:11px 9px 12px;border-radius:20px}
 .sek-camera-v23 .sk28-filter-grid{gap:3px}
 .sek-camera-v23 .sk28-filter-ring{width:clamp(32px,9.7vw,38px);height:clamp(32px,9.7vw,38px)}
 .sek-camera-v23 .sk28-filter-label{font-size:7px}
}
@media(max-height:620px){.sek-camera-v23 .sk28-filter-popover{bottom:calc(100% + 2px);padding-block:9px}.sek-camera-v23 .sk28-filter-heading{margin-bottom:6px}.sek-camera-v23 .sk28-filter-ring{width:35px;height:35px}}
@media(prefers-reduced-motion:reduce){.sek-camera-v23 .sk28-filter-popover{animation:none}.sek-camera-v23 .sk28-filter-ring{transition:none}}
