/* ════════════════════════════════════════════════════════════
   SPEAKER POSTER — Exact structure provided.
   Scoped reset so it doesn't break the surrounding app UI.
   ════════════════════════════════════════════════════════════ */
:root{
  --navy:#0e2a47; --navy2:#123a6b; --blue:#009fe3; --green:#009640; --dia:#2e6db4;
  --sdg8:#a21942; --sdg9:#fd6925; --sdg10:#dd1367; --paper:#f7f9fc; --ink:#1c2b3a;
}

/* Scoped reset */
.poster, .poster * { margin:0; padding:0; box-sizing:border-box; }

.poster{
  width:1000px; 
  background:var(--paper);
  position:relative;
  overflow:hidden;
  color:var(--ink);
  box-shadow: 0 20px 50px rgba(0,0,0,0.3);
  background-image:radial-gradient(#dfe8f2 1px,transparent 1px);
  background-size:24px 24px;
  font-family:'Open Sans',sans-serif;
}

/* HEADER */
header{
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 70%,#1b4f8a 100%);
  color:#fff;padding:30px 40px 25px;position:relative;
}

.logos { display: flex; justify-content: space-between; align-items: flex-start; width: 100%; margin-bottom: 20px; transform: translate(5px,10px);}
.logos div { background: transparent; height: 80px; display: flex; align-items: flex-start; justify-content: center; padding: 0; }
.logos img { max-height: 100%; max-width: 100%; object-fit: contain; }
.logos img[src=""] { display: none; }
.logos img[src*="DIaDeRC"] { transform: translate(0px, 15px); }

h1.conf{font-family:Montserrat;font-weight:900;font-size:30px;letter-spacing:0.5px;line-height:1.1;}
.theme{font-size:16px;font-style:italic;margin-top:8px;color:#cfe6f7;font-weight:600;}
.organizers{font-size:13px;margin-top:6px;color:#a0c4df;}
.chips{margin-top:15px;display:flex;gap:10px;flex-wrap:wrap;}
.chip{
  background:var(--green);color:#fff;font-family:Montserrat;font-weight:800;font-size:13px;
  padding:6px 14px;border-radius:30px;
}
.chip.b{background:var(--blue);} 
.chip.o{background:transparent;border:2px solid #7fb3dd; color:#fff;}

/* SPEAKER */
.speaker{display:flex;gap:30px;padding:35px 40px 20px;align-items:center;}
.photo{flex:0 0 280px;}
.photo .ring{
  width:280px;height:280px;border-radius:50%;padding:8px;
  background:conic-gradient(var(--blue),var(--green),var(--dia),var(--blue));}
.photo img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:6px solid #fff;}
.eyebrow{font-family:Montserrat;font-weight:800;font-size:14px;letter-spacing:2px;color:var(--dia);}
.eyebrow span{background:var(--sdg9);color:#fff;padding:3px 10px;border-radius:6px;margin-left:8px;font-size:12px;}
h2.name{font-family:Montserrat;font-weight:900;font-size:30px;color:var(--navy);line-height:1.1;margin:10px 0 8px;}
.role{font-size:18px;font-weight:700;color:var(--dia);}
.aff{
  display:inline-block;margin-top:10px;background:var(--green);color:#fff;
  font-family:Montserrat;font-weight:800;font-size:15px;padding:6px 16px;border-radius:30px;
}
.bio{margin-top:12px;font-size:15px;line-height:1.5;color:#33475c;}

/* PAPER */
.paper{
  margin:20px 40px;background:#fff;border-radius:16px;
  box-shadow:0 10px 25px rgba(14,42,71,.08);
  border-left:12px solid;
  border-image:linear-gradient(var(--sdg8),var(--sdg9),var(--sdg10)) 1;
  padding:25px 30px;
}
.subtheme{font-family:Montserrat;font-weight:800;font-size:14px;letter-spacing:1px;color:var(--sdg10);}
h3.title{font-family:Montserrat;font-weight:800;font-size:26px;color:var(--navy);line-height:1.25;margin:10px 0 15px;}
.sdgs{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap;}
.sdg{color:#fff;font-family:Montserrat;font-weight:800;font-size:12px;padding:6px 12px;border-radius:8px;}
.sdg8{background:var(--sdg8);} .sdg9{background:var(--sdg9);} .sdg10{background:var(--sdg10);}
.hl{display:grid;grid-template-columns:1fr 1fr;gap:15px;}
.card{
  background:var(--paper);border-radius:12px;padding:15px;position:relative;overflow:hidden;
  box-shadow:inset 0 0 0 1px #e2eaf3;
}
.card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;}
.card:nth-child(1):before{background:var(--sdg8);} 
.card:nth-child(2):before{background:var(--sdg9);}
.card:nth-child(3):before{background:var(--sdg10);} 
.card:nth-child(4):before{background:var(--green);}
.card b{font-family:Montserrat;font-size:18px;color:var(--navy);}
.card p{font-size:12.5px;margin-top:5px;line-height:1.4;}

/* SESSION */
.session{
  margin:20px 40px;background:#e6f6fe;border-radius:14px;display:flex;
  box-shadow:0 8px 20px rgba(0,159,227,.1);
}
.session div{flex:1;padding:18px 20px;border-right:1px solid #cfe9f8;}
.session div:last-child{border:none;}
.session small{font-family:Montserrat;font-weight:800;font-size:12px;letter-spacing:1.5px;color:var(--blue);}
.session p{font-size:15px;font-weight:700;color:var(--navy);margin-top:5px;line-height:1.3;}

/* FOOTER */
footer{
  background:var(--navy);color:#fff;padding:25px 40px 0; margin-top:20px;
}
.frow{display:flex;justify-content:space-between;font-size:14px;font-weight:600;padding-bottom:20px;flex-wrap:wrap;gap:10px; transform: translateY(10px);}
.frow span{color:#8fc4e8;font-weight:800;margin-right:6px;}
.stripe{display:flex;height:12px;}
.stripe i{flex:1;} 
.stripe i:nth-child(1){background:var(--sdg8);} 
.stripe i:nth-child(2){background:var(--sdg9);} 
.stripe i:nth-child(3){background:var(--sdg10);}

.conf{margin-left: 20px;}
.theme{margin-left: 20px;}
.organizers{margin-left: 20px;}
.chips{margin-left: 20px; transform: translateY(-7.5px);}

#pvEmail, #pvIg { color:#fff; }

@media print {
  .poster { width: 210mm; height: 297mm; box-shadow: none; margin: 0; page-break-after: always; }
}