.is-suniva-floating-draggable {
    /* ボタンの通常タップを優先し、拡大ダブルタップだけ抑える。 */
    touch-action: manipulation !important;
    user-select: none !important;
    cursor: grab !important;
}

.has-suniva-floating-position {
    z-index: 15050 !important;
    will-change: left, top !important;
}

.is-suniva-floating-dragging {
    z-index: 15100 !important;
    cursor: grabbing !important;
    transform: scale(1.035) !important;
    filter: brightness(1.06) !important;
    transition: none !important;
}

.suniva-floating-align-menu {
    position: fixed;
    inset: 0;
    z-index: 25000;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 18px;
    background: rgba(8, 30, 40, .38);
    backdrop-filter: blur(5px);
}

.suniva-floating-align-menu__panel {
    width: min(460px, 100%);
    padding: 20px;
    border: 1px solid rgba(210, 165, 63, .52);
    border-radius: 24px;
    color: #123746;
    background: rgba(255, 253, 247, .98);
    box-shadow: 0 22px 60px rgba(7, 33, 43, .24);
}

.suniva-floating-align-menu__panel > strong {
    display: block;
    font-size: 20px;
    text-align: center;
}

.suniva-floating-align-menu__panel > p {
    margin: 5px 0 16px;
    color: #65777e;
    font-size: 13px;
    text-align: center;
}

.suniva-floating-align-menu__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.suniva-floating-align-menu__grid button {
    min-height: 48px;
    padding: 10px 8px;
    border: 1px solid rgba(210, 165, 63, .42);
    border-radius: 15px;
    color: #123746;
    background: #fffaf0;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

.suniva-floating-align-menu__grid button:focus-visible {
    outline: 3px solid rgba(26, 143, 112, .35);
    outline-offset: 2px;
}

@media (min-width: 768px) {
    .suniva-floating-align-menu {
        align-items: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .is-suniva-floating-draggable {
        transition: none !important;
    }
}
