/* ============================================================
   Disease deep-dive page — shared styles
   Used by: dmae.html, retinopatia-diabetica.html, agujero-macular.html
   Class prefix: dp-
   ============================================================ */

/* HERO */
.dp-hero{position:relative;padding:160px 0 var(--s-9);overflow:hidden;border-bottom:1px solid var(--border)}
.dp-hero-bg{position:absolute;inset:0;z-index:0;opacity:.5;mask-image:linear-gradient(180deg,#000 0%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 100%)}
.dp-hero--full-color .dp-hero-bg{opacity:1;mask-image:linear-gradient(180deg,#000 0%,#000 70%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 70%,transparent 100%)}
.dp-hero-img{width:100%;height:100%;object-fit:cover;display:block}
.dp-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.4fr 1fr;gap:var(--s-8);align-items:end}
/* Breadcrumb — clearer back path */
.dp-breadcrumb{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--fg-3);margin-bottom:var(--s-6);padding:10px 16px;background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:999px;width:fit-content;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.dp-breadcrumb::before{content:"←";font-family:var(--font-display);font-size:14px;color:var(--cyan);margin-right:4px;letter-spacing:0}
.dp-breadcrumb a{color:var(--fg-2);text-decoration:none;transition:color .2s var(--ease)}
.dp-breadcrumb a:hover{color:var(--cyan)}

/* Floating back-to-diseases pill — always visible while scrolling */
.dp-back-fab{position:fixed;left:24px;bottom:24px;z-index:90;display:inline-flex;align-items:center;gap:10px;padding:12px 20px;background:rgba(0,0,0,0.78);color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,0.18);border-radius:999px;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:all .2s var(--ease);box-shadow:0 12px 32px rgba(0,0,0,.25);opacity:0;transform:translateY(20px);pointer-events:none}
.dp-back-fab.visible{opacity:1;transform:translateY(0);pointer-events:auto}
.dp-back-fab:hover{border-color:var(--cyan);color:var(--cyan)}
.dp-back-fab svg{transition:transform .2s var(--ease)}
.dp-back-fab:hover svg{transform:translateX(-3px)}
@media (max-width:720px){.dp-back-fab{left:16px;bottom:80px;padding:10px 16px;font-size:11px}}
.dp-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-4);padding:var(--s-5);background:rgba(0,0,0,0.55);backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%);border:1px solid rgba(255,255,255,0.12);border-radius:var(--radius-lg)}
.dp-meta-item{display:flex;flex-direction:column;gap:4px}
.dp-meta-k{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:var(--fg-3)}
.dp-meta-v{font-family:var(--font-display);font-size:18px;color:var(--fg-0)}
@media (max-width:900px){.dp-hero-inner{grid-template-columns:1fr}}

/* SECTIONS */
.dp-section{padding:var(--s-9) 0;border-bottom:1px solid var(--border)}
.dp-grid-2{display:grid;grid-template-columns:1fr 1.6fr;gap:var(--s-8)}
@media (max-width:900px){.dp-grid-2{grid-template-columns:1fr;gap:var(--s-5)}}
.dp-h{font-family:var(--font-display);font-size:clamp(28px,3vw,44px);font-weight:500;letter-spacing:-.02em;line-height:1.05;color:var(--fg-0);margin:0}
.dp-prose{font-size:17px;line-height:1.7;color:var(--fg-2);max-width:60ch}
.dp-prose p+p{margin-top:18px}
.dp-prose strong{color:var(--fg-0);font-weight:500}

/* TYPES (2 or 4 column) */
.dp-types{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-5);margin-top:var(--s-7)}
.dp-types-4{grid-template-columns:repeat(4,1fr);gap:var(--s-4)}
.dp-type{padding:var(--s-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);position:relative}
.dp-type-tag{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:999px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;border:1px solid var(--border-strong);margin-bottom:var(--s-4)}
.dp-type-tag.warn{color:var(--signal-warn);border-color:rgba(255,184,0,.4)}
.dp-type-tag.danger{color:var(--signal-danger);border-color:rgba(255,77,94,.4)}
.dp-type-tag .dot{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}
.dp-type h3{font-family:var(--font-display);font-size:22px;font-weight:500;letter-spacing:-.02em;margin:0 0 12px;color:var(--fg-0)}
.dp-type p{font-size:14px;color:var(--fg-2);line-height:1.5}
@media (max-width:1100px){.dp-types-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.dp-types,.dp-types-4{grid-template-columns:1fr}}

