.ce-wrap{font-family:Lato,sans-serif}
.ce-muted{color:#666}
.ce-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 18px}
.ce-tab{border:1px solid rgba(0,0,0,.12);background:#fff;color:#2B2B2B;padding:9px 14px;border-radius:999px;font:600 13px/1 Montserrat,sans-serif;cursor:pointer;transition:.2s}
.ce-tab:hover{background:#C39B3B;color:#fff;border-color:#C39B3B}
.ce-tab.is-active{background:#7A1E24;color:#fff;border-color:#7A1E24}
.ce-panels{max-width:1200px;margin:0 auto}
.ce-panel{display:none}
.ce-panel.is-active{display:block}
.ce-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:10px}
@media(max-width:1024px){.ce-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.ce-grid{grid-template-columns:repeat(1,1fr)}}
.ce-card{border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:14px;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.ce-card h4{margin:0 0 6px;font:700 16px/1.3 Montserrat,sans-serif;color:#2B2B2B}
.ce-card .ce-date{display:inline-block;background:#F6F1E8;color:#7A1E24;border-radius:6px;padding:4px 8px;font:700 12px/1 Montserrat,sans-serif;margin-bottom:8px}
.ce-card a.ce-more{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font:600 13px/1 Montserrat,sans-serif;color:#7A1E24;text-decoration:none}
.ce-card a.ce-more:hover{color:#C39B3B}
.ce-calendar{border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:12px;background:#fff}
.ce-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.ce-cal-head b{font:700 14px/1 Montserrat,sans-serif}
.ce-cal-nav{display:flex;gap:6px}
.ce-btn{border:1px solid rgba(0,0,0,.12);background:#fff;border-radius:8px;padding:6px 9px;cursor:pointer}
.ce-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.ce-cal-cell{aspect-ratio:1/1;border:1px dashed rgba(0,0,0,.06);border-radius:10px;display:flex;align-items:center;justify-content:center;position:relative;font:600 12px/1 Montserrat,sans-serif;color:#2B2B2B;background:#fafafa}
.ce-cal-cell.is-empty{background:transparent;border:none}
.ce-dot{position:absolute;bottom:6px;width:7px;height:7px;background:#7A1E24;border-radius:50%}
.ce-cal-cell.has-events{cursor:pointer;transition:.2s}
.ce-cal-cell.has-events:hover{background:#F6F1E8;border-color:#C39B3B}
.ce-modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:99999}
.ce-modal.show{display:flex}
.ce-modal-box{background:#fff;border-radius:12px;max-width:520px;width:92%;padding:18px;box-shadow:0 12px 40px rgba(0,0,0,.3)}
.ce-modal-title{margin:0 0 10px;font:700 18px/1.2 Montserrat,sans-serif;color:#2B2B2B}
.ce-modal-list{display:flex;flex-direction:column;gap:10px}
.ce-modal-item a{color:#7A1E24;text-decoration:none;font-weight:600}
.ce-modal .ce-close{margin-top:0;border:1px solid rgba(0,0,0,.1);background:#9d9191;border-radius:8px;padding:2px 12px;cursor:pointer;margin-bottom:10px;float:right}
.ce-single-gallery{margin-top:24px;position:relative}
.ce-single-gallery h3{font:700 18px/1.2 Montserrat,sans-serif;margin:0 0 10px}
.ce-single-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:1024px){.ce-single-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.ce-single-grid{grid-template-columns:repeat(2,1fr)}}
.ce-single-grid a{display:block;border-radius:10px;overflow:hidden;background:#000}
.ce-single-grid img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;object-position:center;transition:transform .3s ease,filter .3s ease}
.ce-single-grid a:hover img{transform:scale(1.06);filter:brightness(.9)}
.ce-docs{margin-top:20px}
.ce-docs h3{font:700 18px/1.2 Montserrat,sans-serif;margin:0 0 10px}
.ce-doc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.ce-doc-title{font-weight:600}
.ce-doc-size{color:#666}
.ce-doc-btn{margin-left:8px;background:#7A1E24;color:#fff;border-radius:6px;padding:4px 8px;text-decoration:none;font:600 12px/1 Montserrat,sans-serif}
.ce-doc-btn:hover{background:#C39B3B;color:#2B2B2B}
.ce-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:1024px){.ce-grid-4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.ce-grid-4{grid-template-columns:repeat(1,1fr)}}
.ce-fig{position:relative;overflow:hidden;border-radius:12px;background:#000}
.ce-fig img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;object-position:center;transition:transform .35s ease,filter .35s ease}
.ce-fig-cap{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px;background:rgba(0,0,0,.45);backdrop-filter:blur(3px);opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease}
.ce-fig-title{font:700 16px/1.3 Montserrat,sans-serif;color:#fff;margin-bottom:6px;text-transform:uppercase;letter-spacing:.4px}
.ce-fig-desc{font:400 13px/1.5 Lato,sans-serif;color:#F6F1E8;max-width:85%}
.ce-fig:hover img{transform:scale(1.06);filter:brightness(.9)}
.ce-fig:hover .ce-fig-cap{opacity:1;transform:translateY(0)}
.ce-age-gate{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:99999}
.ce-age-wrap{background:rgba(40,40,40,.95);border-radius:14px;padding:28px;max-width:480px;width:92%;text-align:center;box-shadow:0 8px 40px rgba(0,0,0,.5)}
.ce-age-wrap h4{font:700 18px/1.2 Montserrat,sans-serif;margin:0 0 10px;color:#C39B3B}
.ce-age-wrap p{font:400 14px/1.6 Lato,sans-serif;color:#f1f1f1;margin:0 0 16px}
.ce-age-actions{display:flex;justify-content:center;gap:12px}
.ce-age-actions .ce-age-yes{background:#7A1E24;color:#fff;border:none;border-radius:8px;padding:10px 14px;font:600 14px/1 Montserrat,sans-serif;cursor:pointer}
.ce-age-actions .ce-age-yes:hover{background:#C39B3B;color:#2B2B2B}
.ce-age-actions .ce-age-no{background:transparent;border:1px solid #fff;color:#fff;border-radius:8px;padding:10px 14px;font:600 14px/1 Montserrat,sans-serif;cursor:pointer}
.ce-age-actions .ce-age-no:hover{background:rgba(255,255,255,.1)}
.ce-single-gallery.ce-blurred .ce-single-grid{filter:blur(8px);pointer-events:none;user-select:none}
.ce-modal-item-inner{display:flex;flex-direction:column;gap:6px}
.ce-event-year{font:700 12px/1 Montserrat,sans-serif;color:#7A1E24}
.ce-event-title{font:700 14px/1.2 Montserrat,sans-serif;color:#2B2B2B;text-decoration:none}
.ce-event-title:hover{color:#C39B3B}
.ce-event-excerpt{margin:0;font:400 13px/1.5 Lato,sans-serif;color:#444}
.ce-readmore{align-self:flex-start;margin-top:2px;font:600 12px/1 Montserrat,sans-serif;color:#7A1E24;text-decoration:none;border:1px solid rgba(0,0,0,.12);padding:6px 10px;border-radius:8px}
.ce-readmore:hover{background:#F6F1E8;border-color:#C39B3B;color:#2B2B2B}
.ce-date,.ce-event-date{display:inline-block;background:#F6F1E8;color:#7A1E24;border-radius:6px;padding:4px 8px;font:700 12px/1 Montserrat,sans-serif;margin-bottom:8px}
.ce-inline-gate{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35);backdrop-filter:saturate(120%) blur(1px);z-index:10;border-radius:12px}
.ce-inline-box{max-width:520px;width:90%;background:#fff;border-radius:12px;padding:18px;box-shadow:0 12px 40px rgba(0,0,0,.3);text-align:center}
.ce-inline-box h4{margin:0 0 8px;font:700 18px/1.2 Montserrat,sans-serif;color:#2B2B2B}
.ce-inline-box p{margin:0 0 12px;font:400 14px/1.5 Lato,sans-serif;color:#444}
.ce-inline-yes{display:inline-block;border:0;border-radius:10px;padding:10px 16px;cursor:pointer;background:#7A1E24;color:#fff;font:700 13px/1 Montserrat,sans-serif}
.ce-inline-yes:hover{background:#C39B3B;color:#2B2B2B}
/* minimalist arrows for calendar nav */
.ce-cal-nav .ce-btn {
  position: relative;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 6px;
  background: #C39B3B;
  cursor: pointer;
  transition: all .2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ce-cal-nav .ce-btn::before {
  content: '';
  display: block;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}

/* left arrow */
.ce-cal-nav .ce-btn[data-dir="-1"]::before {
  transform: rotate(225deg);
}

/* hover effect */
.ce-cal-nav .ce-btn:hover {
  background: #7A1E24;
  border-color: #7A1E24;
}
