/* Javanese Wayang: warm pendopo, botanical frame, gunungan, and wayang accents. */

@font-face {
    font-family: "Jawa Palsu";
    src: url("../../fonts/jawa-palsu.ttf") format("truetype");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

body.theme-javanese-wayang {
    --theme: #934843;
    --jwayang-burgundy: #934843;
    --jwayang-burgundy-dark: #71332f;
    --jwayang-green: #304235;
    --jwayang-gold: #f2d28e;
    --jwayang-ink: #40221d;
    --jwayang-paper: #eadcc2;
    --jwayang-paper-soft: #f4ead5;
    --jwayang-panel: rgba(255, 250, 237, .72);
    --jwayang-gallery-panel: rgba(255, 250, 237, .76);
    --jwayang-border: rgba(126, 71, 59, .24);
    --jwayang-control-background: rgba(147, 72, 67, .88);
    --jwayang-control-border: rgba(255, 255, 255, .45);
    color: var(--jwayang-ink);
    background: var(--jwayang-green);
    font-family: "Cormorant Garamond", Georgia, serif;
}

body.theme-javanese-wayang:not(.is-open) {
    overflow: hidden;
}

body.theme-javanese-wayang .font-esthetic {
    font-family: "Marcellus", Georgia, serif;
}

body.theme-javanese-wayang .jwayang-couple-name,
body.theme-javanese-wayang .jwayang-person h2 {
    font-family: "Jawa Palsu", "Marcellus", Georgia, serif;
    font-weight: 400;
}

body.theme-javanese-wayang .font-arabic {
    font-family: "Noto Naskh Arabic", serif;
}

body.theme-javanese-wayang #root > div:last-child,
body.theme-javanese-wayang main,
body.theme-javanese-wayang main > section,
body.theme-javanese-wayang #welcome {
    color: var(--jwayang-ink);
    background-color: var(--jwayang-paper);
}

body.theme-javanese-wayang main > section,
body.theme-javanese-wayang #welcome {
    isolation: isolate;
}

body.theme-javanese-wayang main > section::before,
body.theme-javanese-wayang #welcome::before {
    position: absolute;
    z-index: 0;
    inset: 0;
    content: "";
    background:
        linear-gradient(180deg, rgba(250, 244, 230, .8), rgba(237, 221, 192, .84)),
        linear-gradient(90deg, rgba(104, 66, 38, .08) 0 1px, transparent 1px 18%, rgba(104, 66, 38, .07) 18% 18.4%, transparent 18.4% 81.6%, rgba(104, 66, 38, .07) 81.6% 82%, transparent 82% 100%),
        repeating-linear-gradient(118deg, transparent 0 3.25rem, rgba(126, 89, 50, .035) 3.25rem 3.38rem),
        url("../../img/javanese-wayang-background.png") center / cover no-repeat;
    pointer-events: none;
}

body.theme-javanese-wayang main > section::after,
body.theme-javanese-wayang #welcome::after {
    position: absolute;
    z-index: 0;
    top: 17%;
    bottom: 8%;
    left: 20%;
    width: 60%;
    content: "";
    border-right: 1px solid rgba(114, 79, 48, .08);
    border-left: 1px solid rgba(114, 79, 48, .08);
    background: repeating-linear-gradient(0deg, transparent 0 3.2rem, rgba(113, 78, 45, .055) 3.2rem 3.3rem);
    clip-path: polygon(14% 0, 86% 0, 100% 100%, 0 100%);
    pointer-events: none;
}

body.theme-javanese-wayang main > section > :not(#theme-ornaments),
body.theme-javanese-wayang #welcome > :not(#theme-ornaments) {
    position: relative;
    z-index: 2;
}

body.theme-javanese-wayang .jwayang-background-photo {
    display: none;
}

/* Shared animated frame. The left side is derived from the supplied right-side asset. */
body.theme-javanese-wayang #theme-ornaments {
    overflow: hidden;
}

