/* =========================================================
   EVENT MANAGER PRO - PUBLIC EVENT PAGE
   Based on current HTML structure
   ========================================================= */

:root{
  --emp-primary:#5B5FEF;
  --emp-primary-2:#6A63FF;
  --emp-primary-3:#EEF0FF;
  --emp-primary-4:#E5E7FF;
  --emp-text:#111827;
  --emp-text-soft:#667085;
  --emp-text-muted:#98A2B3;
  --emp-line:#EAECF0;
  --emp-bg:#F4F6FB;
  --emp-card:#FFFFFF;
  --emp-success:#12B76A;
  --emp-success-soft:#E8FFF3;
  --emp-danger:#F04438;
  --emp-warning:#F5B633;
  --emp-warning-soft:#FFF4D6;
  --emp-info:#36BFFA;
  --emp-radius:24px;
  --emp-radius-md:18px;
  --emp-radius-sm:14px;
  --emp-shadow:0 8px 30px rgba(17,24,39,.05);
  --emp-shadow-soft:0 16px 40px rgba(91,95,239,.08);
}

/* Page background */
body{
  background:var(--emp-bg);
}

.elementor-element-emp-public-main-col{
  padding-top:24px;
  padding-bottom:40px;
}

/* Main 2-col layout */
.elementor-element-emp-grid-2col > .elementor-container{
  max-width:1220px;
  gap:24px;
  align-items:flex-start;
}

.elementor-element-emp-left-col,
.elementor-element-emp-right-col{
  width:auto !important;
}

.elementor-element-emp-left-col{
  flex:1 1 0%;
  min-width:0;
}

.elementor-element-emp-right-col{
  flex:0 0 360px;
  max-width:360px;
}

/* General cards */
.emp-ui-card,
.emp-ui-secure{
  background:var(--emp-card) !important;
  border:1px solid var(--emp-line) !important;
  border-radius:24px !important;
  box-shadow:var(--emp-shadow);
  overflow:hidden;
}

.emp-ui-card + .emp-ui-card,
.emp-ui-card + .elementor-section,
.elementor-section + .emp-ui-card{
  margin-top:24px;
}

.emp-ui-card .elementor-widget-wrap{
  padding:0 !important;
}

/* Inner card content spacing */
.elementor-element-emp-about-col > .elementor-widget-wrap,
.elementor-element-emp-included-col > .elementor-widget-wrap,
.elementor-element-emp-agenda-col > .elementor-widget-wrap,
.elementor-element-emp-map-col > .elementor-widget-wrap,
.elementor-element-emp-secure-col > .elementor-widget-wrap{
  padding:28px !important;
}
.elementor-element-emp-form-col > .elementor-widget-wrap{
  padding:0 !important;
}

/* Hero card */
.emp-ui-hero{
  padding:0 !important;
}

.emp-ui-hero-image{
  width:100%;
  height:320px;
  object-fit:cover;
  display:block;
}

.emp-ui-hero-content{
  background:#fff;
}

.elementor-element-emp-hero-content-col > .elementor-widget-wrap{
  padding:22px 24px 24px !important;
}

.emp-ui-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:14px;
}

.emp-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:30px;
  padding:6px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  line-height:1;
  letter-spacing:-0.01em;
  border:1px solid transparent;
  text-transform:capitalize;
}

.emp-chip .emoji{
  width:14px;
  height:14px;
  margin:0;
}

.emp-chip-soft{
  background:#F2F4F7;
  color:#475467;
}

.emp-chip-warning{
  background:var(--emp-warning-soft);
  color:#946200;
  border-color:#F9DA8B;
}

.elementor-element-emp-hero-title h1{
  margin:0 0 18px;
  font-size:54px;
  line-height:1.05;
  letter-spacing:-0.04em;
  font-weight:800;
  color:var(--emp-text);
}

.emp-ui-hero-meta{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.emp-ui-meta-row{
  display:flex;
  align-items:center;
  gap:12px;
  color:#344054;
  font-size:15px;
  line-height:1.5;
}

.emp-ui-meta-row strong{
  font-weight:700;
  color:var(--emp-text);
}

.emp-ui-ico{
  width:42px;
  height:42px;
  min-width:42px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--emp-primary-3);
  color:var(--emp-primary);
}

