/* =====================================================================
   HCP Education pages (hcp-education.php / education-des-professionnels.php)
   Moved here from the <style> blocks that were inside the page templates.
   Loaded after styles.css, so the cascade is the same as before.
   ===================================================================== */

.modal{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.5);
}

.modal-content{
    background:#fff;
    width:500px;
    padding:20px;
    margin:15% auto;
    border-radius:5px;
    text-align:left;
}

.close{
    float:right;
    cursor:pointer;
    font-size:20px;
}
@media all and (max-width: 790px){
    .frame{width:640px; height:500px;}   
    .frame1{width:367px; height:300px;}
}

/* ---------------------------------------------------------------
   Everything below reuses the site's CSS custom properties
   (colors / spacing / radius / shadow / font variables come from
   styles.css). Only the parts styles.css doesn't already define
   for this exact "resource list + accordion" layout are added
   here, scoped under .rs-wrap so nothing collides with the
   real site's classes.
--------------------------------------------------------------- */

body {
  margin: 0;
  font-family: var(--font-body, 'Open Sans', sans-serif);
  background-color: var(--background-alt, #f8f9fa);
  color: var(--text-primary, #222);
}

.rs-wrap {
  max-width: 380px;
  margin: var(--space-xl, 2rem) auto;
  padding: 0 var(--space-md, 1rem);
}

/* ---------- Additional Resources card ---------- */

.rs-card {
  background-color: var(--background, #fff);
  border: 1px solid var(--border, #e0e0e0);
  border-radius: var(--radius-md, .5rem);
  box-shadow: var(--shadow-sm);
  margin-bottom: var(--space-lg, 1.5rem);
  overflow: hidden;
}

.rs-card-body {
  padding: var(--space-md, 1rem) var(--space-lg, 1.5rem);
}

.rs-card-title {
  display: flex;
  align-items: center;
  gap: var(--space-sm, .5rem);
  font-family: var(--font-heading, 'Montserrat', sans-serif);
  font-weight: 600;
  font-size: var(--font-size-lg, 1.125rem);
  color: var(--primary, #550967);
  margin: 0 0 var(--space-xs, .25rem) 0;
}

.rs-card-title i {
  color: var(--primary, #550967);
  font-size: 1rem;
}

.rs-card-subtitle {
  font-size: var(--font-size-sm, .875rem);
  color: var(--text-secondary, #555);
  margin: 0 0 var(--space-md, 1rem) 0;
  line-height: 1.4;
}

.rs-item-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.rs-item {
  display: flex;
  align-items: center;
  gap: var(--space-sm, .5rem);
  padding: var(--space-sm, .5rem) 0;
  border-top: 1px solid var(--border, #e0e0e0);
  text-decoration: none;
}

.rs-item:first-child {
  border-top: none;
}

.rs-item-icon {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--accent, #D13A38);
  font-size: 1.35rem;
}

.rs-item-info {
  flex: 1 1 auto;
  min-width: 0;
}

.rs-item-title {
  display: block;
  font-size: var(--font-size-sm, .875rem);
  font-weight: 600;
  color: var(--text-primary, #222);
  line-height: 1.3;
}

.rs-item-meta {
  display: block;
  font-size: var(--font-size-xs, .75rem);
  color: var(--text-light, #777);
  margin-top: 2px;
}

.rs-item-download {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border-radius: var(--radius-circle, 50%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--primary, #550967);
  font-size: .95rem;
  transition: background-color var(--transition-fast, 150ms ease), color var(--transition-fast, 150ms ease);
}

.rs-item:hover .rs-item-download {
  background-color: var(--background-alt, #f0f0f0);
  color: var(--accent, #D13A38);
}

.rs-show-all {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs, .25rem);
  width: 100%;
  background: none;
  border: none;
  border-top: 1px solid var(--border, #e0e0e0);
  margin-top: var(--space-sm, .5rem);
  padding-top: var(--space-md, 1rem);
  font-family: var(--font-heading, 'Montserrat', sans-serif);
  font-weight: 600;
  font-size: var(--font-size-sm, .875rem);
  color: var(--primary, #550967);
  cursor: pointer;
}

.rs-show-all i {
  font-size: .75rem;
  transition: transform var(--transition-fast, 150ms ease);
}

/* ---------- Other Webinar Recordings ---------- */

.rs-accordion-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-md, 1rem) var(--space-lg, 1.5rem);
  font-family: var(--font-heading, 'Montserrat', sans-serif);
  font-weight: 600;
  font-size: var(--font-size-md, 1rem);
  color: var(--primary, #550967);
  background-color: var(--background, #fff);
  cursor: pointer;
}

.rs-accordion-header i {
  color: var(--primary, #550967);
  font-size: .9rem;
}

.rs-webinar-list {
  list-style: none;
  margin: 0;
  padding: 0 var(--space-lg, 1.5rem) var(--space-md, 1rem);
}

.rs-webinar-item {
  padding: var(--space-sm, .5rem) 0;
  border-top: 1px solid var(--border, #e0e0e0);
}

.rs-webinar-item:first-child {
  border-top: none;
}

.rs-webinar-title {
  display: block;
  font-size: var(--font-size-sm, .875rem);
  font-weight: 600;
  color: var(--primary-light, #7B2CAE);
  text-decoration: none;
  line-height: 1.35;
  margin-bottom: 2px;
}

.rs-webinar-title:hover {
  text-decoration: underline;
}

.rs-webinar-meta {
  display: block;
  font-size: var(--font-size-xs, .75rem);
  color: var(--text-light, #777);
  line-height: 1.5;
}

/* section headings aligned left */
.events-section h2::after {
    left: 0;
    transform: none;
}

/* responsive video */
.video-container {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    overflow: hidden;
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    border: 0;
}

/* past events toggle */
.hidden {
  display: none;
}

/* ---- small screens ---- */
@media (max-width: 600px) {
    .modal {
        overflow-y: auto;
        z-index: 2000;
    }
    .modal-content {
        width: auto;
        max-width: 500px;
        margin: 80px 16px 40px;
    }
}
