/* Complements to the existing design system. Palette and validated hero stay untouched. */
.ui-icon { width:1.08em;height:1.08em;display:inline-block;flex:0 0 auto;vertical-align:-.15em;overflow:visible; }
.ui-icon--gift { color:var(--swop-gold-ink); }
.theme-heart .ui-icon--gift,.heart-page .ui-icon--gift,.heart-need-page .ui-icon--gift { color:var(--heart-sage,#71875E); }
.theme-commerce .ui-icon--gift,.commerce-page .ui-icon--gift { color:var(--swop-champagne,#B58B2E); }
.ui-icon--location { color:currentColor; }
.listing-kind .ui-icon,.item-kind .ui-icon,.badge-type .ui-icon,.conv-ann .ui-icon { margin-right:4px; }
.account-delete-card { border-color:var(--swop-border); }
.account-delete-start>summary { cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--swop-text-secondary); }
.account-erasure-notice { padding-left:20px;font-size:14px;line-height:1.65;color:var(--swop-text-secondary); }
.account-erasure-notice li { margin-bottom:10px; }
.account-delete-card form { margin-top:16px; }
.account-delete-check { display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5; }
.account-delete-check input { margin-top:4px; }
body .account-delete-final { border-color:#9D3838;color:#8A2828; }
.nav-more { position:relative; }
.nav-more > summary { display:flex;align-items:center;gap:7px;padding:10px 0;cursor:pointer;list-style:none;font-size:13px;font-weight:600;white-space:nowrap; }
.nav-more > summary::-webkit-details-marker { display:none; }
.nav-more > summary i { font-size:10px;transition:transform .15s; }
.nav-more[open] > summary i { transform:rotate(180deg); }
.nav-more > .nav-more-links { position:absolute;right:0;top:100%;z-index:1200;min-width:225px;padding:7px;list-style:none;background:var(--swop-white);border:1px solid var(--swop-border);border-radius:12px; }
.nav-more-links a { display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:8px; }
.nav-more-links a:hover { background:var(--swop-sand); }
.nav-more-links i { width:18px;text-align:center;color:var(--swop-gold-ink); }
.nav-more summary:focus-visible,.nav-more a:focus-visible { outline:2px solid var(--swop-focus);outline-offset:3px; }
.drawer-menu .nav-more > summary { padding:13px 20px;font-size:14px; }
.drawer-menu .nav-more > .nav-more-links { position:static;min-width:0;margin:0 12px;background:var(--swop-white); }
.drawer-account-menu > summary { cursor:pointer;padding:13px 20px;font-size:13px;font-weight:600;color:var(--swop-text-secondary); }
.drawer-account-menu > ul { list-style:none;padding:0;margin:0; }
.gift-page { background:var(--swop-bg);padding:20px 18px 56px; }
.gift-wrap { max-width:720px;margin:auto;min-width:0; }
.gift-wrap h1 { font-size:clamp(22px,4vw,30px);line-height:1.3;overflow-wrap:anywhere; }
.gift-wrap p { line-height:1.6;color:var(--swop-text-secondary); }
.gift-page .pp-demo-badge { display:inline-block;margin-left:7px;border:1px solid var(--swop-border);border-radius:999px;padding:2px 7px;font-size:11px;color:var(--swop-text-secondary); }
.gift-demo-notice { font-size:13px;margin:7px 0 12px; }
.gift-back { display:inline-flex;align-items:center;min-height:40px;padding:5px 0;gap:7px;margin-bottom:10px;color:var(--swop-text-secondary);font-size:13px; }
@media(max-width:700px){
  body .dashboard-layout>.dash-sidebar>.dash-about-card{order:3;margin-top:0}
}
body .dashboard-page :is(#my-events,#my-local-alerts).is-empty{padding:0!important;background:transparent;border:0;box-shadow:none}
body .dashboard-page :is(#my-events,#my-local-alerts).is-empty .dash-section-head{margin:0!important;justify-content:flex-start}
body .dashboard-page :is(#my-events,#my-local-alerts).is-empty :is(h2,.community-compact-empty){display:none}
body .dashboard-page :is(#my-events,#my-local-alerts).is-empty a{padding:9px 13px!important;background:var(--swop-white)!important;border:1px solid var(--swop-border);color:var(--swop-gold-ink);min-height:40px;font-size:13px!important;box-shadow:none}
.gift-panel { padding:clamp(14px,3vw,22px);background:var(--swop-white);border:1px solid var(--swop-border);border-radius:16px; }
.gift-form { display:grid;gap:16px; }
.gift-form .form-group { display:grid;gap:7px;margin:0;min-width:0; }
.gift-form :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select) { width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:11px 12px;border:1px solid var(--swop-border);border-radius:10px;font:inherit;background:var(--swop-white); }
.gift-gallery { display:flex;gap:12px;overflow:auto;scroll-snap-type:x mandatory; }
.gift-gallery a { flex:0 0 100%;min-width:0;scroll-snap-align:start; }
.gift-gallery img { display:block;width:100%;max-height:330px;object-fit:contain;border-radius:12px; }
.gift-photos { display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px; }
.gift-photos img { width:84px;height:84px;object-fit:contain; }
.gift-description,.gift-message p { overflow-wrap:anywhere; }
.gift-status { padding:12px;background:var(--swop-sand);border-radius:10px; }
.gift-message { border:1px solid var(--swop-border);background:var(--swop-bg);padding:10px 14px;border-radius:12px;margin-bottom:12px;max-width:90%; }
.gift-message.is-own { margin-left:auto;background:var(--swop-sand); }
.gift-message small { font-size:11px;color:var(--swop-text-secondary); }
body .pc-grid { gap:12px; }
body .pc-card { padding:20px;text-align:left;box-shadow:none; }
body .pc-card:hover { transform:none;box-shadow:none; }
body .pc-ic { width:40px;height:40px;font-size:18px;margin:0 0 10px; }
body .pc-card h2 { font-size:17px;margin-bottom:6px; }
body .pc-card p { margin:0;font-size:13px; }
body .pp-stats.pp-stats--simple { grid-template-columns:repeat(3,minmax(0,1fr));max-width:660px;margin:0 auto 20px; }
.actions-counter-label { display:inline-flex;align-items:center;justify-content:center;gap:4px;position:relative; }
.actions-info { display:inline-block;position:relative;text-align:left; }
.actions-info>summary { display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;cursor:pointer;list-style:none;color:var(--swop-gold-ink);font-size:12px;font-weight:800; }
.actions-info>summary::-webkit-details-marker { display:none; }
.actions-info>p { position:absolute;z-index:20;left:50%;bottom:calc(100% + 7px);width:min(260px,75vw);margin:0;padding:9px 11px;transform:translateX(-50%);border:1px solid var(--swop-border);border-radius:10px;background:#fff;box-shadow:var(--shadow-md);color:var(--swop-text);font-size:12px;line-height:1.4;font-weight:500; }
@media(max-width:600px){.actions-info>p{position:fixed;left:12px;right:auto;top:auto;bottom:auto;width:min(260px,calc(100vw - 24px));max-height:calc(100vh - 112px);overflow:auto;transform:none}.actions-info>p:before{right:14px}}
.compact-bio-collapsed { display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden; }
.compact-bio-toggle { border:0;background:none;color:var(--swop-gold-ink);font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:8px 0 0; }
.compact-bio-toggle[hidden] { display:none; }
/* Explicitly preserve hidden Wish Link rows: the item flex style overrides the browser default. */
.pp-wish-item[hidden] { display:none; }
.compact-section-heading { display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px; }
.compact-section-heading h2 { margin:0; }
.compact-section-heading > a { flex-shrink:0;font-size:13px;color:var(--swop-gold-ink); }
body .pp-favorites-list { display:grid;grid-template-columns:repeat(auto-fill,68px);gap:12px;overflow:hidden; }
body .pp-favorite-person { width:68px;min-width:0; }
body .pp-favorite-person > span:not(.pp-favorite-initial) { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
body .pp-favorite-person img,body .pp-favorite-initial { width:48px;height:48px; }
body .pp-listings__grid { grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr)); }
.listing-kind { display:inline-block;font-size:11px;color:var(--swop-gold-ink);background:var(--swop-gold-soft);padding:3px 8px;border-radius:999px;margin:6px 0; }
body .profile-page-wrap .community-card { padding:12px; }
body .profile-page-wrap .community-event-link img { width:64px;height:64px;object-fit:cover; }
@media (max-width:767px) {
  body .pp-favorites-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body .pp-favorite-person { width:100%; }
  body .pp-favorite-person:nth-child(n+4) { display:none; }
}
