/* Production finishing: preserve MR-02 typography, palette and existing page shell. */
.ys-trust-badge { min-width:0; height:100px; padding:6px; gap:4px; overflow:hidden; isolation:isolate; }
.ys-trust-badge > img,.ys-trust-badge .ys-trust-mark > img { display:block; width:auto!important; height:auto!important; max-width:100%!important; max-height:82px!important; object-fit:contain!important; margin:auto; }
.ys-trust-badge > img { max-width:calc(100% - 20px)!important; }
.ys-trust-badge .ys-trust-mark { position:relative; display:flex; flex:0 0 54px; align-items:center; justify-content:center; width:100%; min-width:0; height:54px; overflow:hidden; }
.ys-trust-badge .ys-trust-mark > img { max-height:54px!important; }
.ys-trust-badge [hidden]{display:none!important}
.ys-footer-main{padding-block:28px}.ys-footer-columns{gap:24px}.ys-footer-trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ys-trust-badge [data-enamad-placeholder]{font-size:10px;line-height:1.8;color:#64748b}
.ys-trust-badge noscript img{position:absolute;inset:0;margin:auto;background:white;max-height:54px}
@media(min-width:768px){.ys-footer-main{padding-block:32px}.ys-footer-trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ys-trust-badge .ys-trust-label,.ys-license-badge>span:last-child { display:block; max-width:100%; font-size:10px; line-height:1.65; margin:0; overflow-wrap:break-word; }
.ys-footer-credit > a { display:inline-flex; align-items:center; gap:4px; border-radius:5px; }
.ys-footer-credit > a:hover strong { color:#7b2c83; }
.ys-footer-credit > a:focus-visible { outline:2px solid #7b2c83; outline-offset:4px; }
button.ys-trust-badge { cursor:pointer; font:inherit; }
.ys-trust-badge:focus-visible { outline:3px solid #9b58ad; outline-offset:3px; }
.ys-license-dialog { width:min(1000px,94vw); max-height:92dvh; border:0; border-radius:22px; padding:0; color:#334155; box-shadow:0 24px 80px #0f172a40; }
.ys-license-dialog::backdrop { background:#0f172abf; backdrop-filter:blur(5px); }
.ys-license-dialog header { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 22px; border-bottom:1px solid #e2e8f0; }
.ys-license-dialog h2 { font-size:16px; font-weight:800; }.ys-license-dialog h2 i { color:#7b2c83; }
.ys-license-dialog header button { background:#f1edf5; color:#713582; width:38px; height:38px; border:0; border-radius:50%; }
.ys-license-dialog { overflow:hidden; }.ys-license-dialog header { position:static; flex-shrink:0; }.ys-license-dialog > div { display:flex; align-items:center; justify-content:center; padding:16px; overflow:hidden; max-height:calc(92dvh - 76px); box-sizing:border-box; }.ys-license-dialog img { display:block; width:auto; max-width:100%; height:auto; max-height:calc(92dvh - 110px); object-fit:contain; }
.ys-portal-primary-nav { font-size:15px; }
.ys-trust-bank .ys-trust-mark { height:54px; flex-shrink:0; }.ys-trust-bank .ys-trust-mark img { width:54px!important; height:54px!important; max-height:54px!important; filter:none!important; opacity:1; object-fit:contain; }.ys-trust-bank .ys-trust-label { margin-top:0; }
.ys-story { background:white; border:1px solid #e9e4ed; border-radius:24px; padding:clamp(22px,4vw,48px); box-shadow:0 8px 30px #50345808; }
.ys-story-heading { border-bottom:1px solid #ece7ef; padding-bottom:28px; margin-bottom:32px; }.ys-story-heading > span { color:#91639e; font-size:13px; font-weight:700; }
.ys-story h1 { color:#663175; font-size:clamp(28px,3vw,38px); font-weight:900; margin:10px 0; }.ys-story-heading > p { color:#7c7283; font-size:14px; }
.ys-story-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(200px,1fr); gap:32px; align-items:start; }
.ys-story-copy { font-size:15px; line-height:2.35; color:#475569; text-align:justify; }.ys-story-copy h2 { font-size:19px; font-weight:800; color:#613773; margin:0 0 12px; }.ys-story-copy p { margin-bottom:22px; }
.ys-story-portraits { display:grid; gap:24px; }.ys-story-portraits figure { border-radius:18px; overflow:hidden; border:1px solid #ece7ef; background:#faf8fb; }.ys-story-portraits svg { display:block; width:100%; height:auto; overflow:hidden; }
.ys-story-portraits figcaption { padding:14px 10px; text-align:center; font-size:13px; font-weight:800; color:#633777; }.ys-story-portraits figcaption span { display:block; color:#847889; font-size:11px; font-weight:400; margin-top:6px; }
.ys-story-dedication { margin-top:32px; padding:26px; border-radius:18px; background:linear-gradient(120deg,#faf4fc,#fff5f8); border:1px solid #eee2ef; line-height:2.2; color:#60486a; text-align:justify; }.ys-story-dedication > i { color:#b477ae; font-size:24px; margin-bottom:12px; }.ys-story-dedication > div { display:flex; flex-direction:column; align-items:flex-end; margin-top:20px; }.ys-story-dedication span { font-size:12px; }
.ys-about-copy p + p { margin-top:18px; }.ys-story-link { display:inline-flex; align-items:center; gap:8px; margin-top:20px; color:#7b2c83; font-weight:800; }.ys-contact-email { display:inline-block; color:#7b2c83; margin-top:10px; }
.ys-business-about { text-align:justify; overflow-wrap:anywhere; }
.ys-business-status-row { display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }
.ys-status-badge { display:inline-flex; align-items:center; gap:5px; border-radius:999px; font-size:11px; font-weight:700; line-height:1.8; padding:3px 11px; border:1px solid transparent; }
.ys-status-draft,.ys-status-disabled,.ys-status-deleted { background:#f1f5f9; color:#475569; border-color:#e2e8f0; }
.ys-status-pendingpayment { background:#eff6ff; color:#1d4ed8; border-color:#bfdbfe; }.ys-status-pendingapproval { background:#fffbeb; color:#92400e; border-color:#fde68a; }
.ys-status-published { background:#ecfdf5; color:#047857; border-color:#a7f3d0; }.ys-status-rejected { background:#fff1f2; color:#be123c; border-color:#fecdd3; }
.ys-memorial-mobile-portrait { display:none; }
.ys-payment-warning { display:flex; gap:8px; align-items:flex-start; padding:11px 13px; margin-top:12px; border:1px solid #f3ddb0; border-radius:12px; background:#fffbeb; color:#855b14; font-size:12px; line-height:1.9; font-weight:500; }
.ys-payment-warning i { margin-top:4px; flex-shrink:0; }.ys-network-dialog { width:min(440px,92vw); border:1px solid #e9dfed; border-radius:24px; padding:28px; color:#475569; box-shadow:0 25px 80px #31213f44; }
.ys-network-dialog::backdrop { background:#17203199; backdrop-filter:blur(5px); }.ys-network-dialog h2 { color:#663175; font-size:20px; font-weight:900; margin:14px 0; }.ys-network-dialog > i { display:grid; place-items:center; width:58px; height:58px; border-radius:18px; background:#fff1d8; color:#b57817; font-size:24px; }.ys-network-dialog p { font-size:14px; line-height:2; }.ys-network-dialog-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }.ys-network-dialog button { font:inherit; font-size:13px; font-weight:700; border-radius:12px; padding:12px 16px; border:1px solid #e3dae8; background:#f7f4f9; }.ys-network-dialog button[data-network-confirm] { background:#7b2c83; color:white; flex:1; }.ys-network-dialog button:disabled { opacity:.6; cursor:wait; }
.ys-network-error { margin-top:12px; color:#b45309; font-size:12px!important; }
@media(max-width:767px) { .ys-story-layout { grid-template-columns:minmax(0,1fr); gap:18px; }.ys-story-portraits { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.ys-story-copy { font-size:14px; line-height:2.2; }.ys-story-dedication { padding:20px; font-size:14px; }.ys-story-portraits figcaption { font-size:11px; }.ys-story-portraits figcaption span { font-size:10px; }
 .ys-memorial-mobile-portrait { display:block; width:100%; max-width:400px; align-self:center; }.ys-memorial-mobile-portrait > img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:24px; box-shadow:0 10px 30px #39405520; }.ys-memorial-desktop-portrait { display:none!important; }
 .ys-network-dialog { padding:22px; }.ys-license-dialog header { padding:14px; }.ys-license-dialog h2 { font-size:13px; }
}
@font-face{font-family:Vazirmatn;src:url('../fonts/Vazirmatn-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('../fonts/Vazirmatn-Bold.woff2') format('woff2');font-weight:700 900;font-display:swap}
.ys-handoff{margin:0;min-height:100vh;background:radial-gradient(ellipse at top,#f1e7f7,transparent 65%),#faf8fc;display:grid;place-items:center;padding:24px;box-sizing:border-box;font-family:Vazirmatn,sans-serif;color:#344054;direction:rtl}
.ys-handoff-card{box-sizing:border-box;width:min(100%,480px);padding:36px;border:1px solid #eee6f2;border-radius:28px;background:#fff;box-shadow:0 20px 80px #53246b12;text-align:center}
.ys-handoff-card>img{object-fit:contain}.ys-handoff-card h1{font-size:23px;color:#59326e;line-height:1.7}.ys-handoff-card p{line-height:1.9}.ys-handoff-card [role=status]{font-size:14px;line-height:2;margin:18px 0}
.ys-handoff-primary,.ys-handoff-card button{display:inline-flex;justify-content:center;gap:8px;align-items:center;border:0;border-radius:12px;padding:13px 20px;background:linear-gradient(120deg,#805497,#58316f);font:700 14px Vazirmatn,sans-serif;color:#fff;text-decoration:none;cursor:pointer}
.ys-handoff-card button:disabled{opacity:.65;cursor:wait}.ys-handoff-cancel{display:block;color:#667085;margin-top:18px;font-size:13px}
.ys-handoff-spinner{border:3px solid #f1e7f7;border-top-color:#a8559a;width:25px;height:25px;border-radius:50%;margin:20px auto;animation:ys-spin .9s linear infinite}
@keyframes ys-spin{to{transform:rotate(360deg)}}
.ys-network-dialog{box-sizing:border-box;max-width:460px;width:calc(100% - 32px);border:1px solid #eee6f2;border-radius:24px;padding:28px;font-family:Vazirmatn,sans-serif;color:#475467;text-align:right;box-shadow:0 24px 80px #28143830}
.ys-network-dialog::backdrop{background:#25152e99;backdrop-filter:blur(4px)}.ys-network-dialog h2{font-size:20px;color:#58316f;font-weight:900;margin:12px 0}.ys-network-dialog p{font-size:14px;line-height:2}.ys-network-hint{color:#7e7286;font-size:12px!important}.ys-network-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:#f3eaf7;color:#75408e;font-size:30px}
.ys-network-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.ys-network-actions button{border:0;border-radius:12px;padding:12px 16px;font:700 13px Vazirmatn,sans-serif;cursor:pointer}.ys-network-actions button:first-child{background:#704288;color:#fff}.ys-network-actions button:last-child{background:#f2edf5;color:#67427b}.ys-network-actions button:disabled{opacity:.6}
.ys-request-error{max-width:600px;margin:40px auto;background:white;border:1px solid #f0dbe2;border-radius:24px;padding:32px;line-height:2;text-align:center}.ys-request-error>i{color:#be4774;font-size:32px}.ys-request-error h1{font-size:20px;font-weight:900}.ys-request-error p{background:#fff1f4;color:#a93159;padding:18px;border-radius:14px;margin:20px 0}.ys-request-error button{background:#704288;color:#fff;padding:10px 20px;border-radius:12px}.ys-request-error a{display:block;margin-top:16px}.ys-receipt-actions{flex-wrap:wrap}
@media(max-width:480px){.ys-handoff{padding:16px}.ys-handoff-card{padding:24px}.ys-handoff-card h1{font-size:20px}}
@media(prefers-reduced-motion:reduce){.ys-handoff-spinner{animation:none}}
.ys-upload-media-preview{max-height:240px;width:100%;object-fit:contain;border-radius:14px;background:#f5f2f7}.ys-upload-error,.ys-upload-success{border:1px solid;border-radius:12px;padding:14px;font-size:13px;line-height:2}.ys-upload-error{color:#a52c52;background:#fff1f4;border-color:#ffd0dc}.ys-upload-success{color:#177251;background:#edfdf5;border-color:#abeacc}

.ys-license-badge{flex-direction:column;gap:4px}.ys-license-badge .ys-trust-mark{height:54px}.ys-license-badge .ys-trust-mark img{max-height:54px!important}.ys-license-badge>span:last-child{font-size:10px;color:#62536c;font-weight:700}

.ys-license-dialog,.ys-network-dialog{margin:auto}

/* Optional dates use native mobile-friendly selectors and a numeric year. */
.ys-persian-date { min-width:0; margin:0; padding:0; border:0; }
.ys-persian-date legend { font-size:13px; font-weight:700; margin-bottom:10px; color:#334155; }
.ys-persian-date legend small { font-size:10px; font-weight:400; color:#64748b; }
.ys-persian-date-fields { display:grid; grid-template-columns:minmax(58px,.7fr) minmax(115px,1.4fr) minmax(78px,1fr); gap:8px; }
.ys-persian-date-fields > div { min-width:0; }
.ys-persian-date-fields label { display:block; color:#64748b; font-size:11px; margin-bottom:5px; }
.ys-persian-date-fields input,.ys-persian-date-fields select { width:100%; min-width:0; height:46px; border:1px solid #e2e8f0; border-radius:12px; background:#f8fafc; color:#334155; padding:8px; font:inherit; font-size:13px; }
.ys-persian-date-fields input { text-align:center; }
.ys-persian-date-fields input:focus,.ys-persian-date-fields select:focus { outline:2px solid #bd78b5; outline-offset:2px; }
.ys-memorial-date-pair { display:grid; gap:20px; grid-column:1 / -1; grid-template-columns:repeat(2,minmax(0,1fr)); }
.validation-summary-valid { display:none!important; }
@media(max-width:639px) {
 .ys-memorial-date-pair { grid-template-columns:minmax(0,1fr); }
 .ys-project-archive-grid { grid-auto-rows:auto; }
 .ys-project-archive-card { min-height:250px; }
 .ys-project-featured { grid-row:span 1; padding:0; background:#352140; }
 .ys-project-featured > img { position:static; width:100%; height:auto; max-height:340px; object-fit:contain; transform:none; }
 .ys-project-featured > .ys-project-overlay { display:none; }
 .ys-project-featured > .ys-project-status { position:absolute; top:12px; inset-inline-end:12px; }
 .ys-project-featured > .ys-project-content { padding:22px 18px; background:linear-gradient(135deg,#3c2947,#251b30); }
 .ys-project-featured h2 { font-size:20px; line-height:1.9; }
}

.ys-contribution-privacy label{align-items:flex-start!important;gap:12px!important}.ys-contribution-privacy input[type=checkbox]{flex-shrink:0;margin-top:5px}.ys-privacy-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px;line-height:1.9}.ys-privacy-copy strong{font-size:14px;color:#573568}.ys-privacy-copy>span{font-size:12px;color:#697586}.ys-privacy-copy small{font-size:12px;color:#814393;display:flex;align-items:center;gap:7px}

.ys-upload-recheck{border:1px solid #d9c3e4;background:#f8f2fc;color:#6e347c;border-radius:12px;padding:12px;font-size:13px;font-weight:700}.ys-upload-recheck[hidden]{display:none}[data-upload-stage]{line-height:1.9;flex:1}[data-upload-percent]{flex-shrink:0}
/* Support mode is visibly distinct and remains in document flow on small screens. */
.ys-support-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px max(18px,calc((100vw - 1400px)/2));background:#fff4d8;border-bottom:1px solid #e9c46a;color:#664509;font-size:13px;line-height:1.9}
.ys-support-banner button{background:#71418b;color:#fff;padding:9px 14px;border:0;border-radius:10px;font:inherit;cursor:pointer}
.ys-support-banner form{margin:0}.ys-support-entry{max-width:620px;margin:24px auto;padding:30px;background:#fff;border:1px solid #e8e0ec;border-radius:22px;line-height:2}
.ys-support-entry h1{font-size:23px;font-weight:800;margin:12px 0}.ys-support-entry>i{font-size:32px;color:#71418b}.ys-support-entry form{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}
.ys-support-error{font-family:Vazirmatn,Tahoma,sans-serif;background:#faf7fb;color:#3f2d47;padding:24px}.ys-support-error main{max-width:600px;margin:10vh auto;background:#fff;padding:30px;border-radius:18px;line-height:2}

.ys-gift-suggestions{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:12px 0}.ys-gift-suggestions button{border:1px solid #e2e8f0;border-radius:12px;padding:9px 10px;background:#fff;color:#475569;font-size:12px;min-height:44px}.ys-gift-suggestions small{font-size:10px;margin-inline-start:3px}.ys-gift-suggestions .is-recommended{border-color:#7b2c83;background:#faf5ff;color:#7b2c83;font-weight:800}.ys-gift-suggestions button span{display:block;font-size:9px}.ys-gift-suggestions [aria-pressed=true]{background:#7b2c83;color:#fff;border-color:#7b2c83}.ys-gift-suggestions button:focus-visible{outline:3px solid #f9a8d4;outline-offset:2px}
