/* Post-v3 product refinements. Brand typography, colors and existing MR-02 shell remain authoritative. */
:root { --ys-plum:#7b2c83; --ys-pink:#ed1763; --ys-line:#e9e2ed; }
.ys-portal-primary-nav { align-items:center; gap:18px; font-size:13px; }
.ys-business-nav summary { gap:7px; }
.ys-business-nav summary i { font-size:9px; }
.ys-footer-bottom { max-width:1370px; margin:0 auto; padding:18px 16px 22px; display:flex; align-items:center; justify-content:space-between; gap:20px; color:#64748b; font-size:12px; }
.ys-footer-bottom p { margin:0; }
.ys-footer-credit { display:flex; align-items:center; gap:4px; white-space:nowrap; }
.ys-footer-credit strong { color:#475569; }
.ys-footer-credit img { width:28px; height:28px; object-fit:contain; }
.ys-home-sections { display:flex; flex-direction:column; gap:36px; min-width:0; }
.ys-page-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; }
.ys-page-heading p { flex-basis:100%; order:2; }
.ys-action { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 16px; border-radius:12px; font-weight:700; font-size:13px; background:#f4edf8; color:var(--ys-plum); border:1px solid #e7dbef; transition:box-shadow .2s,background .2s; }
.ys-action-primary { background:linear-gradient(110deg,#9752ab,#713680); color:white; border-color:transparent; box-shadow:0 4px 14px #7b2c8320; }
.ys-action:hover { box-shadow:0 5px 18px #7b2c8328; }
.ys-business-archive-mosaic { border-radius:24px; overflow:hidden; background:white; box-shadow:0 3px 18px #1d293d0b; }
.ys-business-mosaic a[data-public-id] img,.ys-business-home .ys-mosaic a[data-public-id] img { object-fit:contain; padding:12px; background:#fff; filter:grayscale(.18); transition:filter .3s,transform .4s; }
.ys-business-mosaic a[data-public-id]:hover img,.ys-business-mosaic a[data-public-id]:focus-visible img { filter:grayscale(0); transform:scale(1.035); }
.ys-business-mosaic a[data-public-id] .ys-mosaic-overlay,.ys-business-home .ys-mosaic a[data-public-id] .ys-mosaic-overlay { opacity:1; background:linear-gradient(transparent 58%,#3341550a 68%,#24304482 100%); padding:10px; align-items:flex-end; }
.ys-business-mosaic .ys-mosaic-overlay span { text-shadow:0 1px 4px #0008; }
.ys-business-join img { object-fit:cover; object-position:center; }
.ys-business-join .ys-mosaic-overlay { opacity:1; background:linear-gradient(transparent 35%,#4a24558c 75%,#562968dc); text-align:center; padding:18px 10px; align-items:flex-end; justify-content:center; }
.ys-business-join strong { display:block; font-size:16px; line-height:1.8; font-weight:900; }
.ys-business-join-button { display:inline-flex; align-items:center; gap:6px; margin-top:8px; background:var(--ys-pink); color:white; border-radius:99px; padding:7px 14px; font-size:12px; text-shadow:none!important; }
.ys-discovery-input-row { display:flex; gap:12px; align-items:stretch; }
.ys-discovery-input-row button { display:inline-flex; align-items:center; justify-content:center; gap:8px; white-space:nowrap; min-height:48px; }
.ys-field-error { color:#be123c; font-size:12px; line-height:1.8; }
.ys-field-error[hidden] { display:none; }
.ys-business-discovery-form input[aria-invalid=true] { border-color:#fb7185; background:#fff8fa; }
.ys-business-discovery-results:not([hidden]) { background:linear-gradient(120deg,#faf7fc,#fff); border:1px solid #ece3f1; border-radius:24px; padding:20px; gap:20px; }
.ys-search-group { background:white; border:1px solid #eee8f2; border-radius:16px; padding:18px; min-width:0; box-shadow:0 3px 12px #39254205; }
.ys-search-group h2 { display:inline-block; margin-inline-end:12px; }
.ys-business-search-item { padding:10px 0; border-color:#f3eef5; font-size:14px; font-weight:600; }
.ys-business-search-item:hover { color:var(--ys-plum); }
.ys-business-search-item img { background:#f8fafc; width:52px; height:52px; border:1px solid #f1f5f9; }
.ys-carousel-stage { position:relative; padding-inline:10px; }
.ys-memorial-carousel .ys-carousel-track { scrollbar-width:none; padding-bottom:3px; }
.ys-carousel-track::-webkit-scrollbar { display:none; }
.ys-memorial-carousel .ys-carousel-controls:not([hidden]) { display:contents; }
.ys-memorial-carousel .ys-carousel-controls button { position:absolute; top:calc(50% - 24px); z-index:2; width:40px; height:40px; min-width:40px; min-height:40px; padding:0; display:grid; place-items:center; border-radius:50%; background:white; border:1px solid #eadfed; color:var(--ys-plum); box-shadow:0 4px 16px #45205725; }
.ys-memorial-carousel [data-carousel-prev] { right:-14px; }
.ys-memorial-carousel [data-carousel-next] { left:-14px; }
.ys-memorial-carousel .ys-carousel-controls button:hover { background:var(--ys-plum); color:white; }
.ys-business-share { margin-top:16px; }
.ys-business-share .ys-share-button { width:100%; background:linear-gradient(110deg,#9b58ad,#713582); color:white; border:0; box-shadow:0 5px 16px #7b2c8330; }
.ys-share-dialog { padding:16px; width:min(calc(100% - 24px),440px); }
.ys-share-dialog [data-share-preview] { display:block; width:auto; max-width:100%; max-height:32dvh; margin:8px auto; border-radius:8px; object-fit:contain; }
.ys-share-dialog [data-share-preview][hidden] { display:none; }
.ys-share-dialog h2 { font-size:18px; line-height:40px; }
.ys-share-dialog [data-share-status] { margin:4px 0; font-size:12px; }
.ys-share-actions { margin-block:10px; gap:7px; }
.ys-share-actions a,.ys-share-actions button { flex:1; gap:6px; padding:8px; font-size:12px; }
.ys-share-actions [data-share-telegram] { color:#167cad; background:#eef8ff; border-color:#d8effd; }
.ys-share-actions [data-share-whatsapp] { color:#12814b; background:#effbf4; border-color:#d9f2e3; }
.ys-share-dialog label { font-size:12px; color:#64748b; }
.ys-share-dialog input { margin-top:5px; font-size:13px; }
.ys-donation-card { padding:22px; border:1px solid #f6cedd; border-radius:20px; background:linear-gradient(115deg,#fff3f8,#fffafd); }
.ys-business input[data-money],.ys-piggy input[data-money] { background:#fff; border:2px solid #f3b5cc; border-radius:14px; color:#be185d; font-size:24px; font-weight:900; text-align:center; direction:ltr; padding:14px; letter-spacing:.5px; }
.ys-choice,.ys-business label.ys-choice { display:flex; align-items:flex-start; gap:10px; padding:12px; background:#faf7fc; border:1px solid #eee5f2; border-radius:12px; cursor:pointer; font-size:13px; line-height:1.9; }
.ys-choice strong { font-size:13px; }
.ys-choice small { display:block; font-size:11px; font-weight:400; color:#64748b; }
:is(.ys-business,.ys-profile-v3,.ys-profile-context,.ys-piggy,.ys-owner-page) input:is([type=checkbox],[type=radio]) { appearance:auto!important; -webkit-appearance:auto!important; width:18px!important; height:18px!important; min-width:18px; padding:0!important; margin:3px 0; accent-color:#7b2c83; background:initial!important; border:initial!important; border-radius:initial!important; display:inline-block!important; vertical-align:middle; flex-shrink:0; }
:is(.ys-business,.ys-profile-v3,.ys-profile-context,.ys-piggy,.ys-owner-page) input:is([type=checkbox],[type=radio])::after { content:none!important; }
.ys-privacy-link { display:inline-flex; align-items:center; gap:5px; color:#64748b; font-size:11px; margin-top:16px; }
.ys-document-tile { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; width:100%; height:100%; min-height:100px; color:#b4234e; background:linear-gradient(135deg,#fff0f4,#f4eafb); font-size:13px; }
.ys-document-tile>i { font-size:40px; }
.ys-document-preview { display:flex; flex-direction:column; align-items:center; gap:24px; padding:40px; color:white; }
.ys-document-preview>i { color:#ffb7cc; font-size:76px; }
.ys-upload-preview { display:flex; flex-wrap:wrap; gap:12px; margin-top:12px; }
.ys-upload-preview figure { width:140px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:14px; padding:8px; margin:0; overflow:hidden; }
.ys-upload-preview img,.ys-upload-preview video { width:100%; height:108px; object-fit:contain; border-radius:8px; }
.ys-upload-preview figcaption { overflow-wrap:anywhere; color:#64748b; font-size:11px; margin-top:6px; }
.ys-business input[type=file] { padding:12px; border:1px dashed #cdb7da; background:#fbf8fd; border-radius:12px; max-width:100%; }
.ys-business input[type=file]::file-selector-button { border:0; background:#7b2c83; color:#fff; padding:8px 12px; border-radius:8px; margin-inline-end:12px; font-family:inherit; }
.ys-feedback { display:flex; align-items:flex-start; gap:10px; padding:14px 16px; border:1px solid; border-radius:14px; font-size:13px; line-height:1.9; }
.ys-feedback[hidden] { display:none; }
.ys-feedback i { margin-top:4px; }
.ys-feedback-success { color:#166534; border-color:#bbebcb; background:#f0fdf4; }
.ys-feedback-warning { color:#92400e; border-color:#fde2a3; background:#fffbeb; }
.ys-feedback-error { color:#be123c; border-color:#fecdd3; background:#fff1f2; }
.ys-feedback-info { color:#6b388a; border-color:#e8d9f1; background:#faf5ff; }
.ys-feedback-global { max-width:1268px; margin:20px auto 0; }
.ys-form-loading { display:flex; align-items:center; justify-content:center; gap:9px; color:#7b2c83; background:#f8f0fc; border:1px solid #eadcf1; border-radius:12px; padding:12px; font-size:13px; }
.ys-form-loading[hidden] { display:none; }
[data-business-progress] { height:8px; border-radius:99px; accent-color:#9b4dac; }
.ys-profile-tabs a { display:inline-flex; align-items:center; gap:8px; }
.ys-profile-tabs a i { font-size:15px; }
.ys-profile-tabs { scrollbar-width:none; }
.ys-profile-overview>a,.ys-profile-overview>div { position:relative; overflow:hidden; background:linear-gradient(125deg,#faf6fd,#fff); border-color:#eadff1; padding:22px; box-shadow:0 4px 15px #4b1d6006; }
.ys-profile-overview .ys-stat-icon { display:grid; place-items:center; width:43px; height:43px; border-radius:14px; background:#f0e2f8; color:#874197; font-size:19px; }
.ys-profile-overview>:nth-child(2) .ys-stat-icon { background:#ffe8f1; color:#cd3374; }
.ys-profile-row { border-color:#eee8f2; background:white; padding:18px; box-shadow:0 3px 12px #39254204; }
.ys-profile-row:hover { border-color:#dbc7e6; }
.ys-profile-row-actions>a,.ys-profile-row>a { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:40px; padding:9px 13px; border:1px solid #e8daf0; border-radius:11px; color:#7b2c83; background:#f7f0fb; font-weight:700; }
.ys-profile-row-actions>a:hover { background:#eee0f7; }
.ys-profile-menu { position:relative; font-size:13px; }
.ys-profile-menu summary { display:flex; align-items:center; gap:8px; cursor:pointer; list-style:none; background:#7b2c83; color:white; padding:10px 14px; border-radius:11px; min-height:42px; }
.ys-profile-menu summary::-webkit-details-marker { display:none; }
.ys-profile-menu>div { position:absolute; left:0; top:calc(100% + 8px); width:235px; padding:7px; border:1px solid #eee4f3; border-radius:14px; background:#fff; box-shadow:0 10px 30px #38154d20; z-index:30; display:grid; gap:3px; }
.ys-profile-menu a { display:flex; gap:9px; align-items:center; padding:11px; border-radius:9px; color:#614279; min-height:42px; }
.ys-profile-menu a:hover { background:#f8f1fc; }
.ys-profile-pagination { align-items:center; gap:10px; flex-wrap:wrap; }
.ys-profile-pagination a { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-width:42px; min-height:42px; border:1px solid #e4d6ed; border-radius:11px; padding:8px 13px; background:white; color:#7b2c83; font-weight:700; }
.ys-profile-pagination span { background:#f4eaf9; color:#75468f; padding:11px 16px; border-radius:11px; }
.ys-profile-settings-form label { display:flex; align-items:flex-start; gap:10px; line-height:1.9; flex:1; }
.ys-profile-context { background:white; border:1px solid #ece5f1; border-radius:24px; padding:24px; display:grid; gap:20px; }
.ys-profile-context .ys-profile-tabs { margin:0; }
.ys-profile-content.is-loading { opacity:.5; pointer-events:none; }
.ys-profile-tab-progress { display:flex; align-items:center; gap:8px; color:#7b2c83; font-size:13px; }
.ys-profile-tab-progress[hidden] { display:none; }
.ys-owner-page { background:white; border:1px solid #eee8f2; border-radius:24px; padding:24px; }
.ys-owner-page h1 { font-size:22px; font-weight:900; color:#334155; }
.ys-owner-page h2 { font-size:17px; font-weight:800; }
.ys-owner-page .ys-page-heading { margin-bottom:24px; }
.ys-piggy { width:calc(100% - 32px); max-width:1180px; margin:48px auto; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px; align-items:start; }
.ys-piggy-heading,.ys-piggy-total,.ys-piggy-stats,.ys-piggy-updated,.ys-piggy-history,.ys-piggy>.ys-feedback { grid-column:1/-1; }
.ys-piggy-heading { grid-row:1; }
.ys-piggy-total { grid-column:1; grid-row:2; }
.ys-piggy-form { grid-column:2; grid-row:2/5; }
.ys-piggy-stats { grid-column:1; grid-row:3; }
.ys-piggy-chart { grid-column:1; grid-row:4; }
.ys-piggy-recent { grid-column:1/-1; }
.ys-piggy-stats article>i { display:grid; place-items:center; width:38px; height:38px; margin:auto; background:#f5ecfa; color:#9850ab; border-radius:12px; font-size:17px; }
.ys-piggy-stats article:nth-child(2)>i { color:#d03d80; background:#ffedf5; }
.ys-piggy-stats article:nth-child(3)>i { color:#259688; background:#eafaF5; }
@media(max-width:767px) {
 .ys-home-sections { gap:24px; }
 .ys-home-sections>.ys-business-home { order:1; }
 .ys-home-sections>.ys-memorial-carousel { order:2; }
 .ys-home-sections>.ys-home-tiles { order:3; }
 .ys-home-sections>.ys-home-search-stats { order:4; }
 .ys-home-sections>.ys-business-discovery-results { order:5; }
 .ys-footer-bottom { flex-direction:column; text-align:center; padding-bottom:24px; gap:14px; }
 .ys-business-join strong { font-size:14px; }
 .ys-discovery-input-row { gap:8px; }
 .ys-discovery-input-row button { padding:10px 14px; }
 .ys-business-discovery-results:not([hidden]) { padding:12px; gap:12px; }
 .ys-business .ys-deceased-photo { order:0; max-width:330px; margin:auto; }
 .ys-business .ys-deceased-content { order:1; }
 .ys-business .ys-fullwidth-row { order:2; }
 .ys-business .ys-deceased-container { padding:20px; gap:24px; }
 .ys-feedback-global { margin-inline:16px; }
 .ys-profile-context { padding:16px; }
 .ys-owner-page { padding:18px; }
 .ys-profile-overview>a,.ys-profile-overview>div { padding:16px; }
 .ys-profile-menu { align-self:flex-end; }
 .ys-piggy { display:flex; flex-direction:column; margin:28px auto; gap:16px; }
 .ys-piggy>* { width:100%; }
 .ys-piggy-heading { order:0; }.ys-piggy-total{order:1}.ys-piggy-form{order:2}.ys-piggy-stats{order:3}.ys-piggy-chart{order:4}.ys-piggy-recent{order:5}.ys-piggy-updated{order:6}.ys-piggy-history{order:7}
}
@media(prefers-reduced-motion:reduce) { .ys-business-mosaic img { transition:none!important; } }
.ys-media-file-icon { display:grid;place-items:center;width:54px;height:54px;min-width:54px;border-radius:15px;background:#f4eafa;color:#854293;font-size:22px; }
.ys-profile-identity .ys-profile-business-logo { object-fit:contain;background:#fafafa;border:1px solid #eee;padding:4px; }
.ys-status-success { background:#effbf3;border-color:#c6ebd3;color:#20804b; }
.ys-status-warning { background:#fff9eb;border-color:#f9e2a8;color:#94620b; }
.ys-status-muted { background:#f5f5f6;border-color:#e4e4e8;color:#676576; }
.ys-action-danger { color:#be2451;background:#fff0f5;border-color:#f7d2df; }
.ys-profile-filters .ys-invite-checkbox { flex:none;min-width:0;align-self:center; }
.ys-home-search-stats>.ys-payment-mode-note { margin:16px 24px 0; }
.ys-piggy>.ys-payment-mode-note { order:6; }
.ys-form-disclosure { border:1px solid #e8dced;border-radius:16px;padding:16px;background:#fcf9fd; }
.ys-form-disclosure summary { display:flex;align-items:center;gap:10px;cursor:pointer;min-height:32px;color:#784186;font-size:14px;font-weight:700; }
.ys-form-disclosure summary>i:last-child { margin-inline-start:auto;font-size:11px; }
.ys-form-disclosure summary small { color:#8d8193;font-size:11px;font-weight:400; }
.ys-form-disclosure[open] summary { margin-bottom:22px; }
.ys-business label.ys-upload-picker { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:120px;border:1px dashed #cfafd9;border-radius:16px;background:linear-gradient(130deg,#faf5fd,#fff);color:#80408b;padding:16px;cursor:pointer;text-align:center; }
.ys-upload-picker>i { font-size:26px; }
.ys-upload-picker>small { font-size:11px;color:#8b7893;font-weight:400; }
.ys-upload-picker:has(+input:focus-visible) { outline:2px solid #7b2c83;outline-offset:3px; }

@media(max-width:767px) {
 .ys-profile-header-inner { padding:18px 12px; }
 .ys-profile-header-inner>div { gap:16px; }
 .ys-profile-header [data-profile-edit-open]>span:first-child { width:86px;height:86px; }
 .ys-profile-header #profile-title { font-size:20px; }
 .ys-profile-header-stats { display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,.9fr) minmax(0,1.3fr);gap:6px; }
 .ys-profile-header-stats>div { min-width:0;padding:10px 4px; }
 .ys-profile-header-stats>div>div:nth-child(2) { font-size:14px;overflow-wrap:anywhere; }
}

.ys-feedback.ys-creation-errors{display:block;text-align:right}.ys-creation-errors ul{list-style:disc;padding-inline-start:1.25rem;margin-top:.5rem}.ys-creation-errors li+li{margin-top:.3rem}
