/* Zelanda Community - identidad homologada con zelanda */
:root {
    --zc-navy: #0D1B2A;
    --zc-blue: #2563EB;
    --zc-teal: #14B8A6;
    --zc-green: #22C55E;
    --zc-mint: #5ED6BF;
    --zc-pale: #DDF3EF;
    --zc-bg: #F8FAFC;
    --zc-gold: #D99A1E;
}

.font-brand, .font-heading { font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif; }
.font-sans { font-family: 'Inter', system-ui, -apple-system, ui-sans-serif, sans-serif; }

.rounded-oneui { border-radius: 1.25rem; }
.rounded-oneui-lg { border-radius: 1.5rem; }
.rounded-oneui-xl { border-radius: 2rem; }

.shadow-oneui { box-shadow: 0 4px 20px -4px rgba(23,43,77,.08); }
.shadow-oneui-md { box-shadow: 0 10px 40px -10px rgba(23,43,77,.12); }
.shadow-oneui-lg { box-shadow: 0 20px 60px -16px rgba(23,43,77,.16); }

.bg-zelanda-gradient { background: linear-gradient(135deg, #0D1B2A 0%, #2563EB 50%, #14B8A6 100%); }
.bg-zelanda-light-gradient { background: linear-gradient(135deg, #2563EB 0%, #14B8A6 50%, #22C55E 100%); }

.zc-card {
    background: #fff;
    border-radius: 1.25rem;
    box-shadow: 0 4px 20px -4px rgba(23,43,77,.08);
    transition: transform .26s cubic-bezier(.2,0,0,1), box-shadow .26s cubic-bezier(.2,0,0,1);
}
.zc-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 40px -10px rgba(23,43,77,.12);
}

.zc-btn-primary {
    display: inline-flex; align-items: center; gap: .5rem;
    background: var(--zc-blue); color: #fff; font-weight: 600;
    padding: .625rem 1.25rem; border-radius: 1.25rem; font-size: .875rem;
    transition: background .2s;
}
.zc-btn-primary:hover { background: #1d4fd7; }

.zc-btn-teal {
    display: inline-flex; align-items: center; gap: .5rem;
    background: var(--zc-teal); color: #fff; font-weight: 600;
    padding: .625rem 1.25rem; border-radius: 1.25rem; font-size: .875rem;
    transition: background .2s;
}
.zc-btn-teal:hover { background: #0f9a8b; }

.zc-btn-outline {
    display: inline-flex; align-items: center; gap: .5rem;
    border: 1px solid #cbd5e1; color: #334155; font-weight: 600;
    padding: .625rem 1.25rem; border-radius: 1.25rem; font-size: .875rem;
    transition: all .2s; background: #fff;
}
.zc-btn-outline:hover { border-color: var(--zc-teal); color: var(--zc-teal); }

.zc-input {
    width: 100%; border: 1px solid #cbd5e1; border-radius: .9rem;
    padding: .625rem 1rem; font-size: .875rem; background: #fff;
    transition: border-color .2s, box-shadow .2s;
}
.zc-input:focus { outline: none; border-color: var(--zc-teal); box-shadow: 0 0 0 3px rgba(20,184,166,.15); }

.zc-label { display: block; font-size: .8rem; font-weight: 600; color: #475569; margin-bottom: .35rem; }

.zc-chip {
    display: inline-flex; align-items: center; gap: .3rem;
    padding: .2rem .7rem; border-radius: 999px; font-size: .72rem; font-weight: 600;
}

/* ---------- Microinteracciones ---------- */

/* Gradiente del hero con paneo lento */
.bg-zelanda-gradient {
    background: linear-gradient(135deg, #0D1B2A 0%, #2563EB 45%, #14B8A6 80%, #22C55E 100%);
    background-size: 220% 220%;
    animation: zcGradientPan 18s ease-in-out infinite alternate;
}
@keyframes zcGradientPan {
    from { background-position: 0% 40%; }
    to   { background-position: 100% 60%; }
}

/* Links del nav: subrayado que crece desde el centro */
.zc-nav-links a { position: relative; padding-bottom: .15rem; }
.zc-nav-links a::after {
    content: "";
    position: absolute;
    left: 50%; right: 50%;
    bottom: -2px;
    height: 2px;
    border-radius: 2px;
    background: var(--zc-mint);
    transition: left .22s cubic-bezier(.2,0,0,1), right .22s cubic-bezier(.2,0,0,1);
}
.zc-nav-links a:hover::after { left: 0; right: 0; }

/* Chips: transición completa (color/borde/press lo da motion-press) */
.zc-chip { transition: color .18s ease, border-color .18s ease, background .18s ease, transform .12s ease; }

/* Dropdowns: items con transición suave */
.zc-dropdown-item { transition: background .14s ease, color .14s ease; }
.zc-dropdown-item:active { transform: scale(.985); }

/* Cards: la imagen hace zoom sutil al hover de la card */
.zc-card:has(> img) { overflow: hidden; }
.zc-card > img { transition: transform .45s cubic-bezier(.2,0,0,1); }
.zc-card:hover > img { transform: scale(1.035); }

/* Flechas "Ver todos →": empuje al hover */
a .fa-arrow-right, a .fa-arrow-right-long { transition: transform .2s cubic-bezier(.2,0,0,1); }
a:hover .fa-arrow-right, a:hover .fa-arrow-right-long { transform: translateX(3px); }

/* Botones: press táctil */
.zc-btn-primary, .zc-btn-teal, .zc-btn-outline, .zc-nav-cta { transition: all .18s ease; }
.zc-btn-primary:active, .zc-btn-teal:active, .zc-btn-outline:active, .zc-nav-cta:active { transform: scale(.96); }

/* Badge contador del nav: pop al aparecer */
.zc-nav-iconbtn .rounded-full { animation: zcPopIn .35s cubic-bezier(.2,1.4,.3,1) both; }
@keyframes zcPopIn { from { transform: scale(.4); opacity: 0; } to { transform: scale(1); opacity: 1; } }

/* ---------- Cabecera de negocio: el patron banner->glass vive en
   zelanda.css como .zl-hero-banner / .zl-glass-panel (canonico) ---------- */

@media (prefers-reduced-motion: reduce) {
    .bg-zelanda-gradient { animation: none; }
    .zc-nav-links a::after, .zc-card img, a .fa-arrow-right { transition: none; }
    .zc-nav-iconbtn .rounded-full { animation: none; }
}

/* ---------- Dark mode (class strategy, toggle en navbar) ---------- */
.dark body, body.dark { background: #0f172a; color: #e2e8f0; }
.dark .zc-card { background: #1e293b; color: #e2e8f0; }
.dark .zc-card h1, .dark .zc-card h2, .dark .zc-card h3, .dark .zc-card .font-semibold { color: #f1f5f9 !important; }
.dark .zc-input { background: #0f172a; border-color: #334155; color: #e2e8f0; }
.dark .zc-input::placeholder { color: #64748b; }
.dark .zc-label { color: #94a3b8; }
.dark .zc-btn-outline { background: #1e293b; border-color: #334155; color: #cbd5e1; }
.dark .text-slate-800, .dark .text-slate-700, .dark .text-slate-600 { color: #cbd5e1 !important; }
.dark .text-slate-500 { color: #94a3b8 !important; }
.dark .bg-white { background-color: #1e293b !important; }
.dark .bg-slate-50, .dark .bg-slate-100 { background-color: #0f172a !important; }
.dark .border-slate-100, .dark .border-slate-200 { border-color: #334155 !important; }
.dark .divide-slate-100 > * + * { border-color: #334155 !important; }
.dark main { background: #0f172a; }
.dark .zc-biz-glass {
    background: linear-gradient(135deg, rgba(30,41,59,.88), rgba(15,23,42,.68));
    border-color: rgba(148,163,184,.16);
    box-shadow: 0 16px 40px -16px rgba(0,0,0,.55);
}

/* ---------- Vitrina de productos (secciones por tienda) ---------- */
.vitrina { margin-bottom: 2.75rem; }
.vitrina-head { display: flex; align-items: center; gap: .85rem; margin-bottom: 1.1rem; }
.vitrina-avatar {
    width: 46px; height: 46px; border-radius: 14px; flex: none; overflow: hidden;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #2563eb, #14b8a6); color: #fff;
    font-weight: 700; font-size: 1.15rem; text-decoration: none;
    box-shadow: 0 4px 12px rgba(37, 99, 235, .22);
    transition: transform .18s ease, box-shadow .18s ease;
}
.vitrina-avatar:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(37, 99, 235, .3); }
.vitrina-avatar img { width: 100%; height: 100%; object-fit: cover; }
.vitrina-info { min-width: 0; }
.vitrina-name { font-size: 1.12rem; font-weight: 700; color: #0D1B2A; display: flex; align-items: center; gap: .4rem; }
.vitrina-name a { color: inherit; text-decoration: none; }
.vitrina-name a:hover { color: #2563eb; }
.vitrina-meta { font-size: .8rem; color: #64748b; margin-top: .1rem; }
.vitrina-more {
    margin-left: auto; font-size: .85rem; font-weight: 600; color: #2563eb;
    text-decoration: none; white-space: nowrap; padding: .4rem .7rem;
    border-radius: .6rem; transition: background .15s ease;
}
.vitrina-more:hover { background: rgba(37, 99, 235, .08); }
.vitrina-more .fa-arrow-right { transition: transform .2s ease; }
.vitrina-more:hover .fa-arrow-right { transform: translateX(3px); }

/* Card de producto con imagen/tile */
.prod-card { padding: 0 !important; overflow: hidden; text-decoration: none; color: inherit; display: flex; flex-direction: column; }
.prod-img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.prod-tile {
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #eef2ff 0%, #f0fdfa 100%);
    color: #94a3b8; font-size: 2rem;
}
.prod-price { color: #14B8A6; font-weight: 700; font-size: 1.05rem; }
.zc-chip-active { background: #0D1B2A; color: #fff; border-color: #0D1B2A; }
.zc-chip-active:hover { background: #1e293b; }

.dark .vitrina-name, .dark .vitrina-name a { color: #f1f5f9; }
.dark .vitrina-name a:hover { color: #7dd3fc; }
.dark .vitrina-meta { color: #94a3b8; }
.dark .vitrina-more { color: #7dd3fc; }
.dark .vitrina-more:hover { background: rgba(125, 211, 252, .12); }
.dark .prod-card { color: #e2e8f0; }
.dark .prod-card h3 { color: #f1f5f9 !important; }
.dark .prod-tile { background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%); color: #475569; }
.dark .zc-chip-active { background: #e2e8f0; color: #0f172a; border-color: #e2e8f0; }
.dark .zc-chip-active:hover { background: #cbd5e1; }
