/* Personal memories and practical shop details, in ZHURI's existing palette. */
.member-photo-frame img[hidden],.profile-avatar img[hidden],.profile-large-avatar img[hidden] { display:none; }
.profile-avatar,.profile-large-avatar { position:relative; overflow:hidden; }
.profile-avatar img,.profile-large-avatar img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.media-ready>.photo-fallback { visibility:hidden; }
.profile-actions { display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.profile-actions .button { font-size:10px; }
.journal-intro { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:6px 0 21px; }
.journal-intro h3 { font-family:var(--serif); font-size:30px; line-height:1.3; margin:10px 0 9px; }
.journal-intro p { font-size:11px; max-width:380px; color:var(--muted); line-height:1.8; }
.journal-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding-top:18px; margin-bottom:14px; }
.journal-toolbar p,.journal-toolbar label { font-size:10px; color:var(--muted); }
.journal-toolbar label { display:flex; gap:10px; align-items:center; }
.journal-toolbar select { background:#fff; color:var(--ink); border:1px solid var(--line); border-radius:8px; padding:10px 30px 10px 12px; max-width:260px; }
.member-storage-note { font-size:10px; line-height:1.8; color:#73736c; display:flex; align-items:flex-start; gap:8px; }
.member-storage-note svg { flex-shrink:0; margin-top:3px; }
.journal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 22px; margin-top:22px; }
.journal-card { min-width:0; }
.journal-cover { display:block; width:100%; height:250px; position:relative; overflow:hidden; border-radius:12px; background:#eeece6; }
.member-photo-frame { display:block; position:relative; background:#eeece6; width:100%; height:100%; overflow:hidden; }
.member-photo-frame img { width:100%; height:100%; object-fit:cover; }
.member-photo-frame>.photo-fallback { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:10px; font-size:10px; color:#777368; }
.member-photo-frame.media-ready>.photo-fallback { display:none; }
.journal-photo-count { position:absolute; bottom:12px; right:12px; background:#fff; padding:6px 9px; border-radius:999px; font-size:9px; color:#333; }
.journal-note-cover { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:17px; height:100%; color:#686450; background:linear-gradient(145deg,#ece8de,#f5f2eb); }
.journal-note-cover>span { font-family:var(--serif); font-size:24px; }
.journal-card-copy { padding:19px 0 0; }
.journal-card-copy>.eyebrow { font-size:8px; letter-spacing:1.4px; }
.journal-card h3 { font-family:var(--serif); font-size:25px; line-height:1.35; margin:9px 0; overflow-wrap:anywhere; }
.journal-card h3 button { text-align:left; }
.journal-meta { display:flex; align-items:center; gap:6px; color:#777; font-size:10px; flex-wrap:wrap; }
.journal-excerpt { color:#666; font-size:11px; line-height:1.8; margin:12px 0; white-space:pre-wrap; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.journal-shop-link { display:flex; gap:6px; align-items:center; text-align:left; color:#555d4b; font-size:10px; margin-top:13px; }
.journal-card-bottom { display:flex; justify-content:space-between; align-items:center; margin-top:16px; border-top:1px solid var(--line); padding-top:12px; }
.journal-card-bottom .icon-button { width:30px; height:30px; border-radius:50%; }
.journal-empty { grid-column:1/-1; background:#f0eee8; border:1px solid #e2dfd5; border-radius:14px; text-align:center; padding:48px 25px; }
.journal-empty>span { display:block; color:#74735c; margin-bottom:20px; }
.journal-empty h3 { font-family:var(--serif); font-size:34px; line-height:1.3; margin:12px 0; }
.journal-empty>p:not(.eyebrow) { font-size:12px; max-width:330px; margin:0 auto; line-height:1.9; color:#777; }
.journal-empty .button { margin-top:23px; }
.journal-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:24px 0; }
.journal-gallery>button { height:210px; border-radius:10px; overflow:hidden; }
.journal-gallery>button:only-child { grid-column:1/-1; height:330px; }
.journal-detail .journal-full-note { white-space:pre-wrap; overflow-wrap:anywhere; }
.journal-full-photo { height:min(60vh,580px); border-radius:10px; margin:23px 0; }
.journal-full-photo img { object-fit:contain; }
.journal-photo-back { margin-top:15px; }
.journal-linked-shop { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:18px 0; margin:23px 0; }
.journal-linked-shop .text-link { display:flex; margin-top:10px; }
.member-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.member-field-wide { grid-column:1/-1; }
.member-form label small { font-size:9px; color:#888; }
.member-form textarea { resize:vertical; min-height:110px; width:100%; border:1px solid #ddd; background:#fafafa; border-radius:10px; color:#222; font:inherit; font-size:12px; padding:13px; line-height:1.8; }
.member-form textarea:focus-visible { outline:2px solid #72745e; outline-offset:4px; }
.member-form input,.member-form select { font-size:12px; min-width:0; }
.member-photo-field,.member-interest-field { border:0; padding:0; min-width:0; }
.member-photo-field legend,.member-interest-field legend { font-size:11px; color:#555; margin-bottom:11px; }
.member-photo-field legend small { display:inline; color:#888; font-size:9px; margin-left:6px; }
.member-form .member-upload { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:15px; border:1px dashed #c9c6bc; border-radius:10px; color:#444; background:#f8f7f3; }
.member-upload input[type=file] { width:100%; margin-top:6px; padding:0; font-size:10px; background:transparent; border:0; border-radius:0; }
.member-upload input::file-selector-button { border:1px solid #ccc; background:#fff; border-radius:5px; padding:7px 10px; color:#333; margin-right:12px; cursor:pointer; }
.member-photo-field .form-help { font-size:10px; color:#777; margin:9px 0; }
.member-photo-drafts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:12px 0; }
.member-photo-drafts:empty { margin:0; }
.member-draft-photo { position:relative; height:125px; border-radius:8px; overflow:hidden; margin:0; background:#eeece6; }
.member-draft-photo>img { width:100%; height:100%; object-fit:cover; }
.member-remove-photo { position:absolute; right:5px; top:5px; border:1px solid #ddd; background:#fff; border-radius:50%; width:28px; height:28px; display:grid; place-items:center; z-index:1; }
.member-avatar-field .member-photo-drafts { display:block; }
.member-draft-avatar { width:95px; height:95px; border-radius:50%; overflow:visible; }
.member-draft-avatar>img,.member-draft-avatar>.member-photo-frame { border-radius:50%; }
.member-draft-avatar .member-remove-photo { top:0; right:-8px; }
.member-avatar-placeholder { margin:0; width:95px; height:95px; }
.member-form-error { color:#a24332; font-size:11px; line-height:1.7; }
.member-form-error:empty { display:none; }
.member-form-actions { display:flex; gap:10px; flex-wrap:wrap; }
.member-form [disabled] { opacity:.6; cursor:wait; }
.shop-sample-note { background:#f6f4ef; border-radius:8px; padding:12px 14px; color:#777164; }
.shop-profile>p.shop-sample-note { font-size:10px; line-height:1.8; }
.shop-visit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.shop-info-block { padding:24px 0; border-bottom:1px solid var(--line); min-width:0; }
.shop-info-block h3 { font-family:var(--serif); font-size:25px; margin:0 0 14px; display:flex; align-items:center; gap:9px; }
.shop-info-block>.eyebrow { font-size:8px; margin-bottom:9px; }
.shop-info-block dd { margin:0; }
.shop-address { margin:18px 0; }
.shop-address>div { margin-bottom:14px; }
.shop-address dt { font-size:9px; color:#777; margin-bottom:5px; }
.shop-address dd { font-size:12px; line-height:1.8; }
.shop-detail-help { color:#888; font-size:10px; line-height:1.8; margin:12px 0 0; }
.shop-example-label { display:block; color:#8a8170; font-size:9px; margin-bottom:13px; }
.shop-hours>div { display:flex; justify-content:space-between; gap:12px; font-size:10px; padding:5px 0; }
.shop-hours dt { color:#777; }
.shop-detail-tags { display:flex; gap:8px; flex-wrap:wrap; }
.shop-detail-tags>span { display:inline-flex; align-items:center; gap:6px; padding:9px 12px; background:#f3f3ef; border:1px solid #e8e8e0; border-radius:999px; font-size:10px; color:#5e6155; }
.shop-event { display:flex; gap:16px; padding:18px; background:#f6f4ef; border-radius:12px; }
.shop-event-icon { width:48px; height:48px; flex-shrink:0; background:#e7e5d9; display:grid; place-items:center; border-radius:50%; color:#727459; }
.shop-event h4 { font-family:var(--serif); font-size:22px; line-height:1.3; font-weight:400; margin-bottom:8px; }
.shop-event p,.shop-event small { font-size:10px; color:#777; line-height:1.8; }
.shop-event small { display:block; margin-top:11px; }
.shop-journal-invite { padding:24px 0; display:flex; gap:20px; align-items:center; justify-content:space-between; }
.shop-journal-invite h3 { font-family:var(--serif); font-size:23px; line-height:1.35; margin:8px 0; }
.shop-journal-invite p { font-size:10px; color:#777; line-height:1.8; }
.retailer-listing-card dd { white-space:pre-wrap; overflow-wrap:anywhere; }
.retailer-listing-links { display:flex; flex-wrap:wrap; gap:14px; align-items:center; margin-top:22px; }
@media(max-width:1100px) { .journal-cover { height:220px; } .journal-intro { flex-wrap:wrap; } }
@media(max-width:680px) {
  .profile-actions { align-items:flex-start; flex-direction:column; gap:12px; }
  .journal-grid { grid-template-columns:1fr; gap:30px; }
  .journal-cover { height:290px; }
  .journal-intro h3 { font-size:29px; }
  .journal-toolbar { flex-wrap:wrap; gap:12px; }
  .journal-toolbar select { max-width:230px; }
  .journal-empty { padding:35px 20px; }
  .journal-empty h3 { font-size:30px; }
  .member-form-grid { grid-template-columns:1fr; }
  .member-draft-photo { height:90px; }
  .member-draft-avatar { height:95px; }
  .journal-gallery>button { height:150px; }
  .journal-gallery>button:only-child { height:260px; }
  .shop-visit-grid { grid-template-columns:1fr; gap:0; }
  .shop-journal-invite { flex-wrap:wrap; }
  .shop-event { padding:15px; gap:12px; }
  .shop-event-icon { width:35px; height:35px; }
  .shop-event h4 { font-size:21px; }
}