body.theme-javanese-wayang .jwayang-frame {
    position: absolute;
    top: 0;
    left: 50%;
    width: min(100%, 600px);
    height: 100%;
    overflow: hidden;
    transform: translateX(-50%);
}

body.theme-javanese-wayang.is-paged .jwayang-frame {
    height: calc(100% - var(--invitation-nav-height) - var(--invitation-safe-bottom));
}

body.theme-javanese-wayang .jwayang-ornament {
    position: absolute;
    display: block;
    max-width: none;
    user-select: none;
    pointer-events: none;
    -webkit-user-drag: none;
}

body.theme-javanese-wayang .jwayang-side {
    z-index: 1;
    top: calc(23.5% - min(55.5vw, 333px));
    width: auto;
    height: 100%;
}

body.theme-javanese-wayang .jwayang-side.left {
    left: 0;
    transform: scaleX(-1);
}

body.theme-javanese-wayang .jwayang-side.right {
    right: 0;
}

body.theme-javanese-wayang .jwayang-corner {
    z-index: 2;
    width: 61%;
    height: auto;
}

body.theme-javanese-wayang .jwayang-corner.top-left {
    top: 0;
    left: -10.8%;
    transform: scaleX(-1);
}

body.theme-javanese-wayang .jwayang-corner.top-right {
    top: 0;
    right: -10.8%;
}

body.theme-javanese-wayang .jwayang-corner.bottom-left {
    bottom: 0;
    left: -10.8%;
}

body.theme-javanese-wayang .jwayang-corner.bottom-right {
    right: -10.8%;
    bottom: 0;
}

body.theme-javanese-wayang #theme-ornaments.ornaments-enter .jwayang-side.left {
    animation: jwayangSideLeftIn 3s ease both;
}

body.theme-javanese-wayang #theme-ornaments.ornaments-enter .jwayang-side.right {
    animation: jwayangSideRightIn 3s ease both;
}

body.theme-javanese-wayang #theme-ornaments.ornaments-enter .jwayang-corner.top-left {
    animation: jwayangTopLeftIn 2s ease both;
}

body.theme-javanese-wayang #theme-ornaments.ornaments-enter .jwayang-corner.top-right {
    animation: jwayangTopRightIn 2s ease both;
}

body.theme-javanese-wayang #theme-ornaments.ornaments-enter .jwayang-corner.bottom-left {
    animation: jwayangBottomLeftIn 2s ease both;
}

body.theme-javanese-wayang #theme-ornaments.ornaments-enter .jwayang-corner.bottom-right {
    animation: jwayangBottomRightIn 2s ease both;
}

@keyframes jwayangSideLeftIn {
    from { opacity: 0; transform: translateX(-24%) scaleX(-1); }
    to { opacity: 1; transform: translateX(0) scaleX(-1); }
}

@keyframes jwayangSideRightIn {
    from { opacity: 0; transform: translateX(24%); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes jwayangTopLeftIn {
    from { opacity: 0; transform: translate(-22%, -20%) scaleX(-1); }
    to { opacity: 1; transform: translate(0, 0) scaleX(-1); }
}

@keyframes jwayangTopRightIn {
    from { opacity: 0; transform: translate(22%, -20%); }
    to { opacity: 1; transform: translate(0, 0); }
}

@keyframes jwayangBottomLeftIn {
    from { opacity: 0; transform: translate(-22%, 20%); }
    to { opacity: 1; transform: translate(0, 0); }
}

@keyframes jwayangBottomRightIn {
    from { opacity: 0; transform: translate(22%, 20%); }
    to { opacity: 1; transform: translate(0, 0); }
}

/* Opening and cover. */
body.theme-javanese-wayang #home,
body.theme-javanese-wayang #welcome {
    padding: 0 !important;
}

body.theme-javanese-wayang #welcome > .d-flex {
    height: 100vh;
    height: 100dvh;
    overflow: hidden !important;
}

body.theme-javanese-wayang #welcome .d-flex.flex-column {
    position: relative;
    z-index: 3;
    width: min(100%, 600px);
    height: 100%;
    padding: 0 !important;
}

