/*
Theme Name: SecureShield
Theme URI: https://secureshield.co.ke
Author: SecureShield Kenya
Author URI: https://secureshield.co.ke
Description: Professional security company theme for CCTV, electric fence, alarm, access control and gate motor services. Fully WooCommerce compatible with a modern dark design.
Version: 1.0.0
Requires at least: 5.8
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: secureshield
Tags: dark, business, woocommerce, custom-colors, custom-logo, full-width-template, responsive-layout, two-columns
*/

/* ============================================================
   CSS CUSTOM PROPERTIES
   ============================================================ */
:root {
    --ss-bg:       #0a0d14;
    --ss-bg2:      #111520;
    --ss-bg3:      #181e2e;
    --ss-bg4:      #1f2740;
    --ss-red:      #e8321a;
    --ss-red2:     #ff4d33;
    --ss-gold:     #f5a623;
    --ss-text:     #f0f2f8;
    --ss-muted:    #8a93b0;
    --ss-border:   #2a3150;
    --ss-green:    #22c55e;
    --ss-blue:     #3b82f6;
    --ss-radius:   6px;
    --ss-shadow:   0 4px 24px rgba(0,0,0,0.4);
}

/* ============================================================
   RESET
   ============================================================ */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; font-size: 16px; }

body {
    font-family: 'DM Sans', sans-serif;
    background: var(--ss-bg);
    color: var(--ss-text);
    line-height: 1.6;
    overflow-x: hidden;
}

h1,h2,h3,h4,h5,h6 {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    line-height: 1.1;
    color: var(--ss-text);
    margin-bottom: 0.5rem;
}

p { margin-bottom: 1rem; color: var(--ss-muted); line-height: 1.8; }
a { color: var(--ss-red); text-decoration: none; transition: color .2s; }
a:hover { color: var(--ss-red2); }
img { max-width: 100%; height: auto; display: block; }
ul, ol { padding-left: 1.5rem; }
strong, b { color: var(--ss-text); }
table { border-collapse: collapse; width: 100%; }

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--ss-bg2); }
::-webkit-scrollbar-thumb { background: var(--ss-bg4); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--ss-muted); }

/* ============================================================
   LAYOUT
   ============================================================ */
.ss-container { max-width: 1200px; margin: 0 auto; padding: 0 2rem; }
.ss-section  { padding: 5rem 0; }
.ss-section-alt { background: var(--ss-bg2); }
.site-main { padding-top: 64px; }

/* WordPress alignment helpers */
.alignleft   { float: left;  margin: 0 1.5rem 1rem 0; }
.alignright  { float: right; margin: 0 0 1rem 1.5rem; }
.aligncenter { display: block; text-align: center; margin: 0 auto 1rem; }
.alignwide   { margin-left: -2rem; margin-right: -2rem; }
.alignfull   { margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%); width: 100vw; max-width: 100vw; }
.wp-block-image { margin-bottom: 1.5rem; }
.wp-block-image img { border-radius: var(--ss-radius); }
.has-text-align-center { text-align: center; }

/* ============================================================
   TYPOGRAPHY HELPERS
   ============================================================ */
.ss-label {
    display: block;
    font-size: 11px; font-weight: 700; letter-spacing: 2.5px;
    text-transform: uppercase; color: var(--ss-red); margin-bottom: .6rem;
}
.ss-title { font-size: clamp(32px,4vw,50px); margin-bottom: 1rem; }
.ss-sub   { color: var(--ss-muted); font-size: 15px; line-height: 1.8; max-width: 520px; }

/* ============================================================
   BUTTONS
   ============================================================ */
.ss-btn, .ss-btn-outline,
button[type="submit"],
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: 'DM Sans', sans-serif;
    font-weight: 600;
    font-size: 15px;
    padding: 13px 28px;
    border-radius: var(--ss-radius);
    cursor: pointer;
    transition: all .2s;
    border: none;
    text-decoration: none;
    line-height: 1;
}

.ss-btn,
button[type="submit"],
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    background: var(--ss-red);
    color: #fff !important;
}
.ss-btn:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
    background: var(--ss-red2) !important;
    color: #fff !important;
    transform: translateY(-1px);
}

.ss-btn-outline {
    background: transparent;
    color: var(--ss-text);
    border: 1px solid var(--ss-border);
}
.ss-btn-outline:hover {
    border-color: var(--ss-muted);
    background: var(--ss-bg3);
    color: var(--ss-text);
}

/* ============================================================
   HEADER
   ============================================================ */
#site-header {
    position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
    height: 64px;
    background: rgba(10,13,20,.96);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--ss-border);
    display: flex; align-items: center; justify-content: space-between;
    padding: 0 2rem;
}

