/* Dedicated wrapper, not the image node: existing avatar renderers replace image children. */
.birthday-avatar-shell { position:relative; display:inline-flex; isolation:isolate; }
.birthday-hat-overlay { position:absolute; inset-block-start:-.8em; inset-inline-end:-.4em; font-size:1.1em; pointer-events:none; z-index:2; }
.birthday-editor { display:grid; gap:.75rem; border:1px solid currentColor; border-radius:1rem; padding:1rem; }
.birthday-editor label { display:block; }
.birthday-editor select { font:inherit; min-height:44px; max-width:100%; }
.birthday-editor button { min-height:44px; }
.birthday-fridge,.birthday-achievement { border-radius:1rem; padding:1rem; background:#fff6dc; color:#30281b; }
/* Fieldsets default to min-content sizing; contain optional editor on narrow phones. */
.birthday-editor { min-inline-size:0; box-sizing:border-box; max-width:100%; margin-inline:0; }
.birthday-editor > * { min-width:0; }
.birthday-editor input:not([type=checkbox]),.birthday-editor select { box-sizing:border-box; max-width:100%; }
[data-birthday-editor-form] { display:grid; gap:12px; min-width:0; }
[data-birthday-editor-form] button,[data-birthday-gift] button { min-height:44px; padding:10px 14px; border:1px solid #8e729f; border-radius:14px; background:#fffaf2; color:#573767; font:inherit; cursor:pointer; }
[data-birthday-editor-form] button[type=submit],[data-birthday-gift] button { background:#714584; color:#fff; }
[data-birthday-gift] { display:grid; gap:12px; min-width:0; margin-block:16px; }
[data-birthday-gift] select { min-height:44px; box-sizing:border-box; max-width:100%; font:inherit; padding:8px; border:1px solid #8e729f; border-radius:12px; background:#fffaf2; color:#30281b; }
[data-birthday-gift] h3,[data-birthday-gift] p { margin:0; }
[data-birthday-editor-form] button:disabled,[data-birthday-gift] button:disabled { opacity:.6; cursor:default; }
