/* Tobermory360 – Discover Nearby widget (structure only; colours/sizes come from Elementor controls) */

.t360w-nb { width: 100%; }

.t360w-nb__head { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 14px 24px; margin-bottom: 28px; }
.t360w-nb__all { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; white-space: nowrap; border-bottom: 2px solid #bfe3e4; padding-bottom: 6px; transition: color .2s ease; }
.t360w-nb__all i, .t360w-nb__all svg { transition: transform .2s ease; width: 14px; height: 14px; }
.t360w-nb__all:hover i, .t360w-nb__all:hover svg { transform: translateX(3px); }
.t360w-nb__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	margin-bottom: 10px;
}
.t360w-nb__eyebrow.has-line::before { content: ""; display: inline-block; height: 2px; width: 28px; background: currentColor; }
.t360w-nb__title { margin: 0 0 6px; line-height: 1.15; }
.t360w-nb__sub { margin: 0; }

.t360w-nb__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }

.t360w-nb__card {
	position: relative;
	display: block;
	min-height: 360px;
	overflow: hidden;
	border-radius: 18px;
	text-decoration: none;
	color: #fff;
	background: #cfe3e8;
	isolation: isolate;
	transition: transform .35s ease, box-shadow .35s ease;
}
.t360w-nb__img { position: absolute; inset: 0; display: block; z-index: 0; }
.t360w-nb__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.t360w-nb__noimg { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, #0d6c7e, #17a2a3); }
.t360w-nbzoom-yes .t360w-nb__card:hover .t360w-nb__img img { transform: scale(1.07); }

.t360w-nb__shade { position: absolute; left: 0; right: 0; bottom: 0; height: 75%; z-index: 1; pointer-events: none; }

.t360w-nb__content {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	z-index: 2;
	display: block;
	padding: 22px;
	text-align: left;
}

.t360w-nb__name { display: block; line-height: 1.15; }
.t360w-nb__desc { display: block; line-height: 1.5; }

.t360w-nb__count {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(255,255,255,.24);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	color: #fff;
	border-radius: 999px;
	padding: 6px 12px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 10px;
}
.t360w-nb__count--top { position: absolute; top: 16px; left: 16px; z-index: 3; margin: 0; }
.t360w-nb__count i, .t360w-nb__count svg { font-size: 12px; width: 12px; height: 12px; }

.t360w-nb__go { display: inline-flex; align-items: center; gap: 8px; transition: color .25s ease; }
.t360w-nb__go i, .t360w-nb__go svg { transition: transform .25s ease; font-size: 12px; width: 12px; height: 12px; }
.t360w-nb__card:hover .t360w-nb__go i,
.t360w-nb__card:hover .t360w-nb__go svg { transform: translateX(4px); }

.t360w-nb__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: 1024px) { .t360w-nb__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px)  { .t360w-nb__grid { grid-template-columns: minmax(0, 1fr); } }
