.bw-booking,.bw-modal,.bw-public-sheet{color:#16356f;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;--bw-blue:#1f73ea;--bw-dark:#16356f;--bw-muted:#7386aa;--bw-soft:#eef3fb;--bw-border:#dfe5f0;--bw-green:#1fae72;--bw-red:#d15555}
.bw-booking{position:relative}
.bw-booking,.bw-booking *,.bw-booking *::before,.bw-booking *::after,.bw-modal,.bw-modal *,.bw-modal *::before,.bw-modal *::after,.bw-public-sheet,.bw-public-sheet *,.bw-public-sheet *::before,.bw-public-sheet *::after{box-sizing:border-box}
.bw-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start}
.bw-main{min-width:0}.bw-selected-card,.bw-details-card,.bw-aside{background:#fff;border:1px solid var(--bw-border);border-radius:28px;box-shadow:0 1px 0 rgba(0,0,0,.02)}
.bw-selected-card{padding:26px 28px;margin-bottom:22px}.bw-event-name{margin:0 0 10px;font-size:clamp(22px,3vw,40px);line-height:1.1;color:#111}.bw-selected-meta{font-size:18px}
.bw-details-card{padding:24px}.bw-details-image{width:100%;max-height:280px;object-fit:cover;border-radius:18px;margin-bottom:20px}.bw-details-name{font-size:32px;line-height:1.15;margin:0 0 18px;color:#16356f}.bw-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;margin-bottom:18px}.bw-detail-grid span{display:block;color:#6b7c9b;margin-bottom:6px}.bw-detail-grid strong{color:#16356f}.bw-checks{border-top:1px solid #e6ebf4;padding-top:16px;display:grid;gap:10px}.bw-details-reserve-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.bw-details-reserve-row .bw-details-reserve{flex:1 1 240px}.bw-details-book-now{width:auto;min-width:180px;margin-top:0;flex:0 0 auto}
.bw-aside{position:sticky;top:16px;padding:22px}
.bw-price,.bw-mobile-price{color:var(--bw-dark)}
.bw-price{font-size:18px;margin-bottom:18px}.bw-price strong,.bw-mobile-price strong{display:inline-flex;align-items:baseline;gap:0;font-size:48px;line-height:.95;font-weight:800;letter-spacing:-.03em;color:var(--bw-dark)}
.bw-price .bw-currency,.bw-mobile-price .bw-currency,.bw-price-value,.bw-price-value-mobile{font-size:inherit;line-height:inherit;font-weight:inherit}
.bw-price > span,.bw-mobile-price > span{font-size:18px}
.bw-field-group{margin-bottom:14px}.bw-field-group label{display:block;font-weight:700;margin-bottom:8px}.bw-field-group select,.bw-date-btn{width:100%;height:58px;border:1px solid #d9dfeb;border-radius:20px;background:#f4f6fb;padding:0 18px;font-size:18px;color:#16356f}.bw-date-btn{text-align:left;cursor:pointer}
.bw-cta{display:flex;width:100%;min-height:64px;border:0;border-radius:999px;background:var(--bw-blue);color:#fff;font-weight:800;font-size:18px;letter-spacing:0;cursor:pointer;padding:0 22px;white-space:nowrap;align-items:center;justify-content:center;text-align:center;text-decoration:none;line-height:1.1;box-shadow:0 10px 24px rgba(31,115,234,.16)}
.bw-cta:hover{filter:brightness(.98)}.bw-cta:disabled{opacity:.55;cursor:not-allowed}
.bw-availability-actions{display:grid;grid-template-columns:1fr;gap:10px}
.bw-no-dates{grid-column:1/-1;text-align:center;padding:22px 10px;color:var(--bw-dark);font-weight:700}
.bw-trust{margin-top:18px;padding-top:18px;border-top:1px solid #e6ebf4;display:grid;gap:10px;font-weight:700}.bw-book-now[hidden]{display:none!important}.bw-book-now:disabled{opacity:.55;cursor:not-allowed}.bw-mobile-bar{display:none}
.bw-modal[hidden],.bw-public-sheet[hidden],.bw-calendar-selection-panel[hidden]{display:none!important}
.bw-modal{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.bw-backdrop{position:fixed;inset:0;background:rgba(10,24,48,.34);backdrop-filter:blur(2px);z-index:0}
.bw-dialog{position:relative;z-index:1;background:#fff;border-radius:30px;width:min(640px, calc(100vw - 32px));max-width:min(640px, calc(100vw - 32px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;margin:0;padding:20px 18px 22px;box-sizing:border-box;box-shadow:0 24px 80px rgba(10,24,48,.24)}
.bw-modal-top{display:grid;grid-template-columns:56px minmax(0,1fr) 56px 56px;align-items:center;gap:12px;margin-bottom:12px}.bw-month-title{margin:0;text-align:center;color:var(--bw-dark);font-size:clamp(28px,3.4vw,42px);line-height:1.05;min-width:0}.bw-month-title br{display:none}.bw-nav,.bw-close,.bw-sheet-close{width:56px;height:56px;border:none;border-radius:999px;background:var(--bw-soft);color:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;box-sizing:border-box;position:relative;flex:0 0 56px}
.bw-nav::before,.bw-close::before,.bw-sheet-close::before{content:"";position:absolute;left:50%;top:50%;width:22px;height:22px;transform:translate(-50%,-50%);background-repeat:no-repeat;background-position:center;background-size:contain}
.bw-prev::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316356f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 18l-6-6 6-6'/%3E%3C/svg%3E")}
.bw-next::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316356f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E")}
.bw-close::before,.bw-sheet-close::before{width:20px;height:20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316356f' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E")}
.bw-close{visibility:visible;opacity:1}
.bw-weekdays,.bw-grid{width:100%;max-width:100%;box-sizing:border-box}
.bw-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:10px;padding:0 2px}.bw-weekdays span{text-align:center;font-size:19px;font-weight:700;color:var(--bw-muted)}
.bw-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;overflow:hidden}.bw-empty,.bw-day{aspect-ratio:1/.86;border-radius:18px;display:flex;align-items:center;justify-content:center;min-width:0}.bw-empty{visibility:hidden}.bw-day{border:1px dashed #e4eaf4;background:#fff;color:#c1cad8;font-size:20px;font-weight:700;padding:0}.bw-day.is-available{color:var(--bw-dark);cursor:pointer;border-style:solid;border-color:#cfe0fb;background:#f7fbff}.bw-day.is-available:hover{border-color:#2b8dff;box-shadow:0 0 0 3px rgba(43,141,255,.08)}.bw-day.is-selected{background:#234c91;color:#fff;border:2px solid #2b8dff}.bw-day:disabled{cursor:default}.bw-empty-msg{padding:20px;border:1px solid #ddd;border-radius:12px;background:#fff}
.bw-calendar-selection-panel{margin-top:16px;padding:16px;border:1px solid #dfe8f7;border-radius:22px;background:linear-gradient(180deg,#f8fbff,#eef5ff);box-shadow:0 12px 26px rgba(22,53,111,.08)}
.bw-calendar-selection-copy{margin:0 0 12px;color:var(--bw-dark);font-size:17px;line-height:1.35;font-weight:700}.bw-calendar-selection-copy span{display:block;color:var(--bw-muted);font-size:14px;font-weight:600;margin-top:4px}.bw-get-price{min-height:56px;text-transform:uppercase;letter-spacing:.03em}
.bw-public-sheet{position:fixed;inset:0;z-index:2147483001;display:flex;align-items:flex-end;justify-content:center;padding:0 12px 0;box-sizing:border-box}
.bw-sheet-backdrop{position:absolute;inset:0;background:rgba(10,24,48,.38);backdrop-filter:blur(2px);z-index:0}
.bw-sheet-panel{position:relative;z-index:1;width:min(720px,100%);max-height:calc(90vh - env(safe-area-inset-bottom));max-height:calc(90dvh - env(safe-area-inset-bottom));overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#fff;border-radius:30px 30px 0 0;padding:16px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -20px 80px rgba(10,24,48,.28);animation:bwSheetUp .24s ease-out}
@keyframes bwSheetUp{from{transform:translateY(32px);opacity:.85}to{transform:translateY(0);opacity:1}}
.bw-sheet-handle{width:54px;height:5px;border-radius:999px;background:#d8e0ec;margin:0 auto 12px}.bw-sheet-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.bw-sheet-tag{display:inline-flex;align-items:center;border-radius:999px;background:#eef5ff;color:var(--bw-blue);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:8px 12px}.bw-sheet-close{width:44px;height:44px;flex-basis:44px}.bw-sheet-image{width:100%;height:240px;object-fit:cover;border-radius:22px;margin-bottom:16px;background:#eef3fb}.bw-sheet-name{font-size:clamp(26px,5vw,40px);line-height:1.05;margin:0 0 10px;color:var(--bw-dark);letter-spacing:-.03em}.bw-sheet-date{font-size:18px;font-weight:800;color:var(--bw-dark);margin-bottom:14px}.bw-sheet-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.bw-sheet-fact{background:#f6f8fc;border:1px solid #e5ebf5;border-radius:18px;padding:12px}.bw-sheet-fact span{display:block;font-size:13px;color:var(--bw-muted);font-weight:700;margin-bottom:4px}.bw-sheet-fact strong{display:block;color:var(--bw-dark);font-size:15px;line-height:1.25}.bw-sheet-price-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid #e6ebf4}.bw-sheet-price{color:var(--bw-dark);font-size:14px;line-height:1}.bw-sheet-price strong{font-size:42px;line-height:.9;letter-spacing:-.04em}.bw-sheet-book-now{width:auto;min-width:190px;min-height:58px;text-transform:uppercase;letter-spacing:.03em}
body.bw-modal-open,body.bw-sheet-open{overflow:hidden}

@media (max-width: 980px){
  .bw-layout{grid-template-columns:1fr}.bw-aside{display:none}.bw-booking{padding-bottom:104px}
  .bw-mobile-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:99990;gap:12px;align-items:center;justify-content:space-between;background:#fff;border-top:1px solid #dde4ef;padding:10px 14px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -2px 12px rgba(0,0,0,.06)}
  .bw-mobile-price{display:flex;flex-direction:column;line-height:1.02;min-width:0;flex:1 1 auto;max-width:34vw}.bw-mobile-price strong{font-size:34px}.bw-mobile-price > span{font-size:17px}
  .bw-mobile-actions{display:flex;flex-direction:row;gap:8px;align-items:stretch;justify-content:flex-end;flex:0 0 auto;width:clamp(250px,60vw,360px)}
  .bw-mobile-actions .bw-cta{flex:1 1 0;min-width:0}
  .bw-mobile-bar .bw-cta{width:100%;min-height:58px;font-size:13px;padding:0 8px;letter-spacing:0;text-align:center;overflow:hidden;line-height:1.05}
  .bw-modal{align-items:flex-start;padding:calc(12px + env(safe-area-inset-top)) 12px calc(120px + env(safe-area-inset-bottom));justify-content:center}
  .bw-dialog{width:min(760px,calc(100vw - 24px));max-width:min(760px,calc(100vw - 24px));max-height:calc(100vh - 24px - env(safe-area-inset-top));max-height:calc(100dvh - 24px - env(safe-area-inset-top));margin:0;padding:18px 16px 18px;border-radius:26px;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .bw-modal-top{grid-template-columns:52px minmax(0,1fr) 52px 52px;gap:8px}.bw-nav,.bw-close{width:52px;height:52px;flex-basis:52px}.bw-nav::before,.bw-close::before{width:20px;height:20px}.bw-month-title{font-size:28px}.bw-weekdays{gap:8px}.bw-weekdays span{font-size:16px}.bw-grid{gap:8px}.bw-day{font-size:18px;border-radius:16px;aspect-ratio:1/1}.bw-details-name{font-size:24px}.bw-detail-grid{grid-template-columns:1fr}.bw-details-book-now{width:100%;min-width:0}.bw-selected-card{padding:22px}
  .bw-selected-meta{font-size:16px}
}

@media (max-width: 640px){
  .bw-modal{padding:calc(10px + env(safe-area-inset-top)) 8px calc(120px + env(safe-area-inset-bottom))}
  .bw-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100vh - 20px - env(safe-area-inset-top));max-height:calc(100dvh - 20px - env(safe-area-inset-top));margin:0;padding:12px 8px 14px;border-radius:22px;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box}
  .bw-modal-top{display:grid;grid-template-columns:44px minmax(0,1fr) 44px 44px;gap:6px;margin-bottom:10px;align-items:center}
  .bw-nav,.bw-close{width:44px;height:44px;flex-basis:44px}
  .bw-nav::before,.bw-close::before{width:18px;height:18px}
  .bw-month-title{font-size:21px;line-height:1.1;min-width:0;word-break:normal;text-align:center}
  .bw-weekdays,.bw-grid{width:100%;max-width:100%;box-sizing:border-box}
  .bw-weekdays{gap:3px;padding:0 1px;margin-bottom:6px}
  .bw-weekdays span{font-size:12px;min-width:0;overflow:hidden}
  .bw-grid{gap:3px}
  .bw-day,.bw-empty{min-width:0;max-width:100%;border-radius:11px}
  .bw-day{font-size:14px;aspect-ratio:1/1;padding:0}
  .bw-mobile-actions{display:flex!important;flex-direction:row!important;gap:6px;width:min(100%,64vw)}
  .bw-mobile-actions .bw-cta{flex:1 1 0;min-width:0}
  .bw-mobile-bar .bw-cta{font-size:10px;padding:0 4px;white-space:normal;line-height:1.08;word-break:normal;overflow-wrap:anywhere}
  .bw-availability-actions{grid-template-columns:1fr}
  .bw-mobile-actions .bw-cta{border-radius:999px}
  .bw-calendar-selection-panel{margin-top:12px;padding:12px;border-radius:18px}.bw-calendar-selection-copy{font-size:15px}.bw-get-price{min-height:50px;font-size:15px}
  .bw-public-sheet{padding:0}.bw-sheet-panel{width:100%;border-radius:26px 26px 0 0;padding:12px 12px 0;max-height:88vh;max-height:88dvh}.bw-sheet-image{height:170px;border-radius:18px}.bw-sheet-name{font-size:26px}.bw-sheet-date{font-size:16px}.bw-sheet-facts{grid-template-columns:1fr;gap:8px}.bw-sheet-price-row{position:sticky;left:0;right:0;bottom:0;z-index:3;align-items:center;background:#fff;margin:14px -12px 0;padding:12px 12px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -12px 28px rgba(10,24,48,.10)}.bw-sheet-price strong{font-size:34px}.bw-sheet-book-now{min-width:0;flex:1;min-height:52px;font-size:15px;padding:0 14px}
}


@media (max-width: 390px){
  .bw-modal{padding-left:6px;padding-right:6px}
  .bw-dialog{width:calc(100vw - 12px);max-width:calc(100vw - 12px);padding:10px 6px 12px}
  .bw-modal-top{grid-template-columns:40px minmax(0,1fr) 40px 40px;gap:4px}
  .bw-nav,.bw-close{width:40px;height:40px;flex-basis:40px}
  .bw-month-title{font-size:19px}
  .bw-weekdays{gap:2px}
  .bw-grid{gap:2px}
  .bw-day{font-size:13px;border-radius:10px}
}

/* v2.6.0 overlay fixes */
body.bw-overlay-active .bh-sticky-cta,
body.bw-overlay-active .bw-mobile-bar {
  transform: translateY(110%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.bw-modal,
.bw-public-sheet {
  z-index: 2147483600 !important;
}

@media (max-width: 640px) {
  .bw-modal {
    inset: 0 !important;
    align-items: flex-end !important;
    justify-content: center !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .bw-dialog {
    width: 100% !important;
    max-width: none !important;
    max-height: calc(100vh - 8px) !important;
    max-height: calc(100dvh - 8px) !important;
    margin: 0 !important;
    border-radius: 24px 24px 0 0 !important;
    padding: 10px 8px calc(12px + env(safe-area-inset-bottom)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .bw-modal-top {
    position: sticky !important;
    top: 0 !important;
    z-index: 4 !important;
    background: #fff !important;
    grid-template-columns: 40px minmax(0, 1fr) 40px 40px !important;
    gap: 5px !important;
    margin: -2px 0 8px !important;
    padding: 2px 0 6px !important;
  }

  .bw-nav,
  .bw-close {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
  }

  .bw-month-title {
    font-size: 20px !important;
    line-height: 1.1 !important;
  }

  .bw-weekdays {
    gap: 3px !important;
    margin-bottom: 5px !important;
  }

  .bw-weekdays span {
    font-size: 12px !important;
  }

  .bw-grid {
    gap: 3px !important;
  }

  .bw-day,
  .bw-empty {
    aspect-ratio: auto !important;
    height: 42px !important;
    border-radius: 10px !important;
  }

  .bw-day {
    font-size: 14px !important;
  }

  .bw-calendar-selection-panel {
    margin-top: 10px !important;
    padding: 10px !important;
    border-radius: 16px !important;
  }

  .bw-calendar-selection-copy {
    font-size: 14px !important;
    margin-bottom: 8px !important;
  }

  .bw-calendar-selection-copy span {
    font-size: 12px !important;
  }

  .bw-get-price {
    min-height: 46px !important;
    font-size: 14px !important;
  }

  .bw-public-sheet {
    inset: 0 !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .bw-sheet-panel {
    width: 100% !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: none !important;
    border-radius: 0 !important;
    padding: calc(10px + env(safe-area-inset-top)) 12px 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .bw-sheet-handle {
    display: none !important;
  }

  .bw-sheet-top {
    position: sticky !important;
    top: calc(-10px - env(safe-area-inset-top)) !important;
    z-index: 5 !important;
    background: #fff !important;
    margin: calc(-10px - env(safe-area-inset-top)) -12px 12px !important;
    padding: calc(10px + env(safe-area-inset-top)) 12px 10px !important;
    border-bottom: 1px solid #e6ebf4 !important;
  }

  .bw-sheet-close {
    width: 44px !important;
    height: 44px !important;
    flex-basis: 44px !important;
  }

  .bw-sheet-image {
    height: 150px !important;
    border-radius: 18px !important;
    margin-bottom: 14px !important;
  }

  .bw-sheet-name {
    font-size: 25px !important;
    line-height: 1.08 !important;
  }

  .bw-sheet-date {
    font-size: 16px !important;
  }

  .bw-sheet-facts {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .bw-sheet-fact {
    border-radius: 16px !important;
    padding: 10px !important;
  }

  .bw-sheet-price-row {
    position: sticky !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 6 !important;
    background: #fff !important;
    margin: 12px -12px 0 !important;
    padding: 10px 12px calc(12px + env(safe-area-inset-bottom)) !important;
    box-shadow: 0 -12px 28px rgba(10,24,48,.12) !important;
  }

  .bw-sheet-price strong {
    font-size: 32px !important;
  }

  .bw-sheet-book-now {
    min-width: 0 !important;
    flex: 1 1 auto !important;
    min-height: 50px !important;
    font-size: 14px !important;
    padding: 0 12px !important;
  }
}

@media (max-width: 390px) {
  .bw-day,
  .bw-empty {
    height: 38px !important;
  }

  .bw-month-title {
    font-size: 18px !important;
  }
}


/* v2.8.0 public events list shortcode */
.bw-public-events-list {
  display: grid;
  gap: 18px;
  margin-top: 28px;
}

.bw-public-event-card {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  gap: 22px;
  align-items: center;
  padding: 22px;
  border-radius: 26px;
  background: linear-gradient(180deg, rgba(255,255,255,0.90), rgba(255,255,255,0.72));
  border: 1px solid rgba(16,35,84,0.08);
  box-shadow: 0 14px 34px rgba(16,35,84,0.08), inset 0 1px 0 rgba(255,255,255,0.70);
}

.bw-public-event-card.is-sold-out {
  opacity: 0.72;
}

.bw-public-event-card.no-image {
  grid-template-columns: auto 1fr auto;
}

.bw-public-event-image {
  width: 160px;
  height: 104px;
  border-radius: 24px;
  overflow: hidden;
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(16,35,84,0.08);
  box-shadow: 0 12px 26px rgba(16,35,84,0.08);
}

.bw-public-event-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.bw-public-event-date {
  width: 92px;
  min-height: 104px;
  border-radius: 24px;
  background: linear-gradient(90deg,#ff4d4d 0%,#ff7a45 16%,#20d982 40%,#27dfe6 58%,#35a8ff 76%,#4d6bff 100%);
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: 0 14px 28px rgba(45,115,229,0.18);
}

.bw-public-event-date strong {
  font-size: 42px;
  line-height: 0.95;
  font-weight: 900;
  letter-spacing: -0.04em;
}

.bw-public-event-date span {
  font-size: 15px;
  font-weight: 800;
}

.bw-public-event-day {
  text-transform: uppercase;
  opacity: 0.95;
}

.bw-public-event-info h3 {
  margin: 0 0 8px;
  font-size: 26px;
  line-height: 1.1;
  color: #102354;
}

.bw-public-event-info p {
  margin: 0 0 14px;
  color: #4e5f85;
  font-size: 17px;
  line-height: 1.5;
}

.bw-public-event-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.bw-public-event-meta span {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(16,35,84,0.08);
  color: #102354;
  font-size: 14px;
  font-weight: 700;
}

.bw-public-event-btn {
  appearance: none;
  border: 0;
  cursor: pointer;
  min-height: 56px;
  padding: 16px 28px;
  border-radius: 999px;
  background: #2d73e5;
  color: #fff;
  font-size: 16px;
  font-weight: 900;
  white-space: nowrap;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 24px rgba(45,115,229,0.22);
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.bw-public-event-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(45,115,229,0.28);
  color: #fff;
}

.bw-public-event-btn:disabled {
  cursor: not-allowed;
  opacity: 0.72;
  background: #7d8ca8;
  box-shadow: none;
}

.bw-public-events-empty {
  padding: 24px;
  border-radius: 24px;
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(16,35,84,0.08);
  color: #4e5f85;
  font-size: 18px;
  line-height: 1.5;
}

@media (max-width: 767px) {
  .bw-public-event-card,
  .bw-public-event-card.no-image {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 18px;
  }

  .bw-public-event-image {
    width: 100%;
    height: 190px;
    border-radius: 20px;
  }

  .bw-public-event-date {
    width: 100%;
    min-height: 82px;
    flex-direction: row;
    gap: 10px;
  }

  .bw-public-event-date strong {
    font-size: 38px;
  }

  .bw-public-event-info h3 {
    font-size: 22px;
  }

  .bw-public-event-btn {
    width: 100%;
  }
}