body.theme-javanese-wayang .jwayang-welcome-content,
body.theme-javanese-wayang .jwayang-opening-content {
    display: flex;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    padding: clamp(7rem, 18dvh, 9.5rem) clamp(3.3rem, 13vw, 5rem) clamp(7.8rem, 20dvh, 10.5rem);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(.25rem, 1dvh, .6rem);
}

body.theme-javanese-wayang.is-paged .jwayang-opening-content {
    height: calc(100dvh - var(--invitation-nav-height) - var(--invitation-safe-bottom));
}

body.theme-javanese-wayang .jwayang-opening-date {
    margin: 0;
    font-size: clamp(.95rem, 4.4vw, 1.35rem);
    font-weight: 600;
    line-height: 1.25;
    text-wrap: balance;
}

body.theme-javanese-wayang .jwayang-monogram {
    display: grid;
    width: clamp(4.5rem, 19vw, 6.2rem);
    height: clamp(5rem, 21vw, 6.8rem);
    margin: clamp(.15rem, 1dvh, .55rem) auto;
    grid-template-columns: auto auto;
    column-gap: .16em;
    place-content: center;
    color: var(--jwayang-burgundy);
    font-family: "Jawa Palsu", "Marcellus", serif;
    font-weight: 400;
    font-size: clamp(3.6rem, 15vw, 5rem);
    line-height: .72;
}

body.theme-javanese-wayang .jwayang-monogram span:first-child {
    transform: none;
}

body.theme-javanese-wayang .jwayang-monogram span:last-child {
    transform: translateY(26%);
}

body.theme-javanese-wayang .jwayang-monogram.compact {
    width: clamp(3.7rem, 15vw, 5rem);
    height: clamp(4rem, 17vw, 5.5rem);
    font-size: clamp(3rem, 12vw, 4rem);
}

body.theme-javanese-wayang .jwayang-couple-name {
    margin: 0;
    color: var(--jwayang-burgundy);
    font-size: clamp(1.2rem, 6vw, 2.25rem);
    line-height: 1.15;
    text-wrap: nowrap;
    white-space: nowrap;
}

body.theme-javanese-wayang .jwayang-save-date {
    margin: 0;
    font-family: "Marcellus", serif;
    font-size: clamp(.78rem, 3.5vw, 1rem);
    letter-spacing: .055em;
    text-transform: uppercase;
}

body.theme-javanese-wayang .jwayang-guest-copy {
    display: grid;
    margin-top: clamp(.45rem, 2dvh, 1rem);
    line-height: 1.2;
}

body.theme-javanese-wayang .jwayang-guest-copy small {
    font-size: clamp(.78rem, 3.7vw, 1rem);
    font-weight: 600;
}

body.theme-javanese-wayang .jwayang-guest-copy strong {
    margin-top: .3rem;
    color: var(--jwayang-burgundy);
    font-size: clamp(.95rem, 4.4vw, 1.25rem);
}

body.theme-javanese-wayang .jwayang-open-button {
    margin-top: clamp(.55rem, 2dvh, 1rem);
    padding: .45rem 1.25rem;
    border: 1px solid rgba(255, 255, 255, .25);
    color: #fff;
    background: var(--jwayang-burgundy);
    font-family: "Marcellus", serif;
}

body.theme-javanese-wayang .jwayang-open-button:hover,
body.theme-javanese-wayang .jwayang-open-button:focus-visible {
    color: #fff;
    background: var(--jwayang-burgundy-dark);
}

/* Quotes, greeting, and couple profiles. */
body.theme-javanese-wayang .jwayang-page {
    padding: 0 !important;
}

body.theme-javanese-wayang main > section.jwayang-page > .jwayang-salam-content,
body.theme-javanese-wayang main > section.jwayang-page > .jwayang-quotes-content,
body.theme-javanese-wayang main > section.jwayang-page > .jwayang-couple-content {
    width: min(calc(100% - clamp(4.6rem, 22vw, 7.8rem)), 31rem);
    height: calc(100dvh - var(--invitation-nav-height) - var(--invitation-safe-bottom));
    margin: 0 auto;
    padding-top: clamp(6.5rem, 16dvh, 8.5rem);
    padding-bottom: clamp(6.5rem, 17dvh, 9rem);
}

