/* Shared event presentation, ported from approved brand previews. */
@font-face{font-family:'CPE Asap';src:url('../fonts/asap-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'CPE Asap';src:url('../fonts/asap-bold.ttf') format('truetype');font-weight:700 900;font-display:swap}
.cpe-app{--cpevn-font:'CPE Asap';--cpevn-font-fallback:'CPE Asap',sans-serif}
/* Shared preview layout. No saved event data or booking behaviour. */
/* Square artwork and compact, aligned listing information. */
body .cpe-app .cpe-card .cpe-card-media{aspect-ratio:1/1!important;min-height:0!important;height:auto!important;flex-basis:auto!important}
body .cpe-app .cpe-card .cpe-card-body{padding:18px;min-width:0}
body .cpe-app .cpe-card-info{min-width:0;flex:1}
body .cpe-app .cpe-card .cpe-card-meta{display:grid!important;grid-template-columns:max-content max-content;flex-direction:row;gap:7px 12px!important;font-size:13px!important}
body .cpe-app .cpe-card-meta .meta-item--full{grid-column:1/-1;min-width:0;width:auto;overflow-wrap:anywhere}
body .cpe-app .cpe-card .cpe-card-foot{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;flex-wrap:nowrap}
body .cpe-app .cpe-card .cpe-card-ctas{display:contents}
body .cpe-app .cpe-card .cpe-price{font-size:14px;line-height:1.2;text-align:left;white-space:nowrap}
body .cpe-app .cpe-card .cpe-view-link{font-size:12px;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
body .cpe-app .cpe-card .cpe-btn{font-size:12px!important;padding:10px 12px!important;min-height:44px;white-space:nowrap;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
/* List view: lead each event with generous square artwork. */
body .cpe-app .cpe-agenda-list .cpe-agenda-event{display:grid!important;grid-template-columns:240px 68px minmax(0,1fr) 6px!important;grid-template-rows:1fr auto;gap:16px!important;padding:0!important;min-height:240px;overflow:hidden;align-items:start}
body .cpe-app .cpe-agenda-list .cpe-agenda-art{display:block!important;grid-column:1!important;grid-row:1/3!important;width:240px!important;height:240px!important;aspect-ratio:1!important;align-self:start;margin:0!important;border-radius:0!important;overflow:hidden}
body .cpe-app .cpe-agenda-list .cpe-agenda-art img{display:block;width:100%!important;height:100%!important;object-fit:cover!important;aspect-ratio:1!important;border-radius:0!important}
body .cpe-app .cpe-agenda-list .cpe-agenda-time{grid-column:2!important;grid-row:1!important;padding-top:22px}
body .cpe-app .cpe-agenda-list .cpe-agenda-body{grid-column:3!important;grid-row:1!important;padding-top:22px;min-width:0}
body .cpe-app .cpe-agenda-list .cpe-agenda-bottom{grid-column:2/4!important;grid-row:2!important;padding-bottom:20px;align-self:end;margin:0!important}
body .cpe-app .cpe-agenda-list .cpe-agenda-event:not(:has(.cpe-agenda-art)){grid-template-columns:20px 68px minmax(0,1fr) 6px!important}
@media(max-width:700px){body .cpe-app .cpe-agenda-list .cpe-agenda-event{grid-template-columns:112px minmax(0,1fr)!important;grid-template-rows:auto 1fr auto;gap:12px!important;padding-right:12px!important;min-height:0}body .cpe-app .cpe-agenda-list .cpe-agenda-art{width:112px!important;height:112px!important;grid-row:1/4!important}body .cpe-app .cpe-agenda-list .cpe-agenda-time{grid-column:2!important;padding-top:12px;flex-direction:row;gap:6px}body .cpe-app .cpe-agenda-list .cpe-agenda-body{grid-column:2!important;grid-row:2!important;padding-top:0}body .cpe-app .cpe-agenda-list .cpe-agenda-bottom{grid-column:2!important;grid-row:3!important;flex-wrap:wrap;padding-bottom:12px}body .cpe-app .cpe-agenda-list .cpe-agenda-excerpt{font-size:13px}}

/* Five related cards on desktop, with a dedicated compact scale. */
body .cpe-app .cpe-related-track{gap:10px}
body .cpe-app .cpe-related-track .cpe-card{flex:0 0 calc((100% - 40px)/5)!important}
body .cpe-app .cpe-related-track .cpe-card-body{padding:9px!important;gap:9px!important}
body .cpe-app .cpe-related-track .cpe-card-tag{font-size:9px;padding:4px 7px}
body .cpe-app .cpe-related-track .cpe-card-row{gap:7px}
body .cpe-app .cpe-related-track .cpe-date-block{min-width:32px;min-height:54px;padding:6px 4px!important;gap:2px;border-radius:8px}
body .cpe-app .cpe-related-track .cpe-date-block :is(.dow,.mon){font-size:8px!important;letter-spacing:0}
body .cpe-app .cpe-related-track .cpe-date-block .dom{font-size:20px!important}
body .cpe-app .cpe-related-track .cpe-card-title{font-size:12px!important;line-height:1.25!important;min-height:60px;margin:0 0 8px!important;-webkit-line-clamp:4;letter-spacing:0}
body .cpe-app .cpe-related-track .cpe-card-meta{display:flex!important;flex-direction:column;align-items:flex-start;gap:4px!important;font-size:10px!important}
body .cpe-app .cpe-related-track .cpe-card-meta .meta-item{gap:4px!important;max-width:100%;white-space:normal}
body .cpe-app .cpe-related-track .cpe-card-meta svg{width:11px!important;height:11px!important}
body .cpe-app .cpe-related-track .cpe-card-foot{display:grid!important;grid-template-columns:minmax(0,1fr);gap:5px;padding-top:8px}
body .cpe-app .cpe-related-track .cpe-price{font-size:11px;text-align:left;white-space:normal}
body .cpe-app .cpe-related-track .cpe-card-ctas{display:flex;justify-content:space-between;align-items:center;gap:4px;flex-wrap:nowrap}
body .cpe-app .cpe-related-track .cpe-view-link{font-size:9px;min-height:32px;white-space:normal;line-height:1.2}
body .cpe-app .cpe-related-track .cpe-btn{font-size:10px!important;padding:7px 8px!important;min-height:32px;border-radius:18px!important;flex-shrink:0}
@media(max-width:1100px){body .cpe-app .cpe-related-track .cpe-card{flex-basis:calc((100% - 20px)/3)!important}}
@media(max-width:600px){body .cpe-app .cpe-related-track .cpe-card{flex-basis:calc((100% - 10px)/2)!important}}

/* Equal mobile usability for both brands. */
body .cpe-app .cpe-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
body .cpe-app .cpe-card{min-width:0}
body .cpe-app .cpe-card .cpe-card-meta{grid-template-columns:minmax(0,max-content) minmax(0,1fr)}
body .cpe-app .cpe-card .cpe-card-meta .meta-item{min-width:0;overflow-wrap:anywhere}
body .cpe-app .cpe-card .cpe-card-foot{margin-top:auto}
body .cpe-app .cpe-related-track{padding:0;align-items:stretch}
body .cpe-app .cv-pagination{flex-wrap:wrap}
@media(max-width:1100px){body .cpe-app .cpe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){body .cpe-app .cpe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body .cpe-app .cpe-grid{grid-template-columns:minmax(0,1fr)}body .cpe-app .cpe-related-track .cpe-card :is(.cpe-btn,.cpe-view-link){min-height:44px}body .cpe-app .cpe-related-track .cpe-card .cpe-card-ctas{flex-wrap:wrap}}

/* Existing CPE controls and alternate views in Club colours. */
body .cpe-app .cpe-view-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}
body .cpe-app .cpe-view-tabs a,body .cpe-app .cpe-schedule-nav a{background:#16231c;color:#fff;border:1px solid #ffffff40;border-radius:24px;padding:11px 20px;text-decoration:none}
body .cpe-app .cpe-view-tabs a[aria-current],body .cpe-app .cpe-schedule-nav a[aria-current]{background:#fad53e;color:#0c0f0d;border-color:#fad53e}
body .cpe-app .cpe-filter-panel{background:#16231c;border:1px solid #ffffff30;border-radius:16px;padding:20px;margin-bottom:25px}
body .cpe-app .cpe-filter-panel summary{color:#fad53e;cursor:pointer}
body .cpe-app .cpe-alt-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:20px}
body .cpe-app .cpe-alt-filters label{color:#d7dfd9;display:flex;flex-direction:column;gap:7px;min-width:0}
body .cpe-app .cpe-alt-filters :is(input,select){background:#0c0f0d;color:#fff;border:1px solid #ffffff50;border-radius:8px;padding:12px;width:100%;box-sizing:border-box;font-family:Asap Condensed,sans-serif}
body .cpe-app .cpe-alt-filters .cpe-filter-search{grid-column:span 2}
body .cpe-app .cv-pagination{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:30px}
body .cpe-app :is(.cpe-agenda-card,.cpe-month-cell,.cpe-week-day,.cpe-day-group){background:#16231c;color:#fff;border-color:#ffffff30}
body .cpe-app :is(.cpe-show-title,.cpe-schedule-nav h2,.cpe-day-title){color:#fff}
@media(max-width:700px){body .cpe-app .cpe-alt-filters{grid-template-columns:repeat(2,minmax(0,1fr))}body .cpe-app .cpe-alt-filters .cpe-filter-search{grid-column:1/-1}}


/* Retain Pub yellow/green and existing show-type icons/colours. */
body .cpe-app :is(.cpe-card-title,.cpe-agenda-body h3,.cpe-agenda-body h3 a,.cpe-month-show-link){color:var(--cpevn-brand-yellow,#fad53e)}
body .cpe-app .cpe-btn.cpe-btn-primary{background:var(--cpevn-brand-yellow,#fad53e)!important;color:var(--cpevn-brand-green,#00492d)!important;border-color:var(--cpevn-brand-yellow,#fad53e)!important}
body .cpe-app .cpe-btn.cpe-btn-primary:is(:hover,:focus-visible,:active){background:var(--cpevn-brand-green,#00492d)!important;color:var(--cpevn-brand-yellow,#fad53e)!important;border-color:var(--cpevn-brand-yellow,#fad53e)!important}
body .cpe-app .cpe-card{display:flex;flex-direction:column}
body .cpe-app .cpe-card-body{flex:1;display:flex;flex-direction:column}
body .cpe-app .cpe-related-track .cpe-card-body{flex:1}
body .cpe-app .cpe-related-track .cpe-card-ctas{display:flex}
body .cpe-app .cpe-view-tabs a:focus-visible,body .cpe-app .cpe-schedule-nav a:focus-visible{outline:2px solid var(--cpevn-brand-yellow,#fad53e);outline-offset:3px}

/* Narrow desktop carousel cards must wrap their action pair too. */
body .cpe-app .cpe-related-track .cpe-card-ctas{flex-wrap:wrap;gap:4px;min-width:0;max-width:100%}
body .cpe-app .cpe-related-track .cpe-card-ctas .cpe-btn{max-width:100%;white-space:normal;text-align:center}