.emp-ui-ico .emoji{
  width:18px;
  height:18px;
}

/* Headings */
.elementor-element-emp-about-title h2,
.elementor-element-emp-included-title h3,
.elementor-element-emp-agenda-title h3,
.elementor-element-emp-map-title h3{
  margin:0 0 18px;
  font-size:34px;
  line-height:1.08;
  letter-spacing:-0.03em;
  font-weight:800;
  color:var(--emp-text);
}

/* Text */
.elementor-element-emp-about-text p,
.elementor-element-emp-map-text p,
.emp-ui-secure-inner p,
.emp-ui-foot,
.emp-text-muted{
  color:var(--emp-text-soft);
  font-size:15px;
  line-height:1.75;
}

.elementor-element-emp-about-text p:last-child{
  margin-bottom:0;
}

/* Included benefits */
.emp-meta-list{
  list-style:none;
  padding:0;
  margin:0;
}

.emp-meta-list li{
  position:relative;
  padding-left:28px;
  margin-bottom:12px;
  color:#344054;
  font-size:15px;
  line-height:1.6;
}

.emp-meta-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  width:20px;
  height:20px;
  border-radius:999px;
  background:#E8FFF3;
  color:var(--emp-success);
  font-size:12px;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Agenda */
.emp-event-agenda{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.emp-event-agenda-row{
  display:flex;
  align-items:flex-start;
  gap:18px;
  padding:14px 0;
  border-bottom:1px solid var(--emp-line);
}

.emp-event-agenda-row:last-child{
  border-bottom:none;
  padding-bottom:0;
}

.emp-event-agenda-time{
  width:72px;
  min-width:72px;
  font-size:14px;
  font-weight:800;
  color:var(--emp-primary);
  background:var(--emp-primary-3);
  border:1px solid var(--emp-primary-4);
  border-radius:12px;
  text-align:center;
  padding:8px 10px;
}

.emp-event-agenda-title{
  font-size:16px;
  font-weight:700;
  color:var(--emp-text);
  line-height:1.5;
}

/* Map */
.emp-ui-map-mock{
  margin-top:14px;
  min-height:260px;
  border-radius:18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.25), rgba(255,255,255,.08)),
    #F2F4F7;
  border:1px solid var(--emp-line);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#98A2B3;
  font-size:14px;
  font-weight:600;
}

/* Sticky right col */
.emp-ui-sticky{
  position:sticky;
  top:24px;
}

/* Form card */
.emp-ui-form-card{
  overflow:visible;
}

.emp-ui-form{
  display:flex;
  flex-direction:column;
  gap:0;
}

.emp-ui-form__header{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.emp-ui-form__title{
  margin:0;
  font-size:32px;
  line-height:1.1;
  letter-spacing:-0.03em;
  font-weight:800;
  color:var(--emp-text);
}

.emp-ui-price{
  display:flex;
  align-items:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.emp-ui-price__main{
  font-size:46px;
  line-height:1;
  font-weight:800;
  letter-spacing:-0.04em;
  color:var(--emp-primary);
}

.emp-ui-price__meta{
  font-size:14px;
  color:var(--emp-text-soft);
  margin-bottom:5px;
}

.emp-ui-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  padding:9px 14px;
  border-radius:999px;
  background:#FFF6D8;
  color:#946200;
  font-size:13px;
  font-weight:700;
  border:1px solid #F6D77F;
}

.emp-ui-badge__dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#F5B633;
}

.emp-ui-form__body{
  display:flex;
  flex-direction:column;
  gap:22px;
}