body.theme-javanese-wayang .jwayang-salam-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .65rem;
}

body.theme-javanese-wayang .jwayang-salam-photo {
    width: clamp(7rem, 30vw, 11rem);
    height: clamp(8rem, 34dvh, 15rem);
    border: .35rem solid rgba(255, 250, 236, .75);
    border-radius: 5rem 5rem 1rem 1rem;
    object-fit: cover;
    object-position: center;
    box-shadow: 0 .55rem 1.4rem rgba(64, 34, 29, .16);
}

body.theme-javanese-wayang .jwayang-salam-title {
    margin: 0;
    font-size: clamp(1rem, 4.6vw, 1.35rem);
    font-style: italic;
}

body.theme-javanese-wayang .jwayang-salam-copy {
    max-width: 27rem;
    margin: 0;
    font-size: clamp(.78rem, 3.5vw, 1rem);
    line-height: 1.35;
}

body.theme-javanese-wayang .jwayang-quotes-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

body.theme-javanese-wayang .jwayang-verse {
    margin: .55rem 0 0;
}

body.theme-javanese-wayang .jwayang-verse p {
    margin: 0 0 .55rem;
    font-size: clamp(.76rem, 3.5vw, 1rem);
    font-style: italic;
    font-weight: 600;
    line-height: 1.38;
}

body.theme-javanese-wayang .jwayang-verse .font-arabic {
    font-size: clamp(1rem, 4.8vw, 1.35rem);
    font-style: normal;
    font-weight: 500;
    line-height: 1.75;
}

body.theme-javanese-wayang .jwayang-verse cite {
    font-size: clamp(.75rem, 3.5vw, .98rem);
    font-style: normal;
    font-weight: 600;
}

body.theme-javanese-wayang .jwayang-couple-content {
    display: grid;
    grid-template-rows: 1fr auto 1fr;
    align-items: center;
    justify-items: center;
    gap: .25rem;
}

body.theme-javanese-wayang .jwayang-person {
    width: 100%;
}

body.theme-javanese-wayang .jwayang-person img {
    width: clamp(5.35rem, 23vw, 8.25rem);
    height: clamp(5.35rem, 23vw, 8.25rem);
    border: .35rem solid rgba(255, 251, 239, .92);
    border-radius: 50%;
    object-fit: cover;
    filter: sepia(.28) saturate(.85);
    box-shadow: 0 .45rem 1rem rgba(64, 34, 29, .16);
}

body.theme-javanese-wayang .jwayang-person h2 {
    margin: .35rem 0 .15rem;
    color: var(--jwayang-burgundy);
    font-size: clamp(.95rem, 4.4vw, 1.35rem);
}

body.theme-javanese-wayang .jwayang-person p {
    margin: 0;
    font-size: clamp(.68rem, 3vw, .88rem);
    font-weight: 600;
    line-height: 1.2;
}

body.theme-javanese-wayang .jwayang-with {
    font-size: clamp(.9rem, 4vw, 1.2rem);
    font-style: italic;
}

/* Remaining pages use the same framed paper language. */
body.theme-javanese-wayang main > section:not(#home):not(.jwayang-page) > .container {
    width: min(calc(100% - clamp(4.6rem, 22vw, 7.8rem)), 31rem);
    margin-right: auto;
    margin-left: auto;
}

body.theme-javanese-wayang .bg-theme-auto,
body.theme-javanese-wayang .bg-white-black,
body.theme-javanese-wayang .bg-light-dark,
body.theme-javanese-wayang .border.rounded-5,
body.theme-javanese-wayang .border.rounded-4 {
    color: var(--jwayang-ink);
    border-color: var(--jwayang-border) !important;
    background-color: var(--jwayang-panel) !important;
}

body.theme-javanese-wayang main > section h2 {
    color: var(--jwayang-burgundy);
}

