/* AFCMall v1.3.14 — Global Premium Frontend Buttons */

:root {
    --afc-btn-navy-1: #0b2948;
    --afc-btn-navy-2: #174f7c;
    --afc-btn-gold-1: #8e6710;
    --afc-btn-gold-2: #d9b951;
    --afc-btn-gold-3: #9b7214;
    --afc-btn-wa-1: color-mix(in srgb, var(--header-whatsapp-bg, #17a96b) 86%, #073f2a);
    --afc-btn-wa-2: color-mix(in srgb, var(--header-whatsapp-bg, #17a96b) 82%, #73efb5);
    --afc-btn-member: var(--header-member-bg, #c9a227);
}

a.btn,
.afc-btn-premium,
.form-box button[type="submit"]:not(.afc-contact-submit),
.pp-btn,
.promo-cta-button {
    position: relative;
    isolation: isolate;
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 11px 20px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.26);
    border-radius: 999px;
    color: #fff;
    background:
        linear-gradient(115deg, var(--afc-btn-navy-1), var(--afc-btn-navy-2) 56%, #0d3153);
    background-size: 220% 100%;
    box-shadow:
        0 13px 30px rgba(8,35,64,.20),
        inset 0 1px 0 rgba(255,255,255,.27),
        inset 0 -1px 0 rgba(0,0,0,.10);
    font-family: var(--site-font-family, Inter, system-ui, sans-serif);
    font-size: max(12px, .92em);
    font-weight: 820;
    line-height: 1.15;
    letter-spacing: .015em;
    text-align: center;
    text-decoration: none;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    transform: translateZ(0);
    transition:
        transform .24s ease,
        box-shadow .24s ease,
        filter .24s ease,
        background-position .55s ease,
        border-color .24s ease,
        color .24s ease;
}

a.btn::before,
.form-box button[type="submit"]:not(.afc-contact-submit)::before,
.pp-btn::before,
.promo-cta-button::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 1px;
    border-radius: inherit;
    background:
        linear-gradient(180deg, rgba(255,255,255,.17), transparent 46%, rgba(0,0,0,.10));
    pointer-events: none;
}

a.btn::after,
.form-box button[type="submit"]:not(.afc-contact-submit)::after,
.pp-btn::after,
.promo-cta-button::after {
    content: "";
    position: absolute;
    z-index: 2;
    top: -70%;
    left: -42%;
    width: 24%;
    height: 240%;
    opacity: 0;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.72),
        transparent
    );
    transform: rotate(18deg);
    pointer-events: none;
}

a.btn:hover,
.form-box button[type="submit"]:not(.afc-contact-submit):hover,
.pp-btn:hover,
.promo-cta-button:hover {
    color: #fff;
    filter: saturate(1.06) brightness(1.04);
    background-position: 100% 0;
    border-color: rgba(255,255,255,.40);
    box-shadow:
        0 19px 40px rgba(8,35,64,.27),
        0 5px 12px rgba(6,20,38,.10),
        inset 0 1px 0 rgba(255,255,255,.34);
    transform: translateY(-3px);
}

a.btn:hover::after,
.form-box button[type="submit"]:not(.afc-contact-submit):hover::after,
.pp-btn:hover::after,
.promo-cta-button:hover::after {
    opacity: 1;
    animation: afcPremiumButtonShine .82s ease forwards;
}

a.btn:active,
.form-box button[type="submit"]:not(.afc-contact-submit):active,
.pp-btn:active,
.promo-cta-button:active {
    transform: translateY(-1px) scale(.985);
}

a.btn:focus-visible,
.form-box button[type="submit"]:not(.afc-contact-submit):focus-visible,
.pp-btn:focus-visible,
.promo-cta-button:focus-visible {
    outline: 3px solid rgba(210,173,69,.44);
    outline-offset: 4px;
}

/* Gold */
a.btn.gold,
.btn.gold,
.afc-home-submit,
.pp-btn-primary,
.promo-cta-button {
    color: #fff;
    border-color: color-mix(in srgb, var(--afc-btn-gold-2) 62%, #fff);
    background:
        linear-gradient(
            110deg,
            var(--afc-btn-gold-1),
            var(--afc-btn-gold-2) 43%,
            #f0d77c 55%,
            var(--afc-btn-gold-3) 88%
        );
    background-size: 240% 100%;
    box-shadow:
        0 15px 34px rgba(139,100,13,.25),
        inset 0 1px 0 rgba(255,255,255,.40);
}

/* WhatsApp */
a.btn.wa,
.btn.wa,
.afc-btn-whatsapp {
    color: #fff;
    border-color: rgba(255,255,255,.30);
    background:
        linear-gradient(
            115deg,
            color-mix(in srgb, var(--afc-btn-wa-1) 92%, #032c1d),
            var(--afc-btn-wa-2) 52%,
            color-mix(in srgb, var(--afc-btn-wa-1) 84%, #0d6f49)
        );
    background-size: 230% 100%;
    box-shadow:
        0 15px 34px color-mix(in srgb, var(--header-whatsapp-bg, #17a96b) 28%, transparent),
        inset 0 1px 0 rgba(255,255,255,.35);
}

/* Premium outline/member */
a.btn.outline,
.btn.outline,
.afc-btn-member,
.pp-btn-secondary {
    color: #17324f;
    border-color: color-mix(in srgb, var(--afc-btn-member) 48%, #dfe5eb);
    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.98),
            color-mix(in srgb, var(--afc-btn-member) 12%, #fff) 58%,
            rgba(255,255,255,.96)
        );
    background-size: 210% 100%;
    box-shadow:
        0 12px 28px rgba(8,31,57,.10),
        inset 0 1px 0 rgba(255,255,255,.96);
}

a.btn.outline:hover,
.btn.outline:hover,
.afc-btn-member:hover,
.pp-btn-secondary:hover {
    color: #0f2944;
    border-color: color-mix(in srgb, var(--afc-btn-member) 76%, #fff);
    box-shadow:
        0 18px 38px rgba(8,31,57,.15),
        0 0 0 4px color-mix(in srgb, var(--afc-btn-member) 12%, transparent),
        inset 0 1px 0 #fff;
}

/* Existing plain and light buttons */
a.btn.light,
.btn.light {
    color: #15314d;
    border-color: rgba(12,45,76,.12);
    background: linear-gradient(145deg, #fff, #f1f4f7);
    box-shadow: 0 10px 24px rgba(8,31,57,.09);
}

a.btn.small,
.btn.small {
    min-height: 38px;
    padding: 8px 15px;
    font-size: 12px;
}

/* Markup enhancements */
.afc-btn-shine {
    position: absolute;
    z-index: 2;
    top: -65%;
    left: -38%;
    width: 25%;
    height: 230%;
    opacity: 0;
    background:
        linear-gradient(90deg, transparent, rgba(255,255,255,.76), transparent);
    transform: rotate(18deg);
    pointer-events: none;
}

.afc-btn-premium:hover .afc-btn-shine {
    opacity: 1;
    animation: afcPremiumButtonShine .82s ease forwards;
}

.afc-btn-icon {
    position: relative;
    z-index: 3;
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border: 1px solid rgba(255,255,255,.30);
    border-radius: 50%;
    background: rgba(255,255,255,.13);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.20);
    transition: transform .24s ease, background .24s ease;
}

.afc-btn-member .afc-btn-icon {
    color: #8d6910;
    border-color: color-mix(in srgb, var(--afc-btn-member) 38%, transparent);
    background: color-mix(in srgb, var(--afc-btn-member) 14%, #fff);
}

.afc-btn-premium:hover .afc-btn-icon {
    background: rgba(255,255,255,.22);
    transform: translateX(2px) rotate(-3deg);
}

.afc-btn-icon-whatsapp::before {
    content: "";
    width: 15px;
    height: 15px;
    background: currentColor;
    clip-path: polygon(
        50% 4%, 65% 7%, 79% 16%, 89% 29%, 94% 45%,
        92% 61%, 85% 75%, 73% 86%, 58% 93%, 42% 94%,
        29% 90%, 14% 96%, 18% 81%, 8% 68%, 4% 52%,
        6% 37%, 13% 23%, 24% 12%, 37% 6%
    );
}

.afc-btn-icon-member::before {
    content: "";
    width: 15px;
    height: 15px;
    background: currentColor;
    clip-path: polygon(
        36% 4%, 64% 4%, 78% 17%, 78% 38%, 65% 52%,
        79% 57%, 91% 68%, 96% 96%, 4% 96%, 9% 68%,
        21% 57%, 35% 52%, 22% 38%, 22% 17%
    );
}

.afc-btn-icon-message::before {
    content: "";
    width: 15px;
    height: 13px;
    border: 2px solid currentColor;
    border-radius: 4px;
    clip-path: polygon(0 0,100% 0,100% 78%,65% 78%,50% 100%,46% 78%,0 78%);
}

.afc-btn-arrow {
    position: relative;
    z-index: 3;
    display: inline-grid;
    place-items: center;
    min-width: 24px;
    height: 24px;
    font-size: 18px;
    transition: transform .24s ease;
}

.afc-btn-premium:hover .afc-btn-arrow {
    transform: translateX(4px);
}

/* Header actions */
.afc-nav-premium-actions {
    gap: 9px;
}

.afc-nav-premium-actions .btn {
    min-height: 44px;
    padding: 9px 16px;
    white-space: nowrap;
}

.afc-nav-premium-actions .afc-btn-icon {
    width: 25px;
    height: 25px;
    flex-basis: 25px;
}

/* Homepage form */
.afc-home-contact-form {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(17,49,80,.10);
    background:
        radial-gradient(circle at 92% 8%, rgba(210,173,69,.13), transparent 28%),
        linear-gradient(145deg, #fff, #f8f9fb);
    box-shadow:
        0 24px 65px rgba(8,31,57,.10),
        inset 0 1px 0 #fff;
}

.afc-home-submit {
    width: 100%;
    min-height: 54px !important;
    margin-top: 2px;
}

/* Do not alter functional navigation/control buttons. */
.mobile-toggle,
.afc-promo-popup__close,
.afc-promo-popup__arrow,
.afc-promo-popup__dot,
.afc-promo-popup__later,
[data-card-prev],
[data-card-next],
.afc-admin-sidebar button {
    isolation: auto;
}

/* Disabled frontend buttons */
a.btn[aria-disabled="true"],
button:disabled:not(.afc-promo-popup__arrow):not([data-card-prev]):not([data-card-next]) {
    opacity: .48;
    cursor: not-allowed;
    pointer-events: none;
    filter: grayscale(.30);
    box-shadow: none;
}

@keyframes afcPremiumButtonShine {
    from { left: -42%; }
    to { left: 126%; }
}

@media (max-width: 980px) {
    .afc-mobile-menu-panel .afc-nav-premium-actions .btn {
        width: 100%;
        min-height: 48px;
    }
}

@media (max-width: 640px) {
    .hero-actions .btn,
    .cta .hero-actions .btn,
    .section-head .btn {
        min-height: 48px;
    }

    .hero-actions {
        align-items: stretch;
    }

    .hero-actions .btn {
        flex: 1 1 100%;
        width: 100%;
    }

    .section-head {
        gap: 14px;
    }

    .section-head .btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    a.btn,
    .afc-btn-premium,
    .form-box button[type="submit"]:not(.afc-contact-submit),
    .pp-btn,
    .promo-cta-button,
    .afc-btn-shine,
    .afc-btn-icon,
    .afc-btn-arrow {
        animation: none !important;
        transition-duration: .01ms !important;
    }
}
