/* =============================================================================
   SmartHomeSewa — Inner Pages CSS
   Bigger fonts, all page-specific components
   ============================================================================= */

/* ── GLOBAL FONT SIZE FIX ─────────────────────────────────────────────────── */
body { font-size: 1rem; }
p { font-size: 1rem; line-height: 1.75; color: #334155; margin-bottom: 1rem; }
h1 { font-size: clamp(2rem,5vw,3.25rem); }
h2 { font-size: clamp(1.5rem,3.5vw,2.25rem); }
h3 { font-size: clamp(1.2rem,2.5vw,1.6rem); }
h4 { font-size: clamp(1rem,2vw,1.25rem); }

/* ── BREADCRUMB ──────────────────────────────────────────────────────────── */
.sh-breadcrumb { background:transparent; padding:0; margin:.75rem 0 0; justify-content:center; }
.sh-breadcrumb .breadcrumb-item a { color:rgba(255,255,255,.65); font-size:.875rem; }
.sh-breadcrumb .breadcrumb-item a:hover { color:#fff; }
.sh-breadcrumb .breadcrumb-item.active { color:#93c5fd; font-size:.875rem; }
.sh-breadcrumb .breadcrumb-item+.breadcrumb-item::before { color:rgba(255,255,255,.3); content:"›"; }

/* ── INNER PAGE LAYOUT ───────────────────────────────────────────────────── */
.sh-inner-layout {
  display:grid; grid-template-columns:1fr 300px; gap:2.5rem;
  align-items:start; padding:4rem 0;
}
.sh-inner-layout.no-sidebar { grid-template-columns:1fr; }
@media(max-width:991px){
  .sh-inner-layout { grid-template-columns:1fr; }
  .sh-inner-sidebar { order:-1; }
}

/* ── SIDEBAR ────────────────────────────────────────────────────────────── */
.sh-inner-sidebar { display:flex; flex-direction:column; gap:1.5rem; }
.sh-sidebar-widget { background:#fff; border:1px solid #e2e8f0; border-radius:18px; overflow:hidden; }
.sh-sidebar-widget-title {
  font-family:'Plus Jakarta Sans','Inter',sans-serif; font-size:1rem; font-weight:700;
  color:#fff; background:linear-gradient(135deg,#2563eb,#1d4ed8);
  padding:1rem 1.25rem; margin:0;
}
.sh-sidebar-nav { list-style:none; margin:0; padding:.5rem 0; }
.sh-sidebar-nav li { border-bottom:1px solid #e2e8f0; }
.sh-sidebar-nav li:last-child { border-bottom:none; }
.sh-sidebar-nav a {
  display:flex; align-items:center; gap:.5rem;
  padding:.75rem 1.25rem; font-size:.9375rem; color:#1e293b; font-weight:500;
  transition:all .2s; text-decoration:none;
}
.sh-sidebar-nav a::before { content:"›"; color:#2563eb; font-size:1.25rem; line-height:1; }
.sh-sidebar-nav a:hover { color:#2563eb; background:#dbeafe; padding-left:1.5rem; }
.sh-sidebar-nav li.active a { color:#2563eb; background:#dbeafe; font-weight:700; }
.sh-sidebar-posts { padding:1rem 1.25rem; display:flex; flex-direction:column; gap:1rem; }
.sh-sidebar-post { display:flex; gap:.75rem; align-items:flex-start; padding-bottom:1rem; border-bottom:1px solid #e2e8f0; }
.sh-sidebar-post:last-child { border-bottom:none; padding-bottom:0; }
.sh-sidebar-post img { width:64px; height:52px; object-fit:cover; border-radius:6px; flex-shrink:0; }
.sh-sidebar-post h3 { font-size:.875rem; font-weight:600; margin:0 0 .25rem; line-height:1.4; }
.sh-sidebar-post h3 a { color:#1e293b; text-decoration:none; }
.sh-sidebar-post h3 a:hover { color:#2563eb; }
.sh-sidebar-post .date { font-size:.75rem; color:#94a3b8; }

/* ── ABOUT PAGE ──────────────────────────────────────────────────────────── */
.sh-about-grid { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; padding:5rem 0; }
@media(max-width:767px){ .sh-about-grid { grid-template-columns:1fr; gap:2rem; } }
.sh-about-img { border-radius:18px; overflow:hidden; position:relative; }
.sh-about-img img { width:100%; height:400px; object-fit:cover; display:block; }
.sh-about-content h2 { margin-bottom:1rem; }
.sh-about-content h2 span { color:#2563eb; }
.sh-about-content p { font-size:1.0625rem; line-height:1.8; margin-bottom:1.25rem; color:#334155; }

/* ── TEAM GRID ───────────────────────────────────────────────────────────── */
.sh-team-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:1.5rem; }
.sh-team-card { background:#fff; border:1px solid #e2e8f0; border-radius:18px; overflow:hidden; transition:transform .22s,box-shadow .22s; text-align:center; }
.sh-team-card:hover { transform:translateY(-6px); box-shadow:0 20px 48px rgba(15,23,42,.16); }
.sh-team-card-img { position:relative; overflow:hidden; }
.sh-team-card-img img { width:100%; height:240px; object-fit:cover; display:block; transition:transform .4s; }
.sh-team-card:hover .sh-team-card-img img { transform:scale(1.06); }
.sh-team-card-body { padding:1.25rem 1rem; }
.sh-team-card-body h3 { font-size:1.125rem; font-weight:700; margin-bottom:.25rem; color:#0f172a; }
.sh-team-card-body .role { font-size:.875rem; color:#2563eb; font-weight:600; margin-bottom:.75rem; }
.sh-team-card-body p { font-size:.875rem; color:#64748b; margin-bottom:1rem; line-height:1.6; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.sh-team-social { display:flex; justify-content:center; gap:.5rem; }
.sh-team-social a {
  width:32px; height:32px; border-radius:50%; border:1px solid #e2e8f0;
  display:flex; align-items:center; justify-content:center; font-size:13px;
  color:#64748b; text-decoration:none; transition:all .2s;
}
.sh-team-social a:hover { background:#2563eb; border-color:#2563eb; color:#fff; }

/* ── SERVICES LIST ───────────────────────────────────────────────────────── */
.sh-services-list-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1.5rem; }

/* ── SERVICE / CATEGORY DETAIL ──────────────────────────────────────────── */
.sh-content-body { font-size:1.0625rem; line-height:1.85; color:#1e293b; }
.sh-content-body h2 { font-size:1.75rem; margin:2rem 0 1rem; }
.sh-content-body h3 { font-size:1.375rem; margin:1.5rem 0 .75rem; color:#2563eb; }
.sh-content-body p { margin-bottom:1rem; }
.sh-content-body img { border-radius:12px; max-width:100%; }
.sh-content-body ul,.sh-content-body ol { padding-left:1.5rem; margin-bottom:1rem; }
.sh-content-body ul li,.sh-content-body ol li { margin-bottom:.5rem; font-size:1rem; }
.sh-service-detail-img { border-radius:18px; overflow:hidden; margin-bottom:1.5rem; }
.sh-service-detail-img img { width:100%; max-height:380px; object-fit:cover; display:block; }
.sh-service-detail-header { margin-bottom:1.5rem; }
.sh-service-detail-header h2 { font-size:1.875rem; margin-bottom:.5rem; }
.sh-service-detail-header .meta { font-size:.875rem; color:#64748b; display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.sh-service-detail-header .meta a { color:#2563eb; text-decoration:none; }

/* Sub-category grid */
.sh-subcat-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:1.25rem; margin:1.5rem 0; }
.sh-subcat-card { background:#f8fafc; border:1px solid #e2e8f0; border-radius:12px; padding:1.25rem; transition:border-color .2s,box-shadow .2s; }
.sh-subcat-card:hover { border-color:#2563eb; box-shadow:0 4px 16px rgba(15,23,42,.1); }
.sh-subcat-card h3 { font-size:1rem; font-weight:700; color:#2563eb; margin-bottom:.75rem; }
.sh-subcat-card ul { list-style:none; margin:0; padding:0; }
.sh-subcat-card ul li { padding:.25rem 0; border-bottom:1px dashed #e2e8f0; }
.sh-subcat-card ul li:last-child { border-bottom:none; }
.sh-subcat-card ul li a { font-size:.875rem; color:#334155; display:flex; align-items:center; gap:.5rem; transition:color .2s; text-decoration:none; }
.sh-subcat-card ul li a:hover { color:#2563eb; }
.sh-subcat-card ul li a::before { content:"›"; color:#2563eb; font-size:1.25rem; line-height:1; }

/* ── PRODUCT LIST ─────────────────────────────────────────────────────────── */
.sh-product-list-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:1.5rem; }
.sh-product-list-card { background:#fff; border:1px solid #e2e8f0; border-radius:18px; overflow:hidden; transition:transform .22s,box-shadow .22s,border-color .22s; }
.sh-product-list-card:hover { transform:translateY(-4px); box-shadow:0 20px 48px rgba(15,23,42,.16); border-color:#2563eb; }
.sh-product-list-card-img-wrap { overflow:hidden; }
.sh-product-list-card-img { width:100%; height:200px; object-fit:cover; display:block; transition:transform .4s; }
.sh-product-list-card:hover .sh-product-list-card-img { transform:scale(1.05); }
.sh-product-list-card-body { padding:1rem; }
.sh-product-list-card-body h3 { font-size:1rem; font-weight:700; margin-bottom:.5rem; }
.sh-product-list-card-body h3 a { color:#0f172a; text-decoration:none; transition:color .2s; }
.sh-product-list-card-body h3 a:hover { color:#2563eb; }
.sh-product-price { font-size:1.125rem; font-weight:800; color:#2563eb; }
.sh-product-old-price { font-size:.875rem; color:#94a3b8; text-decoration:line-through; margin-right:.5rem; }
.sh-product-stock { font-size:.75rem; color:#64748b; margin-top:.25rem; }

/* Product detail */
.sh-product-detail { padding:4rem 0; }
.sh-product-detail-grid { display:grid; grid-template-columns:1fr 1.5fr; gap:2.5rem; align-items:start; }
@media(max-width:767px){ .sh-product-detail-grid { grid-template-columns:1fr; } }
.sh-product-main-img { border-radius:18px; overflow:hidden; border:2px solid #e2e8f0; }
.sh-product-main-img img { width:100%; max-height:380px; object-fit:contain; display:block; }
.sh-product-info-title { font-size:clamp(1.25rem,2.5vw,1.75rem); margin-bottom:.75rem; }
.sh-product-info-price { display:flex; align-items:baseline; gap:.75rem; margin-bottom:1.25rem; flex-wrap:wrap; }
.sh-product-info-price .current { font-size:1.875rem; font-weight:800; color:#2563eb; }
.sh-product-info-price .old { font-size:1.125rem; color:#94a3b8; text-decoration:line-through; }
.sh-product-info-meta { margin-bottom:1.25rem; }
.sh-product-info-meta p { margin:.5rem 0; font-size:.875rem; color:#64748b; }
.sh-product-info-meta p strong { color:#1e293b; }
.sh-product-rating { display:flex; gap:3px; margin-bottom:1rem; }
.sh-product-rating i { color:#fbbf24; font-size:.875rem; }
.sh-order-form { background:#f8fafc; border:1px solid #e2e8f0; border-radius:18px; padding:1.5rem; margin-top:2rem; }
.sh-order-form h3 { font-size:1.125rem; margin-bottom:1rem; color:#0f172a; }
.sh-order-form .form-control { border:1px solid #e2e8f0; border-radius:6px; font-size:.9375rem; padding:.6875rem 1rem; transition:border-color .2s; }
.sh-order-form .form-control:focus { border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.1); outline:none; }
.sh-order-form label { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:#334155; margin-bottom:.25rem; display:block; }
.sh-product-tabs { margin-top:2.5rem; }
.sh-product-tabs .nav-tabs { border-bottom:2px solid #e2e8f0; gap:4px; margin-bottom:1.5rem; flex-wrap:wrap; }
.sh-product-tabs .nav-link { padding:.75rem 1.25rem; font-size:.9375rem; font-weight:600; color:#64748b; border:none; border-bottom:2px solid transparent; border-radius:0; transition:all .2s; margin-bottom:-2px; background:none; }
.sh-product-tabs .nav-link.active { color:#2563eb; border-bottom-color:#2563eb; }

/* ── PLAN DETAIL ─────────────────────────────────────────────────────────── */
.sh-plan-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:start; padding:4rem 0; }
@media(max-width:767px){ .sh-plan-detail-grid { grid-template-columns:1fr; } }
.sh-plan-info-card { background:linear-gradient(145deg,#2563eb,#1d4ed8); color:#fff; border-radius:18px; padding:2rem; text-align:center; }
.sh-plan-info-card h2 { color:#fff; font-size:1.5rem; margin-bottom:.5rem; }
.sh-plan-info-card .category { font-size:.875rem; color:rgba(255,255,255,.7); margin-bottom:1rem; }
.sh-plan-info-card .price { font-size:3rem; font-weight:800; color:#fff; line-height:1; margin-bottom:.5rem; }
.sh-plan-info-card .price .rs { font-size:1.5rem; font-weight:700; vertical-align:super; }
.sh-plan-info-card .contact-no { font-size:.875rem; color:rgba(255,255,255,.7); margin-bottom:1.5rem; }
.sh-plan-facilities-card { background:#fff; border:1px solid #e2e8f0; border-radius:18px; overflow:hidden; }
.sh-plan-facilities-title { background:#f8fafc; border-bottom:1px solid #e2e8f0; padding:1rem 1.5rem; font-size:1.125rem; font-weight:700; color:#0f172a; }
.sh-plan-facility-list { list-style:none; margin:0; padding:0; }
.sh-plan-facility-list li { padding:1rem 1.5rem; border-bottom:1px solid #e2e8f0; }
.sh-plan-facility-list li:last-child { border-bottom:none; }
.sh-plan-facility-list li h6 { font-size:1rem; font-weight:700; color:#0f172a; margin-bottom:.25rem; }
.sh-plan-facility-list li p { font-size:.9375rem; color:#64748b; margin:0; line-height:1.6; }

/* ── PLAN LIST ───────────────────────────────────────────────────────────── */
.sh-plan-list-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1.5rem; }

/* ── CONTACT ─────────────────────────────────────────────────────────────── */
.sh-contact-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:2.5rem; padding:4rem 0; }
@media(max-width:767px){ .sh-contact-grid { grid-template-columns:1fr; } }
.sh-contact-info h2 { font-size:1.5rem; margin-bottom:1rem; }
.sh-contact-info p { font-size:1.0625rem; line-height:1.8; margin-bottom:1.5rem; color:#334155; }
.sh-map-embed { border-radius:18px; overflow:hidden; border:1px solid #e2e8f0; margin-top:1.5rem; }
.sh-map-embed iframe,.sh-map-embed > * { display:block; width:100%; min-height:300px; border:none; }
.sh-contact-form-card { background:#f8fafc; border:1px solid #e2e8f0; border-radius:18px; padding:2rem; }
.sh-contact-form-card h2 { font-size:1.375rem; margin-bottom:1.25rem; }
.sh-contact-form-card .form-group { margin-bottom:1rem; }
.sh-contact-form-card .form-control { border:1px solid #e2e8f0; border-radius:6px; padding:.75rem 1rem; font-size:1rem; transition:border-color .2s; background:#fff; }
.sh-contact-form-card .form-control:focus { border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.1); outline:none; }
.sh-contact-form-card textarea.form-control { min-height:120px; resize:vertical; }

/* ── FAQ ─────────────────────────────────────────────────────────────────── */
.sh-faq-section { padding:5rem 0; background:#f8fafc; }
.sh-faq-list { display:flex; flex-direction:column; gap:.75rem; max-width:800px; margin:0 auto; }
.sh-faq-item { background:#fff; border:1px solid #e2e8f0; border-radius:12px; overflow:hidden; transition:box-shadow .2s,border-color .2s; }
.sh-faq-item:hover,.sh-faq-item.open { box-shadow:0 4px 16px rgba(15,23,42,.1); border-color:#2563eb; }
.sh-faq-question {
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1.25rem 1.5rem; background:transparent; border:none; cursor:pointer; text-align:left;
  font-family:'Plus Jakarta Sans','Inter',sans-serif; font-size:1rem; font-weight:700; color:#0f172a; transition:background .2s;
}
.sh-faq-item.open .sh-faq-question { background:#dbeafe; color:#2563eb; }
.sh-faq-question .icon { width:28px; height:28px; border-radius:50%; background:#dbeafe; color:#2563eb; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:1rem; transition:background .2s,transform .2s; }
.sh-faq-item.open .sh-faq-question .icon { background:#2563eb; color:#fff; transform:rotate(45deg); }
.sh-faq-answer { padding:0 1.5rem 1.25rem; font-size:1.0625rem; color:#334155; line-height:1.75; display:none; }
.sh-faq-item.open .sh-faq-answer { display:block; }

/* ── BLOG LIST & DETAIL ──────────────────────────────────────────────────── */
.sh-blog-list-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.5rem; }
.sh-blog-detail-img { border-radius:18px; overflow:hidden; margin-bottom:1.5rem; }
.sh-blog-detail-img img { width:100%; max-height:440px; object-fit:cover; display:block; }
.sh-blog-detail-title { font-size:clamp(1.375rem,3vw,2rem); margin-bottom:.75rem; line-height:1.3; }
.sh-blog-detail-meta { display:flex; gap:1.25rem; margin-bottom:1.5rem; padding-bottom:1.25rem; border-bottom:1px solid #e2e8f0; flex-wrap:wrap; }
.sh-blog-detail-meta span { display:flex; align-items:center; gap:.5rem; font-size:.875rem; color:#64748b; }
.sh-blog-detail-meta i { color:#2563eb; }

/* ── PRIVACY ─────────────────────────────────────────────────────────────── */
.sh-privacy-content { max-width:820px; margin:0 auto; padding:4rem 0; font-size:1.0625rem; line-height:1.85; color:#1e293b; }
.sh-privacy-content h2 { font-size:1.5rem; margin:2rem 0 .75rem; color:#0f172a; }
.sh-privacy-content p { margin-bottom:1rem; }

/* ── PAGINATION ──────────────────────────────────────────────────────────── */
.sh-pagination { display:flex; align-items:center; justify-content:center; gap:.5rem; margin-top:2.5rem; flex-wrap:wrap; }
.sh-pagination a,.sh-pagination span {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:40px; height:40px; padding:0 .75rem;
  border-radius:6px; border:1px solid #e2e8f0;
  font-size:.875rem; font-weight:600; color:#334155; background:#fff;
  transition:all .2s; gap:.25rem; text-decoration:none;
}
.sh-pagination a:hover { border-color:#2563eb; color:#2563eb; background:#dbeafe; }
.sh-pagination .current { background:#2563eb; border-color:#2563eb; color:#fff; }