body.theme-javanese-wayang #wedding-date > .container,
body.theme-javanese-wayang #story > .container,
body.theme-javanese-wayang #gift > .container,
body.theme-javanese-wayang #comment > .container,
body.theme-javanese-wayang #closing > .container {
    max-height: calc(100dvh - var(--invitation-nav-height) - 8rem);
    padding-top: .5rem;
    padding-bottom: .5rem;
    overflow-y: auto;
    scrollbar-width: thin;
}

body.theme-javanese-wayang [data-countdown-target] {
    border: 0 !important;
    border-radius: .45rem !important;
    color: #fff8e9;
    background: var(--jwayang-burgundy);
}

body.theme-javanese-wayang [data-countdown-target] .col-3 {
    display: grid;
    padding: .25rem .1rem !important;
}

body.theme-javanese-wayang [data-countdown-target] p {
    font-family: "Rozha One", Georgia, serif;
    line-height: 1;
}

body.theme-javanese-wayang [data-countdown-target] small {
    margin: .18rem 0 0 !important;
    font-size: .72rem;
}

body.theme-javanese-wayang #gallery .gallery-panel {
    border-radius: .75rem !important;
    background: var(--jwayang-gallery-panel) !important;
}

body.theme-javanese-wayang #gallery .gallery-photo {
    border-radius: .45rem !important;
}

body.theme-javanese-wayang .btn-outline-auto,
body.theme-javanese-wayang .btn-primary {
    border-color: var(--jwayang-burgundy);
    color: #fff;
    background-color: var(--jwayang-burgundy);
}

body.theme-javanese-wayang .btn-outline-auto:hover,
body.theme-javanese-wayang .btn-primary:hover,
body.theme-javanese-wayang .btn-outline-auto:focus-visible,
body.theme-javanese-wayang .btn-primary:focus-visible {
    border-color: var(--jwayang-burgundy-dark);
    color: #fff;
    background-color: var(--jwayang-burgundy-dark);
}

/* Navigation and floating controls. */
body.theme-javanese-wayang #navbar-menu {
    min-height: calc(var(--invitation-nav-height) + var(--invitation-safe-bottom));
    padding-top: 0;
    border: 0 !important;
    border-radius: 0 0 1rem 1rem !important;
    color: var(--jwayang-gold);
    background: var(--jwayang-green);
    box-shadow: 0 -.35rem 1rem rgba(47, 49, 36, .12);
}

body.theme-javanese-wayang #navbar-menu .nav-link {
    min-height: var(--invitation-nav-height);
    padding: .45rem .2rem;
    border-radius: 1rem;
    color: var(--jwayang-gold);
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(.7rem, 2.8vw, .88rem);
}

body.theme-javanese-wayang #navbar-menu .nav-link i {
    margin-bottom: .3rem;
    font-size: 1.1rem;
}

body.theme-javanese-wayang #navbar-menu .nav-link::before {
    display: none;
}

body.theme-javanese-wayang #navbar-menu .nav-link.active,
body.theme-javanese-wayang #navbar-menu .nav-link[aria-current="page"] {
    color: #fff;
    background: var(--jwayang-burgundy);
}

body.theme-javanese-wayang .audio-float .btn {
    border-color: var(--jwayang-control-border) !important;
    color: #fff;
    background: var(--jwayang-control-background) !important;
    backdrop-filter: blur(.35rem);
}

@media (max-width: 575.98px) {
    body.theme-javanese-wayang .jwayang-welcome-content,
    body.theme-javanese-wayang .jwayang-opening-content {
        padding-right: clamp(3rem, 15vw, 4rem);
        padding-left: clamp(3rem, 15vw, 4rem);
    }

    body.theme-javanese-wayang #wedding-date h2,
    body.theme-javanese-wayang #gallery h2,
    body.theme-javanese-wayang #story h2,
    body.theme-javanese-wayang #comment h2,
    body.theme-javanese-wayang #closing h2 {
        font-size: clamp(1.25rem, 6vw, 1.75rem) !important;
    }
}

