/* StarzMeet — provider (single listing) page redesign
   Paired with inc/provider-page.php + assets/js/starzmeet-provider.js */

/* ---- Kill the ugly force-cropped image slider hero ---- */
.single-listing .listing-slide-style4,
.single-listing .listing-slider,
.single-listing .listing-slide { display: none !important; }

/* ---- Branded gradient hero (injected by JS) ---- */
.sm-hero {
	background: linear-gradient(120deg, #4c1d95 0%, #1f6e6e 55%, #8b5cf6 100%);
	color: #fff;
	padding: 40px 40px 34px;
	margin: 0 0 30px;
	border-radius: 16px;
	overflow: hidden;
	position: relative;
}
.sm-hero::after {
	content: ""; position: absolute; right: -60px; top: -60px; width: 260px; height: 260px;
	background: radial-gradient(circle, rgba(255,255,255,.12), transparent 70%); pointer-events: none;
}
.sm-hero-inner {
	max-width: 1170px;
	margin: 0 auto;
	padding: 0 20px;
}
.sm-hero-crumb { font-size: 13px; opacity: .8; margin-bottom: 14px; }
.sm-hero-crumb a { color: #fff; text-decoration: none; }
.sm-hero-crumb a:hover { text-decoration: underline; }

.sm-hero-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; align-items: center; }
.sm-chip {
	display: inline-flex; align-items: center; gap: 6px;
	background: rgba(255,255,255,.16); color: #fff;
	padding: 5px 12px; border-radius: 20px; font-size: 13px; font-weight: 600;
}
.sm-chip.sm-chip-verified { background: #eafaf1; color: #12805c; }
.sm-chip.sm-chip-verified i { color: #12805c; }

.sm-hero h1, .sm-hero .sm-hero-title {
	color: #fff !important; font-size: 34px; line-height: 1.15; font-weight: 700; margin: 0 0 8px;
}
.sm-hero-tagline { font-size: 17px; opacity: .92; margin: 0 0 16px; max-width: 760px; }

.sm-hero-meta { display: flex; flex-wrap: wrap; gap: 18px; font-size: 14.5px; margin-bottom: 22px; }
.sm-hero-meta span { display: inline-flex; align-items: center; gap: 7px; opacity: .95; }
.sm-hero-meta i { opacity: .85; }
.sm-hero-stars { color: #ffce54; letter-spacing: 1px; }
.sm-hero-stars + b { margin-left: 4px; }

.sm-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.sm-hero-actions a, .sm-hero-actions button {
	display: inline-flex; align-items: center; gap: 8px; cursor: pointer; border: 0;
	padding: 12px 20px; border-radius: 9px; font-weight: 600; font-size: 14.5px; text-decoration: none; transition: .15s;
}
.sm-btn-primary { background: #ff5a5f; color: #fff; }
.sm-btn-primary:hover { background: #ff4247; color: #fff; }
.sm-btn-ghost { background: rgba(255,255,255,.14); color: #fff; }
.sm-btn-ghost:hover { background: rgba(255,255,255,.26); color: #fff; }

@media (max-width: 767px) {
	.sm-hero { padding: 26px 0 24px; }
	.sm-hero h1, .sm-hero .sm-hero-title { font-size: 26px; }
	.sm-hero-tagline { font-size: 15px; }
	.sm-hero-actions a, .sm-hero-actions button { flex: 1 1 45%; justify-content: center; }
}

/* ---- Hide the theme's now-duplicated title block (moved into hero) ---- */
.single-listing .sm-hide-orig-title { display: none !important; }

/* ---- Cohesive section/card polish ---- */
.single-listing .sm-ld-card,
.single-listing .widget-box,
.single-listing .listing-container-left .ssm {
	border: 1px solid #eef0f4 !important;
	border-radius: 14px !important;
	box-shadow: 0 4px 18px rgba(23,43,77,.05) !important;
	background: #fff;
}
.single-listing .sm-ld-card { padding: 22px 24px; margin-bottom: 20px; }
.single-listing .widget-box { padding: 22px 24px !important; margin-bottom: 20px !important; }
.single-listing .listing-container-left .ssm { padding: 22px 24px !important; margin: 0 0 20px !important; }

.single-listing h2, .single-listing h3,
.single-listing .sm-ld-card > h3,
.single-listing .widget-box > h2 { letter-spacing: -.2px; }

/* Balance: let the left column breathe and not leave a huge empty gap */
.single-listing .listing-container-left { min-height: 1px; }
.single-listing .listing-second-view .listing-container-right,
.single-listing .listing-container-right { }

/* Neutralise any hidden modal that leaks into the flow */
.single-listing .md-modal:not(.md-show) { visibility: hidden; }

/* ---- Photo gallery ---- */
.sm-gallery .sm-gal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.sm-gallery .sm-gal-item { display: block; position: relative; aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; background: #eef1f5; cursor: zoom-in; }
.sm-gallery .sm-gal-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
.sm-gallery .sm-gal-item:hover img { transform: scale(1.06); }
/* Feature the first photo (3+ photos) as a large tile */
.sm-gallery-feat .sm-gal-grid .sm-gal-item:first-child { grid-column: 1 / span 2; grid-row: 1 / span 2; }
/* A single photo goes full width */
.sm-gallery-one .sm-gal-grid { grid-template-columns: 1fr; }
.sm-gallery-one .sm-gal-item { aspect-ratio: 16 / 9; cursor: zoom-in; }
@media (max-width: 600px) {
	.sm-gallery .sm-gal-grid { grid-template-columns: repeat(2, 1fr); }
	.sm-gallery-feat .sm-gal-grid .sm-gal-item:first-child { grid-column: 1 / span 2; grid-row: auto; }
}

/* ---- Lightbox ---- */
.sm-lightbox { position: fixed; inset: 0; z-index: 100050; display: none; align-items: center; justify-content: center; }
.sm-lightbox.open { display: flex; }
.sm-lb-backdrop { position: absolute; inset: 0; background: rgba(9, 14, 24, .92); cursor: zoom-out; }
.sm-lb-img { position: relative; max-width: 90vw; max-height: 86vh; border-radius: 8px; box-shadow: 0 16px 60px rgba(0,0,0,.55); }
.sm-lb-close, .sm-lb-prev, .sm-lb-next {
	position: absolute; z-index: 2; background: rgba(255,255,255,.14); color: #fff; border: 0; cursor: pointer;
	border-radius: 50%; width: 48px; height: 48px; font-size: 22px; line-height: 1; display: flex; align-items: center; justify-content: center; transition: .15s;
}
.sm-lb-close:hover, .sm-lb-prev:hover, .sm-lb-next:hover { background: rgba(255,255,255,.3); }
.sm-lb-close { top: 22px; right: 26px; }
.sm-lb-prev { left: 26px; top: 50%; transform: translateY(-50%); }
.sm-lb-next { right: 26px; top: 50%; transform: translateY(-50%); }
.sm-lb-count { position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); color: #fff; font-size: 13.5px; background: rgba(0,0,0,.45); padding: 5px 14px; border-radius: 20px; z-index: 2; }
.sm-lightbox.sm-lb-single .sm-lb-prev, .sm-lightbox.sm-lb-single .sm-lb-next, .sm-lightbox.sm-lb-single .sm-lb-count { display: none; }

/* Corrected "Closed" day label (was mislabelled "24 hours open"). */
.single-listing .sm-hrs-closed { color: #9aa1ac !important; font-weight: 500; }

/* Section heading accent */
.sm-sec-title { display: flex; align-items: center; gap: 10px; font-size: 19px; font-weight: 700; color: #16283d; margin: 0 0 14px; }
.sm-sec-title .sm-sec-ic { width: 30px; height: 30px; border-radius: 8px; background: #e9f7f4; color: #1f8a7a; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; }