/* Branding */
.site-branding { display: flex; align-items: center; gap: 10px; }
.site-branding .custom-logo-link img { height: 36px; width: auto; }
.logo-hex {
    width: 32px; height: 32px;
    background: var(--ss-red);
    clip-path: polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
    display: flex; align-items: center; justify-content: center;
    font-size: 11px; color: white; font-weight: 700; flex-shrink: 0;
}
.site-title { font-family: 'Barlow Condensed', sans-serif; font-size: 22px; font-weight: 800; letter-spacing: 1px; }
.site-title a { color: var(--ss-text); text-decoration: none; }
.site-title a span { color: var(--ss-red); }
.site-description { display: none; }

/* Primary navigation */
#site-navigation { display: flex; align-items: center; }
#site-navigation ul { list-style: none; display: flex; gap: 4px; padding: 0; margin: 0; }
#site-navigation ul li a {
    color: var(--ss-muted); font-size: 14px; font-weight: 500;
    padding: 7px 14px; border-radius: 4px; display: block; transition: .2s;
}
#site-navigation ul li a:hover,
#site-navigation ul li.current-menu-item > a,
#site-navigation ul li.current_page_item > a {
    color: var(--ss-text); background: var(--ss-bg3);
}
/* Dropdowns */
#site-navigation ul ul {
    position: absolute; background: var(--ss-bg2);
    border: 1px solid var(--ss-border); border-radius: var(--ss-radius);
    padding: .5rem; min-width: 200px;
    top: calc(100% + 8px); left: 0;
    display: none; flex-direction: column;
    box-shadow: var(--ss-shadow); z-index: 100;
}
#site-navigation ul li { position: relative; }
#site-navigation ul li:hover > ul { display: flex; }
#site-navigation ul ul li a { font-size: 13px; white-space: nowrap; border-radius: 4px; }

/* Header right */
.header-right { display: flex; align-items: center; gap: 10px; }
.header-cart-link {
    display: flex; align-items: center; gap: 6px;
    background: var(--ss-bg3); border: 1px solid var(--ss-border);
    color: var(--ss-text); padding: 7px 14px; border-radius: var(--ss-radius);
    font-size: 13px; font-weight: 500; transition: .2s; text-decoration: none;
}
.header-cart-link:hover { border-color: var(--ss-red); color: var(--ss-text); }
.header-cart-count {
    background: var(--ss-red); color: white;
    font-size: 10px; font-weight: 700;
    width: 18px; height: 18px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
}
.header-cta-btn {
    background: var(--ss-red); color: white !important; border: none;
    font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 600;
    padding: 8px 18px; border-radius: var(--ss-radius); transition: .2s;
    text-decoration: none; display: inline-block;
}
.header-cta-btn:hover { background: var(--ss-red2); color: white !important; }

/* Mobile toggle */
.menu-toggle {
    display: none; background: none; border: 1px solid var(--ss-border);
    color: var(--ss-text); font-size: 20px; cursor: pointer;
    padding: 5px 10px; border-radius: 4px; transition: .2s;
}
.menu-toggle:hover { border-color: var(--ss-red); }

/* ============================================================
   HERO
   ============================================================ */
.ss-hero {
    min-height: 90vh; display: flex; align-items: center;
    position: relative; overflow: hidden; padding: 8rem 2rem 5rem;
}
.ss-hero-grid {
    position: absolute; inset: 0; pointer-events: none;
    background-image:
        repeating-linear-gradient(0deg,  transparent,transparent 59px,rgba(42,49,80,.18) 60px),
        repeating-linear-gradient(90deg, transparent,transparent 59px,rgba(42,49,80,.18) 60px);
}
.ss-hero-glow {
    position: absolute; right: -200px; top: 40%;
    width: 600px; height: 600px; border-radius: 50%;
    background: radial-gradient(circle,rgba(232,50,26,.07) 0%,transparent 70%);
    pointer-events: none;
}
.ss-hero-content { position: relative; z-index: 2; max-width: 700px; }
.ss-hero-pill {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(232,50,26,.1); border: 1px solid rgba(232,50,26,.25);
    color: var(--ss-red2); font-size: 11px; font-weight: 700;
    letter-spacing: 1.5px; text-transform: uppercase;
    padding: 6px 14px; border-radius: 2px; margin-bottom: 1.75rem;
}
.ss-hero h1 { font-size: clamp(50px,8vw,88px); letter-spacing: -1px; margin-bottom: 1.5rem; }
.ss-hero h1 span { color: var(--ss-red); }
.ss-hero-desc { font-size: 17px; color: var(--ss-muted); line-height: 1.8; max-width: 520px; margin-bottom: 2.25rem; }
.ss-hero-btns { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 3rem; }
.ss-hero-stats {
    display: flex; gap: 3rem; flex-wrap: wrap;
    padding-top: 2rem; border-top: 1px solid var(--ss-border);
}
.ss-stat-num { font-family: 'Barlow Condensed',sans-serif; font-size: 40px; font-weight: 800; color: var(--ss-red); display: block; line-height: 1; }
.ss-stat-lbl { font-size: 11px; color: var(--ss-muted); letter-spacing: 1px; text-transform: uppercase; margin-top: 4px; display: block; }

