/* Tobermory360 – Featured Local Businesses widget (structure; colours/sizes come from Elementor controls) */

.t360w-ft { width: 100%; }

.t360w-ft__head { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 20px 24px; margin-bottom: 40px; }
.t360w-ft__headtxt { min-width: 0; }
.t360w-ft__eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 12.5px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.t360w-ft__eyebrow::before { content: ""; width: 28px; height: 2px; background: currentColor; border-radius: 2px; }
.t360w-ft__title { margin: 10px 0 0; line-height: 1.12; letter-spacing: -.01em; }
.t360w-ft__sub { margin: 10px 0 0; max-width: 56ch; }

.t360w-ft__chips { display: flex; gap: 8px; flex-wrap: wrap; }
.t360w-ft__chip {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 9px 16px; border-radius: 99px;
	border: 1.5px solid #dbe7e6; background: #fff; color: #0b2b38;
	font-weight: 700; font-size: 14px; line-height: 1.2; cursor: pointer;
	transition: all .18s ease;
}
.t360w-ft__chip:hover { border-color: #17a2a3; }
.t360w-ft__chip.is-on { background: #0b2b38; color: #fff; border-color: #0b2b38; }

.t360w-ft__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }

.t360w-ft__card {
	position: relative;
	display: flex; flex-direction: column;
	background: #fff;
	border: 1px solid rgba(11,43,56,.06);
	border-radius: 18px;
	overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease;
}
.t360w-ft__card[hidden] { display: none; }

.t360w-ft__img { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #c4ebe8; }
.t360w-ft__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.t360w-ft__img::after { content: ""; position: absolute; inset: auto 0 0; height: 45%; background: linear-gradient(transparent, rgba(6,28,38,.45)); pointer-events: none; }
.t360w-ft__noimg { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, #0d6c7e, #17a2a3); }
.t360w-ftzoom-yes .t360w-ft__card:hover .t360w-ft__img img { transform: scale(1.07); }

.t360w-ft__badges { position: absolute; left: 12px; top: 12px; display: flex; gap: 6px; z-index: 2; flex-wrap: wrap; }
.t360w-ft__badge { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 999px; font-size: 11.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; line-height: 1.2; }
.t360w-ft__badge--feat { background: #e9b43c; color: #3a2a00; }
.t360w-ft__badge--video { background: rgba(255,255,255,.95); color: #0b2b38; }
.t360w-ft__badge i, .t360w-ft__badge svg { font-size: 11px; width: 11px; height: 11px; }

.t360w-ft__fav {
	position: absolute; right: 12px; top: 12px; z-index: 4;
	width: 38px; height: 38px; border-radius: 50%; padding: 0; border: 0;
	display: grid; place-items: center;
	background: rgba(255,255,255,.92); color: #0b2b38; cursor: pointer;
	transition: transform .2s ease;
}
.t360w-ft__fav:hover { transform: scale(1.12); }
.t360w-ft__fav.is-on { color: #d9483b; }
.t360w-ft__fav i, .t360w-ft__fav svg { font-size: 15px; width: 15px; height: 15px; }

.t360w-ft__body { display: flex; flex-direction: column; gap: 8px; flex: 1; padding: 18px 20px 20px; }
.t360w-ft__kicker { line-height: 1.3; }
.t360w-ft__name { margin: 0; }
.t360w-ft__name a { text-decoration: none; color: inherit; }
.t360w-ft__name a::after { content: ""; position: absolute; inset: 0; z-index: 1; } /* whole card clickable */
.t360w-ft__desc { margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.t360w-ft__meta { display: flex; flex-wrap: wrap; row-gap: 4px; column-gap: 14px; }
.t360w-ft__meta span { display: inline-flex; align-items: center; gap: 6px; }
.t360w-ft__meta i, .t360w-ft__meta svg { font-size: 13px; width: 13px; height: 13px; }

.t360w-ft__foot { margin-top: auto; padding-top: 12px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-top: 1px dashed #dbe7e6; }
.t360w-ft__status { display: inline-flex; align-items: center; gap: 7px; }
.t360w-ft__status::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: currentColor; flex: none; }
.t360w-ft__btn {
	position: relative; z-index: 3;
	display: inline-flex; align-items: center; gap: 7px;
	padding: 7px 12px; border-radius: 999px; text-decoration: none;
	background: #eef7f6; color: #0d6c7e;
	transition: background .2s ease, color .2s ease;
}
.t360w-ft__btn i, .t360w-ft__btn svg { font-size: 12px; width: 12px; height: 12px; }

.t360w-ft__empty { padding: 28px; text-align: center; border: 1px dashed #c9d8dd; border-radius: 12px; margin: 0; }

/* Fallback responsive columns (the Elementor "Columns" control overrides these) */
@media (max-width: 1060px) { .t360w-ft__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px)  { .t360w-ft__grid { grid-template-columns: minmax(0, 1fr); } }
