Widget:Larifk
<style> /* === LARIFK DESIGN SYSTEM === */
- root {
--lk-bg: #ffffff; --lk-surface: #f3f4f6; --lk-accent: #2563eb; --lk-text-1: #111827; --lk-text-2: #6b7280; --lk-text-3: #9ca3af; --lk-border: rgba(0,0,0,0.06); --lk-card-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 1px 2px rgba(0,0,0,0.02); --lk-tab-shadow: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.04); --lk-qty-bg: #1f2937; --lk-qty-text: #fff; --lk-media-bg: #000; --lk-slide-btn-bg: rgba(255,255,255,0.85); --lk-slide-btn-color: #111; --lk-slide-btn-hover: #fff; --lk-counter-bg: rgba(0,0,0,0.5);
}
@media (prefers-color-scheme: dark) {
:root {
--lk-bg: #1a1a2e;
--lk-surface: #16213e;
--lk-accent: #4f8cff;
--lk-text-1: #e2e8f0;
--lk-text-2: #94a3b8;
--lk-text-3: #64748b;
--lk-border: rgba(255,255,255,0.08);
--lk-card-shadow: 0 1px 4px rgba(0,0,0,0.3);
--lk-tab-shadow: 0 1px 4px rgba(0,0,0,0.4);
--lk-qty-bg: #0f172a;
--lk-qty-text: #e2e8f0;
--lk-media-bg: #0f0f1a;
--lk-slide-btn-bg: rgba(30,30,50,0.85);
--lk-slide-btn-color: #e2e8f0;
--lk-slide-btn-hover: #2a2a4a;
--lk-counter-bg: rgba(0,0,0,0.6);
}
}
/* Container Principal */ .lk-wrap {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background: var(--lk-bg); border: 1px solid var(--lk-border); border-radius: 16px; padding: 24px; margin: 1rem 0; box-shadow: var(--lk-card-shadow); color: var(--lk-text-1);
}
/* Título */ .lk-titulo {
font-size: 1.4rem; font-weight: 700; color: var(--lk-text-1); margin: 0 0 1rem;
}
/* === TABBER PRINCIPAL (BAÚS) === */ .lk-tabs {
display: flex; gap: 6px; background: var(--lk-surface); padding: 5px; border-radius: 12px; margin-bottom: 24px; overflow-x: auto; flex-wrap: wrap; scrollbar-width: none; -ms-overflow-style: none;
} .lk-tabs::-webkit-scrollbar { display: none; }
.lk-tab {
display: flex; align-items: center; gap: 7px; padding: 8px 16px; font-size: 13px; font-weight: 600; color: var(--lk-text-2); cursor: pointer; border-radius: 8px; transition: all 0.2s ease; white-space: nowrap; user-select: none; background: transparent;
} .lk-tab:hover {
background: rgba(128,128,128,0.08); color: var(--lk-text-1);
} .lk-tab.active {
background: var(--lk-bg); color: var(--lk-accent); box-shadow: var(--lk-tab-shadow);
} .lk-tab img {
width: 20px; height: 20px; object-fit: contain; vertical-align: middle; margin-right: 5px; border-radius: 4px; filter: drop-shadow(0 1px 1px rgba(0,0,0,0.08));
}
/* === PAINÉIS === */ .lk-panel {
display: none; animation: lk-fadeIn 0.25s ease;
} .lk-panel.active {
display: flex; flex-direction: column; gap: 14px; padding: .25rem 0;
} @keyframes lk-fadeIn {
from { opacity: 0; transform: translateY(3px); }
to { opacity: 1; transform: translateY(0); }
}
/* Labels */ .lk-slabel {
font-size: 10px; font-weight: 700; color: var(--lk-text-3); text-transform: uppercase; letter-spacing: 0.07em; margin-bottom: 5px;
}
/* === GRID DE RECOMPENSAS === */ .lk-rewards {
display: flex; flex-wrap: wrap; gap: 8px;
} .lk-reward {
display: flex; flex-direction: column; align-items: center; gap: 3px;
} .lk-rsprite {
width: 38px; height: 38px; background: var(--lk-surface); border: 1px solid var(--lk-border); border-radius: 8px; display: flex; align-items: center; justify-content: center; overflow: hidden; transition: transform 0.2s ease, border-color 0.2s ease;
} .lk-reward:hover .lk-rsprite {
transform: translateY(-2px); border-color: var(--lk-accent);
} .lk-rsprite img {
max-width: 100%; max-height: 100%; object-fit: contain;
} .lk-rqty {
display: flex; align-items: baseline; gap: 1px; background: var(--lk-qty-bg); border-radius: 999px; padding: 1px 6px;
} .lk-rqty-num { font-size: 12px; font-weight: 700; color: var(--lk-qty-text); } .lk-rqty-x { font-size: 10px; font-weight: 600; color: var(--lk-text-3); }
/* Divisor */ .lk-divider {
height: 1px; background: var(--lk-border);
}
/* === SUB-TABS (Vídeo / Imagem) — CENTRALIZADO === */ .lk-ctabs {
display: inline-flex; background: var(--lk-surface); padding: 4px; border-radius: 8px; margin: 0 auto 14px auto; align-self: center;
} .lk-ctab {
padding: 5px 16px; font-size: 12px; font-weight: 600; color: var(--lk-text-2); cursor: pointer; border-radius: 6px; transition: all 0.2s ease; user-select: none;
} .lk-ctab.active {
background: var(--lk-bg); color: var(--lk-text-1); box-shadow: 0 1px 2px rgba(0,0,0,0.06);
} .lk-ctab:hover:not(.active) { color: var(--lk-text-1); }
.lk-cpanel {
display: none; text-align: center;
} .lk-cpanel.active {
display: flex; flex-direction: column; align-items: center;
}
/* === MÍDIA === */ .lk-media-wrap {
border-radius: 12px; overflow: hidden; background: var(--lk-media-bg); border: 1px solid var(--lk-border); width: 100%; max-width: 560px; aspect-ratio: 16 / 9; position: relative;
} .lk-media-wrap img {
position: absolute; inset: 0; width: 100%; height: 100%; border: none; object-fit: cover; display: block;
}
/* Slider */ .lk-slider {
position: relative; width: 100%; max-width: 560px; border-radius: 12px; overflow: hidden; background: var(--lk-media-bg); border: 1px solid var(--lk-border);
} .lk-slider-track {
display: flex; transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
} .lk-slide {
min-width: 100%; display: flex; align-items: center; justify-content: center;
} .lk-slide img { width: 100%; height: auto; display: block; } .lk-slide a { display: block; line-height: 0; }
.lk-slide-btn {
position: absolute; top: 50%; transform: translateY(-50%); background: var(--lk-slide-btn-bg); color: var(--lk-slide-btn-color); border-radius: 50%; width: 32px; height: 32px; font-size: 16px; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 2; user-select: none; backdrop-filter: blur(4px); border: 1px solid var(--lk-border); transition: all 0.15s ease;
} .lk-slide-btn:hover {
background: var(--lk-slide-btn-hover); transform: translateY(-50%) scale(1.08);
} .lk-slide-prev { left: 8px; } .lk-slide-next { right: 8px; }
.lk-slide-counter {
position: absolute; bottom: 8px; right: 10px; font-size: 11px; font-weight: 600; color: #fff; background: var(--lk-counter-bg); border-radius: 999px; padding: 1px 8px; backdrop-filter: blur(4px);
}
/* === RESPONSIVO === */ @media (min-width: 768px) {
.lk-media-wrap { width: 60%; }
.lk-slider { width: 60%; }
}
@media (max-width: 520px) {
.lk-wrap {
padding: 16px;
border-radius: 12px;
}
.lk-tabs { gap: 4px; }
.lk-tab { padding: 7px 12px; font-size: 12px; }
} </style>