/* ==========================================================================
   قالب کلاسیک — کارت چاپی
   کاغذ کرم با بافت، قاب طلایی دوخطه، عکس در قاب گنبدی، گل‌بوته‌ی گوشه‌ها،
   مُهر مونوگرام و حروف با فاصله‌ی زیاد؛ حال‌وهوای کارت دعوت چاپ‌شده.
   ========================================================================== */

[data-layout="classic"] {
    --paper: #f6efe2;
    --paper-2: #fbf7ee;
    --ink: #3a3227;
    --ink-soft: #7b6f5d;
    --frame: #b1923f;
    --frame-soft: rgba(177, 146, 63, .3);
}
[data-layout="classic"][data-theme="blue"] {
    --paper: #eef1f6; --paper-2: #f8fafc; --ink: #232d3d; --ink-soft: #6a7488; --frame: #8b93a8; --frame-soft: rgba(139, 147, 168, .32);
}
[data-layout="classic"][data-theme="garden"] {
    --paper: #eef1e7; --paper-2: #f8faf3; --ink: #29331f; --ink-soft: #6c7660; --frame: #8d9a5f; --frame-soft: rgba(141, 154, 95, .32);
}
[data-layout="classic"][data-theme="blush"] {
    --paper: #f9eee8; --paper-2: #fdf7f3; --ink: #46302b; --ink-soft: #8a6f66; --frame: #c59486; --frame-soft: rgba(197, 148, 134, .34);
}

[data-layout="classic"] body {
    background: var(--paper);
    color: var(--ink);
}

/* بافت کاغذ */
[data-layout="classic"] body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: .5;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23p)' opacity='.055'/%3E%3C/svg%3E");
}

[data-layout="classic"] .site,
[data-layout="classic"] .gate { position: relative; z-index: 1; background: transparent; }

/* ---------- قاب طلایی دور کل صفحه ---------- */
[data-layout="classic"] .site::before,
[data-layout="classic"] .gate::before {
    content: "";
    position: absolute;
    inset: 12px;
    pointer-events: none;
    border: 1px solid var(--frame);
    outline: 4px solid var(--paper);
    box-shadow: 0 0 0 5px var(--frame-soft);
    z-index: 4;
}

/* گل‌بوته‌ی گوشه‌ها */
[data-layout="classic"] .site::after,
[data-layout="classic"] .gate::after {
    content: "";
    position: absolute;
    top: 12px;
    inset-inline: 12px;
    height: 46px;
    pointer-events: none;
    z-index: 5;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='46' fill='none' stroke='%23b1923f' stroke-width='1.1'%3E%3Cpath d='M4 42c22-2 34-14 38-30M4 42c14 0 24-6 30-16M42 12c3-5 8-8 14-8'/%3E%3Ccircle cx='58' cy='4' r='2.4' fill='%23b1923f' stroke='none'/%3E%3Cpath d='M22 40c-4-6-4-13 0-18 4 5 4 12 0 18z'/%3E%3C/svg%3E") top left no-repeat,
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='46' fill='none' stroke='%23b1923f' stroke-width='1.1'%3E%3Cg transform='translate(90,0) scale(-1,1)'%3E%3Cpath d='M4 42c22-2 34-14 38-30M4 42c14 0 24-6 30-16M42 12c3-5 8-8 14-8'/%3E%3Ccircle cx='58' cy='4' r='2.4' fill='%23b1923f' stroke='none'/%3E%3Cpath d='M22 40c-4-6-4-13 0-18 4 5 4 12 0 18z'/%3E%3C/g%3E%3C/svg%3E") top right no-repeat;
    opacity: .75;
}

/* ---------- تصویر اول: قاب گنبدی ---------- */
[data-layout="classic"] .hero {
    min-height: 0;
    display: block;
    padding: 3.6rem 1.9rem 2.6rem;
    text-align: center;
}
[data-layout="classic"] .hero-media {
    position: relative;
    inset: auto;
    width: min(100%, 22rem);
    margin: 0 auto 2rem;
    aspect-ratio: 3 / 4;
    border-radius: 999px 999px 6px 6px;
    overflow: hidden;
    border: 1px solid var(--frame);
    box-shadow: 0 18px 44px rgba(58, 50, 39, .16);
}
[data-layout="classic"] .hero-veil {
    background: linear-gradient(to top, rgba(58, 50, 39, .22), transparent 45%);
}
[data-layout="classic"] .hero-text { position: static; width: auto; }
[data-layout="classic"] .hero-quote {
    color: var(--ink-soft);
    font-size: .84rem;
    letter-spacing: .22em;
    line-height: 2.4;
    opacity: 1;
    margin-bottom: 1.2rem;
}
[data-layout="classic"] .script-names {
    color: var(--ink);
    font-weight: 300;
    font-size: clamp(2.4rem, 11vw, 4rem);
    line-height: 1.5;
    letter-spacing: .01em;
    text-shadow: none;
}
[data-layout="classic"] .script-names .amp {
    font-size: .4em;
    color: var(--frame);
    opacity: 1;
    margin: 0 .5em;
    vertical-align: .25em;
}
[data-layout="classic"] .hero-corner {
    position: static;
    margin-top: 1.4rem;
    justify-items: center;
    text-align: center;
}
[data-layout="classic"] .hero-corner .rule {
    background: var(--frame);
    width: 3.5rem;
    margin-inline: auto;
}
[data-layout="classic"] .hero-date,
[data-layout="classic"] .hero-city { color: var(--ink-soft); letter-spacing: .26em; font-size: .8rem; }
[data-layout="classic"] .scroll-hint {
    color: var(--frame);
    position: static;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    margin: 1.2rem auto 0;
}

