/* Overlay d'enviament — gest de tancament (formulari inscripció i altres) */
.es-gest-sending {
    position: fixed;
    inset: 0;
    z-index: 100200;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 28px 20px;
    text-align: center;
    background: radial-gradient(ellipse 80% 70% at 50% 42%, #3A594B 0%, #1F3329 58%, #0E1613 100%);
}
.es-gest-sending.is-on {
    display: flex;
    animation: esGestSendIn .45s cubic-bezier(.2, .7, .2, 1);
}
.es-gest-sending__glow {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 50% 38%, rgba(218, 80, 38, .22) 0%, transparent 42%),
        radial-gradient(circle at 72% 70%, rgba(212, 169, 61, .12) 0%, transparent 40%);
}
.es-gest-sending__inner {
    position: relative;
    z-index: 1;
    max-width: 28rem;
}
.es-gest-sending__orb {
    position: relative;
    width: 220px;
    height: 220px;
    margin: 0 auto 28px;
}
.es-gest-sending__seed {
    position: absolute;
    inset: -18px;
    width: calc(100% + 36px);
    height: calc(100% + 36px);
    opacity: .28;
    animation: esGestSeed 48s linear infinite;
}
.es-gest-sending__ring {
    position: absolute;
    inset: 18px;
    border-radius: 50%;
    border: 1.5px solid rgba(229, 221, 209, .18);
    border-top-color: #DA5026;
    animation: esGestSpin 1.8s cubic-bezier(.45, .05, .55, .95) infinite;
}
.es-gest-sending__ring--2 {
    inset: 2px;
    border-top-color: #D4A93D;
    border-right-color: rgba(212, 169, 61, .25);
    animation-duration: 3.2s;
    animation-direction: reverse;
    opacity: .7;
}
.es-gest-sending__heart {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 72px;
    height: 72px;
    margin: -36px 0 0 -36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 2rem;
    line-height: 1;
    color: #fff;
    background: linear-gradient(135deg, #DA5026 0%, #FF6B3B 100%);
    box-shadow: 0 0 0 10px rgba(218, 80, 38, .16), 0 12px 36px rgba(218, 80, 38, .45);
    animation: esGestHeart 1.6s ease-in-out infinite;
}
.es-gest-sending__eyebrow {
    margin: 0 0 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: rgba(229, 221, 209, .62);
    font-family: Montserrat, sans-serif;
}
.es-gest-sending__title {
    margin: 0 0 12px;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(2rem, 5vw, 2.7rem);
    font-weight: 600;
    line-height: 1.08;
    color: #fff;
    letter-spacing: -.4px;
}
.es-gest-sending__title em {
    color: #D4A93D;
    font-style: italic;
    font-weight: 500;
}
.es-gest-sending__line {
    margin: 0;
    min-height: 1.6em;
    font-size: 16px;
    color: rgba(229, 221, 209, .88);
    font-family: Montserrat, sans-serif;
    animation: esGestLine .55s ease;
}
@keyframes esGestSendIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes esGestSeed { to { transform: rotate(360deg); } }
@keyframes esGestSpin { to { transform: rotate(360deg); } }
@keyframes esGestHeart {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0 10px rgba(218, 80, 38, .16), 0 12px 36px rgba(218, 80, 38, .45); }
    50% { transform: scale(1.07); box-shadow: 0 0 0 18px rgba(218, 80, 38, .1), 0 16px 44px rgba(218, 80, 38, .55); }
}
@keyframes esGestLine { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
    .es-gest-sending.is-on { animation: none; }
    .es-gest-sending__seed,
    .es-gest-sending__ring,
    .es-gest-sending__heart,
    .es-gest-sending__line { animation: none; }
}
