/* WEP Event Core – section styles. Uses the theme's colour variables where available. */

.wep-speakers,
.wep-sponsor-grid,
.wep-testimonials {
	display: grid;
	gap: 30px;
}

/* ---------- Speakers ---------- */
.wep-speakers { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); margin-top: 30px; }
.wep-speakers .speaker-holder { text-align: center; }
.wep-speakers .img-holder { display: block; overflow: hidden; aspect-ratio: 1 / 1; background: #eee; }
.wep-speakers .img-holder img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform .3s ease; }
.wep-speakers .img-holder:hover img { transform: scale(1.04); }
.wep-speakers .speaker-content { padding: 15px 10px 0; }
.wep-speakers .speaker-title { margin: 0 0 5px; font-size: 1.1em; }
.wep-speakers .speaker-title a { color: var(--dark-color, #222); text-decoration: none; }
.wep-speakers .speaker-title a:hover { color: var(--primary-color, #0b5cff); }
.wep-speakers .speaker-role { margin: 0 0 10px; color: var(--text-color, #777); font-size: .9em; }

/* Layout 1: round photos */
.speaker-layout-1 .img-holder { border-radius: 50%; max-width: 200px; margin: 0 auto; }
/* Layout 2: cards */
.speaker-layout-2 .speaker-holder { background: #fff; box-shadow: 0 2px 14px rgba(0,0,0,.08); padding-bottom: 15px; }
/* Layout 3: image left, text right */
.speaker-layout-3 { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }
.speaker-layout-3 .speaker-holder { display: grid; grid-template-columns: 120px 1fr; gap: 15px; align-items: center; text-align: left; }
.speaker-layout-3 .speaker-content { padding: 0; }
.speaker-layout-3 .wep-social { justify-content: flex-start; }
/* Layout 4: overlay caption */
.speaker-layout-4 .speaker-holder { position: relative; }
.speaker-layout-4 .speaker-content { background: #fff; margin: -40px 15px 0; position: relative; padding: 15px; box-shadow: 0 2px 14px rgba(0,0,0,.08); }

.wep-placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, #e5e7eb, #cbd5e1); }

/* Social icons */
.wep-social { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; list-style: none; margin: 0; padding: 0; }
.wep-social a { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 1px solid #ddd; color: inherit; text-decoration: none; }
.wep-social a:hover { background: var(--primary-color, #0b5cff); border-color: var(--primary-color, #0b5cff); color: #fff; }

/* ---------- Sponsors ---------- */
.wep-sponsors { margin-top: 30px; }
.wep-sponsor-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); align-items: center; }
.wep-sponsor { display: flex; align-items: center; justify-content: center; min-height: 110px; padding: 15px; border: 1px solid #eee; background: #fff; }
.wep-sponsor img { max-width: 100%; max-height: 80px; width: auto; height: auto; object-fit: contain; filter: grayscale(.2); transition: filter .2s; }
.wep-sponsor a:hover img { filter: none; }
.wep-sponsor-name { font-weight: 600; text-align: center; }
.sponsors-layout-2 .sponsor-wrap { padding: 20px 0; }
.sponsors-layout-2 .sponsor-subtitle { text-align: center; margin: 0 0 20px; text-transform: uppercase; letter-spacing: .08em; font-size: .95em; color: var(--primary-color, #0b5cff); }

/* ---------- Organizers (theme provides .organisers-profile grid) ---------- */
.organisers-profile { margin-top: 30px; }
.organisers-profile .organiser-role { color: var(--text-color, #777); margin: -8px 0 10px; font-size: .9em; }
.organisers-profile .wep-social { justify-content: flex-start; }

/* ---------- Testimonials ---------- */
.wep-testimonials { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); margin-top: 30px; }
.wep-testimonial { margin: 0; padding: 25px; background: #fff; box-shadow: 0 2px 14px rgba(0,0,0,.07); display: flex; flex-direction: column; justify-content: space-between; }
.wep-testimonial blockquote { margin: 0 0 20px; padding: 0; border: 0; font-style: italic; }
.wep-testimonial blockquote p:last-child { margin-bottom: 0; }
.wep-testimonial figcaption { display: flex; align-items: center; gap: 12px; }
.wep-testimonial .wep-avatar { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }
.wep-testimonial figcaption span { display: flex; flex-direction: column; }
.wep-testimonial small { color: var(--text-color, #777); }
/* Layout 2: single column, larger quote */
.testimonials-layout-2 { grid-template-columns: 1fr; max-width: 760px; margin-left: auto; margin-right: auto; }
.testimonials-layout-2 .wep-testimonial blockquote { font-size: 1.15em; }
/* Layout 3: centered */
.testimonials-layout-3 .wep-testimonial { text-align: center; align-items: center; }
.testimonials-layout-3 .wep-testimonial figcaption { flex-direction: column; }

/* ---------- Venue ---------- */
.venue-layout-main h2 { text-align: center; margin-bottom: 30px; }
.venue-info-wrapper .img-holder img { width: 100%; height: auto; display: block; }
.venue-location { font-weight: 600; }
.wep-venue-map iframe { width: 100%; min-height: 300px; border: 0; }
@media (max-width: 767px) {
	.venue-info-wrapper { grid-template-columns: 1fr; }
	.speaker-layout-3 .speaker-holder { grid-template-columns: 90px 1fr; }
}

/* ---------- Schedule layout 1 (base styles formerly shipped with the plugin) ---------- */
section.schedule-layout .schedule-holder .session-block { display: flex; gap: 25px; padding: 28px 0; border-bottom: 1px solid #e5e5e5; }
section.schedule-layout .schedule-holder .session-block:last-child { border-bottom: 0; }
section.schedule-layout .schedule-holder .session-block .icon { flex: 0 0 52px; width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 20px; }
section.schedule-layout .session-content-wrapper { flex: 1 1 auto; min-width: 0; }
section.schedule-layout .session-content-wrapper .time-room { display: flex; flex-wrap: wrap; gap: 6px 20px; margin: 0 0 8px; font-size: .95em; }
section.schedule-layout .session-content-wrapper .title-1 { margin: 0 0 10px; }
section.schedule-layout .session-content-wrapper p { margin: 0 0 15px; }
section.schedule-layout .session-speakers { display: flex; flex-wrap: wrap; gap: 15px 30px; }
section.schedule-layout .session-speakers .speakers { display: flex; align-items: center; gap: 12px; }
section.schedule-layout .session-speakers .speakers .img-holder { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 50%; overflow: hidden; }
section.schedule-layout .session-speakers .speakers .text span { display: block; line-height: 1.35; }
section.schedule-layout .session-speakers .speakers .prof-comp { font-size: .85em; color: var(--text-color, #777); }
@media (max-width: 575px) {
	section.schedule-layout .schedule-holder .session-block { gap: 15px; }
	section.schedule-layout .schedule-holder .session-block .icon { flex-basis: 40px; width: 40px; height: 40px; font-size: 16px; }
}
.schedule-holder .speakers .img-holder .wep-initials { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-width: 36px; min-height: 36px; border-radius: 50%; background: var(--primary-color, #6c4bd8); color: #fff; font-weight: 600; text-decoration: none; }
