/*
Theme Name:        Sortex Bharat
Theme URI:         https://sortex.in/
Author:            Sortex
Author URI:        https://sortex.in/
Description:       Production-ready WordPress theme for the Sortex Machine directory (India). Designed to work alongside the Sortex Directory Generator plugin.
Version:           1.0.0
License:           GNU General Public License v2 or later
License URI:       https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:       sortex-bharat
Tags:              b2b, directory, machinery, india, industrial
*/

/* ============================================================
   Base Reset
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, sans-serif; color: #1d2327; background: #fff; line-height: 1.6; }

/* ============================================================
   Layout
   ============================================================ */
.sb-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.sb-content-wrap { display: grid; grid-template-columns: 1fr 300px; gap: 40px; padding: 40px 0; }
@media (max-width: 900px) { .sb-content-wrap { grid-template-columns: 1fr; } }
.sb-full-width { grid-column: 1 / -1; }

/* ============================================================
   Header
   ============================================================ */
.sb-header { background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.08); position: sticky; top: 0; z-index: 100; }
.sb-header-inner { display: flex; align-items: center; justify-content: space-between; padding: 14px 0; gap: 20px; }
.sb-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.sb-logo-text { font-size: 22px; font-weight: 800; color: #2271b1; }
.sb-logo-sub { font-size: 12px; color: #646970; display: block; font-weight: 400; }
.sb-nav { display: flex; gap: 24px; list-style: none; }
.sb-nav a { text-decoration: none; color: #1d2327; font-weight: 500; font-size: 15px; transition: color .2s; }
.sb-nav a:hover { color: #2271b1; }
.sb-header-cta { background: #fd7e14; color: #fff; padding: 9px 20px; border-radius: 5px; text-decoration: none; font-weight: 700; font-size: 14px; white-space: nowrap; }
.sb-header-cta:hover { background: #e06a00; color: #fff; }
.sb-menu-toggle { display: none; border: none; background: none; cursor: pointer; padding: 6px; }
@media (max-width: 768px) {
    .sb-nav { display: none; flex-direction: column; position: absolute; top: 100%; left: 0; right: 0; background: #fff; box-shadow: 0 4px 12px rgba(0,0,0,.1); padding: 16px 20px; }
    .sb-nav.open { display: flex; }
    .sb-menu-toggle { display: block; }
}

/* ============================================================
   Hero / Page Banner
   ============================================================ */
.sb-page-banner { background: linear-gradient(135deg, #1d4ed8 0%, #0a4b78 100%); color: #fff; padding: 60px 0; text-align: center; }
.sb-page-banner h1 { font-size: 2.2rem; font-weight: 800; margin-bottom: 12px; line-height: 1.2; }
.sb-page-banner p { font-size: 18px; opacity: .9; max-width: 600px; margin: 0 auto; }

/* ============================================================
   Sidebar
   ============================================================ */
.sb-sidebar { display: flex; flex-direction: column; gap: 24px; }
.sb-widget { background: #f6f7f7; border: 1px solid #ddd; border-radius: 6px; padding: 20px; }
.sb-widget-title { font-size: 16px; font-weight: 700; margin-bottom: 14px; color: #1d2327; border-bottom: 2px solid #2271b1; padding-bottom: 8px; }

/* ============================================================
   Footer
   ============================================================ */
.sb-footer { background: #1d2327; color: #adb5bd; padding: 48px 0 24px; }
.sb-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 32px; margin-bottom: 40px; }
@media (max-width: 768px) { .sb-footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .sb-footer-grid { grid-template-columns: 1fr; } }
.sb-footer-brand .sb-logo-text { color: #fff; }
.sb-footer-desc { font-size: 14px; line-height: 1.7; margin-top: 10px; }
.sb-footer-col h4 { color: #fff; font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 14px; }
.sb-footer-links { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.sb-footer-links a { color: #adb5bd; text-decoration: none; font-size: 14px; transition: color .2s; }
.sb-footer-links a:hover { color: #fff; }
.sb-footer-bottom { border-top: 1px solid #2d3748; padding-top: 20px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; font-size: 13px; }
.sb-footer-bottom a { color: #adb5bd; text-decoration: none; }

/* ============================================================
   Homepage — Features, Machines
   ============================================================ */
.sb-section { padding: 60px 0; }
.sb-section-title { font-size: 2rem; font-weight: 700; text-align: center; margin-bottom: 12px; }
.sb-section-sub { text-align: center; color: #646970; font-size: 16px; max-width: 560px; margin: 0 auto 40px; }
.sb-machine-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 20px; }
.sb-machine-card { background: #fff; border: 1px solid #ddd; border-radius: 8px; padding: 28px 20px; text-align: center; transition: box-shadow .2s; }
.sb-machine-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.1); }
.sb-machine-icon { font-size: 40px; margin-bottom: 12px; }
.sb-machine-name { font-size: 15px; font-weight: 700; color: #1d2327; }
.sb-machine-desc { font-size: 13px; color: #646970; margin-top: 8px; }
.sb-features-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 24px; }
.sb-feature-card { background: #f6f7f7; border-radius: 8px; padding: 28px; }
.sb-feature-icon { font-size: 32px; margin-bottom: 10px; }
.sb-feature-title { font-size: 17px; font-weight: 700; margin-bottom: 8px; }
.sb-feature-desc { color: #646970; font-size: 14px; line-height: 1.65; }

/* ============================================================
   State / City Index Page
   ============================================================ */
.sb-location-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; }
.sb-location-card { background: #f6f7f7; border: 1px solid #ddd; border-radius: 5px; padding: 12px 16px; text-align: center; font-size: 14px; font-weight: 600; color: #2271b1; text-decoration: none; transition: background .2s; }
.sb-location-card:hover { background: #2271b1; color: #fff; }

/* ============================================================
   WhatsApp Float
   ============================================================ */
.sdg-wa-float { position: fixed; bottom: 24px; right: 24px; z-index: 999; background: #25d366; color: #fff; width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 28px; box-shadow: 0 4px 12px rgba(0,0,0,.2); text-decoration: none; opacity: 0; transform: scale(.8); transition: opacity .3s, transform .3s; }
.sdg-wa-float.sdg-wa-visible { opacity: 1; transform: scale(1); }
.sdg-wa-float:hover { background: #128c7e; transform: scale(1.08); }