/* Hero floating badges */
.ss-hero-badges {
    position: absolute; right: 2rem; top: 50%; transform: translateY(-50%);
    display: flex; flex-direction: column; gap: 12px; z-index: 2;
}
.ss-hbadge {
    background: var(--ss-bg2); border: 1px solid var(--ss-border);
    border-radius: 8px; padding: 1rem 1.25rem;
    display: flex; align-items: center; gap: 10px; min-width: 210px;
}
.ss-hbadge.accent { border-left: 3px solid var(--ss-red); }
.ss-hbadge-icon { font-size: 22px; }
.ss-hbadge-title { font-size: 13px; font-weight: 600; display: block; color: var(--ss-text); }
.ss-hbadge-sub   { font-size: 11px; color: var(--ss-muted); }

/* ============================================================
   TICKER
   ============================================================ */
.ss-ticker { background: var(--ss-red); padding: .75rem 0; overflow: hidden; white-space: nowrap; }
.ss-ticker-track { display: inline-flex; animation: ssTick 28s linear infinite; }
.ss-ticker-track:hover { animation-play-state: paused; }
.ss-tick-item {
    display: inline-flex; align-items: center; gap: 8px; padding: 0 2rem;
    font-family: 'Barlow Condensed',sans-serif; font-size: 13px;
    font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
    color: rgba(255,255,255,.9);
}
.ss-tick-sep { color: rgba(255,255,255,.4); margin: 0 .5rem; }
@keyframes ssTick { 0% { transform:translateX(0); } 100% { transform:translateX(-50%); } }

/* ============================================================
   SERVICES GRID
   ============================================================ */
.ss-services-grid {
    display: grid; grid-template-columns: repeat(auto-fit,minmax(290px,1fr));
    gap: 1px; background: var(--ss-border);
    border: 1px solid var(--ss-border); border-radius: 10px; overflow: hidden; margin-top: 3rem;
}
.ss-svc-card {
    background: var(--ss-bg2); padding: 2.25rem;
    position: relative; overflow: hidden; transition: background .2s;
}
.ss-svc-card::before {
    content:''; position:absolute; top:0; left:0;
    width:3px; height:0; background:var(--ss-red); transition:height .3s;
}
.ss-svc-card:hover { background: var(--ss-bg3); }
.ss-svc-card:hover::before { height: 100%; }
.ss-svc-icon {
    width:52px; height:52px;
    background:rgba(232,50,26,.1); border:1px solid rgba(232,50,26,.2);
    border-radius:10px; display:flex; align-items:center; justify-content:center;
    font-size:24px; margin-bottom:1.25rem; transition:.2s;
}
.ss-svc-card:hover .ss-svc-icon { background:rgba(232,50,26,.2); }
.ss-svc-name { font-size:19px; font-weight:700; margin-bottom:.6rem; }
.ss-svc-desc { font-size:13px; color:var(--ss-muted); line-height:1.7; margin-bottom:1rem; }
.ss-svc-features { list-style:none; padding:0; display:flex; flex-direction:column; gap:.4rem; margin-bottom:1rem; }
.ss-svc-features li { font-size:12px; color:var(--ss-muted); display:flex; align-items:center; gap:6px; }
.ss-svc-features li::before { content:''; width:4px; height:4px; background:var(--ss-red); border-radius:50%; flex-shrink:0; }
.ss-svc-more { font-size:12px; color:var(--ss-red); font-weight:600; letter-spacing:.5px; text-transform:uppercase; }

/* ============================================================
   PRODUCTS  (custom + WooCommerce)
   ============================================================ */
.ss-filter-bar { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:1.5rem; }
.ss-filter-btn {
    background:var(--ss-bg3); border:1px solid var(--ss-border);
    color:var(--ss-muted); font-family:'DM Sans',sans-serif;
    font-size:12px; font-weight:600; padding:7px 16px; border-radius:4px;
    cursor:pointer; transition:.2s; letter-spacing:.3px;
}
.ss-filter-btn:hover, .ss-filter-btn.active {
    background:var(--ss-red); border-color:var(--ss-red); color:white;
}