/* ---------- بخش‌ها ---------- */
[data-layout="classic"] .band { padding-block: 2.6rem; }
[data-layout="classic"] .section-title {
    color: var(--ink);
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: .34em;
    position: relative;
    display: block;
    padding-bottom: 1rem;
}
/* خط تزیینی زیر عنوان با لوزی وسط */
[data-layout="classic"] .section-title::after {
    content: "";
    position: absolute;
    bottom: .35rem;
    inset-inline: 0;
    height: 7px;
    background:
        linear-gradient(var(--frame-soft), var(--frame-soft)) center / 100% 1px no-repeat;
}
[data-layout="classic"] .section-title::before {
    content: "";
    position: absolute;
    bottom: .1rem;
    left: 50%;
    width: 7px;
    height: 7px;
    margin-left: -3.5px;
    background: var(--paper);
    border: 1px solid var(--frame);
    transform: rotate(45deg);
    z-index: 1;
}
[data-layout="classic"] .section-sub { color: var(--ink-soft); }

[data-layout="classic"] .divider { height: 2.2rem; }
[data-layout="classic"] .divider::after {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    margin: 1rem auto;
    border: 1px solid var(--frame);
    transform: rotate(45deg);
}

/* ---------- کارت‌ها ---------- */
[data-layout="classic"] .card {
    background: var(--paper-2);
    border: 1px solid var(--frame-soft);
    border-radius: 3px;
    box-shadow: 0 10px 28px rgba(58, 50, 39, .07);
}
[data-layout="classic"] .card-eyebrow { color: var(--ink-soft); letter-spacing: .3em; }
[data-layout="classic"] .card-title {
    color: var(--ink);
    font-weight: 400;
    font-size: 1.7rem;
    letter-spacing: .04em;
}
[data-layout="classic"] .card-sub,
[data-layout="classic"] .hotel-addr,
[data-layout="classic"] .hint,
[data-layout="classic"] .cd-label,
[data-layout="classic"] .copy-label,
[data-layout="classic"] .polaroid figcaption { color: var(--ink-soft); }
[data-layout="classic"] .card-body,
[data-layout="classic"] .invite-text,
[data-layout="classic"] .note-b,
[data-layout="classic"] .card-date { color: var(--ink); }
[data-layout="classic"] .card-icon,
[data-layout="classic"] .card-actions svg,
[data-layout="classic"] .hotel-links svg,
[data-layout="classic"] .tl-icon { color: var(--frame); }
[data-layout="classic"] .card-figure {
    border-radius: 3px;
    border: 1px solid var(--frame-soft);
}
[data-layout="classic"] .card-actions a,
[data-layout="classic"] .hotel-links a,
[data-layout="classic"] .copy-row {
    border-radius: 2px;
    border-color: var(--frame-soft);
    color: var(--ink);
    background: var(--paper-2);
}
[data-layout="classic"] .rule { background: var(--frame-soft); }

/* ---------- شمارش معکوس ---------- */
[data-layout="classic"] .cd-num {
    color: var(--ink);
    font-weight: 300;
    font-size: clamp(2.4rem, 11vw, 3.4rem);
}
[data-layout="classic"] .cd-sep { color: var(--frame); }
[data-layout="classic"] .script-line { color: var(--ink); }
[data-layout="classic"] .addressee { color: var(--ink); font-weight: 500; letter-spacing: .04em; }

/* ---------- برنامه، گالری، یادبود ---------- */
[data-layout="classic"] .tl-icon { border: 1px solid var(--frame-soft); background: var(--paper-2); border-radius: 50%; }
[data-layout="classic"] .tl-title { color: var(--ink); }
[data-layout="classic"] .tl-time { color: var(--ink-soft); }
[data-layout="classic"] .tl-dots { opacity: .4; }
[data-layout="classic"] .polaroid {
    background: var(--paper-2);
    border: 1px solid var(--frame-soft);
    border-radius: 2px;
    box-shadow: 0 8px 22px rgba(58, 50, 39, .1);
}
[data-layout="classic"] .notes blockquote,
[data-layout="classic"] .notice {
    background: var(--paper-2);
    border: 1px solid var(--frame-soft);
    border-radius: 3px;
}
[data-layout="classic"] .notes p,
[data-layout="classic"] .notice-title,
[data-layout="classic"] .note-h { color: var(--ink); }
[data-layout="classic"] .notes cite,
[data-layout="classic"] .notice-body { color: var(--ink-soft); }
[data-layout="classic"] .table-no { color: var(--frame); }

