/* ==========================================================================
   AWD Custom Block CSS - Clean Refactored Version
========================================================================== */

/* ==========================
   Career Post Shortcode
========================== */
.awd-career-item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; padding: 40px 30px; border: 1px solid #f3e7c8; border-radius: 0; background-color: #f3e7c8; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
.awd-career-item-header h3.awd-career-title { font-size: 32px; margin: 0 0 1rem 0; line-height: 1.2; }
.awd-career-excerpt { margin-bottom: 1rem; color: #555; line-height: 1.5; }
.awd-career-item-cta { margin-top: auto; margin-bottom: 0; }
.awd-career-button, .career-lang-toggle a:hover, a.button.application-button:hover { color: #fff; border-color: #000; background: #000; }
.awd-career-button { font-family: 'David Libre', serif; font-size: 1rem; font-weight: 500; line-height: 1; display: inline-block; max-width: 200px; padding: 15px 30px; color: #fff; border: 1px solid #000; border-radius: 0; background: #000; text-decoration: none; -webkit-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; }
.awd-career-button:hover { background: #333; border-color: #333; }
.awd-career-list { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; gap: 2rem; }
.awd-career-grid { display: -ms-grid; display: grid; max-width: 1140px; margin: 50px auto; -ms-grid-columns: (minmax(300px, 1fr))[auto-fit]; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1rem; }

/* ==========================
   Video Popup
========================== */
.awd-fancybox-video-wrap { line-height: 0; position: relative; display: inline-block; overflow: hidden; max-width: 100%; cursor: pointer; background-color: transparent; }
.awd-fancybox-video, .awd-fancybox-video img { display: block; width: 100%; }
.awd-fancybox-video { position: relative; overflow: hidden; text-decoration: none; color: inherit; }
.awd-fancybox-video-wrap img { height: auto; border-radius: 8px; -o-object-fit: cover; object-fit: cover; aspect-ratio: 16 / 9; }
.awd-overlay { position: absolute; display: -webkit-box; display: -ms-flexbox; display: flex; pointer-events: none; background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .3)), to(rgba(0, 0, 0, .5))); background: -o-linear-gradient(top, rgba(0, 0, 0, .3), rgba(0, 0, 0, .5)); background: linear-gradient(to bottom, rgba(0, 0, 0, .3), rgba(0, 0, 0, .5)); top: 0; right: 0; bottom: 0; left: 0; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
.awd-overlay-content { padding: 1rem; text-align: center; pointer-events: none; color: #fff; }
.awd-play-icon { display: inline-block; width: 64px; height: 64px; -webkit-transition: background .3s ease; -o-transition: background .3s ease; transition: background .3s ease; border-radius: 50%; background: rgba(255, 255, 255, .2); }
.awd-play-icon svg { display: block; width: 100%; height: 100%; }
.awd-fancybox-video:hover .awd-play-icon { background: rgba(255, 255, 255, .4); }
.awd-overlay-title { font-size: 1.1rem; font-weight: 500; line-height: 1.3; margin-top: .75rem; text-shadow: 0 1px 3px rgba(0, 0, 0, .4); }

/* ==========================
   Image Card Block
========================== */
.awd-card-link { display: block; overflow: hidden; cursor: pointer; text-decoration: none; color: inherit; border-radius: 16px; }
.awd-card-link:hover .awd-card-icon { background: #f2f2f2; }
.awd-card { position: relative; overflow: hidden; border-radius: 16px; background-color: #000; }
.awd-card::after { position: absolute; z-index: 0; bottom: 0; left: 0; width: 100%; height: 40%; content: ''; pointer-events: none; background: -webkit-gradient(linear, left bottom, left top, from(rgba(17, 26, 47, .85)), color-stop(30%, rgba(17, 26, 47, .6)), color-stop(60%, rgba(17, 26, 47, .3)), to(rgba(17, 26, 47, 0))); background: -o-linear-gradient(bottom, rgba(17, 26, 47, .85), rgba(17, 26, 47, .6) 30%, rgba(17, 26, 47, .3) 60%, rgba(17, 26, 47, 0)); background: linear-gradient(to top, rgba(17, 26, 47, .85), rgba(17, 26, 47, .6) 30%, rgba(17, 26, 47, .3) 60%, rgba(17, 26, 47, 0)); }
.awd-card img { width: 100%; height: auto; -webkit-transition: -webkit-transform .4s ease; transition: -webkit-transform .4s ease; -o-transition: transform .4s ease; transition: transform .4s ease; transition: transform .4s ease, -webkit-transform .4s ease; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); -webkit-transform-origin: center; -ms-transform-origin: center; transform-origin: center; -o-object-fit: cover; object-fit: cover; aspect-ratio: 690 / 479; }
.awd-card-link:hover .awd-card img { -webkit-transform: scale(1.03); -ms-transform: scale(1.03); transform: scale(1.03); }
.awd-card-overlay { position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; display: -webkit-box; display: -ms-flexbox; display: flex; padding: 10px 100px 27px 33px; background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, .65)), to(rgba(0, 0, 0, 0))); background: -o-linear-gradient(bottom, rgba(0, 0, 0, .65), rgba(0, 0, 0, 0)); background: linear-gradient(to top, rgba(0, 0, 0, .65), rgba(0, 0, 0, 0)); -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; gap: 1rem; }
.awd-card.image-card-block .awd-card-overlay { padding: 10px 100px 10px 31px; }
.awd-card-text { color: #fff; }
.awd-card h3.awd-card-title, .awd-card-title { font-size: 1.25rem; font-weight: 600; margin: 0 0 .25rem; letter-spacing: -.045em; color: #fff; line-height: 1.2; }
.awd-card.image-card-block h3.awd-card-title { font-size: 32px; color: #fff; }
.awd-card-subtitle { font-size: 14px; margin: 0; opacity: .85; line-height: 1.4; }
.awd-card-icon { display: -webkit-box; display: -ms-flexbox; display: flex; width: 44px; height: 44px; -webkit-transition: background .3s ease; -o-transition: background .3s ease; transition: background .3s ease; color: #111; border-radius: 50%; background: #fff; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-flex-negative: 0; flex-shrink: 0; }
.awd-card-icon svg { -webkit-transition: -webkit-transform .3s ease; transition: -webkit-transform .3s ease; -o-transition: transform .3s ease; transition: transform .3s ease; transition: transform .3s ease, -webkit-transform .3s ease; -webkit-transform: rotate(0); -ms-transform: rotate(0); transform: rotate(0); }
.awd-card-link:hover .awd-card-icon svg { -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }

/* ==========================
   Image Card Split Block
========================== */
.awd-card-split-grid { display: -ms-grid; display: grid; -ms-grid-columns: 1fr 1fr; grid-template-columns: 1fr 1fr; gap: 1rem; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
.awd-card-left .awd-card-title { font-size: 32px; margin: 4px 0 8px; letter-spacing: -.04em; line-height: 1.2; }
.awd-card-left .awd-card-subtitle { font-size: 14px; line-height: 1.19; margin: 0; color: #111a2f; }
.awd-card-right { position: relative; text-align: right; }
.awd-card-image-wrapper { position: relative; display: inline-block; }
.awd-card-image-wrapper img { width: 100%; height: auto; min-height: 145px; -webkit-transition: -webkit-transform .4s ease; transition: -webkit-transform .4s ease; -o-transition: transform .4s ease; transition: transform .4s ease; transition: transform .4s ease, -webkit-transform .4s ease; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); border-radius: 16px; -o-object-fit: cover; object-fit: cover; aspect-ratio: 154 / 145; }
.awd-card-link:hover .awd-card-image-wrapper img { -webkit-transform: scale(1.03); -ms-transform: scale(1.03); transform: scale(1.03); }
.awd-card-icon { position: absolute; right: 7px; bottom: 4px; padding: .5em; border-radius: 50%; background: #fff; -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, .2); box-shadow: 0 0 6px rgba(0, 0, 0, .2); }
.awd-card.image-card-block .awd-card-icon { right: 44px; bottom: 33px; }
.awd-image-card-va.awd-card-link { overflow: visible; }

/* ==========================
   Card Background Variants
========================== */
.awd-card-split-wrapper.awd-bg-light { overflow: hidden; max-width: 400px; padding: 22px 25px; border: 1px solid rgba(255, 255, 255, .5); border-radius: 16px; background: -webkit-gradient(linear, left top, right bottom, color-stop(22.15%, #fff), color-stop(63.01%, rgba(255, 255, 255, .3))); background: -o-linear-gradient(top left, #fff 22.15%, rgba(255, 255, 255, .3) 63.01%); background: linear-gradient(120.17deg, #fff 22.15%, rgba(255, 255, 255, .3) 63.01%); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.awd-card-split-wrapper.awd-bg-dark { overflow: hidden; max-width: 400px; padding: 22px 25px; color: #fff; border: 1px solid rgba(255, 255, 255, .15); border-radius: 16px; background: -webkit-gradient(linear, left top, right bottom, color-stop(22.15%, #111a2f), color-stop(63.01%, rgba(17, 26, 47, .3))); background: -o-linear-gradient(top left, #111a2f 22.15%, rgba(17, 26, 47, .3) 63.01%); background: linear-gradient(120.17deg, #111a2f 22.15%, rgba(17, 26, 47, .3) 63.01%); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.awd-card-split-wrapper.awd-bg-dark .awd-card-title, .awd-card-split-wrapper.awd-bg-dark .awd-card-subtitle { color: #fff; }

/* ==========================
   Image Card VA Block
========================== */
.awd-image-card-va.awd-card-link { cursor: default; }
a.awd-image-card-va.awd-card-link { cursor: pointer; }
.awd-image-card-va { position: relative; display: block; max-width: 100%; text-decoration: none; border-radius: 20px; background: #fff; -webkit-box-shadow: 0 4px 20px rgba(0, 0, 0, .08); box-shadow: 0 4px 20px rgba(0, 0, 0, .08); }
.awd-image-card-va-inner { position: relative; }
.awd-image-card-va-inner img { width: 100%; height: auto; border-radius: 16px; -o-object-fit: cover; object-fit: cover; aspect-ratio: 332 / 237; -webkit-transition: -webkit-transform .4s ease; transition: -webkit-transform .4s ease; -o-transition: transform .4s ease; transition: transform .4s ease; transition: transform .4s ease, -webkit-transform .4s ease; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); -webkit-transform-origin: center; -ms-transform-origin: center; transform-origin: center; }
.awd-image-card-va-content { position: absolute; right: 0; bottom: -48px; left: 0; max-width: 78%; margin: 0 auto; padding: 25px 15px 25px 17px; text-align: left; border: 1px solid rgba(255, 255, 255, .5); border-radius: 16px; background: -webkit-gradient(linear, left top, right bottom, color-stop(22.15%, #fff), color-stop(63.01%, rgba(255, 255, 255, .3))); background: -o-linear-gradient(top left, #fff 22.15%, rgba(255, 255, 255, .3) 63.01%); background: linear-gradient(120.17deg, #fff 22.15%, rgba(255, 255, 255, .3) 63.01%); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.awd-image-card-va-content h3 { font-size: 1.55rem; font-weight: 500; margin: 0 0 .5rem; color: #111827; line-height: 1.2; }
.awd-image-card-va-content p { font-size: 14px; margin: 0; color: #111a2f; line-height: 1.4; }
.awd-image-card-va.align-left .awd-image-card-va-content { bottom: -65px; left: -27px; max-width: 89%; margin-left: 0; }
.awd-image-card-va.align-right .awd-image-card-va-content { right: -27px; bottom: -65px; max-width: 89%; margin-right: 0; }
.awd-image-card-va-inner .awd-card-icon { top: 15px; right: 15px; bottom: unset; }
a.awd-image-card-va:hover .awd-image-card-va-inner img { -webkit-transform: scale(1.03); -ms-transform: scale(1.03); transform: scale(1.03); }
a.awd-image-card-va:hover .awd-card-icon { background: #f2f2f2; }
a.awd-image-card-va:hover .awd-card-icon svg { -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }

/* ==========================
   Agenda Block
========================== */
.awd-agenda-block { padding: 33px 25px; border-radius: 24px; max-width: 700px; }
.speaker-profile-grid .awd-agenda-block { max-width: 800px; }
.awd-agenda-block h3.agenda-day { margin-bottom: 30px; letter-spacing: -2px; line-height: 1.2; }
.agenda-columns { font-size: 16px; letter-spacing: -.06em; display: -webkit-box; display: -ms-flexbox; display: flex; gap: 15px; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
.agenda-item { border-bottom: 1px solid #0B5448; padding-bottom: 30px; }
.awd-agenda-block.agenda-bg-color-primary .agenda-item { border-color: #fff; }
.agenda-item:not(:first-of-type) { padding-top: 30px; }
.agenda-time { font-weight: bold; color: #0B5448; -webkit-box-flex: 0; -ms-flex: 0 0 26%; flex: 0 0 26%; }
.agenda-location { -webkit-box-flex: 0; -ms-flex: 0 0 30%; flex: 0 0 30%; }
.awd-agenda-block .agenda-description { margin-bottom: 0; -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto; line-height: 1.5; }
.agenda-read-more, .read-more-toggle { display: block; margin-top: .5rem; cursor: pointer; text-decoration: underline; color: #0B5448; border: none; background: none; -webkit-transition: color .3s ease-out; -o-transition: color .3s ease-out; transition: color .3s ease-out; }
.agenda-speaker-link { display: block; margin-top: .5rem; }
.agenda-speaker-link a { cursor: pointer; text-decoration: underline; color: #0B5448; border: none; background: none; -webkit-transition: color .3s ease-out; -o-transition: color .3s ease-out; transition: color .3s ease-out; }
.agenda-description > a.agenda-read-more { margin-top: 0; }
.agenda-read-more:hover, .read-more-toggle:hover, .agenda-read-more:focus, .read-more-toggle:focus, .agenda-speaker-link a:hover, .agenda-speaker-link a:focus { text-decoration: none; color: #0B5448; -webkit-transition: .3s ease-out; -o-transition: .3s ease-out; transition: .3s ease-out; }
.agenda-description-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto; }
.agenda-modal-content { width: 100%; min-width: 640px; max-width: 640px; padding: 10px; }
.agenda-modal-day { font-size: 36px; line-height: 1.1; margin-bottom: 21px; padding-bottom: 20px; border-bottom: 1px solid #000; }
.agenda-modal-meta { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; margin-bottom: 15px; row-gap: 5px; }
.agenda-modal-time { font-size: 18px; font-weight: 700; margin-bottom: 5px; color: #000; }
.f-button.is-close-btn {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    opacity: 1;
    color: #fff;
    border: 0;
    border-radius: 0;
    background: #FA4B3A !important;
    top: -18px !important;
}
.f-button.is-close-btn svg { -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }
.f-button.is-close-btn:hover, .f-button.is-close-btn:focus { background: #0B5448; }
ul.agenda-modal-resources-list { margin: 0; padding-left: 15px; }
.speaker-bio a { background: #000; display: inline-block; padding: 5px 15px; border-radius: 6px; font-weight: 500; text-transform: uppercase; -webkit-transition: .3s ease-out; -o-transition: .3s ease-out; transition: .3s ease-out; font-size: .8em; color: #fff; }
.speaker-bio a:hover { background: #0B5448; color: #fff; -webkit-transition: .3s ease-out; -o-transition: .3s ease-out; transition: .3s ease-out; }
ul.agenda-panelists { margin-left: 0; padding-left: 0; list-style-type: none; margin-bottom: 5px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; gap: 5px; }
.speaker-column h4, h4.agenda-modal-resources-heading { margin-bottom: 0.5rem; font-size: 1rem; text-transform: uppercase; font-weight: bold; font-family: 'Poppins', 'Inter', sans-serif; }
.agenda-panelists { list-style: none; margin: 0; padding: 0; }
.awd-agenda-block ul.agenda-panelists a:hover { text-decoration: underline; color: inherit; }
.agenda-modal-header.two-column-speakers { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; gap: 15px; margin-bottom: 20px; }
.awd-agenda-block.agenda-bg-color-primary * { color: #fff; }
.agenda-modal-item a { color: #0B5448; }
.agenda-modal-item a:hover { color: #FA4B3A; }
ul.agenda-panelists:empty { display: none; }

/* ==========================
   Media Queries
========================== */
@media screen and (max-width:1200px) {
   .agenda-columns { flex-direction: column; gap: 15px; }
   .agenda-columns > div { flex: 0 0 100%; width: 100%; max-width: 100%; }
}
@media screen and (max-width:1024px) {
   .awd-single-speaker .speaker-profile-grid { padding-top: 45px; padding-bottom: 45px; }
   .speaker-profile-grid .awd-agenda-block { max-width: 1024px; }
}
@media (max-width:768px) {
   .awd-career-grid { -ms-grid-columns: 1fr; grid-template-columns: 1fr; margin: 30px 15px; }
   .awd-card-split-grid { -ms-grid-columns: 1fr; grid-template-columns: 1fr; gap: 1.5rem; }
   .agenda-columns { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; gap: 10px; }
   .agenda-time, .agenda-location { -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto; }
   .agenda-modal-content { min-width: auto; max-width: 95vw; }
   .f-button.is-close-btn {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
    top: 0px !important;
    right: 0 !important;
    opacity: 1 !important;
}
.f-button.is-close-btn:hover {
   background-color: #000 !important;
}
}
@media (max-width:640px) {
   #fancybox-1 .fancybox__content button.f-button.is-close-btn { opacity: 1; top: -17px; right: 8px; }
   .agenda-modal-content { max-width: 80vw; padding: 0; }
}
@media (max-width:480px) {
   .awd-play-icon { width: 48px; height: 48px; }
   .awd-overlay-title { font-size: 1rem; }
}
