/**
 * Smiley Footer CSS v1.0
 */
:root { --smf-red:#ff0000; --smf-green:#33cc33; --smf-yellow:#fbbf24; --smf-dark:#1a202c; --smf-gray:#cbd5e0; }
.smf-footer { background:var(--smf-dark); color:#fff; padding:32px 0 0; margin-top:0; }
.smf-container { max-width:1200px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:2fr 1fr 1fr 2fr; gap:40px; align-items:start; }
.smf-brand { display:flex; flex-direction:column; }
.smf-logo { max-width:120px; height:auto; margin-bottom:14px; }
.smf-logo-text { font-size:26px; font-weight:800; margin-bottom:12px; color:#fff; }
.smf-tagline { font-size:13px; line-height:1.6; color:var(--smf-gray); margin:0; border-left:3px solid var(--smf-red); padding-left:12px; }
.smf-col h4 { font-size:11px; font-weight:700; color:#fff; text-transform:uppercase; letter-spacing:1px; margin:0 0 14px; }
.smf-links { list-style:none; padding:0; margin:0; }
.smf-links li { margin-bottom:9px; }
.smf-links a { color:var(--smf-gray); text-decoration:none; font-size:13px; transition:all 0.2s ease; display:inline-flex; align-items:center; gap:6px; }
.smf-links a:hover { color:var(--smf-green); transform:translateX(3px); }
.smf-gana-link { color:var(--smf-yellow) !important; font-weight:500; }
.smf-gana-link:hover { opacity:0.8; transform:translateX(3px); }
.smf-soon-link { color:#4a5568; font-size:13px; display:inline-flex; align-items:center; gap:6px; }
.smf-red h4 { color:var(--smf-green) !important; }
.smf-nicho { margin-bottom:4px; }
.smf-nicho-btn { display:flex; align-items:center; gap:8px; background:transparent; border:none; padding:7px 8px; width:100%; text-align:left; cursor:pointer; border-radius:6px; transition:background 0.2s ease; color:var(--smf-gray); }
.smf-nicho-btn:hover:not(:disabled) { background:rgba(255,255,255,0.05); color:#fff; }
.smf-nicho-btn:disabled { cursor:default; opacity:0.45; }
.smf-nicho-btn[aria-expanded="true"] { background:rgba(51,204,51,0.07); color:#fff; }
.smf-nicho-link { text-decoration:none; display:flex; }
.smf-nicho-icon { font-size:15px; flex-shrink:0; }
.smf-nicho-text { display:flex; flex-direction:column; flex:1; gap:1px; }
.smf-nicho-label { font-size:13px; font-weight:500; line-height:1.2; color:inherit; }
.smf-nicho-sub { font-size:11px; color:#718096; line-height:1.2; }
.smf-nicho-count { font-size:10px; font-weight:700; background:rgba(51,204,51,0.15); color:var(--smf-green); border:1px solid rgba(51,204,51,0.3); border-radius:20px; padding:1px 6px; flex-shrink:0; }
.smf-nicho-arrow { font-size:11px; color:#718096; transition:transform 0.2s ease; flex-shrink:0; }
.smf-nicho-members { list-style:none; padding:3px 0 6px 30px; margin:0 0 0 12px; border-left:1px solid rgba(51,204,51,0.2); }
.smf-nicho-members li { margin-bottom:5px; }
.smf-nicho-members a { color:#a0aec0; text-decoration:none; font-size:12px; display:flex; align-items:center; gap:5px; transition:color 0.2s ease,transform 0.2s ease; }
.smf-nicho-members a::before { content:'→'; font-size:10px; color:var(--smf-green); opacity:0.6; }
.smf-nicho-members a:hover { color:var(--smf-green); transform:translateX(3px); }
.smf-badge { font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; padding:2px 6px; border-radius:20px; background:rgba(51,204,51,0.15); color:var(--smf-green); border:1px solid rgba(51,204,51,0.3); white-space:nowrap; }
.smf-badge-soon { background:rgba(255,255,255,0.06); color:#718096; border-color:rgba(255,255,255,0.1); }
.smf-bottom { border-top:2px solid var(--smf-red); margin-top:28px; padding:16px 0; }
.smf-bottom-inner { max-width:1200px; margin:0 auto; padding:0 40px; text-align:center; }
.smf-copyright { font-size:13px; color:#718096; margin:0 0 4px; }
.smf-legal { font-size:11px; color:#4a5568; margin:0; font-style:italic; }
@media(max-width:1100px){ .smf-container{grid-template-columns:2fr 1fr 1fr;gap:32px;} .smf-red{grid-column:1/-1;} }
@media(max-width:768px){ .smf-footer{padding:28px 0 0;} .smf-container{grid-template-columns:1fr 1fr;gap:24px;padding:0 20px;} .smf-brand{grid-column:1/-1;} .smf-red{grid-column:1/-1;} .smf-bottom-inner{padding:0 20px;} }
@media(max-width:480px){ .smf-container{grid-template-columns:1fr;} .smf-links a:hover{transform:none;} .smf-nicho-members a:hover{transform:none;} }

/* =============================================
   SMILEY FOOTER v2.0 — Modo mínimo
   ============================================= */

/* ── Wrapper mínimo ── */
.smf-minimo {
    padding: 40px 0 0;
}

.smf-min-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px 32px;
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 48px;
    align-items: center;
}

/* ── Brand ── */
.smf-min-brand {
    display: flex;
    flex-direction: column;
}

.smf-min-logo {
    max-width: 110px;
    height: auto;
    margin-bottom: 12px;
}

.smf-min-slogan {
    font-size: 13px;
    line-height: 1.6;
    color: var(--smf-gray);
    margin: 0;
    border-left: 3px solid var(--smf-red);
    padding-left: 12px;
}

/* ── CTA wrap ── */
.smf-min-cta-wrap {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 14px;
    padding: 22px 24px;
}

.smf-min-cta-texto {
    font-size: 14px;
    color: #e2e8f0;
    margin: 0 0 16px;
    line-height: 1.5;
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.smf-min-icon {
    font-size: 18px;
    flex-shrink: 0;
    margin-top: 1px;
}

.smf-min-btns {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.smf-min-btn {
    display: inline-flex;
    align-items: center;
    padding: 10px 20px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    transition: opacity .2s ease, transform .2s ease;
    white-space: nowrap;
}

.smf-min-btn:hover {
    opacity: .88;
    transform: translateY(-1px);
}

.smf-min-btn-red {
    background: var(--smf-red);
    color: #fff !important;
}

.smf-min-btn-green {
    background: transparent;
    color: var(--smf-green) !important;
    border: 1.5px solid var(--smf-green);
}

/* ── Responsive mínimo ── */
@media (max-width: 768px) {
    .smf-min-inner {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 0 20px 28px;
    }
}

@media (max-width: 480px) {
    .smf-min-inner      { padding: 0 16px 24px; }
    .smf-min-btns       { flex-direction: column; }
    .smf-min-btn        { width: 100%; justify-content: center; }
}