/* ---------- پاسخ ---------- */
[data-layout="classic"] .rsvp-sheet {
    background: var(--paper-2);
    color: var(--ink);
    border: 1px solid var(--frame);
    border-radius: 3px;
    box-shadow: 0 16px 40px rgba(58, 50, 39, .12);
}
[data-layout="classic"] .rsvp-sheet .script-line,
[data-layout="classic"] .rsvp-for { color: var(--ink); }
[data-layout="classic"] .rsvp-sub { color: var(--ink-soft); }
[data-layout="classic"] .rsvp-form input,
[data-layout="classic"] .rsvp-form select,
[data-layout="classic"] .rsvp-form textarea,
[data-layout="classic"] .gate-field input {
    background: #fff;
    border-color: var(--frame-soft);
    border-radius: 2px;
    color: var(--ink);
}
[data-layout="classic"] .choice-opt { border-radius: 2px; border-color: var(--frame-soft); color: var(--ink); }
[data-layout="classic"] .choice-opt:has(input:checked) { border-color: var(--frame); background: var(--paper); }
[data-layout="classic"] .btn {
    border-radius: 2px;
    letter-spacing: .14em;
    font-size: .85rem;
    border-color: var(--frame);
    color: var(--ink);
}
[data-layout="classic"] .btn-solid {
    background: var(--frame);
    border-color: var(--frame);
    color: #fff;
}
[data-layout="classic"] .btn-xl { border-radius: 2px; }

/* ---------- مُهر مونوگرام ---------- */
[data-layout="classic"] .seal {
    border-radius: 50%;
    border: 1px double var(--frame);
    color: var(--frame);
    background: var(--paper-2);
    box-shadow: 0 0 0 4px var(--paper), 0 0 0 5px var(--frame-soft);
}

/* ---------- ورود و پایان ---------- */
[data-layout="classic"] .gate {
    align-items: center;
    align-content: center;
    grid-auto-rows: min-content;
    padding-block: 2.5rem;
}
[data-layout="classic"] .gate-media {
    position: relative;
    width: min(100% - 4rem, 19rem);
    margin: 0 auto 1.6rem;
    aspect-ratio: 3 / 4;
    border-radius: 999px 999px 6px 6px;
    overflow: hidden;
    border: 1px solid var(--frame);
}
[data-layout="classic"] .gate-veil { background: linear-gradient(to top, rgba(58, 50, 39, .18), transparent 50%); }
[data-layout="classic"] .gate-inner { color: var(--ink); }
[data-layout="classic"] .gate-form label,
[data-layout="classic"] .gate-meta,
[data-layout="classic"] .eyebrow { color: var(--ink-soft); }
[data-layout="classic"] .gate-meta .dot { background: var(--frame); }
[data-layout="classic"] .gate-head .rule { background: var(--frame); }

[data-layout="classic"] .closing { min-height: 58vh; }
[data-layout="classic"] .closing-veil { background: linear-gradient(to bottom, var(--paper) 0%, rgba(246, 239, 226, .55) 55%, rgba(246, 239, 226, .8)); }
[data-layout="classic"] .closing-text .hero-quote { color: var(--ink-soft); }
[data-layout="classic"] .site-footer { background: transparent; color: var(--ink-soft); }
[data-layout="classic"] .site-footer a { color: var(--frame); }

[data-layout="classic"] .quickbar {
    background: color-mix(in srgb, var(--paper-2) 94%, transparent);
    border-top: 1px solid var(--frame-soft);
}
[data-layout="classic"] .quickbar a { color: var(--ink); }
[data-layout="classic"] .quickbar a svg { color: var(--frame); }
[data-layout="classic"] .quickbar .qb-main { background: var(--frame); color: #fff; border-radius: 2px; }
[data-layout="classic"] .quickbar .qb-main svg { color: #fff; }
[data-layout="classic"] .size-btn,
[data-layout="classic"] .music-btn {
    background: var(--paper-2);
    border-color: var(--frame);
    color: var(--ink);
}
[data-layout="classic"] body.grain .hero-media::after,
[data-layout="classic"] body.grain .gate-media::after,
[data-layout="classic"] body.grain .closing::after { opacity: .1; }

@media (min-width: 900px) {
    [data-layout="classic"] .site::before,
    [data-layout="classic"] .gate::before { inset: 22px; }
    [data-layout="classic"] .site::after,
[data-layout="classic"] .gate::after { top: 22px; inset-inline: 22px; }
    [data-layout="classic"] .hero { padding: 5rem 3rem 3.4rem; }
    [data-layout="classic"] .hero-media { width: min(100%, 26rem); }
    [data-layout="classic"] .gate-media { width: min(100% - 4rem, 22rem); }
}
