/* TecTickets Experience Catalog 1.2 - encapsulated. No WooCommerce / Jet styles. */
.ttfr-catalog { --ttfr-pink:#D6247F;--ttfr-cyan:#087C9E;--ttfr-ink:#202831;--ttfr-muted:#66717C;--ttfr-border:#E6EAEE;--ttfr-soft:#F6FAFC; width:100%; font-family:inherit; color:var(--ttfr-ink); }
.ttfr-catalog *, .ttfr-catalog *::before, .ttfr-catalog *::after { box-sizing:border-box; }
.ttfr-catalog .ttfr-catalog-preview { background:#FFF3D9; border:1px solid #F5D08C; color:#6B4B1A; border-radius:9px; padding:12px 16px; font-size:13px; margin:0 0 26px; }
.ttfr-catalog-search { max-width:760px; margin:0 0 23px; }
.ttfr-catalog-search-label { display:block; margin:0 0 10px; color:var(--ttfr-ink); font-size:13px; font-weight:750; letter-spacing:.01em; }
.ttfr-catalog-search-fields { display:flex; flex-wrap:nowrap; gap:9px; align-items:stretch; }
.ttfr-catalog-search-fields input[type=search] { flex:1 1 auto; display:block; min-width:0; max-width:none; border:1px solid #D8E1E7; border-radius:9px; padding:16px 19px; margin:0; font-size:15px; background:#fff; color:var(--ttfr-ink); min-height:52px; box-shadow:0 7px 22px rgba(18,38,52,.045); }
.ttfr-catalog-search-fields input[type=search]:focus { outline:2px solid var(--ttfr-cyan); outline-offset:1px; }
.ttfr-catalog-search-fields button { display:inline-flex; min-width:132px; align-items:center; justify-content:center; gap:14px; font-size:14px; font-weight:750; padding:13px 21px; border:0; background:var(--ttfr-pink); color:#fff; border-radius:9px; cursor:pointer; transition:background .16s ease; }
.ttfr-catalog-search-fields button:hover, .ttfr-catalog-search-fields button:focus { background:#AC1264; color:#fff; }
.ttfr-catalog-chips { display:flex; flex-wrap:wrap; gap:9px; margin:0 0 30px; align-items:center; }
.ttfr-catalog-chips .ttfr-chip { display:inline-flex; align-items:center; min-height:39px; border-radius:999px; border:1px solid #DAE5EA; padding:8px 13px; background:#fff; font-size:13px; line-height:1.35; font-weight:700; color:#405868; text-decoration:none!important; transition:background .18s,border-color .18s,color .18s; }
.ttfr-catalog-chips .ttfr-chip:hover { background:#EAF7FB; color:var(--ttfr-cyan); border-color:#99D7EA; }
.ttfr-catalog-chips .ttfr-chip.is-active { background:var(--ttfr-cyan); color:#fff!important; border-color:var(--ttfr-cyan); }
.ttfr-catalog-count { font-size:14px; font-weight:720; padding:0 0 19px; color:#536170; }
.ttfr-catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; width:100%; }
.ttfr-catalog-card { background:#fff; min-width:0; border:1px solid var(--ttfr-border); border-radius:13px; box-shadow:0 11px 30px rgba(24,44,60,.045); overflow:hidden; display:flex; flex-direction:column; }
.ttfr-catalog-card-image { display:block; height:227px; overflow:hidden; background:linear-gradient(150deg,#DCEEF4 0%,#FBE6F0 100%); position:relative; }
.ttfr-catalog-card-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.ttfr-catalog-card-image:hover img { transform:scale(1.035); }
.ttfr-catalog-card-fallback { font-weight:800; font-size:24px; letter-spacing:-.05em; color:var(--ttfr-cyan); opacity:.7; display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.ttfr-catalog-card-body { padding:22px 23px 24px; flex:1 1 auto; display:flex; align-items:flex-start; flex-direction:column; }
.ttfr-catalog-card-category { text-transform:uppercase; letter-spacing:.1em; font-size:10px; font-weight:850; color:var(--ttfr-cyan); margin:0 0 11px; }
.ttfr-catalog-card-draft { color:#905F14; background:#FFF2D5; border-radius:4px; padding:3px 6px; text-transform:uppercase; font-size:9px; letter-spacing:.06em; font-weight:800; margin:-4px 0 10px; }
.ttfr-catalog-card h3 { font-size:21px; line-height:1.27; font-weight:770; color:var(--ttfr-ink); letter-spacing:-.035em; margin:0 0 12px; padding:0; }
.ttfr-catalog-card h3 a { color:inherit!important; text-decoration:none!important; }
.ttfr-catalog-card h3 a:hover { color:var(--ttfr-pink)!important; }
.ttfr-catalog-card p { margin:0 0 20px; font-size:14px; line-height:1.65; color:#5B6873; }
.ttfr-catalog-card-link { margin-top:auto; display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:770; color:var(--ttfr-pink)!important; text-decoration:none!important; }
.ttfr-catalog-card-link:hover { text-decoration:underline!important; }
.ttfr-catalog-pagination { padding:35px 0 0; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px; }
.ttfr-catalog-pagination a { display:inline-flex; align-items:center; justify-content:center; min-height:37px; min-width:37px; padding:7px 12px; border:1px solid var(--ttfr-border); border-radius:7px; font-size:13px; font-weight:700; text-decoration:none!important; color:var(--ttfr-ink)!important; }
.ttfr-catalog-pagination a:hover { background:#F0F8FB; }
.ttfr-catalog-pagination a.is-current { background:var(--ttfr-pink); color:#fff!important; border-color:var(--ttfr-pink); }
.ttfr-catalog-empty { text-align:center; border-radius:13px; background:var(--ttfr-soft); border:1px solid var(--ttfr-border); padding:52px 25px; }
.ttfr-catalog-empty h2 { font-size:24px; margin:0 0 9px; }
.ttfr-catalog-empty p { font-size:15px; color:var(--ttfr-muted); margin:0 0 15px; }
.ttfr-catalog-empty a { color:var(--ttfr-pink); font-weight:700; }
@media (max-width:1024px) { .ttfr-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px;} }
@media (max-width:767px) { .ttfr-catalog-grid{grid-template-columns:repeat(1,minmax(0,1fr)); gap:18px;} .ttfr-catalog-card-image{height:230px;} .ttfr-catalog-search-fields{flex-direction:column;} .ttfr-catalog-search-fields button{min-height:48px; width:100%;} .ttfr-catalog-chips{gap:7px;} .ttfr-catalog-chips .ttfr-chip{font-size:12px; padding:7px 11px;} .ttfr-catalog-card h3{font-size:20px;} }

/* v2.0.1: never display internal preview/debug labels, including cached markup. */
.ttfr-catalog .ttfr-catalog-preview, .ttfr-catalog .ttfr-catalog-card-draft { display:none!important; }
