/* Cardioly buttons/forms and its bundled Bootstrap modal; positioning and control sizing only. */
:root { --florescu-accent-tint: #efd9dd; }
.florescu-color-launcher {
    position: fixed;
    right: max(18px, env(safe-area-inset-right));
    bottom: calc(18px + env(safe-area-inset-bottom));
    z-index: 1040;
    padding: 16px 22px;
    min-height: 48px;
    letter-spacing: normal;
}
.florescu-color-launcher[hidden] { display: none; }
body .scroll-to-top { bottom: calc(84px + env(safe-area-inset-bottom)); }
.florescu-color-preview .modal-content { color: var(--pbmit-heading-color); }
.florescu-color-preview .modal-title { line-height: 1.4; margin: 0; }
.florescu-color-preview .btn-close { width: 44px; height: 44px; padding: 0; flex-shrink: 0; }
.florescu-color-preview .modal-body { font-size: 15px; }
.florescu-color-preview .modal-body > p:first-child { margin-bottom: 20px; }
.florescu-color-preview [data-preview-color] {
    background: var(--preview-swatch);
    padding: 16px 10px;
    min-height: 48px;
    line-height: 1.5;
    white-space: normal;
}
.florescu-color-preview [aria-pressed="true"] { outline: 2px solid var(--pbmit-blackish-color); outline-offset: 2px; }
.florescu-color-preview .form-control {
    height: 48px;
    color: var(--pbmit-heading-color);
    border: 1px solid #ddd;
    background: var(--pbmit-white-color);
}
.florescu-color-preview input[type="color"] { padding: 6px; cursor: pointer; }
.florescu-color-preview .form-label { margin-bottom: 5px; }
.florescu-color-preview .modal-footer .pbmit-btn { padding: 16px; min-height: 48px; line-height: 1.4; }
.florescu-color-preview .modal-footer { gap: 8px; }
.florescu-color-preview .modal-footer > * { margin: 0; }
.florescu-color-preview .pbmit-btn { letter-spacing: normal; }
.florescu-color-preview .pbmit-btn-outline:hover,
.florescu-color-preview .pbmit-btn-outline:focus { color: var(--pbmit-white-color); }
.florescu-color-preview [hidden] { display: none; }
.florescu-color-preview #florescu-color-error { color: var(--pbmit-heading-color); font-weight: 700; }
.florescu-color-preview button:focus-visible,
.florescu-color-preview input:focus-visible,
.florescu-color-launcher:focus-visible { outline: 2px solid var(--pbmit-blackish-color) !important; outline-offset: 3px; }
@media (max-width: 575px) {
    .florescu-color-preview .modal-dialog { margin: 12px; }
    .florescu-color-preview .modal-header,
    .florescu-color-preview .modal-body,
    .florescu-color-preview .modal-footer { padding: 16px; }
    .florescu-color-preview .modal-footer .pbmit-btn { flex: 1 1 auto; }
}
