:root {
--drb-neon: var(--dr-neon, #00B4FF);
--drb-neon-2: var(--dr-neon-2, #3ec9ff);
--drb-deep: var(--dr-deep, #0A1F44);
--drb-surface: var(--dr-surface, #12161c);
--drb-surface-2: var(--dr-surface-2, #171c24);
--drb-bg-2: var(--dr-bg-2, #0D0D0D);
--drb-heading: var(--dr-heading, #F4F8FC);
--drb-text: var(--dr-text, #E7ECF2);
--drb-dim: var(--dr-text-dim, #9aa3ad);
--drb-mute: var(--dr-text-mute, #6b7280);
--drb-border: var(--dr-border, rgba(199,204,209,.10));
--drb-border-neon: var(--dr-border-neon, rgba(0,180,255,.35));
--drb-on-neon: var(--dr-on-neon, #04121f);
--drb-r: var(--dr-r-lg, 20px);
--drb-r-pill: var(--dr-r-pill, 999px);
--drb-glow-sm: var(--dr-glow-sm, 0 0 18px -6px rgba(0,180,255,.55));
--drb-grad-neon: var(--dr-grad-neon, linear-gradient(135deg,#3ec9ff,#00B4FF));
--drb-font-head: var(--dr-font-head, 'Orbitron', sans-serif);
--drb-font-alt: var(--dr-font-alt, 'Poppins', sans-serif);
--drb-ease: var(--dr-ease, cubic-bezier(.2,.7,.2,1));
} .dr-aff, .dr-hot, .dr-refs, .dr-rec { margin-block: 2rem; } .dr-aff--card {
display: grid;
grid-template-columns: 200px 1fr;
gap: 1.4rem;
padding: 1.3rem;
background: var(--drb-surface);
border: 1px solid var(--drb-border);
border-radius: var(--drb-r);
box-shadow: var(--drb-glow-sm);
overflow: hidden;
}
.dr-aff__media { border-radius: 14px; overflow: hidden; background: var(--drb-surface-2); }
.dr-aff__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dr-aff__body { display: flex; flex-direction: column; gap: .55rem; min-width: 0; }
.dr-aff__badge {
align-self: flex-start;
font-family: var(--drb-font-alt); font-size: .72rem; font-weight: 600;
letter-spacing: .06em; text-transform: uppercase;
color: var(--drb-on-neon); background: var(--drb-grad-neon);
padding: .25rem .7rem; border-radius: var(--drb-r-pill);
}
.dr-aff__title { font-family: var(--drb-font-head); font-size: 1.2rem; color: var(--drb-heading); margin: 0; line-height: 1.25; }
.dr-aff__desc { color: var(--drb-dim); font-size: .92rem; margin: 0; }
.dr-aff__actions { display: flex; flex-direction: column; gap: .55rem; margin-top: .4rem; }
.dr-aff--buttons {
padding: 1.1rem 1.2rem; background: var(--drb-surface); border: 1px solid var(--drb-border);
border-left: 3px solid var(--drb-neon); border-radius: 0 var(--drb-r) var(--drb-r) 0;
}
.dr-aff__btn {
display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
padding: .85rem 1.2rem; border-radius: var(--drb-r-pill);
font-family: var(--drb-font-alt); font-weight: 700; font-size: .95rem;
text-decoration: none; transition: transform .18s var(--drb-ease), box-shadow .35s var(--drb-ease), filter .35s var(--drb-ease);
}
.dr-aff__btn:hover { transform: translateY(-2px); box-shadow: var(--drb-glow-sm); }
.dr-aff__btn--ml { background: #ffe600; color: #2d3277; }
.dr-aff__btn--amazon { background: #ff9900; color: #131a22; }
.dr-aff__btn--ml:hover { filter: brightness(1.05); }
.dr-aff__btn--amazon:hover { filter: brightness(1.05); }
.dr-aff__ico { flex: none; height: 18px; width: auto; display: block; }
.dr-aff__disclosure { display: block; margin-top: .7rem; font-size: .7rem; color: var(--drb-mute); text-transform: uppercase; letter-spacing: .08em; } .dr-aff__btn--disabled {
cursor: default; opacity: .55; filter: grayscale(.4);
position: relative;
}
.dr-aff__btn--disabled:hover { transform: none; box-shadow: none; }
.dr-aff--pending .dr-aff__disclosure::after {
content: " · links em breve";
color: var(--drb-neon-2);
}
@media (max-width: 560px) {
.dr-aff--card { grid-template-columns: 1fr; }
.dr-aff__media { max-height: 220px; }
} .dr-hot {
position: relative; isolation: isolate; overflow: hidden;
display: grid; grid-template-columns: 220px 1fr; gap: 1.6rem;
padding: 1.6rem;
background: linear-gradient(135deg, rgba(10,31,68,.65), var(--drb-surface));
border: 1px solid var(--drb-border-neon); border-radius: var(--drb-r);
box-shadow: var(--dr-shadow, 0 12px 40px -12px rgba(0,0,0,.65)), var(--drb-glow-sm);
}
.dr-hot__glow { position: absolute; inset: auto -20% -60% auto; width: 380px; height: 380px; z-index: -1; background: radial-gradient(circle, rgba(0,180,255,.25), transparent 60%); filter: blur(30px); }
.dr-hot__cover img { width: 100%; border-radius: 12px; box-shadow: 0 14px 40px -12px rgba(0,0,0,.7); display: block; }
.dr-hot__body { display: flex; flex-direction: column; gap: .6rem; }
.dr-hot__badge {
align-self: flex-start; display: inline-flex; align-items: center;
font-family: var(--drb-font-alt); font-size: .72rem; font-weight: 600;
letter-spacing: .08em; text-transform: uppercase; color: var(--drb-neon-2);
border: 1px solid var(--drb-border-neon); background: rgba(0,180,255,.1);
padding: .25rem .7rem; border-radius: var(--drb-r-pill);
}
.dr-hot__title { font-family: var(--drb-font-head); font-size: 1.45rem; color: var(--drb-heading); margin: 0; line-height: 1.2; }
.dr-hot__desc { color: var(--drb-dim); margin: 0; }
.dr-hot__foot { display: flex; align-items: center; gap: 1rem; margin-top: auto; padding-top: .8rem; flex-wrap: wrap; }
.dr-hot__price { font-family: var(--drb-font-head); font-size: 1.5rem; color: var(--drb-heading); }
.dr-hot__btn {
display: inline-flex; align-items: center; gap: .5rem;
padding: .9rem 1.6rem; border-radius: var(--drb-r-pill);
background: var(--drb-grad-neon); color: #000000;
font-family: var(--drb-font-alt); font-weight: 700; text-decoration: none;
box-shadow: var(--drb-glow-sm); transition: transform .18s var(--drb-ease), box-shadow .35s var(--drb-ease);
}
.dr-hot__btn:hover { transform: translateY(-2px); box-shadow: var(--dr-glow, 0 6px 30px -8px rgba(0,180,255,.45)); } .dr-hot__btn.dr-hot__btn { color: #000000; }
@media (max-width: 600px) {
.dr-hot { grid-template-columns: 1fr; text-align: left; }
.dr-hot__cover img { max-width: 200px; }
} .dr-refs {
padding: 1.3rem 1.5rem; background: var(--drb-bg-2);
border: 1px solid var(--drb-border); border-radius: var(--drb-r);
}
.dr-refs__title { font-family: var(--drb-font-head); font-size: 1.05rem; color: var(--drb-heading); margin: 0 0 .8rem; }
.dr-refs__list { margin: 0; padding-left: 1.3rem; display: grid; gap: .5rem; }
.dr-refs__list li { color: var(--drb-dim); font-size: .92rem; }
.dr-refs__list li::marker { color: var(--drb-neon); }
.dr-refs__list a { color: var(--drb-neon-2); text-decoration: underline; text-underline-offset: 3px; word-break: break-word; } .dr-rec {
padding: 1.4rem 1.5rem; background: var(--drb-surface);
border: 1px solid var(--drb-border); border-radius: var(--drb-r);
}
.dr-rec__title { font-family: var(--drb-font-head); font-size: 1.1rem; color: var(--drb-heading); margin: 0 0 1rem; }
.dr-rec__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 1rem; }
.dr-rec__item { display: flex; gap: .8rem; align-items: center; text-decoration: none; padding: .5rem; border-radius: 12px; transition: background .3s var(--drb-ease); }
.dr-rec__item:hover { background: var(--drb-surface-2); }
.dr-rec__thumb { width: 64px; height: 64px; flex: none; border-radius: 10px; overflow: hidden; background: var(--drb-surface-2); }
.dr-rec__thumb img { width: 100%; height: 100%; object-fit: cover; }
.dr-rec__thumb--empty { background: linear-gradient(135deg, var(--drb-deep), var(--drb-surface-2)); }
.dr-rec__text { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.dr-rec__cat { font-family: var(--drb-font-alt); font-size: .68rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--drb-neon-2); }
.dr-rec__name { color: var(--drb-heading); font-weight: 600; font-size: .92rem; line-height: 1.3; }
.dr-rec__item:hover .dr-rec__name { color: var(--drb-neon); } .dr-block-preview {
display: flex; gap: 1rem; align-items: center;
padding: 1.1rem 1.3rem; border: 1px dashed var(--drb-border-neon);
border-radius: 14px; background: rgba(0,180,255,.04);
}
.dr-block-preview__icon { font-size: 1.8rem; line-height: 1; }
.dr-block-preview strong { display: block; font-size: 1rem; color: #0b2a44; margin-bottom: .2rem; }
.dr-block-preview__line { font-size: .82rem; color: #5a6b7a; } @media (prefers-reduced-motion: reduce) {
.dr-aff__btn, .dr-hot__btn, .dr-rec__item { transition: none; }
}.dr-news-toast {
position: fixed;
left: 50%;
bottom: 1.5rem;
transform: translateX(-50%);
z-index: 1200;
max-width: min(90vw, 460px);
padding: .9rem 1.3rem;
background: var(--dr-surface, #12161c);
color: var(--dr-heading, #F4F8FC);
border: 1px solid var(--dr-border-neon, rgba(0,180,255,.35));
border-radius: var(--dr-r-pill, 999px);
box-shadow: var(--dr-glow, 0 6px 30px -8px rgba(0,180,255,.45));
font-family: var(--dr-font-alt, sans-serif);
font-size: .92rem;
text-align: center;
}