/* Collective Experience Listings & Events – every selector starts with .ccex so nothing leaks or gets overridden */
.ccex{--ccex-bur:#9B1B30;--ccex-bur-d:#74121f;--ccex-blush:#FCE4E4;--ccex-cream:#FFF8F6;--ccex-ink:#0D0D0D;--ccex-line:#ecd9dc;--ccex-muted:#5f5053;
  --ccex-serif:'Playfair Display',Georgia,serif;--ccex-sans:'Montserrat',Arial,sans-serif;
  --ccex-cols:3;--ccex-gap:24px;--ccex-r:6px;--ccex-img:220px;
  font:400 16px/1.7 var(--ccex-sans);color:var(--ccex-ink);box-sizing:border-box;padding:80px 5vw;width:100%}
.ccex *,.ccex *::before,.ccex *::after{box-sizing:border-box}
.ccex-bg-cream{background:var(--ccex-cream)}.ccex-bg-blush{background:var(--ccex-blush)}.ccex-bg-white{background:#fff}.ccex-bg-dark{background:var(--ccex-ink);color:#fff}.ccex-bg-none{background:transparent}
.ccex .ccex-wrap{max-width:1200px;margin:0 auto}
.ccex [hidden]{display:none!important}

/* header */
.ccex .ccex-head{text-align:center;margin:0 0 34px}
.ccex .ccex-crumb{display:flex;justify-content:center;align-items:center;gap:10px;margin:0 0 18px;font:500 11px var(--ccex-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ccex-muted)}
.ccex .ccex-crumb a,.ccex .ccex-crumb a:hover{color:var(--ccex-bur);text-decoration:none}
.ccex .ccex-h{margin:0 0 10px;padding:0;font:500 clamp(34px,5vw,60px)/1.1 var(--ccex-serif);letter-spacing:0;text-transform:none;color:inherit}
.ccex .ccex-intro{margin:0 auto;max-width:620px;font-size:17px;color:var(--ccex-muted)}
.ccex-bg-dark .ccex-intro,.ccex-bg-dark .ccex-crumb{color:#cfc4c6}

/* filters */
.ccex .ccex-filters{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:0 0 34px}
.ccex .ccex-pills{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.ccex .ccex-pill,.ccex .ccex-month{margin:0;min-width:0;cursor:pointer;-webkit-appearance:none;appearance:none;box-shadow:none;
  padding:10px 24px;border:1px solid var(--ccex-line);border-radius:999px;background:#fff;color:var(--ccex-ink);
  font:500 12px/1.2 var(--ccex-sans);letter-spacing:.08em;text-transform:none;transition:background .25s,color .25s,border-color .25s}
.ccex .ccex-pill:hover,.ccex .ccex-pill:focus{background:var(--ccex-blush);color:var(--ccex-ink);border-color:var(--ccex-bur);outline:0}
.ccex .ccex-pill.is-active,.ccex .ccex-pill.is-active:hover,.ccex .ccex-pill.is-active:focus{background:var(--ccex-bur);border-color:var(--ccex-bur);color:#fff}
.ccex .ccex-month{padding:10px 40px 10px 18px;border-radius:6px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%239B1B30' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 16px center}

/* grid + cards */
.ccex .ccex-grid{display:grid;grid-template-columns:repeat(var(--ccex-cols),minmax(0,1fr));gap:var(--ccex-gap);margin:0;padding:0}
.ccex .ccex-card{display:flex;flex-direction:column;min-width:0;margin:0;overflow:hidden;background:#fff;border:1px solid var(--ccex-line);border-radius:var(--ccex-r);color:var(--ccex-ink);transition:transform .35s ease,box-shadow .35s ease}
.ccex .ccex-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(13,13,13,.1)}
.ccex .ccex-card.ccex-hide{display:none!important}
.ccex .ccex-media{position:relative;height:var(--ccex-img);overflow:hidden;background:#2a0d14}
.ccex .ccex-media img.ccex-pic{position:absolute;top:0;left:0;display:block;width:100%;height:100%;max-width:none;margin:0;padding:0;border:0;border-radius:0;object-fit:cover;transition:transform .8s ease}
.ccex .ccex-card:hover img.ccex-pic{transform:scale(1.05)}
.ccex .ccex-ph{position:absolute;top:0;right:0;bottom:0;left:0;display:block;background:linear-gradient(160deg,#2a0d14,#9B1B30)}
.ccex .ccex-flag{position:absolute;top:12px;left:12px;padding:6px 12px;background:var(--ccex-bur);color:#fff;font:600 10px/1 var(--ccex-sans);letter-spacing:.14em;text-transform:uppercase;border-radius:2px}
.ccex .ccex-body{display:flex;flex-direction:column;flex:1 1 auto;gap:6px;padding:22px 22px 24px}
.ccex .ccex-label{display:block;font:600 10.5px/1.3 var(--ccex-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ccex-bur)}
.ccex .ccex-name{margin:0;padding:0;font:500 24px/1.2 var(--ccex-serif);letter-spacing:0;text-transform:none;color:var(--ccex-ink)}
.ccex .ccex-meta{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.5;color:var(--ccex-muted)}
.ccex .ccex-meta-sub{padding-left:24px;font-size:12.5px;font-style:italic}
.ccex .ccex-ic{display:inline-flex;flex:0 0 auto;margin-top:3px;color:var(--ccex-bur)}
.ccex .ccex-ic svg{display:block;width:14px;height:14px;fill:currentColor}
.ccex .ccex-desc{margin:4px 0 0;font-size:14.5px;line-height:1.65;color:var(--ccex-muted)}
.ccex .ccex-price{font-size:13px;color:var(--ccex-muted)}
.ccex .ccex-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:16px}

/* buttons */
.ccex a.ccex-btn,.ccex a.ccex-btn:visited{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:0;padding:12px 20px;max-width:100%;
  background:var(--ccex-bur);border:1px solid var(--ccex-bur);border-radius:4px;color:#fff;
  font:500 12.5px/1.25 var(--ccex-sans);letter-spacing:.04em;text-align:center;text-decoration:none;box-shadow:none;transition:background .3s,color .3s,border-color .3s,transform .3s}
.ccex a.ccex-btn:hover,.ccex a.ccex-btn:focus{background:var(--ccex-bur-d);border-color:var(--ccex-bur-d);color:#fff;text-decoration:none;outline:0}
.ccex a.ccex-btn:focus-visible{outline:2px solid var(--ccex-ink);outline-offset:2px}
.ccex a.ccex-btn.ccex-btn-ghost,.ccex a.ccex-btn.ccex-btn-ghost:visited{background:transparent;color:var(--ccex-bur)}
.ccex a.ccex-btn.ccex-btn-ghost:hover,.ccex a.ccex-btn.ccex-btn-ghost:focus{background:var(--ccex-bur);color:#fff}
.ccex a.ccex-btn.ccex-btn-light,.ccex a.ccex-btn.ccex-btn-light:visited{background:#fff;border-color:#fff;color:var(--ccex-bur);padding:14px 28px}
.ccex a.ccex-btn.ccex-btn-light:hover,.ccex a.ccex-btn.ccex-btn-light:focus{background:transparent;color:#fff}
.ccex .ccex-btn .ccex-ic{margin:0;color:currentColor}
.ccex .ccex-btn .ccex-ic svg{width:13px;height:13px}
.ccex .ccex-arr{display:inline-block;transition:transform .3s}.ccex a.ccex-btn:hover .ccex-arr{transform:translateX(4px)}

/* empty / note / band */
.ccex .ccex-empty{margin:10px 0 0;padding:34px 20px;text-align:center;font-size:16px;color:var(--ccex-muted);background:#fff;border:1px dashed var(--ccex-line);border-radius:var(--ccex-r)}
.ccex .ccex-note{margin:26px 0 0;padding:14px 20px;text-align:center;font-size:13px;line-height:1.6;color:var(--ccex-muted);background:#fff;border:1px solid var(--ccex-line);border-radius:var(--ccex-r)}
.ccex .ccex-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px;margin:26px 0 0;padding:32px 36px;background:var(--ccex-bur);border-radius:var(--ccex-r);color:#fff}
.ccex .ccex-cta-tx{display:flex;flex-direction:column;gap:2px}
.ccex .ccex-cta-t{font:500 clamp(22px,3vw,30px)/1.2 var(--ccex-serif);color:#fff}
.ccex .ccex-cta-x{font-size:14.5px;color:#f6dfe2}

/* tablet */
@media(max-width:1024px){.ccex{padding:64px 6vw}.ccex{--ccex-cols:2}}
/* phone */
@media(max-width:767px){
  .ccex{padding:48px 5vw;--ccex-cols:1;--ccex-gap:18px}
  .ccex .ccex-filters{margin-bottom:26px}
  .ccex .ccex-filters-ev{flex-direction:column;align-items:stretch}
  .ccex .ccex-sel,.ccex .ccex-month{width:100%}
  .ccex .ccex-filters,.ccex .ccex-wrap{min-width:0;max-width:100%}
  .ccex .ccex-pills{width:100%;max-width:100%;min-width:0;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;-webkit-overflow-scrolling:touch}
  .ccex .ccex-pills::-webkit-scrollbar{display:none}
  .ccex .ccex-pill{flex:0 0 auto}
  .ccex .ccex-btns a.ccex-btn{flex:1 1 100%}
  .ccex .ccex-cta{padding:26px 22px;flex-direction:column;align-items:flex-start}
  .ccex .ccex-cta a.ccex-btn{width:100%}
}
@media(hover:none){.ccex .ccex-card:hover{transform:none;box-shadow:none}.ccex .ccex-card:hover img.ccex-pic{transform:none}}
@media(prefers-reduced-motion:reduce){.ccex *{transition:none!important}}
.ccex .ccex-eb{margin:0 0 10px;font:600 11px var(--ccex-sans);letter-spacing:.28em;text-transform:uppercase;color:var(--ccex-bur)}