/* Products grid */
.ss-products-grid,
.woocommerce .products ul,
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill,minmax(230px,1fr)) !important;
    gap: 16px !important; list-style: none !important; padding: 0 !important; margin: 0 !important;
}
.ss-product-card,
.woocommerce ul.products li.product {
    background: var(--ss-bg2); border: 1px solid var(--ss-border);
    border-radius: 10px; overflow: hidden; transition: all .2s;
    display: flex; flex-direction: column; position: relative;
}
.ss-product-card:hover,
.woocommerce ul.products li.product:hover {
    border-color: rgba(232,50,26,.4);
    transform: translateY(-3px); box-shadow: 0 12px 30px rgba(0,0,0,.4);
}
.ss-product-thumb,
.woocommerce ul.products li.product .wp-post-image {
    width: 100%; height: 180px; object-fit: cover;
    background: var(--ss-bg3); display:flex; align-items:center; justify-content:center; font-size:50px;
}
.woocommerce ul.products li.product .wp-post-image { object-fit:cover; height:180px; }
.ss-product-cat { font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--ss-red); padding:1.25rem 1.25rem 0; display:block; margin-bottom:.25rem; }
.ss-product-name,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family:'Barlow Condensed',sans-serif; font-size:17px; font-weight:700;
    color:var(--ss-text); padding:.25rem 1.25rem 0; margin-bottom:.25rem;
}
.ss-product-brand { font-size:11px; color:var(--ss-muted); padding:0 1.25rem; margin-bottom:.5rem; }
.ss-product-row { display:flex; align-items:center; justify-content:space-between; padding:.25rem 1.25rem 1.25rem; }
.ss-product-price,
.woocommerce ul.products li.product .price {
    font-size:18px; font-weight:700; color:var(--ss-text);
    padding:.25rem 1.25rem; display:block;
}
.woocommerce ul.products li.product .price del { color:var(--ss-muted); font-size:13px; }
.woocommerce ul.products li.product .price ins { text-decoration:none; }
.onsale, .ss-badge {
    position:absolute; top:12px; left:12px;
    background:var(--ss-red); color:white; font-size:9px; font-weight:700;
    padding:3px 8px; border-radius:2px; letter-spacing:.8px; text-transform:uppercase; z-index:2;
}
.ss-badge-new  { background:var(--ss-blue); }
.ss-badge-sale { background:var(--ss-gold); color:#000; }

/* WooCommerce single product */
.woocommerce div.product {
    display: grid; grid-template-columns:1fr 1fr;
    gap: 3rem; margin-top: 2rem;
}
.woocommerce div.product .product_title { font-size:clamp(28px,4vw,44px); margin-bottom:.5rem; }
.woocommerce div.product .price { font-size:32px; font-weight:800; color:var(--ss-red); display:block; margin-bottom:1rem; }
.woocommerce div.product .woocommerce-product-details__short-description { color:var(--ss-muted); font-size:14px; line-height:1.8; margin-bottom:1.5rem; }
.woocommerce div.product form.cart { display:flex; gap:12px; align-items:center; margin-bottom:1.5rem; }
.woocommerce div.product form.cart .quantity input {
    background:var(--ss-bg3); border:1px solid var(--ss-border); color:var(--ss-text);
    border-radius:4px; padding:10px 14px; font-size:15px; width:80px; outline:none;
}
.woocommerce-product-gallery { border-radius:10px; overflow:hidden; }

/* WooCommerce cart table */
.woocommerce table.shop_table {
    background:var(--ss-bg2); border:1px solid var(--ss-border);
    border-radius:8px; overflow:hidden;
}
.woocommerce table.shop_table th {
    background:var(--ss-bg3); font-size:11px; font-weight:700;
    letter-spacing:1.5px; text-transform:uppercase; color:var(--ss-muted);
    padding:.875rem 1.25rem; border-bottom:1px solid var(--ss-border); text-align:left;
}
.woocommerce table.shop_table td {
    padding:1rem 1.25rem; border-bottom:1px solid rgba(42,49,80,.5); color:var(--ss-text); font-size:14px;
}
.woocommerce table.shop_table .product-name a { color:var(--ss-text); }
.woocommerce table.shop_table .product-remove a { color:var(--ss-red) !important; font-size:18px; }

/* Cart totals / checkout */
.woocommerce .cart-collaterals, .woocommerce-cart .cart-collaterals { margin-top:2rem; }
.woocommerce .cart_totals, .woocommerce-page .cart_totals {
    background:var(--ss-bg2); border:1px solid var(--ss-border); border-radius:8px; padding:2rem;
}
.woocommerce .cart_totals h2, .woocommerce-page .cart_totals h2 { font-size:22px; margin-bottom:1.25rem; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
    background:var(--ss-bg2); border:1px solid var(--ss-border); border-radius:8px; padding:2rem;
}
.woocommerce-checkout #payment {
    background:var(--ss-bg3); border:1px solid var(--ss-border); border-radius:8px; padding:2rem;
}
.woocommerce form .form-row label {
    display:block; font-size:11px; font-weight:700; letter-spacing:.8px;
    color:var(--ss-muted); text-transform:uppercase; margin-bottom:6px;
}
.woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row input[type="tel"],
.woocommerce form .form-row input[type="password"],
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
    width:100%; background:var(--ss-bg3); border:1px solid var(--ss-border);
    color:var(--ss-text); font-family:'DM Sans',sans-serif; font-size:14px;
    padding:11px 14px; border-radius:5px; outline:none; transition:border .2s;
}
.woocommerce form .form-row input:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
    border-color:var(--ss-red); box-shadow:0 0 0 3px rgba(232,50,26,.12);
}

