/* ==========================================================================
   Mahjong Springs: Events Manager (open play) styling
   Lists, search bar, single event, locations, maps, booking/RSVP form.
   ========================================================================== */
html body .em,
html body .em.pixelbones{
  --font-family:'Jost','Helvetica Neue',Arial,sans-serif;
  --font-size:15px;
  --line-height:24px;
  --font-weight:400;
  --theme-hue:228;
  --text-color-richer:#0E1A3C;
  --text-color-normal:#16244F;
  --text-color-softer:#5B6585;
  --accent-color:#16244F;
  --accent-color-hover:#F0287E;
  --border-color:#CFC5B2;
  --border-color-softer:#E4DCCD;
  --background-color:transparent;
  --background-color-softer:#F4EEE4;
  --background-color-inputs:#fff;
  --background-color-checkboxes:#fff;
  --button-primary-color:#fff;
  --border-radius:0;
  --meta-color:#5B6585;
  --default-color:#5B6585;
  --palette-1-bg:#16244F;
  --main-bg:#F4EEE4;
}
/* undo prose link styling inside plugin markup */
.prose .em a,.prose .em-wrapper a,.prose #em-wrapper a{border-bottom:0}
.prose #em-wrapper>p:empty{display:none}
.prose #em-wrapper>*+*{margin-top:0}