/* SYMPTOMS */
.dp-symptoms{list-style:none;padding:0;margin:var(--s-5) 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--border)}
.dp-symptoms li{padding:var(--s-4) 0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:48px 1fr;gap:var(--s-4);align-items:start}
.sym-num{font-family:var(--font-mono);font-size:11px;color:var(--cyan);letter-spacing:.1em;padding-top:3px}
.sym-text strong{display:block;font-family:var(--font-display);font-size:17px;font-weight:500;color:var(--fg-0);margin-bottom:6px}
.sym-text span{font-size:14px;color:var(--fg-2);line-height:1.5}
@media (max-width:760px){.dp-symptoms{grid-template-columns:1fr}}

/* ALARM BANNER */
.dp-alarm{background:linear-gradient(135deg,rgba(255,77,94,.12),rgba(255,77,94,.04));border:1px solid rgba(255,77,94,.3);border-radius:var(--radius-lg);padding:var(--s-6);display:grid;grid-template-columns:auto 1fr auto;gap:var(--s-5);align-items:center;margin-top:var(--s-5)}
.dp-alarm-icon{width:48px;height:48px;border-radius:50%;background:rgba(255,77,94,.15);display:inline-flex;align-items:center;justify-content:center;color:var(--signal-danger);font-size:24px;font-weight:600}
.dp-alarm h4{font-family:var(--font-display);font-size:18px;color:var(--fg-0);margin:0 0 6px}
.dp-alarm p{font-size:14px;color:var(--fg-2);margin:0;max-width:60ch}
@media (max-width:760px){.dp-alarm{grid-template-columns:auto 1fr;gap:var(--s-4)}.dp-alarm .btn{grid-column:1/-1}}

/* DIAGNOSTIC CARDS */
.dp-diag-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-4);margin-top:var(--s-6)}
.dp-diag-card{padding:var(--s-5);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-md)}
.dp-diag-card .mono{color:var(--cyan);font-size:11px;letter-spacing:.1em}
.dp-diag-card h4{margin:8px 0 6px;font-family:var(--font-display);font-weight:500;color:var(--fg-0)}
.dp-diag-card p{margin:0;font-size:13px;color:var(--fg-2);line-height:1.55}
.dp-diag-img-wrap{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:6px;background:#000}
.dp-diag-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.dp-diag-tag{position:absolute;bottom:10px;left:10px;display:inline-flex;align-items:center;gap:7px;padding:6px 11px;background:rgba(0,0,0,0.65);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(0,229,255,0.4);border-radius:999px;font-size:10px;letter-spacing:.14em;color:var(--cyan);font-family:var(--font-mono)}
.dp-diag-tag-dot{width:6px;height:6px;background:var(--cyan);border-radius:50%;box-shadow:0 0 8px var(--cyan)}
@media (max-width:900px){.dp-diag-grid{grid-template-columns:1fr}}

/* TREATMENT LIST */
.dp-tx-list{display:grid;gap:0;border-top:1px solid var(--border)}
.dp-tx-row{display:grid;grid-template-columns:60px 1fr 200px 140px;gap:var(--s-5);padding:var(--s-5) 0;border-bottom:1px solid var(--border);align-items:center}
.tx-num{font-family:var(--font-mono);font-size:11px;color:var(--cyan);letter-spacing:.1em}
.tx-name{font-family:var(--font-display);font-size:20px;font-weight:500;letter-spacing:-.015em;color:var(--fg-0)}
.tx-desc{font-size:14px;color:var(--fg-2);margin-top:4px}
.tx-time{font-family:var(--font-mono);font-size:11px;color:var(--fg-3);letter-spacing:.08em}
.tx-pill{justify-self:end;padding:6px 14px;border-radius:999px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;border:1px solid var(--border-strong);color:var(--fg-2)}
@media (max-width:900px){.dp-tx-row{grid-template-columns:1fr}.tx-time,.tx-pill{justify-self:start}}

/* FAQ */
.faq-item{border-bottom:1px solid var(--border);padding:var(--s-5) 0;cursor:pointer}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);font-family:var(--font-display);font-size:18px;font-weight:500;color:var(--fg-0)}
.faq-toggle{font-family:var(--font-mono);font-size:14px;color:var(--fg-3);transition:transform 200ms var(--ease)}
.faq-item[open] .faq-toggle{transform:rotate(45deg);color:var(--cyan)}
.faq-a{margin-top:var(--s-4);font-size:15px;color:var(--fg-2);line-height:1.7;max-width:75ch}
details.faq-item summary{list-style:none}
details.faq-item summary::-webkit-details-marker{display:none}