/* WooCommerce messages */
.woocommerce-message,.woocommerce-error,.woocommerce-info {
    background:var(--ss-bg2); border-left:4px solid var(--ss-green);
    border-radius:4px; padding:1rem 1.25rem; margin-bottom:1rem;
    list-style:none; color:var(--ss-text); font-size:14px;
}
.woocommerce-error  { border-left-color:var(--ss-red); }
.woocommerce-info   { border-left-color:var(--ss-blue); }
.woocommerce-message a.button { padding:8px 16px; font-size:13px; }

/* Breadcrumbs */
.woocommerce .woocommerce-breadcrumb {
    color:var(--ss-muted); font-size:13px; margin-bottom:1.5rem;
}
.woocommerce .woocommerce-breadcrumb a { color:var(--ss-red); }

/* Pagination */
.woocommerce nav.woocommerce-pagination ul,
.ss-pagination { display:flex; justify-content:center; gap:8px; margin-top:3rem; list-style:none; padding:0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.ss-pagination a, .ss-pagination span {
    display:flex; align-items:center; justify-content:center;
    width:40px; height:40px; background:var(--ss-bg2);
    border:1px solid var(--ss-border); border-radius:4px;
    font-size:13px; color:var(--ss-muted); text-decoration:none; transition:.2s;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current,
.ss-pagination a:hover, .ss-pagination .current {
    background:var(--ss-red); border-color:var(--ss-red); color:white;
}

/* ============================================================
   WHY US / STATS
   ============================================================ */
.ss-why-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.ss-why-list { display:flex; flex-direction:column; gap:1.5rem; margin-top:2rem; }
.ss-why-item { display:flex; gap:16px; }
.ss-why-num {
    width:40px; height:40px; background:var(--ss-red); border-radius:8px;
    display:flex; align-items:center; justify-content:center;
    font-family:'Barlow Condensed',sans-serif; font-size:18px; font-weight:800;
    flex-shrink:0; color:white;
}
.ss-why-text strong { font-size:15px; display:block; margin-bottom:3px; color:var(--ss-text); }
.ss-why-text p { font-size:13px; color:var(--ss-muted); line-height:1.7; margin:0; }
.ss-stats-visual {
    background:var(--ss-bg3); border:1px solid var(--ss-border);
    border-radius:14px; padding:2.5rem; position:relative; overflow:hidden;
}
.ss-stats-bg { font-family:'Barlow Condensed',sans-serif; font-size:120px; font-weight:800; color:rgba(232,50,26,.06); line-height:1; position:absolute; top:-10px; right:-10px; pointer-events:none; }
.ss-stats-quad { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ss-stat-box { background:var(--ss-bg2); border-radius:8px; padding:1.25rem; text-align:center; }
.ss-stat-box .n { font-family:'Barlow Condensed',sans-serif; font-size:34px; font-weight:800; color:var(--ss-red); display:block; }
.ss-stat-box .l { font-size:11px; color:var(--ss-muted); letter-spacing:.5px; }

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.ss-testimonials { display:flex; flex-direction:column; gap:12px; margin-top:2rem; }
.ss-testi { background:var(--ss-bg2); border:1px solid var(--ss-border); border-radius:8px; padding:1.25rem; }
.ss-testi blockquote { font-size:13px; color:var(--ss-muted); font-style:italic; line-height:1.7; margin:0 0 .875rem; padding:0; border:none; }
.ss-testi-author { display:flex; align-items:center; gap:8px; }
.ss-testi-av { width:32px; height:32px; border-radius:50%; background:var(--ss-red); display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; flex-shrink:0; color:white; }
.ss-testi-name { font-size:13px; font-weight:600; color:var(--ss-text); display:block; }
.ss-testi-role { font-size:11px; color:var(--ss-muted); }

/* ============================================================
   PROCESS STEPS
   ============================================================ */
.ss-process { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:0; margin-top:3rem; position:relative; }
.ss-process::before { content:''; position:absolute; top:30px; left:10%; right:10%; height:1px; background:var(--ss-border); z-index:0; }
.ss-proc-step { text-align:center; padding:1.5rem; position:relative; z-index:1; }
.ss-proc-num {
    width:60px; height:60px;
    background:var(--ss-bg2); border:2px solid var(--ss-border); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-family:'Barlow Condensed',sans-serif; font-size:24px; font-weight:800; color:var(--ss-red);
    margin:0 auto 1rem; transition:.2s;
}
.ss-proc-step:hover .ss-proc-num { background:var(--ss-red); color:white; border-color:var(--ss-red); }
.ss-proc-title { font-family:'Barlow Condensed',sans-serif; font-size:17px; font-weight:700; margin-bottom:.5rem; }
.ss-proc-desc  { font-size:12px; color:var(--ss-muted); line-height:1.6; }

/* ============================================================
   PRICING
   ============================================================ */
.ss-pricing-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; margin-top:3rem; }
.ss-price-card { background:var(--ss-bg3); border:1px solid var(--ss-border); border-radius:10px; padding:2rem; position:relative; }
.ss-price-card.featured { border-color:var(--ss-red); border-width:2px; }
.ss-price-card .popular-badge {
    position:absolute; top:-12px; left:50%; transform:translateX(-50%);
    background:var(--ss-red); color:white; font-size:10px; font-weight:700;
    padding:4px 14px; border-radius:10px; letter-spacing:.5px; white-space:nowrap;
}
.ss-price-tier { font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--ss-muted); margin-bottom:.5rem; display:block; }
.ss-price-tier.red { color:var(--ss-red); }
.ss-price-amount { font-family:'Barlow Condensed',sans-serif; font-size:36px; font-weight:800; margin-bottom:.25rem; }
.ss-price-desc { font-size:12px; color:var(--ss-muted); margin-bottom:1.5rem; }
.ss-price-features { list-style:none; padding:0; display:flex; flex-direction:column; gap:.5rem; margin-bottom:1.5rem; }
.ss-price-features li { font-size:13px; color:var(--ss-muted); }
.ss-price-features li::before { content:'✓ '; color:var(--ss-green); }

/* ============================================================
   CONTACT FORM
   ============================================================ */
.ss-contact-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:4rem; margin-top:3rem; }
.ss-form-wrap { background:var(--ss-bg3); border:1px solid var(--ss-border); border-radius:12px; padding:2.5rem; }
.ss-form-title { font-size:24px; font-weight:800; margin-bottom:.4rem; }
.ss-form-sub { font-size:13px; color:var(--ss-muted); margin-bottom:2rem; }
.ss-fg { margin-bottom:1.1rem; }
.ss-fg label,.ss-form-wrap label { display:block; font-size:11px; font-weight:700; letter-spacing:.8px; color:var(--ss-muted); text-transform:uppercase; margin-bottom:6px; }
.ss-fg input, .ss-fg select, .ss-fg textarea,
.ss-form-wrap input[type="text"],
.ss-form-wrap input[type="email"],
.ss-form-wrap input[type="tel"],
.ss-form-wrap select,
.ss-form-wrap textarea {
    width:100%; background:var(--ss-bg2); border:1px solid var(--ss-border);
    color:var(--ss-text); font-family:'DM Sans',sans-serif; font-size:14px;
    padding:11px 14px; border-radius:5px; outline:none; transition:border .2s;
}
.ss-fg input:focus,.ss-fg select:focus,.ss-fg textarea:focus,
.ss-form-wrap input:focus,.ss-form-wrap select:focus,.ss-form-wrap textarea:focus {
    border-color:var(--ss-red); box-shadow:0 0 0 3px rgba(232,50,26,.12);
}
.ss-fg textarea,.ss-form-wrap textarea { height:120px; resize:vertical; }
.ss-fg select option,.ss-form-wrap select option { background:var(--ss-bg2); }
.ss-fg-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ss-contact-info { display:flex; flex-direction:column; gap:1.75rem; padding-top:1rem; }
.ss-ci-card { display:flex; gap:16px; }
.ss-ci-icon { width:48px; height:48px; background:rgba(232,50,26,.1); border:1px solid rgba(232,50,26,.2); border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:22px; flex-shrink:0; }
.ss-ci-label { font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--ss-muted); margin-bottom:4px; display:block; }
.ss-ci-val { font-size:14px; line-height:1.6; color:var(--ss-text); }
.ss-emergency-box { background:rgba(232,50,26,.08); border:1px solid rgba(232,50,26,.25); border-radius:10px; padding:1.5rem; }
.ss-emr-label { font-size:10px; font-weight:700; letter-spacing:1.5px; color:var(--ss-red); margin-bottom:.4rem; display:block; text-transform:uppercase; }
.ss-emr-number { font-family:'Barlow Condensed',sans-serif; font-size:28px; font-weight:800; display:block; margin-bottom:.25rem; }
.ss-emr-sub { font-size:12px; color:var(--ss-muted); }

