/* Shubhpandiji Services - front-end styles */

:root{
	--sps-orange: #f0742b;
	--sps-orange-dark: #d9631e;
	--sps-text: #2b2b2b;
	--sps-muted: #7a7a7a;
	--sps-border: #ececec;
	--sps-star: #f5b301;
}

.sps-wrap{
	max-width: 1200px;
	margin: 0 auto;
	padding: 24px 16px 60px;
	color: var(--sps-text);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.sps-archive-header{ margin-bottom: 20px; }
.sps-archive-title{ font-size: 28px; font-weight: 700; margin: 0; }

/* ---------- Grid & Cards ---------- */

.sps-grid{
	display: grid;
	grid-template-columns: repeat(var(--sps-columns, 4), 1fr);
	gap: 20px;
}

@media (max-width: 992px){ .sps-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px){ .sps-grid{ grid-template-columns: 1fr; } }

.sps-card{
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(0,0,0,0.06);
	display: flex;
	flex-direction: column;
	transition: transform .15s ease, box-shadow .15s ease;
}
.sps-card:hover{ transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,0.10); }

.sps-card-thumb{ display:block; aspect-ratio: 1 / 1; overflow: hidden; background:#f5efe9; }
.sps-card-thumb img{ width:100%; height:100%; object-fit: cover; display:block; }
.sps-card-thumb-placeholder{ width:100%; height:100%; background: linear-gradient(135deg,#f5efe9,#efe6db); }

.sps-card-body{ padding: 14px 16px 18px; display:flex; flex-direction:column; gap:6px; }

.sps-card-title{ font-size: 17px; margin:0; font-weight: 600; line-height:1.3; }
.sps-card-title a{ color: var(--sps-text); text-decoration:none; }
.sps-card-title a:hover{ color: var(--sps-orange); }

.sps-card-meta{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:8px;
}

.sps-price{ font-weight:700; font-size:16px; }
.sps-price-regular{ color: #b7b0a8; text-decoration: line-through; font-size: 14px; margin-left:4px; }

.sps-star-rating{ position: relative; display:inline-block; font-size:15px; line-height:1; white-space:nowrap; }
.sps-star-rating-bg{ color:#dcdcdc; letter-spacing:2px; }
.sps-star-rating-fg{
	position:absolute;
	top:0; left:0;
	overflow:hidden;
	white-space:nowrap;
	color: var(--sps-star);
	letter-spacing:2px;
}
.sps-review-count{ color: var(--sps-muted); font-size: 13px; }

.sps-card-actions{ display:flex; gap:10px; margin-top:10px; }

.sps-btn{
	flex:1;
	text-align:center;
	padding:9px 10px;
	border-radius: 6px;
	font-weight:600;
	font-size: 14px;
	text-decoration:none;
	border: 1.5px solid var(--sps-orange);
	cursor:pointer;
}
.sps-btn-outline{ background:#fff; color: var(--sps-orange); }
.sps-btn-outline:hover{ background: #fff6ef; }
.sps-btn-solid{ background: var(--sps-orange); color:#fff; border-color: var(--sps-orange); }
.sps-btn-solid:hover{ background: var(--sps-orange-dark); }
.sps-btn-lg{ padding:12px 20px; font-size:15px; }

.sps-pagination{ margin-top: 30px; text-align:center; }

/* ---------- Single Service Page ---------- */

.sps-breadcrumb{ font-size: 13px; color: var(--sps-muted); margin-bottom: 20px; }
.sps-breadcrumb a{ color: var(--sps-muted); text-decoration:none; }
.sps-breadcrumb a:hover{ color: var(--sps-orange); }

.sps-single-grid{
	display:grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items:start;
}
@media (max-width: 800px){ .sps-single-grid{ grid-template-columns: 1fr; } }

.sps-single-media img{ width:100%; border-radius: 12px; display:block; }

.sps-eyebrow{ color: var(--sps-orange); font-weight:700; letter-spacing: .05em; font-size: 12px; margin: 0 0 6px; }
.sps-single-title{ font-size: 30px; margin: 0 0 10px; font-weight: 700; }

.sps-urgency{ background:#fff4ea; color: var(--sps-orange-dark); display:inline-block; padding:6px 12px; border-radius:6px; font-size:14px; margin: 0 0 14px; }

.sps-viewing{ color: var(--sps-muted); font-size:14px; margin-bottom:14px; }

.sps-divider{ border:none; border-top:1px solid var(--sps-border); margin: 16px 0; }

.sps-whatsapp-btn{
	display:inline-flex;
	align-items:center;
	gap:8px;
	background:#e9fbee;
	color:#1a7d3a;
	border:1px solid #bdeccb;
	padding:10px 16px;
	border-radius:8px;
	text-decoration:none;
	font-weight:600;
	margin-bottom:18px;
}
.sps-online-dot{ width:8px; height:8px; border-radius:50%; background:#25D366; display:inline-block; }

.sps-single-actions{ display:flex; align-items:center; gap:18px; margin-bottom: 16px; }
.sps-single-actions .sps-btn-lg{ flex: 0 0 auto; min-width: 180px; }

.sps-share-btn{
	background:none;
	border:none;
	color: var(--sps-text);
	font-weight:600;
	cursor:pointer;
	display:flex;
	align-items:center;
	gap:6px;
}

.sps-categories{ font-size: 14px; color: var(--sps-muted); }
.sps-categories a{ color: var(--sps-orange); text-decoration:none; }

/* Plain (non-collapsible) content sections */

.sps-section{ margin-top: 40px; border-top:1px solid var(--sps-border); padding-top: 24px; }
.sps-section-title{ font-size:20px; font-weight:700; margin: 0 0 14px; }
.sps-section-body{ line-height:1.8; color:#484848; }
.sps-single-description{ line-height:1.8; color:#484848; margin-bottom: 16px; }
.sps-description-heading{ font-size:18px; font-weight:700; margin: 0 0 10px; color: var(--sps-text); }

/* Description Image + Bullet Points: full-width row below the image/info grid */
.sps-description-extra{ margin-top: 32px; padding-top: 28px; border-top:1px solid var(--sps-border); }
.sps-description-extra-image{ margin-bottom: 18px; }
.sps-description-image{ max-width:100%; height:auto; border-radius:10px; display:block; }
.sps-description-points{ margin: 0; padding-left: 20px; line-height:1.8; color:#484848; }
.sps-description-points li{ margin-bottom: 6px; }

/* Related */

.sps-related{ margin-top: 50px; }
.sps-related-title{ text-align:center; font-size:22px; font-weight:700; margin-bottom:22px; padding-bottom:14px; border-bottom:1px solid var(--sps-border); }
