.btn-instagram-story {
    background-color: #f94d00 !important;
    color: #fff !important;
}
.btn-instagram-story:hover { background-color: #d94100 !important; }
.btn-instagram-story:focus-visible,
.instagram-story-modal :is(button, a):focus-visible {
    outline: 3px solid #f94d00;
    outline-offset: 3px;
    box-shadow: 0 0 0 5px rgba(249, 77, 0, .2);
}
.instagram-story-modal .modal-content {
    color: var(--bs-body-color);
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: 1rem;
    overflow: hidden;
}
.instagram-story-modal .modal-header { border-bottom-color: var(--bs-border-color); }
[data-bs-theme="dark"] .instagram-story-modal .btn-close { filter: invert(1) grayscale(1); }
.instagram-share-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}
.instagram-share-card {
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .875rem;
    background: var(--bs-secondary-bg);
}
.instagram-share-card h3 {
    margin: 0 0 .875rem;
    color: var(--bs-body-color);
    font-size: 1rem;
    font-weight: 650;
}
.instagram-story-preview {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 1rem;
    padding: .65rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .75rem;
    background: var(--bs-tertiary-bg);
    overflow: hidden;
}
.instagram-story-canvas {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: min(58vh, 640px);
    object-fit: contain;
    border-radius: .3rem;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .22);
}
.instagram-share-card > .btn { width: 100%; min-height: 44px; }
.instagram-share-card > .btn:disabled { opacity: .55; cursor: wait; }
.instagram-story-status {
    margin: .85rem 0 0;
    color: var(--bs-danger-text-emphasis, #b02a37);
    font-size: .9rem;
}
.instagram-story-status[hidden] { display: none; }
@media (max-width: 767.98px) {
    .instagram-share-grid { grid-template-columns: minmax(0, 1fr); gap: .875rem; }
    .instagram-share-card { padding: .75rem; }
    .instagram-story-modal .modal-dialog { margin: .5rem; }
    .instagram-story-modal .modal-body { padding: .75rem; }
    .instagram-story-canvas { max-height: 54vh; }
}
@media (prefers-reduced-motion: reduce) { .btn-instagram-story { transition: none; } }
