/* Tablify Pro — experiences in the booking widget */
.tablify .tfp-exps .tf-view-title { margin-bottom: 14px; }
.tablify .tfp-exp-list { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.tablify .tfp-exp { display: flex; flex-direction: column; text-align: left; padding: 0; overflow: hidden; border: 1px solid var(--tf-border, #e5ded5); border-radius: var(--tf-radius, 14px); background: var(--tf-surface, #fff); color: var(--tf-text); font: inherit; cursor: pointer; transition: border-color .15s, box-shadow .15s, transform .15s; }
.tablify .tfp-exp:hover { border-color: color-mix(in srgb, var(--tf-primary) 50%, var(--tf-border, #e5ded5)); transform: translateY(-1px); }
.tablify .tfp-exp:focus-visible { outline: 2px solid var(--tf-primary); outline-offset: 2px; }
.tablify .tfp-exp.is-on { border-color: var(--tf-primary); box-shadow: inset 0 0 0 1px var(--tf-primary); }
.tablify .tfp-exp-img { display: block; aspect-ratio: 16 / 9; background: #eee center / cover no-repeat; }
.tablify .tfp-exp-body { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; }
.tablify .tfp-exp-name { font-size: 16px; }
.tablify .tfp-exp-desc { font-size: 13.5px; color: var(--tf-text-2); line-height: 1.45; }
.tablify .tfp-exp-meta { display: flex; flex-wrap: wrap; gap: 4px 10px; margin-top: 4px; font-size: 12.5px; font-weight: 600; color: var(--tf-primary); }
.tablify .tfp-exp-banner { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; padding: 12px 14px; border-radius: var(--tf-r-sm, 10px); background: color-mix(in srgb, var(--tf-primary) 7%, var(--tf-surface, #fff)); }
.tablify .tfp-exp-banner strong { display: block; }
.tablify .tfp-exp-banner span { font-size: 13px; color: var(--tf-text-2); }
.tablify .tfp-exp-ticket { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px dashed var(--tf-border, #e5ded5); }
