/* =====================================================
   SLOFIST EventBooking Theme - Phase 18
   Compact course cards and portal-matched event pages
   Load after EventBooking and template CSS.
===================================================== */
:root{
  --slo-red:#b60000;
  --slo-red-dark:#850000;
  --slo-black:#111;
  --slo-border:#ddd;
  --slo-soft:#f5f5f5;
  --slo-text:#222;
  --slo-muted:#666;
}

/* Page containers */
.eb-container,
.eb-category-page,
.eb-event-page,
.eb-register-page,
.eb-registration-complete,
.com_eventbooking .item-page{
  max-width:1320px !important;
  margin:0 auto !important;
  padding:24px clamp(18px,4vw,44px) !important;
  box-sizing:border-box;
}

.eb-container *,
.eb-category-page *,
.eb-event-page *,
.eb-register-page *,
.eb-registration-complete *{box-sizing:border-box;}

/* Page title */
.eb-page-heading,
.eb-category-page h1,
.eb-event-page h1,
.eb-container h1,
.eb-title,
.eb-event-title{
    text-transform:uppercase;
  color:#111 !important;
  margin:0 0 22px !important;
}

/* Search/filter toolbar - compact */
.eb-search-bar,
.eb-events-filter,
.eb-filter,
#eb-search-bar,
.eb-category-page form.form-inline,
.eb-container form.form-inline{
  display:flex !important;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  background:#f3f3f3 !important;
  border:1px solid #e3e3e3;
  padding:12px !important;
  margin:0 0 24px !important;
  min-height:auto !important;
}

.eb-search-bar input,
.eb-events-filter input,
.eb-filter input,
#eb-search-bar input,
.eb-category-page form.form-inline input,
.eb-container form.form-inline input,
.eb-search-bar select,
.eb-events-filter select,
.eb-filter select,
#eb-search-bar select,
.eb-category-page form.form-inline select,
.eb-container form.form-inline select{
  height:42px !important;
  min-height:42px !important;
  padding:8px 12px !important;
  border:1px solid #ccc !important;
  border-radius:2px !important;
  font-size:1rem !important;
  background:#fff !important;
}

.eb-search-bar button,
.eb-events-filter button,
.eb-filter button,
#eb-search-bar button,
.eb-category-page form.form-inline button,
.eb-container form.form-inline button,
.eb-category-page .btn,
.eb-container .btn{
  min-height:42px !important;
  padding:9px 20px !important;
  border-radius:0 !important;
    text-transform:uppercase;
}

/* Compact event listing cards */
.eb-events,
.eb-event-list,
.eb-category-events{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}

.eb-events .eb-event,
.eb-event-list .eb-event,
.eb-category-events .eb-event,
.eb-event-summary,
.eb-event-container.eb-event-summary{
  display:grid !important;
  grid-template-columns:minmax(180px,250px) minmax(0,1fr);
  gap:22px;
  align-items:stretch;
  background:#fff !important;
  border:1px solid var(--slo-border) !important;
  border-top:5px solid var(--slo-red) !important;
  box-shadow:0 5px 18px rgba(0,0,0,.08) !important;
  padding:16px !important;
  margin:0 0 18px !important;
  min-height:205px;
}

.eb-event-image,
.eb-event-thumb,
.eb-event-photo{
  margin:0 !important;
  width:100%;
}
.eb-event-image img,
.eb-event-thumb img,
.eb-event-photo img,
.eb-events .eb-event img{
  width:100% !important;
  height:100% !important;
  min-height:170px;
  max-height:220px !important;
  object-fit:cover !important;
  display:block;
  border:1px solid #ddd;
  background:#eee;
}

.eb-event-content,
.eb-event-info-wrap,
.eb-event-details-wrap{
  min-width:0;
  display:flex;
  flex-direction:column;
}

.eb-events .eb-event h2,
.eb-events .eb-event h3,
.eb-event-list .eb-event h2,
.eb-event-list .eb-event h3,
.eb-event-summary h2,
.eb-event-summary h3,
.eb-event-title a,
.eb-event-title{
  text-transform:uppercase;
  letter-spacing:.03em;
  color:#111 !important;
  text-decoration:none !important;
}

.eb-event-title a:hover{color:var(--slo-red) !important;}