@media (max-height: 700px) and (orientation: portrait) {
    body.theme-javanese-wayang .jwayang-welcome-content,
    body.theme-javanese-wayang .jwayang-opening-content {
        padding-top: clamp(5.5rem, 16dvh, 7rem);
        padding-bottom: clamp(6rem, 18dvh, 7.5rem);
        gap: .18rem;
    }

    body.theme-javanese-wayang .jwayang-monogram {
        width: 3.7rem;
        height: 4rem;
        font-size: 3rem;
    }

    body.theme-javanese-wayang .jwayang-salam-content,
    body.theme-javanese-wayang .jwayang-quotes-content,
    body.theme-javanese-wayang .jwayang-couple-content {
        padding-top: 5.5rem;
        padding-bottom: 5.7rem;
    }

    body.theme-javanese-wayang .jwayang-salam-photo {
        width: 6rem;
        height: 7.5rem;
    }

    body.theme-javanese-wayang .jwayang-couple-content {
        grid-template-columns: 1fr auto 1fr;
        grid-template-rows: 1fr;
        gap: .35rem;
    }

    body.theme-javanese-wayang .jwayang-person img {
        width: 4.5rem;
        height: 4.5rem;
    }

    body.theme-javanese-wayang .jwayang-person h2 {
        font-size: .82rem;
    }

    body.theme-javanese-wayang .jwayang-person p {
        font-size: .63rem;
    }
}