/* Contact Form 7 */
.wpcf7-form-control-wrap { display:block; margin-bottom:1.1rem; }
.wpcf7 input[type="text"],.wpcf7 input[type="email"],.wpcf7 input[type="tel"],
.wpcf7 select,.wpcf7 textarea {
    width:100%; background:var(--ss-bg2); border:1px solid var(--ss-border);
    color:var(--ss-text); font-family:'DM Sans',sans-serif; font-size:14px;
    padding:11px 14px; border-radius:5px; outline:none; transition:border .2s;
}
.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus {
    border-color:var(--ss-red); box-shadow:0 0 0 3px rgba(232,50,26,.12);
}
.wpcf7-submit { width:100%; background:var(--ss-red) !important; color:white !important; }
.wpcf7-response-output { background:var(--ss-bg2); border:1px solid var(--ss-border) !important; border-radius:4px; padding:.875rem 1rem; font-size:13px; margin-top:1rem !important; color:var(--ss-text); }

/* ============================================================
   CTA STRIP
   ============================================================ */
.ss-cta-strip { background:var(--ss-red); padding:4rem 2rem; }
.ss-cta-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:2rem; max-width:1200px; margin:0 auto; }
.ss-cta-strip h2 { color:white; font-size:clamp(28px,4vw,38px); margin-bottom:.5rem; }
.ss-cta-strip p { color:rgba(255,255,255,.8); font-size:15px; margin:0; }
.ss-cta-strip .ss-btn-outline { border-color:rgba(255,255,255,.4); color:white; background:rgba(255,255,255,.1); }
.ss-cta-strip .ss-btn-outline:hover { background:rgba(255,255,255,.2); border-color:white; }