.eb-event-date,
.eb-event-location,
.eb-event-price,
.eb-price,
.eb-event-meta,
.eb-event-info{
   margin:4px 0 !important;
  color:#222 !important;
}

.eb-event-location a,
.eb-event-date a{color:var(--slo-red) !important;}

.eb-event-description,
.eb-description,
.eb-event-short-description{
  color:#333 !important;
    margin:10px 0 12px !important;
  max-width:850px;
}

/* quick facts row */
.slo-eb-facts,
.eb-event .eb-facts{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:8px 0 12px;
}
.slo-eb-fact,
.eb-event .eb-fact{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  background:#f5f5f5;
  border-left:3px solid var(--slo-red);
   color:#222;
}

/* Price badge */
.eb-price,
.eb-event-price strong,
.eb-event .price{
  display:inline-block;
  background:var(--slo-red);
  color:#fff !important;
  padding:9px 16px;
   margin-top:8px;
}

/* Buttons */
.eb-register-button,
.eb-register-btn,
.eb-event .btn-primary,
.eb-event-page .btn-primary,
.eb-container .btn-primary,
.eb-event .btn-success,
.eb-event-page .btn-success,
.slo-eb-btn{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  background:var(--slo-red) !important;
  border:2px solid var(--slo-red) !important;
  color:#fff !important;
  border-radius:0 !important;
  padding:11px 20px !important;
  min-height:44px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em;
  text-decoration:none !important;
  line-height:1 !important;
}
.eb-register-button:hover,
.eb-register-btn:hover,
.eb-event .btn-primary:hover,
.eb-event-page .btn-primary:hover,
.eb-container .btn-primary:hover,
.eb-event .btn-success:hover,
.eb-event-page .btn-success:hover,
.slo-eb-btn:hover{
  background:var(--slo-red-dark) !important;
  border-color:var(--slo-red-dark) !important;
  color:#fff !important;
}
.slo-eb-btn.secondary,
.eb-event .btn-secondary{
  background:#fff !important;
  border-color:#111 !important;
  color:#111 !important;
}
.slo-eb-btn.secondary:hover,
.eb-event .btn-secondary:hover{
  background:#111 !important;
  color:#fff !important;
}
.eb-event-actions,
.eb-taskbar,
.eb-event-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:auto;
  padding-top:12px;
}

/* Event details page - readable portal styling */
.eb-event-page .eb-event,
.eb-event-detail,
.eb-event-page .eb-event-container{
  background:#fff !important;
  border:1px solid #ddd !important;
  border-top:5px solid var(--slo-red) !important;
  box-shadow:0 6px 20px rgba(0,0,0,.08) !important;
  padding:clamp(20px,3vw,34px) !important;
  margin-bottom:24px !important;
}

.eb-event-page .eb-event-image img,
.eb-event-detail .eb-event-image img{
  width:100% !important;
  max-height:360px !important;
  object-fit:cover !important;
  margin-bottom:24px;
}

.eb-event-page .eb-description,
.eb-event-detail .eb-description,
.eb-event-page .eb-event-description{
  background:#fff !important;
  padding:0 !important;
  box-shadow:none !important;
  border:none !important;
 }

.eb-event-page .eb-description h2,
.eb-event-page .eb-description h3,
.eb-event-detail .eb-description h2,
.eb-event-detail .eb-description h3{
  margin:30px 0 14px !important;
  text-transform:uppercase;
  color:#111;
}
.eb-event-page .eb-description p{margin-bottom:14px;}
.eb-event-page .eb-description ul{padding-left:22px;}
.eb-event-page .eb-description li{margin-bottom:8px;}

.eb-event-page table,
.eb-table,
.eb-event-properties table{
  width:100%;
  border-collapse:collapse;
  font-size:1rem;
  margin:16px 0 22px;
}
.eb-event-page table td,
.eb-table td,
.eb-event-properties table td{
  padding:10px 12px !important;
  border-bottom:1px solid #eee !important;
  vertical-align:top;
}
.eb-event-page table td:first-child,
.eb-table td:first-child{
  font-weight:900;
  color:#555;
  width:180px;
}