@media (orientation: landscape) and (max-height: 720px) {
    body.theme-javanese-wayang .jwayang-side {
        top: -2%;
    }

    body.theme-javanese-wayang .jwayang-corner {
        width: auto;
        height: 38%;
    }

    body.theme-javanese-wayang .jwayang-side.left {
        left: 0;
    }

    body.theme-javanese-wayang .jwayang-side.right {
        right: 0;
    }

    body.theme-javanese-wayang .jwayang-corner.top-left,
    body.theme-javanese-wayang .jwayang-corner.bottom-left {
        left: -2.5%;
    }

    body.theme-javanese-wayang .jwayang-corner.top-right,
    body.theme-javanese-wayang .jwayang-corner.bottom-right {
        right: -2.5%;
    }

    body.theme-javanese-wayang .jwayang-welcome-content,
    body.theme-javanese-wayang .jwayang-opening-content {
        display: grid;
        padding: .35rem clamp(5rem, 17vw, 7rem);
        grid-template-columns: minmax(4.5rem, 30%) minmax(0, 1fr);
        grid-auto-rows: min-content;
        align-content: center;
        column-gap: .7rem;
    }

    body.theme-javanese-wayang .jwayang-monogram {
        width: clamp(4rem, 24dvh, 5.2rem);
        height: clamp(4.5rem, 27dvh, 5.7rem);
        margin: 0;
        grid-row: 1 / span 5;
        font-size: clamp(3.2rem, 19dvh, 4.2rem);
    }

    body.theme-javanese-wayang .jwayang-opening-date,
    body.theme-javanese-wayang .jwayang-couple-name,
    body.theme-javanese-wayang .jwayang-save-date,
    body.theme-javanese-wayang .jwayang-guest-copy,
    body.theme-javanese-wayang .jwayang-open-button {
        grid-column: 2;
    }

    body.theme-javanese-wayang .jwayang-opening-date {
        font-size: clamp(.72rem, 4dvh, .95rem);
    }

    body.theme-javanese-wayang .jwayang-couple-name {
        font-size: clamp(1rem, 6dvh, 1.45rem);
    }

    body.theme-javanese-wayang .jwayang-save-date,
    body.theme-javanese-wayang .jwayang-guest-copy small,
    body.theme-javanese-wayang .jwayang-guest-copy strong {
        font-size: clamp(.62rem, 3.4dvh, .8rem);
    }

    body.theme-javanese-wayang .jwayang-guest-copy,
    body.theme-javanese-wayang .jwayang-open-button {
        margin-top: .18rem;
    }

    body.theme-javanese-wayang .jwayang-open-button {
        padding: .25rem .75rem;
        font-size: .72rem;
    }

    body.theme-javanese-wayang main > section.jwayang-page > .jwayang-salam-content,
    body.theme-javanese-wayang main > section.jwayang-page > .jwayang-quotes-content,
    body.theme-javanese-wayang main > section.jwayang-page > .jwayang-couple-content {
        width: min(calc(100% - 10rem), 31rem);
        padding: .35rem 0;
    }

    body.theme-javanese-wayang .jwayang-salam-content {
        display: grid;
        grid-template-columns: minmax(5rem, 34%) minmax(0, 1fr);
        grid-template-rows: auto auto;
        column-gap: .75rem;
    }

    body.theme-javanese-wayang .jwayang-salam-photo {
        width: clamp(4.5rem, 43dvh, 7.5rem);
        height: clamp(5.5rem, 53dvh, 9rem);
        grid-row: 1 / span 2;
    }

    body.theme-javanese-wayang .jwayang-salam-title,
    body.theme-javanese-wayang .jwayang-salam-copy {
        align-self: end;
        font-size: clamp(.66rem, 3.8dvh, .9rem);
    }

    body.theme-javanese-wayang .jwayang-salam-copy {
        align-self: start;
    }

    body.theme-javanese-wayang .jwayang-quotes-content {
        display: grid;
        grid-template-columns: minmax(4.5rem, 25%) minmax(0, 1fr);
        gap: .7rem;
    }

    body.theme-javanese-wayang .jwayang-verse {
        margin: 0;
    }

    body.theme-javanese-wayang .jwayang-verse p,
    body.theme-javanese-wayang .jwayang-verse .font-arabic,
    body.theme-javanese-wayang .jwayang-verse cite {
        font-size: clamp(.6rem, 3.4dvh, .78rem);
        line-height: 1.25;
    }

    body.theme-javanese-wayang .jwayang-couple-content {
        grid-template-columns: 1fr auto 1fr;
        grid-template-rows: 1fr;
        gap: .45rem;
    }

    body.theme-javanese-wayang .jwayang-person img {
        width: clamp(3.9rem, 34dvh, 5.8rem);
        height: clamp(3.9rem, 34dvh, 5.8rem);
    }

    body.theme-javanese-wayang .jwayang-person h2 {
        font-size: clamp(.68rem, 3.8dvh, .9rem);
    }

    body.theme-javanese-wayang .jwayang-person p,
    body.theme-javanese-wayang .jwayang-with {
        font-size: clamp(.55rem, 3dvh, .72rem);
    }

    body.theme-javanese-wayang main > section:not(#home):not(.jwayang-page) > .container {
        width: min(calc(100% - 10rem), 31rem);
    }

    body.theme-javanese-wayang.is-paged #root #gallery .gallery-panel {
        height: calc(100dvh - var(--invitation-nav-height) - 2.8rem) !important;
    }

    body.theme-javanese-wayang #wedding-date > .container,
    body.theme-javanese-wayang #story > .container,
    body.theme-javanese-wayang #gift > .container,
    body.theme-javanese-wayang #comment > .container,
    body.theme-javanese-wayang #closing > .container {
        max-height: calc(100dvh - var(--invitation-nav-height) - .7rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.theme-javanese-wayang #theme-ornaments.ornaments-enter .jwayang-ornament {
        animation: none !important;
        opacity: 1;
    }

    body.theme-javanese-wayang #theme-ornaments.ornaments-enter .jwayang-side.left,
    body.theme-javanese-wayang #theme-ornaments.ornaments-enter .jwayang-corner.top-left {
        transform: scaleX(-1);
    }

    body.theme-javanese-wayang #theme-ornaments.ornaments-enter .jwayang-side.right,
    body.theme-javanese-wayang #theme-ornaments.ornaments-enter .jwayang-corner.top-right,
    body.theme-javanese-wayang #theme-ornaments.ornaments-enter .jwayang-corner.bottom-left,
    body.theme-javanese-wayang #theme-ornaments.ornaments-enter .jwayang-corner.bottom-right {
        transform: none;
    }
}