/* ============================================================
   FOOTER
   ============================================================ */
#site-footer { background:var(--ss-bg); border-top:1px solid var(--ss-border); padding:4rem 2rem 2rem; }
.ss-footer-grid { display:grid; grid-template-columns:2.5fr 1fr 1fr 1fr; gap:3rem; max-width:1200px; margin:0 auto 3rem; }
.ss-footer-brand p { font-size:13px; color:var(--ss-muted); line-height:1.8; margin-top:.875rem; max-width:280px; }
.ss-footer-socials { display:flex; gap:8px; margin-top:1rem; }
.ss-social-btn { width:34px; height:34px; background:var(--ss-bg3); border:1px solid var(--ss-border); border-radius:6px; display:flex; align-items:center; justify-content:center; font-size:15px; transition:.2s; color:var(--ss-text); text-decoration:none; }
.ss-social-btn:hover { background:var(--ss-red); border-color:var(--ss-red); }
.ss-footer-col h4 { font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--ss-muted); margin-bottom:1.25rem; }
.ss-footer-col ul { list-style:none; padding:0; display:flex; flex-direction:column; gap:.6rem; }
.ss-footer-col ul li a { font-size:13px; color:var(--ss-muted); transition:.2s; }
.ss-footer-col ul li a:hover { color:var(--ss-text); }
.ss-footer-bottom { border-top:1px solid var(--ss-border); padding-top:1.5rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; max-width:1200px; margin:0 auto; }
.ss-footer-copy { font-size:12px; color:var(--ss-muted); }

/* Widget areas */
.widget-title { font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--ss-muted); margin-bottom:.875rem; font-family:'DM Sans',sans-serif; }
.widget { margin-bottom:2rem; }
.widget ul { list-style:none; padding:0; }
.widget ul li { padding:.3rem 0; font-size:13px; color:var(--ss-muted); border-bottom:1px solid rgba(42,49,80,.3); }
.widget ul li:last-child { border-bottom:none; }
.widget ul li a { color:var(--ss-muted); transition:.2s; }
.widget ul li a:hover { color:var(--ss-text); }

/* ============================================================
   PAGE TEMPLATES
   ============================================================ */
.ss-page-hero { padding:7rem 2rem 2.5rem; background:var(--ss-bg2); border-bottom:1px solid var(--ss-border); }
.entry-content { max-width:800px; margin:0 auto; padding:3rem 2rem; }
.entry-content p { font-size:15px; line-height:1.8; margin-bottom:1.5rem; }
.entry-content h2 { font-size:32px; margin:2rem 0 1rem; }
.entry-content h3 { font-size:24px; margin:1.5rem 0 .75rem; }
.entry-content ul,.entry-content ol { color:var(--ss-muted); font-size:15px; line-height:1.9; margin-bottom:1.5rem; }
.entry-content blockquote { border-left:4px solid var(--ss-red); padding:1rem 1.5rem; background:var(--ss-bg2); border-radius:0 6px 6px 0; margin:1.5rem 0; font-style:italic; color:var(--ss-muted); }
.entry-content img { border-radius:var(--ss-radius); margin:1.5rem 0; }
.entry-content table th { background:var(--ss-bg3); padding:.75rem 1rem; font-size:12px; color:var(--ss-muted); text-transform:uppercase; letter-spacing:.5px; text-align:left; }
.entry-content table td { padding:.75rem 1rem; border-bottom:1px solid rgba(42,49,80,.4); color:var(--ss-muted); font-size:14px; }

