/* Invitation theme phase 4: remaining public pages. */
html.theme-invitation.theme-page-music .container.py-5,
html.theme-invitation.theme-page-photos .container.py-5,
html.theme-invitation.theme-page-afterparty .container.py-5 {
    padding-top: 1rem !important;
    padding-bottom: 3rem !important;
}

html.theme-invitation.theme-page-music h2,
html.theme-invitation.theme-page-photos h1,
html.theme-invitation.theme-page-afterparty h1 {
    color: var(--invite-terracotta, #a0522d) !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    letter-spacing: .01em;
}

html.theme-invitation.theme-page-music .bi-music-note-beamed {
    color: var(--invite-terracotta, #a0522d) !important;
}

html.theme-invitation.theme-page-music .card,
html.theme-invitation.theme-page-photos .card,
html.theme-invitation.theme-page-afterparty .alert {
    background: rgba(255, 252, 246, .94) !important;
    border: 1px solid rgba(160, 82, 45, .18) !important;
    border-radius: 1.35rem !important;
    box-shadow: 0 12px 34px rgba(91, 58, 44, .08) !important;
}

html.theme-invitation.theme-page-music .card-body {
    padding: clamp(1.25rem, 4vw, 2.25rem) !important;
}

html.theme-invitation.theme-page-music .btn-dark,
html.theme-invitation.theme-page-music .btn-primary {
    background: var(--invite-terracotta, #a0522d) !important;
    border-color: var(--invite-terracotta, #a0522d) !important;
    color: #fffaf4 !important;
    border-radius: 999px !important;
}

html.theme-invitation.theme-page-music .btn-dark:hover,
html.theme-invitation.theme-page-music .btn-primary:hover {
    filter: brightness(.94);
}

html.theme-invitation.theme-page-music .form-control {
    background: rgba(255, 255, 255, .88) !important;
    border-color: rgba(160, 82, 45, .24) !important;
    border-radius: .9rem !important;
}

html.theme-invitation.theme-page-music .form-control:focus {
    border-color: rgba(160, 82, 45, .65) !important;
    box-shadow: 0 0 0 .2rem rgba(160, 82, 45, .10) !important;
}

html.theme-invitation.theme-page-music .text-primary {
    color: var(--invite-terracotta, #a0522d) !important;
}

html.theme-invitation.theme-page-music .list-group-item {
    background: transparent !important;
    border-color: rgba(160, 82, 45, .12) !important;
    padding: 1rem 1.1rem;
}

html.theme-invitation.theme-page-photos .card {
    overflow: hidden;
    padding: .45rem;
    transition: transform .22s ease, box-shadow .22s ease;
}

html.theme-invitation.theme-page-photos .card:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 38px rgba(91, 58, 44, .12) !important;
}

html.theme-invitation.theme-page-photos .card img {
    border-radius: 1rem !important;
}

html.theme-invitation.theme-page-photos .row.g-4 {
    --bs-gutter-x: 1.15rem;
    --bs-gutter-y: 1.15rem;
}

html.theme-invitation.theme-page-photos .text-center.py-5 {
    background: rgba(255, 252, 246, .82);
    border: 1px dashed rgba(160, 82, 45, .28);
    border-radius: 1.25rem;
    padding: 2.4rem 1.25rem !important;
}

html.theme-invitation.theme-page-photos .btn-outline-secondary,
html.theme-invitation.theme-page-afterparty .btn-outline-secondary,
html.theme-invitation.theme-page-afterparty .btn-outline-dark {
    border-color: rgba(160, 82, 45, .42) !important;
    color: var(--invite-terracotta, #a0522d) !important;
    border-radius: 999px !important;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

html.theme-invitation.theme-page-photos .btn-outline-secondary:hover,
html.theme-invitation.theme-page-afterparty .btn-outline-secondary:hover,
html.theme-invitation.theme-page-afterparty .btn-outline-dark:hover {
    background: var(--invite-terracotta, #a0522d) !important;
    border-color: var(--invite-terracotta, #a0522d) !important;
    color: #fffaf4 !important;
}

html.theme-invitation.theme-page-afterparty .container.text-center {
    max-width: 760px;
}

html.theme-invitation.theme-page-afterparty .lead {
    color: #6f625b !important;
    line-height: 1.75;
}

html.theme-invitation.theme-page-afterparty .alert-info,
html.theme-invitation.theme-page-afterparty .alert-warning {
    color: #65493c !important;
    background: rgba(249, 236, 222, .78) !important;
    padding: 1.2rem 1.35rem;
}

html.theme-invitation.theme-page-afterparty h1::after,
html.theme-invitation.theme-page-photos h1::after,
html.theme-invitation.theme-page-music h2::after {
    content: '♡';
    display: block;
    margin-top: .35rem;
    color: var(--invite-terracotta, #a0522d);
    font-size: 1.15rem;
    font-family: Georgia, serif;
}

@media (max-width: 767.98px) {
    html.theme-invitation.theme-page-music .container.py-5,
    html.theme-invitation.theme-page-photos .container.py-5,
    html.theme-invitation.theme-page-afterparty .container.py-5 {
        padding-top: .35rem !important;
    }

    html.theme-invitation.theme-page-music .text-center.mb-4,
    html.theme-invitation.theme-page-photos .text-center.mb-5 {
        margin-bottom: 1.5rem !important;
    }

    html.theme-invitation.theme-page-music .card-body,
    html.theme-invitation.theme-page-afterparty .alert {
        padding: 1.1rem !important;
    }
}
