/* =========================================================
   KAFF COMPONENT LIBRARY — v2.2
========================================================= */

.kaff-kicker{
    display:inline-flex;
    align-items:center;
    gap:.65rem;
    margin-bottom:1rem;
    color:var(--gold);
    font-size:.75rem;
    font-weight:900;
    letter-spacing:.22em;
    text-transform:uppercase;
}
.kaff-kicker::before{
    content:"";
    width:34px;
    height:1px;
    background:currentColor;
}

.kaff-section-heading{
    max-width:760px;
    margin:0 auto 3rem;
    text-align:center;
}
.kaff-section-heading h2{
    margin:.2rem 0 1rem;
    font-size:clamp(2.15rem,4vw,4rem);
    line-height:1.04;
    letter-spacing:-.035em;
}
.kaff-section-heading p{
    color:var(--muted);
    font-size:clamp(1rem,1.6vw,1.12rem);
}

.kaff-glass{
    border:1px solid rgba(212,175,55,.18);
    background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
    box-shadow:0 24px 70px rgba(0,0,0,.32);
    backdrop-filter:blur(18px);
}

.btn,
.button,
.btn-gold,
.btn-outline{
    position:relative;
    overflow:hidden;
    isolation:isolate;
}
.btn::after,
.button::after,
.btn-gold::after,
.btn-outline::after{
    content:"";
    position:absolute;
    inset:-2px;
    z-index:-1;
    opacity:0;
    background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.35) 48%,transparent 75%);
    transform:translateX(-120%);
    transition:opacity .3s ease,transform .7s ease;
}
.btn:hover::after,
.button:hover::after,
.btn-gold:hover::after,
.btn-outline:hover::after{
    opacity:1;
    transform:translateX(120%);
}

.kaff-reveal{
    opacity:0;
    transform:translateY(24px);
    transition:opacity .7s ease,transform .7s ease;
}
.kaff-reveal.is-visible{
    opacity:1;
    transform:none;
}

.kaff-trust-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:1px;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:var(--radius);
    background:var(--border);
}
.kaff-trust-item{
    padding:1.25rem;
    background:#0d0d0d;
    text-align:center;
}
.kaff-trust-item strong{
    display:block;
    color:#fff;
    font-size:.95rem;
}
.kaff-trust-item span{
    color:var(--muted);
    font-size:.78rem;
}

.site-footer{
    position:relative;
    overflow:hidden;
}
.site-footer::before{
    content:"";
    position:absolute;
    inset:auto -10% 55% auto;
    width:420px;
    height:420px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(212,175,55,.12),transparent 68%);
    pointer-events:none;
}
.footer-brand{
    max-width:430px;
}
.footer-brand h3{
    margin-bottom:1rem;
    font-size:clamp(1.8rem,3vw,2.6rem);
}
.footer-brand p{
    line-height:1.75;
}
.footer-contact-list,
.footer-social-list{
    display:grid;
    gap:.75rem;
    margin-top:1rem;
}
.footer-contact-list a,
.footer-social-list a{
    display:inline-flex;
    width:max-content;
    transition:color var(--transition),transform var(--transition);
}
.footer-contact-list a:hover,
.footer-social-list a:hover{
    color:var(--gold);
    transform:translateX(4px);
}
.footer-payment-note{
    display:inline-flex;
    margin-top:1.1rem;
    padding:.65rem .9rem;
    border:1px solid var(--border);
    border-radius:999px;
    color:#bbb;
    font-size:.78rem;
}
.footer-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
}
.footer-bottom__legal{
    color:#666;
    font-size:.76rem;
}

.whatsapp-float{
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    transition:transform var(--transition),box-shadow var(--transition);
}
.whatsapp-float:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 42px rgba(37,211,102,.28);
}

@media(max-width:900px){
    .kaff-trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .footer-bottom{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
    .kaff-trust-grid{grid-template-columns:1fr}
}
