/* ==========================================================================
   Drink cards shared by the bartender page, the floating chat widget and
   share links (/d/<slug>):

   1. Creation card   a drink the bartender invented (ai-recipe-card.js)
   2. Share sheet     drink-share.js
   3. Toasts          action links inside showAlert-style toasts
   4. Share page      /d/<slug>

   Tints: --tint (glow) and --tint-deep come from the drink's color
   (DrinkUI.applyTint); the brand violet is the fallback.
   ========================================================================== */

/* 1. Creation card ------------------------------------------------------- */
.creation-card {
    --tint: #b197fc;
    --tint-deep: #2a1857;
    position: relative;
    width: 100%;
    max-width: 440px;
    margin-top: 0.75rem;
    background: var(--surface-1);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-1);
    color: var(--text);
}

.creation-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: linear-gradient(160deg, var(--tint-deep), #0b0b0f 85%);
    background:
        radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--tint) 45%, transparent) 0%, transparent 62%),
        linear-gradient(160deg, var(--tint-deep), #0b0b0f 85%);
}

.creation-art {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08), 0 20px 60px rgba(0, 0, 0, 0.35);
}
.creation-art i {
    font-size: 2.6rem;
    color: var(--tint);
    filter: drop-shadow(0 6px 18px rgba(0, 0, 0, 0.4));
}
/* A few bubbles drifting up past the glass */
.creation-art::before,
.creation-art::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    background: var(--tint);
    opacity: 0;
    animation: creation-bubble 4.5s ease-in infinite;
}
.creation-art::before { width: 8px; height: 8px; left: 30%; bottom: 20%; }
.creation-art::after { width: 5px; height: 5px; right: 28%; bottom: 30%; animation-delay: 1.8s; }
@keyframes creation-bubble {
    0% { transform: translateY(0); opacity: 0; }
    20% { opacity: 0.7; }
    100% { transform: translateY(-70px); opacity: 0; }
}

.creation-card.is-loading-photo .creation-art {
    filter: blur(6px);
    transition: filter 0.5s var(--ease);
}

.creation-photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.5s var(--ease);
}
.creation-photo.is-visible { opacity: 1; }

.creation-badge,
.creation-photo-btn {
    position: absolute;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border-radius: var(--radius-pill);
    background: rgba(11, 11, 15, 0.55);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}
.creation-badge {
    top: 0.75rem;
    left: 0.75rem;
    padding: 0.3rem 0.65rem;
}
.creation-badge i { color: var(--tint); }

.creation-render-badge {
    position: absolute;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    left: 0.75rem;
    bottom: 0.75rem;
    padding: 0.3rem 0.65rem;
    border-radius: var(--radius-pill);
    background: rgba(11, 11, 15, 0.55);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}
.creation-render-badge i { color: var(--tint); }
.creation-render-badge.is-premium {
    background: linear-gradient(135deg, rgba(156, 110, 48, 0.85), rgba(88, 58, 28, 0.85));
    color: #fff;
}
.creation-render-badge.is-premium i { color: #ffe4a1; }

.creation-card:not(.has-photo) .creation-render-badge,
.creation-render-badge[hidden] {
    display: none;
}

.creation-photo-btn {
    right: 0.75rem;
    bottom: 0.75rem;
    min-height: 36px;
    padding: 0 0.85rem;
    border: 1px solid rgba(255, 255, 255, 0.18);
    cursor: pointer;
    transition: background var(--dur-1), transform var(--dur-1);
}
.creation-photo-btn:hover { background: rgba(11, 11, 15, 0.75); }
.creation-photo-btn:active { transform: scale(0.97); }
.creation-photo-btn[aria-expanded="true"] { background: var(--tint); color: #111; border-color: transparent; }

.creation-progress {
    position: absolute;
    left: 0.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    color: #fff;
    font-size: 0.8rem;
    font-weight: 600;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.creation-progress-bar {
    height: 4px;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.18);
    overflow: hidden;
}
.creation-progress-fill {
    display: block;
    height: 100%;
    width: 8%;
    border-radius: 2px;
    background: var(--tint);
    transition: width 0.6s var(--ease);
}
.creation-card.is-generating .creation-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, transparent 30%, rgba(255, 255, 255, 0.10) 50%, transparent 70%);
    background-size: 220% 100%;
    animation: creation-shimmer 1.6s linear infinite;
}
@keyframes creation-shimmer {
    from { background-position: 120% 0; }
    to { background-position: -120% 0; }
}

