/* Slightly wider than default .tool-widget (760px) for long hashtags, but compact. */.hashtag-widget{width:100%;max-width:920px;margin-left:auto;margin-right:auto;padding:28px;box-sizing:border-box;display:flex;flex-direction:column;gap:20px}/* --- Form (top bar, invitation-text style) --- */.hashtag-form{margin:0}.hashtag-form-top{display:flex;flex-direction:column;gap:14px;padding:18px 20px;background:var(--bg-section-warm);border:1px solid var(--border-light);border-radius:14px}.hashtag-couples{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hashtag-person-card{display:flex;flex-direction:column;gap:10px;padding:16px 18px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:12px}.hashtag-person-title{font-size:0.78rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--primary);font-family:'Rubik',sans-serif;margin:0 0 2px}.hashtag-field{display:flex;flex-direction:column;gap:4px}.hashtag-label{font-size:0.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.06em}.hashtag-field input{padding:10px 14px;border:1px solid var(--border-medium);border-radius:10px;font-size:0.95rem;font-family:Inter,sans-serif;color:var(--text-heading);background:var(--bg-card);transition:border-color 0.2s,box-shadow 0.2s;width:100%}.hashtag-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.hashtag-field input::placeholder{color:#b0b0c0}.hashtag-wedding-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hashtag-form-actions{display:flex;justify-content:center;padding-top:4px}.hashtag-submit{padding:12px 28px;font-size:0.97rem}.hashtag-error{font-size:0.87rem;color:#d0402a;background:rgba(208, 64, 42, 0.07);border:1px solid rgba(208, 64, 42, 0.18);border-radius:8px;padding:8px 14px;margin:0}.hashtag-error[hidden]{display:none}/* --- Results (full width below form) --- */.hashtag-pane--results{min-height:200px}.hashtag-empty{text-align:center;padding:40px 24px;background:var(--bg-section-warm);border:1.5px dashed var(--border-medium);border-radius:16px}.hashtag-empty-icon{font-size:2.8rem;font-weight:900;font-family:'Rubik',sans-serif;background:linear-gradient(135deg, var(--gradient-start), var(--gradient-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:10px}.hashtag-empty-title{font-size:1.05rem;font-weight:600;color:var(--text-heading);margin-bottom:6px}.hashtag-empty-body{font-size:0.9rem;color:var(--text-muted)}.hashtag-results[hidden]{display:none}.hashtag-results-title{font-size:1rem;font-weight:700;font-family:'Rubik',sans-serif;color:var(--text-heading);margin-bottom:14px;text-align:center}.hashtag-list{list-style:none;display:flex;flex-direction:column;align-items:center;gap:10px;max-width:100%;width:100%}.hashtag-row-item{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:auto;max-width:calc(100% - 16px);padding:12px 18px;min-width:0;background:var(--bg-card);border:1px solid var(--border-light);border-radius:12px;opacity:0;transform:translateY(8px);transition:opacity 0.22s ease,transform 0.22s ease,border-color 0.2s}.hashtag-row-item--in{opacity:1;transform:translateY(0)}.hashtag-row-item:hover{border-color:var(--border-medium)}.hashtag-text{font-family:'Rubik',sans-serif;font-size:1.05rem;font-weight:600;color:var(--primary);flex:0 1 auto;min-width:0;max-width:min(480px, calc(100vw - 140px));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.hashtag-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.hashtag-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1.5px solid var(--border-medium);border-radius:50%;background:transparent;color:var(--text-body);cursor:pointer;text-decoration:none;transition:background 0.18s,border-color 0.18s,color 0.18s;flex-shrink:0}.hashtag-icon-btn:hover{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.hashtag-copy-btn--copied{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.hashtag-x-btn:hover{background:#f0f0f8;border-color:#1a1a2e;color:#1a1a2e}.hashtag-icon--check[hidden]{display:none}/* Tooltips (hover + brief “Copied!” after click) */.hashtag-icon-btn[data-tooltip]{position:relative}.hashtag-icon-btn[data-tooltip]::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);padding:5px 10px;font-size:0.75rem;font-weight:600;font-family:Inter,sans-serif;line-height:1.2;white-space:nowrap;color:#fff;background:var(--text-heading);border-radius:6px;pointer-events:none;opacity:0;visibility:hidden;transition:opacity 0.15s ease,visibility 0.15s ease;z-index:10}.hashtag-icon-btn[data-tooltip]::before{content:'';position:absolute;bottom:calc(100% + 2px);left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--text-heading);pointer-events:none;opacity:0;visibility:hidden;transition:opacity 0.15s ease,visibility 0.15s ease;z-index:10}.hashtag-icon-btn[data-tooltip]:hover::after,.hashtag-icon-btn[data-tooltip]:hover::before,.hashtag-icon-btn[data-tooltip]:focus-visible::after,.hashtag-icon-btn[data-tooltip]:focus-visible::before,.hashtag-icon-btn.hashtag-tooltip--show::after,.hashtag-icon-btn.hashtag-tooltip--show::before{opacity:1;visibility:visible}/* --- Responsive --- */@media (max-width: 640px){.hashtag-widget{padding:16px}.hashtag-form-top{padding:14px}.hashtag-couples,.hashtag-wedding-row{grid-template-columns:1fr}}