/* ==========================================================================
   Service Centers — workshop split layout
   ========================================================================== */
.clt-sch {
	--sc-accent: #f59e0b;
	position: relative; overflow: hidden; color: #fff; padding: 140px 0 90px;
	background: #1e293b;
	background: radial-gradient(800px 320px at 90% 10%, rgba(245, 158, 11, .28), transparent 60%), linear-gradient(135deg, #111827 0%, #1f2937 55%, #3b2a14 100%);
}
.clt-sch::before { content: ""; position: absolute; inset: 0; background: var(--clt-ev-bg, none) center / cover no-repeat; opacity: .16; }
.clt-sch::after {
	content: ""; position: absolute; right: -60px; bottom: -80px; width: 380px; height: 380px; pointer-events: none;
	background: radial-gradient(circle, rgba(245, 158, 11, .18), transparent 65%);
	-webkit-mask: repeating-conic-gradient(#000 0 10deg, transparent 10deg 20deg); mask: repeating-conic-gradient(#000 0 10deg, transparent 10deg 20deg);
	border-radius: 50%;
}
.clt-motion .clt-sch::after { animation: clt-gear 40s linear infinite; }
@keyframes clt-gear { to { transform: rotate(360deg); } }
.clt-sch .clt-orb-1 { background: radial-gradient(circle, rgba(245, 158, 11, .6), transparent 70%); }
.clt-sch .container { position: relative; z-index: 1; }
.clt-sch-inner { display: grid; grid-template-columns: 1.2fr 1fr; gap: 30px; align-items: end; }
.clt-sch-eyebrow { display: inline-flex; align-items: center; gap: 7px; padding: 6px 14px; border-radius: 999px; background: rgba(245, 158, 11, .15); border: 1px solid rgba(245, 158, 11, .35); color: #fde68a; font-size: .85rem; font-weight: 600; }
.clt-sch h1 { color: #fff; font-weight: 800; font-size: clamp(2rem, 4vw, 3rem); margin: 14px 0 8px; letter-spacing: -.02em; }
.clt-sch p { color: #d1d5db; font-size: 1.05rem; margin: 0; max-width: 560px; }
.clt-sch-stats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.clt-sch-stats li {
	display: grid; grid-template-columns: 40px 1fr; grid-template-rows: auto auto; column-gap: 10px; align-items: center;
	padding: 14px 16px; border-radius: 16px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .1);
}
.clt-sch-stats i { grid-row: span 2; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: rgba(245, 158, 11, .18); color: #fbbf24; font-size: 1.2rem; }
.clt-sch-stats strong { font-size: 1.6rem; line-height: 1; font-weight: 800; }
.clt-sch-stats li.is-live strong { color: #4ade80; }
.clt-sch-stats span { font-size: .82rem; color: #cbd5e1; }

.clt-sc { padding: 0 0 70px; }
.clt-sc-toolbar {
	position: relative; z-index: 3; display: grid; grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(140px, 180px)) auto; gap: 10px;
	margin-top: -34px; padding: 14px; border-radius: 18px; background: #fff; box-shadow: 0 20px 50px rgba(17, 24, 39, .14);
}
.clt-sc-search { position: relative; }
.clt-sc-search i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: #94a3b8; }
.clt-sc-search input { width: 100%; height: 48px; padding: 0 14px 0 40px; border: 1px solid #e2e8f0; border-radius: 12px; font-size: 1rem; }
.clt-sc-toolbar .form-select { height: 48px; border-radius: 12px; border-color: #e2e8f0; }
.clt-sc-near { height: 48px; padding: 0 18px; border: 0; border-radius: 12px; background: #111827; color: #fff; font-weight: 700; white-space: nowrap; cursor: pointer; }
.clt-sc-near:hover { background: #1f2937; }
.clt-sc-near.is-on { background: #16a34a; }
.clt-sc-near.is-loading i { animation: clt-spin 1s linear infinite; display: inline-block; }
@keyframes clt-spin { to { transform: rotate(360deg); } }

.clt-sc-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 16px 0; }
.clt-sc-chip {
	display: inline-flex; align-items: center; gap: 7px; padding: 8px 15px; border: 1px solid #e5e7eb; border-radius: 999px;
	background: #fff; color: #374151; font-size: .9rem; font-weight: 600; cursor: pointer; transition: all .15s;
}
.clt-sc-chip:hover { border-color: #f59e0b; color: #b45309; }
.clt-sc-chip.is-on { background: #f59e0b; border-color: #f59e0b; color: #1f2937; }
.clt-sc-chip.is-reset { border-style: dashed; }
.clt-sc-count { margin-left: auto; color: #6b7280; font-size: .9rem; }

.clt-sc-switch { display: none; }
.clt-sc-body { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 22px; align-items: start; }
.clt-sc-list { max-height: 760px; overflow-y: auto; padding: 2px 6px 2px 2px; display: flex; flex-direction: column; gap: 14px; scrollbar-width: thin; }
.clt-sc-mapwrap { position: sticky; top: 100px; }
#clt-sc-map { height: 760px; border-radius: 22px; box-shadow: 0 12px 34px rgba(17, 24, 39, .12); z-index: 1; }
.clt-sc-legend {
	position: absolute; left: 12px; bottom: 12px; z-index: 500; display: flex; flex-wrap: wrap; gap: 12px; padding: 8px 12px;
	border-radius: 12px; background: rgba(255, 255, 255, .95); font-size: .8rem; box-shadow: 0 4px 14px rgba(0, 0, 0, .1);
}
.clt-sc-legend .dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 5px; }
.dot.is-open { background: var(--clt-green); }
.dot.is-closing { background: #d97706; }
.dot.is-closed { background: var(--clt-red); }

/* Cards: horizontal workshop card */
.clt-scc {
	display: grid; grid-template-columns: 150px 1fr; border-radius: 18px; overflow: hidden; background: #fff;
	border: 1px solid #ececec; cursor: pointer; transition: border-color .2s, box-shadow .2s, transform .2s;
	animation: clt-scc-in .45s cubic-bezier(.2, .7, .3, 1) both; animation-delay: calc(var(--i, 0) * 45ms);
}
.clt-sc-list.no-anim .clt-scc { animation: none; }
@keyframes clt-scc-in { from { opacity: 0; transform: translateX(-12px); } to { opacity: 1; transform: none; } }
.clt-scc:hover, .clt-scc:focus-visible { border-color: #fcd34d; box-shadow: 0 14px 30px rgba(17, 24, 39, .08); transform: translateY(-2px); }
.clt-scc.is-active { border-color: #f59e0b; box-shadow: 0 0 0 3px rgba(245, 158, 11, .25); }
.clt-scc-media { position: relative; min-height: 100%; background: linear-gradient(135deg, #fef3c7, #fde68a); display: grid; place-items: center; color: #b45309; font-size: 2.2rem; }
.clt-scc-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.clt-scc-dist { position: absolute; top: 10px; left: 10px; padding: 3px 9px; border-radius: 999px; background: #fff; color: #1d4ed8; font-size: .78rem; font-weight: 800; box-shadow: 0 2px 6px rgba(0, 0, 0, .12); }
.clt-scc-flag { position: absolute; left: 10px; bottom: 10px; padding: 3px 9px; border-radius: 999px; background: #111827; color: #fde68a; font-size: .72rem; font-weight: 700; }
.clt-scc-body { padding: 16px 18px; min-width: 0; }
.clt-scc-type { display: inline-block; margin-bottom: 4px; color: #b45309; font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.clt-scc-title { margin: 0 0 8px; font-size: 1.12rem; font-weight: 800; }
.clt-scc .clt-status-row { margin-bottom: 8px; }
.clt-scc-line { margin: 0 0 4px; color: #4b5563; font-size: .88rem; }
.clt-scc-line i { color: #d97706; }
.clt-scc-services { list-style: none; padding: 0; margin: 10px 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 6px; }
.clt-scc-services li { display: flex; align-items: center; gap: 7px; margin: 0; padding: 6px 9px; border-radius: 9px; background: #fffbeb; color: #78350f; font-size: .8rem; font-weight: 600; }
.clt-scc-services i { color: #d97706; }
.clt-scc-brands { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin-bottom: 8px; }
.clt-scc-brands-l { font-size: .78rem; color: #6b7280; font-weight: 700; }
.clt-scc-brand { padding: 2px 9px; border-radius: 6px; background: #eff6ff; color: #1e40af; font-size: .78rem; font-weight: 700; }
.clt-scc-desc { margin: 0 0 8px; color: #6b7280; font-size: .86rem; }
.clt-scc-contacts { display: flex; flex-wrap: wrap; gap: 3px 14px; margin-bottom: 10px; font-size: .84rem; }
.clt-scc-contacts a { color: #374151; text-decoration: none; }
.clt-scc-contacts a:hover { color: #b45309; }
.clt-scc-contacts i { color: #d97706; margin-right: 3px; }
.clt-scc-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.clt-cbtn {
	display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 13px; border-radius: 11px;
	border: 1px solid #e5e7eb; background: #fff; color: #111827; font-size: .85rem; font-weight: 700; text-decoration: none; cursor: pointer; transition: all .15s;
}
.clt-cbtn:hover { border-color: #f59e0b; color: #b45309; }
.clt-cbtn.is-primary { background: linear-gradient(135deg, #f59e0b, #f97316); border-color: transparent; color: #1f1300; box-shadow: 0 6px 16px rgba(245, 158, 11, .35); }
.clt-cbtn.is-primary:hover { color: #1f1300; filter: brightness(1.05); transform: translateY(-1px); }
.clt-cbtn.is-wa { color: #15803d; }
.clt-cbtn.is-wa:hover { background: #25d366; border-color: #25d366; color: #fff; }
.clt-cbtn.is-icon { width: 38px; justify-content: center; padding: 0; }
.clt-cbtn.is-copied { background: #dcfce7; }
.clt-sc-none, .clt-sc-emptyall { text-align: center; padding: 40px 16px; color: #6b7280; border: 2px dashed #e5e7eb; border-radius: 18px; }
.clt-sc-none i, .clt-sc-emptyall i { font-size: 2.2rem; color: #f59e0b; }
.clt-sc-emptyall { margin-top: 40px; }
.clt-sc-content { margin-top: 40px; }

/* Map pins + popups */
.clt-cpin-wrap { background: none; border: 0; }
.clt-cpin {
	display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; transform: rotate(45deg);
	background: var(--clt-red); border: 3px solid #fff; box-shadow: 0 4px 12px rgba(0, 0, 0, .3); transition: transform .2s;
}
.clt-cpin i { transform: rotate(-45deg); color: #fff; font-size: 15px; }
.clt-cpin.is-open { background: var(--clt-green); }
.clt-cpin.is-closing { background: #d97706; }
.clt-cpin.is-maint, .clt-cpin.is-unknown { background: #6b7280; }
.clt-cpin.is-soon { background: var(--clt-blue); }
.clt-cpin-wrap:hover .clt-cpin { transform: rotate(45deg) scale(1.12); }
.clt-cpopup .leaflet-popup-content-wrapper { border-radius: 16px; overflow: hidden; padding: 0; }
.clt-cpopup .leaflet-popup-content { margin: 0; width: 260px !important; }
.clt-cpop { padding: 0 0 12px; }
.clt-cpop-img { display: block; width: 100%; height: 110px; object-fit: cover; }
.clt-cpop-title { display: block; padding: 12px 14px 6px; font-size: 15px; }
.clt-cpop .clt-status-row, .clt-cpop-line, .clt-cpop-actions { padding: 0 14px; }
.clt-cpop-line { font-size: 13px; color: #4b5563; margin-bottom: 8px; }
.clt-cpop-actions { display: flex; gap: 6px; }
.clt-cpop-actions .clt-cbtn { height: 34px; }

/* Booking modal */
.clt-book {
	position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 20px;
	background: rgba(17, 24, 39, .6); backdrop-filter: blur(3px); opacity: 0; transition: opacity .18s;
}
.clt-book[hidden] { display: none; }
.clt-book.is-in { opacity: 1; }
.clt-book-box {
	position: relative; width: 100%; max-width: 620px; max-height: 92vh; overflow-y: auto;
	background: #fff; border-radius: 22px; box-shadow: 0 30px 70px rgba(0, 0, 0, .35);
	transform: translateY(14px); transition: transform .22s cubic-bezier(.2, .8, .3, 1);
}
.clt-book.is-in .clt-book-box { transform: none; }
.clt-book-close { position: absolute; top: 12px; right: 12px; z-index: 2; width: 36px; height: 36px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .2); color: #fff; font-size: 22px; cursor: pointer; }
.clt-book-head { display: flex; gap: 14px; align-items: center; padding: 22px 60px 20px 24px; color: #fff; background: linear-gradient(135deg, #111827, #3b2a14); }
.clt-book-icon { width: 50px; height: 50px; flex-shrink: 0; border-radius: 14px; display: grid; place-items: center; background: linear-gradient(135deg, #f59e0b, #f97316); color: #1f1300; font-size: 1.4rem; }
.clt-book-head h2 { color: #fff; font-size: 1.35rem; font-weight: 800; margin: 0 0 2px; }
.clt-book-head p { margin: 0; color: #e5e7eb; }
.clt-book-head small { color: #9ca3af; }
.clt-book-body { padding: 20px 24px 24px; }
.clt-book-slots { display: flex; gap: 6px; }
.clt-book-slots label { flex: 1; margin: 0; cursor: pointer; }
.clt-book-slots input { position: absolute; opacity: 0; }
.clt-book-slots span { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 7px 4px; border: 1px solid #e5e7eb; border-radius: 10px; font-size: .78rem; font-weight: 600; color: #4b5563; transition: all .15s; }
.clt-book-slots span i { font-size: 1.05rem; color: #d97706; }
.clt-book-slots input:checked + span { border-color: #f59e0b; background: #fffbeb; color: #78350f; box-shadow: 0 0 0 2px rgba(245, 158, 11, .25); }
.clt-book-slots input:focus-visible + span { outline: 3px solid var(--primary-color); }
.clt-book-note { margin: 8px 0 0; text-align: center; color: #6b7280; font-size: .85rem; }

@media (max-width: 1199px) {
	.clt-sc-toolbar { grid-template-columns: 1fr 1fr 1fr; }
	.clt-sc-search { grid-column: 1 / -1; }
}
@media (max-width: 991px) {
	.clt-sch-inner { grid-template-columns: 1fr; }
	.clt-sc-toolbar { grid-template-columns: 1fr 1fr; }
	.clt-sc-near { grid-column: 1 / -1; }
	.clt-sc-switch { display: flex; gap: 6px; padding: 5px; margin-bottom: 14px; border-radius: 14px; background: #f3f4f6; }
	.clt-sc-switch button { flex: 1; border: 0; border-radius: 10px; padding: 10px; background: transparent; font-weight: 700; color: #4b5563; }
	.clt-sc-switch button.active { background: #fff; color: #b45309; box-shadow: 0 2px 8px rgba(0, 0, 0, .06); }
	.clt-sc-body { grid-template-columns: 1fr; }
	.clt-sc-body[data-view="list"] .clt-sc-mapwrap { display: none; }
	.clt-sc-body[data-view="map"] .clt-sc-list { display: none; }
	.clt-sc-list { max-height: none; overflow: visible; padding: 0; }
	.clt-sc-mapwrap { position: relative; top: 0; }
	#clt-sc-map { height: 70vh; }
	.clt-sc-count { margin-left: 0; width: 100%; }
}
@media (max-width: 575px) {
	.clt-sch-stats { grid-template-columns: 1fr 1fr; }
	.clt-sc-toolbar { grid-template-columns: 1fr; }
	.clt-scc { grid-template-columns: 1fr; }
	.clt-scc-media { min-height: 150px; }
	.clt-book { align-items: flex-end; padding: 0; }
	.clt-book-box { border-radius: 22px 22px 0 0; }
}
@media (prefers-reduced-motion: reduce) {
	.clt-scc { animation: none; }
	.clt-book, .clt-book-box { transition: none; }
}

/* ---------- Showrooms mode (blue accent) ---------- */
.clt-sch.is-showroom { background: #0b1f3a; background: radial-gradient(800px 320px at 90% 10%, rgba(59, 130, 246, .35), transparent 60%), linear-gradient(135deg, #0b1324 0%, #13294b 55%, #1d4ed8 140%); }
.clt-sch.is-showroom::after { display: none; }
.clt-sch.is-showroom .clt-orb-1 { background: radial-gradient(circle, rgba(96, 165, 250, .6), transparent 70%); }
.clt-sch.is-showroom .clt-sch-eyebrow { background: rgba(59, 130, 246, .18); border-color: rgba(96, 165, 250, .4); color: #bfdbfe; }
.clt-sch.is-showroom .clt-sch-stats i { background: rgba(59, 130, 246, .2); color: #93c5fd; }
.clt-sc.is-showroom .clt-sc-chip:hover { border-color: #3b82f6; color: #1d4ed8; }
.clt-sc.is-showroom .clt-sc-chip.is-on { background: #2563eb; border-color: #2563eb; color: #fff; }
.clt-sc.is-showroom .clt-scc:hover { border-color: #93c5fd; }
.clt-sc.is-showroom .clt-scc.is-active { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59, 130, 246, .25); }
.clt-sc.is-showroom .clt-scc-media { background: linear-gradient(135deg, #dbeafe, #bfdbfe); color: #1d4ed8; }
.clt-sc.is-showroom .clt-scc-type { color: #1d4ed8; }
.clt-sc.is-showroom .clt-scc-line i, .clt-sc.is-showroom .clt-scc-contacts i { color: #2563eb; }
.clt-sc.is-showroom .clt-cbtn.is-primary, .is-showroom ~ * .clt-cbtn.is-primary { background: linear-gradient(135deg, #2563eb, #1d4ed8); color: #fff; box-shadow: 0 6px 16px rgba(37, 99, 235, .35); }
.clt-sc.is-showroom .clt-cbtn.is-primary:hover { color: #fff; }
.clt-sc.is-showroom .clt-sc-switch button.active { color: #1d4ed8; }
.clt-sc.is-showroom .clt-sc-near:hover { background: #1d4ed8; }

/* ---- 1.18.0: view switch on every screen — with map / list only / map only ---- */
.clt-sc-switch { display: inline-flex; gap: 4px; margin: 0; padding: 4px; border: 1px solid #e5e7eb; border-radius: 14px; background: #f3f4f6; }
.clt-sc-switch[hidden] { display: none; }
.clt-sc-switch button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 8px 14px; border: 0; border-radius: 10px; background: transparent; color: #4b5563; font-size: .88rem; font-weight: 700; white-space: nowrap; cursor: pointer; transition: background .15s, color .15s, box-shadow .15s; }
.clt-sc-switch button:hover { color: #111827; }
.clt-sc-switch button.active { background: #fff; color: #b45309; box-shadow: 0 2px 8px rgba(17, 24, 39, .12); }
.clt-sc-switch button:focus-visible { outline: 2px solid var(--primary-color); outline-offset: 1px; }
.clt-sc-count { margin-left: auto; }

/* Without the map: cards fill the page in two columns. */
.clt-sc-body[data-view="list"], .clt-sc-body[data-view="map"] { grid-template-columns: minmax(0, 1fr); }
.clt-sc-body[data-view="list"] .clt-sc-mapwrap, .clt-sc-body[data-view="map"] .clt-sc-list { display: none; }
.clt-sc-body[data-view="list"] .clt-sc-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; max-height: none; overflow: visible; padding: 0; }
.clt-sc-body[data-view="list"] .clt-sc-none { grid-column: 1 / -1; }
/* Map only: one large map. */
.clt-sc-body[data-view="map"] .clt-sc-mapwrap { position: relative; top: 0; }
.clt-sc-body[data-view="map"] #clt-sc-map { height: min(78vh, 780px); min-height: 420px; }

@media (max-width: 991px) {
	.clt-sc-switch { display: flex; width: 100%; }
	.clt-sc-switch button { flex: 1; padding: 10px 6px; }
	/* With map on a phone: the map first, the list under it. */
	.clt-sc-body[data-view="split"] .clt-sc-mapwrap { order: -1; }
	.clt-sc-body[data-view="split"] #clt-sc-map { height: 46vh; min-height: 280px; }
	.clt-sc-body[data-view="list"] .clt-sc-list { grid-template-columns: minmax(0, 1fr); }
	.clt-sc-body[data-view="map"] #clt-sc-map { height: 72vh; min-height: 340px; }
}
@media (max-width: 400px) {
	.clt-sc-switch button { gap: 5px; font-size: .8rem; }
}

/* ---- 1.19.0: location cards ---- */
/* Fix: the list is a fixed-height column, so cards were squeezed and their text cut off. */
.clt-scc { flex: none; grid-template-columns: 162px minmax(0, 1fr); border-color: #e8ecf1; border-radius: 20px; box-shadow: 0 1px 2px rgba(17, 24, 39, .04); }
/* Fix: another stylesheet reset image heights, so the photo covered only the top of its column. */
.clt-scc .clt-scc-media img { height: 100%; max-width: none; }
/* The photo is a rounded tile, so it keeps its shape however tall the card gets. */
.clt-scc-media { align-self: start; min-height: 0; aspect-ratio: 1 / 1; margin: 14px 0 14px 14px; overflow: hidden; border-radius: 16px; }
.clt-scc-media:has(img)::after { content: ""; position: absolute; inset: auto 0 0 0; height: 46%; background: linear-gradient(to top, rgba(17, 24, 39, .5), transparent); pointer-events: none; }
.clt-scc-media img { transition: transform .5s ease; }
.clt-scc:hover .clt-scc-media img { transform: scale(1.05); }
.clt-scc-dist, .clt-scc-flag { z-index: 1; }
.clt-scc-body { display: flex; flex-direction: column; padding: 16px 18px; }
.clt-scc-type { width: fit-content; margin-bottom: 6px; padding: 3px 10px; border-radius: 999px; background: #fff7ed; font-size: .7rem; }
.clt-scc-title { margin: 0 0 8px; font-size: 1.1rem; line-height: 1.3; }
.clt-scc-line { display: flex; align-items: flex-start; gap: 7px; }
.clt-scc-line i { flex: none; margin-top: 2px; }

/* Services: a few chips, the rest behind "+N". */
.clt-scc-services { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; }
.clt-scc-services li { padding: 5px 10px; border-radius: 999px; font-size: .78rem; }
.clt-scc-services li.is-more { display: none; }
.clt-scc.is-open .clt-scc-services li.is-more { display: flex; }
.clt-scc.is-open .clt-scc-services li.is-plus { display: none; }
.clt-scc-services li.is-plus { padding: 0; background: none; }
.clt-scc-services li.is-plus button { padding: 5px 11px; border: 1px dashed #f59e0b; border-radius: 999px; background: none; color: #b45309; font-size: .78rem; font-weight: 700; cursor: pointer; }
.clt-scc-services li.is-plus button:hover { border-style: solid; background: #fffbeb; }

/* Brands, description and extra contacts open on demand. */
.clt-scc-extra { display: none; margin-top: 12px; padding-top: 12px; border-top: 1px dashed #e5e7eb; }
.clt-scc.is-open .clt-scc-extra { display: block; }
.clt-scc-extra > :last-child { margin-bottom: 0; }
.clt-scc-actions { margin-top: auto; padding-top: 14px; }
/* "More details" arrow sits in the top corner of the card. */
.clt-scc { position: relative; }
.clt-cbtn.is-toggle { position: absolute; top: 12px; right: 12px; width: 34px; height: 34px; border-radius: 50%; background: #f8fafc; }
.clt-scc.has-more .clt-scc-title { padding-right: 30px; }
.clt-cbtn.is-toggle i { transition: transform .2s; }
.clt-scc.is-open .clt-cbtn.is-toggle i { transform: rotate(180deg); }
.clt-sc.is-showroom .clt-scc-type { background: #eff6ff; }
.clt-sc.is-showroom .clt-scc-services li:not(.is-plus) { background: #eff6ff; color: #1e3a8a; }
.clt-sc.is-showroom .clt-scc-services i { color: #2563eb; }
.clt-sc.is-showroom .clt-scc-services li.is-plus button { border-color: #3b82f6; color: #1d4ed8; }
.clt-sc.is-showroom .clt-scc-services li.is-plus button:hover { background: #eff6ff; }

@media (max-width: 575px) {
	.clt-scc { grid-template-columns: minmax(0, 1fr); }
	.clt-scc-media { margin: 0; border-radius: 0; aspect-ratio: 16 / 9; }
	.clt-scc-body { padding: 14px 14px 16px; }
	/* Buttons: the main one full width, the rest share a row. */
	.clt-scc-actions { display: flex; flex-wrap: wrap; gap: 6px; }
	.clt-scc-actions .clt-cbtn { flex: 1 1 auto; justify-content: center; height: 42px; }
	.clt-scc-actions .clt-cbtn.is-primary { flex: 1 1 100%; height: 46px; }
	.clt-scc-actions .clt-cbtn.is-icon { flex: 0 0 42px; width: 42px; }
	.clt-cbtn.is-toggle { position: static; border-radius: 11px; background: #fff; }
	.clt-scc.has-more .clt-scc-title { padding-right: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.clt-scc-media img, .clt-cbtn.is-toggle i { transition: none; }
	.clt-scc:hover .clt-scc-media img { transform: none; }
}

/* ---- 1.20.0: map popup — the main button stays on one line, icon buttons stay square ---- */
.clt-cpopup .leaflet-popup-content { width: min(280px, calc(100vw - 72px)) !important; }
.clt-cpop-title { line-height: 1.3; }
.clt-cpop-actions { align-items: stretch; }
.clt-cpop-actions .clt-cbtn { flex: none; justify-content: center; width: 38px; height: 38px; padding: 0; white-space: nowrap; }
.clt-cpop-actions .clt-cbtn.is-primary { flex: 1 1 auto; width: auto; min-width: 0; padding: 0 10px; font-size: .82rem; }
