/* AFCMall v1.2.6 — Premium Contact Submit Button */
.afc-contact-submit {
    --contact-btn-primary: #d7b452;
    --contact-btn-secondary: #8f6a16;
    --contact-btn-text: #ffffff;
    --contact-btn-font-size: 15px;
    --contact-btn-radius: 999px;
    position: relative;
    isolation: isolate;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 50px;
    padding: 13px 24px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--contact-btn-primary) 72%, #ffffff 28%);
    border-radius: var(--contact-btn-radius);
    color: var(--contact-btn-text);
    font: 800 var(--contact-btn-font-size)/1.15 var(--site-font-family, Inter, system-ui, sans-serif);
    letter-spacing: .025em;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transform: translateZ(0);
    transition: transform .28s ease, box-shadow .28s ease, filter .28s ease, border-color .28s ease;
}

.afc-contact-submit::before,
.afc-contact-submit::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.afc-contact-submit::before {
    z-index: -2;
    background: linear-gradient(120deg, var(--contact-btn-secondary), var(--contact-btn-primary) 48%, var(--contact-btn-secondary));
    background-size: 220% 220%;
}

.afc-contact-submit::after {
    z-index: -1;
    inset: 1px;
    border-radius: calc(var(--contact-btn-radius) - 1px);
    background: linear-gradient(180deg, rgba(255,255,255,.20), transparent 44%, rgba(0,0,0,.12));
}

.afc-contact-submit__label,
.afc-contact-submit__icon {
    position: relative;
    z-index: 2;
}

.afc-contact-submit__icon {
    display: inline-grid;
    place-items: center;
    min-width: 28px;
    min-height: 28px;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 999px;
    background: rgba(255,255,255,.14);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.24);
    transition: transform .28s ease, background .28s ease;
}

.afc-contact-submit__shine {
    position: absolute;
    z-index: 1;
    top: -55%;
    left: -36%;
    width: 25%;
    height: 210%;
    opacity: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), transparent);
    transform: rotate(18deg);
    pointer-events: none;
}

.afc-contact-submit:hover {
    transform: translateY(-3px);
    filter: saturate(1.08) brightness(1.03);
    box-shadow: 0 18px 36px color-mix(in srgb, var(--contact-btn-secondary) 32%, transparent),
                0 6px 14px rgba(8,17,31,.16),
                inset 0 1px 0 rgba(255,255,255,.35);
}

.afc-contact-submit:hover .afc-contact-submit__icon {
    transform: translateX(4px) rotate(-4deg);
    background: rgba(255,255,255,.22);
}

.afc-contact-submit:active {
    transform: translateY(-1px) scale(.985);
}

.afc-contact-submit:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--contact-btn-primary) 44%, #ffffff 56%);
    outline-offset: 4px;
}

/* A. Minimal Luxury */
.afc-contact-style-minimal-luxury {
    color: var(--contact-btn-secondary);
    border-color: color-mix(in srgb, var(--contact-btn-primary) 52%, #dfe5ec 48%);
    background: rgba(255,255,255,.96);
    box-shadow: 0 12px 26px rgba(8,17,31,.10), inset 0 1px 0 rgba(255,255,255,.9);
}
.afc-contact-style-minimal-luxury::before { background: linear-gradient(135deg, #ffffff, color-mix(in srgb, var(--contact-btn-primary) 10%, #ffffff)); }
.afc-contact-style-minimal-luxury::after { background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--contact-btn-primary) 9%, transparent), transparent); }
.afc-contact-style-minimal-luxury .afc-contact-submit__icon { border-color: color-mix(in srgb, var(--contact-btn-primary) 38%, transparent); background: color-mix(in srgb, var(--contact-btn-primary) 12%, #ffffff); }

/* B. Gold Gradient — default */
.afc-contact-style-gold-gradient {
    box-shadow: 0 14px 30px color-mix(in srgb, var(--contact-btn-secondary) 26%, transparent),
                inset 0 1px 0 rgba(255,255,255,.34);
}

/* C. Glass Glow */
.afc-contact-style-glass-glow {
    border-color: color-mix(in srgb, var(--contact-btn-primary) 48%, rgba(255,255,255,.72));
    background: color-mix(in srgb, var(--contact-btn-secondary) 70%, transparent);
    backdrop-filter: blur(16px) saturate(1.25);
    -webkit-backdrop-filter: blur(16px) saturate(1.25);
    box-shadow: 0 16px 38px color-mix(in srgb, var(--contact-btn-primary) 24%, transparent),
                inset 0 1px 0 rgba(255,255,255,.34),
                inset 0 -1px 0 rgba(255,255,255,.08);
}
.afc-contact-style-glass-glow::before { opacity: .86; background: linear-gradient(120deg, color-mix(in srgb, var(--contact-btn-secondary) 70%, transparent), color-mix(in srgb, var(--contact-btn-primary) 72%, transparent), color-mix(in srgb, var(--contact-btn-secondary) 70%, transparent)); }

/* D. Custom Premium */
.afc-contact-style-custom-premium {
    border-width: 1px;
    box-shadow: 0 16px 34px color-mix(in srgb, var(--contact-btn-secondary) 25%, transparent), inset 0 1px 0 rgba(255,255,255,.3);
}

/* Size presets A/B/C/D */
.afc-contact-size-compact { min-height: 42px; padding: 9px 17px; gap: 9px; }
.afc-contact-size-compact .afc-contact-submit__icon { min-width: 24px; min-height: 24px; }
.afc-contact-size-standard { min-height: 50px; padding: 13px 24px; }
.afc-contact-size-large { min-height: 58px; padding: 16px 31px; gap: 14px; }
.afc-contact-size-large .afc-contact-submit__icon { min-width: 32px; min-height: 32px; }
.afc-contact-size-full { width: 100%; min-height: 54px; padding: 14px 26px; }

/* Animation choices A/B/C/D */
.afc-contact-animation-none::before { animation: none; }
.afc-contact-animation-none .afc-contact-submit__shine { display: none; }
.afc-contact-animation-shine:hover .afc-contact-submit__shine { opacity: 1; animation: afcContactShine .85s ease forwards; }
.afc-contact-animation-moving-gradient::before { animation: afcContactGradient 4.8s ease infinite; }
.afc-contact-animation-soft-pulse { animation: afcContactPulse 2.8s ease-in-out infinite; }

@keyframes afcContactShine {
    from { left: -36%; }
    to { left: 122%; }
}
@keyframes afcContactGradient {
    0%,100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}
@keyframes afcContactPulse {
    0%,100% { box-shadow: 0 14px 30px color-mix(in srgb, var(--contact-btn-secondary) 22%, transparent), inset 0 1px 0 rgba(255,255,255,.32); }
    50% { box-shadow: 0 18px 40px color-mix(in srgb, var(--contact-btn-primary) 36%, transparent), inset 0 1px 0 rgba(255,255,255,.38); }
}

@media (prefers-reduced-motion: reduce) {
    .afc-contact-submit,
    .afc-contact-submit::before,
    .afc-contact-submit__shine,
    .afc-contact-submit__icon {
        animation: none !important;
        transition-duration: .01ms !important;
    }
}

@media (max-width: 640px) {
    .afc-contact-submit:not(.afc-contact-size-compact) { width: 100%; }
}