/* RENDIA 3D VIDEO EMBEDS */
.rendia-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-4);margin-top:var(--s-6)}
.rendia-grid-2{grid-template-columns:repeat(2,1fr);gap:var(--s-5)}
@media (max-width:1100px){.rendia-grid:not(.rendia-grid-2){grid-template-columns:1fr 1fr}}
@media (max-width:700px){.rendia-grid,.rendia-grid-2{grid-template-columns:1fr}}
.rendia-card{background:var(--surface-2,var(--surface));border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:border-color .2s ease}
.rendia-card:hover{border-color:var(--border-strong)}
.rendia-card-header{padding:18px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}
.rendia-card-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:var(--fg-3);text-transform:uppercase}
.rendia-card-title{font-size:16px;font-weight:500;color:var(--fg-0);margin-top:4px;line-height:1.3}
.rendia-card-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--cyan);padding:4px 10px;border:1px solid var(--cyan);border-radius:999px;flex-shrink:0;white-space:nowrap}
.rendia-embed{position:relative;background:radial-gradient(ellipse at center,rgba(27,65,170,0.18) 0%,#0a0c10 70%);min-height:200px;overflow:hidden}
.rendia-embed::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,229,255,0.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,229,255,0.05) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(ellipse 70% 100% at 50% 50%,#000 0%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 70% 100% at 50% 50%,#000 0%,transparent 80%);pointer-events:none;z-index:0}
.rendia-embed::after{content:"";position:absolute;top:50%;left:50%;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;background:rgba(0,229,255,0.12);border:1px solid rgba(0,229,255,0.4);box-shadow:0 0 40px rgba(0,229,255,0.2),inset 0 0 20px rgba(0,229,255,0.1);z-index:1;animation:rendiaPulse 2.2s ease-out infinite}
.rendia-embed > var{position:relative;z-index:3}
.rendia-poster-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0;border-style:solid;border-width:14px 0 14px 22px;border-color:transparent transparent transparent var(--cyan);z-index:2;filter:drop-shadow(0 0 12px rgba(0,229,255,0.6))}
.rendia-poster-label{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:2;font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;color:rgba(255,255,255,0.7);text-transform:uppercase;pointer-events:none}
@keyframes rendiaPulse{0%,100%{box-shadow:0 0 40px rgba(0,229,255,0.2),inset 0 0 20px rgba(0,229,255,0.1);transform:scale(1)}50%{box-shadow:0 0 60px rgba(0,229,255,0.4),inset 0 0 30px rgba(0,229,255,0.15);transform:scale(1.06)}}
.rendia-embed var{margin:0!important}

/* PILLARS strip — site-wide tagline used after hero on every deep-dive */
.dp-pillars{padding:var(--s-7) 0;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(0,180,200,.04),transparent)}
.dp-pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-5);align-items:center}
.dp-pillar{display:flex;align-items:baseline;gap:var(--s-3);padding:var(--s-3) 0;font-family:var(--font-display);font-size:clamp(18px,1.6vw,24px);font-weight:400;color:var(--fg-0);letter-spacing:-.01em}
.dp-pillar-num{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--cyan);flex-shrink:0}
@media (max-width:900px){.dp-pillars-grid{grid-template-columns:1fr;gap:var(--s-3)}}