.emp-ui-field{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.emp-ui-label{
  font-size:14px;
  font-weight:700;
  color:#344054;
}

/* Qty */
.emp-ui-qty{
  display:grid;
  grid-template-columns:52px 1fr 52px;
  align-items:center;
  gap:14px;
}

.emp-ui-qty__btn{
  height:52px;
  border:none;
  border-radius:14px;
  font-size:26px;
  line-height:1;
  cursor:pointer;
  transition:.2s ease;
  box-shadow:none;
}

.emp-ui-qty__btn--ghost{
  background:#F2F4F7;
  color:#98A2B3;
  border:1px solid var(--emp-line);
}

.emp-ui-qty__btn--ghost:hover{
  background:#EAECEF;
  color:#667085;
}

.emp-ui-qty__btn--primary{
  background:linear-gradient(135deg, var(--emp-primary), var(--emp-primary-2));
  color:#fff;
  box-shadow:0 10px 22px rgba(91,95,239,.22);
}

.emp-ui-qty__btn--primary:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(91,95,239,.28);
}

.emp-ui-qty__value{
  height:52px;
  border-radius:14px;
  border:1px solid var(--emp-line);
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  font-weight:800;
  color:var(--emp-text);
}

/* Benefit cards */
.emp-ui-benefits{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.emp-ui-benefit{
  border:1px solid var(--emp-line);
  border-radius:18px;
  padding:18px;
  background:#fff;
  box-shadow:none;
}

.emp-ui-benefit__top{
  display:flex;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}

.emp-ui-benefit__title{
  font-size:15px;
  font-weight:700;
  color:var(--emp-text);
  line-height:1.4;
}

.emp-ui-benefit__desc{
  font-size:13px;
  color:var(--emp-text-soft);
  line-height:1.5;
  margin-top:4px;
}

.emp-ui-benefit__price{
  font-size:22px;
  font-weight:800;
  color:var(--emp-primary);
  letter-spacing:-0.02em;
}

.emp-ui-benefit__meta{
  font-size:12px;
  color:var(--emp-text-muted);
}

.emp-ui-benefit__qty{
  display:grid;
  grid-template-columns:44px 1fr 44px;
  gap:12px;
  align-items:center;
}

.emp-ui-benefit__qty button{
  height:44px;
  border-radius:12px;
  border:1px solid var(--emp-line);
  background:#F8F9FC;
  color:#667085;
  font-size:20px;
  cursor:pointer;
}

.emp-ui-benefit__qty [data-emp-benef-qty]{
  font-size:22px;
  font-weight:800;
  text-align:center;
  color:var(--emp-text);
}

/* Total */
.emp-ui-total{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:18px 20px;
  border:1.5px solid #C7D7FE;
  border-radius:18px;
  background:linear-gradient(180deg, #FBFCFF 0%, #F7F9FF 100%);
}

.emp-ui-total__label{
  font-size:18px;
  font-weight:700;
  color:#344054;
}

.emp-ui-total__value{
  display:flex;
  align-items:flex-end;
  gap:8px;
}

.emp-ui-total__value span:first-child{
  font-size:40px;
  line-height:1;
  font-weight:800;
  color:var(--emp-primary);
  letter-spacing:-0.04em;
}

.emp-ui-total__cc{
  font-size:13px;
  color:var(--emp-text-soft);
  margin-bottom:5px;
}

/* CTA */
.emp-ui-cta{
  width:100%;
  min-height:58px;
  border:none;
  border-radius:16px;
  background:linear-gradient(135deg, var(--emp-primary), var(--emp-primary-2));
  color:#fff;
  font-size:15px;
  font-weight:800;
  letter-spacing:.04em;
  cursor:pointer;
  box-shadow:0 14px 28px rgba(91,95,239,.24);
  transition:.2s ease;
}

.emp-ui-cta:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 32px rgba(91,95,239,.28);
}

.emp-ui-cta__arrow{
  margin-left:6px;
}

.emp-ui-foot{
  margin:0;
  text-align:center;
  font-size:13px;
  color:var(--emp-text-soft);
}

/* Secure card */
.emp-ui-secure{
  margin-top:18px;
  border:1.5px solid #C7D7FE !important;
  background:linear-gradient(180deg, #F8FAFF 0%, #F4F7FF 100%) !important;
  box-shadow:none;
}

.emp-ui-secure-inner{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.emp-ui-secure-inner strong{
  font-size:18px;
  line-height:1.3;
  color:var(--emp-text);
}

.emp-ui-secure-inner p{
  margin:0;
}

/* Back link if exists above */
.emp-back-link,
a[href*="admin"]{
  color:#667085;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
}

.emp-back-link:hover,
a[href*="admin"]:hover{
  color:var(--emp-primary);
}

/* Responsive */
@media (max-width: 1100px){
  .elementor-element-emp-grid-2col > .elementor-container{
    display:flex;
    flex-direction:column;
  }

  .elementor-element-emp-right-col{
    flex:1 1 auto;
    max-width:none;
    width:100% !important;
  }

  .emp-ui-sticky{
    position:relative;
    top:auto;
  }
}

@media (max-width: 767px){
  .elementor-element-emp-public-main-col{
    padding-top:16px;
    padding-bottom:24px;
  }

  .elementor-element-emp-grid-2col > .elementor-container{
    gap:18px;
  }

  .emp-ui-card,
  .emp-ui-secure{
    border-radius:18px !important;
  }

  .elementor-element-emp-about-col > .elementor-widget-wrap,
  .elementor-element-emp-included-col > .elementor-widget-wrap,
  .elementor-element-emp-agenda-col > .elementor-widget-wrap,
  .elementor-element-emp-map-col > .elementor-widget-wrap,
  .elementor-element-emp-secure-col > .elementor-widget-wrap,
  .elementor-element-emp-hero-content-col > .elementor-widget-wrap{
    padding:20px !important;
  }
  .elementor-element-emp-form-col > .elementor-widget-wrap{
    padding:0 !important;
  }

  .emp-ui-hero-image{
    height:220px;
  }

  .elementor-element-emp-hero-title h1{
    font-size:34px;
  }

  .elementor-element-emp-about-title h2,
  .elementor-element-emp-included-title h3,
  .elementor-element-emp-agenda-title h3,
  .elementor-element-emp-map-title h3,
  .emp-ui-form__title{
    font-size:26px;
  }

  .emp-ui-price__main{
    font-size:36px;
  }

  .emp-ui-total__value span:first-child{
    font-size:30px;
  }

  .emp-ui-qty{
    grid-template-columns:48px 1fr 48px;
    gap:10px;
  }

  .emp-ui-qty__btn,
  .emp-ui-qty__value{
    height:48px;
  }

  .emp-ui-meta-row{
    align-items:flex-start;
  }

  .emp-ui-ico{
    width:38px;
    height:38px;
    min-width:38px;
  }

  .emp-event-agenda-row{
    gap:12px;
  }

  .emp-event-agenda-time{
    width:64px;
    min-width:64px;
    font-size:13px;
  }
}

/* =========================================================
   EVENT MANAGER PRO - PUBLIC REGISTER FORM (free events)
   ========================================================= */

.elementor-element-emp-form-widget .emp-card{
  background:var(--emp-bg,#fff) !important;
  border:1px solid var(--emp-line,#E4E7EC) !important;
  border-radius:24px !important;
  box-shadow:0 10px 30px rgba(17,24,39,.06);
  overflow:hidden;
}

.elementor-element-emp-form-widget .emp-card.emp-card-soft{
  background:linear-gradient(180deg,#FFFFFF 0%, #FCFCFF 100%) !important;
}

.elementor-element-emp-form-widget .emp-body{
  padding:28px !important;
}

.elementor-element-emp-form-widget h5{
  margin:0 0 8px !important;
  font-size:30px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  letter-spacing:-0.03em !important;
  color:var(--emp-text,#101828) !important;
}

.elementor-element-emp-form-widget .emp-hint{
  margin-bottom:22px !important;
  font-size:15px !important;
  line-height:1.7 !important;
  color:var(--emp-text-soft,#667085) !important;
  max-width:420px;
}

.elementor-element-emp-form-widget .row.g-3{
  --bs-gutter-x: 0;
  --bs-gutter-y: 16px;
}

.elementor-element-emp-form-widget hr{
  margin:4px 0 2px !important;
  border:0 !important;
  border-top:1px solid var(--emp-line,#E4E7EC) !important;
  opacity:1 !important;
}

.elementor-element-emp-form-widget .emp-label{
  display:block;
  margin:0 0 8px !important;
  font-size:14px !important;
  line-height:1.4 !important;
  font-weight:700 !important;
  color:#344054 !important;
  letter-spacing:-0.01em;
}

.elementor-element-emp-form-widget .text-danger{
  color:var(--emp-danger,#F04438) !important;
  font-weight:700;
}

.elementor-element-emp-form-widget .emp-control{
  width:100%;
  min-height:56px;
  padding:15px 16px;
  border:1px solid var(--emp-line,#E4E7EC) !important;
  border-radius:14px !important;
  background:#fff !important;
  color:var(--emp-text,#101828) !important;
  font-size:16px !important;
  line-height:1.4 !important;
  font-weight:500;
  box-shadow:none !important;
  transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease, transform .2s ease;
  appearance:none;
  -webkit-appearance:none;
}

.elementor-element-emp-form-widget .emp-control::placeholder{
  color:var(--emp-text-muted,#98A2B3) !important;
  opacity:1;
}

.elementor-element-emp-form-widget .emp-control:hover{
  border-color:#D0D5DD !important;
  background:#fff !important;
}

.elementor-element-emp-form-widget .emp-control:focus{
  outline:none !important;
  border-color:var(--emp-primary) !important;
  background:#fff !important;
  box-shadow:0 0 0 4px rgba(91,95,239,.10), 0 1px 2px rgba(16,24,40,.04) !important;
}

.elementor-element-emp-form-widget .emp-control:-webkit-autofill,
.elementor-element-emp-form-widget .emp-control:-webkit-autofill:hover,
.elementor-element-emp-form-widget .emp-control:-webkit-autofill:focus{
  -webkit-box-shadow:0 0 0 1000px #fff inset !important;
  -webkit-text-fill-color:var(--emp-text,#101828) !important;
  border:1px solid var(--emp-line,#E4E7EC) !important;
}

.elementor-element-emp-form-widget .col-12:last-child{
  margin-top:6px;
}

.elementor-element-emp-form-widget .emp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:56px;
  padding:14px 20px;
  border:none !important;
  border-radius:16px !important;
  font-size:15px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.01em;
  text-decoration:none !important;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.elementor-element-emp-form-widget .emp-btn-primary{
  width:100%;
  color:#fff !important;
  background:linear-gradient(135deg,var(--emp-primary),var(--emp-primary-2)) !important;
  box-shadow:0 14px 28px rgba(91,95,239,.24) !important;
}

.elementor-element-emp-form-widget .emp-btn-primary:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 34px rgba(91,95,239,.30) !important;
  opacity:1 !important;
}

.elementor-element-emp-form-widget .emp-btn-primary:active{
  transform:translateY(0);
}

.elementor-element-emp-form-widget .emp-btn-primary:focus{
  outline:none !important;
  box-shadow:0 0 0 4px rgba(91,95,239,.12), 0 14px 28px rgba(91,95,239,.24) !important;
}

.elementor-element-emp-form-widget .emp-card:hover{
  box-shadow:0 16px 40px rgba(91,95,239,.12);
}

.elementor-element-emp-form-widget .mb-1{
  margin-bottom:8px !important;
}

.elementor-element-emp-form-widget .mb-3{
  margin-bottom:22px !important;
}

.elementor-element-emp-form-widget .my-2{
  margin-top:6px !important;
  margin-bottom:6px !important;
}

@media (max-width: 767px){
  .elementor-element-emp-form-widget .emp-card{
    border-radius:18px !important;
  }

  .elementor-element-emp-form-widget .emp-body{
    padding:20px !important;
  }

  .elementor-element-emp-form-widget h5{
    font-size:24px !important;
  }

  .elementor-element-emp-form-widget .emp-hint{
    font-size:14px !important;
    line-height:1.6 !important;
    margin-bottom:18px !important;
  }

  .elementor-element-emp-form-widget .emp-control{
    min-height:52px;
    padding:14px 14px;
    font-size:15px !important;
  }

  .elementor-element-emp-form-widget .emp-btn{
    min-height:52px;
    border-radius:14px !important;
  }
}
