/* Ticketly Events frontend styles. Scoped to plugin components. */
#ticketly-events-list,
.tle-events-list,
#ticketly-event-search-form,
.tle-search-block,
#ticketly-event-categories,
.tle-category-list,
#ticketly-cta,
.tle-single-event-details {
  --tle-accent: #FF6B35;
  --tle-ink: #0F172A;
  --tle-muted: #64748B;
  --tle-border: #E2E8F0;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  width: 100%;
}
.tle-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin:0 0 24px; }
.tle-section-heading h2 { margin:0 0 7px; color:var(--tle-ink); font-size:clamp(25px,3vw,32px); line-height:1.2; font-weight:800; letter-spacing:-.6px; }
.tle-section-heading p { margin:0; color:var(--tle-muted); font-size:13px; line-height:1.7; }
.tle-view-all { display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border:1px solid #CBD5E1; border-radius:9px; color:var(--tle-ink); font-size:12px; font-weight:700; text-decoration:none; white-space:nowrap; }
.tle-view-all:hover { border-color:var(--tle-accent); color:var(--tle-accent); }
.tle-event-grid { display:grid; grid-template-columns:repeat(var(--tle-columns,4),minmax(0,1fr)); gap:18px; }
.tle-event-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid var(--tle-border); border-radius:var(--tle-card-radius,16px); background:#fff; color:var(--tle-ink); text-decoration:none; box-shadow:0 2px 6px rgba(15,23,42,.025); transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.tle-event-card:hover { transform:translateY(-3px); border-color:rgba(255,107,53,.45); box-shadow:0 12px 27px rgba(15,23,42,.085); color:var(--tle-ink); }
.tle-event-image { width:100%; aspect-ratio:1.55/1; overflow:hidden; background:linear-gradient(135deg,#18243a,#314568); }
.tle-event-image .tle-card-img { display:block; width:100%; height:100%; object-fit:cover; }
.tle-placeholder-image { display:flex; align-items:center; justify-content:center; width:100%; height:100%; min-height:130px; background:radial-gradient(circle at 75% 20%,rgba(255,107,53,.35),transparent 38%),linear-gradient(135deg,#0F172A,#253855); color:#FF6B35; font-size:42px; }
.tle-event-body { display:flex; flex-direction:column; flex:1; padding:14px; }
.tle-event-category { align-self:flex-start; margin:0 0 8px; padding:4px 8px; border-radius:999px; background:#FFF0E9; color:#B9441D; font-size:10px; line-height:1.4; font-weight:800; }
.tle-event-title { margin:0 0 9px; color:#111827; font-size:16px; line-height:1.35; font-weight:800; letter-spacing:-.25px; }
.tle-event-meta,.tle-event-location { margin:0 0 8px; color:#64748B; font-size:11px; line-height:1.6; }
.tle-event-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:12px; border-top:1px solid #E8EDF3; }
.tle-event-price { color:#111827; font-size:15px; font-weight:800; }
.tle-event-arrow { display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:#FFF0E9; color:var(--tle-accent); font-size:20px; transition:background .2s,color .2s; }
.tle-event-card:hover .tle-event-arrow { background:var(--tle-accent); color:#fff; }
.tle-no-events { padding:42px 20px; border:1px dashed #CBD5E1; border-radius:14px; text-align:center; background:#F8FAFC; }
.tle-no-events-icon { color:var(--tle-accent); font-size:28px; }
.tle-no-events h3 { margin:10px 0 6px; color:var(--tle-ink); font-size:20px; }
.tle-no-events p { margin:0; color:var(--tle-muted); font-size:13px; }
/* Search shortcode */
.tle-search-block { padding:42px 24px; border-radius:18px; background:#F8FAFC; }
.tle-search-heading { text-align:center; margin:0 auto 24px; }
.tle-search-heading .tle-eyebrow { display:block; margin-bottom:9px; color:var(--tle-accent); font-size:10px; font-weight:800; letter-spacing:1.2px; }
.tle-search-heading h2 { margin:0 0 8px; color:var(--tle-ink); font-size:clamp(26px,3vw,36px); font-weight:800; line-height:1.2; }
.tle-search-heading p { margin:0; color:var(--tle-muted); font-size:13px; }
.tle-search-form { display:grid; grid-template-columns:1.25fr .85fr 1fr 1fr auto; gap:0; padding:11px; border:1px solid var(--tle-border); border-radius:14px; background:#fff; box-shadow:0 12px 30px rgba(15,23,42,.05); }
.tle-search-field { display:flex; flex-direction:column; justify-content:center; min-width:0; padding:10px 14px; border-right:1px solid var(--tle-border); }
.tle-search-field label { margin:0 0 7px; color:var(--tle-ink); font-size:11px; font-weight:800; }
.tle-search-field input,.tle-search-field select { min-width:0; width:100%; min-height:26px; padding:3px 0; border:0; outline:0; background:transparent; color:#64748B; font-size:12px; }
.tle-search-submit { display:inline-flex; align-items:center; justify-content:center; gap:8px; margin:0; padding:0 17px; border:1px solid var(--tle-accent); border-radius:9px; background:var(--tle-accent); color:#fff; font-size:12px; font-weight:800; cursor:pointer; }
.tle-search-submit:hover { background:#E95624; border-color:#E95624; }
/* Category shortcode */
.tle-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
.tle-category-card { display:flex; align-items:center; gap:13px; min-width:0; padding:14px; border:1px solid var(--tle-border); border-radius:14px; background:#fff; color:var(--tle-ink); text-decoration:none; transition:transform .2s,border-color .2s,box-shadow .2s; }
.tle-category-card:hover { transform:translateY(-3px); border-color:rgba(255,107,53,.5); box-shadow:0 10px 24px rgba(15,23,42,.06); }
.tle-category-icon { display:flex; align-items:center; justify-content:center; width:48px; height:48px; flex:0 0 48px; border-radius:12px; background:#FFF0E9; color:var(--tle-accent); font-size:25px; font-weight:800; }
.tle-category-icon-2 { background:#DFF3FF; color:#0284C7; }
.tle-category-icon-3 { background:#FFF3C9; color:#D97706; }
.tle-category-icon-4 { background:#EDE7FF; color:#7C3AED; }
.tle-category-copy { display:flex; flex:1; flex-direction:column; gap:5px; min-width:0; }
.tle-category-copy strong { color:#111827; font-size:13px; line-height:1.35; }
.tle-category-copy small { color:var(--tle-muted); font-size:10px; }
.tle-category-arrow { color:#94A3B8; font-size:20px; }
/* CTA shortcode */
.tle-cta-banner { position:relative; isolation:isolate; display:flex; align-items:center; justify-content:space-between; gap:25px; min-height:170px; padding:28px 32px; overflow:hidden; border-radius:18px; background:radial-gradient(ellipse at 75% 40%,rgba(38,55,83,.8),transparent 55%),linear-gradient(120deg,#0F172A,#17243B); color:#fff; }
.tle-cta-copy { position:relative; z-index:2; max-width:650px; }
.tle-cta-copy h2 { margin:0 0 9px; color:#fff; font-size:clamp(24px,3vw,34px); line-height:1.2; font-weight:800; }
.tle-cta-copy p { margin:0 0 18px; color:#CBD5E1; font-size:13px; line-height:1.6; }
.tle-cta-button { display:inline-flex; align-items:center; gap:10px; padding:13px 18px; border-radius:9px; background:var(--tle-accent); color:#fff; font-size:12px; font-weight:800; text-decoration:none; }
.tle-cta-button:hover { background:#E95624; color:#fff; }
.tle-cta-art { position:absolute; z-index:1; right:5%; top:50%; width:205px; height:205px; transform:translateY(-50%); }
.tle-cta-orbit,.tle-cta-orbit-inner { position:absolute; inset:0; border:1px solid rgba(255,107,53,.2); border-radius:50%; }
.tle-cta-orbit-inner { inset:27px; border-color:rgba(255,255,255,.11); }
.tle-cta-ticket { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:70px; transform:rotate(-12deg); text-shadow:0 10px 25px rgba(0,0,0,.2); }
/* Single event poster: display the featured image without cropping poster artwork */
.tle-single-event-poster { display:flex; align-items:center; justify-content:center; width:100%; margin:28px 0 24px; padding:0; overflow:hidden; border:1px solid #E2E8F0; border-radius:20px; background:#0F172A; box-shadow:0 18px 42px rgba(15,23,42,.10); }
.tle-single-event-poster .tle-single-poster-img { display:block; width:auto; height:auto; max-width:100%; max-height:600px; margin:0 auto; object-fit:contain; }
/* Single event details */
.tle-single-event-details { margin:28px 0; padding:24px; border:1px solid var(--tle-border); border-radius:16px; background:#F8FAFC; }
.tle-single-event-details h2 { margin:0 0 17px; color:var(--tle-ink); font-size:23px; }
.tle-single-details-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.tle-single-details-grid div { display:flex; flex-direction:column; gap:6px; padding:14px; border:1px solid #E2E8F0; border-radius:10px; background:#fff; }
.tle-single-details-grid span { color:var(--tle-muted); font-size:11px; }
.tle-single-details-grid strong { color:var(--tle-ink); font-size:14px; }
.tle-single-book-button { display:inline-flex; align-items:center; gap:10px; margin-top:18px; padding:13px 20px; border-radius:9px; background:var(--tle-accent); color:#fff!important; font-size:13px; font-weight:800; text-decoration:none; }
.tle-single-book-button:hover { background:#E95624; }
.tle-booking-unavailable { color:var(--tle-muted); font-size:13px; }
@media(max-width:1050px) { .tle-event-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .tle-search-form { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; } .tle-search-field { border-right:0; border-bottom:1px solid var(--tle-border); } .tle-search-submit { grid-column:1/-1; min-height:48px; margin-top:10px; } .tle-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .tle-single-event-poster { margin:20px 0; border-radius:14px; } .tle-single-event-poster .tle-single-poster-img { max-height:460px; } .tle-section-heading { align-items:flex-start; } .tle-event-grid { grid-template-columns:1fr; } .tle-search-block { padding:28px 14px; } .tle-search-form { grid-template-columns:1fr; } .tle-search-field { min-height:66px; padding:12px 8px; border-bottom:1px solid var(--tle-border); } .tle-search-submit { grid-column:auto; } .tle-category-grid { grid-template-columns:1fr; } .tle-cta-banner { min-height:180px; padding:22px 18px; } .tle-cta-art { right:-85px; opacity:.65; } .tle-cta-copy { max-width:90%; } .tle-single-details-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .tle-event-card,.tle-category-card,.tle-cta-button { transition:none!important; } }