/* Registration form */
.eb-register-page,
.eb-registration-form{
  background:#fff;
  border:1px solid #ddd;
  border-top:5px solid var(--slo-red);
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}
.eb-register-page input,
.eb-register-page select,
.eb-register-page textarea,
.eb-registration-form input,
.eb-registration-form select,
.eb-registration-form textarea{
  min-height:42px;
  border:1px solid #ccc !important;
  border-radius:2px !important;
  padding:9px 12px !important;
}
.eb-register-page input:focus,
.eb-register-page select:focus,
.eb-register-page textarea:focus{
  border-color:var(--slo-red) !important;
  box-shadow:0 0 0 3px rgba(182,0,0,.12) !important;
}

/* Success page */
.eb-registration-complete,
.eb-message{
  background:#fff;
  border:1px solid #ddd;
  border-top:5px solid var(--slo-red);
  padding:clamp(22px,4vw,44px) !important;
  box-shadow:0 6px 20px rgba(0,0,0,.08);
}

/* Status badges */
.slo-eb-status{
  display:inline-block;
  padding:6px 10px;
  font-size:.8rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  background:#eee;
  color:#111;
  margin-bottom:8px;
}
.slo-eb-status.open{background:#e8f7ed;color:#145c2b;}
.slo-eb-status.nearly-full{background:#fff4d6;color:#7a5200;}
.slo-eb-status.waitlist{background:#ffe8d9;color:#8b3a00;}
.slo-eb-status.sold-out{background:#f7dddd;color:#8a0000;}
.slo-eb-status.completed{background:#e7e7e7;color:#555;}

/* Mobile */
@media(max-width:850px){
  .eb-events .eb-event,
  .eb-event-list .eb-event,
  .eb-category-events .eb-event,
  .eb-event-summary,
  .eb-event-container.eb-event-summary{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .eb-event-image img,
  .eb-event-thumb img,
  .eb-event-photo img,
  .eb-events .eb-event img{
    max-height:220px !important;
    height:auto !important;
  }
  .eb-search-bar,
  .eb-events-filter,
  .eb-filter,
  #eb-search-bar,
  .eb-category-page form.form-inline,
  .eb-container form.form-inline{
    display:grid !important;
    grid-template-columns:1fr;
  }
  .eb-search-bar input,
  .eb-search-bar select,
  .eb-search-bar button,
  .eb-category-page form.form-inline input,
  .eb-category-page form.form-inline select,
  .eb-category-page form.form-inline button{
    width:100% !important;
  }
}

/* Important info boxes */

.eb-description .slofist-info-box,
.eb-event-description .slofist-info-box {
  background: #fff;
  border: 1px solid #ddd;
  border-left: 6px solid #b60000;
  box-shadow: 0 5px 16px rgba(0,0,0,.08);
  padding: 22px 24px;
  margin: 28px 0;
}

.slofist-info-box h2,
.slofist-info-box h3 {
  margin-top: 0 !important;
  border-left: none !important;
  padding-left: 0 !important;
}

/* Hotel / travel standout box */

.slofist-hotel-box {
  background: #f7f7f7;
  border: 1px solid #d8d8d8;
  border-top: 5px solid #062b55;
  padding: 24px;
  margin: 30px 0;
  box-shadow: 0 5px 16px rgba(0,0,0,.08);
}

.slofist-hotel-box h2 {
  margin-top: 0 !important;
  color: #111;
  border-left: none !important;
  padding-left: 0 !important;
}

.slofist-hotel-box strong {
  color: #b60000;
}
body {
    font-family: "Source Sans 3", sans-serif;
    font-size: 17px;
    line-height: 1.7;
    color: #333;
}

h1 {
    font-family: "Montserrat", sans-serif;
    font-size: 3rem;
    font-weight: 800;
}

h2 {
    font-family: "Montserrat", sans-serif;
    font-size: 2rem;
    font-weight: 700;
}

h3 {
    font-family: "Montserrat", sans-serif;
    font-size: 1.45rem;
    font-weight: 700;
}
.eb-event-item-grid-default-layout {
   outline: solid 1px !important;
  padding: 20px !important;}
[data-rlta-element="container"] > [data-rlta-element="button"] {
   
  border: 1.8px solid #fb0000;}

.eb-description h3 {
  padding-left: 14px !important; }

