:root{
	--clp-primary:#9200FC;
	--clp-primary-dark:#7255F9;
	--clp-accent:#5CBDF7;
	--clp-text:#101010;
	--clp-radius:16px;
	--clp-btn-text:#ffffff;
	--clp-border:#ECEAF5;
	--clp-bg-soft:#F7F5FD;
	--clp-gradient:linear-gradient(135deg, var(--clp-primary) 0%, var(--clp-primary-dark) 100%);
	--clp-gradient-soft:linear-gradient(135deg, rgba(146,0,252,.08) 0%, rgba(92,189,247,.08) 100%);
}

.clp-quick-search{
	background:#fff;
	border-radius:calc(var(--clp-radius) + 6px);
	padding:22px;
	max-width:520px;
	box-shadow:0 20px 45px rgba(92,0,180,.14);
	border:1px solid var(--clp-border);
	color:var(--clp-text);
	font-family:inherit;
}
.clp-quick-row{ display:flex; gap:10px; margin-bottom:10px; }
.clp-quick-search-row{ align-items:stretch; }
.clp-field{ flex:1; display:flex; flex-direction:column; }
.clp-field label{ font-size:11px; font-weight:600; color:#666; margin-bottom:2px; }
.clp-text-search{
	flex:1; padding:14px; border:2px solid #EAEAEA;
	border-radius:14px; font-size:15px; transition:border-color .15s ease;
}
.clp-text-search:focus{ border-color:var(--clp-primary); outline:none; }
.clp-select{
	width:100% !important; padding:14px 40px 14px 14px !important; border:2px solid #EAEAEA !important;
	border-radius:14px !important; font-size:14px !important; line-height:1.4 !important; font-family:inherit !important;
	background-color:#fff !important; color:var(--clp-text) !important; transition:border-color .15s ease;
	-webkit-appearance:none !important; -moz-appearance:none !important; appearance:none !important;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23444444' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
	background-repeat:no-repeat !important; background-position:right 14px center !important; background-size:16px 16px !important;
	min-height:0 !important; height:auto !important; box-sizing:border-box !important;
}
.clp-quick-row input[type=number]{
	width:100%; padding:14px; border:2px solid #EAEAEA;
	border-radius:14px; font-size:14px; line-height:1.4; font-family:inherit; background:#fff; color:var(--clp-text); transition:border-color .15s ease;
}
.clp-select:focus, .clp-quick-row input[type=number]:focus{ border-color:var(--clp-primary); outline:none; }
.clp-select::-ms-expand{ display:none; }
.clp-btn{
	border:none; cursor:pointer; padding:12px 22px; border-radius:40px;
	font-weight:700; font-size:15px; transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.clp-btn-primary{ background:var(--clp-gradient); color:var(--clp-btn-text); box-shadow:0 8px 20px rgba(114,85,249,.3); }
.clp-btn-primary:hover{ box-shadow:0 10px 26px rgba(146,0,252,.4); transform:translateY(-1px); }
.clp-btn-block{ width:100%; }
.clp-quick-more-row{ flex-direction:column; align-items:stretch; margin-top:4px; }
.clp-more-filters-link{
	text-align:center; font-size:13px; color:var(--clp-primary); text-decoration:none; margin-bottom:8px; font-weight:600;
}
.clp-more-filters-link:hover{ text-decoration:underline; }

.clp-autocomplete-wrap{ position:relative; flex:1; }
.clp-autocomplete-results{
	display:none; position:absolute; top:100%; left:0; right:0; background:#fff; border:1px solid var(--clp-border);
	border-radius:var(--clp-radius); margin-top:4px; max-height:260px; overflow-y:auto; z-index:20; box-shadow:0 8px 20px rgba(0,0,0,.1);
}
.clp-autocomplete-results.is-open{ display:block; }
.clp-autocomplete-results a{ display:block; padding:10px 14px; font-size:14px; color:var(--clp-text); text-decoration:none; border-bottom:1px solid #f0f0f0; }
.clp-autocomplete-results a:last-child{ border-bottom:none; }
.clp-autocomplete-results a:hover{ background:var(--clp-bg-soft); }

/* ---------- AI smart search ---------- */
.clp-smart-search{ max-width:640px; }
.clp-smart-input-wrap{
	display:flex; align-items:center; gap:8px; background:#fff; border:2px solid var(--clp-border);
	border-radius:40px; padding:6px 6px 6px 18px; box-shadow:0 14px 34px rgba(92,0,180,.1); transition:border-color .15s ease;
}
.clp-smart-input-wrap:focus-within{ border-color:var(--clp-primary); }
.clp-smart-icon{ font-size:16px; flex-shrink:0; }
.clp-smart-input{
	flex:1; border:none; outline:none; padding:12px 4px; font-size:15px; font-family:inherit; background:transparent; color:var(--clp-text);
	min-width:0;
}
.clp-smart-btn{ flex-shrink:0; padding:12px 24px; }
.clp-smart-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; align-items:center; }
.clp-smart-chip{
	background:var(--clp-gradient-soft); border:1px solid var(--clp-border); color:var(--clp-text);
	font-size:12.5px; padding:6px 12px; border-radius:20px;
}
.clp-smart-chip b{ font-weight:700; color:var(--clp-primary); }
.clp-smart-count{ font-size:12.5px; font-weight:700; color:var(--clp-primary-dark); margin-left:4px; }

/* ---------- results page ---------- */
.clp-listings-wrap{ display:flex; gap:28px; align-items:flex-start; max-width:1200px; margin:0 auto; }
.clp-sidebar{
	width:280px; flex-shrink:0; background:#fff; border-radius:18px; box-shadow:0 10px 35px rgba(0,0,0,.08);
	padding:18px; position:sticky; top:20px;
}
.clp-sidebar-header{ display:flex; justify-content:flex-end; align-items:center; margin-bottom:12px; }
.clp-reset-link{ font-size:13px; color:var(--clp-primary); text-decoration:none; }
#clp-sidebar-search{ width:100%; margin-bottom:16px; box-sizing:border-box; border-radius:14px; border:2px solid #EAEAEA; padding:14px; }

.clp-facet-group{ border-bottom:1px solid var(--clp-border); padding:12px 0; }
.clp-facet-group h4{ margin:0 0 8px; font-size:13px; text-transform:uppercase; letter-spacing:.03em; color:#555; }
.clp-facet-option{ display:flex; align-items:center; gap:8px; font-size:14px; padding:4px 0; cursor:pointer; color:var(--clp-text); }
.clp-facet-option.clp-zero{ opacity:.4; }
.clp-facet-option .clp-count{ color:#888; font-size:12.5px; margin-left:auto; }

.clp-swatch{ display:inline-block; width:14px; height:14px; border-radius:50%; border:1px solid rgba(0,0,0,.15); margin-right:2px; flex-shrink:0; }

/* mobile filter drawer */
.clp-mobile-overlay{ display:none; position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:998; }
.clp-mobile-overlay.is-open{ display:block; }

/* standalone [car_filter_toggle] icon button — desktop: hidden entirely */
.clp-filter-icon-btn{
	display:none; align-items:center; justify-content:center; width:42px; height:42px;
	background:#fff; border:1px solid var(--clp-border); border-radius:50%;
	color:var(--clp-text); cursor:pointer; padding:0;
}
.clp-range-input{
	width:47%; padding:10px 12px; border:2px solid #EAEAEA; border-radius:14px; font-size:13px; margin-top:6px; line-height:1.4; font-family:inherit;
}
.clp-range-selects{ display:flex; gap:4%; }
.clp-range-selects select.clp-range-input{
	width:48% !important; margin-top:0 !important; background-color:#fff !important; padding:10px 30px 10px 12px !important;
	-webkit-appearance:none !important; -moz-appearance:none !important; appearance:none !important;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23444444' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
	background-repeat:no-repeat !important; background-position:right 10px center !important; background-size:14px 14px !important;
	line-height:1.4 !important; min-height:0 !important; height:auto !important; box-sizing:border-box !important;
}
.clp-range-selects select.clp-range-input::-ms-expand{ display:none; }

.clp-pill-row{ display:flex; flex-wrap:wrap; gap:8px; }
.clp-pill{
	display:inline-flex; align-items:center; gap:5px; border:1px solid var(--clp-border); border-radius:20px;
	padding:7px 14px; font-size:13px; cursor:pointer; background:#fff; color:var(--clp-text); transition:all .12s ease;
}
.clp-pill input{ display:none; }
.clp-pill.is-active{ background:var(--clp-primary); border-color:var(--clp-primary); color:var(--clp-btn-text); }
.clp-pill.is-active .clp-count{ color:var(--clp-btn-text); opacity:.85; }
.clp-pill.clp-zero{ opacity:.4; }

.clp-tile-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:8px; }
.clp-tile{
	display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; text-align:center;
	border:1px solid var(--clp-border); border-radius:10px; padding:12px 6px; cursor:pointer; background:#fff; transition:all .12s ease;
}
.clp-tile input{ display:none; }
.clp-tile.is-active{ border-color:var(--clp-primary); background:#f4ffe9; }
.clp-tile.clp-zero{ opacity:.4; }
.clp-tile-icon{ width:26px; height:26px; color:var(--clp-primary); }
.clp-tile-icon svg, .clp-tile-icon img{ width:100%; height:100%; object-fit:contain; }
.clp-tile-name{ font-size:12px; font-weight:600; color:var(--clp-text); }
.clp-tile-count{ font-size:11px; color:#888; }
.clp-tile-extra{ display:none; }
.clp-tile-extra.is-shown{ display:flex; }
.clp-tile-toggle{ display:inline-block; margin-top:10px; font-size:12.5px; font-weight:600; color:var(--clp-primary); text-decoration:none; }

.clp-results{ flex:1; min-width:0; }
.clp-results-header{
	margin-bottom:14px; font-size:14px; color:#666;
	display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
}
.clp-sort-select{
	padding:8px 30px 8px 12px; border:1px solid var(--clp-border); border-radius:8px; font-size:13.5px;
	background:#fff; color:#333; cursor:pointer;
}
.clp-grid{ display:grid; grid-template-columns:1fr; gap:16px; }
.clp-latest-grid{ grid-template-columns:repeat(4, 1fr); max-width:1200px; margin:0 auto; }
.clp-latest-grid .clp-card{ flex-direction:column; }
.clp-latest-grid .clp-card-img-outer{ width:100%; }
@media (max-width: 980px){ .clp-latest-grid{ grid-template-columns:repeat(2, 1fr); } }
.clp-similar-grid{ grid-template-columns:repeat(2, 1fr); }
.clp-similar-grid .clp-card{ flex-direction:column; }
.clp-similar-grid .clp-card-img-outer{ width:100%; }
@media (max-width: 780px){ .clp-similar-grid{ grid-template-columns:1fr; } }
.clp-card{
	display:flex; text-decoration:none; color:inherit; background:#fff; border:1px solid var(--clp-border);
	border-radius:22px; overflow:hidden; box-shadow:0 4px 16px rgba(16,16,16,.05);
	transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; position:relative;
}
.clp-card:hover{ transform:translateY(-4px); box-shadow:0 20px 40px rgba(92,0,180,.14); border-color:transparent; }
.clp-card-img-outer{ width:300px; flex-shrink:0; display:flex; flex-direction:column; padding:10px 10px 0; }
.clp-card-img-wrap{ width:100%; position:relative; aspect-ratio:4/3; overflow:hidden; border-radius:16px; background:var(--clp-gradient-soft); }
.clp-card-img{
	position:absolute; inset:0; width:100%; height:100%; background-size:cover; background-repeat:no-repeat;
	background-position:center; opacity:0; transition:opacity .25s ease, transform .5s ease;
}
.clp-card-img.is-active{ opacity:1; }
.clp-card:hover .clp-card-img.is-active{ transform:scale(1.04); }
.clp-card-nav-prev, .clp-card-nav-next{
	position:absolute; top:50%; transform:translateY(-50%); background:rgba(16,16,16,.55); backdrop-filter:blur(2px); color:#fff; border:none;
	width:28px; height:28px; box-sizing:border-box; padding:0; margin:0;
	border-radius:50%; cursor:pointer; font-size:12px; z-index:3;
	display:flex; align-items:center; justify-content:center; line-height:1;
	opacity:0; transition:opacity .15s ease;
}
.clp-card-img-wrap:hover .clp-card-nav-prev, .clp-card-img-wrap:hover .clp-card-nav-next{ opacity:1; }
.clp-card-nav-prev{ left:10px; } .clp-card-nav-next{ right:10px; }
/* Dots sit in their own strip BELOW the photo, not on top of it — they
   used to overlap the bottom of the car in the image, which looked odd. */
.clp-card-dots{ display:flex; justify-content:center; align-items:center; gap:6px; padding:8px 0 2px; }
.clp-card-dot{ width:6px; height:6px; border-radius:50%; background:var(--clp-border); transition:background .15s ease; }
.clp-card-dot.is-active{ background:var(--clp-primary); }
.clp-card-featured-tag{
	position:absolute; top:18px; left:18px; background:var(--clp-gradient); color:#fff; font-size:11px; font-weight:700;
	padding:5px 12px; border-radius:20px; box-shadow:0 4px 12px rgba(146,0,252,.35); letter-spacing:.02em;
}
.clp-card-heart{
	position:absolute; top:18px; right:18px; width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.92);
	backdrop-filter:blur(4px); display:flex; align-items:center; justify-content:center; font-size:15px; color:#B8B4C8; cursor:pointer; z-index:2;
	box-shadow:0 2px 8px rgba(16,16,16,.1); transition:color .15s ease, transform .15s ease;
}
.clp-card-heart:hover{ transform:scale(1.08); }
.clp-card-heart.is-active{ color:var(--clp-primary); }
.clp-card-photo-count{
	position:absolute; bottom:18px; right:18px; background:rgba(16,16,16,.6); color:#fff; font-size:11.5px;
	padding:3px 9px; border-radius:20px;
}
.clp-card-body{ padding:16px 20px 18px; flex:1; min-width:0; display:flex; flex-direction:column; justify-content:center; }
.clp-card-body h4{ margin:0 0 6px; font-size:17px; font-weight:700; color:var(--clp-text); line-height:1.3; }
.clp-card-price-row{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:12px; }
.clp-card-price{
	font-weight:800; font-size:22px; color:var(--clp-primary);
}
.clp-card-monthly{ font-size:12.5px; color:#8A8698; }
.clp-card-tags{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:8px; font-size:13px; color:#555; }
.clp-card-tags span{
	background:var(--clp-gradient-soft); color:var(--clp-text); padding:6px 13px; border-radius:30px;
	font-size:12.5px; font-weight:600; border:1px solid var(--clp-border);
}
.clp-card-location{ font-size:12.5px; color:#8A8698; margin:0; }
.clp-card-status-tag{
	position:absolute; top:18px; left:18px; color:#fff; font-size:11px; font-weight:700;
	padding:5px 12px; border-radius:20px; letter-spacing:.02em; box-shadow:0 4px 12px rgba(16,16,16,.25);
}
.clp-status-sold{ background:#101010; }
.clp-status-reserved{ background:var(--clp-accent); color:#101010; }
.clp-card-sold .clp-card-img-wrap, .clp-card-reserved .clp-card-img-wrap{ filter:grayscale(.5); opacity:.75; }
.clp-card-sold .clp-card-price, .clp-card-reserved .clp-card-price{ opacity:.55; }
.clp-card-custom{ display:block; }
.clp-thumbnail-img{ width:100%; height:auto; display:block; border-radius:var(--clp-radius); }
.clp-no-results{ grid-column:1/-1; text-align:center; padding:40px 0; color:#777; }

.clp-pagination{ display:flex; justify-content:center; align-items:center; gap:6px; margin:28px 0 8px; flex-wrap:wrap; grid-column:1/-1; }
.clp-page-btn{
	min-width:36px; height:36px; padding:0 10px; border:1px solid var(--clp-border); border-radius:8px;
	background:#fff; color:#333; font-size:13.5px; cursor:pointer; transition:background .15s ease, color .15s ease;
}
.clp-page-btn:hover:not([disabled]){ background:var(--clp-bg-soft); }
.clp-page-btn.is-active{ background:var(--clp-primary); border-color:var(--clp-primary); color:#fff; font-weight:700; }
.clp-page-btn[disabled]{ opacity:.4; cursor:not-allowed; }
.clp-page-nav{ padding:0 14px; }
.clp-page-ellipsis{ color:#999; padding:0 4px; }

/* ---------- ad banner ---------- */
.clp-ad-banner{ grid-column:1/-1; display:block; border-radius:var(--clp-radius); overflow:hidden; margin-bottom:4px; }
.clp-ad-banner img{ width:100%; display:block; }

/* ---------- single car page ---------- */
.clp-single-wrap{ display:flex; gap:32px; max-width:1100px; margin:30px auto; align-items:flex-start; padding:0 16px; box-sizing:border-box; }
.clp-single-main-col{ flex:1.6; min-width:0; }
.clp-single-side{ flex:1; min-width:280px; max-width:360px; position:sticky; top:20px; }

.clp-carousel{ position:relative; width:100%; aspect-ratio:1/1; border-radius:20px; overflow:hidden; background:#eee; }
.clp-single-status-tag{
	position:absolute; top:14px; left:14px; z-index:5; color:#fff; font-size:12px; font-weight:700;
	padding:6px 14px; border-radius:20px; letter-spacing:.02em; box-shadow:0 4px 12px rgba(16,16,16,.25);
}
.clp-carousel-track{ position:relative; width:100%; height:100%; }
.clp-carousel-slide{ position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity .2s ease; }
.clp-carousel-slide.is-active{ opacity:1; }
.clp-zoomable{ cursor:zoom-in; }
.clp-zoom-hint{
	position:absolute; bottom:10px; left:12px; background:rgba(0,0,0,.6); color:#fff; font-size:11.5px;
	padding:4px 10px; border-radius:20px; opacity:0; transition:opacity .15s ease; pointer-events:none;
}
.clp-carousel:hover .clp-zoom-hint{ opacity:1; }
.clp-car-prev, .clp-car-next{
	position:absolute; top:50%; transform:translateY(-50%); background:rgba(0,0,0,.5); color:#fff; border:none;
	width:36px; height:36px; box-sizing:border-box; padding:0; margin:0;
	border-radius:50%; cursor:pointer; font-size:14px; z-index:2;
	display:flex; align-items:center; justify-content:center; line-height:1;
}
.clp-car-prev{ left:12px; } .clp-car-next{ right:12px; }
.clp-carousel-count{ position:absolute; bottom:10px; right:12px; background:rgba(0,0,0,.6); color:#fff; font-size:12px; padding:3px 9px; border-radius:20px; }

.clp-single-title-row h1{ margin:18px 0 10px; font-size:24px; }
.clp-single-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.clp-single-tags span{
	background:var(--clp-gradient-soft); color:var(--clp-text); border-radius:30px; padding:8px 14px;
	font-size:13px; font-weight:600; border:1px solid var(--clp-border);
}

.clp-single-box{ background:#fff; border:none; box-shadow:0 10px 35px rgba(0,0,0,.06); border-radius:16px; padding:18px; margin-bottom:16px; }
.clp-single-box h3{ margin:0 0 12px; font-size:16px; }
.clp-single-price-row{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; }
.clp-single-price{
	font-size:36px; font-weight:800; color:var(--clp-primary);
}
.clp-single-monthly{ margin-left:10px; font-size:13px; color:#777; }
.clp-single-location{ font-size:14px; color:#555; }

.clp-single-description{ font-size:14.5px; line-height:1.65; color:#444; max-height:130px; overflow:hidden; position:relative; }
.clp-single-description.is-expanded{ max-height:none; }
.clp-show-more-link{ display:inline-block; margin-top:8px; font-size:13px; font-weight:600; color:var(--clp-primary); text-decoration:none; }

.clp-single-features{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,1fr); gap:8px 14px; }
.clp-single-features li{ font-size:14px; color:var(--clp-text); }
.clp-single-features li:before{ content:"✓ "; color:var(--clp-primary); font-weight:700; }

.clp-gallery-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:8px; }
.clp-gallery-thumb{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:6px; cursor:pointer; }

.clp-lead-box{ background:#fff; border:none; box-shadow:0 10px 35px rgba(0,0,0,.06); border-radius:16px; padding:20px; }
.clp-lead-box h3{ margin:0 0 14px; font-size:16px; }
.clp-btn-whatsapp{ background:#25D366; color:#fff; text-decoration:none; text-align:center; display:block; margin-bottom:8px; }
.clp-btn-whatsapp:hover{ background:#1ebe57; }
.clp-btn-outline{ background:#fff; color:var(--clp-primary); border:1px solid var(--clp-primary); text-decoration:none; text-align:center; display:block; margin-bottom:16px; }
.clp-btn-outline:hover{ background:var(--clp-bg-soft); }

.clp-lead-form{ display:flex; flex-direction:column; gap:12px; }
.clp-lead-form label{ font-size:12.5px; font-weight:600; color:#444; display:flex; flex-direction:column; gap:4px; }
.clp-lead-form input, .clp-lead-form select, .clp-lead-form textarea{
	font-weight:400; padding:9px 10px; border:1px solid var(--clp-border); border-radius:6px; font-size:14px; font-family:inherit;
}
.clp-lead-form .clp-btn{ margin-top:4px; text-align:center; }
#clp-lead-response{ font-size:13px; margin-top:6px; }
#clp-lead-response.success{ color:#1a8a3c; }
#clp-lead-response.error{ color:var(--clp-primary); }

.clp-cxq-quote-block{ border-top:1px solid var(--clp-border); margin-top:6px; padding-top:14px; }
.clp-cxq-quote-block h4{ margin:0 0 10px; font-size:13px; color:#444; }

.clp-lightbox{
	display:none; position:fixed; inset:0; background:rgba(0,0,0,.9); z-index:9999;
	align-items:center; justify-content:center;
}
.clp-lightbox.is-open{ display:flex; }
.clp-lightbox img{ max-width:85vw; max-height:85vh; object-fit:contain; }
.clp-lightbox-close{ position:absolute; top:20px; right:28px; background:none; border:none; color:#fff; font-size:34px; cursor:pointer; }
.clp-lightbox-prev, .clp-lightbox-next{
	position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.15); color:#fff; border:none;
	width:44px; height:44px; box-sizing:border-box; padding:0; margin:0;
	border-radius:50%; font-size:18px; cursor:pointer;
	display:flex; align-items:center; justify-content:center; line-height:1;
}
.clp-lightbox-prev{ left:24px; } .clp-lightbox-next{ right:24px; }

/* ---------- homepage blocks: tools, popular searches ---------- */
.clp-tools-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:20px; max-width:900px; margin:0 auto; }
.clp-tool-card{
	display:block; text-decoration:none; color:inherit; background:#fff; border-radius:16px;
	box-shadow:0 10px 35px rgba(0,0,0,.08); padding:28px 24px; text-align:center; transition:transform .25s ease, box-shadow .25s ease;
}
a.clp-tool-card:hover{ transform:translateY(-4px); box-shadow:0 14px 35px rgba(0,0,0,.12); }
.clp-tool-icon{ font-size:32px; display:block; margin-bottom:10px; }
.clp-tool-card h3{ margin:0 0 8px; font-size:17px; color:var(--clp-text); }
.clp-tool-card p{ margin:0; font-size:13.5px; color:#666; line-height:1.55; }

.clp-popular-grid{ display:grid; grid-template-columns:repeat(6, 1fr); gap:12px; max-width:1100px; margin:0 auto; }
.clp-popular-tile{
	display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; text-align:center;
	border:1px solid var(--clp-border); border-radius:12px; padding:16px 8px; text-decoration:none; color:var(--clp-text);
	background:#fff; transition:all .15s ease;
}
.clp-popular-tile:hover{ border-color:var(--clp-primary); box-shadow:0 2px 10px rgba(0,0,0,.08); transform:translateY(-2px); }
.clp-popular-tile .clp-tile-icon{ width:26px; height:26px; color:var(--clp-primary); }
.clp-popular-name{ font-size:12.5px; font-weight:600; }
.clp-popular-count{ font-size:11px; color:#888; }

@media (max-width: 780px){
	.clp-tools-grid{ grid-template-columns:1fr; }
	.clp-popular-grid{ grid-template-columns:repeat(3, 1fr); }
}

@media (max-width: 780px){
	.clp-single-wrap{ flex-direction:column; }
	.clp-single-side{ position:static; max-width:100%; width:100%; }
	.clp-gallery-grid{ grid-template-columns:repeat(3, 1fr); }
	.clp-listings-wrap{ flex-direction:column; }
	.clp-quick-row{ flex-direction:column; }
	.clp-card{ flex-direction:column; }
	.clp-card-img-outer{ width:100%; }
	.clp-card-nav-prev, .clp-card-nav-next{ opacity:1; }

	.clp-latest-grid{
		display:flex; flex-wrap:nowrap; overflow-x:auto; scroll-snap-type:x mandatory; gap:14px; padding-bottom:6px;
		-webkit-overflow-scrolling:touch;
	}
	.clp-latest-grid .clp-card{ flex:0 0 80%; scroll-snap-align:start; }

	.clp-filter-icon-btn{ display:flex; }
	.clp-sidebar{
		position:fixed; top:0; left:0; height:100%; width:85%; max-width:340px; z-index:999;
		transform:translateX(-105%); transition:transform .25s ease; overflow-y:auto; box-shadow:2px 0 20px rgba(0,0,0,.15);
	}
	.clp-sidebar.is-open{ transform:translateX(0); }
}
