/* ============================================================
   CMEducation – New Design System v8 – 2026-02-07 UPDATE
   Based on HTML template: Raleway, #D81F73, #0A1461
   Changes: timeline agenda, 4col speakers, 80% heading line,
   no card agenda, heading-empty hide, Word HTML parser
   ============================================================ */

/* --- Reset & Base --- */
*{box-sizing:border-box;margin:0;padding:0}
body{display:flex;flex-direction:column;min-height:100vh;font-family:'Raleway',sans-serif;color:#111;background:#fff}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img{max-width:100%;height:auto}
input,select,textarea,button{font-family:'Raleway',sans-serif}

/* --- Scrollbar --- */
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:#FCE8F2}
::-webkit-scrollbar-thumb{background:#D81F73;border-radius:4px}
*{scrollbar-width:thin;scrollbar-color:#D81F73 #FCE8F2}

/* --- Container --- */
.container{max-width:1200px;margin:0 auto;padding:0 20px}

/* ============================================================
   TOP BAR
   ============================================================ */
.top-bar{background:#FCE8F2}
.container-top{padding:10px 20px;text-align:right;display:flex;justify-content:flex-end;align-items:center;gap:15px}
.login,.register{font-weight:300;color:#D81F73;text-decoration:none;font-size:14px;transition:opacity .3s}
.login:hover,.register:hover{opacity:.7}
.register{background:#0A1461;color:#fff;padding:8px 16px;border-radius:0}
.logged-user-bar{display:flex;align-items:center;gap:10px;position:relative;cursor:pointer}
.logged-user-bar i{color:#D81F73}
.logged-user-bar p{font-weight:300;color:#D81F73;font-size:14px}
.logged-user-bar .icon-arrow{transition:transform .3s}
.logged-user-bar.open .icon-arrow{transform:rotate(180deg)}
.logged-dropdown{display:none;position:absolute;top:100%;right:0;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.12);min-width:200px;z-index:1002;border-radius:4px;overflow:hidden}
.logged-dropdown.active{display:block}
.logged-dropdown a{display:flex;align-items:center;gap:10px;padding:12px 16px;font-weight:300;color:#333;font-size:14px;border-bottom:1px solid #f0f0f0;transition:background .2s}
.logged-dropdown a:last-child{border-bottom:none}
.logged-dropdown a:hover{background:#FCE8F2}
.logged-dropdown a i{color:#D81F73;width:18px;text-align:center}

/* ============================================================
   HEADER / NAV
   ============================================================ */
header{background:#fff;position:sticky;top:0;z-index:1000;box-shadow:0 2px 4px rgba(0,0,0,.04)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:15px 0}
.logo{font-size:28px;font-weight:300}
.logo img{height:50px;width:auto}
.nav-menu{display:flex;align-items:center;gap:8px}
.nav-menu a{font-weight:300;color:#D81F73;text-decoration:none;font-size:14px;transition:color .3s}
.nav-menu a:hover,.nav-menu a.active{color:#0A1461;font-weight:700}
.sep{color:#D81F73;font-size:14px}
.hamburger{display:none;flex-direction:column;cursor:pointer;margin-right:20px;z-index:1001}
.hamburger span{width:25px;height:3px;background:#111;margin:4px 0;transition:.3s}

/* Submenu dropdown in nav */
.nav-item{position:relative}
.nav-item .submenu-dropdown{display:none;position:absolute;top:100%;left:0;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.12);min-width:200px;z-index:1003;border-radius:4px;overflow:hidden;padding:8px 0}
.nav-item:hover .submenu-dropdown{display:block}
.nav-item .submenu-dropdown a{display:block;padding:8px 16px;font-weight:300;color:#333;font-size:13px;border-bottom:none}
.nav-item .submenu-dropdown a:hover{background:#FCE8F2;color:#D81F73}

/* ============================================================
   SLIDER
   ============================================================ */
.slider{position:relative;overflow:visible}
.slides{width:100%;height:600px;position:relative;overflow:hidden}
.slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity .6s ease}
.slide.active{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover}
.slider-controls{position:absolute;top:50%;width:100%;display:flex;justify-content:space-between;transform:translateY(-50%);padding:0 10px;pointer-events:none}
.arrow{background:rgba(0,0,0,.45);color:#fff;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;pointer-events:all;transition:background .3s}
.arrow:hover{background:rgba(0,0,0,.7)}
.overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#fff;padding:20px;width:60%;max-width:none;pointer-events:none}
.overlay a{pointer-events:all}
.overlay h1{font-size:clamp(20px,4vw,36px);line-height:1.2;font-weight:700;margin:0 0 15px;text-shadow:0 2px 8px rgba(0,0,0,.35)}
.overlay .subtitle{font-size:clamp(16px,3vw,18px);margin-bottom:15px;font-weight:300;text-shadow:0 1px 4px rgba(0,0,0,.3)}
.overlay .director{font-size:clamp(14px,2.5vw,16px);margin-bottom:15px;font-weight:300;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.3)}
.overlay .meta{margin-bottom:15px}
.overlay .meta span{font-weight:700;margin:0 5px;font-size:clamp(14px,2.5vw,16px)}
.slider-logo-container{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:15px;align-items:center;padding:8px 20px;background:rgba(255,255,255,.85);border-radius:4px}
.slider-logo-container .slider-logo img{height:40px;width:auto}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn-primary{display:inline-block;background:#D81F73;color:#fff;padding:12px 28px;font-weight:700;text-decoration:none;font-size:14px;text-transform:uppercase;letter-spacing:1px;transition:background .3s,transform .2s;border:none;cursor:pointer}
.btn-primary:hover{background:#b8165f;transform:translateY(-1px)}
.btn-secondary{display:inline-block;background:#0A1461;color:#fff;padding:10px 22px;font-weight:300;text-decoration:none;font-size:14px;transition:background .3s;border:none;cursor:pointer}
.btn-secondary:hover{background:#081050}
.btn-outline{display:inline-block;border:2px solid #D81F73;color:#D81F73;padding:10px 22px;font-weight:700;font-size:14px;background:transparent;cursor:pointer;transition:all .3s}
.btn-outline:hover{background:#D81F73;color:#fff}
.button-blue{display:inline-block;background:#0A1461;color:#fff;padding:10px 22px;font-weight:300;text-decoration:none;font-size:14px;transition:background .3s;border:none;cursor:pointer}
.button-blue:hover{background:#081050}

/* ============================================================
   EVENTS SECTION (Homepage)
   ============================================================ */
.events{padding:40px 0;background:#f9f9f9;flex:1}
.events__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}
.events__top h3{font-size:24px;color:#0A1461;font-weight:400;letter-spacing:.5px}

/* --- Event Card (new design) --- */
.card{display:flex;max-width:1200px;margin:0 auto 30px;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:box-shadow .3s,transform .3s}
.card:hover{box-shadow:0 4px 20px rgba(0,0,0,.15);transform:translateY(-2px)}
.card-text{flex:1;padding:25px 30px;display:flex;flex-direction:column}
.meta-small{margin-bottom:12px}
.meta-small span{color:#e4227e;font-weight:300;margin-right:10px;font-size:14px}
hr.separator-line{display:block;width:100%;height:2px;margin:12px 0;border:none;background:linear-gradient(to right,#062476,#ffffff)}
.card-text h2{font-size:22px;line-height:1.3;color:#0A1461;margin:10px 0;font-weight:700}
.card-text h2 a{color:#0A1461;transition:color .3s}
.card-text h2 a:hover{color:#D81F73}
.subtitle-small{color:#888;font-size:15px;margin-bottom:8px;font-weight:300}
.speaker-title{font-size:13px;color:#e4227e;text-transform:uppercase;margin-bottom:6px;font-weight:300}
.speaker-name{font-size:15px;color:#D81F73;margin-bottom:12px;font-weight:300}
.event__specialization{font-size:14px;color:#666;margin-bottom:8px;font-weight:300}
.card-footer{display:flex;align-items:center;justify-content:flex-end;gap:15px;margin-top:auto;padding-top:10px;margin-bottom:10px}
.free{font-size:16px;color:#0A1461;font-weight:700}
.card-image{flex:0 0 380px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.card-image img{width:100%;height:100%;object-fit:cover;object-position:center}

/* ============================================================
   ARCHIVES SECTION
   ============================================================ */
.archives{padding:40px 0;background:#fff}
.archives h2{font-size:24px;color:#0A1461;font-weight:400;text-align:center;margin-bottom:30px;position:relative;padding-bottom:18px;letter-spacing:.5px}
.archives h2::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80%;height:1px;background:linear-gradient(90deg,transparent,#D81F73,transparent);border-radius:2px}

/* ============================================================
   PAGE CONTENT AREA (subpages)
   ============================================================ */
.content{padding:40px 0;max-width:1200px;margin:0 auto;flex:1}
.content .container{max-width:1200px}
.page-title{margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #FCE8F2}
.page-title h1{font-size:28px;color:#0A1461;font-weight:400;letter-spacing:.5px}
.page-title img{width:150px;height:150px;border-radius:50%;object-fit:cover;margin-bottom:15px}
.page-title h2{font-size:18px;color:#888;font-weight:300}

/* Page content generic styling */
.content p{font-weight:300;line-height:1.7;margin-bottom:15px;color:#333}
.content a{color:#D81F73;transition:color .3s}
.content a:hover{color:#0A1461}

/* ============================================================
   HERO (Event View)
   ============================================================ */
.hero{position:relative;overflow:hidden}
.hero__container{background-size:cover;background-position:center;min-height:500px;display:flex;align-items:center;justify-content:center;position:relative}
.hero__container::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.45)}
.hero__content{position:relative;z-index:1;text-align:center;color:#fff;padding:40px 20px;max-width:800px}
.hero__content h2{font-size:clamp(24px,4vw,42px);line-height:1.2;font-weight:700;margin-bottom:15px;text-shadow:0 2px 8px rgba(0,0,0,.35)}
.hero__content p{font-size:18px;font-weight:300;margin-bottom:10px;text-shadow:0 1px 4px rgba(0,0,0,.3)}
.hero__button{display:inline-block;background:#D81F73;color:#fff;padding:14px 32px;font-weight:700;font-size:16px;text-transform:uppercase;letter-spacing:1px;margin-top:15px;transition:background .3s,transform .2s}
.hero__button:hover{background:#b8165f;transform:translateY(-2px)}
.hero-logo-container{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);display:flex;gap:15px;z-index:1;background:rgba(255,255,255,.85);padding:8px 20px;border-radius:4px}
.hero-logo-container .slider-logo img{height:40px;width:auto}
.slider-information{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;align-items:center;margin-top:15px}
.slider-information span{display:flex;align-items:center;gap:6px;font-weight:300;font-size:15px}
.slider-information i{color:#D81F73}
.slider-free span{font-weight:700}

/* ============================================================
   SPEAKERS / LECTURERS / MODERATORS
   ============================================================ */
.speakers{padding:40px 0}
.speakers h1,.speakers h2{font-size:24px;color:#0A1461;font-weight:400;text-align:center;margin-bottom:30px;position:relative;padding-bottom:18px;letter-spacing:.5px}
.speakers h1::after,.speakers h2::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80%;height:1px;background:linear-gradient(90deg,transparent,#D81F73,transparent);border-radius:2px}
.speakers__container{display:flex;flex-wrap:wrap;gap:30px;justify-content:center;max-width:1200px;margin:0 auto}
.speaker{width:calc(25% - 23px);min-width:220px;box-sizing:border-box;background:#fff;border-radius:12px;overflow:visible;box-shadow:0 2px 12px rgba(0,0,0,.08);transition:box-shadow .3s,transform .3s;display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 20px 25px;position:relative}
.speaker:hover{box-shadow:0 6px 24px rgba(0,0,0,.12);transform:translateY(-3px)}
.speaker__image{width:140px;height:140px;border-radius:50%;overflow:hidden;flex-shrink:0;margin-bottom:18px;border:4px solid #FCE8F2;box-shadow:0 4px 12px rgba(216,31,115,.15)}
.speaker__image img{width:100%;height:100%;object-fit:cover;display:block}
.speaker__content{flex:1;display:flex;flex-direction:column;align-items:center}
.speaker__content span{font-size:17px;font-weight:700;color:#0A1461;margin-bottom:3px}
.speaker__content small{font-size:13px;color:#888;display:block;margin-bottom:10px;font-weight:300}
.speaker__content p{font-size:13px;font-weight:300;color:#555;line-height:1.6;margin-bottom:15px;flex:1}

/* ============================================================
   AGENDA – Timeline Design
   ============================================================ */
.agenda{padding:40px 0}
.agenda h2{font-size:24px;color:#0A1461;font-weight:400;text-align:center;margin-bottom:40px;position:relative;padding-bottom:18px;letter-spacing:.5px}
.agenda h2::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80%;height:1px;background:linear-gradient(90deg,transparent,#D81F73,transparent);border-radius:2px}
.agenda__wrapp{padding:0;background:transparent;border-radius:0}
.agenda__container{margin:0 auto;position:relative;padding-left:140px;max-width:1100px}
/* Vertical timeline line */
.agenda__container::before{content:'';position:absolute;left:125px;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,#D81F73,#FCE8F2 70%,transparent);border-radius:2px}
/* Each agenda item – clean, no card */
.agenda__single{display:flex;gap:0;margin-bottom:0;padding:16px 0 18px 0;background:transparent;border-radius:0;box-shadow:none;border-left:none;position:relative;transition:none;margin-left:30px}
.agenda__single + .agenda__single{margin-top:0;border-top:none}
/* Timeline dot – removed per request, keep only the vertical line */
.agenda__single::before{display:none}
.agenda__single::after{display:none}
/* Time badge – aligned with heading */
.agenda__single .time{position:absolute;left:-170px;top:12px;min-width:120px;display:flex;align-items:center;justify-content:flex-end;flex-shrink:0}
.agenda__single .time span{font-weight:700;color:#D81F73;font-size:13px;background:#FCE8F2;padding:6px 14px;border-radius:20px;white-space:nowrap;text-align:center;line-height:1.4;box-shadow:0 2px 8px rgba(216,31,115,.1)}
/* Content area */
.agenda__content{flex:1;min-width:0}
.agenda__content h3{font-size:15px;color:#0A1461;margin-bottom:6px;line-height:1.4;margin-top:0;padding-top:0}
.agenda__content h3 strong{display:block;font-weight:700;font-size:16px;margin-bottom:2px}
.agenda__content > p{font-size:13px;font-weight:300;color:#555;line-height:1.6}
.agenda-description{font-size:13px;font-weight:300;color:#555;line-height:1.6}
/* --- Cleaned sub-items (generated by JS from Word HTML) --- */
.agenda-sub-items{margin-top:8px;padding-top:0;border-top:none}
.agenda-sub-item{display:flex;gap:14px;padding:10px 0;align-items:flex-start;position:relative}
.agenda-sub-item + .agenda-sub-item{border-top:none}
.agenda-sub-time{font-size:12px;font-weight:700;color:#D81F73;background:#FCE8F2;padding:4px 12px;border-radius:14px;white-space:nowrap;flex-shrink:0;line-height:1.4}
.agenda-sub-title{font-size:13px;font-weight:400;color:#333;line-height:1.6;flex:1}
.agenda-sub-speaker{display:block;font-size:12px;font-weight:300;color:#888;margin-top:3px;font-style:italic}
.agenda-sub-sponsor{display:inline-block;font-size:11px;font-weight:600;color:#0A1461;background:#EBF0FF;padding:2px 10px;border-radius:10px;margin-top:5px}
/* Bullet sub-items (from Word lists) */
.agenda-sub-bullet{display:flex;gap:14px;padding:6px 0 6px 26px;align-items:flex-start;position:relative}
.agenda-sub-bullet::before{content:'';position:absolute;left:14px;top:14px;width:5px;height:5px;background:#D81F73;border-radius:50%}
.agenda-sub-bullet + .agenda-sub-bullet{border-top:none}
/* --- Legacy/raw Word HTML cleanup (fallback styling) --- */
.agenda-description p{margin:0;padding:4px 0}
.agenda-description .MsoNormal,.agenda-description .MsoListParagraph,
.agenda-description .MsoListParagraphCxSpFirst,.agenda-description .MsoListParagraphCxSpMiddle,
.agenda-description .MsoListParagraphCxSpLast{margin:0 !important;padding:4px 0 !important;text-indent:0 !important;margin-left:0 !important;line-height:1.6 !important;font-family:'Raleway',sans-serif !important;font-size:13px !important;color:#444 !important}
.agenda-description style{display:none !important}
.agenda-description font[color="#636363"],.agenda-description font[color="#595959"]{color:#888 !important;font-style:italic;font-size:12px !important}
.agenda-description font[color="#003163"]{color:#0A1461 !important;font-weight:600;font-size:11px !important;background:#EBF0FF;padding:2px 8px;border-radius:8px;display:inline-block;margin-top:4px}
.agenda-description span[style*="mso-tab-count"]{display:inline-block;width:16px}
/* Styling for tables, lists inside agenda description */
.agenda-description table{width:100%;border-collapse:collapse;margin:8px 0;font-size:13px}
.agenda-description table td{padding:5px 10px;border-bottom:1px solid #f0f0f0;font-weight:300;color:#444;vertical-align:top}
.agenda-description table td:first-child{font-weight:700;color:#D81F73;white-space:nowrap;width:auto;padding-right:15px}
.agenda-description table tr:last-child td{border-bottom:none}
.agenda-description ul,.agenda-description ol{margin:8px 0 8px 20px;font-size:13px;font-weight:300;color:#444}
.agenda-description li{margin-bottom:4px;line-height:1.5}
.agenda-description strong,.agenda-description b{font-weight:700;color:#0A1461}
/* Also support old <p> wrapper as fallback */
.agenda__content p p{margin:0;padding:0}
.agenda__content p style{display:none !important}
.agenda__patron{display:flex;align-items:center;gap:10px;margin:8px 0}
.agenda__patron span{font-size:12px;color:#888;font-weight:300}
.agenda__button{text-align:center;margin-top:30px}

/* ============================================================
   DESCRIPTION SECTION
   ============================================================ */
.description{padding:40px 0}
.description__container{margin:0 auto}
.description__container h2{font-size:24px;color:#0A1461;font-weight:400;margin-bottom:25px;position:relative;padding-bottom:18px;letter-spacing:.5px}
.description__container h2::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80%;height:1px;background:linear-gradient(90deg,transparent,#D81F73,transparent);border-radius:2px}
.description__container p{font-size:15px;font-weight:300;color:#444;line-height:1.8}

/* ============================================================
   PARTNERS
   ============================================================ */
.important-partners,.substantive-partners{padding:40px 0}
.important-partners h2,.substantive-partners h1,.substantive-partners h2{font-size:24px;color:#0A1461;font-weight:400;text-align:center;margin-bottom:30px;position:relative;padding-bottom:18px;letter-spacing:.5px}
.important-partners h2::after,.substantive-partners h1::after,.substantive-partners h2::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80%;height:1px;background:linear-gradient(90deg,transparent,#D81F73,transparent);border-radius:2px}
.importnat-partners__containter,.partners__container{margin:0 auto}
.partners__image,.partners_with_shadow{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;align-items:center}
.partners__image img,.partners_with_shadow img{height:80px;width:auto;padding:10px;transition:transform .3s;filter:grayscale(.3)}
.partners__image img:hover,.partners_with_shadow img:hover{transform:scale(1.05);filter:grayscale(0)}

/* ============================================================
   WORTH / MUST KNOW - Infinite Carousel
   ============================================================ */
.worth,.must-know{padding:40px 0;max-width:100%;overflow:hidden}
.worth h2,.must-know h2{font-size:24px;color:#0A1461;font-weight:400;text-align:center;margin-bottom:30px;position:relative;padding-bottom:18px;letter-spacing:.5px}
.worth h2::after,.must-know h2::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80%;height:1px;background:linear-gradient(90deg,transparent,#D81F73,transparent);border-radius:2px}
/* Carousel track */
.worth__container,.must-know__container{display:flex;gap:25px;animation:carouselScroll 30s linear infinite;width:max-content;padding:10px 0}
.worth__container:hover,.must-know__container:hover{animation-play-state:paused}
@keyframes carouselScroll{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
@keyframes carouselScrollReverse{
  0%{transform:translateX(-50%)}
  100%{transform:translateX(0)}
}
.must-know__container[data-carousel="reverse"]{animation-name:carouselScrollReverse}
.cart{background:#fff;border-radius:12px;padding:28px 24px;box-shadow:0 2px 10px rgba(0,0,0,.07);flex-shrink:0;width:300px;display:flex;flex-direction:column;gap:12px;border:1px solid #f0f0f0;transition:box-shadow .3s,border-color .3s}
.cart:hover{box-shadow:0 4px 20px rgba(0,0,0,.12);border-color:#FCE8F2}
.cart__image{display:none}
.cart__content{flex:1;min-width:0}
.cart__content span{font-size:15px;font-weight:700;color:#0A1461;display:block;margin-bottom:6px;line-height:1.3;padding-left:14px;border-left:3px solid #D81F73}
.cart__content p{font-size:13px;font-weight:300;color:#555;line-height:1.6}

/* ============================================================
   VIDEO LIST
   ============================================================ */
.video-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:25px}
.video-box-parent{overflow:hidden;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:box-shadow .3s,transform .3s}
.video-box-parent:hover{box-shadow:0 4px 16px rgba(0,0,0,.15);transform:translateY(-3px)}
.video-box{position:relative;overflow:hidden}
.video-box img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;transition:transform .3s}
.video-box:hover img{transform:scale(1.05)}
.video-box .hover_holder{position:absolute;inset:0;background:rgba(10,20,97,.7);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}
.video-box:hover .hover_holder{opacity:1}
.hover_outer{text-align:center;padding:20px}
.hover_inner .title{color:#fff;font-size:16px;font-weight:700;display:block;margin-bottom:12px}
.hover_inner .anim_04{display:inline-block;background:#D81F73;color:#fff;padding:8px 20px;font-weight:700;font-size:14px;text-transform:uppercase;transition:background .3s}
.hover_inner .anim_04:hover{background:#b8165f}
.datconf{color:rgba(255,255,255,.7);font-size:12px;font-weight:300;margin-top:10px}

/* ============================================================
   FORMS (Login / Register / Edit / Event Register)
   ============================================================ */
.login_page{padding:60px 20px;flex:1;display:flex;align-items:flex-start;justify-content:center;padding-top:40px}
.register_box{width:100%;max-width:1100px}
.event-form{padding:40px 20px}
.event-form__container{max-width:1200px;margin:0 auto;background:#fff;border-radius:12px;padding:40px 50px;box-shadow:0 2px 16px rgba(0,0,0,.06)}
.event-form__container h2{font-size:24px;color:#0A1461;font-weight:400;text-align:center;margin-bottom:25px;position:relative;padding-bottom:18px;letter-spacing:.5px}
.event-form__container h2::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80%;height:1px;background:linear-gradient(90deg,transparent,#D81F73,transparent);border-radius:2px}
.event-form__container > div{margin-bottom:15px}
/* 2-column layout for form fields */
.form_contacts{display:flex;flex-wrap:wrap;gap:0 20px}
.form_contacts > input[type="text"],
.form_contacts > input[type="email"],
.form_contacts > input[type="password"],
.form_contacts > input[type="tel"],
.form_contacts > input[type="number"],
.form_contacts > select{width:calc(50% - 10px) !important}
.form_contacts > input[type="hidden"]{width:0 !important;height:0;padding:0;margin:0;border:none;display:none}
.form_contacts > textarea{width:100% !important}
.form_contacts > .form-regulations,
.form_contacts > .inovice_info,
.form_contacts > .required-fields,
.form_contacts > .fee-info-register-event,
.form_contacts > .register-event-button,
.form_contacts > button,
.form_contacts > div,
.form_contacts > .flash{width:100%}
.event-form input[type="text"],
.event-form input[type="email"],
.event-form input[type="password"],
.event-form input[type="tel"],
.event-form input[type="number"],
.event-form select,
.event-form textarea,
.form_contacts input[type="text"],
.form_contacts input[type="email"],
.form_contacts input[type="password"],
.form_contacts input[type="tel"],
.form_contacts input[type="number"],
.form_contacts select,
.form_contacts textarea{padding:12px 16px;margin-bottom:15px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-weight:300;color:#333;transition:border-color .3s;background:#fff}
/* Default full-width for event-form outside form_contacts */
.event-form input[type="text"],
.event-form input[type="email"],
.event-form input[type="password"],
.event-form input[type="tel"],
.event-form input[type="number"],
.event-form select,
.event-form textarea{width:100%}
.form_contacts input:focus,.form_contacts select:focus,.form_contacts textarea:focus,
.event-form input:focus,.event-form select:focus,.event-form textarea:focus{border-color:#D81F73;outline:none}
.form_contacts label,.event-form label{font-size:13px;font-weight:300;color:#555;line-height:1.5}
.form-regulations{display:flex;align-items:flex-start;gap:10px;margin-bottom:15px}
.form-regulations input[type="checkbox"]{margin-top:3px;accent-color:#D81F73;flex-shrink:0}
.form-regulations label{font-size:13px;font-weight:300;color:#555;line-height:1.5}
.form-regulations label a{color:#D81F73;text-decoration:underline}
.required-fields{font-size:12px;color:#888;margin-bottom:15px}
.fee-info-register-event{font-size:15px;color:#0A1461;font-weight:700;margin-bottom:15px}
.inovice_info{margin:20px 0 15px;display:flex;align-items:center;gap:10px}
.inovice_info span{font-size:15px;font-weight:700;color:#0A1461}
.register-event-button{text-align:center;margin-top:20px}
.forgot_link{margin:10px 0;display:flex;gap:20px}
.forgot_link a{font-size:14px;color:#D81F73;font-weight:300}
.forgot_link a:hover{text-decoration:underline}
.flash .alert{padding:12px 16px;border-radius:4px;margin-bottom:15px;font-size:14px;font-weight:300}
.flash .alert-danger{background:#fce4ec;color:#c62828;border:1px solid #ef9a9a}
.flash .alert-success{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}
.flash .alert-info{background:#e3f2fd;color:#1565c0;border:1px solid #90caf9}
.flash .alert-warning{background:#fff8e1;color:#f57f17;border:1px solid #ffe082}
.popup-login-link{text-align:center;margin:10px 0}
.popup-login-link a{color:#D81F73;font-weight:700;font-size:16px}
.popup-login-info{text-align:center;font-weight:300;color:#666;font-size:14px}

/* ============================================================
   CUSTOMER DASHBOARD
   ============================================================ */
.logged-user{padding:40px 20px;max-width:1200px;margin:0 auto;flex:1}
.event-planned,.archival-events{margin-bottom:40px}
.event-planned h2,.archival-events h2{font-size:24px;color:#0A1461;font-weight:400;margin-bottom:25px;position:relative;padding-bottom:18px;letter-spacing:.5px}
.event-planned h2::after,.archival-events h2::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80%;height:1px;background:linear-gradient(90deg,transparent,#D81F73,transparent);border-radius:2px}
.event-planned__container{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:25px}
.single-event{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:box-shadow .3s,transform .3s}
.single-event:hover{box-shadow:0 4px 16px rgba(0,0,0,.15);transform:translateY(-2px)}
.single-event-container{padding:25px}
.single-event__top{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:12px}
.single-event__top span{display:flex;align-items:center;gap:6px;font-size:14px;color:#D81F73;font-weight:300}
.single-event__top i{color:#D81F73}
.single-event-container h3{font-size:20px;color:#0A1461;font-weight:700;margin-bottom:8px;line-height:1.3}
.single-event-container p{font-size:14px;font-weight:300;color:#555;margin-bottom:6px}
.single-event-bottom{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:15px}
.white__button{display:inline-block;border:2px solid #D81F73;color:#D81F73;padding:8px 18px;font-weight:700;font-size:13px;background:transparent;cursor:pointer;transition:all .3s}
.white__button:hover{background:#D81F73;color:#fff}

/* ============================================================
   PAGINATION
   ============================================================ */
.pagination_own_box{display:flex;justify-content:center;padding:30px 0}
.pagination_own{display:flex;gap:5px;align-items:center;flex-wrap:wrap;justify-content:center}
.pagination_own a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-weight:300;color:#0A1461;transition:all .3s;background:#fff}
.pagination_own a:hover{border-color:#D81F73;color:#D81F73}
.pagination_own a.active{background:#D81F73;color:#fff;border-color:#D81F73;font-weight:700}

/* ============================================================
   POPUP / MODAL (video etc.)
   ============================================================ */
.popup_main{position:relative}
.popup_body{display:none;position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center}
.popup_back{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:2001}
.popup_close{position:absolute;top:15px;right:20px;color:#fff;font-size:28px;cursor:pointer;z-index:2003}
.popup_contain{position:relative;z-index:2002;background:#fff;border-radius:8px;padding:30px;max-width:900px;width:90%;max-height:90vh;overflow-y:auto}
.popup_contain h2{font-size:22px;color:#0A1461;font-weight:700;margin-bottom:20px}
.popup-video video{width:100%;border-radius:4px;margin-bottom:15px}
.open_popup{cursor:pointer}

/* Video popup initially hidden */
.popup_body{display:none}
.popup_body.active{display:flex}

/* Remodal overrides - MUST hide by default until JS initializes */
.remodal{display:none !important}
.remodal-is-initialized.remodal{display:block !important}
.remodal-wrapper .remodal{display:block !important;background:#fff;border-radius:8px;padding:30px}
.remodal h1{font-size:22px;color:#0A1461;font-weight:700;margin-bottom:20px}
.remodal_popup_close{position:absolute;top:10px;right:15px;font-size:24px;cursor:pointer;color:#888}

/* ============================================================
   COOKIE BANNER
   ============================================================ */
.cookie{display:none;position:fixed;bottom:0;left:0;right:0;background:#0A1461;color:#fff;z-index:3000;padding:20px}
.cookie.active{display:block}
.cookie__container{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.cookie__container p{flex:1;font-size:14px;font-weight:300;line-height:1.6}
.cookie__container p a{color:#D81F73;text-decoration:underline}
.cookie-close{position:absolute;top:10px;right:15px;cursor:pointer;font-size:18px}
.btn-accept{display:inline-block;background:#D81F73;color:#fff;padding:10px 24px;font-weight:700;font-size:14px;cursor:pointer;transition:background .3s;text-decoration:none;border:none;flex-shrink:0}
.btn-accept:hover{background:#b8165f}

/* ============================================================
   FOOTER
   ============================================================ */
footer{margin-top:auto}
footer .footer-top{padding:20px 0;text-align:center;border-top:1px solid #eee}
footer .footer-top a{margin:0 10px;color:#111;text-decoration:none;font-weight:300;font-size:14px;transition:color .3s}
footer .footer-top a:hover{color:#D81F73}
footer .footer-top .sep{color:#ccc}
footer .footer-bottom{background:#FCE8F2;padding:12px 0}
.footer-inner{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:300;color:#555}
.footer-inner a{color:#D81F73}

/* ============================================================
   BREADCRUMB
   ============================================================ */
.breadcrumb{padding:15px 0;font-size:13px;font-weight:300;color:#888}
.breadcrumb a{color:#D81F73;transition:color .3s}
.breadcrumb a:hover{color:#0A1461}
.breadcrumb .sep{margin:0 8px;color:#ccc}

/* ============================================================
   FLASH MESSAGES
   ============================================================ */
.alert{padding:12px 16px;border-radius:4px;margin-bottom:15px;font-size:14px;font-weight:300}
.alert-danger{background:#fce4ec;color:#c62828;border:1px solid #ef9a9a}
.alert-success{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}
.alert-info{background:#e3f2fd;color:#1565c0;border:1px solid #90caf9}
.alert-warning{background:#fff8e1;color:#f57f17;border:1px solid #ffe082}

/* ============================================================
   HOVER POPUP (Event registration success)
   ============================================================ */
.hover_bkgr_fricc{display:none;position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.6);text-align:center}
.hover_bkgr_fricc .helper{display:inline-block;height:100%;vertical-align:middle}
.hover_bkgr_fricc > div{display:inline-block;vertical-align:middle;background:#fff;border-radius:8px;padding:40px;max-width:500px;width:90%;position:relative}
.hover_bkgr_fricc p{font-size:16px;font-weight:300;color:#333;line-height:1.6}
.popupCloseButton{position:absolute;top:10px;right:15px;font-size:28px;cursor:pointer;color:#888;transition:color .3s}
.popupCloseButton:hover{color:#333}

/* ============================================================
   ERROR PAGE
   ============================================================ */
.error-page{padding:80px 20px;text-align:center;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}
.error-page h1{font-size:72px;color:#D81F73;font-weight:700;margin-bottom:10px}
.error-page h2{font-size:24px;color:#0A1461;font-weight:700;margin-bottom:15px}
.error-page p{font-size:16px;font-weight:300;color:#555;margin-bottom:25px}

/* ============================================================
   MAIN WRAPPER (for pages using <main>)
   ============================================================ */
main{flex:1}
.main-event{max-width:1200px;margin:0 auto;padding:0 20px;width:100%}

/* ============================================================
   SECTION HEADINGS – delicate style with fading pink line
   ============================================================ */
.section-heading{font-size:24px;color:#0A1461;font-weight:400;text-align:center;margin-bottom:30px;position:relative;padding-bottom:18px;letter-spacing:.5px}
.section-heading::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80%;height:1px;background:linear-gradient(90deg,transparent,#D81F73,transparent);border-radius:2px}
/* Hide line on empty headings */
.heading-empty::after{display:none !important}
.heading-empty{padding-bottom:0 !important;margin-bottom:15px !important}

/* ============================================================
   SCROLL REVEAL ANIMATIONS
   ============================================================ */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.25,.46,.45,.94),transform .7s cubic-bezier(.25,.46,.45,.94)}
.reveal.revealed{opacity:1;transform:translateY(0)}
/* Staggered children – cards, speakers, agenda items */
.reveal-child{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}
.reveal-child.revealed{opacity:1;transform:translateY(0)}
/* Page entrance – top elements animate ONLY on homepage */
.page-home .top-bar{opacity:0;transform:translateY(-10px);transition:opacity .5s ease .1s,transform .5s ease .1s}
.page-home .top-bar.revealed{opacity:1;transform:translateY(0)}
.page-home header{opacity:0;transform:translateY(-10px);transition:opacity .5s ease .25s,transform .5s ease .25s}
.page-home header.revealed{opacity:1;transform:translateY(0)}
/* Hero entrance – fade in on homepage */
.page-home .hero{opacity:0;transform:translateY(15px);transition:opacity .7s ease .4s,transform .7s ease .4s}
.page-home .hero.revealed{opacity:1;transform:translateY(0)}
/* Ensure no flash of invisible content if JS fails */
.no-js .reveal,.no-js .reveal-child,.no-js .top-bar,.no-js header,.no-js .hero{opacity:1;transform:none}

/* ============================================================
   RESPONSIVE
   ============================================================ */
/* Speakers: 3 per row for medium screens */
@media(max-width:1100px) and (min-width:769px){
  .speaker{width:calc(33.333% - 20px)}
}
@media(max-width:768px){
  .hamburger{display:flex}
  .nav-menu{display:flex;flex-direction:column;position:absolute;top:100%;left:0;width:100%;background:#fff;box-shadow:0 4px 4px -2px rgba(0,0,0,.2);z-index:1001;max-height:0;overflow:hidden;transition:max-height .4s ease}
  .nav-menu.active{max-height:600px}
  .nav-menu .sep{display:none}
  .nav-menu a{padding:14px 20px;text-align:center;border-bottom:1px solid #eee;font-weight:300;display:block}
  .nav-menu a:last-child{border-bottom:none}
  .nav-item .submenu-dropdown{position:static;box-shadow:none;background:#f9f9f9}
  .slides{height:300px}
  .overlay{width:90%;padding:20px;top:50%;transform:translate(-50%,-50%)}
  .btn-primary{width:80%;display:block;margin:15px auto 0;text-align:center}
  .card{flex-direction:column}
  .card-text{width:100%}
  .card-image{flex:unset;width:100%;height:200px}
  .footer-inner{flex-direction:column;gap:10px;text-align:center}
  .logo{margin-left:10px}
  .hero__container{min-height:300px}
  .hero__content h2{font-size:24px}
  .speaker{width:calc(50% - 15px)}
  .cart{width:260px}
  .video-items{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
  .event-planned__container{grid-template-columns:1fr}
  .events__top{flex-direction:column;gap:10px;text-align:center}
  /* Agenda timeline mobile: stack vertically */
  .agenda__container{padding-left:0}
  .agenda__container::before{display:none}
  .agenda__single{flex-direction:column;gap:8px;margin-left:0;padding:14px 0}
  .agenda__single::before,.agenda__single::after{display:none}
  .agenda__single .time{position:static;min-width:auto;justify-content:flex-start;margin-bottom:2px}
  .event-form__container{padding:25px 20px;margin:0 10px}
  .form_contacts > input[type="text"],
  .form_contacts > input[type="email"],
  .form_contacts > input[type="password"],
  .form_contacts > input[type="tel"],
  .form_contacts > input[type="number"],
  .form_contacts > select{width:100% !important}
  .container-top{padding:10px 20px}
  .slider-information{flex-direction:column;gap:8px}
  .popup_contain{padding:20px}
  hr.separator-line{width:80%;margin:12px auto}
}
@media(max-width:540px){
  .speaker{width:100%;max-width:340px}
}
@media(min-width:769px){
  .overlay{width:800px}
}
@media(max-width:480px){
  .header-inner{padding:12px 0}
  .logo img{height:38px}
  .card-text{padding:18px}
  .event-form__container{padding:20px 15px}
}