/* headings */
html body .em.pixelbones h1,html body .em.pixelbones h2,html body .em.pixelbones h3,html body .em.pixelbones h4,
html body .em h3.em-item-title,html body .em .em-event-booking-form h3,.em-event-single h3,.em-location-single h3{font-family:'Cormorant Garamond',Georgia,serif!important;font-weight:500!important;color:#16244F!important;letter-spacing:0!important;line-height:1.1!important}
html body .em.pixelbones h3,html body .em h3.em-item-title{font-size:30px!important;margin:0 0 14px!important}
html body .em h3.em-item-title a{color:#16244F!important;text-decoration:none!important}
html body .em h3.em-item-title a:hover{color:#F0287E!important}
html body .em.pixelbones a{color:#16244F;text-decoration-color:#F0287E}
html body .em.pixelbones a:hover{color:#F0287E}

/* buttons */
html body .em.pixelbones .button,html body .em.pixelbones button[type=submit],html body .em.pixelbones input[type=submit],html body .em.pixelbones input[type=button],
html body .em .em-button,html body .em .em-item-actions .button{
  background:#fff!important;color:#16244F!important;border:1px solid #16244F!important;border-radius:0!important;
  font-family:'Jost',sans-serif!important;font-size:11.5px!important;letter-spacing:.22em!important;text-transform:uppercase!important;font-weight:500!important;
  height:46px!important;line-height:44px!important;padding:0 24px!important;box-shadow:none!important;transition:background .2s,color .2s!important}
html body .em.pixelbones .button:hover,html body .em.pixelbones button[type=submit]:hover,html body .em.pixelbones input[type=submit]:hover{background:#16244F!important;color:#fff!important}
html body .em.pixelbones .button-primary,html body .em.pixelbones input[type=submit].button-primary,html body .em.pixelbones button.button-primary,
html body .em .em-event-book-now.button,html body .em .em-search-submit,html body .em .em-form-submit,html body .em input.em-booking-submit,html body .em button.em-booking-submit{
  background:#16244F!important;color:#fff!important;border-color:#16244F!important}
html body .em .em-event-book-now.button,html body .em input.em-booking-submit,html body .em button.em-booking-submit{background:#F0287E!important;border-color:#F0287E!important}
html body .em .em-event-book-now.button:hover,html body .em input.em-booking-submit:hover,html body .em button.em-booking-submit:hover{background:#D41A6B!important;border-color:#D41A6B!important}
html body .em .em-event-book-now .em-icon{display:none!important}

/* inputs */
html body .em.pixelbones input[type=text],html body .em.pixelbones input[type=email],html body .em.pixelbones input[type=tel],html body .em.pixelbones input[type=number],html body .em.pixelbones input[type=search],html body .em.pixelbones input[type=url],html body .em.pixelbones input[type=password],html body .em.pixelbones input[type=date],html body .em.pixelbones textarea,html body .em.pixelbones select,
html body .em .em-booking-form input.input,html body .em .em-booking-form textarea{
  border:1px solid #CFC5B2!important;border-radius:0!important;background:#fff!important;color:#16244F!important;font-size:15px!important;min-height:48px;box-shadow:none!important}
html body .em.pixelbones textarea{min-height:120px}
html body .em.pixelbones input:focus,html body .em.pixelbones textarea:focus,html body .em.pixelbones select:focus{border-color:#16244F!important;box-shadow:0 0 0 2px #FCE3EE!important;outline:none!important}
html body .em.pixelbones label{font-size:12px!important;letter-spacing:.14em!important;text-transform:uppercase!important;font-weight:500!important;color:#16244F!important}

/* search bar */
html body .em.em-search .em-search-main-bar,html body .em .em-search-main{border:1px solid #16244F!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}
html body .em.em-search .em-search-main-bar .em-search-field input{border:0!important;min-height:56px}
html body .em.em-search{margin-bottom:56px!important}

/* list items */
html body .em.em-list,html body .em.em-events-list{gap:0!important}
html body .em.em-list .em-item,html body .em .em-events-list .em-item{padding:36px 0!important;border:0!important;border-bottom:1px solid #E4DCCD!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;margin:0!important;gap:40px!important}
html body .em.em-list .em-item:first-child{border-top:1px solid #16244F!important}
html body .em.em-list .em-item .em-item-info,html body .em .em-item .em-item-info{border-left:1px solid #E4DCCD!important;padding-left:40px!important}
html body .em .em-item .em-item-image.has-placeholder{min-width:120px!important;max-width:150px}
html body .em .em-item .em-item-image .em-item-image-placeholder{background:none!important;opacity:1!important;aspect-ratio:auto!important;display:flex!important;align-items:center;justify-content:center}
html body .em .em-item .em-item-image .em-item-image-placeholder .date{display:flex!important;flex-direction:column-reverse;align-items:center;gap:4px;position:static!important;transform:none!important}
html body .em .em-item .em-item-image .em-item-image-placeholder .date .day{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:64px!important;line-height:1!important;font-weight:500!important;color:#16244F!important}
html body .em .em-item .em-item-image .em-item-image-placeholder .date .month{font-size:12px!important;letter-spacing:.26em!important;text-transform:uppercase!important;color:#F0287E!important;font-weight:500!important}
html body .em .em-item .em-item-image img{padding:0!important;aspect-ratio:1;object-fit:cover}
html body .em .em-item-meta .em-item-meta-line{color:#5B6585!important;font-size:14.5px!important;margin-bottom:6px!important;grid-template-columns:28px 1fr!important}
html body .em .em-item-meta .em-item-meta-line a{color:#16244F!important;font-style:normal!important;text-decoration:none!important;font-weight:500}
html body .em .em-icon{opacity:.75;filter:hue-rotate(0)}
html body .em .em-item-desc{color:#5B6585!important;font-weight:300!important;font-size:15.5px!important;line-height:1.7!important;margin:14px 0 22px!important}
html body .em .em-item-actions{gap:10px!important;display:flex!important;flex-wrap:wrap}

/* calendar view */
html body .em.em-calendar{--date-border-color:#E4DCCD;--header-border:1px solid #E4DCCD}
html body .em.em-calendar .em-cal-head>div{font-size:11px!important;letter-spacing:.2em!important;text-transform:uppercase!important}
html body .em.em-calendar .em-cal-nav .month,html body .em.em-calendar .em-cal-nav .month input{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:30px!important;color:#16244F!important}
html body .em.em-calendar .em-cal-day-date.eventful a,html body .em.em-calendar .eventful .em-cal-day-date a{background:#F0287E!important;color:#fff!important}

/* single event / location */
.em-event-single,.em-location-single,.em.em-item-single{--default-border:#E4DCCD}
html body .em-item.em-item-single .em-item-header{gap:40px!important;margin-bottom:48px!important}
html body .em-item.em-item-single .em-item-meta{background:#F4EEE4!important;padding:32px 36px!important;border:0!important;border-top:2px solid #16244F!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px}
html body .em-item.em-item-single .em-item-meta h3{font-size:24px!important;margin:0 0 12px!important}
html body .em-item.em-item-single .em-item-meta-line{color:#16244F!important}
html body .em-item.em-item-single .em-item-meta-column{margin:0!important}
html body .em-item.em-item-single section{margin-bottom:40px}
html body .em-item.em-item-single .em-item-image img{border-radius:0!important}
html body .em .em-event-content,html body .em .em-location-content{font-size:17px!important;line-height:1.85!important;color:#2E3A63!important;font-weight:300!important}
html body .em .em-location-map-container,html body .em .em-location-map,html body .em .em-locations-map{border:1px solid #E4DCCD!important;border-radius:0!important;overflow:hidden}

/* booking / RSVP form */
html body .em .em-event-booking-form,html body .em.em-event-booking-form{background:#fff!important;border:1px solid #E4DCCD!important;border-top:2px solid #F0287E!important;padding:36px!important;max-width:760px}
html body .em .em-event-booking-form h3{font-size:30px!important;margin-bottom:20px!important}
html body .em .em-booking-form-details p,html body .em .em-booking-form .em-booking-section p{margin-bottom:16px!important}
html body .em .em-tickets,html body .em table.em-tickets{border-collapse:collapse!important;width:100%}
html body .em .em-tickets th{background:#16244F!important;color:#fff!important;font-size:11px!important;letter-spacing:.2em!important;text-transform:uppercase!important;font-weight:500!important}
html body .em .em-tickets td,html body .em .em-tickets th{border-color:#E4DCCD!important;padding:12px!important}
html body .em .em-booking-message,html body .em-booking-message-success,html body .em .em-booking-message-success{background:#FCE3EE!important;border:0!important;border-left:3px solid #F0287E!important;color:#16244F!important;border-radius:0!important;padding:16px 20px!important}
html body .em .em-booking-message-error,html body .em-booking-message-error{background:#fff4f4!important;border-left:3px solid #C8005F!important;border-radius:0!important}
html body .em .em-booking-login{border-top:1px solid #E4DCCD;padding-top:20px;margin-top:20px}

/* guest event submission form ([event_form]) */
html body .em.em-event-admin-editor,html body .em-event-admin-editor,html body #em-event-form{max-width:860px}
html body .em .em-event-admin-editor h3,html body #event-form h3{font-size:28px!important;border-bottom:1px solid #E4DCCD;padding-bottom:10px;margin-top:36px!important}

/* OpenStreetMap fallback (theme feature, used when no Google Maps key is set) */
.ms-osm-map{margin:40px 0;border:1px solid var(--line);background:#fff}
.ms-osm-map iframe{display:block;width:100%;height:360px;border:0}
.ms-osm-map .ms-osm-meta{display:flex;justify-content:space-between;gap:16px;padding:12px 16px;font-size:12.5px;color:var(--muted)}
.ms-osm-map .ms-osm-meta a{color:var(--navy);border-bottom:1px solid var(--pink)}

@media (max-width:720px){
  html body .em.em-list .em-item,html body .em .em-events-list .em-item{gap:18px!important;padding:28px 0!important}
  html body .em.em-list .em-item .em-item-info,html body .em .em-item .em-item-info{border-left:0!important;border-top:0!important;padding:0!important}
  html body .em .em-item .em-item-image .em-item-image-placeholder .date{flex-direction:row-reverse;gap:10px;align-items:baseline}
  html body .em .em-item .em-item-image .em-item-image-placeholder .date .day{font-size:44px!important}
  html body .em .em-item .em-item-image.has-placeholder{justify-content:flex-start!important;min-width:0!important;padding:0!important}
  html body .em .em-event-booking-form,html body .em.em-event-booking-form{padding:24px!important}
  .ms-osm-map iframe{height:280px}
}
/* "Book now" stands out in hot pink (higher specificity than the plugin's button rules) */
html body .em.pixelbones .em-item-actions a.em-event-book-now.button,
html body .em.pixelbones a.em-event-book-now.button{background:#F0287E!important;border-color:#F0287E!important;color:#fff!important}
html body .em.pixelbones .em-item-actions a.em-event-book-now.button:hover,
html body .em.pixelbones a.em-event-book-now.button:hover{background:#D41A6B!important;border-color:#D41A6B!important}
