/* Lamafius Diablo 2 Portal — responsive visual style */
.ldp-portal, .ldp-standalone {
  --ldp-bg: #0b0d12;
  --ldp-panel: #131720;
  --ldp-panel-2: #191f2a;
  --ldp-line: rgba(226, 190, 119, .2);
  --ldp-gold: #d9b36c;
  --ldp-cream: #f3ead8;
  --ldp-muted: #a9b0bd;
  color: var(--ldp-cream);
  font-family: inherit;
  line-height: 1.6;
}
.ldp-portal *,.ldp-standalone * { box-sizing: border-box; }
.ldp-portal a,.ldp-standalone a { text-decoration: none; }
.ldp-hero {
  position: relative; overflow: hidden; isolation: isolate;
  min-height: 380px; padding: clamp(32px, 6vw, 76px);
  border: 1px solid var(--ldp-line); border-radius: 18px;
  background: radial-gradient(ellipse at 78% 25%, rgba(128,40,29,.38), transparent 38%),
              radial-gradient(ellipse at 20% 110%, rgba(179,128,52,.15), transparent 45%),
              linear-gradient(125deg,#11151e 0%,#171a22 52%,#241a19 100%);
  box-shadow: 0 22px 55px rgba(0,0,0,.25);
}
.ldp-hero-glow { position:absolute; width:280px;height:280px;right:10%;top:5%;border-radius:50%;border:1px solid rgba(217,179,108,.13);box-shadow:0 0 0 24px rgba(217,179,108,.025),0 0 0 55px rgba(217,179,108,.02);z-index:-1; }
.ldp-eyebrow,.ldp-kicker { display:block; color:var(--ldp-gold); font-size:.72rem; letter-spacing:.2em; font-weight:800; text-transform:uppercase; }
.ldp-hero h1 { max-width:750px; margin:12px 0 14px; font-size:clamp(2.5rem,6vw,5rem); line-height:1.02; letter-spacing:-.04em; color:#fff7e8; }
.ldp-hero h1 span { display:block; color:var(--ldp-gold); }
.ldp-hero-copy { max-width:610px; color:#c7c7c7; font-size:clamp(1rem,2vw,1.2rem); }
.ldp-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.ldp-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 20px; border-radius:7px; font-weight:800; transition:transform .18s,background .18s; }
.ldp-button:hover { transform:translateY(-2px); }
.ldp-button-primary { background:var(--ldp-gold); color:#17130c!important; }
.ldp-button-primary:hover { background:#f0cf8b; }
.ldp-button-ghost { border:1px solid rgba(243,234,216,.3); color:#f3ead8!important; background:rgba(255,255,255,.025); }
.ldp-hero-mark { position:absolute; right:7%; bottom:-68px; color:rgba(217,179,108,.055); font-family:Georgia,serif; font-size:clamp(13rem,28vw,24rem); font-weight:bold; line-height:1; pointer-events:none; z-index:-1; }
.ldp-section { padding:clamp(30px,5vw,58px) 0; }
.ldp-section-dark { padding:clamp(28px,4vw,48px); border:1px solid rgba(255,255,255,.055); border-radius:16px; background:linear-gradient(140deg,#10131a,#0c0f15); }
.ldp-section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:24px; }
.ldp-section-heading h2,.ldp-bottom-cta h2 { margin:6px 0 0; font-size:clamp(1.6rem,3vw,2.25rem); line-height:1.2; color:inherit; }
.ldp-section-heading p { margin:0; color:var(--ldp-muted); }
.ldp-grid { display:grid; gap:16px; }
.ldp-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ldp-card { display:flex; flex-direction:column; min-height:220px; padding:24px; border:1px solid var(--ldp-line); border-radius:13px; color:var(--ldp-cream)!important; background:linear-gradient(145deg,#171b25,#10131a); transition:transform .2s,border-color .2s,background .2s; }
.ldp-card:hover { transform:translateY(-4px); border-color:rgba(217,179,108,.65); background:linear-gradient(145deg,#202432,#12151c); }
.ldp-card-icon { display:grid; place-items:center; width:45px;height:45px; margin-bottom:18px; border:1px solid var(--ldp-line); border-radius:10px; color:var(--ldp-gold); font-size:1.5rem; }
.ldp-card-title { font-size:1.15rem; font-weight:800; }
.ldp-card-text { margin-top:7px; color:var(--ldp-muted); font-size:.94rem; }
.ldp-card-link { margin-top:auto; padding-top:18px; color:var(--ldp-gold); font-weight:800; font-size:.9rem; }
.ldp-post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.ldp-post-card { overflow:hidden; border:1px solid rgba(255,255,255,.09); border-radius:12px; background:#141821; }
.ldp-post-thumb { display:block; height:160px; overflow:hidden; background:#20232c; }
.ldp-post-thumb img { width:100%;height:100%;object-fit:cover;transition:transform .25s; }
.ldp-post-card:hover .ldp-post-thumb img { transform:scale(1.04); }
.ldp-post-content { padding:20px; }
.ldp-post-meta { color:var(--ldp-gold); font-size:.75rem; text-transform:uppercase; letter-spacing:.1em; }
.ldp-post-content h3 { margin:7px 0 8px; font-size:1.12rem; line-height:1.35; }
.ldp-post-content h3 a { color:var(--ldp-cream)!important; }
.ldp-post-content p { color:var(--ldp-muted); font-size:.92rem; }
.ldp-text-link { color:var(--ldp-gold)!important; font-weight:800; font-size:.9rem; }
.ldp-empty,.ldp-note { padding:20px; border:1px dashed rgba(217,179,108,.28); border-radius:10px; color:var(--ldp-muted); background:rgba(255,255,255,.025); }
.ldp-bottom-cta { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:clamp(24px,4vw,40px); border:1px solid var(--ldp-line); border-radius:14px; background:linear-gradient(115deg,#241d18,#151820 65%); }
.ldp-bottom-cta p { margin-bottom:0; color:var(--ldp-muted); }
.ldp-footer { padding:28px 0 10px; text-align:center; color:#7e8490; font-size:.85rem; }
.ldp-footer span { padding:0 8px; color:var(--ldp-gold); }
.ldp-page-head { margin:0 0 28px; padding:clamp(26px,5vw,48px); border:1px solid var(--ldp-line); border-radius:14px; background:linear-gradient(125deg,#171b25,#251b19); }
.ldp-page-head h1 { margin:8px 0; font-size:clamp(2rem,4vw,3.4rem); color:var(--ldp-cream); }
.ldp-page-head p { margin-bottom:0; color:var(--ldp-muted); }
.ldp-standalone .ldp-post-grid { margin-bottom:30px; }
.ldp-standalone .ldp-post-card { color:var(--ldp-cream); }
@media(max-width:850px) {
  .ldp-grid-3,.ldp-post-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ldp-bottom-cta { align-items:flex-start; flex-direction:column; }
}
@media(max-width:560px) {
  .ldp-grid-3,.ldp-post-grid { grid-template-columns:1fr; }
  .ldp-section-heading { align-items:flex-start; flex-direction:column; }
  .ldp-hero { min-height:0; padding:28px 22px; }
  .ldp-hero-mark { right:-4%; bottom:-24px; font-size:12rem; }
  .ldp-post-thumb { height:190px; }
}

.ldp-question-form { margin:0 0 28px; padding:24px; border:1px solid var(--ldp-line); border-radius:12px; background:linear-gradient(145deg,#171b25,#10131a); }
.ldp-question-form h2 { margin:0 0 18px; color:var(--ldp-cream); }
.ldp-question-form label { display:block; margin:14px 0 6px; color:var(--ldp-cream); font-weight:700; }
.ldp-question-form input[type="text"],.ldp-question-form textarea { display:block; width:100%; padding:12px 14px; border:1px solid rgba(255,255,255,.16); border-radius:7px; background:#0b0e14; color:#f3ead8; font:inherit; }
.ldp-question-form input[type="text"]:focus,.ldp-question-form textarea:focus { outline:2px solid rgba(217,179,108,.5); border-color:var(--ldp-gold); }
.ldp-question-form button { margin-top:16px; border:0; cursor:pointer; font:inherit; }
.ldp-form-help { margin:12px 0 0; color:var(--ldp-muted); font-size:.85rem; }
