/* Small scoped refinements; layout and content remain native Elementor controls. */
.tftpl-hours .elementor-heading-title { white-space: pre-line; }
.tftpl-card { height: 100%; }
.tftpl-filter .elementor-button { min-height: 44px; }
.tftpl-directory-search input { min-width: 0; }
.tftpl-event-status .elementor-heading-title { font-family: Manrope, sans-serif; font-size: 14px; }
.tftpl-excerpt .elementor-heading-title { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.tftpl-filter .elementor-button.tftpl-active { background: #EDA615; border-color: #EDA615; }
/* Events v1.1: native flex controls plus scoped refinements for narrow cards. */
.tftpl-event-card { align-items: stretch; }
.elementor .tftpl-event-card .tftpl-event-poster-col { flex: 0 0 43%; width:43%; min-width:0; }
.elementor .tftpl-event-card .tftpl-event-info { flex: 1 1 0; width:auto; min-width:0; }
.tftpl-event-poster img { display:block; width:100%; object-fit:contain; object-position:top center; }
.tftpl-event-card .elementor-heading-title { overflow-wrap:anywhere; }
.tftpl-event-meta .elementor-widget-heading { flex:1; min-width:0; }
.tftpl-event-meta .elementor-widget-icon,.tftpl-event-date .elementor-widget-icon { flex:0 0 16px; }
.tftpl-event-card .tftpl-event-link { margin-top:auto; width:100%; }
.tftpl-event-link .elementor-button { width:100%; }
.tftpl-agenda-grid .elementor-loop-container { align-items:stretch; }
.tftpl-agenda-periods .elementor-button { min-height:32px; padding:8px 12px; border-color:#D7DEDF; border-radius:18px; font-size:11px; font-weight:500; }
.tftpl-agenda-filter-form .elementor-field-group { margin-bottom:0; align-self:end; }
.tftpl-agenda-filter-form .elementor-form-fields-wrapper { display:flex; align-items:flex-end; gap:10px; margin:0; }
.tftpl-agenda-filter-form .elementor-field-group-tft_category { flex:1 1 150px; padding:0; }
.tftpl-agenda-filter-form .elementor-field-group-tft_free { flex:0 0 100px; padding:0; }
.tftpl-agenda-filter-form .elementor-field-type-submit { flex:0 0 100px; padding:0; }
.tftpl-agenda-filter-form .elementor-field-textual { min-height:34px; padding:6px 10px; }
.tftpl-agenda-filter-form .elementor-field-option { display:flex; align-items:center; gap:6px; font:12px Manrope,sans-serif; white-space:nowrap; }
.tftpl-agenda-filter-form .elementor-button { min-height:34px; padding:8px 12px; }
.tftpl-agenda-filter-form .elementor-field-group-tft_free > .elementor-field-label { visibility:hidden; }
.tftpl-clear { align-self:flex-end; }
.tftpl-clear .elementor-button { background:transparent; border:0; min-height:24px; padding:2px 0; text-decoration:underline; font-size:12px; font-weight:400; }
.tftpl-agenda-count .elementor-heading-title { margin-top:-12px; }
@media (max-width:1024px) and (min-width:768px) {
 .tftpl-agenda-filters { flex-direction:column !important; }
 .tftpl-agenda-filters > .e-con { width:100%; }
}
@media (max-width:767px) {
 .tftpl-agenda-hero { background-position:85% top !important; }
 .tftpl-agenda-hero:before,.tftpl-agenda-hero > .elementor-background-overlay { background-image:linear-gradient(0deg,#FFFDF8 3%,#FFFDF8E8 28%,#FFFDF800 62%) !important; }
 .tftpl-hero-description { display:none; }
 .tftpl-event-card { gap:12px !important; }
 .tftpl-event-poster img { height:218px !important; }
 .tftpl-agenda-periods { gap:6px !important; }
 .tftpl-agenda-periods .elementor-button { padding:7px 10px; font-size:10px; }
 .tftpl-agenda-filter-form .elementor-form-fields-wrapper { flex-direction:column; align-items:stretch; }
 .tftpl-agenda-filter-form .elementor-field-group { width:100%; flex:0 0 auto; }
 .tftpl-agenda-filter-form .elementor-field-group-tft_free > .elementor-field-label { display:none; }
 .tftpl-clear { align-self:center; }
 .tftpl-event-cta { flex-direction:row !important; flex-wrap:wrap !important; gap:12px !important; }
 .tftpl-event-cta > .e-con:last-child { width:100%; align-items:flex-end; }
 .tftpl-event-cta img { height:90px !important; }
}

.elementor .tftpl-agenda-periods .tftpl-filter .elementor-button.tftpl-active { background:#EDA615; border-color:#EDA615; }
.elementor .tftpl-clear .elementor-button { border:0; background:transparent; padding:2px 0; min-height:24px; font-size:12px; }

.elementor .tftpl-agenda-filter-form .elementor-field-group-tft_period { display:none; }
@media(max-width:767px) {
 .elementor .tftpl-agenda-filters > .e-con:first-child { display:none; }
 .elementor .tftpl-agenda-filter-form .elementor-field-group-tft_period { display:flex; }
}
/* Company directory: native Elementor containers, cards and GET search. */
.elementor .tftpl-company-card {height:100%;gap:0;}
.tftpl-company-cover img {display:block;width:100%;height:155px;object-fit:cover;}
.elementor .tftpl-company-card-body {flex:1;align-items:stretch;}
.elementor .tftpl-company-logo-col {flex:0 0 22%;width:22%;min-width:0;}
.elementor .tftpl-company-info {flex:1 1 0;width:auto;min-width:0;}
.tftpl-company-logo img {width:100%;height:68px;object-fit:contain;}
.tftpl-company-card .elementor-heading-title {overflow-wrap:anywhere;}
.tftpl-company-info .tftpl-company-link {margin-top:auto;width:100%;}
.tftpl-company-link .elementor-button {width:100%;}
.elementor .tftpl-company-search-controls {flex:1;min-width:0;}
.tftpl-company-filter-form .elementor-form-fields-wrapper {display:flex;align-items:center;gap:12px;margin:0;}
.tftpl-company-filter-form .elementor-field-group {margin:0;padding:0;}
.tftpl-company-filter-form .elementor-field-group-tftc_search {flex:1.5;}
.tftpl-company-filter-form .elementor-field-group-tftc_category {flex:1;}
.tftpl-company-filter-form .elementor-field-type-submit {flex:0 0 110px;}
.tftpl-company-filter-form .elementor-field-textual {min-height:36px;padding:8px 12px;}
.tftpl-company-filter-form .elementor-button {min-height:36px;padding:8px 18px;}
.tftpl-company-grid .elementor-loop-container {align-items:stretch;}
@media(max-width:767px){
 .tftpl-company-hero {background-position:75% top !important;}
 .tftpl-company-hero:before,.tftpl-company-hero > .elementor-background-overlay {background-image:linear-gradient(0deg,#FFFDF8 2%,#FFFDF8EB 32%,#FFFDF800 76%) !important;}
 .tftpl-company-filter-form .elementor-form-fields-wrapper {flex-direction:column;align-items:stretch;}
 .tftpl-company-filter-form .elementor-field-group {width:100%;flex:0 0 auto;}
 .elementor .tftpl-company-search-controls {width:100%;}
 .elementor .tftpl-company-search-label {width:100%;}
 .tftpl-company-clear,.tftpl-company-clear .elementor-button {width:100%;}
 .tftpl-company-cover img {height:150px;}
 .elementor .tftpl-company-cta {flex-wrap:wrap;gap:10px;}
 .elementor .tftpl-company-cta > .e-con {flex:1;width:auto;min-width:0;}
 .tftpl-company-cta .elementor-widget-button {margin-left:auto;}
}
@media(max-width:767px){
 .elementor .tftpl-company-hero-photo{order:-1;}
 .elementor .tftpl-company-hero-title{position:relative;z-index:1;margin-top:-75px;background:linear-gradient(0deg,#FFFDF8 70%,#FFFDF8E8 88%,#FFFDF800);}
 .tftpl-company-hero-photo img{height:190px;object-position:center;}
}
.tftpl-company-count{flex:0 0 auto;white-space:nowrap;}
@media(max-width:767px){
 .elementor .tftpl-company-cta > .e-con {flex-basis:calc(100% - 55px);}
 .tftpl-company-cta .elementor-widget-button {width:auto;margin-left:auto;}
 .tftpl-company-footer .e-con{gap:12px;}
}

/* Event single 1.2.2: content and layout remain native editable widgets. */
.elementor .tftpl-event-single{color:#073451;}
.tftpl-single-breadcrumb .elementor-button{padding:0;border:0;background:transparent;font-size:12px;font-weight:400;}
.tftpl-single-category{align-self:flex-start;background:#F5A800;border-radius:20px;padding:3px 17px;}
.tftpl-single-status{align-self:center;background:#BDE5FC;border-radius:18px;padding:3px 10px;}
.tftpl-single-meta .elementor-widget-icon{flex:0 0 28px;}
.tftpl-single-wide,.tftpl-single-wide .elementor-button{width:100%;}
.tftpl-single-phone .elementor-button{border:0;background:transparent;text-decoration:underline;}
.tftpl-single-poster img{display:block;width:100%;object-fit:contain;object-position:top center;}
.tftpl-single-flourish{align-self:center;}
.elementor .tftpl-single-columns>.e-con{min-width:0;}
@media(max-width:767px){
 .elementor .tftpl-single-columns>.e-con,.elementor .tftpl-single-bottom>.e-con{width:100%;}
 .elementor .tftpl-single-columns{gap:16px;}
 .tftpl-single-data{background:transparent!important;}
 .tftpl-single-breadcrumb .elementor-button{font-size:10px;}
 .tftpl-single-flourish{width:60px;}
 .tftpl-single-poster img{height:auto!important;max-height:510px;}
 .tftpl-single-panorama{background-position:75% center!important;}
}

/* Company detail: native widgets, content-sized category and responsive columns. */
.elementor .tftpl-company-single-category{width:fit-content!important;align-self:flex-start;flex-grow:0;background:#F5A800;border-radius:20px;padding:4px 16px;}
.tftpl-company-single-cover img{display:block;width:100%;object-fit:cover;}
.elementor .tftpl-company-single-brand>.elementor-widget-image{flex:0 0 94px;}
.tftpl-company-single-wide,.tftpl-company-single-wide .elementor-button{width:100%;}
.tftpl-company-single-contact .elementor-button{border:0;background:transparent;padding:0;text-decoration:underline;overflow-wrap:anywhere;}
@media(max-width:767px){
 .elementor .tftpl-company-single .e-con{min-width:0;}
 .elementor .tftpl-company-single-brand>.elementor-widget-image{flex-basis:70px;}
 .tftpl-company-single-brand>.elementor-widget-image img{width:70px!important;height:70px!important;}
}

/* Company mockup: all elements remain native Elementor widgets. */
.tftpl-company-mock-breadcrumbs .elementor-button{border:0;background:transparent;padding:0;font-size:11px;font-weight:400;}
.tftpl-company-mock-category{text-transform:uppercase;}
.elementor .tftpl-company-mock-photo-wrap{position:relative;}
.tftpl-company-mock-cover img{display:block;width:100%;object-fit:cover;}
.elementor .tftpl-company-mock-logo{position:absolute;left:26px;bottom:20px;width:160px!important;height:160px;border-radius:50%;padding:14px;background:#FFFDF8;box-shadow:0 2px 10px #07345122;}
.tftpl-company-mock-logo img{width:100%!important;height:132px!important;object-fit:contain;}
.elementor .tftpl-company-mock-grid{display:grid!important;grid-template-columns:minmax(0,1fr) 310px;gap:16px 22px;align-items:start;}
.elementor .tftpl-company-mock-grid>.e-con{width:100%;min-width:0;}
.tftpl-company-mock-about{grid-column:1;grid-row:1;}
.tftpl-company-mock-contact{grid-column:2;grid-row:1;}
.tftpl-company-mock-map{grid-column:2;grid-row:2;}
.tftpl-company-mock-events{grid-column:1;grid-row:2;}
.tftpl-company-mock-social .elementor-button{border:0;background:transparent;text-decoration:underline;}
.tftpl-company-mock-meta .elementor-widget-icon{flex:0 0 16px;}
.tftpl-company-mock-meta .elementor-widget-heading{min-width:0;}
.tftpl-company-mock-meta .elementor-heading-title{overflow-wrap:anywhere;white-space:pre-line;}
.tftpl-company-mock-about .gallery{display:flex;gap:8px;flex-wrap:nowrap;margin:0!important;}
.tftpl-company-mock-about .gallery-item{flex:1;max-width:none!important;padding:0!important;margin:0!important;}
.tftpl-company-mock-about .gallery-icon img{width:100%;height:170px;object-fit:cover;border-radius:5px;}
.tftpl-company-mock-events-grid .tftpl-event-card{padding:10px!important;gap:10px!important;}
.tftpl-company-mock-events-grid .tftpl-event-poster img{height:165px!important;}
.tftpl-company-mock-events-grid .tftpl-event-info{gap:7px!important;}
.tftpl-company-mock-events-grid .tftpl-event-info h3{font-size:20px;}
.tftpl-company-mock-events-grid .tftpl-event-info>.elementor-widget-heading:first-child,.tftpl-company-mock-events-grid .tftpl-event-meta:nth-last-child(3){display:none;}
.tftpl-company-mock-events-grid .tftpl-event-link .elementor-button{background:transparent;border:0;color:#C87600;text-align:left;text-decoration:underline;padding:0;font-size:12px;}
@media(max-width:1024px){.elementor .tftpl-company-mock-grid{grid-template-columns:minmax(0,1fr) 280px;}}
@media(max-width:767px){
 .elementor .tftpl-company-mock-grid{grid-template-columns:minmax(0,1fr);gap:14px;}
 .tftpl-company-mock-contact{grid-column:1;grid-row:1;}
 .tftpl-company-mock-about{grid-column:1;grid-row:2;}
 .tftpl-company-mock-map{grid-column:1;grid-row:3;}
 .tftpl-company-mock-events{grid-column:1;grid-row:4;}
 .elementor .tftpl-company-mock-logo{width:90px!important;height:90px;left:16px;bottom:12px;padding:8px;}
 .tftpl-company-mock-logo img{height:74px!important;}
 .tftpl-company-mock-about .gallery-icon img{height:110px;}
 .tftpl-company-mock-events-grid .tftpl-event-poster img{height:130px!important;}
 .tftpl-company-mock-events-grid .tftpl-event-info h3{font-size:18px;}
}

.tftpl-company-mock-logo{overflow:hidden;}
.tftpl-company-mock-logo img{border-radius:50%;}
.tftpl-company-mock-events-grid .tftpl-event-info{justify-content:flex-start!important;}
.tftpl-company-mock-events-grid .tftpl-event-info h3{font-size:20px!important;line-height:1.1!important;}
.tftpl-company-mock-events-grid .tftpl-event-info>.elementor-widget-heading:first-child,.tftpl-company-mock-events-grid .tftpl-event-meta:nth-last-child(3){display:none!important;}
.tftpl-company-mock-events-grid .tftpl-event-link .elementor-button{background:transparent!important;border:0!important;color:#C87600!important;text-align:left!important;padding:0!important;font-size:12px!important;}
.tftpl-company-mock-events-grid .tftpl-excerpt .elementor-heading-title{font-size:12px!important;line-height:1.4!important;}
@media(max-width:767px){.tftpl-company-mock-events-grid .tftpl-event-info h3{font-size:18px!important;}}

.elementor .tftpl-company-mock-breadcrumbs>.e-con{flex:1 1 0;width:auto;min-width:0;}
.tftpl-company-mock-breadcrumbs>.elementor-widget-button{flex:0 0 auto;}
@media(max-width:767px){
 .tftpl-company-mock-breadcrumbs{gap:8px!important;}
 .tftpl-company-mock-breadcrumbs .elementor-heading-title{font-size:10px!important;}
 .tftpl-company-mock-cover img{height:180px!important;}
 .tftpl-company-mock-events .elementor-heading-title{overflow-wrap:anywhere;}
}

.tftpl-company-primary-contact .elementor-button[aria-disabled="true"]{pointer-events:none;cursor:default;}
.tftpl-company-gold-wave img{display:block;object-fit:cover!important;width:105px!important;height:22px!important;}
.tftpl-company-mock-photo-wrap>.elementor-shape-top{z-index:2;pointer-events:none;}
.tftpl-company-mock-photo-wrap .tftpl-company-mock-logo{z-index:3;}
.tftpl-company-mock-social .elementor-button{display:flex!important;gap:6px;align-items:center;text-decoration:none;}
@media(max-width:767px){.tftpl-company-gold-wave img{width:72px!important;height:18px!important;}}
