.am-whatsapp {
    position: fixed;
    z-index: 96;
    right: calc(1.15rem + env(safe-area-inset-right));
    bottom: calc(1.15rem + env(safe-area-inset-bottom));
    display: grid;
    place-items: center;
    width: 3.5rem;
    height: 3.5rem;
    border: 0;
    border-radius: 50%;
    background: #25d366;
    color: #fff;
    box-shadow: 0 10px 24px rgba(16, 42, 54, 0.22);
    text-decoration: none;
    cursor: pointer;
    animation: am-wa-pulso 2.6s ease-out infinite;
}

.am-whatsapp svg {
    width: 1.85rem;
    height: 1.85rem;
    display: block;
}

.am-whatsapp:focus-visible {
    outline: 2px solid #102a36;
    outline-offset: 3px;
}

.am-whatsapp.is-preview {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
}

@keyframes am-wa-pulso {
    0% { box-shadow: 0 10px 24px rgba(16, 42, 54, 0.22), 0 0 0 0 rgba(37, 211, 102, 0.42); }
    70% { box-shadow: 0 10px 24px rgba(16, 42, 54, 0.22), 0 0 0 14px rgba(37, 211, 102, 0); }
    100% { box-shadow: 0 10px 24px rgba(16, 42, 54, 0.22), 0 0 0 0 rgba(37, 211, 102, 0); }
}

@media (max-width: 719px) {
    .am-whatsapp {
        width: 3.25rem;
        height: 3.25rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .am-whatsapp { animation: none; }
}

@media print {
    .am-whatsapp { display: none !important; }
}

.am-wa-card { display: grid; gap: 1rem; }
.am-wa-card form { display: grid; gap: 0.85rem; max-width: 36rem; }
.am-wa-card label { display: grid; gap: 0.35rem; font-size: 0.92rem; }
.am-wa-card input[type="text"],
.am-wa-card textarea {
    width: 100%;
    border: 1px solid var(--line, #d7dde3);
    border-radius: 0.7rem;
    padding: 0.65rem 0.75rem;
    font: inherit;
    color: inherit;
    background: #fff;
}
.am-wa-numero { display: flex; align-items: center; gap: 0.55rem; }
.am-wa-lada {
    flex: none;
    min-width: 3.4rem;
    text-align: center;
    border: 1px solid var(--line, #d7dde3);
    border-radius: 0.7rem;
    padding: 0.65rem 0.4rem;
    background: #f4f7f8;
    color: #5c6b7a;
    font-variant-numeric: tabular-nums;
    user-select: none;
}
.am-wa-card textarea { min-height: 6.5rem; resize: vertical; }
.am-wa-card button[type="submit"] {
    justify-self: start;
    border: 0;
    border-radius: 999px;
    background: #102a36;
    color: #f7f4ee;
    font-weight: 600;
    padding: 0.55rem 1rem;
    cursor: pointer;
}
.am-wa-check { display: flex; align-items: center; gap: 0.55rem; }
.am-wa-check input { width: 1rem; height: 1rem; }
.am-wa-nota, .am-wa-enlace { margin: 0; color: #5c6b7a; font-size: 0.82rem; word-break: break-all; }
.am-wa-error { margin: 0; color: #8a3d4b; }
.am-wa-ok { margin: 0; color: #1d6b45; }
.am-wa-preview {
    position: relative;
    height: 8rem;
    border-radius: 1rem;
    background: #102a36;
    overflow: hidden;
}
.am-wa-preview p { position: absolute; left: 1rem; top: 1rem; margin: 0; color: #f7f4ee; font-family: Fraunces, Georgia, serif; }