/* Photo style picker */
.creation-photo-panel {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var(--border);
    background: var(--surface-2);
}
.creation-panel-title {
    margin: 0 0 0.6rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-muted);
}
.creation-styles {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.4rem;
}
.creation-style {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.3rem;
    padding: 0.45rem 0.25rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface-1);
    color: var(--text);
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
    transition: border-color var(--dur-1), box-shadow var(--dur-1);
}
.creation-style[aria-checked="true"] {
    border-color: var(--tint);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--tint) 35%, transparent);
}
.creation-style-swatch {
    width: 100%;
    height: 26px;
    border-radius: 6px;
}
.creation-style--moody .creation-style-swatch { background: radial-gradient(circle at 50% 30%, #c98a3d, #2a1608 75%); }
.creation-style--bright .creation-style-swatch { background: linear-gradient(135deg, #fdfcf8, #cfe8f7); }
.creation-style--vintage .creation-style-swatch { background: linear-gradient(135deg, #e9d3a6, #9a6b3a); }
.creation-style--neon .creation-style-swatch { background: linear-gradient(135deg, #ff2fb3, #2be4ff); }

.creation-panel-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.75rem;
}
.creation-credits {
    font-size: 0.75rem;
    color: var(--text-muted);
}
.creation-panel-msg {
    margin: 0.6rem 0 0;
    font-size: 0.8rem;
    color: var(--text-muted);
}
.creation-panel-msg.is-error { color: var(--danger); }

.creation-upgrade-note {
    margin: 0.5rem 0 0;
    font-size: 0.75rem;
    color: var(--accent-text);
}
.creation-upgrade-note i { margin-right: 0.25rem; }
.creation-upgrade-link {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    color: var(--accent-text);
    text-decoration: underline;
    cursor: pointer;
}
.creation-upgrade-link:hover { color: var(--accent); }

/* Premium re-render offer after a house photo (one credit) */
.creation-credit-offer {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.6rem 1rem;
    border-bottom: 1px solid var(--border);
    font-size: 0.8rem;
    color: var(--accent-text);
}
.creation-credit-offer[hidden] { display: none; }
.creation-credit-offer .creation-btn { flex: 0 0 auto; min-height: 36px; font-size: 0.8rem; }
.creation-credit-left { color: var(--text-muted); }
.creation-credit-left.creation-credit-reason {
    flex: 1 1 100%;
    font-size: 0.72rem;
    color: var(--text-muted);
}

.creation-credit-link { color: var(--accent-text); }
.creation-credit-link:hover { color: var(--accent); }

/* Body */
.creation-body { padding: 1rem 1rem 0.5rem; }
.creation-kicker {
    margin: 0 0 0.25rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--tint);
}
.creation-title {
    margin: 0 0 0.5rem;
    font-family: var(--display-font);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--text);
}
.creation-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0 0 0.75rem;
    padding: 0;
    list-style: none;
}
.creation-tags li {
    padding: 0.2rem 0.55rem;
    border-radius: var(--radius-pill);
    background: var(--surface-2);
    border: 1px solid var(--border);
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: capitalize;
}
.creation-tags li.is-taste {
    color: var(--tint);
    border-color: color-mix(in srgb, var(--tint) 35%, transparent);
    background: color-mix(in srgb, var(--tint) 10%, transparent);
}
[data-bs-theme="light"] .creation-tags li.is-taste { color: color-mix(in srgb, var(--tint) 55%, #000); }
.creation-tags li.is-zero { color: var(--success); }

.creation-note {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    margin: 0 0 0.75rem;
    padding: 0.5rem 0.65rem;
    border-radius: var(--radius-sm);
    background: rgba(245, 184, 61, 0.12);
    color: var(--text);
    font-size: 0.8rem;
}
.creation-note i { color: var(--premium); margin-top: 0.15rem; }

/* Novelty: existing drinks this creation resembles (BA-RECIPE-NOVELTY-001) */
.creation-novelty {
    margin: 0 0 0.75rem;
    padding: 0.5rem 0.65rem;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border);
    background: var(--surface-2);
    font-size: 0.8rem;
    color: var(--text-muted);
}
.creation-novelty.is-close {
    border-color: color-mix(in srgb, var(--premium) 45%, transparent);
    background: rgba(245, 184, 61, 0.12);
    color: var(--text);
}
.creation-novelty-line {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    margin: 0;
}
.creation-novelty-line i { margin-top: 0.15rem; color: var(--text-subtle); }
.creation-novelty.is-close .creation-novelty-line i { color: var(--premium); }
.creation-novelty-link { color: var(--accent-text); font-weight: 600; }
.creation-novelty .creation-vary-toggle { margin: 0.4rem 0 0 1.5rem; }
.creation-vary-label {
    margin: 0.5rem 0 0.35rem;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-subtle);
}
.creation-vary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.4rem;
}
.creation-vary[hidden] { display: none; }
.creation-vary-chip {
    padding: 0.3rem 0.65rem;
    border-radius: var(--radius-pill);
    border: 1px solid color-mix(in srgb, var(--tint, var(--accent)) 40%, var(--border));
    background: var(--surface-2);
    color: var(--text);
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
}
.creation-vary-chip:hover,
.creation-vary-chip:focus-visible {
    background: color-mix(in srgb, var(--tint, var(--accent)) 14%, var(--surface-2));
}

.creation-desc {
    margin: 0 0 0.85rem;
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--text-muted);
}
.creation-label {
    margin: 0.9rem 0 0.45rem;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-subtle);
}
.creation-ingredients {
    margin: 0;
    padding: 0;
    list-style: none;
}
.creation-ingredients li {
    display: grid;
    grid-template-columns: minmax(4.25rem, auto) 1fr;
    gap: 0.75rem;
    padding: 0.4rem 0;
    border-bottom: 1px dashed var(--border);
    font-size: 0.9rem;
}
.creation-ingredients li:last-child { border-bottom: 0; }
.creation-amt {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: var(--tint);
    white-space: nowrap;
}
[data-bs-theme="light"] .creation-amt { color: color-mix(in srgb, var(--tint) 55%, #000); }
.creation-ing { color: var(--text); }

.creation-steps {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: step;
}
.creation-steps li {
    position: relative;
    padding: 0.2rem 0 0.55rem 2rem;
    font-size: 0.9rem;
    line-height: 1.45;
    counter-increment: step;
}
.creation-steps li::before {
    content: counter(step);
    position: absolute;
    left: 0;
    top: 0.15rem;
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 50%;
    background: var(--surface-2);
    border: 1px solid var(--border);
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.3rem;
    text-align: center;
    color: var(--text-muted);
}
.creation-more {
    margin: 0 0 0.5rem 2rem;
    padding: 0;
    border: 0;
    background: none;
    color: var(--accent-text);
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
}
.creation-garnish {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    margin: 0.5rem 0 0.5rem;
    font-size: 0.85rem;
    color: var(--text-muted);
}
.creation-garnish i { color: var(--tint); }

/* Actions */
.creation-actions {
    display: flex;
    gap: 0.5rem;
    padding: 0.75rem 1rem 1rem;
}
.creation-btn {
    flex: 1 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: var(--control-h, 44px);
    padding: 0 0.85rem;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    background: var(--surface-1);
    color: var(--text);
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: background var(--dur-1), border-color var(--dur-1), transform var(--dur-1);
}
.creation-btn:hover { background: var(--surface-2); color: var(--text); }
.creation-btn:active { transform: scale(0.98); }
.creation-btn:disabled { opacity: 0.55; cursor: default; }
.creation-btn[hidden] { display: none; }
.creation-btn--icon { flex: 0 0 var(--control-h, 44px); padding: 0; }
.creation-btn--primary {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--accent-contrast);
}
.creation-btn--primary:hover { background: var(--accent-hover); color: var(--accent-contrast); }
.creation-panel-foot .creation-btn { flex: 0 0 auto; min-height: 38px; }
.creation-panel-foot .creation-credit-btn { margin-left: auto; font-size: 0.8rem; }
.creation-save.is-on {
    border-color: color-mix(in srgb, var(--tint) 55%, transparent);
    background: color-mix(in srgb, var(--tint) 14%, transparent);
    color: var(--text);
}
.creation-save.is-on i { color: var(--tint); }

/* Compact (floating widget) */
.creation-card--compact { max-width: 100%; border-radius: var(--radius-md); }
.creation-card--compact .creation-hero { aspect-ratio: 16 / 8; }
.creation-card--compact .creation-art { width: 72px; height: 72px; }
.creation-card--compact .creation-art i { font-size: 1.9rem; }
.creation-card--compact .creation-body { padding: 0.75rem 0.85rem 0.25rem; }
.creation-card--compact .creation-title { font-size: 1.05rem; }
.creation-card--compact .creation-actions { padding: 0.6rem 0.85rem 0.85rem; gap: 0.4rem; }
.creation-card--compact .creation-btn { font-size: 0.8rem; padding: 0 0.6rem; }
.creation-card--compact .creation-styles { gap: 0.3rem; }

/* Full page (share link) */
.creation-card--page { max-width: 640px; margin: 0 auto; }
.creation-card--page .creation-hero { aspect-ratio: 4 / 3; }
.creation-card--page .creation-art { width: 128px; height: 128px; }
.creation-card--page .creation-art i { font-size: 3.4rem; }
.creation-card--page .creation-body { padding: 1.25rem 1.25rem 0.5rem; }
.creation-card--page .creation-title { font-size: clamp(1.6rem, 6vw, 2.2rem); }
.creation-card--page .creation-actions { padding: 1rem 1.25rem 1.25rem; }

/* 2. Share sheet --------------------------------------------------------- */
.share-sheet {
    --tint: #b197fc;
    position: fixed;
    inset: 0;
    z-index: 10050;            /* above the floating chat widget (10001) */
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.share-sheet-backdrop {
    position: absolute;
    inset: 0;
    background: var(--overlay);
    opacity: 0;
    transition: opacity 0.2s var(--ease);
}
.share-sheet-panel {
    position: relative;
    width: 100%;
    max-width: 480px;
    max-height: 92dvh;
    overflow-y: auto;
    padding: 0.4rem 1rem calc(1rem + env(safe-area-inset-bottom, 0px));
    background: var(--surface-raised);
    border: 1px solid var(--border);
    border-bottom: 0;
    border-radius: 22px 22px 0 0;
    box-shadow: var(--shadow-2);
    transform: translateY(100%);
    transition: transform 0.22s var(--ease);
}
.share-sheet.is-open .share-sheet-backdrop { opacity: 1; }
.share-sheet.is-open .share-sheet-panel { transform: none; }
@media (min-width: 576px) {
    .share-sheet { align-items: center; padding: 1rem; }
    .share-sheet-panel {
        border-bottom: 1px solid var(--border);
        border-radius: 22px;
        padding-bottom: 1.25rem;
        opacity: 0;
        transform: translateY(12px) scale(0.98);
        transition: transform 0.2s var(--ease), opacity 0.2s var(--ease);
    }
    .share-sheet.is-open .share-sheet-panel { opacity: 1; }
    .share-sheet-grabber { display: none; }
}
.share-sheet-grabber {
    width: 40px;
    height: 4px;
    margin: 0.35rem auto 0.75rem;
    border-radius: 2px;
    background: var(--border-strong);
}
.share-sheet-head {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-bottom: 1rem;
}
@media (min-width: 576px) { .share-sheet-head { margin-top: 0.6rem; } }
.share-sheet-thumb {
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    overflow: hidden;
    background: color-mix(in srgb, var(--tint) 18%, var(--surface-2));
    color: var(--tint);
    font-size: 1.5rem;
}
.share-sheet-thumb img { width: 100%; height: 100%; object-fit: cover; }
.share-sheet-titles { flex: 1; min-width: 0; }
.share-sheet-kicker {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-muted);
}
.share-sheet-title {
    margin: 0.1rem 0 0;
    font-family: var(--display-font);
    font-size: 1.15rem;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.share-sheet-close {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 50%;
    background: var(--surface-2);
    color: var(--text-muted);
    cursor: pointer;
}
.share-sheet-link {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1rem;
}
.share-sheet-link input {
    flex: 1;
    min-width: 0;
    min-height: 44px;
    padding: 0 0.75rem;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    background: var(--surface-1);
    color: var(--text-muted);
    font-size: 0.85rem;
}
.share-sheet-copy {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 44px;
    padding: 0 0.9rem;
    border: 0;
    border-radius: var(--radius-sm);
    background: var(--accent);
    color: var(--accent-contrast);
    font-weight: 600;
    font-size: 0.85rem;
    cursor: pointer;
}
.share-sheet-copy:disabled { opacity: 0.5; cursor: default; }
.share-sheet-targets {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem 0.25rem;
}
.share-target {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0;
    border: 0;
    background: none;
    color: var(--text);
    font-size: 0.72rem;
    font-weight: 600;
    cursor: pointer;
}
.share-target:disabled { opacity: 0.4; cursor: default; }
.share-target-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--surface-2);
    border: 1px solid var(--border);
    font-size: 1.25rem;
    transition: transform var(--dur-1);
}
.share-target:not(:disabled):active .share-target-icon { transform: scale(0.94); }
.share-target-label { white-space: nowrap; }
.share-target.is-primary .share-target-icon { background: var(--accent); border-color: var(--accent); color: var(--accent-contrast); }
.share-target.is-whatsapp .share-target-icon { color: #25d366; }
.share-target.is-facebook .share-target-icon { color: #1877f2; }
.share-target.is-story .share-target-icon {
    background: linear-gradient(135deg, #f58529, #dd2a7b 50%, #8134af);
    border-color: transparent;
    color: #fff;
}
.share-target.is-busy .share-target-icon { animation: creation-pulse 1s ease-in-out infinite; }
.share-x { font-size: 1.15rem; font-weight: 700; line-height: 1; }
@keyframes creation-pulse { 50% { opacity: 0.5; } }

/* 3. Toasts ---------------------------------------------------------------- */
.app-toasts { z-index: 10060; }   /* keep toasts above the share sheet and chat widget */
.drink-toast { display: flex; align-items: center; gap: 0.75rem; }
.drink-toast > span { flex: 1; }
.drink-toast-action {
    flex: 0 0 auto;
    padding: 0;
    border: 0;
    background: none;
    color: var(--accent-text);
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}
.drink-toast .btn-close { position: static; padding: 0.4rem; margin-right: -2rem; }

/* 4. Share page (/d/<slug>) ---------------------------------------------- */
.shared-drink-page {
    max-width: 640px;
    margin: 0 auto;
    padding-bottom: 1rem;
}
.shared-cta {
    margin-top: 1.5rem;
    padding: 1.5rem 1.25rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface-1);
    text-align: center;
}
.shared-cta-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 0.75rem;
    border-radius: 14px;
    background: var(--accent);
    color: var(--accent-contrast);
    font-size: 1.2rem;
}
.shared-cta-title {
    font-family: var(--display-font);
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 0.4rem;
}
.shared-cta-text {
    max-width: 30rem;
    margin: 0 auto 1rem;
    color: var(--text-muted);
}

@media (prefers-reduced-motion: reduce) {
    .creation-art::before,
    .creation-art::after,
    .creation-card.is-generating .creation-hero::after { animation: none; }
    .share-sheet-panel,
    .share-sheet-backdrop,
    .creation-photo { transition: none; }
}


/* BA-MOBILE-IMG-001 (BG 2026-10-04): the public creation page shows the whole
   square render — cards keep their tighter crop for density. */
.creation-card--page .creation-hero { aspect-ratio: 1 / 1; }
