.theme-dimensi-3d { --cover-bg: var(--sky1); --aside-bg: var(--sky1); --aside-text: var(--d3-text); --radius: 20px; --title-color: var(--primary); }
.theme-dimensi-3d .inv-main { overflow: clip; background: var(--bg); }
.theme-dimensi-3d .cover { background: var(--sky1); }
.theme-dimensi-3d .d3-cover { position: absolute; inset: 0; z-index: 2; }
.theme-dimensi-3d .sec { background: var(--bg) radial-gradient(1px 1px at 20% 30%, rgb(255 255 255 / var(--star-op, .8)), transparent), radial-gradient(1px 1px at 70% 60%, rgb(255 255 255 / var(--star-op, .8)), transparent), radial-gradient(1.5px 1.5px at 40% 80%, rgb(255 255 255 / var(--star-op, .6)), transparent), radial-gradient(1px 1px at 85% 15%, rgb(255 255 255 / var(--star-op, .7)), transparent); background-size: auto, 180px 180px, 220px 220px, 260px 260px, 200px 200px; }
.theme-dimensi-3d .sec-alt { background-color: var(--surface); }
.theme-dimensi-3d .sec-title { font-family: var(--font-script); font-weight: 400; font-size: 48px; color: var(--primary); }
.theme-dimensi-3d .sec-sub { letter-spacing: .32em; }
.theme-dimensi-3d .card, .theme-dimensi-3d .wish, .theme-dimensi-3d .field { position: relative; background: color-mix(in srgb, var(--surface) 70%, transparent); border: 1px solid color-mix(in srgb, var(--text) 14%, transparent); backdrop-filter: blur(10px); box-shadow: 0 24px 50px -28px rgb(0 0 0 / .6); }
.theme-dimensi-3d .form input, .theme-dimensi-3d .form select, .theme-dimensi-3d .form textarea { background: color-mix(in srgb, var(--bg) 80%, transparent); }
.theme-dimensi-3d .btn-open, .theme-dimensi-3d .btn { background: var(--primary); color: var(--on-primary); border-radius: 999px; animation: none; box-shadow: 0 10px 30px -10px var(--primary); }
.theme-dimensi-3d .btn-outline { background: transparent; color: var(--primary); }
.theme-dimensi-3d .d3-cover .btn-open { background: rgb(255 255 255 / .92); color: #241a33; }
.theme-dimensi-3d .host-photo { border-radius: 30px; border: 0; box-shadow: 0 30px 60px -24px rgb(0 0 0 / .7), 0 0 0 1px color-mix(in srgb, var(--primary) 60%, transparent); transform: perspective(600px) rotateY(-8deg); }
.theme-dimensi-3d .host:nth-child(odd) .host-photo { transform: perspective(600px) rotateY(8deg); }
.theme-dimensi-3d .host-name { font-family: var(--font-script); font-weight: 400; font-size: 46px; color: var(--primary); }
.theme-dimensi-3d .amp { color: var(--accent); }
.theme-dimensi-3d .cd { background: color-mix(in srgb, var(--surface) 70%, transparent); color: var(--primary); border: 1px solid color-mix(in srgb, var(--primary) 40%, transparent); }
.theme-dimensi-3d .gift { background: linear-gradient(135deg, color-mix(in srgb, var(--primary) 85%, #000), var(--surface)); color: var(--text); }
.theme-dimensi-3d .gallery button { border-radius: 16px; transition: transform .4s; } .theme-dimensi-3d .gallery button:hover { transform: perspective(600px) translateZ(20px); }
.theme-dimensi-3d .closing .names { color: var(--primary); }
.theme-dimensi-3d .navbar { background: color-mix(in srgb, var(--surface) 85%, transparent); }
.theme-dimensi-3d .inv-aside h1 { font-family: var(--font-script); font-weight: 400; }
.theme-dimensi-3d .sec-depth .cd-big { color: var(--d3-text); }

/* ---- 3D di semua section ---- */
.theme-dimensi-3d .sec { position: relative; overflow: hidden; isolation: isolate; }
.theme-dimensi-3d .sec-scene { inset: 0; z-index: 0; }
.theme-dimensi-3d .sec-scene .depth-scene > .dl-wrap { inset: -14% -12%; }
.theme-dimensi-3d .sec-scene-full { opacity: 1; }
.theme-dimensi-3d .sec-closing { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; justify-content: flex-start; padding-top: 90px; color: var(--d3-text); }
.theme-dimensi-3d .sec-closing .names, .theme-dimensi-3d .sec-closing p { text-shadow: 0 2px 16px rgb(0 0 0 / .35); }
.theme-dimensi-3d .sec-closing .names { color: var(--d3-text); }
/* konten masuk dengan efek 3D */
.theme-dimensi-3d .rv { transform: perspective(900px) rotateX(24deg) translateY(46px) translateZ(-60px); transform-origin: 50% 100%; transition-duration: 1.1s; }
.theme-dimensi-3d .rv.z { transform: perspective(900px) translateZ(-140px); }
.theme-dimensi-3d .rv.l { transform: perspective(900px) rotateY(28deg) translateX(-40px); }
.theme-dimensi-3d .rv.r { transform: perspective(900px) rotateY(-28deg) translateX(40px); }
.theme-dimensi-3d .rv.in { transform: none; }
.theme-dimensi-3d .gallery { perspective: 900px; }