/* About grid */
.ss-about-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
.ss-partners { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:.875rem; }
.ss-partner-tag { background:var(--ss-bg2); border:1px solid var(--ss-border); border-radius:4px; padding:.5rem 1rem; font-size:12px; font-weight:600; color:var(--ss-muted); }

/* Blog */
.posts-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.5rem; margin-top:2rem; }
.post-card { background:var(--ss-bg2); border:1px solid var(--ss-border); border-radius:10px; overflow:hidden; transition:all .2s; }
.post-card:hover { border-color:rgba(232,50,26,.4); transform:translateY(-2px); }
.post-card-thumb { height:200px; background:var(--ss-bg3); overflow:hidden; }
.post-card-thumb img { width:100%; height:100%; object-fit:cover; transition:.3s; }
.post-card:hover .post-card-thumb img { transform:scale(1.05); }
.post-card-body { padding:1.5rem; }
.post-card-cat { font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--ss-red); margin-bottom:.5rem; display:block; }
.post-card-title { font-family:'Barlow Condensed',sans-serif; font-size:20px; font-weight:700; margin-bottom:.5rem; }
.post-card-title a { color:var(--ss-text); }
.post-card-title a:hover { color:var(--ss-red); }
.post-card-excerpt { font-size:13px; color:var(--ss-muted); line-height:1.7; margin:0; }
.post-card-meta { font-size:11px; color:var(--ss-muted); margin-top:1rem; }

/* Breadcrumbs */
.ss-breadcrumb,.yoast-breadcrumb,.rank-math-breadcrumb { padding:1.25rem 0 0; font-size:12px; color:var(--ss-muted); }
.ss-breadcrumb a,.yoast-breadcrumb a,.rank-math-breadcrumb a { color:var(--ss-red); }

/* Search */
.search-form { display:flex; gap:8px; }
.search-form input[type="search"] { background:var(--ss-bg3); border:1px solid var(--ss-border); color:var(--ss-text); font-family:'DM Sans',sans-serif; font-size:14px; padding:10px 16px; border-radius:4px 0 0 4px; outline:none; flex:1; }
.search-form input[type="search"]:focus { border-color:var(--ss-red); }
.search-form .search-submit { border-radius:0 4px 4px 0; padding:10px 20px; }

/* 404 */
.ss-404 { text-align:center; padding:8rem 2rem; }
.ss-404 .error-num { font-family:'Barlow Condensed',sans-serif; font-size:140px; font-weight:800; color:var(--ss-red); opacity:.15; line-height:1; display:block; }
.ss-404 h2 { font-size:36px; margin-bottom:1rem; }
.ss-404 p { margin-bottom:2rem; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px) {
    .ss-hero-badges { display:none; }
    .ss-why-grid,.ss-contact-grid,.ss-about-grid { grid-template-columns:1fr; }
    .ss-footer-grid { grid-template-columns:1fr 1fr; }
    .woocommerce div.product { grid-template-columns:1fr; }
}
@media (max-width:768px) {
    #site-navigation { display:none; flex-direction:column; position:fixed; top:64px; left:0; right:0; background:var(--ss-bg2); border-bottom:1px solid var(--ss-border); padding:1rem; z-index:999; }
    #site-navigation.toggled { display:flex; }
    #site-navigation ul { flex-direction:column; width:100%; }
    #site-navigation ul ul { position:static; box-shadow:none; margin-top:4px; }
    .menu-toggle { display:block; }
    .ss-hero { padding:7rem 1.25rem 4rem; }
    .ss-hero h1 { font-size:44px; }
    .ss-section { padding:3.5rem 0; }
    .ss-container { padding:0 1.25rem; }
    .ss-contact-grid { grid-template-columns:1fr; gap:2rem; }
    .ss-footer-grid { grid-template-columns:1fr; gap:2rem; }
    .ss-process::before { display:none; }
    .ss-pricing-grid { grid-template-columns:1fr; }
    .ss-cta-inner { flex-direction:column; text-align:center; }
    .ss-why-grid { grid-template-columns:1fr; }
    .woocommerce .products,.woocommerce-page .products { grid-template-columns:repeat(2,1fr) !important; }
    .ss-fg-row { grid-template-columns:1fr; }
    #site-footer { padding:3rem 1.25rem 1.5rem; }
    .ss-footer-grid { margin-bottom:2rem; }
}
@media (max-width:480px) {
    .ss-hero-btns { flex-direction:column; }
    .ss-btn,.ss-btn-outline { width:100%; justify-content:center; }
    .ss-hero-stats { gap:1.5rem; }
    .woocommerce .products,.woocommerce-page .products { grid-template-columns:1fr !important; }
    .ss-services-grid { grid-template-columns:1fr; }
    .stat-cards,.ss-stats-quad { grid-template-columns:1fr 1fr; }
    #site-header { padding:0 1rem; }
}
