/* Final quality: let existing layouts reflow at large text sizes; no theme or navigation changes. */
.topbar{height:auto;min-height:calc(70px + env(safe-area-inset-top,0px));gap:10px;flex-wrap:wrap}
.top-actions{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.group-title-row,.gifts-head,.section-head,.person-top{flex-wrap:wrap}
.group-title-row h1,.gifts-head>div,.person-title>div,.person-card,.person-card h3{min-width:0;overflow-wrap:anywhere}
.group-title-row .tiny-edit{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.primary-actions,.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.primary-actions .btn,.eyebrow,.pill,.me{max-width:100%;overflow-wrap:anywhere;white-space:normal}
.bottom-nav{height:auto;min-height:72px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));grid-template-columns:repeat(2,minmax(0,1fr))}
.bottom-nav.three-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
.bottom-nav button{min-width:0;min-height:44px;white-space:normal;overflow-wrap:anywhere}
.bottom-nav span{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.app-shell{padding-bottom:calc(100px + 3em + env(safe-area-inset-bottom,0px))}
.gift-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.gift-tabs button{min-width:0;min-height:44px;flex-wrap:wrap;white-space:normal;overflow-wrap:anywhere}
.gift-tabs button{padding:10px 4px;font-size:12px;line-height:1.35;color:var(--muted);cursor:pointer}
.gift-tabs button.active{color:var(--accent)}
.gift-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:360px){.gift-tabs button{font-size:11px}}
.gift-tab-label{min-width:0;max-width:100%;overflow-wrap:anywhere}
.gifts-head h2{overflow-wrap:anywhere}.gift-big{flex-shrink:0}
.suggest-gift-bar>span:first-child{min-width:0;overflow-wrap:anywhere}.sg-right{flex-shrink:0}
.important-notice-actions button{min-width:44px;min-height:44px;white-space:normal}
.important-notice-actions [data-read]{width:auto;min-width:44px}
#suggestGiftDialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow:auto}
#suggestGiftDialog .dialog-head{align-items:flex-start}#suggestGiftDialog h2,#suggestGiftDialog h3{min-width:0;overflow-wrap:anywhere}
@media(max-width:420px){.primary-actions{grid-template-columns:1fr}.gifts-head{gap:8px}.gift-big{display:none}}
.section-head h2{min-width:0;max-width:100%;overflow-wrap:anywhere}
/* Labels determine wrapping naturally, including at 200%; keep whole short words. */
.bottom-nav,.bottom-nav.three-tabs{display:flex;flex-wrap:wrap;gap:4px}
.bottom-nav button{flex:1 1 max-content;max-width:100%}
.bottom-nav span{overflow-wrap:normal}
.suggest-gift-bar{flex-wrap:wrap}

/* Private public-guest management; retains the existing dialog/card system. */
.guest-own-reservations{display:grid;gap:1rem;overflow-wrap:anywhere}
.guest-own-reservations .public-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.guest-own-reservations button{min-height:44px;white-space:normal}
#guestAccessDialog>details{margin-top:1.25rem}

/* Only the public shop action: pastel theme accents cannot define its text contrast. */
.public-list-page .public-buy-link{background:#edf7ff;color:#174f78;min-height:44px;width:100%;line-height:1.4}
:root[data-color-mode="dark"] .public-list-page .public-buy-link{background:#253e55;color:#f0f7ff}
.public-list-page .public-buy-link:disabled{opacity:1;cursor:wait}
.public-list-page .public-buy-link:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* A bulb opens the existing ideas renderer, independently of the person's wishes. */
#wishesSection.suggestions-view #wishesList{display:none}
.suggestion-load-state{padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink)}
.suggestion-load-state p{margin:0 0 12px;line-height:1.5}
.suggestion-load-state button{min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--accent2);color:var(--ink);font:inherit;cursor:pointer}
