    html,
    body {
        overflow-x: hidden;
        width: 100%;
    }

    img.image_box {
        max-width: 500px;
        width: 90%;
        margin: 15px auto;
        border-radius: 20px;
        border: solid 2px #d5a02d;
    }

    .scroll-fade {
        opacity: 0;
        transform: translateY(30px);
        transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    }

    .scroll-fade.visible {
        opacity: 1;
        transform: translateY(0);
    }

    img.logo {
        margin: auto;
        padding: 20px 0px;
    }

    .welcometext {
        text-align: justify;
        font-size: 17px;
        line-height: 40px;
        color: #000 !important;
    }

    .timedateplcae {
        font-size: 18px !important;
    }

    .poemtext {
        text-align: center;
        font-size: 25px;
        padding: 20px 40px 5px 40px;
        color: #000 !important;
        text-shadow: 0px 0px 4px #ffae00;
        line-height: 45px;
    }

    .guestnametext {
        font-weight: 700;
        color: #000 !important;
        font-size: 25px;
        padding-bottom: 10px;
    }

    .pattern-box {
        background-image: url(/assets/images/background/SummerFlorals-Pattern_MIN.png);
        background-repeat: repeat;
        background-size: 640px;
        background-position: center;
        background-color: rgb(255 255 255 / 74%);
        background-blend-mode: lighten;
        padding: 25px;
    }

    .mainbox {
        max-width: 92% !important;
        margin-bottom: 50px;
        padding: 0px !important;
        width: min(500px, 92vw);
    }

    p.footernote {
        margin: auto;
        text-align: center;
        display: block;
        margin-bottom: 20px;
        color: #292929;
    }

    .footernote.sub {
        text-align: center;
        padding: 0px 20px 20px 20px;
        font-size: 11px;
    }

    .smallheader {
        color: #000000 !important;
        font-weight: 300;
    }

    .timedateplcae {
        font-size: 17px;
        padding-top: 20px;
    }

    div#countdownSection,
    #rsvpForm,
    #venueSection {
        background: #fff;
        border-radius: 10px;
        box-shadow: 0px 0px 10px #c3c3c3a3;
        padding: 20px 15px 5px 15px
    }

    h2.ontimenotice {
        padding: 15px 20px;
        margin: 0px 0px 20px 0px;
        font-weight: 500;
        color: #000000;
        background: #fcf7eb;
        border-radius: 10px;
        text-align: justify;
        box-shadow: 0px 0px 10px #c3c3c3a3;
    }

    .ontimenotice span.icon {
        text-align: center;
        width: 100%;
        display: block;
        font-size: 50px;
        height: 60px;
    }

    .plannernotice {
        background: #fcf7eb;
        border-radius: 15px;
        padding: 10px 20px;
        margin: 20px 0 60px 0px;
        color: #2d2d2d;
        box-shadow: 0px 0px 10px #c3c3c3a3;
    }

    .plannernotice p {
        text-align: justify;
        font-size: 15px;
        font-weight: 500;
    }

    .plannernotice img {
        border-radius: 100px;
        margin: auto auto 20px auto;
        width: 120px;
        box-shadow: 0px 0px 10px #393939a3;
    }

    .guestphotobox {
        border-radius: 15px;
        box-shadow: 0px 0px 10px #c3c3c3a3;
        background: #ffbe00;
    }

    .guestphotobox button {
        background: #000;
    }

    div#countdownSection>div>div {
        background: #fcf7eb;
        border: 1px solid #d59100c7;
        box-shadow: 0px 0px 5px #ffbe00;
    }

    .countdowntext {
        text-align: center;
        font-size: 22px;
        padding: 15px 0px 10px 0px;
        color: #000 !important;
        text-shadow: 0px 0px 4px #ffae00;
    }

    div#countdownSection .caption {
        color: #3d3d3de8;
    }

    button#editBtn {
        border-radius: 15px;
        border: none;
        background: #ffae00;
        color: #000;
    }

    div#registeredInfo {
        background: #fcf7eb;
        box-shadow: 0px 0px 10px #c3c3c3a3;
        border: none;
    }

    div#registeredInfo>p {
        text-align: center;
        font-size: 20px;
        padding: 15px 5px;
        color: #000 !important;
        text-shadow: 0px 0px 4px #ffae00;
    }

    div#registeredInfo>div {
        border: 1px solid #dfdcd4;
    }

    #autoSaveMsg {
        font-size: 20px !important;
        padding: 10px 10px 0px 10px;
        line-height: 33px;
    }

    p#locationSection,
    p#countdownSectiontitle,
    p#rsvpFormtitle {
        text-align: center;
    }

    .ceremonycharts .icon {
        font-size: 25px !important;
        line-height: 30px;
        padding-left: 10px;
    }

    .ceremonycharts div p.text-xs {
        font-size: 15px;
        color: #5b5b5b;
    }

    .faq-container {
        max-width: 600px;
        margin: 60px auto 20px auto;
        display: flex;
        flex-direction: column;
        gap: 15px;
    }

    .faq-item {
        border: 1px solid #e0e0e0;
        /* رنگ متناسب با تم کرم/طلایی خودت تنظیم شود */
        border-radius: 8px;
        overflow: hidden;
        background: #fff;
    }

    .faq-question {
        width: 100%;
        text-align: right;
        padding: 18px 20px;
        font-size: 16px;
        font-family: inherit;
        font-weight: 600;
        color: #333;
        background: #fcf7eb;
        border: none;
        cursor: pointer;
        display: flex;
        justify-content: space-between;
        align-items: center;
        transition: background 0.3s ease;
    }

    .faq-question:hover {
        background: ;
    }

    .faq-icon {
        font-size: 25px;
        transition: transform 0.3s ease;
    }

    .faq-item.active .faq-icon {
        transform: rotate(45deg);
        /* تبدیل + به x */
    }

    .faq-answer {
        max-height: 0;
        padding: 0 20px;
        background: #fcf7eb;
        color: #555;
        line-height: 1.8;
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        /* انیمیشن نرم */
        opacity: 0;
    }

    .faq-item.active .faq-answer {
        max-height: 350px;
        text-align: justify;
        padding: 15px 20px;
        opacity: 1;
    }

    .faq-item {
        background: rgba(255, 255, 255, 0.85);
        /* کمی شفافیت برای دیده شدن بافت بک‌گراند */
        backdrop-filter: blur(8px);
        /* افکت شیشه‌ای محو */
        border: 1px solid rgba(255, 255, 255, 0.5);
        /* حاشیه نوری بسیار محو */
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
        /* سایه عمیق اما به شدت نرم */
        border-radius: 12px;
        /* کمی گردتر کردن لبه‌ها */
        margin-bottom: 15px;
    }

    .faq-container span.icon {
        flex: auto;
        margin-right: 5%;
        font-size: 20px;
    }
    .hide {
    display: none !important;
}
.media-section {
    text-align: center;
}
.video-wrapper {
    max-width: 800px;
    margin: 0 auto;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
    background: #000; /* برای زمان لود ویدیو */
}
.video-wrapper video {
    width: 100%;
    height: auto;
    display: block; /* حذف فضای خالی پایین تگ ویدیو */
min-height: 30vh
}
