@import url('https://fonts.googleapis.com/css2?family=Almarai:wght@400;700&family=Josefin+Sans:wght@500;600;700&display=swap');

[data-theme="14"] .invitation {
    --accent: #41492b;
    --accent-text: #41492b;
    --border: #41492b;
}

[data-theme="15"] .invitation {
    --accent: #ed7c1f;
    --accent-text: #ed7c1f;
    --border: #ed7c1f;
}

.aqiqah-figma {
    color: #0f0d13;
    font-family: 'Almarai', Arial, sans-serif;
}

.scene h1,
.scene h2,
.scene h3,
.closing-greeting {
    font-family: 'Josefin Sans', Arial, sans-serif;
}

.scene-cover h1 {
    font-weight: 700;
}

.portrait-cover {
    width: 184px;
    height: 184px;
}

.guest-label { margin-top: 20px !important; line-height: 18px; }
.guest-name { margin-top: 12px !important; line-height: 23px; }
.guest-place { margin-top: 14px !important; line-height: 18px; }
.open-button { min-width: 174px; margin-top: 28px; }

.scene-profile .profile-content { padding: 120px 20px 55px; }
.profile-intro { max-width: 375px; font-size: 18px; line-height: 20px; }
.portrait-profile { width: 154px; height: 154px; margin-top: 9px; }
.nickname { margin-top: 14px !important; font-size: 32px; }
.scene-profile h3 { font-size: 36px; }
.parents { margin-top: 9px !important; font-size: 18px; line-height: 23px; }

.pill-button {
    min-height: 46px;
    font-size: 18px;
    font-weight: 400;
}

.scene-profile h3 {
    font-weight: 700;
}

.profile-intro {
    margin-top: 16px !important;
}

.scene-countdown h2 {
    font-weight: 600;
    white-space: normal;
}

.countdown-grid { margin: 18px 20px 0; }
.countdown-grid span { min-height: 46px; }
.calendar-button { min-width: 204px; min-height: 48px; }

.countdown-grid small {
    font-weight: 400;
}

.prayer-card,
.event-card { font-family: 'Almarai', Arial, sans-serif; }

.event-card h2 {
    font-family: 'Josefin Sans', Arial, sans-serif;
}

.event-card h3 {
    font-family: 'Almarai', Arial, sans-serif;
    line-height: 23px;
}

.map-button {
    min-width: 172px;
    min-height: 48px;
    margin-top: 42px;
    font-family: 'Almarai', Arial, sans-serif;
}

.scene-gallery h2 { font-size: 36px; }
.gallery-track { margin-top: 42px; }
.gallery-track img { flex-basis: 335px; width: 335px; height: 253px; border-radius: 12px; }

.gift-card { border-radius: 36px; font-family: 'Poppins', Arial, sans-serif; }

.gift-card h2 {
    font-weight: 600;
}

.gift-intro {
    font-size: 16px;
    line-height: 24px;
}

.copy-button,
.submit-button {
    font-weight: 400;
}

.closing-content {
    padding-top: 114px;
}

.guestbook-content > h2,
.guestbook-content .wishes-title { font-size: 40px; line-height: 52px; }
.guestbook-form label { line-height: 21px; }
.guestbook-form input,
.guestbook-form select { min-height: 35px; height: 35px; }
.guestbook-form input,
.guestbook-form select,
.guestbook-form textarea { margin-bottom: 5px; }
.submit-button { min-height: 29px; margin-top: 10px; padding-block: 4px; }
.wishes-list { line-height: 20.5px; }
.wishes-list li:last-child { margin-bottom: 0; }
.closing-content h2 { margin-top: 17px; font-size: 28px; }
.closing-content h3 { margin: 22px 0 20px; font-family: Arial, sans-serif; }
.closing-content h3 ~ p:not(.closing-thanks):not(.closing-greeting) { line-height: 25px; }
.closing-thanks { margin-top: 19px !important; }
.closing-greeting { margin-top: 21px !important; font-size: 25px; }
.theme-icon { display: block; flex: 0 0 20px; width: 20px; height: 20px; }
.copy-button { gap: 7px; }

@media (max-width: 413px) {
    .scene-cover .cover-content {
        padding-top: 127px;
    }

    .scene-profile .profile-content { padding-top: 120px; }
    .profile-intro { font-size: 16px; line-height: 19px; }
    .parents { font-size: 16px; }

    .portrait-cover {
        width: min(184px, 58vw);
        height: auto;
        aspect-ratio: 1;
    }

    .countdown-grid { margin-inline: 0; }
    .gallery-track img { flex-basis: min(80vw, 335px); width: min(80vw, 335px); }

    .scene-profile h2 {
        font-size: clamp(20px, 6.3vw, 27px);
    }

    .scene-countdown h2 {
        font-size: clamp(27px, 8.5vw, 39px);
    }

    .closing-content {
        padding-inline: 24px;
    }
}
